Project Multistage2015 - Development Thread

For the glimit I think that the throttle down is just an istant late than the acceleration (that is normal, it's not a predictive command, it's just a check on the acceleration and if the acceleration is higher then it throttles down engines). I can leave it like this and recommend to put a level slightly lower than the acceptable limit or I can setup the command so if you put 5Gs it will do the check on 4.8 for example... what do you suggest?

For the gravity drag dividing by the cosine will produce the same effect on the opposite side: predicted MECO will be higher and then it will decrease. PEG algorithm assumes a linear variation of the pitch in time, so it cannot be constant. I will go through PEG equations again to see if there is a way to refine this smoothly.
Cheers!
 
I think Glimit is fine how it is.

Perhaps just get rid of the time to MECO altogether. I think that would be preferable to displaying wrong/misleading information. Or perhaps only display some short time before MECO.


Perhaps after release, a latter version of multistage could make more actual use of the trajectory file for such things. The trajectory file might also be useful in solving the initial pitch problem.
 
Last edited:
Perhaps just get rid of the time to MECO altogether. I think that would be preferable to displaying wrong/misleading information. Or perhaps only display some short time before MECO.

I have to say that I like to have a reference MECO.

I spent a bit of time refining the calculation, but even applying rigorously the PEG equation I get a similar variation of Predicted MECO overtime. I'll try one last thing: I'll try to get the average variation overtime of Predicted MECO, project it forward and see when it "crosses" MET and use that as final Predicted MECO... let's see!

Perhaps after release, a latter version of multistage could make more actual use of the trajectory file for such things. The trajectory file might also be useful in solving the initial pitch problem.

Yep, I think that telemetry files can be used for example for create excel tools that can optimize the flight parameters. I'm just giving the entry point, I don't want to do everything inside the multistage module: users willing to play with calculus and various tools can then have fun on this stuff!
 
CANDIDATE RELEASE

Hi all,

This is the candidate release for the Multistage2015 module, downloadable from the following link (same of the older posts):

Multistage2015 - Candidate Release - Orbiter 2010P1

And at the following link the candidate release for the new orbiter beta:

Multistage2015 - Candidate Release - Orbiter Beta

Changelog from the last update:
- changed and updated algorithm for the gravity turn initial pitch calculation. This is a brand new algorithm I developed on my own which seems to be quite effective and precise.
- Predicted MECO now show up only during the burn of the orbit insertion stage and includes an algorithm brand new which predicts accurately the possible variations, so now the shown value is a lot more stable and becomes a reliable number
- updates to PEG algorithm which now is more stable and smooth
- Complex mode now has a new feature: an aerodynamic force is applied and tries to take away the vehicle from the proper gravity turn (like happens in reality). If the aoa or the slip angle get too wide while drag is stil significant (>500kN) the vehicle lose control and then destroy itself.
- other bug fixes


If no major bugs or issues are reported in the meantime I will publish this on OH this weekend.

Greetings! :cheers:

Fred
 
I tested on Orbiter 2010P1 and Orbiter Beta. It works excellent! :thumbup:
 
You broke my Atlas. :dry:

The aerodynamic destruction thing is cool, though.
 
You broke my Atlas. :dry:

I'm sorry my friend, I just checked it and it's not perfect as you did it anymore. But the Peg algorithm is now much much smoother, I think the improvement is remarkable.

But this will be the last update of the major algorithms, be sure!
 
What do you mean smoother? Based on what? It was smooth before. :shrug:

The new "smooth" initial pitch angle is now 71 degrees. This does not work with the complex mode. The gravity turn fails with atmospheric destruction. :(
 
The main difference in PEG is about the acceleration calculation, which is no longer the acceleration projected on the velocity vector, but is the absolute acceleration (which is more correct!)

This leads to two main advantages:
1) Peg convergence happens a lot before, so for example the stand by in peg pitch limit is reduced to minimum in almost all cases
2) pitch variation are much slower because variations no longer depends on the difference between speed and velocity vector. I tried a couple of vectors (Delta2 and SLS) and the difference was very noticeable.

Now, what you point out is correct: if the initial pitch angle is too small the rocket turns too much and it tares apart (actually this is a sign of realism, isn't it?)

So this is my idea: the third altitude step is the step where initial pitch shall be finished and gravity turn starts. I'll make the pitch rate of the initial pitch dependant on the third altitude step, so if the initial pitch is too small, it will be necessary to increase the third altitude step in order to make the pitch happening slower and in a longer time. What do you think?


Moreover, you can also increase the pitch thrust of the rocket (the default values for examples are at limit but worked for me).

At last, my initial pitch angle for 50km is 76.8, not 71 :hmm:
 
I will confirm that my tests show that the new PEG is more efficient than the old PEG. The telemetry file is very useful for this. :)

Now, what to do about the gravity turn...:hmm:
 
A few questions, will Multistage2015 have a customizable autopilot that can accurately target an orbit or will it be like Multistage2 where the autopilot is pitch angle versus time? Also, will it be compatible with Orbiter 2010 P1 or will it be an Orbiter 2015 Beta exclusive?
 
A few questions, will Multistage2015 have a customizable autopilot that can accurately target an orbit

Yes

or will it be like Multistage2 where the autopilot is pitch angle versus time?

Yes also

Also, will it be compatible with Orbiter 2010 P1

Yes

or will it be an Orbiter 2015 Beta exclusive?

Yes also.

Congratulations, you are 4/4.
 
Eheh thanks boogabooga.

Let me add that the precise orbit insertion autopilot is the feature that i've worked on most, but to grant retrocompatibility and to allow for particular trajectories not relevant to orbital insertion, multistage2015 works also with the old multistage2 autopilot system as booga anticipated.

I'd like also to add that ms2015 HAS these features, not "will have", it's a 99% finished module, i'm just adding some final stuff.

Please check here for download:
http://www.orbiter-forum.com/showthread.php?p=517399&postcount=225
 
I've been testing this using the Skylab space station launch. I found that using a pitch angle vs. time guidance for the first stage burn with the accurate autopilot kicking in after staging gives the most accurate ascent into Earth orbit. I consulted the Skylab 1 and 2 press kit for the S-IC and S-II center engine out times. My laptop is slow on the draw so slowing to 0.1 sim speed just before SECO gives me a really nice and accurate cutoff.

I did notice that the Saturn V had difficulty following the first stage pitch program that I threw together for it. I have to hit the kill-rot button to get the Saturn to not over shoot the final first stage climb angle of 50 degrees.

This is my guidance file for the Skylab 1 launch:

Code:
-10=PlaySound(Sound\Vessel\Skylab1Launch.wav)
-4=engine(0,100,4)
0=engine(100,100,1)
18=roll(18,90,45,85,1)
45=pitch(85,80,4)
50=pitch(80,80,30)
80=pitch(80,50,40)
120=pitch(50,50,41)
140=engineout(1)
180=orbit(434.50,434.50,50.00)
314=engineout(1)

That Playsound command is for a custom countdown sound that I made using actual audio of the launch through max q.

---------- Post added at 08:23 AM ---------- Previous post was at 08:17 AM ----------

I used the Multistage Saturn V/Skylab from usonian's Skylab1973 v2.1.
 
Thanks, you correctly showed that the orbit program can also be called during flight if we are wishing to use the old vinka guidance for the first part of the ascent.

May I ask you why you didn't use the orbit program for the whole ascent?
 
I initially used the smart autopilot for the whole flight but the ascent path was a lot shallower than what I would have liked it. The Saturn was ending up with a climb angle of 35 degrees rather than the 50 degrees for lofting the second stage. The first stage of the Saturn actually used a pitch vs. time autopilot in real life, with the instrument unit taking over and steering the payload towards the proper orbit once the first stage was spent.

I'm still experimenting with Multistage2015. I find that adding the COMPLEX line to the scenario file causes the Saturn to tumble end over end and blow itself to pieces.

I'm still having issues getting the pitch autopilot to function right for me. I have to hit the killrot button at 50 degrees pitch because the Saturn overshoots it and continues to pitch down.

---------- Post added at 06:46 PM ---------- Previous post was at 06:37 PM ----------

Testing stuff like this makes me feel like those early rocket engineers and scientists who had no other option but to hit the launch command button, cross their fingers, and hold their breaths.
 
You can play with the 4th altitude step value and the peg pitch limit: try to increase the 4th altitude to about 50 km and set the peg pitch limit value to 50 deg, i think it will work. Check docs about this or of course ask help here, i'm ready to answer questions :-)

About self destruction: this happens because the peg starts to work when air drag is still important, if you want to play with complex mode on you have to play with your pitch (either the old ms2, or the new parameters) so the AOA remains low enough to avoid the loss of control.

For the pitch at 50 deg I do not have the pc now and cannot make tests, but it sholdn't do like that. The loop in the guidance you posted here doesn't close itself: orbit call should happens at 161, or last pitch should last 60 seconds
 
I'm confused by documentation.

Code:
The first thing to know it’s that the Orbit call divides the ascent in 4 phases, based on altitudes:

The Null Phase, from 0 to first altitude Step:
Nothing happens, the rocket simply climbs and clears the tower.

The Roll Phase, from first altitude Step to second altitude Step:
Roll program, note that for Orbit program if the roll isn’t over at the reaching of the second altitude step it’s not a big deal, 
everything will work anyway. The Roll program will turn the vehicle to the desired azimuth and will leave it at the Gravity 
Turn Initial Pitch.

Gravity Turn Phase: from [U][B]second[/B][/U] altitude Step to [U][B]third[/B][/U] Altitude Step:
Here gravity turn takes place, it’s an open loop phase, where the rocket is kept with proper roll and heading and 
the only relevance for pitch is the aoa.

PEG Phase: from [B][U]third[/U][/B] altitude Step upward:
This is the key step, that will take the rocket and bring it to its target orbit

I think you mean that the second altitude Step to third Altitude Step is a pre-gravity turn phase that will pitch down to the initial pitch, regardless of AOA.

Third altitude Step to fourth Altitude Step is the actual gravity turn to maintain 0 AOA.

Fourth altitude step and above is the PEG phase.
Is this correct?
 
Last edited:
Yep, correct good point: i was misleaded by the fact that in the code the array of the altitude steps starts its indexes from 0 so i skipped a phase, sorry! I'll correct it for the release!

Very good catch and thanks a lot for pointing this out!
 
Back
Top