paparazzi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Paparazzi-devel] Apogee's attitude recovery


From: Felix Ruess
Subject: Re: [Paparazzi-devel] Apogee's attitude recovery
Date: Wed, 6 Nov 2013 13:49:29 +0100

Hi,

please also not that the float_dcm does NOT correctly handle BODY_TO_IMU angles larger than a few degrees.
See http://paparazzi.enac.fr/wiki/Subsystem/ahrs

@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...

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.

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).

Cheers, Felix


On Wed, Nov 6, 2013 at 1:17 PM, Gautier Hattenberger <address@hidden> 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 :
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



On Sun, Nov 3, 2013 at 1:15 AM, laizzb <address@hidden> wrote:
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


_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]