Ben maar weer even bezig geweest met mijn cruise missile. Hij heeft nu guidance!
Dit is het script:
https://host.tuxplace.nl/missile2.ks.html
Zoals je ziet, kan de missile autonoom naar het target vliegen en deze redelijk precies raken. Het script bestaat in feite uit drie 'stages': Launch, cruise, en dive.
De missile wordt verticaal gelanceerd en gaat daarna met een pitch van 20° op het target af. De SRBs worden gejettisoned, en het script gaat verder naar de 'cruise' stage.
De gewenste cruising altitude wordt berekend aan de hand van de afstand tot het target, met een maximale cruising altitude van 20 km. Dit ziet er ongeveer zo uit:
Het script gebruikt een PD-controller (proportional-differential) om de missile op het gewenste cruising altitude te houden. De missile houdt dus een bepaalde pitch aan, die afhankelijk is van de huidige proportionele fout (verschil tussen huidige hoogte en gewenste cruising altitude), en de differentiële fout (huidige verticale snelheid). Het uitgangssignaal van de PD-controller moet uiteraard worden vertaald naar een hoek die niet kleiner dan -90° en niet groter dan 90° kan zijn. Hiervoor wordt de boogtangens gebruikt, die daar een mooi asymptotisch gedrag voor heeft.
De maximale hoek wordt nog verder beperkt door de airspeed: op mach 4 heb je niet zulke grote stuuruitslagen nodig. Hiervoor is er dus nog een extra correctiefactor, die de maximale pitch beperkt. De mate van invloed van de airspeed op de maximale pitch kan nog extra getuned worden mbv een parameter. Hieronder is te zien hoe die parameter de invloed van de airspeed op de maximale pitch angle beïnvloedt:
Zodra de afstand van het target binnen 3 maal de huidige hoogte komt, is het target 'binnen range' en stuurt het script de missile recht op het target af.
(A)PN-guidance is hiervoor allemaal overkill: dat heb je alleen nodig als je bewegende targets wilt raken, zoals bijvoorbeeld bij een air-to-air missile. Dit echter geen air-to-air missile, en voor ground targets voldoet het om de missile simpelweg recht op je target af te sturen.