Advertisement
Guest User

Paparazzi Airframe

a guest
Jul 10th, 2015
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 7.70 KB | None | 0 0
  1. <!DOCTYPE airframe SYSTEM "../airframe.dtd">
  2.  
  3. <!-- Funjet Multiplex (http://www.multiplex-rc.de/), Jeti ECO 25
  4.     Tiny 2.11 board (http://wiki.paparazziuav.org/wiki/Tiny_v2)
  5.     PerkinElmer TPS334 IR Sensors
  6.     Tilted infrared sensor (http://wiki.paparazziuav.org/wiki/Image:Tiny_v2_1_Funjet.jpg)
  7.     XBee modem with AT firmware
  8.     LEA 5H GPS
  9. -->
  10.  
  11.  
  12. <airframe name="Funjet Tiny 2.11">
  13.  
  14.   <firmware name="fixedwing">
  15.     <target name="sim"          board="pc"/>
  16.     <target name="ap"           board="tiny_2.11"/>
  17.  
  18.     <define name="AGR_CLIMB"/>
  19.     <define name="LOITER_TRIM"/>
  20.  
  21.     <subsystem name="radio_control" type="ppm"/>
  22.  
  23.     <!-- Communication -->
  24.     <subsystem name="telemetry"     type="transparent"/>
  25.  
  26.  
  27.     <!-- Actuators are automatically chosen according to board-->
  28.     <subsystem name="control"/>
  29.     <!-- Sensors -->
  30.     <subsystem name="gps"           type="ublox"/>
  31. <!--Possibly change gps passthrough-->
  32.     <subsystem name="navigation"/>
  33.     <subsystem name="ins" type="alt_float"/>
  34.   </firmware>
  35.  
  36.   <modules>
  37.     <load name="infrared_adc.xml"/>
  38.     <load name="ahrs_infrared.xml"/> <!--possibly take out ahrs-->
  39.     <load name="gps_ubx_ucenter.xml"/>
  40.   </modules>
  41.  
  42. <!--tunnel only for testing/config-->
  43.   <firmware name="setup">
  44.     <target name="tunnel"           board="tiny_2.11"/>
  45. <target name="usb_tunnel_0" board="tiny_2.11" />
  46.   </firmware>
  47.  
  48. <!-- commands section -->
  49.   <servos>
  50.     <servo name="MOTOR"                 no="0" min="1000" neutral="1000" max="2000"/>
  51.     <servo name="AILERON"           no="6" min="1000" neutral="1500" max="2000"/>
  52.     <servo name="ELEVATOR"      no="2" min="1000" neutral="1500" max="2000"/>
  53.     <servo name="RUDDER"            no="7" min="2000" neutral="1500" max="1000"/>
  54.     <servo name="GYRO_GAIN"     no="3" min="1000" neutral="1500" max="2000"/>
  55.   </servos>
  56.  
  57.   <commands>
  58.     <axis name="THROTTLE" failsafe_value="0"/>
  59.     <axis name="ROLL"     failsafe_value="0"/>
  60.     <axis name="PITCH"    failsafe_value="0"/>
  61.     <axis name="YAW"        failsafe_value="0"/>    
  62.     <axis name="GAIN"     failsafe_value="0"/>
  63.   </commands>
  64.  
  65.   <rc_commands>
  66.     <set command="THROTTLE" value="@THROTTLE"/>
  67.     <set command="ROLL"     value="@ROLL"/>
  68.     <set command="PITCH"    value="@PITCH"/>
  69.     <set command="YAW"       value="@YAW"/>
  70.     <!--<set command="GAIN"       value="@GAIN"/> do we need this???-->
  71.   </rc_commands>
  72.  
  73.  
  74.  
  75.  
  76.   <command_laws> <!--AILERON AND ELEVATOR TAG WAS CHANGED FROM LET TO SET-->
  77.     <set servo="AILERON"  value="@ROLL"/>
  78.     <set servo="ELEVATOR" value="@PITCH"/>
  79.     <set servo="MOTOR"  value="@THROTTLE"/>
  80.     <set servo="RUDDER" value="@YAW"/>
  81.     <set servo="GYRO_GAIN" value="@GAIN"/>         
  82.   </command_laws>
  83.  
  84.   <section name="AUTO1" prefix="AUTO1_">
  85.     <define name="MAX_ROLL" value="0.87"/>
  86.     <define name="MAX_PITCH" value="0.7"/>
  87.   </section>
  88.  
  89. <!--calibrated-->
  90.   <section name="INFRARED" prefix="IR_">
  91.     <define name="ADC_IR1_NEUTRAL" value="514"/>
  92.     <define name="ADC_IR2_NEUTRAL" value="515"/>
  93.     <define name="ADC_TOP_NEUTRAL" value="509"/>
  94.  
  95.     <define name="CORRECTION_UP" value="1."/>
  96.     <define name="CORRECTION_DOWN" value="1."/>
  97.     <define name="CORRECTION_LEFT" value="1."/>
  98.     <define name="CORRECTION_RIGHT" value="1."/>
  99.  
  100.     <define name="LATERAL_CORRECTION" value="1"/>
  101.     <define name="LONGITUDINAL_CORRECTION" value="1"/>
  102.     <define name="VERTICAL_CORRECTION" value="1"/>
  103.  
  104.     <define name="HORIZ_SENSOR_ALIGNED" value="1"/>
  105.     <define name="IR1_SIGN" value="1"/>
  106.     <define name="IR2_SIGN" value="-1"/>
  107.     <define name="TOP_SIGN" value="1"/>
  108.  
  109.     <define name="ROLL_NEUTRAL_DEFAULT" value="0" unit="deg"/>
  110.     <define name="PITCH_NEUTRAL_DEFAULT" value="0" unit="deg"/>
  111.   </section>
  112.  
  113.   <section name="BAT">
  114.     <define name="MILLIAMP_AT_FULL_THROTTLE" value="50000."/> <!--test motor at full throttle and update value-->
  115.     <define name="CATASTROPHIC_BAT_LEVEL" value="4" unit="V"/>
  116.   </section>
  117.  
  118.   <section name="MISC">
  119.     <define name="NOMINAL_AIRSPEED" value="15." unit="m/s"/>
  120.     <define name="CARROT" value="4" unit="s"/>
  121.     <define name="KILL_MODE_DISTANCE" value="(2.0*MAX_DIST_FROM_HOME)"/>
  122.     <define name="CONTROL_FREQUENCY" value="60" unit="Hz"/>
  123. <!--possibly add Kalman filter if GPS cannot give accurate climb values:    <define name="ALT_KALMAN_ENABLED" value="TRUE"/>-->
  124.     <define name="TRIGGER_DELAY" value="1."/>
  125.     <define name="DEFAULT_CIRCLE_RADIUS" value="100."/>
  126.     <define name="MIN_CIRCLE_RADIUS" value="60."/>
  127.   </section>
  128.  
  129.   <section name="VERTICAL CONTROL" prefix="V_CTL_">
  130.     <define name="POWER_CTL_BAT_NOMINAL" value="0" unit="volt"/>
  131.     <!-- outer loop proportional gain -->
  132.     <define name="ALTITUDE_PGAIN" value="0.075"/> <!-- -0.024 -->
  133.     <!-- outer loop saturation -->
  134.     <define name="ALTITUDE_MAX_CLIMB" value="4."/>
  135.  
  136.     <!-- auto throttle inner loop -->
  137.     <define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.5"/> <!--telemaster is 0,75, doesnt need that much throttle-->
  138.     <define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.2"/> <!--0.4 tele-->
  139.     <define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="1.0"/>
  140.     <define name="AUTO_THROTTLE_LOITER_TRIM" value="1500"/>
  141.     <define name="AUTO_THROTTLE_DASH_TRIM" value="-1000"/>
  142.     <define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.1" unit="%/(m/s)"/>
  143.     <define name="AUTO_THROTTLE_PGAIN" value="0.02"/> <!-- -0.012 -->
  144.     <define name="AUTO_THROTTLE_IGAIN" value="0.03"/>
  145.     <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.05"/>
  146.  
  147.     <!-- auto pitch inner loop -->
  148.     <define name="AUTO_PITCH_PGAIN" value="0.125"/> <!-- -0.03 -->
  149.     <define name="AUTO_PITCH_IGAIN" value="0.025"/>
  150.     <define name="AUTO_PITCH_MAX_PITCH" value="25" unit="deg"/>
  151.     <define name="AUTO_PITCH_MIN_PITCH" value="-25" unit="deg"/>
  152.     <define name="THROTTLE_SLEW" value="1.0"/>
  153.   </section>
  154.  
  155.  
  156.    <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
  157.     <define name="COURSE_PGAIN" value="1.0"/>
  158.     <define name="COURSE_DGAIN" value="0.4"/>
  159.     <define name="ROLL_MAX_SETPOINT" value="35" unit="deg"/>
  160.     <define name="PITCH_MAX_SETPOINT" value="25" unit="deg"/>
  161.     <define name="PITCH_MIN_SETPOINT" value="-25" unit="deg"/>
  162.     <define name="PITCH_PGAIN" value="20000."/>
  163.     <define name="PITCH_DGAIN" value="1.5"/>
  164.     <define name="ELEVATOR_OF_ROLL" value="2500"/>
  165.     <define name="ROLL_ATTITUDE_GAIN" value="7400"/>
  166.     <define name="ROLL_RATE_GAIN" value="200"/>
  167.   </section>
  168.  
  169.   <section name="NAV">
  170.   <define name="NAV_PITCH" value="0."/>
  171.     <define name="NAV_GLIDE_PITCH_TRIM" value="0"/>
  172.   </section>
  173.  
  174. <!--in Tele, not in bixler-->
  175.  <section name="AGGRESSIVE" prefix="AGR_">
  176.    <define name="BLEND_START" value="20"/>
  177.    <define name="BLEND_END" value="10"/>
  178.    <define name="CLIMB_THROTTLE" value="0.9"/>
  179.    <define name="CLIMB_PITCH" value="RadOfDeg(18)"/>
  180.    <define name="DESCENT_THROTTLE" value="0.1"/>
  181.    <define name="DESCENT_PITCH" value="RadOfDeg(-20)"/>
  182.    <define name="CLIMB_NAV_RATIO" value="0.8"/>
  183.    <define name="DESCENT_NAV_RATIO" value="1.0"/>
  184.  </section>
  185.  
  186.   <section name="FAILSAFE" prefix="FAILSAFE_">
  187.     <define name="DELAY_WITHOUT_GPS" value="3" unit="s"/>
  188.     <define name="DEFAULT_THROTTLE" value="0.4" unit="%"/>
  189.     <define name="DEFAULT_ROLL" value="15" unit="deg"/>
  190.     <define name="DEFAULT_PITCH" value="0" unit="deg"/>
  191.     <define name="HOME_RADIUS" value="90" unit="m"/>
  192.   </section>
  193.  
  194.   <section name="SIMU">
  195.     <define name="YAW_RESPONSE_FACTOR" value="0.5"/>
  196.   </section>
  197.  
  198. <!--This datalink was added (not part of original funjet)-->
  199. <section name="DATALINK" prefix="DATALINK_">
  200.    <define name="DEVICE_TYPE" value="PPRZ"/>
  201.    <define name="DEVICE_ADDRESS" value="...."/>
  202.  </section>
  203.  
  204.  
  205. </airframe>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement