Suggestions for an autopilot

santy86

New member
Joined
Apr 22, 2008
Messages
114
Reaction score
0
Points
0
Location
Amsterdam
Hi everyone,

I am finally at the point of making the autopilot for my INT-21. Since i am not exactly the most experienced add-on developer around :rofl: i wanted to ask suggestions.
Just which flight parameters would you take into account if you want to obtain a certain apoApsis ?

Thank in advance for your help :)
 
Last edited:

Tsynique

Addon Developer
Addon Developer
Joined
Jun 6, 2008
Messages
12
Reaction score
0
Points
0
I'm not an expert myself but I suppose You have two ways to do that.

First, lift off at least five times to a desired apo and write down the pitch angles you had every (for example) 10 seconds. Make an average out of all the angles, enter all that data into Your autopilot and make it follow the 'schedule'. This way You will definitely reach the orbit with a correct apo (that is if You did during the testing), however in such case the autopilot may become helpless in some situations because it will never think what to do but only follow the schedule.

Second way, would be to monitor the vertical speed, vertical acceleration, altitude and the apo distance itself. This way is "smarter" because the autopilot actually thinks how to handle certain cases and in case of anything going wrong it would have more chances in reaching the orbit at a correct altitude. The tricky part is to determine what pitch do You need for certain combinations of values I mentioned above.

Hope this helps.
 

Imagineer

New member
Joined
Feb 11, 2008
Messages
47
Reaction score
0
Points
0
Location
N42 2.9 W 91 35.4
I suggest a "divide and conquer" approach.

The launch phase goes straight up until clear of any obstacles on the ground. Monitor your horizontal accelerations and keep them at zero. Monitor your altitude to know when to move to the next stage.

The ascent phase has two jobs: Get you under the desired orbit, headed in the right direction and get you out of the atmosphere with enough extra energy to "coast" up to the desired orbital altitude. This uses a closed loop for lateral control and a pitch schedule (pitch vs altitude table) for vertical control. MECO, however occurs when the desired energy is achieved. Monitor your position with respect to the desired orbit (left or right) and correct as needed. Monitor your orbital velocity, altitude, and normal (perpendicular to the rocket body) accelerations. You will need the accelerations for damping.

The orbit insertion phase calculates the difference in velocity (a vector) and how long the engines need to run to achieve the desired velocity change. It then calculates when the burn needs to start so that when it is done, the spacecraft is in the desired orbit. Once the burn starts, this is a closed loop operation which is used to drive the difference between the actual and desired velocity to zero. Monitor your position with respect to the orbit (left/right and up/down). Monitor your orbital velocity (a vector). Continuously update the desired orbital velocity. Monitor the accelerations (three dimensions) for damping.

Autopilots wind up being more complex than they seem at first and are a good challenge. You would do well to at least grab a book about control theory for linear systems to help you get a starting set of equations. I spent about five years on an autopilot development team working on the simulator (not the autopilot itself) so I know something about the amount of work it takes with a real system (where safety issues have to be dealt with). But I can't share it all in one post.
 

agentgonzo

Grounded since '09
Addon Developer
Joined
Feb 8, 2008
Messages
1,649
Reaction score
4
Points
38
Location
Hampshire, UK
Website
orbiter.quorg.org
The latest version of LaunchMFD incorporates nasa's PEG algorithm to provide a pitch schedule to get to a desired orbit. It only works for SSTO craft atm but is a closed loop system.
 

santy86

New member
Joined
Apr 22, 2008
Messages
114
Reaction score
0
Points
0
Location
Amsterdam
Thanks a lot everyone. :speakcool:

I will try to implement the autopilot following the idea of a dynamic one.

Not just scheduling operations. In fact i want the user to be able to set himself a desired (yet achievable) apoApsis and Heading. :cheers:
 

Andy44

owner: Oil Creek Astronautix
Addon Developer
Joined
Nov 22, 2007
Messages
7,620
Reaction score
7
Points
113
Location
In the Mid-Atlantic states
IIRC, the real Saturn V used an open-loop azimuth and pitch schedule type of autopilot for the first stage flight, and then switched to a closed loop autopilot after staging.
 

santy86

New member
Joined
Apr 22, 2008
Messages
114
Reaction score
0
Points
0
Location
Amsterdam
thanks for the info Andy.

If i understood it correctly, after lift-off there was an open-loop (scheduled) program which turned the saturn to the desired azimut. After 1st stage separation the closed-loop autopilot started to work and put the saturn into orbit with desired apoApsis.

maybe i will use this technique. I am still on the study and plan phase of the autopilot but it will come ;)
 

santy86

New member
Joined
Apr 22, 2008
Messages
114
Reaction score
0
Points
0
Location
Amsterdam
Hi sts-107 and thanks a lot for the incredible documentation you pointed me with those links. That is what i was looking for actually, and i guess it is extremely useful for all orbiter developers who want to write an autopilot for their add-ons. :speakcool:
 
Top