1
0
Fork 0
fgdata/Aircraft/c172p/Systems/KAP140.xml
curt 8ab947db84 Roy Vegard Ovesen:
Here is the KAP140 Two Axis Autopilot update.

I think it's fairly complete now, all the modes are working. I tested the
localizer and glideslope hold and it was pretty stable all the way down to
the middle marker.

In the pilot guide for backcourse hold (REV) mode it says to reset the heading
bug to the _front course_. I haven't figured out how to implement this so for
the time beeing one should reset the heading bug to the _backcourse_. Apart
from this the panel should operate identical to the way the pilot guide
describes.
2004-04-16 22:14:00 +00:00

265 lines
No EOL
9 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>-0.9</u_min> <!-- minimum output clamp -->
<u_max>0.9</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-trim</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>
<!-- 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/pressure-rate</prop>
</input>
<reference>
<prop>/autopilot/KAP140/settings/target-pressure-rate</prop>
</reference>
<output>
<prop>/controls/flight/elevator-trim</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>