Advertisement
Guest User

Telemaster Airframe

a guest
Jul 28th, 2015
314
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 8.57 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><!--Trim can be added by changing neutral values andabsolute servo travel limits can be increased or reduced with the min/max values-->
  50.     <servo name="MOTOR"                 no="0" min="1286" neutral="1286" max="1815"/>
  51.     <servo name="AILERON"               no="6" min="1202" neutral="1506" max="1818"/>
  52.     <servo name="ELEVATOR"              no="2" min="1219" neutral="1581" max="1834"/>
  53.     <servo name="RUDDER"                no="7" min="2023" neutral="1447" max="918"/>
  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.   <command_laws> <!--AILERON AND ELEVATOR TAG WAS CHANGED FROM LET TO SET-->
  74.     <set servo="AILERON"  value="@ROLL"/>
  75.     <set servo="ELEVATOR" value="@PITCH"/>
  76.     <set servo="MOTOR"  value="@THROTTLE"/>
  77.     <set servo="RUDDER" value="@YAW"/>
  78.     <!--<set servo="GYRO_GAIN" value="@GAIN"/>-->                    
  79.   </command_laws>
  80.  
  81.   <section name="AUTO1" prefix="AUTO1_">
  82.     <define name="MAX_ROLL" value="0.87"/>
  83.     <define name="MAX_PITCH" value="0.7"/>
  84.   </section>
  85.  
  86. <!--calibrated-->
  87.   <section name="INFRARED" prefix="IR_">
  88.     <define name="ADC_IR1_NEUTRAL" value="514"/>
  89.     <define name="ADC_IR2_NEUTRAL" value="515"/>
  90.     <define name="ADC_TOP_NEUTRAL" value="509"/>
  91.  
  92.     <define name="CORRECTION_UP" value="1."/>
  93.     <define name="CORRECTION_DOWN" value="1."/>
  94.     <define name="CORRECTION_LEFT" value="1."/>
  95.     <define name="CORRECTION_RIGHT" value="1."/>
  96.  
  97.     <define name="LATERAL_CORRECTION" value="1"/>
  98.     <define name="LONGITUDINAL_CORRECTION" value="1"/>
  99.     <define name="VERTICAL_CORRECTION" value="1"/>
  100.  
  101.     <define name="HORIZ_SENSOR_ALIGNED" value="1"/>
  102.     <define name="IR1_SIGN" value="-1"/>
  103.     <define name="IR2_SIGN" value="-1"/>
  104.     <define name="TOP_SIGN" value="1"/>
  105.  
  106.     <define name="ROLL_NEUTRAL_DEFAULT" value="0" unit="deg"/>
  107.     <define name="PITCH_NEUTRAL_DEFAULT" value="0" unit="deg"/>
  108.   </section>
  109.  
  110.   <section name="BAT">
  111.     <define name="MILLIAMP_AT_FULL_THROTTLE" value="50000."/> <!--test motor at full throttle and update value-->
  112.    <define name="CATASTROPHIC_BAT_LEVEL" value="1" unit="V"/>
  113.   <define name="CRITIC_BAT_LEVEL" value="0.2" unit="V"/>
  114.   <define name="LOW_BAT_LEVEL" value="1" unit="V"/>
  115.   <define name="MAX_BAT_LEVEL" value="2" 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"/>
  133.     <define name="ALTITUDE_MAX_CLIMB" value="4."/>
  134.  
  135.     <!-- auto throttle inner loop -->
  136.     <define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.2"/>
  137.     <define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.1"/>
  138.     <define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value=".8"/>
  139.     <define name="AUTO_THROTTLE_LOITER_TRIM" value="2000"/><!--LOITER changes nominal to MIN cruis throttle. The value increases the elevator trim when LIOTER button is pressed. 9600 is full deflection?-->
  140.     <define name="AUTO_THROTTLE_DASH_TRIM" value="-1000"/> <!--DASH changes nominal to MAX cruis throttle. The value decreases the elevator trim when LIOTER button is pressed-->
  141.     <define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.1" unit="%/(m/s)"/>
  142.     <define name="AUTO_THROTTLE_PGAIN" value="0.02"/>
  143.     <define name="AUTO_THROTTLE_IGAIN" value="0.1"/>
  144.     <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.05"/>
  145.  
  146.     <!-- auto pitch inner loop -->
  147.     <define name="AUTO_PITCH_PGAIN" value="0.2"/>
  148.     <define name="AUTO_PITCH_IGAIN" value="0.025"/>
  149.     <define name="AUTO_PITCH_MAX_PITCH" value="40" unit="deg"/>
  150.     <define name="AUTO_PITCH_MIN_PITCH" value="-40" unit="deg"/>
  151.     <define name="THROTTLE_SLEW" value="1.0"/>
  152.   </section>
  153.  
  154.  
  155.    <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
  156.     <define name="COURSE_PGAIN" value="1.0"/> <!--" 0.75 Is a good starting point. To get close course control be prepared to increase this value while tuning. Maybe to 1.2
  157. or even 1.8-->
  158.     <define name="COURSE_DGAIN" value="0.4"/> <!--To get close course control while avoiding oscillations I always use some dgain. A value between 0.2 and 1.0 might work well. This was NOT defined in CSUTele-->
  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="6000."/>
  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.2" 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="XBEE"/> Use PPRZ or XBEE?
  201.   <define name="DEVICE_ADDRESS" value="...."/>
  202. </section>-->
  203.  
  204.  
  205.  
  206.     </airframe>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement