mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-30 03:27:33 +08:00
[parrot] Fix Bebop 2 rotation of Magneto and tuning
This commit is contained in:
@@ -10,7 +10,7 @@
|
|||||||
<subsystem name="udp"/>
|
<subsystem name="udp"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<!-- Subsystem section -->
|
<!-- Subsystem section -->
|
||||||
<subsystem name="telemetry" type="transparent_udp"/>
|
<subsystem name="telemetry" type="transparent_udp"/>
|
||||||
<subsystem name="radio_control" type="datalink"/>
|
<subsystem name="radio_control" type="datalink"/>
|
||||||
<subsystem name="motor_mixing"/>
|
<subsystem name="motor_mixing"/>
|
||||||
@@ -23,7 +23,6 @@
|
|||||||
<define name="AHRS_USE_GPS_HEADING" value="FALSE"/>
|
<define name="AHRS_USE_GPS_HEADING" value="FALSE"/>
|
||||||
</subsystem>
|
</subsystem>
|
||||||
<subsystem name="ins" type="extended"/>
|
<subsystem name="ins" type="extended"/>
|
||||||
<subsystem name="guidance" type="indi"/>
|
|
||||||
</firmware>
|
</firmware>
|
||||||
|
|
||||||
<modules main_freq="512">
|
<modules main_freq="512">
|
||||||
@@ -34,13 +33,6 @@
|
|||||||
<load name="logger_file.xml">
|
<load name="logger_file.xml">
|
||||||
<define name="FILE_LOGGER_PATH" value="/data/ftp/internal_000"/>
|
<define name="FILE_LOGGER_PATH" value="/data/ftp/internal_000"/>
|
||||||
</load>
|
</load>
|
||||||
<load name="mavlink.xml">
|
|
||||||
<define name="UDP1_PORT_OUT" value="5000"/>
|
|
||||||
<define name="UDP1_PORT_IN" value="5000"/>
|
|
||||||
<define name="UDP1_HOST" value="192.168.42.2"/>
|
|
||||||
<configure name="MAVLINK_PORT" value="UDP1"/>
|
|
||||||
<define name="MAVLINK_SYSID" value="1"/>
|
|
||||||
</load>
|
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<commands>
|
<commands>
|
||||||
@@ -81,12 +73,6 @@
|
|||||||
|
|
||||||
<include href="conf/airframes/TUDelft/calibrations/bebop2_$AC_ID.xml" />
|
<include href="conf/airframes/TUDelft/calibrations/bebop2_$AC_ID.xml" />
|
||||||
|
|
||||||
<section name="IMU" prefix="IMU_">
|
|
||||||
<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"/>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<!-- local magnetic field -->
|
<!-- local magnetic field -->
|
||||||
<!-- http://wiki.paparazziuav.org/wiki/Subsystem/ahrs#Local_Magnetic_Field -->
|
<!-- http://wiki.paparazziuav.org/wiki/Subsystem/ahrs#Local_Magnetic_Field -->
|
||||||
<section name="AHRS" prefix="AHRS_">
|
<section name="AHRS" prefix="AHRS_">
|
||||||
@@ -196,8 +182,8 @@
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section name="GUIDANCE_V" prefix="GUIDANCE_V_">
|
<section name="GUIDANCE_V" prefix="GUIDANCE_V_">
|
||||||
<define name="HOVER_KP" value="283"/>
|
<define name="HOVER_KP" value="350"/>
|
||||||
<define name="HOVER_KD" value="82"/>
|
<define name="HOVER_KD" value="85"/>
|
||||||
<define name="HOVER_KI" value="20"/>
|
<define name="HOVER_KI" value="20"/>
|
||||||
<define name="NOMINAL_HOVER_THROTTLE" value="0.655"/>
|
<define name="NOMINAL_HOVER_THROTTLE" value="0.655"/>
|
||||||
<define name="ADAPT_THROTTLE_ENABLED" value="TRUE"/>
|
<define name="ADAPT_THROTTLE_ENABLED" value="TRUE"/>
|
||||||
@@ -209,13 +195,13 @@
|
|||||||
<define name="REF_MAX_SPEED" value="2" unit="m/s"/>
|
<define name="REF_MAX_SPEED" value="2" unit="m/s"/>
|
||||||
<!-- Bad weather -->
|
<!-- Bad weather -->
|
||||||
<!-- define name="MAX_BANK" value="32" unit="deg"/ -->
|
<!-- define name="MAX_BANK" value="32" unit="deg"/ -->
|
||||||
<define name="PGAIN" value="79"/>
|
<define name="PGAIN" value="120"/>
|
||||||
<define name="DGAIN" value="100"/>
|
<define name="DGAIN" value="100"/>
|
||||||
<define name="IGAIN" value="30"/>
|
<define name="IGAIN" value="30"/>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section name="NAVIGATION" prefix="NAV_">
|
<section name="NAVIGATION" prefix="NAV_">
|
||||||
<define name="CLIMB_VSPEED" value="2.5"/>
|
<define name="CLIMB_VSPEED" value="4.5"/>
|
||||||
<define name="DESCEND_VSPEED" value="-1.0"/>
|
<define name="DESCEND_VSPEED" value="-1.0"/>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
@@ -3,18 +3,16 @@
|
|||||||
<airframe>
|
<airframe>
|
||||||
<section name="IMU" prefix="IMU_">
|
<section name="IMU" prefix="IMU_">
|
||||||
<!-- Magneto calibration -->
|
<!-- Magneto calibration -->
|
||||||
<define name="MAG_X_NEUTRAL" value="-21"/>
|
<define name="MAG_X_NEUTRAL" value="18"/>
|
||||||
<define name="MAG_Y_NEUTRAL" value="60"/>
|
<define name="MAG_Y_NEUTRAL" value="46"/>
|
||||||
<define name="MAG_Z_NEUTRAL" value="209"/>
|
<define name="MAG_Z_NEUTRAL" value="202"/>
|
||||||
<define name="MAG_X_SENS" value="9.31429497222" integer="16"/>
|
<define name="MAG_X_SENS" value="8.32441255621" integer="16"/>
|
||||||
<define name="MAG_Y_SENS" value="8.63466075593" integer="16"/>
|
<define name="MAG_Y_SENS" value="8.25720085664" integer="16"/>
|
||||||
<define name="MAG_Z_SENS" value="9.57742148079" integer="16"/>
|
<define name="MAG_Z_SENS" value="8.60009819293" integer="16"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Magneto current calibration -->
|
<!-- Magneto current calibration -->
|
||||||
<define name= "MAG_X_CURRENT_COEF" value="-0.00129333644507"/>
|
<!--define name= "MAG_X_CURRENT_COEF" value="0.00129333644507"/>
|
||||||
<define name= "MAG_Y_CURRENT_COEF" value="-0.00180224741034"/>
|
<define name= "MAG_Y_CURRENT_COEF" value="-0.00180224741034"/>
|
||||||
<define name= "MAG_Z_CURRENT_COEF" value="0.00514030157101"/>
|
<define name= "MAG_Z_CURRENT_COEF" value="0.00514030157101"/-->
|
||||||
</section>
|
</section>
|
||||||
</airframe>
|
</airframe>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
<subsystem name="udp"/>
|
<subsystem name="udp"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<!-- Subsystem section -->
|
<!-- Subsystem section -->
|
||||||
<subsystem name="telemetry" type="transparent_udp"/>
|
<subsystem name="telemetry" type="transparent_udp"/>
|
||||||
<subsystem name="radio_control" type="datalink"/>
|
<subsystem name="radio_control" type="datalink"/>
|
||||||
<subsystem name="motor_mixing"/>
|
<subsystem name="motor_mixing"/>
|
||||||
@@ -71,12 +71,14 @@
|
|||||||
<define name="CALC_AMSL_BARO" value="TRUE"/>
|
<define name="CALC_AMSL_BARO" value="TRUE"/>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<include href="conf/airframes/TUDelft/calibrations/bebop7.xml" />
|
|
||||||
|
|
||||||
<section name="IMU" prefix="IMU_">
|
<section name="IMU" prefix="IMU_">
|
||||||
<define name="BODY_TO_IMU_PHI" value="0." unit="deg"/>
|
<!-- Magneto calibration -->
|
||||||
<define name="BODY_TO_IMU_THETA" value="0." unit="deg"/>
|
<define name="MAG_X_NEUTRAL" value="18"/>
|
||||||
<define name="BODY_TO_IMU_PSI" value="0." unit="deg"/>
|
<define name="MAG_Y_NEUTRAL" value="46"/>
|
||||||
|
<define name="MAG_Z_NEUTRAL" value="202"/>
|
||||||
|
<define name="MAG_X_SENS" value="8.32441255621" integer="16"/>
|
||||||
|
<define name="MAG_Y_SENS" value="8.25720085664" integer="16"/>
|
||||||
|
<define name="MAG_Z_SENS" value="8.60009819293" integer="16"/>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- local magnetic field -->
|
<!-- local magnetic field -->
|
||||||
@@ -188,8 +190,8 @@
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section name="GUIDANCE_V" prefix="GUIDANCE_V_">
|
<section name="GUIDANCE_V" prefix="GUIDANCE_V_">
|
||||||
<define name="HOVER_KP" value="283"/>
|
<define name="HOVER_KP" value="350"/>
|
||||||
<define name="HOVER_KD" value="82"/>
|
<define name="HOVER_KD" value="85"/>
|
||||||
<define name="HOVER_KI" value="20"/>
|
<define name="HOVER_KI" value="20"/>
|
||||||
<define name="NOMINAL_HOVER_THROTTLE" value="0.655"/>
|
<define name="NOMINAL_HOVER_THROTTLE" value="0.655"/>
|
||||||
<define name="ADAPT_THROTTLE_ENABLED" value="TRUE"/>
|
<define name="ADAPT_THROTTLE_ENABLED" value="TRUE"/>
|
||||||
@@ -201,13 +203,13 @@
|
|||||||
<define name="REF_MAX_SPEED" value="2" unit="m/s"/>
|
<define name="REF_MAX_SPEED" value="2" unit="m/s"/>
|
||||||
<!-- Bad weather -->
|
<!-- Bad weather -->
|
||||||
<!-- define name="MAX_BANK" value="32" unit="deg"/ -->
|
<!-- define name="MAX_BANK" value="32" unit="deg"/ -->
|
||||||
<define name="PGAIN" value="79"/>
|
<define name="PGAIN" value="120"/>
|
||||||
<define name="DGAIN" value="100"/>
|
<define name="DGAIN" value="100"/>
|
||||||
<define name="IGAIN" value="30"/>
|
<define name="IGAIN" value="30"/>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section name="NAVIGATION" prefix="NAV_">
|
<section name="NAVIGATION" prefix="NAV_">
|
||||||
<define name="CLIMB_VSPEED" value="2.5"/>
|
<define name="CLIMB_VSPEED" value="4.5"/>
|
||||||
<define name="DESCEND_VSPEED" value="-1.0"/>
|
<define name="DESCEND_VSPEED" value="-1.0"/>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
@@ -233,12 +233,12 @@
|
|||||||
<aircraft
|
<aircraft
|
||||||
name="bebop2"
|
name="bebop2"
|
||||||
ac_id="203"
|
ac_id="203"
|
||||||
airframe="airframes/examples/bebop2.xml"
|
airframe="airframes/examples/bebop2_indi.xml"
|
||||||
radio="radios/dummy.xml"
|
radio="radios/dummy.xml"
|
||||||
telemetry="telemetry/default_rotorcraft.xml"
|
telemetry="telemetry/default_rotorcraft.xml"
|
||||||
flight_plan="flight_plans/rotorcraft_basic.xml"
|
flight_plan="flight_plans/rotorcraft_basic.xml"
|
||||||
settings="settings/rotorcraft_basic.xml settings/control/rotorcraft_guidance.xml settings/estimation/ahrs_float_mlkf.xml settings/control/stabilization_att_int_quat.xml settings/nps.xml"
|
settings="settings/rotorcraft_basic.xml settings/control/rotorcraft_guidance.xml settings/control/stabilization_att_indi.xml settings/control/rotorcraft_speed.xml"
|
||||||
settings_modules="modules/geo_mag.xml modules/air_data.xml modules/video_thread.xml modules/video_rtp_stream.xml"
|
settings_modules="[modules/geo_mag.xml] modules/air_data.xml modules/gps_ubx_ucenter.xml"
|
||||||
gui_color="red"
|
gui_color="red"
|
||||||
/>
|
/>
|
||||||
<aircraft
|
<aircraft
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ void imu_bebop_event(void)
|
|||||||
if (imu_bebop.ak.data_available) {
|
if (imu_bebop.ak.data_available) {
|
||||||
#if BEBOP_VERSION2
|
#if BEBOP_VERSION2
|
||||||
// In the second bebop version the magneto is turned 90 degrees
|
// In the second bebop version the magneto is turned 90 degrees
|
||||||
VECT3_ASSIGN(imu.mag_unscaled, imu_bebop.ak.data.vect.x, -imu_bebop.ak.data.vect.y, imu_bebop.ak.data.vect.z);
|
VECT3_ASSIGN(imu.mag_unscaled, -imu_bebop.ak.data.vect.x, -imu_bebop.ak.data.vect.y, imu_bebop.ak.data.vect.z);
|
||||||
#else
|
#else
|
||||||
VECT3_ASSIGN(imu.mag_unscaled, imu_bebop.ak.data.vect.y, imu_bebop.ak.data.vect.x, imu_bebop.ak.data.vect.z);
|
VECT3_ASSIGN(imu.mag_unscaled, imu_bebop.ak.data.vect.y, imu_bebop.ak.data.vect.x, imu_bebop.ak.data.vect.z);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user