diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..0586c58 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,31 @@ +### Change log + +## [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), +* roll control via user events, +* better throttle control via user events, +* new user event type (`jettison`) to account for the amount of jettisoned mass, +* stages can explicitly shut down engines (useful for Falcon 9 style missions), +* LAN and inclination as optional parameters, +* launch direction (northerly and southerly, as well as "nearest opportunity"), +* automatic seizing control from the kOS CPU part. + +##### Bug fixes: +* throttling obeys the way [Realism Overhaul works](https://github.com/Noiredd/PEGAS/issues/12), +* 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. + +##### Features: +* precise orbital guidance, allowing targeting both inclination and longitude of ascending node + periapsis and apoapsis, +* launches to reference plane (by selecting target in the in-game map), +* simple atmospheric ascent in 3 steps: vertical ascent for a given time, pitch-over by a given angle, hold prograde, +* automatic lift-off time and (optionally) launch azimuth calculation, +* flexible automatic staging allowing for separation-ullage burn-ignition sequences, with support for both SRB and RCS-based ullage (as well as none at all), +* basic user events system (for jettisoning of spent strap-on boosters, fairings etc.). diff --git a/README.md b/README.md index 0b4a3cb..0146661 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## PEGAS +# 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). Its unique feature is an 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: @@ -16,24 +16,31 @@ Short list of what PEGAS is capable of: 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). -### How to use - see [tutorial](docs/tutorial.md) and [reference](docs/reference.md) -1. Dowload files from this repository's [kOS folder](kOS) and place them in your `Script` folder. -2. Define your vehicle and mission. -3. Once on the launch pad, load the definitions from pt. 2. and type `run pegas.` in kOS terminal. +## **[Version 1.1 is here!](https://github.com/Noiredd/PEGAS/releases/tag/v1.1)** -### Note about this repository -I have been using tabs throughout the whole code, having its length set to 4 spaces in all my editors. -I was unaware that github uses length of 8 - as a result, some of the `.ks` files look *really* bad. -If your eyes hurt, you can force github to display them with tab size of 4 spaces by adding `?ts=4` to the URL of the file you're viewing. -Unfortunately there is no way to make it a global setting (or even configure it for the repository). +### 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. +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. -### Disclaimer -This is a first public release of PEGAS. -Due to sheer amount of work on prototyping and coding it, and the range of potential problems with launch vehicles, I have been unable to test it with many rockets. -Therefore, I cannot guarantee that it will handle *any* vehicle or that it is entirely bug-free. +### How to get help +PEGAS is not a magical do-it-all, it needs some effort set up and get running. +It has been tested with several launch vehicles, from real-world launchers like Atlas V or Saturn V, through user-made vehicles, both in RO and vanilla settings. +However, I cannot guarantee that it will handle *any* vehicle or that it is entirely bug-free. Likely, it will take you several tries before you get your rocket flying - and maybe you will find yourself unable to do that at all. I am willing to provide support, correct bugs and (to some extent) introduce new functionalities to PEGAS. In case of problems: read the [how to submit issues](docs/issues.md) page and then visit the issue tracker. ### Demo +Here is a video demonstration of the initial release of PEGAS in action, flying an Atlas V to parking orbit aligned with the International Space Station. +It mostly focuses on explanation of the underlying guidance algorithm, only showcasing what functions PEGAS *has* instead of explaining how to use them. +For that I strongly recommend reading the [tutorial](docs/tutorial.md). + + +### Note about this repository +I have been using tabs throughout the whole code, having its length set to 4 spaces in all my editors. +I was unaware that github uses length of 8 - as a result, some of the `.ks` files look *really* bad. +If your eyes hurt, you can force github to display them with tab size of 4 spaces by adding `?ts=4` to the URL of the file you're viewing. +Unfortunately there is no way to make it a global setting (or even configure it for the repository). diff --git a/docs/issues.md b/docs/issues.md index df77735..723d5a8 100644 --- a/docs/issues.md +++ b/docs/issues.md @@ -1,13 +1,13 @@ ## How to submit an issue -PEGAS is a quite complex piece of software, and due to notorious difficulty in debugging anything in kOS (one has to run the entire ascent) it is not free from bugs or errors. +PEGAS is quite complex for a kOS script, and due to notorious difficulty in debugging anything in kOS (one has to run the entire ascent) it is not guaranteed to be completely free from bugs or errors. I am willing to provide support and correct those bugs. -The best way to notify me about problems and receive help is via the [issues tracker](../../../issues). -Private messages on [forum.kerbalspaceprogram.com](https://forum.kerbalspaceprogram.com) also work. +The best way to notify me about problems and receive help is via the [GitHub issue tracker](https://github.com/Noiredd/PEGAS/issues). +Private messages on [forum.kerbalspaceprogram.com](https://forum.kerbalspaceprogram.com) or posts in my [development thread there](https://forum.kerbalspaceprogram.com/index.php?/topic/142213-pegas-powered-explicit-guidance-ascent-system-devlog/) also work, although might be slower. -1. Check the issue tracker - maybe I already know about the problem? -2. Check the [tutorial](tutorial.md) and [reference](reference.md) - maybe the answer is there already? -3. If not, describe what's wrong. +1. Check the [tutorial](tutorial.md) and [reference](reference.md) - maybe the answer is there already? +2. Check the [issue tracker](https://github.com/Noiredd/PEGAS/issues) - maybe I already know about the problem? +3. If not, make a new issue and describe what's wrong. If you get an error message - what does it say? If PEGAS crashes - when and how? If PEGAS fails to get to orbit - provide as much info as you can: `vehicle`, `controls`, `sequence` and `mission` contents, `.craft` file - anything that would allow me to reproduce your issue. @@ -26,5 +26,5 @@ TAC Life Support US Probes Pack I *could* install some other thing, but the easier you make it for me to help you, the faster and more reliably I can do that. -I welcome all usage questions and improvement suggestions, even to the documentation. +I welcome all usage questions and improvement suggestions, especially to the documentation. If something is unclear, or badly explained - please let me know. diff --git a/kOS/pegas_misc.ks b/kOS/pegas_misc.ks index 1d5c836..4fb25b6 100644 --- a/kOS/pegas_misc.ks +++ b/kOS/pegas_misc.ks @@ -19,7 +19,7 @@ SET TERMINAL:HEIGHT TO 26 + 14. // Few more lines for debugging FUNCTION createUI { CLEARSCREEN. PRINT ".-----------------------------------------.". - PRINT "| PEGAS v1.0 |". + PRINT "| PEGAS v1.1 |". PRINT "| Powered Explicit Guidance Ascent System |". PRINT "|-----------------------------------------|". PRINT "| T h m s | |".