1
0
Fork 0
fgdata/Aircraft/c172p/Systems/KAP140.xml
ehofman 8ee606eea8 Roy Vegard Ovesen:
Here are some updates to the KAP140 autopilot in the default c172. It now uses
ailerons and elevator instead of aileron-trim and elevator-trim. I've started
to "upgrade" it to the "two axis altitude preselect" version. Vertical speed
select rounds to nearest 100 fpm.

I've also modified the c172 electrical configuration to turn on the gps
instrument.

Perhaps the most important change is that the nasal script for the KAP140 has
moved from data/Nasal to the c172p aircraft subdir. So it is important that
you delete data/Nasal/kap140.nas. Having the kap140.nas script as a global
script was not a good solution. Now it is aircraft specific, and thus
included in the c172p-set.xml file. Ideally I would like it to be instrument
specific, so that it would be included whenever the KAP140*.xml instruments
where included on the panel.
2004-10-17 17:41:05 +00:00

274 lines
No EOL
9.3 KiB
XML

<?xml version="1.0"?>
<!-- KAP 140 Autopilot Configuration -->
<!-- Each component is evaluated in the order specified. You can make up -->
<!-- property names to pass the result of one component on to a subsequent -->
<!-- component. -->
<PropertyList>
<!-- =============================================================== -->
<!-- Roll Axis Modes -->
<!-- =============================================================== -->
<!-- Nav hold (NAV) Mode-->
<pid-controller>
<name>Nav hold (NAV) Mode</name>
<debug>false</debug>
<enable>
<prop>/autopilot/KAP140/locks/nav-hold</prop>
<value>nav</value>
</enable>
<input>
<prop>/radios/nav/heading-needle-deflection</prop>
</input>
<reference>
<value>0.0</value>
</reference>
<output>
<prop>/autopilot/KAP140/settings/target-intercept-angle</prop>
</output>
<config>
<Kp>2.0</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>15.0</Ti> <!-- integrator time -->
<Td>0.0</Td> <!-- derivator time -->
<u_min>-45.0</u_min> <!-- minimum output clamp -->
<u_max>45.0</u_max> <!-- maximum output clamp -->
</config>
</pid-controller>
<!-- Approach hold (APR) Mode-->
<pid-controller>
<name>Approach hold (APR) Mode</name>
<debug>false</debug>
<enable>
<prop>/autopilot/KAP140/locks/apr-hold</prop>
<value>apr</value>
</enable>
<input>
<prop>/radios/nav/heading-needle-deflection</prop>
</input>
<reference>
<value>0.0</value>
</reference>
<output>
<prop>/autopilot/KAP140/settings/target-intercept-angle</prop>
</output>
<config>
<Kp>2.0</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>15.0</Ti> <!-- integrator time -->
<Td>0.001</Td> <!-- derivator time -->
<u_min>-45.0</u_min> <!-- minimum output clamp -->
<u_max>45.0</u_max> <!-- maximum output clamp -->
</config>
</pid-controller>
<!-- Backcourse hold (REV) Mode-->
<pid-controller>
<name>Backcourse hold (REV) Mode</name>
<debug>false</debug>
<enable>
<prop>/autopilot/KAP140/locks/rev-hold</prop>
<value>rev</value>
</enable>
<input>
<prop>/radios/nav/heading-needle-deflection</prop>
<scale>-1.0</scale>
</input>
<reference>
<value>0.0</value>
</reference>
<output>
<prop>/autopilot/KAP140/settings/target-intercept-angle</prop>
</output>
<config>
<Kp>2.0</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>15.0</Ti> <!-- integrator time -->
<Td>0.0</Td> <!-- derivator time -->
<u_min>-45.0</u_min> <!-- minimum output clamp -->
<u_max>45.0</u_max> <!-- maximum output clamp -->
</config>
</pid-controller>
<!-- Heading Select (HDG) Mode -->
<pid-controller>
<name>Heading Select (HDG) Mode</name>
<debug>false</debug>
<enable>
<prop>/autopilot/KAP140/locks/hdg-hold</prop>
<value>hdg</value>
</enable>
<input>
<prop>/autopilot/internal/heading-bug-error-deg</prop> -->
<!-- <prop>/instrumentation/gps/true-bug-error-deg</prop> -->
</input>
<reference>
<prop>/autopilot/KAP140/settings/target-intercept-angle</prop>
</reference>
<output>
<prop>/autopilot/KAP140/settings/target-turn-rate</prop>
</output>
<config>
<Kp>-0.05</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>15.0</Ti> <!-- integrator time -->
<Td>0.0</Td> <!-- derivator time -->
<u_min>-1.0</u_min> <!-- minimum output clamp -->
<u_max>1.0</u_max> <!-- maximum output clamp -->
</config>
</pid-controller>
<!-- Wing leveler (ROL) Mode -->
<pid-controller>
<name>Wing Leveler (ROL) Mode</name>
<debug>false</debug>
<enable>
<prop>/autopilot/KAP140/locks/roll-axis</prop>
<value>trn</value>
</enable>
<input>
<prop>/instrumentation/turn-indicator/indicated-turn-rate</prop>
</input>
<reference>
<prop>/autopilot/KAP140/settings/target-turn-rate</prop>
</reference>
<output>
<prop>/controls/flight/aileron</prop>
</output>
<config>
<Kp>0.15</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>15.0</Ti> <!-- integrator time -->
<Td>0.0</Td> <!-- derivator time -->
<u_min>-0.25</u_min> <!-- minimum output clamp -->
<u_max>0.25</u_max> <!-- maximum output clamp -->
</config>
</pid-controller>
<!-- =============================================================== -->
<!-- Pitch Axis Modes -->
<!-- =============================================================== -->
<!-- Altitude Hold (ALT) Mode -->
<pid-controller>
<name>Altitude Hold (ALT) Mode</name>
<debug>false</debug>
<enable>
<prop>/autopilot/KAP140/locks/alt-hold</prop>
<value>alt</value>
</enable>
<input>
<prop>/systems/static[0]/pressure-inhg[0]</prop>
</input>
<reference>
<prop>/autopilot/KAP140/settings/target-alt-pressure</prop>
</reference>
<output>
<prop>/autopilot/KAP140/settings/target-pressure-rate</prop>
</output>
<config>
<Kp>0.125</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>12.0</Ti> <!-- integrator time -->
<Td>0.0</Td> <!-- derivator time -->
<u_min>-0.007</u_min> <!-- minimum output clamp -->
<u_max>0.007</u_max> <!-- maximum output clamp -->
</config>
</pid-controller>
<!-- Glideslope Hold (GS) Mode -->
<pid-controller>
<name>Glideslope Hold (GS) Mode</name>
<debug>false</debug>
<enable>
<prop>/autopilot/KAP140/locks/gs-hold</prop>
<value>gs</value>
</enable>
<input>
<prop>/radios/nav/gs-needle-deflection</prop>
</input>
<reference>
<value>0.0</value>
</reference>
<output>
<prop>/autopilot/KAP140/settings/target-pressure-rate</prop>
</output>
<config>
<Kp>0.025</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>15.0</Ti> <!-- integrator time -->
<Td>0.0</Td> <!-- derivator time -->
<u_min>-0.001</u_min> <!-- minimum output clamp -->
<u_max>0.017</u_max> <!-- maximum output clamp -->
</config>
</pid-controller>
<filter>
<name>pressure-rate-filter</name>
<debug>false</debug>
<type>double-exponential</type>
<input>/autopilot/internal/pressure-rate</input>
<output>/autopilot/internal/filtered-pressure-rate</output>
<filter-time>0.1</filter-time>
</filter>
<!-- Vertical Speed (VS) Mode -->
<pid-controller>
<name>Vertical Speed (VS) Mode</name>
<debug>false</debug>
<enable>
<prop>/autopilot/KAP140/locks/pitch-axis</prop>
<value>vs</value>
</enable>
<input>
<prop>/autopilot/internal/filtered-pressure-rate</prop>
</input>
<reference>
<prop>/autopilot/KAP140/settings/target-pressure-rate</prop>
</reference>
<output>
<prop>/controls/flight/elevator</prop>
</output>
<config>
<Kp>5.0</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>4.0</Ti> <!-- integrator time -->
<Td>0.0</Td> <!-- derivator time -->
<u_min>-0.5</u_min> <!-- minimum output clamp -->
<u_max>0.5</u_max> <!-- maximum output clamp -->
</config>
</pid-controller>
</PropertyList>