- Joined
- Jan 7, 2008
- Messages
- 5,790
- Reaction score
- 780
- Points
- 203
- Location
- Earth
- Website
- orbides.org
- Preferred Pronouns
- she/her
Continuing from discussion there: http://www.orbiter-forum.com/showthread.php?t=14650
Current version thread is here:
http://www.orbiter-forum.com/showthread.php?t=22753
Orbiter Universal Autopilots (UAP) is a framework for writing and running universal and sequence-able autopilots in Orbiter. If you heard about Redshift by Bernd R. Fix., UAP is something similar, but much better (once done).
Alpha 100304:
orbides.1gb.ru/orbf/uap-alpha-100304.zip
VC6 build, if you got no MFD with module active: orbides.1gb.ru/orbf/uap-alpha-100304-vc6.zip
Latest Alpha is 100324, info in post 140, latest version is on OH, info above
What can it be used for?
From the player point of view, it's an MFD that one can use to define a series of actions to be performed on the current vessel, like lift off, climb to orbit, wait for apoapsis, circularize.
- So far, the set of autopilots available is somewhat limited, but it's fixable with time.
- The sequence of autopilots run fully automatic, starting next one as the previous completes.
- It is designed to be saved to scenario at any point, and be resumed correctly on reload.
- The framework allows autopilots to be orientation – independent, thus, ascent autopilot can be run with any engine, for example.
From a developer point of view, it could have been a nice framework for writing autopilots, but unless there is a noticeable interest in it, no SDK release is planned.
How to use it?
Simple. Enable uap module in the launchpad, use the UAP MFD.
Using UAP MFD
UAP MFD is opened by Shift+B.
- It shows the status of the UAP system for current vessel.
- The system is MFD-independent, the autopilots will run regardless of which MFD's are open and on which vessels.
Keys:
The key scheme resembles TransX – there are steps in a sequence, and there are variables for each step.
- STP, S - Terminate current sequence
- PG , P - Switch page. Each page have separate functions on it.
- < , < - Previous variable, previous AP in insert list
- > , > - Next variable, next AP in insert list
- ENT, E - Enter new value for current variable, select highlighted action
- GO , G - Start the sequence
- PRV, R - Previous step in the sequence
- NXT, F - Next step in the sequence
- INS , I - Insert step into sequence
- DEL , D - Remove step from sequence
- ^ , [ - Move selected step up
- v , ] - Move selected step down
Sequence page
On this page you can edit or define the sequence of autopilots for current vessel.
Keys used: INS, DEL, ^, v, PRV, NXT.
INS adds new step after selected, or creates the sequence if none are defined.
After pressing INS the AP selection menu will open.
Select with < and >, end confirm with ENT.
Input variables page
Here one can change or view the variables of the current AP in the sequence.
- The APs are cycled by PRV and NXT, variables are selected by < and >.
- Pressing ENT will open the input prompt for the highlighted variable.
- Changing input variables is not possible for completed or running APs
- Yellow variables are info variables, that shows information about the things current AP is doing. These cannot be edited.
Status page
Status page shows the state of the current sequence and the variables of the step being executed.
As in input page, green are user inputted variables and yellow are info variables.
Scenario files
The sequences are stored in the scenario files in uap section in strings like one below:
>GL-NT:lift_off(mode=0,engine=hover,heading=70),tools(type=0,key=g).
The format is simple:
- First symbol defines if the sequence is running (>) or not ($).
- The vessel name, followed by :
- A list of autopilots with variables in (), separated by comas.
- A . at the end.
- Variables are name=value string, separated by comas
- Lines can be broken at any point to enhance readability
Autopilot descriptions
-Trans-orbit autopilot. Gets you from one orbit to another with the same plane, or from suborbital trajectory to orbit.
-Lift-off autopilot. Gets the vessel off the pad, either in vertical climb or in hover to altitude. Can perform roll and pitch open-loop guidance
-Tools "autopilot". Performs various functions, like key presses or waiting.
-Attitude autopilots. Performs attitude maneuvers. So far can only point prograde.
Variable descriptions are in the manual.
So?
So, i've mostly completed the framework and started populating it with autopilots. And, at this point i welcome any feedback. If anyone is interested in this, what can be made out of this?
From the testing point of view, the trans-orbital autopilot should be fairly solid and work with any non-unusual vessel. Also, the system as whole should be usable. Bug reports and design ideas are welcome.
.
Last edited: