Powered Guidance
Guidance for Kitten Space Agency (KSA): guidance for powered ascent and powered descent, allowing accurate orbit targeting and pinpoint landing.Unified Powered Flight Guidance
The UPFG program is the program that was used to guide the Space Shuttle to its desired orbit, as well as providing capability for other orbital manoeuvres. The implementation of Mode 1 (standard ascent) is explained extremely well by the wonderful PEGAS mod for KSP https://github.com/Noiredd/PEGAS-MATLAB/blob/master/docs/upfg.md
This mod iterates by including Mode 2 from the UPFG paper "Ascent to Reference Trajectory", which allows us to drive the cutoff position to a desired point by modulating throttle. This can not only be used to target a reference trajectory on launch, but also to fly the vehicle to a precise landing point.
G-FOLD and Lossless Convexification
For the terminal landing, we use JPL's G-FOLD Algorithm developed by Blackmore et al. http://larsblackmore.com/iee_tcst13.pdf
This provides fuel-optimal landing at a designated point, subject to constraints on minimum and maximum thrust, thrust pointing, glide slope and maximum speed. This is achieved by formulating a second-order cone problem and solving it multiple times a second to provide a constantly updating solution which is able to cope with disturbances and modelling uncertainties.
The thrust direction and magnitude are fed to KSA's autopilot as an Euler angle command and a throttle setting. Therefore, the solver can fail when rapid changes of direction are required, as the 6-DOF dynamics are not accounted for. For this reason, it will likely provide better results with an agile lander using RCS for pointing, rather than the large default rocket with a large coupling between thrust and control rate due to thrust gimballing.
Installation
- Install StarMap.
- Download the latest release from the Releases tab.
- Extract into
Documents\My Games\Kitten Space Agency\mods\PoweredGuidance\. - The game auto-discovers new mods and prompts you to enable them. Alternatively, add to
Documents\My Games\Kitten Space Agency\manifest.toml:
Code:
[[mods]]
id = "PoweredGuidance"
enabled = true
Dependencies
| Package | Purpose | Tested version |
|---|---|---|
| StarMap | Mod loader, required at runtime (see Installation) | 0.4.5 |
Build dependencies
Required only to build the mod from source. Targets .NET 10.| Package | Source | Tested Version |
|---|---|---|
| StarMap.API | NuGet | 0.3.6 |
| Lib.Harmony | NuGet | 2.4.2 |
License
GPLv3 — seeLICENSE. This is required because the mod links the vendored ECOS solver, which is GPLv3; the whole work is therefore distributed under GPLv3.Credits
- ECOS (embotech) — the conic solver, GPLv3.
- PEGAS by Noiredd — reference and foundation for the UPFG implementation.
- G-FOLD — Açıkmeşe & Blackmore, lossless convexification of powered-descent guidance.
Source
GitHub Repository: https://github.com/cairn5/PoweredGuidanceLatest Release: https://github.com/cairn5/PoweredGuidance/releases/latest