Skip to content

Commit

Permalink
v1.3 documentation update
Browse files Browse the repository at this point in the history
  • Loading branch information
Noiredd committed Oct 2, 2022
1 parent 9fa2943 commit 8fa0ed6
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 17 deletions.
45 changes: 43 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,62 @@
### Change log

## [v1.3](https://github.com/Noiredd/PEGAS/releases/tag/v1.3) "Olympus" (2022-10-02)
The final major version of PEGAS: now it has _all you might possibly use_.

##### Features:
* GUI overhaul: better reporting of the vehicle and guidance status,
including an event-by-event **flight plan** display (#37), which is possible because...
* UPFG is now aware of jettison and shutdown events *before* they happen (via a mechanism called [_virtual stages_](docs/magic.md))
* new passive guidance mode, `pitchProgram`, allows fine-tuning the ascent with a pitch-altitude schedule - **by [Aram1d](https://github.com/Aram1d)**
* new event type: `shutdown`, allows shutting down specific engines (by part tags), **also during active guidance**
* new event type: `action`, allows execution of standard action groups
* new ullage type: `hot`, allows hot-staging by reversing the jettison-ignition order
* new staging option: `postStageEvent`, allows jettison _after_ ignition (e.g. an interstage ring, Saturn-style)
* addons: you can now create custom extensions to PEGAS
an [addon sharing repository](https://github.com/Noiredd/PEGAS-addons) has also been started

##### Tweaks:
* unscheduled loss of thrust will now be detected and handled by aborting the mission
* known errors in vehicle/controls configuration will now crash the system _prior to launch_
* improved error checking for vehicle staging configuration
* "jettison but no ignition" configuration on a first stage is now banned - instead, use either the `postStageEvent` option in `staging` or the jettison event in `sequence`
* settings are now grouped together in a lexicon instead of being a bunch of scatterred globals
* default settings have been changed to relax the overly strict convergence criterion and increase the initial convergence time

##### Fixes:
* PEGAS will now maintain min-AoA control while initially converging UPFG
* UFPG will not longer steal control the instant it converges, but actually wait until the moment defined by user in `controls["upfgActivation"]`
* throttle control in active guidance phase now correctly (i.e. instantly) switches between constant-acceleration and default modes
* countdown clock is now accurate
* documentation upgrades

##### Under the hood:
* unified events system (`pegas_events`): no more "user", "staging", and "system" events (#43)
* refactored the passive guidance loop, moving the atmospheric guidance part to a new module, `pegas_atmo`
* `initializeVehicle` renamed to `initializeVehicleForUPFG` and refactored
(`recalculateVehicleMass`, `accLimitViolationTime`, and `createAccelerationLimitedStage` have been merged into it)
* for legibility, `stagingInProgress` is now used consistently and several new technical flags are introduced (see [e8c051b](../../commit/e8c051b))
* version number is no longer stored in the UI code ;)


## [v1.2](https://github.com/Noiredd/PEGAS/releases/tag/v1.2) (2021-01-17)
New CSE routine, delegate events, and several minor fixes.

##### Features:
* new Conic State Extrapolation routine by [pand5461](https://github.com/pand5461),
* new Conic State Extrapolation routine **by [pand5461](https://github.com/pand5461)**
* delegate events - call any function at any time via `sequence`
* cleaner settings system

##### Fixes:
* fixed a typo in the comms module
* cleaner pre-check routine with better feedback


## [v1.1](https://github.com/Noiredd/PEGAS/releases/tag/v1.1) (2017-11-05)
Multiple fixes for bugs identified after the initial release and new features requested since.

##### Features:
* inter-CPU communication system by [Patrykz94](https://github.com/Patrykz94),
* inter-CPU communication system **by [Patrykz94](https://github.com/Patrykz94)**,
* roll control via user events,
* better throttle control via user events,
* new user event type (`jettison`) to account for the amount of jettisoned mass,
Expand All @@ -30,6 +70,7 @@ Multiple fixes for bugs identified after the initial release and new features re
* sustainer-type stages are now handled properly,
* minor code clean-ups, GUI and documentation fixes.


## [v1.0](https://github.com/Noiredd/PEGAS/releases/tag/v1.0) (2017-07-30)
Initial release of PEGAS in its current form (all old code has been removed), introducing the Unified Powered Flight Guidance (UPFG) algorithm.

Expand Down
24 changes: 10 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,23 @@
# PEGAS
*Powered Explicit Guidance Ascent System*, from here referred to as *PEGAS*, is an ascent autopilot for Kerbal Space Program made and ran in [kOS](http://forum.kerbalspaceprogram.com/index.php?/topic/61827-122-kos-scriptable-autopilot-system-v103-20161207/), designed to control launch vehicles under a modified version of the game running [Realism Overhaul](http://forum.kerbalspaceprogram.com/index.php?/topic/155700-113-realism-overhaul).
PEGAS, short for *Powered Explicit Guidance Ascent System*, is an ascent autopilot for Kerbal Space Program using the [kOS](http://forum.kerbalspaceprogram.com/index.php?/topic/61827-122-kos-scriptable-autopilot-system-v103-20161207/) mod.
It is designed to control launch vehicles under a modified version of the game running [Realism Overhaul](http://forum.kerbalspaceprogram.com/index.php?/topic/155700-113-realism-overhaul) (although it should run in vanilla as well).
Its unique feature is the implementation of a real-word rocket guidance algorithm: Unified Powered Flight Guidance, as used in the **Space Shuttle** GN&C computer for the standard ascent flight mode.
Short list of what PEGAS is capable of:
* estimation of a launch window,
* calculation of a launch azimuth,
* simple atmospheric ascent by pitching over and holding prograde with zero angle of attack,
* automatic guidance to orbits defined by:
* apoapse
* periapse
* inclination
* longitude of ascending node
* or, alternatively, selecting an existing target,
* executing timed events (engine ignition, payload fairing jettison, or anything you want - via delegates),
* automatic staging, complete with ullage handling,
* estimation of the launch window,
* calculation of tha launch azimuth,
* atmospheric ascent (pick one of two guidance methods),
* automatic guidance to orbits defined by apoapse, periapse, inclination & LAN *or* selecting a target,
* execution of timed events (e.g. throttle control, engine shutdown, jettison, even custom activities via kOS delegates),
* automatic staging, complete with jettison, ullage, and ignition,
* ...and nearly anything else you want - via [addons](docs/addons.md)!

More info on my KSP [forum thread](http://forum.kerbalspaceprogram.com/index.php?/topic/142213-pegas-powered-explicit-guidance-ascent-system-devlog/), also see my [prototype repository](https://github.com/Noiredd/PEGAS-MATLAB).

## **[Version 1.2 is here!](https://github.com/Noiredd/PEGAS/releases/tag/v1.2)**
## **[Version 1.3 "Olympus" is here!](https://github.com/Noiredd/PEGAS/releases/tag/v1.3)**

### How to use
1. Make sure you have [kOS](http://forum.kerbalspaceprogram.com/index.php?/topic/61827-122-kos-scriptable-autopilot-system-v103-20161207/) installed. Note: [basic](http://ksp-kos.github.io/KOS_DOC/language.html) knowledge of kOS will be very handy.
2. Dowload files from this repository's [kOS folder](kOS) and place them in your `Script` folder.
2. Dowload the program files for [the current release](https://github.com/Noiredd/PEGAS/releases/tag/v1.3) and place them in your `Script` folder.
3. Define your vehicle and mission - see [tutorial](docs/tutorial.md) and [reference](docs/reference.md).
4. Once on the launch pad, load the definitions from pt. 2. and type `run pegas.` in kOS terminal.

Expand Down
2 changes: 1 addition & 1 deletion kOS/pegas.ks
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
GLOBAL _PEGAS_VERSION_ IS "v1.3-alpha".
GLOBAL _PEGAS_VERSION_ IS "v1.3".

// Check if all necessary variables have been defined, exit early otherwise.
RUN pegas_precheck.
Expand Down

0 comments on commit 8fa0ed6

Please sign in to comment.