mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-31 20:38:27 +08:00
8cfbe748c7
these attributes are not parsed in servos, only in the single sevo node now these airframe files should also fit the DTD again
258 lines
8.8 KiB
XML
258 lines
8.8 KiB
XML
<airframe name="BOOZ2_NoVa_002">
|
|
|
|
<!-- BOOZ2_NoVa
|
|
BOOZ2_MAIN_001 main board
|
|
BOOZ2_IMU_001 IMU
|
|
BOOZ2_GPS_001 LEA-5H GPS
|
|
Datamodems configured for 57600 baud
|
|
ZEF100 Speed Controllers
|
|
-->
|
|
|
|
<servos>
|
|
<servo name="FRONT" no="0" min="0" neutral="0" max="255"/>
|
|
<servo name="BACK" no="1" min="0" neutral="0" max="255"/>
|
|
<servo name="RIGHT" no="2" min="0" neutral="0" max="255"/>
|
|
<servo name="LEFT" no="3" min="0" neutral="0" max="255"/>
|
|
</servos>
|
|
|
|
<commands>
|
|
<axis name="PITCH" failsafe_value="0"/>
|
|
<axis name="ROLL" failsafe_value="0"/>
|
|
<axis name="YAW" failsafe_value="0"/>
|
|
<axis name="THRUST" failsafe_value="0"/>
|
|
</commands>
|
|
|
|
<section name="IMU" prefix="IMU_">
|
|
|
|
<define name="GYRO_P_CHAN" value="1"/>
|
|
<define name="GYRO_Q_CHAN" value="0"/>
|
|
<define name="GYRO_R_CHAN" value="2"/>
|
|
|
|
<define name="GYRO_P_NEUTRAL" value="33008"/>
|
|
<define name="GYRO_Q_NEUTRAL" value="31899"/>
|
|
<define name="GYRO_R_NEUTRAL" value="32989"/>
|
|
|
|
<define name="GYRO_P_SENS" value=" 1.01" integer="16"/>
|
|
<define name="GYRO_Q_SENS" value="-1.01" integer="16"/>
|
|
<define name="GYRO_R_SENS" value="-1.01" integer="16"/>
|
|
|
|
|
|
<define name="ACCEL_X_CHAN" value="5"/>
|
|
<define name="ACCEL_Y_CHAN" value="3"/>
|
|
<define name="ACCEL_Z_CHAN" value="4"/>
|
|
|
|
<define name="ACCEL_X_SENS" value="-2.19476868" integer="16"/>
|
|
<define name="ACCEL_Y_SENS" value="-2.88368188" integer="16"/>
|
|
<define name="ACCEL_Z_SENS" value="-2.57172803" integer="16"/>
|
|
|
|
<define name="ACCEL_X_NEUTRAL" value="33160"/>
|
|
<define name="ACCEL_Y_NEUTRAL" value="32523"/>
|
|
<define name="ACCEL_Z_NEUTRAL" value="32418"/>
|
|
|
|
<define name="MAG_X_CHAN" value="0"/>
|
|
<define name="MAG_Y_CHAN" value="1"/>
|
|
<define name="MAG_Z_CHAN" value="2"/>
|
|
|
|
<define name="MAG_X_SENS" value="4.73914612" integer="16"/>
|
|
<define name="MAG_Y_SENS" value="-5.34705586" integer="16"/>
|
|
<define name="MAG_Z_SENS" value="-3.57580805" integer="16"/>
|
|
|
|
<define name="MAG_X_NEUTRAL" value="-89"/>
|
|
<define name="MAG_Y_NEUTRAL" value="20"/>
|
|
<define name="MAG_Z_NEUTRAL" value="-30"/>
|
|
|
|
<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="-90." unit="deg"/>
|
|
|
|
</section>
|
|
|
|
|
|
<section name="STABILIZATION_RATE" prefix="STABILIZATION_RATE_">
|
|
<!-- setpoints -->
|
|
<define name="SP_MAX_P" value="10000" />
|
|
<define name="SP_MAX_Q" value="10000" />
|
|
<define name="SP_MAX_R" value="10000" />
|
|
<define name="DEADBAND_P" value="0" />
|
|
<define name="DEADBAND_Q" value="0" />
|
|
<define name="DEADBAND_R" value="200" />
|
|
<define name="REF_TAU" value="4" />
|
|
|
|
<!-- feedback -->
|
|
<define name="GAIN_P" value="400" />
|
|
<define name="GAIN_Q" value="400" />
|
|
<define name="GAIN_R" value="350" />
|
|
|
|
<define name="IGAIN_P" value="75" />
|
|
<define name="IGAIN_Q" value="75" />
|
|
<define name="IGAIN_R" value="50" />
|
|
|
|
<!-- feedforward -->
|
|
<define name="DDGAIN_P" value="300" />
|
|
<define name="DDGAIN_Q" value="300" />
|
|
<define name="DDGAIN_R" value="300" />
|
|
</section>
|
|
|
|
<section name="STABILIZATION_ATTITUDE" prefix="STABILIZATION_ATTITUDE_">
|
|
|
|
<!-- setpoints -->
|
|
<define name="SP_MAX_PHI" value="45." unit="deg"/>
|
|
<define name="SP_MAX_THETA" value="45." unit="deg"/>
|
|
<define name="SP_MAX_R" value="180." unit="deg/s"/><!-- Maximum speed in deg/s-->
|
|
<define name="DEADBAND_R" value="250"/>
|
|
|
|
<!-- reference -->
|
|
<define name="REF_OMEGA_P" value="800" unit="deg/s"/>
|
|
<define name="REF_ZETA_P" value="0.85"/>
|
|
<define name="REF_MAX_P" value="300." unit="deg/s"/>
|
|
<define name="REF_MAX_PDOT" value="RadOfDeg(7000.)"/>
|
|
|
|
<define name="REF_OMEGA_Q" value="800" unit="deg/s"/>
|
|
<define name="REF_ZETA_Q" value="0.85"/>
|
|
<define name="REF_MAX_Q" value="300." unit="deg/s"/>
|
|
<define name="REF_MAX_QDOT" value="RadOfDeg(7000.)"/>
|
|
|
|
<define name="REF_OMEGA_R" value="500" unit="deg/s"/>
|
|
<define name="REF_ZETA_R" value="0.85"/>
|
|
<define name="REF_MAX_R" value="180." unit="deg/s"/>
|
|
<define name="REF_MAX_RDOT" value="RadOfDeg(1800.)"/>
|
|
|
|
<!-- feedback -->
|
|
<!--
|
|
<define name="PHI_PGAIN" value="400"/>
|
|
<define name="PHI_DGAIN" value="300"/>
|
|
<define name="PHI_IGAIN" value="100"/>
|
|
|
|
<define name="THETA_PGAIN" value="400"/>
|
|
<define name="THETA_DGAIN" value="300"/>
|
|
<define name="THETA_IGAIN" value="100"/>
|
|
|
|
<define name="PSI_PGAIN" value="380"/>
|
|
<define name="PSI_DGAIN" value="320"/>
|
|
<define name="PSI_IGAIN" value="75"/>
|
|
-->
|
|
|
|
<define name="PHI_PGAIN" value="1000"/>
|
|
<define name="PHI_DGAIN" value="300"/>
|
|
<define name="PHI_IGAIN" value="100"/>
|
|
|
|
<define name="THETA_PGAIN" value="1000"/>
|
|
<define name="THETA_DGAIN" value="300"/>
|
|
<define name="THETA_IGAIN" value="100"/>
|
|
|
|
<define name="PSI_PGAIN" value="1000"/>
|
|
<define name="PSI_DGAIN" value="350"/>
|
|
<define name="PSI_IGAIN" value="10"/>
|
|
|
|
<!-- feedforward -->
|
|
<define name="PHI_DDGAIN" value=" 300"/>
|
|
<define name="THETA_DDGAIN" value=" 300"/>
|
|
<define name="PSI_DDGAIN" value=" 300"/>
|
|
|
|
</section>
|
|
|
|
<section name="SUPERVISION" prefix="SUPERVISION_">
|
|
<define name="MIN_MOTOR" value="2" />
|
|
<define name="MAX_MOTOR" value="210" />
|
|
<define name="TRIM_A" value="0" />
|
|
<define name="TRIM_E" value="0" />
|
|
<define name="TRIM_R" value="0" />
|
|
<define name="NB_MOTOR" value="4" />
|
|
<define name="SCALE" value="256"/>
|
|
<define name="ROLL_COEF" value="{ 0, 0, -256, 256}" />
|
|
<define name="PITCH_COEF" value="{ 256, -256, 0, 0}" />
|
|
<define name="YAW_COEF" value="{ 256, 256, -256, -256}" />
|
|
<define name="THRUST_COEF" value="{ 256, 256, 256, 256}"/>
|
|
</section>
|
|
|
|
<section name="ACTUATORS_MKK" prefix="ACTUATORS_MKK_">
|
|
<define name="NB" value="4" />
|
|
<define name="ADDR" value="{ 0x54, 0x58, 0x56, 0x52 }" />
|
|
</section>
|
|
|
|
<section name="INS" prefix="INS_">
|
|
<define name="BARO_SENS" value="14.9" integer="16"/>
|
|
</section>
|
|
|
|
|
|
<section name="GUIDANCE_V" prefix="GUIDANCE_V_">
|
|
<define name="MIN_ERR_Z" value="POS_BFP_OF_REAL(-10.)"/>
|
|
<define name="MAX_ERR_Z" value="POS_BFP_OF_REAL( 10.)"/>
|
|
<define name="MIN_ERR_ZD" value="SPEED_BFP_OF_REAL(-10.)"/>
|
|
<define name="MAX_ERR_ZD" value="SPEED_BFP_OF_REAL( 10.)"/>
|
|
<define name="MAX_SUM_ERR" value="2000000"/>
|
|
<define name="REF_MIN_ZDD" value="-1.5*9.81"/>
|
|
<define name="REF_MAX_ZDD" value=" 0.5*9.81"/>
|
|
<define name="REF_MIN_ZD" value="-1.5"/>
|
|
<define name="REF_MAX_ZD" value=" 1.5"/>
|
|
<define name="HOVER_KP" value="150"/>
|
|
<define name="HOVER_KD" value="80"/>
|
|
<define name="HOVER_KI" value="0"/>
|
|
<!-- 1.5m/s for full stick : SPEED_BFP_OF_REAL(1.5) / (MAX_PPRZ/2) -->
|
|
<define name="RC_CLIMB_COEF" value ="163"/>
|
|
<!-- SPEED_BFP_OF_REAL(1.5) * 20% -->
|
|
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
|
|
<!-- <define name="INV_M" value="0.118"/> -->
|
|
</section>
|
|
|
|
<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
|
|
<define name="PGAIN" value="70"/>
|
|
<define name="DGAIN" value="150"/>
|
|
<define name="IGAIN" value="15"/>
|
|
<define name="NGAIN" value="0"/>
|
|
<define name="AGAIN" value="0"/>
|
|
</section>
|
|
|
|
<section name="BAT">
|
|
<define name="MILLIAMP_PER_PERCENT" value="0.86"/>
|
|
<define name="CATASTROPHIC_BAT_LEVEL" value="9.0" unit="V"/>
|
|
<define name="BATTERY_SENS" value="0.18" integer="16"/>
|
|
<!-- <define name="BATTERY_SENS" value="1" integer="16"/>-->
|
|
</section>
|
|
|
|
<section name="AUTOPILOT">
|
|
<define name="MODE_MANUAL" value="AP_MODE_RATE_DIRECT"/>
|
|
<define name="MODE_AUTO1" value="AP_MODE_ATTITUDE_DIRECT"/>
|
|
<define name="MODE_AUTO2" value="AP_MODE_NAV"/>
|
|
</section>
|
|
|
|
|
|
<section name="MISC">
|
|
<define name="FACE_REINJ_1" value="1024"/>
|
|
</section>
|
|
|
|
<makefile>
|
|
ARCH=lpc21
|
|
FLASH_MODE=IAP
|
|
BOARD_CFG = \"boards/booz2_v1_0.h\"
|
|
|
|
# prevents motors from ever starting
|
|
#ap.CFLAGS += -DKILL_MOTORS
|
|
|
|
include $(PAPARAZZI_SRC)/conf/firmwares/booz2_common.makefile
|
|
include $(CFG_BOOZ)/booz2_autopilot.makefile
|
|
include $(CFG_BOOZ)/booz2_test_progs.makefile
|
|
#ap.CFLAGS += -DFAILSAFE_GROUND_DETECT
|
|
|
|
#ap.CFLAGS += -DMODEM_BAUD=B38400
|
|
ap.CFLAGS += -DMODEM_BAUD=B57600
|
|
include $(CFG_BOOZ)/subsystems/booz2_radio_control_ppm.makefile
|
|
include $(CFG_BOOZ)/subsystems/booz2_actuators_mkk.makefile
|
|
include $(CFG_BOOZ)/subsystems/booz2_imu_b2v1_1.makefile
|
|
include $(CFG_BOOZ)/subsystems/booz2_gps.makefile
|
|
|
|
include $(CFG_BOOZ)/subsystems/booz2_ahrs_cmpl.makefile
|
|
|
|
|
|
include $(CFG_BOOZ)/subsystems/ins_hff.makefile
|
|
#set USE_GPS lag for horizontal filter
|
|
ap.CFLAGS += -DGPS_LAG=0.8 -DUSE_GPS_ACC4R
|
|
ap.CFLAGS += -DGPS_USE_LATLONG
|
|
|
|
ap.CFLAGS += -DUSE_ADAPT_HOVER -DUSE_INS_NAV_INIT -DACTUATORS_START_DELAY=3
|
|
|
|
|
|
</makefile>
|
|
|
|
</airframe>
|