123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299 |
- <?xml version="1.0"?>
-
- <!-- Tornado Autopilot -->
- <PropertyList>
- <predict-simple>
- <name>predicted altitude 5 seconds ahead</name>
- <debug>false</debug>
- <input>/position/altitude-ft</input>
- <output>/autopilot/internal/altitude-5-sec-ahead</output>
- <seconds>2.0</seconds>
- <filter-gain>0.1</filter-gain>
- </predict-simple>
-
- <filter>
- <name>Bank Angle Limiter</name>
- <type>gain</type>
- <debug>false</debug>
- <input>
- <property>/velocities/airspeed-kt</property>
- </input>
- <output>
- <property>/autopilot/internal/bank-angle-limit-deg</property>
- </output>
- <gain>0.15</gain>
- <u_min>20.0</u_min>
- <u_max>45.0</u_max>
- </filter>
-
- <filter>
- <name>Aileron Command Limiter</name>
- <type>gain</type>
- <debug>false</debug>
- <input>
- <property>/controls/flight/wing-sweep</property>
- </input>
- <output>
- <property>/autopilot/internal/aileron-limit-norm</property>
- </output>
- <gain>0.15</gain>
- <u_min>20.0</u_min>
- <u_max>45.0</u_max>
- </filter>
- <filter>
- <name>Pitch Hold</name>
- <type>gain</type>
- <debug>false</debug>
- <enable>
- <condition>
- <equals>
- <property>/autopilot/locks/altitude</property>
- <value>pitch-hold</value>
- </equals>
- </condition>
- </enable>
- <input>
- <property>/autopilot/settings/target-pitch-deg</property>
- <value>0</value>
- </input>
- <output>
- <property>/autopilot/internal/target-pitch-deg</property>
- </output>
- <gain>1.0</gain>
- <u_min>-70.0</u_min>
- <u_max>70.0</u_max>
- </filter>
-
- <pid-controller>
- <name>Altitude Hold Computer</name>
- <debug>false</debug>
- <enable>
- <condition>
- <equals>
- <property>/autopilot/locks/altitude</property>
- <value>altitude-hold</value>
- </equals>
- </condition>
- </enable>
- <input>
- <property>/position/altitude-ft</property>
- </input>
- <reference>
- <property>/autopilot/settings/target-altitude-ft</property>
- </reference>
- <output>
- <property>/autopilot/internal/target-pitch-deg</property>
- </output>
- <config>
- <Kp>0.075</Kp> <!-- proportional gain -0.01 -->
- <beta>1.0</beta> <!-- input value weighing factor -->
- <alpha>0.5</alpha> <!-- low pass filter weighing factor -->
- <gamma>0.0</gamma> <!-- input value weighing factor for -->
- <!-- unfiltered derivative error -->
- <Ti>7.5</Ti> <!-- integrator time 10.0 -->
- <Td>0.0001</Td> <!-- derivator time -->
- <u_min>-6.0</u_min> <!-- minimum output clamp -->
- <u_max>6.0</u_max> <!-- maximum output clamp -->
- </config>
- </pid-controller>
-
- <pid-controller>
- <name>Altitude TFR Computer</name>
- <debug>false</debug>
- <enable>
- <condition>
- <equals>
- <property>/autopilot/locks/altitude</property>
- <value>agl-hold</value>
- </equals>
- </condition>
- </enable>
- <input>
- <property>/position/altitude-agl-ft</property>
- </input>
- <reference>
- <property>/autopilot/settings/target-agl-ft</property>
- </reference>
- <output>
- <property>/autopilot/internal/target-pitch-deg</property>
- </output>
- <config>
- <Kp>0.075</Kp> <!-- proportional gain -0.01 -->
- <beta>1.0</beta> <!-- input value weighing factor -->
- <alpha>0.5</alpha> <!-- low pass filter weighing factor -->
- <gamma>0.0</gamma> <!-- input value weighing factor for -->
- <!-- unfiltered derivative error -->
- <Ti>7.5</Ti> <!-- integrator time 10.0 -->
- <Td>0.0001</Td> <!-- derivator time -->
- <u_min>-10.0</u_min> <!-- minimum output clamp -->
- <u_max>15.0</u_max> <!-- maximum output clamp -->
- </config>
- </pid-controller>
-
- <filter>
- <name>Target Roll Computer</name>
- <debug>false</debug>
- <type>gain</type>
- <enable>
- <condition>
- <or>
- <equals>
- <property>/autopilot/locks/heading</property>
- <value>dg-heading-hold</value>
- </equals>
- <equals>
- <property>/autopilot/locks/heading</property>
- <value>true-heading-hold</value>
- </equals>
- </or>
- </condition>
- </enable>
- <input>
- <condition>
- <equals>
- <property>/autopilot/locks/heading</property>
- <value>dg-heading-hold</value>
- </equals>
- </condition>
- <property>/autopilot/internal/heading-bug-error-deg</property>
- </input>
- <input>
- <condition>
- <equals>
- <property>/autopilot/locks/heading</property>
- <value>true-heading-hold</value>
- </equals>
- </condition>
- <property>/autopilot/internal/true-heading-error-deg</property>
- </input>
- <output>
- <property>/autopilot/internal/target-roll-deg</property>
- </output>
- <gain>5</gain>
- <u_min>
- <property>/autopilot/internal/bank-angle-limit-deg</property>
- <scale>-1.0</scale>
- </u_min>
- <u_max>
- <property>/autopilot/internal/bank-angle-limit-deg</property>
- </u_max>
- </filter>
-
- <pid-controller>
- <name>System Command: Roll</name>
- <debug>false</debug>
- <enable>
- <condition>
- <not-equals>
- <property>/autopilot/locks/heading</property>
- <value />
- </not-equals>
- </condition>
- </enable>
- <input>
- <property>/orientation/roll-deg</property>
- </input>
- <reference>
- <condition>
- <not-equals>
- <property>/autopilot/locks/heading</property>
- <value>wing-leveler</value>
- </not-equals>
- </condition>
- <property>/autopilot/internal/target-roll-deg</property>
- </reference>
- <reference>
- <condition>
- <equals>
- <property>/autopilot/locks/heading</property>
- <value>wing-leveler</value>
- </equals>
- </condition>
- <value>0</value>
- </reference>
- <output>
- <property>/controls/flight/aileron-trim</property>
- </output>
- <config>
- <Kp>0.0025</Kp> <!-- proportional gain -->
- <beta>1.0</beta> <!-- input value weighing factor -->
- <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
- <gamma>0.0</gamma> <!-- input value weighing factor for -->
- <!-- unfiltered derivative error -->
- <Ti>5.0</Ti> <!-- integrator time -->
- <Td>0.00001</Td> <!-- derivator time -->
- <u_min>-0.35</u_min> <!-- minimum output clamp -->
- <u_max>0.35</u_max> <!-- maximum output clamp -->
- </config>
- </pid-controller>
-
- <pid-controller>
- <name>System Command: Pitch</name>
- <debug>false</debug>
- <enable>
- <condition>
- <not-equals>
- <property>/autopilot/locks/altitude</property>
- <value />
- </not-equals>
- </condition>
- </enable>
- <input>
- <property>/orientation/pitch-deg</property>
- </input>
- <reference>
- <property>/autopilot/internal/target-pitch-deg</property>
- </reference>
- <output>
- <property>/controls/flight/elevator</property>
- </output>
- <config>
- <Kp>-0.05</Kp>
- <beta>1.0</beta> <!-- input value weighing factor -->
- <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
- <gamma>0.0</gamma> <!-- input value weighing factor for -->
- <Ti>20.0</Ti> <!-- integrator time 10.0 -->
- <Td>0.00001</Td> <!-- derivator time -->
- <u_min>-0.35</u_min> <!-- minimum output clamp -->
- <u_max>0.35</u_max>
- </config>
- </pid-controller>
-
- <pid-controller>
- <name>Auto Throttle</name>
- <debug>false</debug>
- <enable>
- <condition>
- <equals>
- <property>/autopilot/locks/speed</property>
- <value>speed-with-throttle</value>
- </equals>
- </condition>
- </enable>
- <input>
- <prop>/velocities/airspeed-kt</prop>
- </input>
- <reference>
- <prop>/autopilot/settings/target-speed-kt</prop>
- </reference>
- <output>
- <prop>/controls/engines/engine[0]/throttle</prop>
- </output>
- <config>
- <Kp>0.01</Kp> <!-- proportional gain -->
- <beta>1.0</beta> <!-- input value weighing factor -->
- <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
- <gamma>0.0</gamma> <!-- input value weighing factor for -->
- <!-- unfiltered derivative error -->
- <Ti>10.0</Ti> <!-- integrator time -->
- <Td>0.00001</Td> <!-- derivator time -->
- <u_min>0.0</u_min> <!-- minimum output clamp -->
- <u_max>0.84</u_max> <!-- maximum output clamp -->
- </config>
- </pid-controller>
- </PropertyList>
|