|
From: | Felix Ruess |
Subject: | Re: [Paparazzi-devel] Apogee's attitude recovery |
Date: | Fri, 8 Nov 2013 15:34:36 +0100 |
Hi,
please also not that the float_dcm does NOT correctly handle BODY_TO_IMU angles larger than a few degrees.
I hope SD card up. I modified the code
<define name="BODY_TO_IMU_PSI" value="-90." unit="deg"/>
@Gautier, it seems the default AHRS_PROPAGATE_FREQUENCY and AHRS_CORRECT_FREQUENCY for the apogee imu driver is 100Hz.Which means that the PERIODIC_FREQUENCY should probably also be at least 100Hz:Add to your firmware section: <configure name="PERIODIC_FREQUENCY" value="100"/>
Depending on what kind of vehicle dynamics you expect you might want to increase the AHRS frequency, adjust the MPU output freq, gyro range and lowpass, etc...Fortunately attitude changed after modifying code
Seems you are on the master branch, depending on which _exactly_ which paparazzi version you are using (http://paparazzi.enac.fr/wiki/FAQ#How_do_I_check_which_Paparazzi_Version_I.27m_using) you might want to try ahrs type int_cmpl_quat instead which was recently (v5.1_devel-455-gb40da0a) improved for fixedwings.It is v5.1_devel-569-g3fe72e2-dirty
int_cmpl_quat is based magnetoresistance.
Lack now mpu9150 driver.
Also on a side note: <define name="ALT_KALMAN"/> is not needed anymore in master.But you probably want to add <define name="ALT_KALMAN_ENABLED" value="TRUE"/> instead (false by default if not defined).
<firmware name="fixedwing"><define value="TRUE" name="ALT_KALMAN_ENABLED"/>
<define name="USE_I2C1"/>
<define name="USE_I2C2"/>
<define name="USE_GYRO_PITCH_RATE"/>
<configure value="100" name="PERIODIC_FREQUENCY"/><define value="2.17953" name="GYRO_P_SENS" integer="16"/>
<target name="sim" board="pc"/>
<target name="ap" board="apogee_1.0"/>
<subsystem type="ppm" name="radio_control"/>
<subsystem type="transparent" name="telemetry"/>
<subsystem type="apogee" name="imu"/>
<subsystem type="float_dcm" name="ahrs"/>
<subsystem type="alt_float" name="ins"/>
<subsystem name="control"/>
<subsystem name="navigation"/>
<subsystem type="ublox" name="gps"/>
<subsystem name="spi_master"/>
</firmware>
<section prefix="IMU_" name="IMU">
<define value="-68" name="ACCEL_X_NEUTRAL"/>
<define value="-1" name="ACCEL_Y_NEUTRAL"/>
<define value="-64" name="ACCEL_Z_NEUTRAL"/>
<define value="2.46053275899" name="ACCEL_X_SENS" integer="16"/>
<define value="2.45567151099" name="ACCEL_Y_SENS" integer="16"/>
<define value="2.44223710019" name="ACCEL_Z_SENS" integer="16"/>
<define value="0" name="GYRO_P_NEUTRAL"/>
<define value="0" name="GYRO_Q_NEUTRAL"/>
<define value="0" name="GYRO_R_NEUTRAL"/>
<define value="2.17953" name="GYRO_Q_SENS" integer="16"/>
<define value="2.17953" name="GYRO_R_SENS" integer="16"/>
<define value="0" name="BODY_TO_IMU_PHI"/>
<define value="0" name="BODY_TO_IMU_THETA"/>
<define value="-90." unit="deg" name="BODY_TO_IMU_PSI"/>
</section>
Cheers, Felix
On Wed, Nov 6, 2013 at 1:17 PM, Gautier Hattenberger <[hidden email]> wrote:
Hi,
What you see is a "normal" behavior. Roughly, the angles are estimated by integrating the gyros (short term) and by correcting using the accelerometers (long term). If your gyros are not well calibrated (a "perfect" calibration is not possible with these low cost sensors, and we are using the default sensitivity from the datasheet anyway), the integrated angles will have a small error that will be slowly compensated by the long term correction. If want a "faster" recovery, it is possible to give more confidence to the correction (dangerous since the signal is very noisy during real flights) and/or make a correct gyro calibration (using a turntable with a good reference sensor, which is not easy).
Also, it is probably unlikely that your airframe will be shaken that hard in real flight (or you just hit a tree and the plane is following...)
Gautier
Le 05/11/2013 17:14, laizzb a écrit :
On 2013年11月06日 00:14, laizzb wrote:
Hi Felx,
I use v5.1_devel
Attach test video (note the last two posture recovery is slow)
http://v.youku.com/v_show/id_XNjMxMDI0MDAw.html
Airframe Configuration
<airframe name="Apogee">
<modules>
<load name="mcp355x.xml">
<define name="USE_SPI1"/>
</load>
</modules>
<firmware name="fixedwing">
<define name="USE_I2C1"/>
<define name="USE_I2C2"/>
<define name="ALT_KALMAN"/>
<define name="USE_GYRO_PITCH_RATE"/>
<target name="sim" board="pc"/>
<target name="ap" board="apogee_1.0"/>
<subsystem type="ppm" name="radio_control"/>
<subsystem type="transparent" name="telemetry"/>
<subsystem type="apogee" name="imu"/>
<subsystem type="float_dcm" name="ahrs"/>
<subsystem type="alt_float" name="ins"/>
<subsystem name="control"/>
<subsystem name="navigation"/>
<subsystem type="ublox" name="gps"/>
<subsystem name="spi_master"/>
</firmware>
<section prefix="IMU_" name="IMU">
<define value="-68" name="ACCEL_X_NEUTRAL"/>
<define value="-1" name="ACCEL_Y_NEUTRAL"/>
<define value="-64" name="ACCEL_Z_NEUTRAL"/>
<define value="2.46053275899" name="ACCEL_X_SENS" integer="16"/>
<define value="2.45567151099" name="ACCEL_Y_SENS" integer="16"/>
<define value="2.44223710019" name="ACCEL_Z_SENS" integer="16"/>
<define value="0" name="GYRO_P_NEUTRAL"/>
<define value="0" name="GYRO_Q_NEUTRAL"/>
<define value="0" name="GYRO_R_NEUTRAL"/>
<define value="3.0590" name="GYRO_P_SENS" integer="16"/>
<define value="3.0590" name="GYRO_Q_SENS" integer="16"/>
<define value="3.0590" name="GYRO_R_SENS" integer="16"/>
<define value="0" name="BODY_TO_IMU_PHI"/>
<define value="0" name="BODY_TO_IMU_THETA"/>
<define value="-90." unit="deg" name="BODY_TO_IMU_PSI"/>
</section>
dianzhichong
--------------------------------------------------------------------------------------------------------------------------------
Hi,
with questions like this please always try to be as specific as possible.
Which paparazzi_version are you running? What AHRS algorithm are you using? How is your IMU set up?Best is to provide the airframe file you are using (or at least the relevant sections).
Cheers, Felx
On Mon, Nov 4, 2013 at 5:15 PM, alonso acuña <address@hidden> wrote:
Hi. I can't help you but I am interested to know how many degrees you mean by strenous and how many seconds you mean by slow?
Good luck
_______________________________________________HI guys:
Apogee's attitude is accurate.
but, The attitude is very slow recovery after strenuous exercise (pith and roll).
What is the reason?
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel
_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel
_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel
[Prev in Thread] | Current Thread | [Next in Thread] |