Allora, ho provato questo sistema di autopilota (via LUA) del DG di default. Mi è sembrato un tantino complesso, ma forse è solo perchè era la prima volta...
Comunque sono riuscito ad atterrare intero (lisciando la pista di KSC).
Confermo che ha dei problemi sotto accelerazione temporale 10x, è come se andasse in sovracompensazione, e le oscillazioni intorno al punto voluto crescono fino a perdere il controllo, specie alla fine delle virate.
Perchè funzioni, si devono attivare nella scheda "Modules" le voci "LuaConsole" e/o "LuaMFD" (info sul manuale
orbiter.pdf, pagine 107-108).
Con la prima si avrà un'opzione in più nel menù CTRL+F4, chiamata "Lua console window".
Con la seconda si avrà un nuovo MFD, chiamato "Terminal MFD".
In ambedue i casi si potranno digitare i comandi LUA appropriati.
Nel primo caso, direttamente nella finestra della console; nel secondo, premendo il pusante "INP".
La console è più comoda del MFD, perchè con il tasto "freccia su" si richiamano i comandi già digitati.
Per avviare l'autopilota da console, digitare il comando
run('dg/aap').
L'autopilota viene invece caricato in automatico quando si apre il Terminal MFD.
Il primo comando da dare è comunque:
help(dg_aap).
Si aprirà una finestra di help (il cui file si trova in:
..\Html\Script\Stockvessels\DG\aap.chm).
Ecco il suo contenuto:
DeltaGlider: Atmospheric AutopilotThe Delta-glider is equipped with an atmospheric autopilot to control flight parameters during atmospheric flight, including
- altitude
- airspeed
- bank angle
- heading (questa l'ho aggiunta io)
The autopilot can be accessed via the ScriptMFD mode. This help file can be accessed from the script command line with
help(dg_aap)Loading the autopilotThe atmospheric autopilot is automatically loaded when activating the Script-MFD mode from one of the glider's multifunctional displays. If you want to run the autopilot from an external script console, it has to be loaded manually with
run('dg/aap')Function referenceaap.alt (tgtalt) | Engage altitude autopilot, or reset target altitude |
aap.alt () | Disengage altitude autopilot |
aap.spd (tgtspd) | Engage airspeed autopilot, or reset target speed |
aap.spd () | Disengage airspeed autopilot |
aap.bank (tgtbnk) | Engage bank angle autopilot, or reset target bank angle |
aap.bank () | Disengage bank angle autopilot |
aap.hdg (tgthdg) | Engage heading autopilot, or reset target heading |
aap.hdg () | Disengage heading autopilot |
Autopilot functionsAltitude autopilot modeThe altitude autopilot can be invoked with
aap.alt(tgtalt)where tgtalt defines the target altitude [m]. If the altitude autopilot was active already, this command simply resets the target altitude.
The altitude autopilot can be disabled by
aap.alt()Airspeed autopilot modeThe airspeed autopilot can be invoked with
aap.spd(tgtspd)where tgtspd defines the target airspeed [m/s]. If the airspeed autopilot was active already, this command simply resets the target airspeed.
The airspeed autopilot can be disabled by
aap.spd()Bank autopilot modeThe bank autopilot can be invoked with
aap.bank(tgtbank)where tgtbank defines the target bank angle [deg]. tgtbank > 0 indicates left bank, tgtbank < 0 indicates right bank. If the bank autopilot was active already, this command simply resets the target bank angle.
The bank autopilot can be disabled with
aap.bank()Heading autopilot modeThe heading autopilot can be invoked with
aap.hdg(tgthdg)where 0 = tgthdg = 360 defines the target heading angle [deg]. In the current implementation, the heading autopilot invokes both a bank and an altitude subfunction. Any existing bank and altitude modes will therefore be overridden. The function can be invoked again to modify the heading.
The heading autopilot can be disabled with
aap.hdg()Low-level accessThe following parameters in the aap table may be re-defined to modify the behaviour of the autopilot:
aap.tgtalt | Target altitude [m]. The value of this parameter is set by aap.alt(tgtalt). Overriding it while the altitude autopilot is active will reset the target altitude. |
aap.tgtspd | Target airspeed [m/s]. The value of this parameter is set by aap.spd(tgtspd). Overriding it while the airspeed autopilot is active will reset the target airspeed. |
aap.tgtbnk | Target bank angle [deg]. The value of this parameter is set by aap.bank(tgtbnk). Overriding it while the bank autopilot is active will reset the target bank angle. |
aap.maxasc | Max. ascent slope [deg] (> 0) used by the altitude autopilot during altitude transitions. Default value = +30 |
aap.maxdsc | Max. descent slope [deg] (< 0) used by the altitude autopilot during altitude transitions. Default value = -20 |
In pratica noi scriviamo
aap.spd(300), e il DG parte e raggiunge quella velocità. Mentre accelera scriviamo
aap.alt(1000), e il DG raggiungerà quella quota...eccetera, eccetera.
Occhio che a tirare su i carrelli in decollo ci dobbiamo pensare noi.