[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Paparazzi-devel] Drotek IMU Mag Calibration
From: |
martinvk |
Subject: |
[Paparazzi-devel] Drotek IMU Mag Calibration |
Date: |
Fri, 17 Jan 2014 05:53:43 -0800 (PST) |
Hello,
i have a problem with the drotek IMU 10 DOF V2. The Compass is 180 deg
rotated if the TwinStar don't move. If i put the TwinStar in my car and
drive some kilometers, is the direction right.
I calibrated the mag and the accell with the phyton script.
Have anyone an idea? Fly anyone with the drotek a fixedwing? Can i disable
the compass and use the gps direction?
At the screenshot, the TwinStar is at the real north direction.
Twog + Drotek IMU 10 DOF V2 + GPS ublox LEA-6H
This is my airframe file:
<airframe name="Twinstar">
<servos>
<servo name="THROTTLE" no="2" min="1000" neutral="1500" max="2000"/>
<servo name="ROLL" no="6" min="2000" neutral="1500" max="1000"/>
<servo name="PITCH" no="7" min="2000" neutral="1500" max="1000"/>
<servo name="YAW" no="3" min="1000" neutral="1600" max="2000"/>
<servo name="SHUTTER" no="0" min="1000" neutral="1500" max="2000"/>
</servos>
<commands>
<axis name="THROTTLE" failsafe_value="0"/>
<axis name="ROLL" failsafe_value="0"/>
<axis name="PITCH" failsafe_value="0"/>
<axis name="YAW" failsafe_value="0"/>
<axis name="SHUTTER" failsafe_value="0"/>
</commands>
<rc_commands>
<set command="THROTTLE" value="@THROTTLE"/>
<set command="ROLL" value="@ROLL"/>
<set command="PITCH" value="@PITCH"/>
<set command="YAW" value="@YAW"/>
<set command="SHUTTER" value="@SHUTTER"/>
</rc_commands>
<auto_rc_commands>
<set command="YAW" value="@YAW"/>
<set command="SHUTTER" value="@SHUTTER"/>
</auto_rc_commands>
<command_laws>
<set servo="THROTTLE" value="@THROTTLE"/>
<set servo="PITCH" value="@PITCH"/>
<set servo="ROLL" value="@ROLL"/>
<set servo="YAW" value="@YAW + @ROLL"/>
<set servo="SHUTTER" value="@SHUTTER"/>
</command_laws>
<section name="IMU" prefix="IMU_">
<define name="GYRO_P_SIGN" value="1"/>
<define name="GYRO_Q_SIGN" value="1"/>
<define name="GYRO_R_SIGN" value="1"/>
<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_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" unit="deg"/>
<define name="BODY_TO_IMU_THETA" value="0" unit="deg"/>
<define name="BODY_TO_IMU_PSI" value="0" unit="deg"/>
<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="ACCEL_X_NEUTRAL" value="-15"/>
<define name="ACCEL_Y_NEUTRAL" value="-16"/>
<define name="ACCEL_Z_NEUTRAL" value="141"/>
<define name="ACCEL_X_SENS" value="2.4351646612" integer="16"/>
<define name="ACCEL_Y_SENS" value="2.44699755234" integer="16"/>
<define name="ACCEL_Z_SENS" value="2.43903563632" integer="16"/>
<define name="MAG_X_NEUTRAL" value="-15"/>
<define name="MAG_Y_NEUTRAL" value="-108"/>
<define name="MAG_Z_NEUTRAL" value="70"/>
<define name="MAG_X_SENS" value="3.44102829054" integer="16"/>
<define name="MAG_Y_SENS" value="3.52307814128" integer="16"/>
<define name="MAG_Z_SENS" value="4.09478781776" integer="16"/>
</section>
<section name="INS" prefix="INS_">
<define name="ROLL_NEUTRAL_DEFAULT" value="0.337987803734"
unit="deg"/>
<define name="PITCH_NEUTRAL_DEFAULT" value="2.8199836793"
unit="deg"/>
</section>
<section name="AUTO1" prefix="AUTO1_">
<define name="MAX_ROLL" value="60" unit="deg"/>
<define name="MAX_PITCH" value="40" unit="deg"/>
</section>
<section name="BAT">
<define name="MILLIAMP_AT_FULL_THROTTLE" value="20000" unit="mA"/>
<define name="VOLTAGE_ADC_A"
value="0.02456533604651162791"/>
<define name="VOLTAGE_ADC_B"
value="0.24024993023255813953"/>
<define name="VoltageOfAdc(adc)" value="(VOLTAGE_ADC_A *
adc +
VOLTAGE_ADC_B)"/>
<define name="CATASTROPHIC_BAT_LEVEL" value="9.0" unit="V"/>
<define name="CRITIC_BAT_LEVEL" value="9.3" unit="V"/>
<define name="LOW_BAT_LEVEL" value="9.5" unit="V"/>
<define name="MAX_BAT_LEVEL" value="12.4" unit="V"/>
</section>
<section name="SIMU">
<define name="YAW_RESPONSE_FACTOR" value="0.7"/>
</section>
<section name="MISC">
<define name="TELEMETRY_MODE_FBW" value="1"/>
<define name="NOMINAL_AIRSPEED" value="12.5"
unit="m/s"/>
<define name="CARROT" value="5."
unit="s"/>
<define name="KILL_MODE_DISTANCE"
value="(1.5*MAX_DIST_FROM_HOME)"/>
<define name="CONTROL_FREQUENCY" value="60" unit="Hz"/>
<define name="ALT_KALMAN_ENABLED" value="TRUE"/>
<define name="TRIGGER_DELAY" value="1."/>
<define name="DEFAULT_CIRCLE_RADIUS" value="50."/>
</section>
<section name="VERTICAL CONTROL" prefix="V_CTL_">
<define name="POWER_CTL_BAT_NOMINAL" value="11.1" unit="volt"/>
<define name="ALTITUDE_PGAIN" value="0.07"/>
<define name="ALTITUDE_MAX_CLIMB" value="2."/>
<define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.55"/>
<define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.30"/>
<define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.80"/>
<define name="AUTO_THROTTLE_LOITER_TRIM"
value="1500"/>
<define name="AUTO_THROTTLE_DASH_TRIM"
value="-500"/>
<define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.15"
unit="%/(m/s)"/>
<define name="AUTO_THROTTLE_PGAIN"
value="0.025"/>
<define name="AUTO_THROTTLE_IGAIN"
value="0.1"/>
<define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN"
value="0.05"/>
<define name="AUTO_PITCH_PGAIN" value="0.05"/>
<define name="AUTO_PITCH_IGAIN" value="0.075"/>
<define name="AUTO_PITCH_MAX_PITCH" value="0.35"/>
<define name="AUTO_PITCH_MIN_PITCH" value="-0.35"/>
<define name="THROTTLE_SLEW"
value="0.05"/>
</section>
<section name="HORIZONTAL CONTROL" prefix="H_CTL_">
<define name="COURSE_PGAIN"
value="0.85"/>
<define name="ROLL_MAX_SETPOINT" value="0.6"
unit="rad"/>
<define name="PITCH_MAX_SETPOINT" value="0.5"
unit="rad"/>
<define name="PITCH_MIN_SETPOINT" value="-0.5"
unit="rad"/>
<define name="ROLL_PGAIN" value="5000."/>
<define name="AILERON_OF_THROTTLE" value="0.0"/>
<define name="PITCH_PGAIN" value="4000."/>
<define name="PITCH_DGAIN" value="1.5"/>
<define name="ELEVATOR_OF_ROLL" value="1250"/>
</section>
<section name="NAV">
<define name="NAV_GLIDE_PITCH_TRIM" value="0"/>
</section>
<section name="AGGRESSIVE" prefix="AGR_">
<define name="BLEND_START" value="20"/>
<define name="BLEND_END" value="10"/>
<define name="CLIMB_THROTTLE" value="0.8"/>
<define name="CLIMB_PITCH" value="0.3"/>
<define name="DESCENT_THROTTLE" value="0.1"/>
<define name="DESCENT_PITCH" value="-0.25"/>
<define name="CLIMB_NAV_RATIO" value="0.8"/>
<define name="DESCENT_NAV_RATIO" value="1.0"/>
</section>
<section name="FAILSAFE" prefix="FAILSAFE_">
<define name="DELAY_WITHOUT_GPS" value="1" unit="s"/>
<define name="DEFAULT_THROTTLE" value="0.3" unit="%"/>
<define name="DEFAULT_ROLL" value="0.3" unit="rad"/>
<define name="DEFAULT_PITCH" value="0.5" unit="rad"/>
<define name="HOME_RADIUS" value="100" unit="m"/>
</section>
<firmware name="fixedwing">
<target name="sim" board="pc"/>
<target name="ap" board="twog_1.0">
<define name="AGR_CLIMB"/>
<define name="USE_I2C"/>
<define name="USE_I2C0"/>
<define name="SENSOR_SYNC_SEND"/>
<define name="USE_BARO_MS5611"/>
</target>
<define name="LOITER_TRIM"/>
<subsystem name="ahrs" type="float_dcm"/>
<subsystem name="gps" type="ublox"/>
<subsystem name="navigation"/>
<subsystem name="ins" type="alt_float"/>
<subsystem name="radio_control" type="ppm"/>
<subsystem name="telemetry" type="transparent">
<configure name="MODEM_BAUD" value="B57600"/>
</subsystem>
<subsystem name="control"/>
<subsystem name="imu" type="drotek_10dof_v2">
<configure name="DROTEK_2_I2C_DEV" value="i2c0"/>
</subsystem>
<subsystem name="ahrs" type="float_dcm">
<define name="USE_MAGNETOMETER" value="0"/>
<define name="USE_MAGNETOMETER_ONGROUND" value="0"/>
</subsystem>
</firmware>
<modules>
<load name="openlog.xml"/>
<load name="baro_ms5611_i2c.xml">
<define name="SENSOR_SYNC_SEND"/>
</load>
</modules>
</airframe>
<http://lists.paparazziuav.org/file/n14412/GCS.png>
Greeting,
Martin
--
View this message in context:
http://lists.paparazziuav.org/Drotek-IMU-Mag-Calibration-tp14412.html
Sent from the paparazzi-devel mailing list archive at Nabble.com.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Paparazzi-devel] Drotek IMU Mag Calibration,
martinvk <=