lama-autopilot.xml 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666
  1. <?xml version="1.0"?>
  2. <!-- Generic Autopilot Configuration -->
  3. <!-- Each component is evaluated in the order specified. You can make up -->
  4. <!-- property names to pass the result of one component on to a subsequent -->
  5. <!-- component. -->
  6. <PropertyList>
  7. <!-- =============================================================== -->
  8. <!-- Prediction filters -->
  9. <!-- ===============================================================
  10. <predict-simple>
  11. <input>/autopilot/internal/nav1-track-error-deg</input>
  12. <output>/autopilot/internal/nav1-track-error-lookahead-deg</output>
  13. <seconds>8.0</seconds>
  14. <filter-gain>0.0</filter-gain>
  15. </predict-simple>-->
  16. <!-- =============================================================== -->
  17. <!-- Roll Axis Modes -->
  18. <!-- =============================================================== -->
  19. <!-- Wing leveler -->
  20. <pid-controller>
  21. <name>Wing Leveler (Turn Coordinator based)</name>
  22. <debug>false</debug>
  23. <enable>
  24. <prop>/autopilot/locks/heading</prop>
  25. <value>wing-leveler</value>
  26. </enable>
  27. <input>
  28. <prop>/instrumentation/turn-indicator/indicated-turn-rate</prop>
  29. </input>
  30. <reference>
  31. <value>0.0</value>
  32. </reference>
  33. <output>
  34. <prop>/controls/flight/aileron</prop>
  35. </output>
  36. <config>
  37. <Kp>0.5</Kp> <!-- proportional gain -->
  38. <beta>1.0</beta> <!-- input value weighing factor -->
  39. <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
  40. <gamma>0.0</gamma> <!-- input value weighing factor for -->
  41. <!-- unfiltered derivative error -->
  42. <Ti>10.0</Ti> <!-- integrator time -->
  43. <Td>0.00001</Td> <!-- derivator time -->
  44. <u_min>-1.0</u_min> <!-- minimum output clamp -->
  45. <u_max>1.0</u_max> <!-- maximum output clamp -->
  46. </config>
  47. </pid-controller>
  48. <!-- Heading Bug Hold. 2 stage cascade controller. -->
  49. <!-- Stage #1 sets target roll based on diff between current heading -->
  50. <!-- and heading bug. -->
  51. <pid-controller>
  52. <name>Heading Bug Hold (FDM mag heading based) Stage 1</name>
  53. <debug>false</debug>
  54. <enable>
  55. <prop>/autopilot/locks/heading</prop>
  56. <value>dg-heading-hold</value>
  57. </enable>
  58. <input>
  59. <prop>/autopilot/internal/fdm-heading-bug-error-deg</prop>
  60. </input>
  61. <reference>
  62. <value>0.0</value>
  63. </reference>
  64. <output>
  65. <prop>/autopilot/internal/target-roll-deg</prop>
  66. </output>
  67. <config>
  68. <Kp>-1.0</Kp> <!-- proportional gain -->
  69. <beta>1.0</beta> <!-- input value weighing factor -->
  70. <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
  71. <gamma>0.0</gamma> <!-- input value weighing factor for -->
  72. <!-- unfiltered derivative error -->
  73. <Ti>10.0</Ti> <!-- integrator time -->
  74. <Td>0.00001</Td> <!-- derivator time -->
  75. <u_min>-30.0</u_min> <!-- minimum output clamp -->
  76. <u_max>30.0</u_max> <!-- maximum output clamp -->
  77. </config>
  78. </pid-controller>
  79. <!-- Stage #2 drives the ailerons to achieve the desired roll deg. -->
  80. <pid-controller>
  81. <name>Heading Bug Hold (DG based) Stage 2</name>
  82. <debug>false</debug>
  83. <enable>
  84. <prop>/autopilot/locks/heading</prop>
  85. <value>dg-heading-hold</value>
  86. </enable>
  87. <input>
  88. <prop>/orientation/roll-deg</prop>
  89. </input>
  90. <reference>
  91. <prop>/autopilot/internal/target-roll-deg</prop>
  92. </reference>
  93. <output>
  94. <prop>/controls/flight/aileron</prop>
  95. </output>
  96. <config>
  97. <Kp>0.02</Kp> <!-- proportional gain -->
  98. <beta>1.0</beta> <!-- input value weighing factor -->
  99. <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
  100. <gamma>0.0</gamma> <!-- input value weighing factor for -->
  101. <!-- unfiltered derivative error -->
  102. <Ti>10.0</Ti> <!-- integrator time -->
  103. <Td>0.00001</Td> <!-- derivator time -->
  104. <u_min>-1.0</u_min> <!-- minimum output clamp -->
  105. <u_max>1.0</u_max> <!-- maximum output clamp -->
  106. </config>
  107. </pid-controller>
  108. <!-- True Heading hold. 2 stage cascade controller. -->
  109. <!-- Stage #1 sets target roll based on diff between current heading -->
  110. <!-- and target heading. -->
  111. <pid-controller>
  112. <name>True Heading Hold (DG based) Stage 1</name>
  113. <debug>false</debug>
  114. <enable>
  115. <prop>/autopilot/locks/heading</prop>
  116. <value>true-heading-hold</value>
  117. </enable>
  118. <input>
  119. <prop>/autopilot/internal/true-heading-error-deg</prop>
  120. </input>
  121. <reference>
  122. <value>0.0</value>
  123. </reference>
  124. <output>
  125. <prop>/autopilot/internal/target-roll-deg</prop>
  126. </output>
  127. <config>
  128. <Kp>-1.0</Kp> <!-- proportional gain -->
  129. <beta>1.0</beta> <!-- input value weighing factor -->
  130. <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
  131. <gamma>0.0</gamma> <!-- input value weighing factor for -->
  132. <!-- unfiltered derivative error -->
  133. <Ti>10.0</Ti> <!-- integrator time -->
  134. <Td>0.00001</Td> <!-- derivator time -->
  135. <u_min>-30.0</u_min> <!-- minimum output clamp -->
  136. <u_max>30.0</u_max> <!-- maximum output clamp -->
  137. </config>
  138. </pid-controller>
  139. <!-- Stage #2 drives the ailerons to achieve the desired roll deg. -->
  140. <pid-controller>
  141. <name>True Heading Hold (DG based) Stage 2</name>
  142. <debug>false</debug>
  143. <enable>
  144. <prop>/autopilot/locks/heading</prop>
  145. <value>true-heading-hold</value>
  146. </enable>
  147. <input>
  148. <prop>/orientation/roll-deg</prop>
  149. </input>
  150. <reference>
  151. <prop>/autopilot/internal/target-roll-deg</prop>
  152. </reference>
  153. <output>
  154. <prop>/controls/flight/aileron</prop>
  155. </output>
  156. <config>
  157. <Kp>0.02</Kp> <!-- proportional gain -->
  158. <beta>1.0</beta> <!-- input value weighing factor -->
  159. <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
  160. <gamma>0.0</gamma> <!-- input value weighing factor for -->
  161. <!-- unfiltered derivative error -->
  162. <Ti>10.0</Ti> <!-- integrator time -->
  163. <Td>0.00001</Td> <!-- derivator time -->
  164. <u_min>-1.0</u_min> <!-- minimum output clamp -->
  165. <u_max>1.0</u_max> <!-- maximum output clamp -->
  166. </config>
  167. </pid-controller>
  168. <!-- Nav1 hold. 2 stage cascade controller. -->
  169. <!-- Stage #1 sets target roll based on diff between current heading -->
  170. <!-- and target heading. -->
  171. <pid-controller>
  172. <name>Nav1 Hold Stage 1</name>
  173. <debug>false</debug>
  174. <enable>
  175. <prop>/autopilot/locks/heading</prop>
  176. <value>nav1-hold</value>
  177. </enable>
  178. <input>
  179. <prop>/autopilot/internal/nav1-track-error-deg</prop>
  180. </input>
  181. <reference>
  182. <value>0.0</value>
  183. </reference>
  184. <output>
  185. <prop>/autopilot/internal/target-roll-deg</prop>
  186. </output>
  187. <config>
  188. <Kp>-1.0</Kp> <!-- proportional gain -->
  189. <beta>1.0</beta> <!-- input value weighing factor -->
  190. <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
  191. <gamma>0.0</gamma> <!-- input value weighing factor for -->
  192. <!-- unfiltered derivative error -->
  193. <Ti>10.0</Ti> <!-- integrator time -->
  194. <Td>0.00001</Td> <!-- derivator time -->
  195. <u_min>-30.0</u_min> <!-- minimum output clamp -->
  196. <u_max>30.0</u_max> <!-- maximum output clamp -->
  197. </config>
  198. </pid-controller>
  199. <!-- Stage #2 drives the ailerons to achieve the desired roll deg. -->
  200. <pid-controller>
  201. <name>Nav1 Hold Stage 2</name>
  202. <debug>false</debug>
  203. <enable>
  204. <prop>/autopilot/locks/heading</prop>
  205. <value>nav1-hold</value>
  206. </enable>
  207. <input>
  208. <prop>/orientation/roll-deg</prop>
  209. </input>
  210. <reference>
  211. <prop>/autopilot/internal/target-roll-deg</prop>
  212. </reference>
  213. <output>
  214. <prop>/controls/flight/aileron</prop>
  215. </output>
  216. <config>
  217. <Kp>0.02</Kp> <!-- proportional gain -->
  218. <beta>1.0</beta> <!-- input value weighing factor -->
  219. <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
  220. <gamma>0.0</gamma> <!-- input value weighing factor for -->
  221. <!-- unfiltered derivative error -->
  222. <Ti>10.0</Ti> <!-- integrator time -->
  223. <Td>0.00001</Td> <!-- derivator time -->
  224. <u_min>-1.0</u_min> <!-- minimum output clamp -->
  225. <u_max>1.0</u_max> <!-- maximum output clamp -->
  226. </config>
  227. </pid-controller>
  228. <!-- Tacan hold. 2 stage cascade controller. -->
  229. <!-- Stage #1 sets target roll based on diff between current heading -->
  230. <!-- and target heading. -->
  231. <pid-controller>
  232. <name>Tacan Hold (DG based) Stage 1</name>
  233. <debug>false</debug>
  234. <enable>
  235. <prop>/autopilot/locks/heading</prop>
  236. <value>tacan-hold</value>
  237. </enable>
  238. <input>
  239. <prop>/autopilot/internal/fdm-heading-bug-error-deg</prop>
  240. </input>
  241. <reference>
  242. <value>0.0</value>
  243. </reference>
  244. <output>
  245. <prop>/autopilot/internal/target-roll-deg</prop>
  246. </output>
  247. <config>
  248. <Kp>-1.0</Kp> <!-- proportional gain -->
  249. <beta>1.0</beta> <!-- input value weighing factor -->
  250. <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
  251. <gamma>0.0</gamma> <!-- input value weighing factor for -->
  252. <!-- unfiltered derivative error -->
  253. <Ti>10.0</Ti> <!-- integrator time -->
  254. <Td>0.00001</Td> <!-- derivator time -->
  255. <u_min>-30.0</u_min> <!-- minimum output clamp -->
  256. <u_max>30.0</u_max> <!-- maximum output clamp -->
  257. </config>
  258. </pid-controller>
  259. <!-- Stage #2 drives the ailerons to achieve the desired roll deg. -->
  260. <pid-controller>
  261. <name>Tacan Hold (DG based) Stage 2</name>
  262. <debug>false</debug>
  263. <enable>
  264. <prop>/autopilot/locks/heading</prop>
  265. <value>tacan-hold</value>
  266. </enable>
  267. <input>
  268. <prop>/orientation/roll-deg</prop>
  269. </input>
  270. <reference>
  271. <prop>/autopilot/internal/target-roll-deg</prop>
  272. </reference>
  273. <output>
  274. <prop>/controls/flight/aileron</prop>
  275. </output>
  276. <config>
  277. <Kp>0.02</Kp> <!-- proportional gain -->
  278. <beta>1.0</beta> <!-- input value weighing factor -->
  279. <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
  280. <gamma>0.0</gamma> <!-- input value weighing factor for -->
  281. <!-- unfiltered derivative error -->
  282. <Ti>10.0</Ti> <!-- integrator time -->
  283. <Td>0.00001</Td> <!-- derivator time -->
  284. <u_min>-1.0</u_min> <!-- minimum output clamp -->
  285. <u_max>1.0</u_max> <!-- maximum output clamp -->
  286. </config>
  287. </pid-controller>
  288. <!-- =============================================================== -->
  289. <!-- Pitch Axis Modes -->
  290. <!-- =============================================================== -->
  291. <!-- Simple pitch hold -->
  292. <!-- <pid-controller>
  293. <name>Pitch hold</name>
  294. <debug>false</debug>
  295. <enable>
  296. <prop>/autopilot/locks/altitude</prop>
  297. <value>pitch-hold</value>
  298. </enable>
  299. <input>
  300. <prop>/orientation/pitch-deg</prop>
  301. </input>
  302. <reference>
  303. <prop>/autopilot/settings/target-pitch-deg</prop>
  304. </reference>
  305. <output>
  306. <prop>/controls/engines/engine[0]/throttle</prop>
  307. </output>
  308. <config>
  309. <Kp>-1.0</Kp> proportional gain -->
  310. <!-- <beta>1.0</beta> input value weighing factor -->
  311. <!-- <alpha>0.1</alpha> low pass filter weighing factor -->
  312. <!-- <gamma>0.0</gamma> input value weighing factor for -->
  313. <!-- unfiltered derivative error -->
  314. <!-- <Ti>5.0</Ti> integrator time -->
  315. <!-- <Td>0.00001</Td> derivator time -->
  316. <!-- <u_min>-20.0</u_min>minimum output clamp -->
  317. <!-- <u_max>20.0</u_max> maximum output clamp
  318. </config>
  319. </pid-controller> -->
  320. <!-- Simple angle of attack hold -->
  321. <pid-controller>
  322. <name>AOA hold</name>
  323. <debug>false</debug>
  324. <enable>
  325. <prop>/autopilot/locks/altitude</prop>
  326. <value>aoa-hold</value>
  327. </enable>
  328. <input>
  329. <prop>/orientation/alpha-deg</prop>
  330. </input>
  331. <reference>
  332. <prop>/autopilot/settings/target-aoa-deg</prop>
  333. </reference>
  334. <output>
  335. <prop>/controls/engines/engine[0]/throttle</prop>
  336. </output>
  337. <config>
  338. <Kp>-1.0</Kp> <!-- proportional gain -->
  339. <beta>1.0</beta> <!-- input value weighing factor -->
  340. <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
  341. <gamma>0.0</gamma> <!-- input value weighing factor for -->
  342. <!-- unfiltered derivative error -->
  343. <Ti>5.0</Ti> <!-- integrator time -->
  344. <Td>0.00001</Td> <!-- derivator time -->
  345. <u_min>-20.0</u_min> <!-- minimum output clamp -->
  346. <u_max>20.0</u_max> <!-- maximum output clamp -->
  347. </config>
  348. </pid-controller>
  349. <!-- Altitude hold. 2 stage cascade controller. -->
  350. <!-- Stage #1 sets target rate of climb based on diff between current alt -->
  351. <!-- and target altitude. -->
  352. <pi-simple-controller>
  353. <name>Altitude Hold (Altimeter based) Stage 1</name>
  354. <debug>false</debug>
  355. <enable>
  356. <prop>/autopilot/locks/altitude</prop>
  357. <value>altitude-hold</value>
  358. </enable>
  359. <input>
  360. <prop>/position/altitude-ft</prop>
  361. </input>
  362. <reference>
  363. <prop>/autopilot/settings/target-altitude-ft</prop>
  364. </reference>
  365. <output>
  366. <prop>/autopilot/internal/target-climb-rate-fps</prop>
  367. </output>
  368. <config>
  369. <Kp>1</Kp> <!-- proportional gain -->
  370. <Ki>0.0</Ki> <!-- integral gain -->
  371. <u_min>-16.67</u_min> <!-- minimum output clamp -->
  372. <u_max>8.33</u_max> <!-- maximum output clamp -->
  373. </config>
  374. </pi-simple-controller>
  375. <!-- Stage #2 drives the elevator-trim to achieve the desired climb rate. -->
  376. <pid-controller>
  377. <name>Altitude Hold (Altimeter based) Stage 2</name>
  378. <debug>false</debug>
  379. <enable>
  380. <prop>/autopilot/locks/altitude</prop>
  381. <value>altitude-hold</value>
  382. </enable>
  383. <input>
  384. <prop>/velocities/vertical-speed-fps</prop>
  385. </input>
  386. <reference>
  387. <prop>/autopilot/internal/target-climb-rate-fps</prop>
  388. </reference>
  389. <output>
  390. <prop>/controls/engines/engine[0]/throttle</prop>
  391. </output>
  392. <config>
  393. <Kp>-1.0</Kp> <!-- proportional gain -->
  394. <beta>1.0</beta> <!-- input value weighing factor -->
  395. <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
  396. <gamma>0.0</gamma> <!-- input value weighing factor for -->
  397. <!-- unfiltered derivative error -->
  398. <Ti>5.0</Ti> <!-- integrator time -->
  399. <Td>0.00001</Td> <!-- derivator time -->
  400. <u_min>-20.0</u_min> <!-- minimum output clamp -->
  401. <u_max>20.0</u_max> <!-- maximum output clamp -->
  402. </config>
  403. </pid-controller>
  404. <!-- AGL hold. 2 stage cascade controller. -->
  405. <!-- Stage #1 sets target rate of climb based on diff between current agl -->
  406. <!-- and target agl. -->
  407. <pi-simple-controller>
  408. <name>AGL Hold (Altimeter based) Stage 1</name>
  409. <debug>false</debug>
  410. <enable>
  411. <prop>/autopilot/locks/altitude</prop>
  412. <value>agl-hold</value>
  413. </enable>
  414. <input>
  415. <prop>/position/altitude-agl-ft</prop>
  416. </input>
  417. <reference>
  418. <prop>/autopilot/settings/target-agl-ft</prop>
  419. </reference>
  420. <output>
  421. <prop>/autopilot/internal/target-climb-rate-fps</prop>
  422. </output>
  423. <config>
  424. <Kp>1</Kp> <!-- proportional gain -->
  425. <Ki>0.0</Ki> <!-- integral gain -->
  426. <u_min>-16.67</u_min> <!-- minimum output clamp -->
  427. <u_max>8.33</u_max> <!-- maximum output clamp -->
  428. </config>
  429. </pi-simple-controller>
  430. <!-- Stage #2 drives the elevator-trim to achieve the desired climb rate. -->
  431. <pid-controller>
  432. <name>AGL Hold (Altimeter based) Stage 2</name>
  433. <debug>false</debug>
  434. <enable>
  435. <prop>/autopilot/locks/altitude</prop>
  436. <value>agl-hold</value>
  437. </enable>
  438. <input>
  439. <prop>/velocities/vertical-speed-fps</prop>
  440. </input>
  441. <reference>
  442. <prop>/autopilot/internal/target-climb-rate-fps</prop>
  443. </reference>
  444. <output>
  445. <prop>/controls/engines/engine[0]/throttle</prop>
  446. </output>
  447. <config>
  448. <Kp>-1.0</Kp> <!-- proportional gain -->
  449. <beta>1.0</beta> <!-- input value weighing factor -->
  450. <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
  451. <gamma>0.0</gamma> <!-- input value weighing factor for -->
  452. <!-- unfiltered derivative error -->
  453. <Ti>5.0</Ti> <!-- integrator time -->
  454. <Td>0.00001</Td> <!-- derivator time -->
  455. <u_min>-20.0</u_min> <!-- minimum output clamp -->
  456. <u_max>20.0</u_max> <!-- maximum output clamp -->
  457. </config>
  458. </pid-controller>
  459. <!-- Glideslope hold. -->
  460. <!-- Stage #2 drives the elevator-trim to achieve the desired climb rate. -->
  461. <pid-controller>
  462. <name>Glideslop Hold</name>
  463. <debug>false</debug>
  464. <enable>
  465. <prop>/autopilot/locks/altitude</prop>
  466. <value>gs1-hold</value>
  467. </enable>
  468. <input>
  469. <prop>/velocities/vertical-speed-fps</prop>
  470. </input>
  471. <reference>
  472. <prop>/instrumentation/nav[0]/gs-rate-of-climb</prop>
  473. </reference>
  474. <output>
  475. <prop>/controls/engines/engine[0]/throttle</prop>
  476. </output>
  477. <config>
  478. <Kp>-1.0</Kp> <!-- proportional gain -->
  479. <beta>1.0</beta> <!-- input value weighing factor -->
  480. <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
  481. <gamma>0.0</gamma> <!-- input value weighing factor for -->
  482. <!-- unfiltered derivative error -->
  483. <Ti>5.0</Ti> <!-- integrator time -->
  484. <Td>0.00001</Td> <!-- derivator time -->
  485. <u_min>-20.0</u_min> <!-- minimum output clamp -->
  486. <u_max>20.0</u_max> <!-- maximum output clamp -->
  487. </config>
  488. </pid-controller>
  489. <!-- vertical speed hold -->
  490. <pid-controller>
  491. <name>Vertical Speed Hold</name>
  492. <debug>false</debug>
  493. <enable>
  494. <prop>/autopilot/locks/altitude</prop>
  495. <value>vertical-speed-hold</value>
  496. </enable>
  497. <input>
  498. <prop>/velocities/vertical-speed-fps</prop>
  499. </input>
  500. <reference>
  501. <prop>/autopilot/settings/vertical-speed-fpm</prop>
  502. <scale>0.01667</scale>
  503. </reference>
  504. <output>
  505. <prop>/controls/engines/engine[0]/throttle</prop>
  506. </output>
  507. <config>
  508. <Kp>-1.0</Kp> <!-- proportional gain -->
  509. <beta>1.0</beta> <!-- input value weighing factor -->
  510. <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
  511. <gamma>0.0</gamma> <!-- input value weighing factor for -->
  512. <!-- unfiltered derivative error -->
  513. <Ti>5.0</Ti> <!-- integrator time -->
  514. <Td>0.00001</Td> <!-- derivator time -->
  515. <u_min>-20.0</u_min> <!-- minimum output clamp -->
  516. <u_max>20.0</u_max> <!-- maximum output clamp -->
  517. </config>
  518. </pid-controller>
  519. <!-- =============================================================== -->
  520. <!-- Velocity Modes -->
  521. <!-- =============================================================== -->
  522. <!-- Auto throttle -->
  523. <pid-controller>
  524. <name>Auto Throttle (5 sec lookahead)</name>
  525. <debug>false</debug>
  526. <enable>
  527. <prop>/autopilot/locks/speed</prop>
  528. <value>speed-with-throttle</value>
  529. </enable>
  530. <input>
  531. <!-- <prop>/autopilot/internal/lookahead-5-sec-airspeed-kt</prop> -->
  532. <prop>/velocities/airspeed-kt</prop>
  533. </input>
  534. <reference>
  535. <prop>/autopilot/settings/target-speed-kt</prop>
  536. </reference>
  537. <output>
  538. <prop>/controls/flight/fcs/pitch</prop>
  539. <!-- <prop>/controls/engines/engine[1]/throttle</prop>
  540. <prop>/controls/engines/engine[2]/throttle</prop>
  541. <prop>/controls/engines/engine[3]/throttle</prop>
  542. <prop>/controls/engines/engine[4]/throttle</prop>
  543. <prop>/controls/engines/engine[5]/throttle</prop>
  544. <prop>/controls/engines/engine[6]/throttle</prop>
  545. <prop>/controls/engines/engine[7]/throttle</prop>-->
  546. </output>
  547. <config>
  548. <Kp>0.1</Kp> <!-- proportional gain -->
  549. <beta>1.0</beta> <!-- input value weighing factor -->
  550. <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
  551. <gamma>0.0</gamma> <!-- input value weighing factor for -->
  552. <!-- unfiltered derivative error -->
  553. <Ti>10.0</Ti> <!-- integrator time -->
  554. <Td>0.00001</Td> <!-- derivator time -->
  555. <u_min>0.0</u_min> <!-- minimum output clamp -->
  556. <u_max>1.0</u_max> <!-- maximum output clamp -->
  557. </config>
  558. </pid-controller>
  559. <!-- Hold speed by varying pitch trim (Two stage cascading controller) -->
  560. <pid-controller>
  561. <name>Speed hold (vary pitch trim) Stage #1</name>
  562. <debug>false</debug>
  563. <enable>
  564. <prop>/autopilot/locks/speed</prop>
  565. <value>speed-with-pitch-trim</value>
  566. </enable>
  567. <input>
  568. <prop>/autopilot/internal/lookahead-5-sec-airspeed-kt</prop>
  569. </input>
  570. <reference>
  571. <prop>/autopilot/settings/target-speed-kt</prop>
  572. </reference>
  573. <output>
  574. <prop>/autopilot/settings/target-pitch-deg</prop>
  575. </output>
  576. <config>
  577. <Kp>0.5</Kp> <!-- proportional gain -->
  578. <beta>1.0</beta> <!-- input value weighing factor -->
  579. <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
  580. <gamma>0.0</gamma> <!-- input value weighing factor for -->
  581. <!-- unfiltered derivative error -->
  582. <Ti>0.1</Ti> <!-- integrator time -->
  583. <Td>0.00001</Td> <!-- derivator time -->
  584. <u_min>-5.0</u_min> <!-- minimum output clamp -->
  585. <u_max>5.0</u_max> <!-- maximum output clamp -->
  586. </config>
  587. </pid-controller>
  588. <pid-controller>
  589. <name>Speed hold (vary pitch trim) Stage #2</name>
  590. <debug>false</debug>
  591. <enable>
  592. <prop>/autopilot/locks/speed</prop>
  593. <value>speed-with-pitch-trim</value>
  594. </enable>
  595. <input>
  596. <prop>/orientation/pitch-deg</prop>
  597. </input>
  598. <reference>
  599. <prop>/autopilot/settings/target-pitch-deg</prop>
  600. </reference>
  601. <output>
  602. <prop>/controls/flight/elevator-trim</prop>
  603. </output>
  604. <config>
  605. <Kp>-10.0</Kp> <!-- proportional gain -->
  606. <beta>1.0</beta> <!-- input value weighing factor -->
  607. <alpha>0.1</alpha> <!-- low pass filter weighing factor -->
  608. <gamma>0.0</gamma> <!-- input value weighing factor for -->
  609. <!-- unfiltered derivative error -->
  610. <Ti>0.5</Ti> <!-- integrator time -->
  611. <Td>0.00001</Td> <!-- derivator time -->
  612. <u_min>-5.0</u_min> <!-- minimum output clamp -->
  613. <u_max>5.0</u_max> <!-- maximum output clamp -->
  614. </config>
  615. </pid-controller>
  616. </PropertyList>