paparazzi-devel
[Top][All Lists]
Advanced

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

Re: [Paparazzi-devel] Drotek imu calibration problem


From: Chris
Subject: Re: [Paparazzi-devel] Drotek imu calibration problem
Date: Sun, 07 Apr 2013 20:08:47 +0300
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130308 Thunderbird/17.0.4

Hi.
Here is the the relevant section of the airframe file (my airframe is rather long)
<firmware name="fixedwing">

<target name="ap"             board="twog_1.0"/>
<target name="sim"             board="pc"/>

    <define name="USE_LED_1"/>
    <define name="USE_LED_2"/>
    <define name="USE_LED_3"/>
    <define name="USE_LED_4"/>
        <define name="AGR_CLIMB"/>
    <define name="WIND_INFO"/>
    <define name="WIND_INFO_RET"/>
    <define name="STRONG_WIND"/>
    <define name="ALT_KALMAN"/>
    <define name="USE_I2C0"/>
    <define name="SENSOR_SYNC_SEND"/>
    <define name="USE_AIRSPEED"/>
    <define name="USE_AHRS_GPS_ACCELERATIONS"/>


    <subsystem name="telemetry" type="transparent">
              <configure name="MODEM_BAUD" value="B9600"/>
        </subsystem>
        <subsystem name="gps" type="ublox">
             <configure name="GPS_BAUD" value="B38400"/>
        </subsystem>


    <subsystem name="control" type="energy"/>
    <subsystem name="radio_control" type="ppm"/>
    <subsystem name="navigation" />

    <subsystem name="imu"    type="aspirin2_i2c">
             <define name="MPU60X0_ADDR" value="MPU60X0_ADDR_ALT" />
             <define name="USE_I2C"/>
             <define name="USE_I2C0"/>
        </subsystem>

    <subsystem name="ahrs" type="float_dcm"/>
        <configure name="USE_MAGNETOMETER" value="0"/>
    <configure name="SYS_TIME_LED" value="1"/>
    <configure name="GPS_LED" value="2"/>

</firmware>

 <modules>
    <load name="baro_ms5611_i2c.xml">   <!-- this is for the DROTEK IMU -->
        <define name="MS5611_SLAVE_ADDR=0xEE"/>
        <define name="SENSOR_SYNC_SEND"/>
    </load>
    <load name="nav_catapult.xml"/>
    <load name="parachute.xml"/>
    <load name="airspeed_adc_7002.xml"/>
    <load name="chdk.xml"/>
<!--Turnigy 180 degree analog servo can do 270 degrees rotation -->
    <load name="my_cam_v3_3_yaw_pitch_nose_270.xml"/>
    <load name="airborne_ant_track.xml"/>
<!--    <load name="my_baro_bmp.xml"/>  -->
<!--    <load name="gps_ubx_ucenter.xml"/> -->
</modules>

  <section name="IMU" prefix="IMU_">
<!-- SENS = 16.4 LSB/(deg/sec) * 57.6 deg/rad = 939.650 LSB/rad/sec / 12bit FRAC: 4096 / 939.65 -->
    <define name="GYRO_P_SENS" value="4.359" integer="16"/>
    <define name="GYRO_Q_SENS" value="4.359" integer="16"/>
    <define name="GYRO_R_SENS" value="4.359" integer="16"/>

    <define name="GYRO_P_Q" value="0."/>
    <define name="GYRO_P_R" value="0"/>
    <define name="GYRO_Q_P" value="0."/>
    <define name="GYRO_Q_R" value="0."/>
    <define name="GYRO_R_P" value="0."/>
    <define name="GYRO_R_Q" value="0."/>

    <define name="GYRO_P_SIGN" value="1"/>
    <define name="GYRO_Q_SIGN" value="1"/>
    <define name="GYRO_R_SIGN" value="1"/>

    <!-- Found with calibrate.py script -->
    <define name="ACCEL_X_NEUTRAL" value="61"/>
    <define name="ACCEL_Y_NEUTRAL" value="6"/>
    <define name="ACCEL_Z_NEUTRAL" value="-67"/>

<!-- SENS = 2048 LSB/g / 9.81 ms2/g = 208.766564729 LSB/ms2 / 10bit FRAC: 1024 / 208.7665 -->
    <define name="ACCEL_X_SENS" value="9.81" integer="16"/>
    <define name="ACCEL_Y_SENS" value="9.81" integer="16"/>
    <define name="ACCEL_Z_SENS" value="9.81" integer="16"/>

    <define name="ACCEL_X_SIGN" value="1"/>
    <define name="ACCEL_Y_SIGN" value="1"/>
    <define name="ACCEL_Z_SIGN" value="1"/>

    <define name="MAG_X_NEUTRAL" value="0"/>
    <define name="MAG_Y_NEUTRAL" value="0"/>
    <define name="MAG_Z_NEUTRAL" value="0"/>

    <define name="MAG_X_SENS" value="1" integer="16"/>
    <define name="MAG_Y_SENS" value="1" integer="16"/>
    <define name="MAG_Z_SENS" value="1" integer="16"/>

    <define name="MAG_X_SIGN" value="1"/>
    <define name="MAG_Y_SIGN" value="1"/>
    <define name="MAG_Z_SIGN" value="1"/>

    <define name="BODY_TO_IMU_PHI" value="0"/>
    <define name="BODY_TO_IMU_THETA" value="0"/>
    <define name="BODY_TO_IMU_PSI" value="0"/>
  </section>

ALSO YOU NEED TO EDIT FILE "~/paparazzi/sw/airborne/peripherals/mpu60X0.h" and replace
the line (#5 i think) with "#define MPU60X0_ADDR            0xD0" with:

#ifndef MPU60X0_ADDR
#define MPU60X0_ADDR            0xD0
#else
#warning USER SET MPU60X0 I2C Address
#endif

in order to be able to set the I2C address from the airframe or elsewhere.

Chris



On 04/07/2013 07:00 PM, address@hidden wrote:
Hi Chris,

would you please post your all your airframe configuration ?

I am using same IMU and I want to compare

Thanks

Imed LIMAIEM
address@hidden




reply via email to

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