4 Author: Yurik V. Nikiforoff, yurik@megasignal.com
6 Function: Autopilot fot TU-154B
9 <autopilot name="ABSU-154">
11 <!-- INTERFACE PROPERTIES -->
13 <!-- Roll interface properties -->
15 <property value="0.001"> ap/alt-gain </property>
17 <!--<property> fcs/revers-by-joy </property>-->
18 <property value="0.0"> fcs/revers-by-key </property>
19 <property value="0.0"> ap/turbulence </property>
20 <property value="0.0"> ap/met-neutral </property>
21 <!--<property value="0.1"> fcs/revers-1-limit </property>
22 <property value="0.03"> fcs/revers-2-limit </property>-->
24 <!--<property> fcs/revers-1-limit </property>
25 <property> fcs/revers-2-limit </property>-->
27 <property>ap/roll-selector</property>
28 <property>ap/input-heading-pnp</property>
29 <property>ap/input-heading-zk</property>
30 <property>ap/input-at</property>
32 <property>ap/suu-enable</property>
34 <!-- <property>ap/gs-distance</property>
35 <property>ap/crosstrack-m</property> -->
37 <property>ap/ils-epsilon</property>
39 <property>ap/at-pid-output</property>
40 <property>ap/at-podg</property>
41 <property>ap/at-hold-0</property>
42 <property>ap/at-hold-1</property>
43 <property>ap/at-hold-2</property>
45 <property>ap/input-heading-delta</property>
46 <property>ap/heading-cmd-norm</property>
49 <property>ap/stab-input-roll-rad</property>
50 <property>ap/roll-hold</property>
52 <!-- Pitch interface properties -->
53 <property>ap/pitch-selector</property>
55 <!--<property>ap/gs-gain</property>-->
56 <property>ap/hdg-out</property>
57 <property>ap/output-pitch-current</property>
59 <property>ap/input-glideslope-speed</property>
60 <property>ap/input-glideslope-delta</property>
62 <property>ap/glideslope-cmd-norm</property>
65 <property>ap/input-mach</property>
66 <property>ap/mach-cmd-norm</property>
69 <property>ap/input-speed</property>
70 <property>ap/speed-cmd-norm</property>
73 <property>ap/input-altitude</property>
74 <property>ap/altitude-cmd-norm</property>
77 <property>ap/stab-input-pitch-rad</property>
78 <property>ap/offset-pitch-rad</property>
81 <property>ap/pitch-hold</property>
82 <property>ap/pitch/latch-out-rad</property>
85 <property>ap/windup-trigger</property>
87 <property>ap/pitch/met-integr-out</property>
89 <property>ap/ena-needles</property>
91 <!--RESTORE IT FOR RELEASE!!!-->
96 <fcs_function name="ap/navigac" >
98 <property>/tu154/switches/pn-5-navigac</property>
102 <fcs_function name="ap/posadk" >
104 <property>/tu154/switches/pn-5-posadk</property>
108 <fcs_function name="ap/pressure-altitude-ft" >
110 <property>/instrumentation/altimeter[0]/pressure-alt-ft</property>
114 <fcs_function name="ap/heading-epsilon" >
116 <property>/instrumentation/nav[0]/heading-needle-deflection-norm</property>
120 <fcs_function name="ap/gs-epsilon" >
122 <property>/instrumentation/nav[0]/gs-needle-deflection-norm</property>
128 <!--COMMENT IT FOR RELEASE!!!-->
130 <!--ILS and VOR debug channel-->
132 <channel name="Debug">
134 <waypoint_heading name="debug/wp-heading" unit="DEG">
135 <source_latitude unit="DEG">debug/wp-lat-deg</source_latitude>
136 <source_longitude unit="DEG">debug/wp-lon-deg</source_longitude>
137 <target_latitude unit="RAD">position/lat-gc-rad</target_latitude>
138 <target_longitude unit="RAD">position/long-gc-rad</target_longitude>
141 <waypoint_distance name="debug/wp-distance" unit="M">
142 <source_latitude unit="DEG">debug/wp-lat-deg</source_latitude>
143 <source_longitude unit="DEG">debug/wp-lon-deg</source_longitude>
144 <target_latitude unit="RAD">position/lat-gc-rad</target_latitude>
145 <target_longitude unit="RAD">position/long-gc-rad</target_longitude>
148 <summer name="debug/wp-hdg">
149 <input>debug/wp-heading</input>
153 <pure_gain name="debug/h-m">
154 <input>position/h-agl-ft</input>
158 <fcs_function name="debug/gs-epsilon">
167 <property>debug/h-m</property>
168 <property>debug/wp-distance</property>
180 <pure_gain name="debug/wp-hdg-corrected">
181 <input>debug/wp-hdg</input>
193 ==================================== NEW PITCH CHANNEL ====================================
194 modified by Yurik nov 2013
196 ABSU-154-2 RTE part 1 022.01.00 p.31
197 ABSU-154-2 RTE part 2 022.10.00 p.34
200 <channel name="Pitch stab">
202 <!-- Glideslope path system -->
203 <switch name="ap/pitch/gs-epsilon-gain">
204 <default value="-3.0"/>
206 instrumentation/indicated-altitude-m lt 250.0
210 <pure_gain name="ap/pitch/gs-epsilon">
211 <input>ap/gs-epsilon</input> <!-- -1..1 --> <!--RESTORE IT FOR RELEASE!!!-->
212 <!--<input>debug/gs-epsilon</input>--> <!--COMMENT IT FOR RELEASE!!!-->
213 <gain>ap/pitch/gs-epsilon-gain</gain>
216 <pure_gain name="ap/pitch/gs-k7">
217 <input>ap/pitch/gs-epsilon</input>
221 <pure_gain name="ap/pitch/gs-gain-k2">
222 <input>ap/pitch/gs-epsilon</input>
226 <washout_filter name="ap/pitch/gs-k2">
227 <input>ap/pitch/gs-gain-k2</input>
231 <summer name="ap/pitch/gs-attitude">
232 <input>attitude/theta-rad</input>
233 <bias>-0.0087</bias> <!--0.5 deg-->
236 <pure_gain name="ap/pitch/gs-gain-k11">
237 <input>ap/pitch/gs-attitude</input>
241 <washout_filter name="ap/pitch/gs-k11">
242 <input>ap/pitch/gs-gain-k11</input>
246 <summer name="ap/pitch/gs-sum-internal">
247 <input>ap/pitch/gs-k7</input>
248 <input>ap/pitch/gs-k2</input>
249 <input>ap/pitch/gs-k11</input>
252 <pure_gain name="ap/pitch/gs-k10">
253 <input>ap/pitch/gs-attitude</input>
257 <lag_filter name="ap/pitch/gs-k4">
258 <input>ap/pitch/gs-sum-internal</input>
262 <lag_filter name="ap/pitch/gs-k8">
263 <input>ap/pitch/gs-k10</input>
267 <switch name="ap/pitch/gs-k8-switched">
268 <default value="0.0"/>
269 <test value="ap/pitch/gs-k8">
274 <summer name="ap/pitch/gs-sum-out">
275 <input>ap/pitch/gs-k4</input>
276 <input>ap/pitch/gs-k8-switched</input>
279 <switch name="ap/pitch/gs-sum-out-switched">
280 <default value="0.0"/>
281 <test value="ap/pitch/gs-sum-out">
286 <pure_gain name="ap/pitch/gs-k5">
287 <input>ap/pitch/gs-sum-out-switched</input>
295 <pure_gain name="ap/pitch/gs-needle">
296 <input>ap/pitch/gs-sum-out-switched</input>
306 <summer name="ap/pitch/mach-error">
307 <input>ap/input-mach</input>
308 <input>-velocities/mach</input>
315 <switch name="ap/pitch/mach-windup">
316 <default value="-1.0"/>
318 ap/pitch-selector == 4
323 <pid name="ap/pitch/m-pid">
324 <input>ap/pitch/mach-error</input>
328 <trigger>ap/pitch/mach-windup</trigger>
338 <summer name="ap/pitch/speed-error">
339 <input>ap/input-speed</input>
340 <input>-velocities/vc-fps</input>
347 <switch name="ap/pitch/speed-windup">
348 <default value="-1.0"/>
350 ap/pitch-selector == 3
355 <pid name="ap/pitch/v-pid">
356 <input>ap/pitch/speed-error</input>
360 <trigger>ap/pitch/speed-windup</trigger>
369 <summer name="ap/pitch/altitude-error">
370 <input>ap/input-altitude</input>
371 <input>-ap/pressure-altitude-ft</input> <!--RESTORE IT FOR RELEASE!!!-->
372 <!--<input>-position/h-agl-ft</input>--> <!--COMMENT IT FOR RELEASE!!!-->
379 <switch name="ap/pitch/h-windup">
380 <default value="-1.0"/>
382 ap/pitch-selector == 2
387 <pid name="ap/pitch/h-pid-pi">
388 <input>-ap/pitch/altitude-error</input>
392 <trigger>ap/pitch/h-windup</trigger>
395 <pid name="ap/pitch/h-pid-d">
396 <input>-ap/pitch/altitude-error</input>
402 <switch name="ap/pitch/h-pid-d-switched">
403 <default value="ap/pitch/h-pid-d"/>
409 <summer name="ap/pitch/h-pid">
410 <input>ap/pitch/h-pid-pi</input>
411 <input>ap/pitch/h-pid-d</input>
416 <!--Go around stab-->
417 <fcs_function name="ap/pitch/go-around-speed">
420 <independentVar> fcs/flap-pos-deg </independentVar>
430 <fcs_function name="ap/pitch/go-around-pitch-rad">
433 <independentVar> fcs/flap-pos-deg </independentVar>
443 <switch name="ap/pitch/go-around-pitch-rad-switched">
444 <default value="0.0"/>
445 <test value="ap/pitch/go-around-pitch-rad">
446 ap/pitch-selector == 6
450 <washout_filter name="ap/pitch/go-around-pitch-rad-dot">
451 <input>ap/pitch/go-around-pitch-rad-switched</input>
455 <summer name="ap/pitch/go-around-f5">
456 <input>ap/pitch/go-around-speed</input>
457 <input>-velocities/vc-fps</input>
460 <max>82</max> <!-- +-25 m/s -->
464 <pure_gain name="ap/pitch/go-around-kv">
465 <input>ap/pitch/go-around-f5</input>
469 <pure_gain name="ap/pitch/go-around-kd">
470 <input>-velocities/vc-fps</input>
474 <washout_filter name="ap/pitch/go-around-d">
475 <input>ap/pitch/go-around-kd</input>
479 <summer name="ap/pitch/go-around-sum-1">
480 <input>ap/pitch/go-around-kv</input>
481 <input>ap/pitch/go-around-d</input>
484 <lag_filter name="ap/pitch/go-around-sum-1-filtered">
485 <input>ap/pitch/go-around-sum-1</input>
489 <washout_filter name="ap/pitch/go-around-theta-rad-dot">
490 <input>attitude/theta-rad</input>
494 <summer name="ap/pitch/go-around-sum-2">
495 <input>ap/pitch/go-around-sum-1-filtered</input>
496 <input>-ap/pitch/go-around-pitch-rad-dot</input>
497 <input>ap/pitch/go-around-theta-rad-dot</input>
500 <pure_gain name="ap/pitch/go-around-f">
501 <input>ap/pitch/go-around-sum-2</input>
506 <!--End go around stab-->
509 <!--Longitudal stabilizer selector-->
511 <switch name="ap/pitch/stab-selector">
512 <default value="0.0"/> <!-- Zero output -->
513 <test value="ap/pitch/h-pid"><!-- Stab H -->
514 ap/pitch-selector == 2
516 <test value="ap/pitch/v-pid"><!-- Stab V -->
517 ap/pitch-selector == 3
519 <test value="ap/pitch/m-pid"><!-- Stab M -->
520 ap/pitch-selector == 4
525 <!--Theta stabilizer-->
526 <switch name="ap/pitch/theta-latched-rad">
527 <default value="ap/pitch/latch-out-rad"/>
528 <test value="ap/pitch/theta-latched-rad">
529 ap/pitch-selector ne 0
533 <summer name="ap/pitch/theta-sum-rad">
534 <input>-ap/pitch/theta-latched-rad</input>
535 <input>attitude/theta-rad</input>
538 <pure_gain name="ap/pitch/theta">
539 <input>ap/pitch/theta-sum-rad</input>
543 <!--Bank compensator-->
544 <fcs_function name="ap/pitch/bank-compensation">
548 <property>attitude/phi-rad</property>
550 <value>-0.015</value>
555 <!--Pitch manually-->
556 <pure_gain name="ap/pitch/manu">
557 <input>-ap/stab-input-pitch-rad</input>
560 <min>-0.3</min> <!-- Limit +-17 deg -->
565 <!--Main pitch summer-->
566 <summer name="ap/pitch/main_stab_summer">
567 <input>ap/pitch/theta</input>
568 <input>ap/pitch/bank-compensation</input>
569 <input>ap/pitch/manu</input>
570 <input>ap/pitch/stab-selector</input>
578 <summer name="ap/pitch/latch_stab_summer">
579 <input>attitude/theta-rad</input>
580 <input>ap/pitch/bank-compensation</input>
581 <input>ap/pitch/manu</input>
582 <input>ap/pitch/stab-selector</input>
583 <output>ap/pitch/latch-out-rad</output>
587 <pure_gain name="ap/pitch/main_stab">
588 <input>ap/pitch/main_stab_summer</input>
592 <!--AP mode selector-->
593 <switch name="ap/pitch/ap-sw">
594 <default value="0.0"/>
595 <test value="ap/pitch/main_stab">
596 ap/pitch-selector == 1 <!--Stab-->
598 <test value="ap/pitch/main_stab"> <!--H-->
599 ap/pitch-selector == 2
601 <test value="ap/pitch/main_stab"> <!--V-->
602 ap/pitch-selector == 3
604 <test value="ap/pitch/main_stab"> <!--M-->
605 ap/pitch-selector == 4
607 <test value="ap/pitch/gs-k5"> <!--Glideslope-->
608 ap/pitch-selector == 5
610 <test value="ap/pitch/go-around-f"> <!--Go around-->
611 ap/pitch-selector == 6
615 <switch name="ap/pitch/ap-selector">
616 <default value="0.0"/>
617 <test value="ap/pitch/ap-sw">
618 ap/pitch-hold == 1 <!--Main hold switch-->
621 <!-- ********************** MET section ************************** -->
623 <switch name="ap/pitch/met-selector">
624 <default value="ap/pitch/ap-selector"/>
625 <test logic="OR" value="fcs/met-cmd">
626 ap/pitch-selector == 0
627 ap/pitch-hold == 0 <!--We use buttons for MET moving if yoke control mode (0) selected-->
630 <!--Set met to neutral-->
631 <switch name="ap/pitch/met-trigger">
632 <default value="0.0"/>
634 ap/met-neutral == 1 <!-- Set it to 1 if you want move MET to neutral -->
638 <!--Input MET threshold (deadband zone)-->
639 <deadband name="ap/pitch/met-input-deadband">
640 <input>ap/pitch/met-selector</input>
644 <!--Limit for output MET value-->
645 <deadband name="ap/pitch/met-output-deadband">
646 <input>ap/pitch/met-integr-out</input>
647 <width>2.0</width> <!-- -1 ... 1 -->
650 <switch name="ap/pitch/met-threshold">
651 <default value="0.0"/>
652 <test value="0.0625"> <!--1/16 sec -> 32 sec for moving MET to all band -1..1 -->
653 ap/pitch/met-input-deadband ne 0
654 ap/pitch/met-selector ge 0
656 <test value="-0.0625">
657 ap/pitch/met-input-deadband ne 0
658 ap/pitch/met-selector lt 0
662 <switch name="ap/pitch/met-input">
663 <default value="ap/pitch/met-threshold"/>
665 ap/pitch/met-output-deadband ne 0
666 ap/pitch/met-integr-out le 0
667 ap/pitch/met-threshold le 0
670 ap/pitch/met-output-deadband ne 0
671 ap/pitch/met-integr-out gt 0
672 ap/pitch/met-threshold gt 0
676 <pid name="ap/pitch/met-integrator">
677 <input>ap/pitch/met-input</input>
681 <trigger>ap/pitch/met-trigger</trigger>
682 <output>ap/pitch/met-integr-out</output>
685 <pure_gain name="ap/pitch/met">
686 <input>ap/pitch/met-integrator</input>
690 <!-- ***************** End MET section ****************************-->
692 <!-- +++++++++++++++++++ SUU ( enchance control system ) ++++++++++++++++++ -->
694 There is a system for enchance pitch control. It read pitch trimmer position and adjust gain of pitch channel of yoke control.
696 <scheduled_gain name="ap/suu">
697 <input>fcs/elevator-cmd-norm</input>
699 <!--<independentVar> fcs/pitch-trim-cmd-norm </independentVar>-->
700 <independentVar> ap/pitch/met-integrator </independentVar>
712 <switch name="ap/suu-switched">
713 <default value="0.0"/>
714 <test value="ap/suu">
719 <pure_gain name="ap/suu-gain">
720 <input>ap/suu-switched</input>
724 <!-- +++++++++++++++++++ END SUU subsystem ++++++++++++++++++ -->
729 <pure_gain name="ap/pitch/kwz-main">
730 <input>velocities/thetadot-rad_sec</input>
734 <pure_gain name="ap/pitch/kwz-gs">
735 <input>velocities/thetadot-rad_sec</input>
739 <switch name="ap/pitch/kwz-gs-switched">
740 <default value="0.0"/>
741 <test value="ap/pitch/kwz-gs">
742 ap/pitch-selector == 5 <!--Glideslope-->
745 <test value="ap/pitch/kwz-gs">
746 ap/pitch-selector == 6 <!--Go around-->
751 <!--End pitch damper -->
753 <summer name="ap/pitch/ap-summer">
754 <input>ap/pitch/kwz-main</input>
755 <input>ap/pitch/kwz-gs-switched</input>
756 <input>ap/pitch/ap-selector</input>
757 <input>ap/suu-gain</input>
765 <pure_gain name="ap/pitch/elevator-cmd">
766 <input>ap/pitch/ap-summer</input>
767 <gain>systems/electrical-ok</gain>
768 <output>fcs/absu-pitch</output>
772 <!--================================= END NEW PITCH CHANNEL ===================================-->
774 <!-- *********************** Heading channels ************************ -->
776 <channel name="Heading stab">
778 <!--******************************* VOR Staff ***************************-->
779 <summer name="ap/heading-error-pnp">
780 <input> -instrumentation/pnp-heading </input>
781 <input> ap/input-heading-pnp </input>
782 <input> -instrumentation/nvu/drift-angle </input>
785 <!--VOR angle stabilizer (epsilon) -->
786 <pure_gain name="ap/vor-beam-error">
787 <input> -ap/input-heading-delta </input>
788 <gain> 2.0 </gain><!--1-->
795 <lag_filter name="ap/beam-error-filtered">
796 <input>ap/vor-beam-error</input>
800 <pure_gain name="ap/beam-error-adjusted">
801 <input> ap/beam-error-filtered </input>
805 <switch name="ap/vor-eps">
806 <default value="0.0"/>
807 <test value="ap/beam-error-adjusted">
808 ap/roll-selector eq 3
813 <!--******************************* ZK Staff ***************************-->
814 <summer name="ap/heading-error-zk">
815 <!--<input> -attitude/psi-deg </input>--> <!--COMMENT IT FOR RELEASE!!!-->
816 <input> -instrumentation/pnp-heading </input> <!--RESTORE IT FOR RELEASE!!!-->
817 <input> ap/input-heading-zk </input>
819 <!--******************************* NVU Staff ***************************-->
820 <pure_gain name="ap/nvu-delta-corr">
821 <input> instrumentation/nvu/Z-active </input>
829 <summer name="ap/heading-error-nvu">
830 <input> -instrumentation/tks-heading </input>
831 <input> instrumentation/nvu/ZPU-active </input>
832 <input> -ap/nvu-delta-corr </input>
833 <input> -instrumentation/nvu/drift-angle </input>
836 <!--******************************* ILS Staff ***************************-->
837 <summer name="ap/heading-error-ils">
838 <!--<input> -attitude/psi-deg </input>--> <!--COMMENT IT FOR RELEASE!!!-->
839 <input> -instrumentation/pnp-heading </input> <!--RESTORE IT FOR RELEASE!!!-->
840 <input> ap/input-heading-pnp </input>
843 <switch name="ap/ils-error-bias-switch">
844 <default value="0.0"/>
846 ap/heading-error-ils lt -180
848 <test value="-360.0">
849 ap/heading-error-ils gt 180
853 <switch name="ap/ils-beam-ki">
854 <default value="0.003"/><!--0.003-->
855 <test value="0.007"><!--0.007-->
856 instrumentation/indicated-altitude-m lt 250.0
860 <pure_gain name="ap/ils-epsilon-input">
861 <!--<input> debug/wp-hdg-corrected</input>--> <!--COMMENT IT FOR RELEASE!!!-->
862 <input> ap/heading-epsilon </input><!-- -1...1 --> <!--RESTORE IT FOR RELEASE!!!-->
867 <pure_gain name="ap/ils-hdg-k10">
868 <input> ap/ils-epsilon-input</input>
872 <pure_gain name="ap/ils-gain-k17">
873 <input> ap/ils-epsilon-input</input>
877 <!-- <lag_filter name="ap/ils-beam-filtered">
878 <input>ap/ils-beam-error</input>
884 <!-- modified by Yurik jul 2013
886 ABSU-154-2 RTE part 1 022.01.00 p.24-->
887 <summer name="ap/ils-hdg-deviation">
888 <input> ap/ils-error-bias-switch </input>
889 <input> ap/heading-error-ils </input>
892 <pure_gain name="ap/ils-hdg-gain-k2">
893 <input> ap/ils-hdg-mainsummer </input>
894 <gain> 0.2 </gain><!--0.2-->
897 <switch name="ap/ils-hdg-gain-k2-switched">
898 <default value="0.0"/>
899 <test value="ap/ils-hdg-gain-k2">
900 instrumentation/indicated-altitude-m lt 250.0
904 <pure_gain name="ap/ils-hdg-k3">
905 <input> ap/ils-hdg-deviation </input>
909 <switch name="ap/ils-hdg-k3-switched">
910 <default value="0.0"/>
911 <test value="ap/ils-hdg-k3">
912 instrumentation/indicated-altitude-m gt 250.0
916 <lag_filter name="ap/ils-hdg-k4">
917 <input>ap/ils-hdg-gain-k2-switched</input>
921 <pure_gain name="ap/ils-hdg-gain-k5">
922 <input> ap/ils-hdg-deviation </input>
926 <pure_gain name="ap/ils-hdg-k6">
927 <input> ap/ils-hdg-deviation </input>
931 <switch name="ap/ils-hdg-k6-switched">
932 <default value="0.0"/>
933 <test value="ap/ils-hdg-k6">
934 instrumentation/indicated-altitude-m gt 250.0
938 <washout_filter name="ap/ils-hdg-k5">
939 <input> ap/ils-hdg-gain-k5</input>
943 <washout_filter name="ap/ils-hdg-k17">
944 <input> ap/ils-gain-k17</input>
948 <summer name="ap/ils-hdg-f1">
949 <input> ap/ils-hdg-k3-switched </input>
950 <input> ap/ils-hdg-k10 </input>
951 <input> ap/ils-hdg-k4 </input>
959 <summer name="ap/ils-hdg-mainsummer">
960 <input> ap/ils-hdg-k6-switched </input>
961 <input> ap/ils-hdg-f1 </input>
962 <input> ap/ils-hdg-k5 </input>
963 <input> ap/ils-hdg-k17 </input>
970 <pure_gain name="ap/ils-out">
971 <input> ap/ils-hdg-mainsummer </input>
977 <!-- ############################## Needles ############################## -->
978 <pure_gain name="ap/heading-needle-deflection-ils">
979 <!--<input> ap/ils-angle-deviation </input>-->
980 <input> ap/heading-epsilon </input>
981 <gain>1.0</gain><!--0.143-->
988 <pure_gain name="ap/heading-needle-deflection-vor">
989 <input> -ap/input-heading-delta </input>
997 <pure_gain name="ap/heading-needle-deflection-nvu">
998 <input> -instrumentation/nvu/Z-active </input>
1006 <switch name="ap/heading-needle-deflection">
1007 <default value="0.0"/>
1008 <test value="ap/heading-needle-deflection-vor">
1009 ap/roll-selector eq 3
1012 <test value="ap/heading-needle-deflection-nvu">
1013 ap/roll-selector eq 4
1016 <test value="ap/heading-needle-deflection-ils">
1017 <!--ap/roll-selector eq 5-->
1022 <pure_gain name="ap/gs-needle-deflection-ils">
1023 <input> ap/gs-epsilon </input>
1024 <gain>1.0</gain> <!---GS needle from NAV radio:-1 ... 1-->
1031 <switch name="ap/gs-needle-deflection">
1032 <default value="0.0"/>
1033 <test value="ap/gs-needle-deflection-ils">
1034 <!--ap/pitch-selector eq 5-->
1038 <!--****************************** Heading stabilizer **********************-->
1039 <!--ILS approach (STU Kurs) have own pid. -->
1040 <switch name="ap/heading-error">
1041 <default value="0.0"/>
1042 <test value="ap/heading-error-zk">
1043 ap/roll-selector eq 2
1045 <test value="ap/heading-error-pnp">
1046 ap/roll-selector eq 3
1049 <test value="ap/heading-error-nvu">
1050 ap/roll-selector eq 4
1055 <switch name="ap/heading-error-bias-switch">
1056 <default value="0.0"/>
1057 <test value="360.0">
1058 ap/heading-error lt -180
1060 <test value="-360.0">
1061 ap/heading-error gt 180
1065 <summer name="ap/heading-deviation">
1066 <input> ap/heading-error-bias-switch </input>
1067 <input> ap/heading-error </input>
1068 <input> ap/vor-eps </input>
1071 <pid name="ap/heading-pid">
1072 <input>ap/heading-deviation</input>
1076 <output>ap/heading-cmd-norm</output>
1081 <!-- *********************** Wing leveler ************************ -->
1082 <channel name="Roll">
1083 <!-- Roll stab mode selector
1084 ap/roll-selector state:
1086 1 - stabilize current roll value
1087 2 - stabilize current heading by variate roll
1093 <switch name="ap/roll-trigger">
1094 <default value="-1.0"/>
1100 <switch name="ap/input-roll-rad">
1101 <!--All automatic stabilizer exclude ILS use it-->
1102 <default value="ap/heading-cmd-norm"/>
1104 ap/roll-selector == 0 <!--Roll damper only-->
1107 <test value="ap/stab-input-roll-rad">
1108 ap/roll-selector == 1 <!--Roll wheel-->
1111 <test value="ap/ils-out">
1112 ap/roll-selector == 5 <!--ILS (STU Kurs) pid-->
1117 <lag_filter name="ap/input-roll-rad-clipped">
1118 <input>ap/input-roll-rad</input>
1126 <summer name="ap/roll-error">
1127 <input>ap/input-roll-rad-clipped</input>
1128 <input>-attitude/roll-rad</input>
1131 <pid name="ap/roll-hold-pid">
1132 <input>ap/roll-error</input>
1136 <trigger>ap/roll-trigger</trigger>
1142 <!-- Autopilot or Roll Damper only? -->
1143 <switch name="ap/roll-pid-switched">
1144 <default value="0.0"/>
1145 <test value="ap/roll-hold-pid">
1150 <pid name="ap/roll-damper">
1151 <input>-attitude/roll-rad</input>
1162 <summer name="ap/roll-out">
1163 <!--<input>ap/roll-damper</input>-->
1164 <input>ap/roll-pid-switched</input>
1171 <!--Turbulence switch-->
1172 <scheduled_gain name="ap/roll-turb">
1173 <input>ap/roll-out</input>
1175 <independentVar> ap/turbulence </independentVar>
1183 <pure_gain name="ap/aileron">
1184 <input>ap/roll-turb</input>
1186 <output>fcs/absu-roll</output>
1190 <!--******************************** Yaw control *****************************-->
1191 <channel name="Yaw">
1194 <washout_filter name="ap/yaw-wf">
1195 <input>velocities/r-aero-rad_sec</input>
1199 <pure_gain name="ap/yaw-damper">
1200 <input>ap/yaw-wf</input>
1201 <gain>8.0</gain><!--8-->
1204 <!--Slip stabilizer-->
1205 <switch name="ap/beta-rad-switched">
1206 <default value="0.0"/>
1207 <test value="aero/beta-rad">
1212 <pid name="ap/yaw-pid">
1213 <input>ap/beta-rad-switched</input>
1222 <!-- Autopilot or Yaw Damper only? -->
1223 <switch name="ap/yaw-pid-switched">
1224 <default value="0.0"/>
1225 <test value="ap/yaw-pid">
1231 <summer name="ap/yaw-out">
1232 <input>ap/yaw-damper</input>
1233 <!--<input>ap/yaw-suu</input>-->
1234 <input>-ap/yaw-pid-switched</input>
1240 <!--Turbulence switch-->
1241 <scheduled_gain name="ap/yaw-turb">
1242 <input>ap/yaw-out</input>
1244 <independentVar> ap/turbulence </independentVar>
1252 <pure_gain name="ap/rudder">
1253 <input>ap/yaw-turb</input>
1255 <output>fcs/absu-yaw</output>
1259 <!-- ***************************** Reverser ******************************* -->
1260 <channel name="Reverser">
1262 <switch name="fcs/rev-1-left-cmd">
1263 <default value="0.0"/>
1265 fcs/revers-by-key gt 0.5
1267 <test value="fcs/revers-by-joy">
1268 fcs/throttle-cmd-norm[0] lt fcs/revers-1-limit
1271 <switch name="fcs/rev-1-right-cmd">
1272 <default value="0.0"/>
1274 fcs/revers-by-key gt 0.5
1276 <test value="fcs/revers-by-joy">
1277 fcs/throttle-cmd-norm[2] lt fcs/revers-1-limit
1280 <switch name="fcs/rev-2-left-cmd">
1281 <default value="0.0"/>
1283 fcs/revers-by-key gt 0.5
1285 <test value="fcs/revers-by-joy">
1286 fcs/throttle-cmd-norm[0] lt fcs/revers-2-limit
1289 <switch name="fcs/rev-2-right-cmd">
1290 <default value="0.0"/>
1292 fcs/revers-by-key gt 0.5
1294 <test value="fcs/revers-by-joy">
1295 fcs/throttle-cmd-norm[2] lt fcs/revers-2-limit
1299 <kinematic name="fcs/reverser-lever-left">
1300 <input>fcs/rev-1-left-cmd</input>
1303 <position>0</position>
1307 <position>2.35</position>
1311 <output>propulsion/engine[0]/reverser-angle-rad</output>
1314 <kinematic name="fcs/reverser-lever-right">
1315 <input>fcs/rev-1-right-cmd</input>
1318 <position>0</position>
1322 <position>2.35</position>
1326 <output>propulsion/engine[2]/reverser-angle-rad</output>
1329 <kinematic name="fcs/reverser-throttle-left">
1330 <input>fcs/rev-2-left-cmd</input>
1333 <position>0</position>
1337 <position>0.6</position>
1343 <kinematic name="fcs/reverser-throttle-right">
1344 <input>fcs/rev-2-right-cmd</input>
1347 <position>0</position>
1351 <position>0.6</position>
1358 <!-- ***************************** Autothrottle ******************************* -->
1361 <summer name="ap/at-error">
1362 <input>-ap/input-at</input>
1363 <input>velocities/vc-fps</input>
1370 <!--Transient compensation -->
1371 <summer name="ap/at-transient-error">
1372 <input>fcs/throttle-cmd-norm[0]</input>
1373 <input>-ap/at-pid-output</input>
1376 <switch name="ap/at-tr-err-switched">
1377 <default value="0.0"/>
1378 <test value="-ap/at-transient-error">
1383 <pure_gain name="ap/at-transient-compensator">
1384 <input>ap/at-tr-err-switched</input>
1388 <!--End transient procedure -->
1390 <switch name="ap/at-hold">
1391 <default value="0.0"/>
1403 <switch name="ap/at-trigger">
1404 <default value="0.0"/>
1413 ap/at-pid-output > 0.9
1417 ap/at-pid-output lt 0.1
1422 <switch name="ap/at-error-switched">
1423 <default value="ap/at-transient-compensator"/>
1424 <test value="ap/at-error">
1429 <switch name="ap/at-pid-ki">
1430 <default value="0.1"/>
1431 <test value="0.001">
1435 <switch name="ap/at-pid-kd">
1436 <default value="0.0"/>
1442 <pid name="ap/at-pid">
1443 <input>-ap/at-error-switched</input>
1445 <ki> ap/at-pid-ki </ki>
1446 <kd> ap/at-pid-kd </kd>
1447 <trigger>ap/at-trigger</trigger>
1452 <output>ap/at-pid-output</output>
1455 <switch name="ap/at-thr-switched-0">
1456 <default value="fcs/throttle-cmd-norm[0]"/>
1457 <test value="fcs/reverser-throttle-left">
1458 fcs/reverser-throttle-left gt 0
1460 <test value="ap/at-pid">
1463 <output>fcs/at-throttle-cmd-norm[0]</output>
1466 <switch name="ap/at-thr-switched-1">
1467 <default value="fcs/throttle-cmd-norm[1]"/>
1468 <test value="ap/at-pid">
1471 <output>fcs/at-throttle-cmd-norm[1]</output>
1474 <switch name="ap/at-thr-switched-2">
1475 <default value="fcs/throttle-cmd-norm[2]"/>
1476 <test value="fcs/reverser-throttle-right">
1477 fcs/reverser-throttle-right gt 0
1479 <test value="ap/at-pid">
1482 <output>fcs/at-throttle-cmd-norm[2]</output>