mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-05 06:54:49 +08:00
4b41dcd513
It is way too dangerous and not needed anymore with the latest imu sensor. Keeping it for arduimu just in case
275 lines
9.9 KiB
XML
275 lines
9.9 KiB
XML
<!DOCTYPE airframe SYSTEM "../../airframe.dtd">
|
|
|
|
<!-- Mythe
|
|
Umarim
|
|
XBee modem
|
|
LEA 5H GPS
|
|
-->
|
|
|
|
<airframe name="Funjet">
|
|
|
|
<modules>
|
|
<!--load name="baro_board.xml"/-->
|
|
<load name="airspeed_adc.xml">
|
|
<configure name="ADC_AIRSPEED" value="ADC_0"/>
|
|
<define name="AIRSPEED_QUADRATIC_SCALE" value="1.09378"/>
|
|
<define name="AIRSPEED_BIAS" value="110"/>
|
|
</load>
|
|
<load name="AOA_adc.xml">
|
|
<configure name="ADC_AOA" value="ADC_2"/>
|
|
</load>
|
|
<!--load name="adc_generic.xml">
|
|
<configure name="ADC_CHANNEL_GENERIC1" value="ADC_2"/>
|
|
</load-->
|
|
<!--load name="baro_hca.xml">
|
|
<define name="I2C0_SCLL" value="25"/>
|
|
<define name="I2C0_SCLH" value="25"/>
|
|
</load-->
|
|
<!--load name="baro_bmp.xml">
|
|
<define name="BMP_I2C_DEV" value="i2c1"/>
|
|
</load-->
|
|
<!--load name="baro_ms5611_i2c.xml">
|
|
<define name="MS5611_I2C_DEV" value="i2c0"/>
|
|
</load-->
|
|
<!--load name="baro_mpl3115.xml">
|
|
<define name="MPL3115_I2C_DEV" value="i2c0"/>
|
|
<define name="SENSOR_SYNC_SEND"/>
|
|
</load-->
|
|
<!--load name="airspeed_ads1114.xml"/-->
|
|
<!--load name="mcp355x.xml"/-->
|
|
<!--load name="sys_mon.xml"/-->
|
|
</modules>
|
|
|
|
<firmware name="fixedwing">
|
|
<define name="USE_I2C0"/>
|
|
<define name="USE_I2C1"/>
|
|
<!--define name="AGR_CLIMB"/-->
|
|
<define name="ALT_KALMAN"/>
|
|
<define name="USE_AIRSPEED"/>
|
|
<!--define name="LOITER_TRIM"/-->
|
|
<!--define name="PITCH_TRIM"/-->
|
|
<define name="USE_GYRO_PITCH_RATE"/>
|
|
<define name="SENSOR_SYNC_SEND"/>
|
|
|
|
<target name="sim" board="pc"/>
|
|
<target name="ap" board="umarim_1.0"/>
|
|
|
|
<subsystem name="radio_control" type="ppm">
|
|
<define name="USE_PPM_RSSI_GPIO"/>
|
|
<define name="PPM_RSSI_IOPIN" value="IO0PIN"/>
|
|
<define name="PPM_RSSI_PIN" value="10"/>
|
|
<define name="PPM_RSSI_VALID_LEVEL" value="0"/>
|
|
</subsystem>
|
|
|
|
<!-- Communication -->
|
|
<subsystem name="telemetry" type="xbee_api"/>
|
|
|
|
<!-- Actuators are automatically chosen according to board-->
|
|
<subsystem name="imu" type="umarim"/>
|
|
<subsystem name="ahrs" type="float_dcm"/>
|
|
<subsystem name="ins" type="alt_float"/>
|
|
<subsystem name="control" type="new"/>
|
|
<subsystem name="navigation"/>
|
|
<!-- Sensors -->
|
|
<subsystem name="gps" type="ublox"/>
|
|
|
|
<subsystem name="current_sensor">
|
|
<configure name="ADC_CURRENT_SENSOR" value="ADC_1"/>
|
|
</subsystem>
|
|
|
|
<!--subsystem name="spi"/-->
|
|
</firmware>
|
|
|
|
<!-- commands section -->
|
|
<servos>
|
|
<servo name="MOTOR" no="7" min="1040" neutral="1040" max="2000"/>
|
|
<servo name="AILEVON_LEFT" no="6" min="1900" neutral="1543" max="1100"/>
|
|
<servo name="AILEVON_RIGHT" no="3" min="1100" neutral="1561" max="1900"/>
|
|
</servos>
|
|
|
|
<commands>
|
|
<axis name="THROTTLE" failsafe_value="0"/>
|
|
<axis name="ROLL" failsafe_value="0"/>
|
|
<axis name="PITCH" failsafe_value="0"/>
|
|
</commands>
|
|
|
|
<rc_commands>
|
|
<set command="THROTTLE" value="@THROTTLE"/>
|
|
<set command="ROLL" value="@ROLL"/>
|
|
<set command="PITCH" value="@PITCH"/>
|
|
</rc_commands>
|
|
|
|
<section name="MIXER">
|
|
<define name="AILEVON_AILERON_RATE" value="0.75"/>
|
|
<define name="AILEVON_ELEVATOR_RATE" value="0.75"/>
|
|
</section>
|
|
|
|
<command_laws>
|
|
<let var="aileron" value="@ROLL * AILEVON_AILERON_RATE"/>
|
|
<let var="elevator" value="@PITCH * AILEVON_ELEVATOR_RATE"/>
|
|
<set servo="MOTOR" value="@THROTTLE"/>
|
|
<set servo="AILEVON_LEFT" value="$elevator - $aileron"/>
|
|
<set servo="AILEVON_RIGHT" value="$elevator + $aileron"/>
|
|
</command_laws>
|
|
|
|
<section name="AUTO1" prefix="AUTO1_">
|
|
<define name="MAX_ROLL" value="0.85"/>
|
|
<define name="MAX_PITCH" value="0.6"/>
|
|
</section>
|
|
|
|
<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"/>
|
|
|
|
<!-- Calibration Neutral -->
|
|
<define name="GYRO_P_NEUTRAL" value="-83"/>
|
|
<define name="GYRO_Q_NEUTRAL" value="81"/>
|
|
<define name="GYRO_R_NEUTRAL" value="77 "/>
|
|
|
|
<!-- SENS ITG3200 1/14.375 (deg/s)/LSB, rate frac 12bit => 1/14.375 * pi / 180 * 2^12 -->
|
|
<define name="GYRO_P_SENS" value="4.97312" integer="16"/>
|
|
<define name="GYRO_Q_SENS" value="4.97312" integer="16"/>
|
|
<define name="GYRO_R_SENS" value="4.97312" 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="ACCEL_X_NEUTRAL" value="1"/>
|
|
<define name="ACCEL_Y_NEUTRAL" value="6"/>
|
|
<define name="ACCEL_Z_NEUTRAL" value="-18"/>
|
|
|
|
<define name="ACCEL_X_SENS" value="38.2761110243" integer="16"/>
|
|
<define name="ACCEL_Y_SENS" value="38.9101161196" integer="16"/>
|
|
<define name="ACCEL_Z_SENS" value="39.8204157329" integer="16"/>
|
|
|
|
<!-- Just to compile -->
|
|
<define name="MAG_X_NEUTRAL" value="0"/>
|
|
<define name="MAG_Y_NEUTRAL" value="0"/>
|
|
<define name="MAG_Z_NEUTRAL" value="0"/>
|
|
|
|
<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>
|
|
|
|
<section name="INS" prefix="INS_">
|
|
<define name="ROLL_NEUTRAL_DEFAULT" value="0." unit="deg"/>
|
|
<define name="PITCH_NEUTRAL_DEFAULT" value="4." unit="deg"/>
|
|
</section>
|
|
|
|
<section name="BAT">
|
|
<define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
|
|
<define name="MilliAmpereOfAdc(_adc)" value="(_adc-158)*16.5698"/>
|
|
</section>
|
|
|
|
<section name="MISC">
|
|
<define name="NOMINAL_AIRSPEED" value="15." unit="m/s"/>
|
|
<define name="CARROT" value="5." unit="s"/>
|
|
<define name="KILL_MODE_DISTANCE" value="(1.5*MAX_DIST_FROM_HOME)"/>
|
|
<define name="ALT_KALMAN_ENABLED" value="TRUE"/>
|
|
|
|
<define name="TRIGGER_DELAY" value="1."/>
|
|
<define name="DEFAULT_CIRCLE_RADIUS" value="80."/>
|
|
|
|
<define name="UNLOCKED_HOME_MODE" value="TRUE"/>
|
|
</section>
|
|
|
|
<section name="VERTICAL CONTROL" prefix="V_CTL_">
|
|
<!--define name="POWER_CTL_BAT_NOMINAL" value="11.1" unit="volt"/-->
|
|
<!-- outer loop proportional gain -->
|
|
<define name="ALTITUDE_PGAIN" value="0.18"/> <!-- 0.024 -->
|
|
<!-- outer loop saturation -->
|
|
<define name="ALTITUDE_MAX_CLIMB" value="5."/>
|
|
|
|
<!-- Cruise throttle + limits -->
|
|
<define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.45"/>
|
|
<define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.25"/>
|
|
<define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.85"/>
|
|
<define name="AUTO_PITCH_MAX_PITCH" value="RadOfDeg(20.)"/>
|
|
<define name="AUTO_PITCH_MIN_PITCH" value="-RadOfDeg(20.)"/>
|
|
|
|
<!-- Climb loop (throttle) -->
|
|
<define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.1" unit="%/(m/s)"/>
|
|
<define name="AUTO_THROTTLE_PGAIN" value="0.002"/> <!-- 0.005 -->
|
|
<define name="AUTO_THROTTLE_DGAIN" value="0.0"/> <!-- 0.005 -->
|
|
<define name="AUTO_THROTTLE_IGAIN" value="0.004"/> <!-- 0.005 -->
|
|
|
|
<!-- Climb loop (pitch) -->
|
|
<define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.03"/>
|
|
<define name="AUTO_PITCH_PGAIN" value="0.04"/> <!-- 0.03 -->
|
|
<define name="AUTO_PITCH_DGAIN" value="0.04"/> <!-- 0.03 -->
|
|
<define name="AUTO_PITCH_IGAIN" value="0.0"/>
|
|
|
|
<!-- airspeed control -->
|
|
<define name="AUTO_AIRSPEED_SETPOINT" value="16."/>
|
|
<define name="AUTO_AIRSPEED_THROTTLE_PGAIN" value="0.1"/>
|
|
<define name="AUTO_AIRSPEED_THROTTLE_DGAIN" value="0.12"/>
|
|
<define name="AUTO_AIRSPEED_THROTTLE_IGAIN" value="0.0"/>
|
|
<define name="AUTO_AIRSPEED_PITCH_PGAIN" value="0.06"/>
|
|
<define name="AUTO_AIRSPEED_PITCH_DGAIN" value="0.0"/>
|
|
<define name="AUTO_AIRSPEED_PITCH_IGAIN" value="0.042"/>
|
|
<define name="AIRSPEED_MAX" value="30"/>
|
|
<define name="AIRSPEED_MIN" value="10"/>
|
|
|
|
<!-- groundspeed control -->
|
|
<define name="AUTO_GROUNDSPEED_SETPOINT" value="15"/>
|
|
<define name="AUTO_GROUNDSPEED_PGAIN" value="1."/>
|
|
<define name="AUTO_GROUNDSPEED_IGAIN" value="0."/>
|
|
|
|
<!-- pitch trim --> <!-- 5 deg -->
|
|
<define name="PITCH_LOITER_TRIM" value="RadOfDeg(0.)"/>
|
|
<define name="PITCH_DASH_TRIM" value="RadOfDeg(-0.)"/>
|
|
|
|
<define name="THROTTLE_SLEW" value="0.1"/>
|
|
</section>
|
|
|
|
<section name="HORIZONTAL CONTROL" prefix="H_CTL_">
|
|
<define name="COURSE_PGAIN" value="0.7"/>
|
|
<define name="ROLL_MAX_SETPOINT" value="0.8" unit="radians"/>
|
|
<define name="PITCH_MAX_SETPOINT" value="0.5" unit="radians"/>
|
|
<define name="PITCH_MIN_SETPOINT" value="-0.5" unit="radians"/>
|
|
|
|
<define name="ROLL_ATTITUDE_GAIN" value="8800."/>
|
|
<define name="ROLL_RATE_GAIN" value="500."/>
|
|
<define name="ROLL_IGAIN" value="150."/>
|
|
<define name="ROLL_KFFA" value="0"/>
|
|
<define name="ROLL_KFFD" value="0"/>
|
|
|
|
<define name="PITCH_PGAIN" value="14000."/>
|
|
<define name="PITCH_DGAIN" value="0."/>
|
|
<define name="PITCH_IGAIN" value="250."/>
|
|
<define name="PITCH_KFFA" value="0."/>
|
|
<define name="PITCH_KFFD" value="0."/>
|
|
|
|
<define name="PITCH_OF_ROLL" value="RadOfDeg(0.0)"/>
|
|
<define name="AILERON_OF_THROTTLE" value="0.0"/>
|
|
<!--define name="ELEVATOR_OF_ROLL" value="1400"/-->
|
|
</section>
|
|
|
|
<section name="NAV">
|
|
<define name="NAV_PITCH" value="0."/>
|
|
<define name="NAV_GLIDE_PITCH_TRIM" value="0"/>
|
|
</section>
|
|
|
|
<section name="FAILSAFE" prefix="FAILSAFE_">
|
|
<define name="DELAY_WITHOUT_GPS" value="2" 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>
|
|
|
|
<section name="SIMU">
|
|
<!--define name="ROLL_RESPONSE_FACTOR" value="10"/>
|
|
<define name="MAX_ROLL_DOT" value="20" unit="rad/s"/-->
|
|
<define name="JSBSIM_MODEL" value=""Malolo1""/>
|
|
<!--define name="JSBSIM_INIT" value=""Malolo1-IC""/-->
|
|
<define name="JSBSIM_LAUNCHSPEED" value="15.0"/>
|
|
<define name="JSBSIM_IR_ROLL_NEUTRAL" value="RadOfDeg(0.)"/>
|
|
<define name="JSBSIM_IR_PITCH_NEUTRAL" value="RadOfDeg(0.)"/>
|
|
</section>
|
|
|
|
</airframe>
|