机身系统文件类型模板 | <!DOCTYPE airframe SYSTEM "../../airframe.dtd"> |
<!-- | |
备注 | Apogee test board |
机身名定义起始 | <airframe name="Apogee"> |
固件类型 定义起始 | <firmware name="fixedwing"> |
<configure name="RTOS_DEBUG" value="1"/> | |
编译固件目标定义 | <target name="ap" board="apogee_1.0_chibios"> |
<module name="radio_control" type="sbus"/> | |
<configure name="PERIODIC_FREQUENCY" value="100"/> | |
</target> | |
编译模拟目标定义 | <target name="sim" board="pc"> |
<module name="radio_control" type="ppm"/> | |
</target> | |
<define name="USE_I2C1"/> | |
<!--define name="USE_I2C2"/--> | |
<!--define name="AGR_CLIMB"/--> | |
<!--define name="LOITER_TRIM"/--> | |
<!--define name="PITCH_TRIM"/--> | |
<!-- Communication --> | |
<module name="telemetry" type="xbee_api"/> | |
<module name="tlsf"/> | |
<module name="pprzlog"/> | |
<module name="logger" type="sd_chibios"/> | |
<module name="flight_recorder"/> | |
<!-- Actuators are automatically chosen according to board--> | |
<module name="imu" type="apogee"/> | |
<module name="ahrs" type="float_dcm"/> | |
<module name="ins" type="alt_float"/> | |
<module name="control"/> | |
<module name="navigation"/> | |
<!-- Sensors --> | |
<module name="gps" type="ublox"/> | |
<!--module name="sys_mon"/--> | |
<!--module name="spi_master"/--> | |
<!-- <module name="mcp355x"> --> | |
<!-- <define name="USE_SPI1"/> --> | |
<!-- </module> --> | |
<!--module name="extra_dl"> | |
<configure name="EXTRA_DL_PORT" value="UART6"/> | |
<configure name="EXTRA_DL_BAUD" value="B57600"/> | |
</module> | |
<module name="meteo_france_DAQ"/--> | |
固件类型 定义结束 | </firmware> |
<firmware name="test_chibios"> | |
<target name="test_sys_time_timer" board="apogee_1.0_chibios"/> | |
<target name="test_led" board="apogee_1.0_chibios"/> | |
<target name="test_sys_gpio" board="apogee_1.0_chibios"/> | |
</firmware> | |
<!-- commands section --> | |
伺服输出通道 | <servos> |
<servo name="MOTOR" no="0" min="1040" neutral="1040" max="2000"/> | |
<servo name="AILEVON_LEFT" no="1" min="1900" neutral="1543" max="1100"/> | |
<servo name="AILEVON_RIGHT" no="2" 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> | |
自动1状态设定 | <section name="AUTO1" prefix="AUTO1_"> |
<define name="MAX_ROLL" value="0.85"/> | |
<define name="MAX_PITCH" value="0.6"/> | |
</section> | |
IMU 设定 | <section name="IMU" prefix="IMU_"> |
<!-- Calibration Neutral --> | |
陀螺三轴中立位设定 | <define name="GYRO_P_NEUTRAL" value="0"/> |
<define name="GYRO_Q_NEUTRAL" value="0"/> | |
<define name="GYRO_R_NEUTRAL" value="0 "/> | |
加速度三轴中立位设定 | <define name="ACCEL_X_NEUTRAL" value="0"/> |
<define name="ACCEL_Y_NEUTRAL" value="0"/> | |
<define name="ACCEL_Z_NEUTRAL" value="0"/> | |
机身和IMU偏差修正 | <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="rad"/> | |
<define name="PITCH_NEUTRAL_DEFAULT" value="0.144" unit="rad"/> | |
</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="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="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_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"/--> | |
</section> | |
</airframe> |
欢迎光临 实用性无人机开发日志 (http://www.ppz-uav.com/sq/) | Powered by Discuz! X3.2 |