[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[paparazzi-commits] [6390] add deconfliction Funjets
From: |
Martin Mueller |
Subject: |
[paparazzi-commits] [6390] add deconfliction Funjets |
Date: |
Thu, 11 Nov 2010 09:56:20 +0000 |
Revision: 6390
http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=6390
Author: mmm
Date: 2010-11-11 09:56:20 +0000 (Thu, 11 Nov 2010)
Log Message:
-----------
add deconfliction Funjets
Added Paths:
-----------
paparazzi-software/trunk/conf/airframes/mm/fixed-wing/funjetdca.xml
paparazzi-software/trunk/conf/airframes/mm/fixed-wing/funjetdcb.xml
paparazzi-software/trunk/conf/airframes/mm/fixed-wing/funjetdcc.xml
Added: paparazzi-software/trunk/conf/airframes/mm/fixed-wing/funjetdca.xml
===================================================================
--- paparazzi-software/trunk/conf/airframes/mm/fixed-wing/funjetdca.xml
(rev 0)
+++ paparazzi-software/trunk/conf/airframes/mm/fixed-wing/funjetdca.xml
2010-11-11 09:56:20 UTC (rev 6390)
@@ -0,0 +1,211 @@
+<!DOCTYPE airframe SYSTEM "../../airframe.dtd">
+
+<!-- Funjet deconflict A
+ Tiny 2.11 board (http://paparazzi.enac.fr/wiki/index.php/Tiny_v2)
+ Tilted infrared sensor
(http://paparazzi.enac.fr/wiki/index.php/Image:Tiny_v2_1_Funjet.jpg)
+ XBee modem
+ robbe 6107 SP, LEA 5H
+-->
+
+<airframe name="Funjet deconflict A">
+
+ <firmware name="fixedwing">
+ <target name="ap" board="tiny_2.11">
+ <define name="AGR_CLIMB"/>
+ <define name="LOITER_TRIM"/>
+ <define name="ALT_KALMAN"/>
+ <define name="WIND_INFO"/>
+ <define name="WIND_INFO_RET"/>
+ </target>
+
+ <target name="sim" board="pc">
+ <define name="AGR_CLIMB"/>
+ <define name="LOITER_TRIM"/>
+ <define name="ALT_KALMAN"/>
+ <define name="WIND_INFO"/>
+ <define name="WIND_INFO_RET"/>
+ </target>
+
+ <!-- RC -->
+ <subsystem name="radio_control" type="ppm"/>
+ <!-- Communication -->
+ <subsystem name="telemetry" type="xbee_api"/>
+ <!-- Actuators are automatically chosen according to board-->
+ <subsystem name="control"/>
+ <!-- Sensors -->
+ <subsystem name="attitude" type="infrared"/>
+ <subsystem name="gps" type="ublox_lea5h"/>
+ <!-- Nav -->
+ <subsystem name="navigation"/>
+ <!-- Interfaces -->
+ <!--subsystem name="i2c"/-->
+ </firmware>
+
+ <firmware name="setup">
+ <target name="tunnel" board="tiny_2.11"/>
+ <target name="usb_tunnel_0" board="tiny_2.11"/>
+ <target name="usb_tunnel_1" board="tiny_2.11"/>
+ <target name="setup_actuators" board="tiny_2.11"/>
+ </firmware>
+
+ <!-- modules -->
+ <modules>
+ </modules>
+
+ <!-- commands section -->
+ <servos>
+ <servo name="MOTOR" no="0" min="1000" neutral="1000" max="2000"/>
+ <servo name="AILEVON_LEFT" no="2" min="1900" neutral="1536" max="1100"/>
+ <servo name="AILEVON_RIGHT" no="6" min="1100" neutral="1491" 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.45"/>
+ <define name="AILEVON_ELEVATOR_RATE" value="0.8"/>
+ </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="adc" prefix="ADC_CHANNEL_">
+ <define name="IR1" value="ADC_1"/>
+ <define name="IR2" value="ADC_2"/>
+ <define name="IR_TOP" value="ADC_0"/>
+ <define name="IR_NB_SAMPLES" value="16"/>
+ </section>
+
+ <section name="INFRARED" prefix="IR_">
+ <define name="ADC_IR1_NEUTRAL" value="512"/>
+ <define name="ADC_IR2_NEUTRAL" value="512"/>
+ <define name="ADC_TOP_NEUTRAL" value="512"/>
+
+ <define name="CORRECTION_UP" value="1."/>
+ <define name="CORRECTION_DOWN" value="1."/>
+ <define name="CORRECTION_LEFT" value="1."/>
+ <define name="CORRECTION_RIGHT" value="1."/>
+
+ <define name="LATERAL_CORRECTION" value="-1"/>
+ <define name="LONGITUDINAL_CORRECTION" value="1"/>
+ <define name="VERTICAL_CORRECTION" value="1.5"/>
+
+ <define name="HORIZ_SENSOR_TILTED" value="1"/>
+ <define name="IR1_SIGN" value="1"/>
+ <define name="IR2_SIGN" value="1"/>
+ <define name="TOP_SIGN" value="1"/>
+
+ <define name="ROLL_NEUTRAL_DEFAULT" value="0" unit="deg"/>
+ <define name="PITCH_NEUTRAL_DEFAULT" value="0" unit="deg"/>
+ </section>
+
+ <section name="BAT">
+ <define name="MILLIAMP_AT_FULL_THROTTLE" value="10000."/>
+ <define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
+ <define name="VoltageOfAdc(adc)" value="(0.02454*adc)"/>
+ </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="CONTROL_RATE" value="60" unit="Hz"/>
+ <define name="ALT_KALMAN_ENABLED" value="FALSE"/>
+
+ <define name="TRIGGER_DELAY" value="1."/>
+ <define name="DEFAULT_CIRCLE_RADIUS" value="120."/>
+ </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.06"/> <!-- -0.024 -->
+ <!-- outer loop saturation -->
+ <define name="ALTITUDE_MAX_CLIMB" value="2."/>
+
+ <!-- auto throttle inner loop -->
+ <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_THROTTLE_LOITER_TRIM" value="1000"/>
+ <define name="AUTO_THROTTLE_DASH_TRIM" value="-1200"/>
+ <define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.2"
unit="%/(m/s)"/>
+ <define name="AUTO_THROTTLE_PGAIN" value="-0.023"/> <!-- -0.012 -->
+ <define name="AUTO_THROTTLE_IGAIN" value="0.01"/>
+ <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.05"/>
+
+ <!-- auto pitch inner loop -->
+ <define name="AUTO_PITCH_PGAIN" value="-0.06"/> <!-- -0.03 -->
+ <define name="AUTO_PITCH_IGAIN" value="0.0"/>
+ <define name="AUTO_PITCH_MAX_PITCH" value="0.35"/>
+ <define name="AUTO_PITCH_MIN_PITCH" value="-0.35"/>
+
+ <define name="THROTTLE_SLEW" value="0.1"/>
+
+ </section>
+
+ <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
+ <define name="COURSE_PGAIN" value="-0.9"/>
+ <define name="ROLL_MAX_SETPOINT" value="0.70" unit="radians"/> <!-- 0.5 -->
+ <define name="PITCH_MAX_SETPOINT" value="0.5" unit="radians"/>
+ <define name="PITCH_MIN_SETPOINT" value="-0.5" unit="radians"/>
+
+ <define name="ROLL_PGAIN" value="6600."/>
+ <define name="AILERON_OF_THROTTLE" value="0.0"/>
+ <define name="PITCH_PGAIN" value="-5500."/>
+ <define name="PITCH_DGAIN" value="0.4"/>
+
+ <define name="ELEVATOR_OF_ROLL" value="2400"/>
+
+ <!--define name="ROLL_ATTITUDE_GAIN" value="-7500"/>
+ <define name="ROLL_RATE_GAIN" value="-1500"/-->
+
+ </section>
+
+ <section name="NAV">
+ <define name="NAV_PITCH" value="0."/>
+ <define name="NAV_GLIDE_PITCH_TRIM" value="0"/>
+ </section>
+
+ <section name="AGGRESSIVE" prefix="AGR_">
+ <define name="BLEND_START" value="50"/><!-- Altitude Error to Initiate
Aggressive Climb CANNOT BE ZERO!!-->
+ <define name="BLEND_END" value="15"/><!-- Altitude Error to Blend
Aggressive to Regular Climb Modes CANNOT BE ZERO!!-->
+ <define name="CLIMB_THROTTLE" value="0.9"/><!-- Gaz for Aggressive Climb
-->
+ <define name="CLIMB_PITCH" value="0.35"/><!-- Pitch for Aggressive Climb
-->
+ <define name="DESCENT_THROTTLE" value="0.05"/><!-- Gaz for Aggressive
Decent -->
+ <define name="DESCENT_PITCH" value="-0.35"/><!-- Pitch for Aggressive
Decent -->
+ <define name="CLIMB_NAV_RATIO" value="0.8"/><!-- Percent Navigation for
Altitude Error Equal to Start Altitude -->
+ <define name="DESCENT_NAV_RATIO" value="1.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>
+
+</airframe>
+
Added: paparazzi-software/trunk/conf/airframes/mm/fixed-wing/funjetdcb.xml
===================================================================
--- paparazzi-software/trunk/conf/airframes/mm/fixed-wing/funjetdcb.xml
(rev 0)
+++ paparazzi-software/trunk/conf/airframes/mm/fixed-wing/funjetdcb.xml
2010-11-11 09:56:20 UTC (rev 6390)
@@ -0,0 +1,211 @@
+<!DOCTYPE airframe SYSTEM "../../airframe.dtd">
+
+<!-- Funjet deconflict B
+ Tiny 2.11 board (http://paparazzi.enac.fr/wiki/index.php/Tiny_v2)
+ Tilted infrared sensor
(http://paparazzi.enac.fr/wiki/index.php/Image:Tiny_v2_1_Funjet.jpg)
+ XBee modem
+ robbe 6107 SP, LEA 5H
+-->
+
+<airframe name="Funjet deconflict B">
+
+ <firmware name="fixedwing">
+ <target name="ap" board="tiny_2.11">
+ <define name="AGR_CLIMB"/>
+ <define name="LOITER_TRIM"/>
+ <define name="ALT_KALMAN"/>
+ <define name="WIND_INFO"/>
+ <define name="WIND_INFO_RET"/>
+ </target>
+
+ <target name="sim" board="pc">
+ <define name="AGR_CLIMB"/>
+ <define name="LOITER_TRIM"/>
+ <define name="ALT_KALMAN"/>
+ <define name="WIND_INFO"/>
+ <define name="WIND_INFO_RET"/>
+ </target>
+
+ <!-- RC -->
+ <subsystem name="radio_control" type="ppm"/>
+ <!-- Communication -->
+ <subsystem name="telemetry" type="xbee_api"/>
+ <!-- Actuators are automatically chosen according to board-->
+ <subsystem name="control"/>
+ <!-- Sensors -->
+ <subsystem name="attitude" type="infrared"/>
+ <subsystem name="gps" type="ublox_lea5h"/>
+ <!-- Nav -->
+ <subsystem name="navigation"/>
+ <!-- Interfaces -->
+ <!--subsystem name="i2c"/-->
+ </firmware>
+
+ <firmware name="setup">
+ <target name="tunnel" board="tiny_2.11"/>
+ <target name="usb_tunnel_0" board="tiny_2.11"/>
+ <target name="usb_tunnel_1" board="tiny_2.11"/>
+ <target name="setup_actuators" board="tiny_2.11"/>
+ </firmware>
+
+ <!-- modules -->
+ <modules>
+ </modules>
+
+ <!-- commands section -->
+ <servos>
+ <servo name="MOTOR" no="0" min="1000" neutral="1000" max="2000"/>
+ <servo name="AILEVON_LEFT" no="2" min="1900" neutral="1535" max="1100"/>
+ <servo name="AILEVON_RIGHT" no="6" min="1100" neutral="1507" 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.45"/>
+ <define name="AILEVON_ELEVATOR_RATE" value="0.8"/>
+ </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="adc" prefix="ADC_CHANNEL_">
+ <define name="IR1" value="ADC_1"/>
+ <define name="IR2" value="ADC_2"/>
+ <define name="IR_TOP" value="ADC_0"/>
+ <define name="IR_NB_SAMPLES" value="16"/>
+ </section>
+
+ <section name="INFRARED" prefix="IR_">
+ <define name="ADC_IR1_NEUTRAL" value="512"/>
+ <define name="ADC_IR2_NEUTRAL" value="512"/>
+ <define name="ADC_TOP_NEUTRAL" value="512"/>
+
+ <define name="CORRECTION_UP" value="1."/>
+ <define name="CORRECTION_DOWN" value="1."/>
+ <define name="CORRECTION_LEFT" value="1."/>
+ <define name="CORRECTION_RIGHT" value="1."/>
+
+ <define name="LATERAL_CORRECTION" value="-1"/>
+ <define name="LONGITUDINAL_CORRECTION" value="1"/>
+ <define name="VERTICAL_CORRECTION" value="1.5"/>
+
+ <define name="HORIZ_SENSOR_TILTED" value="1"/>
+ <define name="IR1_SIGN" value="1"/>
+ <define name="IR2_SIGN" value="1"/>
+ <define name="TOP_SIGN" value="1"/>
+
+ <define name="ROLL_NEUTRAL_DEFAULT" value="0" unit="deg"/>
+ <define name="PITCH_NEUTRAL_DEFAULT" value="0" unit="deg"/>
+ </section>
+
+ <section name="BAT">
+ <define name="MILLIAMP_AT_FULL_THROTTLE" value="10000."/>
+ <define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
+ <define name="VoltageOfAdc(adc)" value="(0.02454*adc)"/>
+ </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="CONTROL_RATE" value="60" unit="Hz"/>
+ <define name="ALT_KALMAN_ENABLED" value="FALSE"/>
+
+ <define name="TRIGGER_DELAY" value="1."/>
+ <define name="DEFAULT_CIRCLE_RADIUS" value="120."/>
+ </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.06"/> <!-- -0.024 -->
+ <!-- outer loop saturation -->
+ <define name="ALTITUDE_MAX_CLIMB" value="2."/>
+
+ <!-- auto throttle inner loop -->
+ <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_THROTTLE_LOITER_TRIM" value="1000"/>
+ <define name="AUTO_THROTTLE_DASH_TRIM" value="-1200"/>
+ <define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.2"
unit="%/(m/s)"/>
+ <define name="AUTO_THROTTLE_PGAIN" value="-0.023"/> <!-- -0.012 -->
+ <define name="AUTO_THROTTLE_IGAIN" value="0.01"/>
+ <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.05"/>
+
+ <!-- auto pitch inner loop -->
+ <define name="AUTO_PITCH_PGAIN" value="-0.06"/> <!-- -0.03 -->
+ <define name="AUTO_PITCH_IGAIN" value="0.0"/>
+ <define name="AUTO_PITCH_MAX_PITCH" value="0.35"/>
+ <define name="AUTO_PITCH_MIN_PITCH" value="-0.35"/>
+
+ <define name="THROTTLE_SLEW" value="0.1"/>
+
+ </section>
+
+ <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
+ <define name="COURSE_PGAIN" value="-0.9"/>
+ <define name="ROLL_MAX_SETPOINT" value="0.70" unit="radians"/> <!-- 0.5 -->
+ <define name="PITCH_MAX_SETPOINT" value="0.5" unit="radians"/>
+ <define name="PITCH_MIN_SETPOINT" value="-0.5" unit="radians"/>
+
+ <define name="ROLL_PGAIN" value="6600."/>
+ <define name="AILERON_OF_THROTTLE" value="0.0"/>
+ <define name="PITCH_PGAIN" value="-5500."/>
+ <define name="PITCH_DGAIN" value="0.4"/>
+
+ <define name="ELEVATOR_OF_ROLL" value="2400"/>
+
+ <!--define name="ROLL_ATTITUDE_GAIN" value="-7500"/>
+ <define name="ROLL_RATE_GAIN" value="-1500"/-->
+
+ </section>
+
+ <section name="NAV">
+ <define name="NAV_PITCH" value="0."/>
+ <define name="NAV_GLIDE_PITCH_TRIM" value="0"/>
+ </section>
+
+ <section name="AGGRESSIVE" prefix="AGR_">
+ <define name="BLEND_START" value="50"/><!-- Altitude Error to Initiate
Aggressive Climb CANNOT BE ZERO!!-->
+ <define name="BLEND_END" value="15"/><!-- Altitude Error to Blend
Aggressive to Regular Climb Modes CANNOT BE ZERO!!-->
+ <define name="CLIMB_THROTTLE" value="0.9"/><!-- Gaz for Aggressive Climb
-->
+ <define name="CLIMB_PITCH" value="0.35"/><!-- Pitch for Aggressive Climb
-->
+ <define name="DESCENT_THROTTLE" value="0.05"/><!-- Gaz for Aggressive
Decent -->
+ <define name="DESCENT_PITCH" value="-0.35"/><!-- Pitch for Aggressive
Decent -->
+ <define name="CLIMB_NAV_RATIO" value="0.8"/><!-- Percent Navigation for
Altitude Error Equal to Start Altitude -->
+ <define name="DESCENT_NAV_RATIO" value="1.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>
+
+</airframe>
+
Added: paparazzi-software/trunk/conf/airframes/mm/fixed-wing/funjetdcc.xml
===================================================================
--- paparazzi-software/trunk/conf/airframes/mm/fixed-wing/funjetdcc.xml
(rev 0)
+++ paparazzi-software/trunk/conf/airframes/mm/fixed-wing/funjetdcc.xml
2010-11-11 09:56:20 UTC (rev 6390)
@@ -0,0 +1,211 @@
+<!DOCTYPE airframe SYSTEM "../../airframe.dtd">
+
+<!-- Funjet deconflict C
+ Tiny 2.11 board (http://paparazzi.enac.fr/wiki/index.php/Tiny_v2)
+ Tilted infrared sensor
(http://paparazzi.enac.fr/wiki/index.php/Image:Tiny_v2_1_Funjet.jpg)
+ XBee modem
+ robbe 6107 SP, LEA 5H
+-->
+
+<airframe name="Funjet deconflict C">
+
+ <firmware name="fixedwing">
+ <target name="ap" board="tiny_2.11">
+ <define name="AGR_CLIMB"/>
+ <define name="LOITER_TRIM"/>
+ <define name="ALT_KALMAN"/>
+ <define name="WIND_INFO"/>
+ <define name="WIND_INFO_RET"/>
+ </target>
+
+ <target name="sim" board="pc">
+ <define name="AGR_CLIMB"/>
+ <define name="LOITER_TRIM"/>
+ <define name="ALT_KALMAN"/>
+ <define name="WIND_INFO"/>
+ <define name="WIND_INFO_RET"/>
+ </target>
+
+ <!-- RC -->
+ <subsystem name="radio_control" type="ppm"/>
+ <!-- Communication -->
+ <subsystem name="telemetry" type="xbee_api"/>
+ <!-- Actuators are automatically chosen according to board-->
+ <subsystem name="control"/>
+ <!-- Sensors -->
+ <subsystem name="attitude" type="infrared"/>
+ <subsystem name="gps" type="ublox_lea5h"/>
+ <!-- Nav -->
+ <subsystem name="navigation"/>
+ <!-- Interfaces -->
+ <!--subsystem name="i2c"/-->
+ </firmware>
+
+ <firmware name="setup">
+ <target name="tunnel" board="tiny_2.11"/>
+ <target name="usb_tunnel_0" board="tiny_2.11"/>
+ <target name="usb_tunnel_1" board="tiny_2.11"/>
+ <target name="setup_actuators" board="tiny_2.11"/>
+ </firmware>
+
+ <!-- modules -->
+ <modules>
+ </modules>
+
+ <!-- commands section -->
+ <servos>
+ <servo name="MOTOR" no="0" min="1000" neutral="1000" max="2000"/>
+ <servo name="AILEVON_LEFT" no="2" min="1900" neutral="1500" max="1100"/>
+ <servo name="AILEVON_RIGHT" no="6" min="1100" neutral="1500" 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.45"/>
+ <define name="AILEVON_ELEVATOR_RATE" value="0.8"/>
+ </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="adc" prefix="ADC_CHANNEL_">
+ <define name="IR1" value="ADC_1"/>
+ <define name="IR2" value="ADC_2"/>
+ <define name="IR_TOP" value="ADC_0"/>
+ <define name="IR_NB_SAMPLES" value="16"/>
+ </section>
+
+ <section name="INFRARED" prefix="IR_">
+ <define name="ADC_IR1_NEUTRAL" value="512"/>
+ <define name="ADC_IR2_NEUTRAL" value="512"/>
+ <define name="ADC_TOP_NEUTRAL" value="512"/>
+
+ <define name="CORRECTION_UP" value="1."/>
+ <define name="CORRECTION_DOWN" value="1."/>
+ <define name="CORRECTION_LEFT" value="1."/>
+ <define name="CORRECTION_RIGHT" value="1."/>
+
+ <define name="LATERAL_CORRECTION" value="-1"/>
+ <define name="LONGITUDINAL_CORRECTION" value="1"/>
+ <define name="VERTICAL_CORRECTION" value="1.5"/>
+
+ <define name="HORIZ_SENSOR_TILTED" value="1"/>
+ <define name="IR1_SIGN" value="1"/>
+ <define name="IR2_SIGN" value="1"/>
+ <define name="TOP_SIGN" value="1"/>
+
+ <define name="ROLL_NEUTRAL_DEFAULT" value="0" unit="deg"/>
+ <define name="PITCH_NEUTRAL_DEFAULT" value="0" unit="deg"/>
+ </section>
+
+ <section name="BAT">
+ <define name="MILLIAMP_AT_FULL_THROTTLE" value="10000."/>
+ <define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
+ <define name="VoltageOfAdc(adc)" value="(0.02454*adc)"/>
+ </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="CONTROL_RATE" value="60" unit="Hz"/>
+ <define name="ALT_KALMAN_ENABLED" value="FALSE"/>
+
+ <define name="TRIGGER_DELAY" value="1."/>
+ <define name="DEFAULT_CIRCLE_RADIUS" value="120."/>
+ </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.06"/> <!-- -0.024 -->
+ <!-- outer loop saturation -->
+ <define name="ALTITUDE_MAX_CLIMB" value="2."/>
+
+ <!-- auto throttle inner loop -->
+ <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_THROTTLE_LOITER_TRIM" value="1000"/>
+ <define name="AUTO_THROTTLE_DASH_TRIM" value="-1200"/>
+ <define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.2"
unit="%/(m/s)"/>
+ <define name="AUTO_THROTTLE_PGAIN" value="-0.023"/> <!-- -0.012 -->
+ <define name="AUTO_THROTTLE_IGAIN" value="0.01"/>
+ <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.05"/>
+
+ <!-- auto pitch inner loop -->
+ <define name="AUTO_PITCH_PGAIN" value="-0.06"/> <!-- -0.03 -->
+ <define name="AUTO_PITCH_IGAIN" value="0.0"/>
+ <define name="AUTO_PITCH_MAX_PITCH" value="0.35"/>
+ <define name="AUTO_PITCH_MIN_PITCH" value="-0.35"/>
+
+ <define name="THROTTLE_SLEW" value="0.1"/>
+
+ </section>
+
+ <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
+ <define name="COURSE_PGAIN" value="-0.9"/>
+ <define name="ROLL_MAX_SETPOINT" value="0.70" unit="radians"/> <!-- 0.5 -->
+ <define name="PITCH_MAX_SETPOINT" value="0.5" unit="radians"/>
+ <define name="PITCH_MIN_SETPOINT" value="-0.5" unit="radians"/>
+
+ <define name="ROLL_PGAIN" value="6600."/>
+ <define name="AILERON_OF_THROTTLE" value="0.0"/>
+ <define name="PITCH_PGAIN" value="-5500."/>
+ <define name="PITCH_DGAIN" value="0.4"/>
+
+ <define name="ELEVATOR_OF_ROLL" value="2400"/>
+
+ <!--define name="ROLL_ATTITUDE_GAIN" value="-7500"/>
+ <define name="ROLL_RATE_GAIN" value="-1500"/-->
+
+ </section>
+
+ <section name="NAV">
+ <define name="NAV_PITCH" value="0."/>
+ <define name="NAV_GLIDE_PITCH_TRIM" value="0"/>
+ </section>
+
+ <section name="AGGRESSIVE" prefix="AGR_">
+ <define name="BLEND_START" value="50"/><!-- Altitude Error to Initiate
Aggressive Climb CANNOT BE ZERO!!-->
+ <define name="BLEND_END" value="15"/><!-- Altitude Error to Blend
Aggressive to Regular Climb Modes CANNOT BE ZERO!!-->
+ <define name="CLIMB_THROTTLE" value="0.9"/><!-- Gaz for Aggressive Climb
-->
+ <define name="CLIMB_PITCH" value="0.35"/><!-- Pitch for Aggressive Climb
-->
+ <define name="DESCENT_THROTTLE" value="0.05"/><!-- Gaz for Aggressive
Decent -->
+ <define name="DESCENT_PITCH" value="-0.35"/><!-- Pitch for Aggressive
Decent -->
+ <define name="CLIMB_NAV_RATIO" value="0.8"/><!-- Percent Navigation for
Altitude Error Equal to Start Altitude -->
+ <define name="DESCENT_NAV_RATIO" value="1.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>
+
+</airframe>
+
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [paparazzi-commits] [6390] add deconfliction Funjets,
Martin Mueller <=