Launch MFD releases

I've received feedback from Stardude about the newest autopilot behaving unstable so I've reverted it to version 1.4.2 after all...
This is a big problem - you can't make one-autopilot-fits-all, because the ships have different parameters...

An ideal situation would be if I let the users define their own fuzzy rule bases and membership functions via text files for each ship they fly, but I'm so time limited that it's not possible, I'm affraid.

I'm leaving it as it was before, but if anybody with time budget wishes to join and help me, I'm open for propositions.

Wtf?
 
iiiiis there a problem?
 
iiiiis there a problem?


Noooo, Ive been trying to learn Launch MFD. It isnt coming easy. Then you post this. Now I dont know if Im wasting my time. Does it work ok with 2010 P1, or is that the question at hand?
 
This is what you were supposed to ask in the first place.

The problem is only with the autopilot behaving unstable for some ships (one for sure). For DG you wouldn't notice any problems.

Launch MFD is pretty modular, so even if one module of it behaved unstable for one class of ships, I believe you didn't waste your time.
 
This is what you were supposed to ask in the first place.

The problem is only with the autopilot behaving unstable for some ships (one for sure). For DG you wouldn't notice any problems.

Launch MFD is pretty modular, so even if one module of it behaved unstable for one class of ships, I believe you didn't waste your time.


Cool, thank you for pointing out the question I was suppose to ask. I am just now attempting to learn this MFD. Also if you reverted back to version 1.4.2 then why is your link showing 1.4.4. ? Im confused.
 
Last edited:
I've reverted only the space autopilot to 1.4.2. Sorry. Didn't make myself clear.

BTW. I don't know if anybody noticed, but the sound is back :) It can be switched on in Config\MFD\LaunchMFD.cfg
 
A new version is out. Get it [ame="http://www.orbithangar.com/searchid.php?ID=2802"]here[/ame].

New features are:

  • Autopilot: added pitch programme individual for each vessel and for each planet
  • Autopilot: support for roll program and for upside down flying vessels, like the Space Shuttle
  • Autopilot: PID values can be adjusted in a running simulation
  • Bugfix: the AP wouldn't work when the engines were started outside cockpit

Let me copy & paste changes made to the manual:

HOT! PID autopilot manual configuration

The PID autopilot is as universal as possible, meaning that its values are configured only once for DeltaGlider and hardcoded. For each different ship class, there's a calculation performed, which compares the current vessel's angular accelerations and compares them to that of the DG. This ratio lets the PID increase or decrease its values, so the AP works on the same settings.
If however they don't work, there's a possibility of defining the PID values by hand for each vessel class. The values can be adjusted in a running simulation with [Shift 1] for X & Y axes and [Shift 2] for bank. Both types have to be adjusted for atmospheric and space PIDs. The currently used PID is displayed on the bottom of main MFD page. The same PID type would be adjusted in the moment of pressing [Shift 1] or [Shift 2].
Once you are satisfied with your values, you'll be interested in saving them in a config file, so that they can take effect after you restart the simulation. The PID definitions are searched for in Config\MFD\LaunchMFD\ directory. The exact config file name can be obtained through the PID tuning input box with [Shift 1]. Exactly the same file with the same path need to be created. Therefore, sometimes creating a subdirectory may be necessary.
The available and read tags and their expected data are:


[FONT=Nimbus Mono L, monospace]SPACE_XY = (vector) [/FONT]
[FONT=Nimbus Mono L, monospace]SPACE_BANK = (vector) [/FONT]
[FONT=Nimbus Mono L, monospace]ATMO_XY = (vector) [/FONT]
[FONT=Nimbus Mono L, monospace]ATMO_BANK = (vector) [/FONT]
[FONT=Nimbus Mono L, monospace]ATMO_CONTINUOUS_CONTROL_SWITCH_ANGLE = (float) [/FONT]
[FONT=Nimbus Mono L, monospace]ATMO_BANK_TARGET_WINGS_LEVEL_SWITCH_ANGLE = (float)[/FONT]


A vector consists of three space separated floating point values, while float is one floating point value. The vectors' are used to pass PIDs' values - proportional gain, or Kp, derivative gain, or Kd, and integral gain, or Ki.
[FONT=Nimbus Mono L, monospace]SPACE_XY[/FONT] and [FONT=Nimbus Mono L, monospace]SPACE_BANK[/FONT] PIDs are used for X and Y axes control as well as bank control, correspondingly. Both in space. The same philosophy is used for atmospheric autopilot.
[FONT=Nimbus Mono L, monospace]ATMO_CONTINUOUS_CONTROL_SWITCH_ANGLE[/FONT] is an angle in degrees, for which the PID AP switches on, and brings its smooth control. Beyond that angle, the RCS and control surfaces work with full power, because only such behaviour makes sense for winged craft. Increasing value of this variable increases the spectrum of angles, in which the AP works in its whole scale, this means that it's function of power( distance ) will be stretched on this distance. For non winged craft it makes less sense to limit the continuous control spectrum, because they are already pitched to 90°, so reaching the target attitude wouldn't take much time. To disable the limit completely, a value of 180 degrees must be chosen, because the maximal angular distance is in range (-180°, 180°). Such setting would also eliminate a visible sudden jump in control when switching from atmospheric PID to space PID.
[FONT=Nimbus Mono L, monospace]ATMO_BANK_TARGET_WINGS_LEVEL_SWITCH_ANGLE[/FONT] is an angle in degrees, for which the AP changes its bank from target marker to wings level. Before that, it tries obtain such bank, that the target marker remains directly above the ship, so that it can reach it much quicker by pitching, rather than yawing later on.


A typical definition for the DeltaGlider would be:


[FONT=Nimbus Mono L, monospace]SPACE_XY = 2.5 16.0 0 [/FONT]
[FONT=Nimbus Mono L, monospace]SPACE_BANK = 1.0 12.0 0 [/FONT]
[FONT=Nimbus Mono L, monospace]ATMO_XY = 2.0 2.5 0 [/FONT]
[FONT=Nimbus Mono L, monospace]ATMO_BANK = 3.0 6.0 0 [/FONT]
[FONT=Nimbus Mono L, monospace]ATMO_CONTINUOUS_CONTROL_SWITCH_ANGLE = 10.0 [/FONT]
[FONT=Nimbus Mono L, monospace]ATMO_BANK_TARGET_WINGS_LEVEL_SWITCH_ANGLE = 20.0[/FONT]


Shift 1 = tune atmo/space PID for X & Y axes
Shift 2
= tune atmo/space PID for bank
HOT!Pitch program

In case the default PEG algorithm's pitch guidance doesn't suit you well, as it probably won't in cases other than in winged craft, you can override it by defining your own pitch program in the same config file where you place your PID definitions. An exemplary pitch program could look like the following:
[FONT=Nimbus Mono L, monospace]PITCH_PROGRAM[/FONT]
[FONT=Nimbus Mono L, monospace]Earth[/FONT]
[FONT=Nimbus Mono L, monospace]0 90[/FONT]
[FONT=Nimbus Mono L, monospace]10.5 80[/FONT]
[FONT=Nimbus Mono L, monospace]22.7 75.8[/FONT]
[FONT=Nimbus Mono L, monospace]40 45[/FONT]
[FONT=Nimbus Mono L, monospace]60 30[/FONT]
[FONT=Nimbus Mono L, monospace]END_PITCH_PROGRAM[/FONT]


The first column denotes altitude (argument), while the second column denotes the according pitch (value). The values for arguments between the designated altitudes are linearly interpolated. Therefore if you need a more precise and oval pitch profile, you need to increase the granularity, by inserting more altitude-pitch pairs.
For each planet, defined by the first line of the programme, there can be one pitch program defined. They should be placed in the same file with their own start and end markers, for example:
[FONT=Nimbus Mono L, monospace]PITCH_PROGRAM[/FONT]
[FONT=Nimbus Mono L, monospace]Earth[/FONT]
[FONT=Nimbus Mono L, monospace]0 90[/FONT]
[FONT=Nimbus Mono L, monospace]10.5 80[/FONT]
[FONT=Nimbus Mono L, monospace]22.7 75.8[/FONT]
[FONT=Nimbus Mono L, monospace]40 45[/FONT]
[FONT=Nimbus Mono L, monospace]60 30[/FONT]
[FONT=Nimbus Mono L, monospace]END_PITCH_PROGRAM[/FONT]


[FONT=Nimbus Mono L, monospace]PITCH_PROGRAM[/FONT]
[FONT=Nimbus Mono L, monospace]Mars[/FONT]
[FONT=Nimbus Mono L, monospace]0 90[/FONT]
[FONT=Nimbus Mono L, monospace]15 70[/FONT]
[FONT=Nimbus Mono L, monospace]30 50[/FONT]
[FONT=Nimbus Mono L, monospace]40 35[/FONT]
[FONT=Nimbus Mono L, monospace]END_PITCH_PROGRAM[/FONT]


If no planet name has been chosen, Earth is assumed by default.
If you are able to fine tune a spacecraft's pitch programme, then please share your work in this thread on Orbiter-Forum.
HOT! Roll program

There are two additional configuration boolean switches available for each craft: [FONT=Nimbus Mono L, monospace]ROLL_NEEDED[/FONT] and [FONT=Nimbus Mono L, monospace]UPSIDE_DOWN[/FONT]. The first one tells the AP, that roll should be performed right after launch, and the second one tells that the craft should ascend in an upside down manner, such as the Space Shuttle. Also, [FONT=Nimbus Mono L, monospace]UPSIDE_DOWN[/FONT] implies [FONT=Nimbus Mono L, monospace]ROLL_NEEDED[/FONT], so an entry in Shuttle Atlantis config file could look like the following:
[FONT=Nimbus Mono L, monospace]UPSIDE_DOWN = TRUE[/FONT]
[FONT=Times New Roman, serif]Currently, the roll is performed after the craft reaches a pitch of 88.5 degrees or below, because only then the AP can be sure in which direction to roll.[/FONT]
 
I'm glad you like it.

I've fixed a small bug in the pitch programme. When your pitch was below 20 and altitude below 60 km, your programme would have been overriden. Now, only the PEG is overriden, assuming that you know what you're doing with your programme (it has the greatest priority)
 
That's great! I had some problems with Atlantis as it pitched up as it reached 20°, shortly before SRB sep, making orbit insertion by autopilot impossible. Maybe I have something for that pitch program thread soon :).
 
A new version is out with finally working direct ascent!
[ame="http://www.orbithangar.com/searchid.php?ID=2802"]Launch MFD - v. 1.5.0 for Orbiter 2010[/ame]

First the shiny new thing:

Direct ascent
Direct ascent mode can be selected by pressing (Shift M) combination or MOD button. After activating direct ascent autopilot with (Shift P) or AP button, it works by automatically getting ship into a suborbital trajectory directly in the target orbit's plane, cruising, preferably with SCRAM engines, while waiting for the target to catch up on us. Once an injection window is available, the AP will bring you very close to the target.

There are two modes of direct ascent:
1) Regular – after injection, the ship immediately reaches the target orbit
2) Synchronization – the ship creates a synchronization orbit and the interception occurs at the orbits' intersection

The Synchronization mode should be used when the suborbital velocity is so high, that it's impossible to drastically change the orbit's shape as in the Regular mode. This is a typical case for a full throttle XR SCRAM ascent.
The modes are switched with (Shift D) or DEF button on the direct ascent page.
The Playback folder of LaunchMFD installation contains examples of direct ascent usage with descriptions.


And some changes to the pitch program:

Pitch program

Currently the PEG algorithm assumes that the current stage is the final stage. This means that if the vessel has more than one stage, the automatic PEG guidance will fail. What can be done about it is defining a pitch program, which guides the ship roughly during the first, booster assisted, stage. Then, after that stage runs out of fuel, the PEG would kick into action and fix the eventual errors. This can be done by defining the pitch program from the start, until the moment right after booster separation. The pitch programs should be placed in the same config file where you place your PID definitions. An exemplary pitch program could look like the following:

PITCH_PROGRAM_ALTITUDE
Earth
0 90
10.5 80
22.7 75.8
40 45
60 30
END_PITCH_PROGRAM_ALTITUDE


The first column denotes altitude (argument) in kilometers, while the second column denotes the according pitch (value). The values for arguments between the designated altitudes are linearly interpolated. Therefore if you need a more precise and oval pitch profile, you need to increase the granularity, by inserting more altitude-pitch pairs.
For each planet, defined by the first line of the programme, there can be one pitch program defined. They should be placed in the same file with their own start and end markers, for example:

PITCH_PROGRAM_ALTITUDE
Earth
0 90
10.5 80
22.7 75.8
40 45
60 30
END_PITCH_PROGRAM_ALTITUDE

PITCH_PROGRAM_ALTITUDE
Mars
0 90
15 70
30 50
40 35
END_PITCH_PROGRAM_ALTITUDE


If no planet name has been chosen, Earth is assumed by default.

Because the PEG should start to work as soon as boosters are separated, and because the booster separation time is constant, it is reasonable to define the pitch as time based, where the booster separation time (or a few seconds after it) would end the time based pitch program. Therefore,
assuming that the seperation occurs at T = 127s, a typical time based pitch program would look like the following:

PITCH_PROGRAM_TIME
Earth
0 90
20 90
130 20
END_PITCH_PROGRAM_TIME


If time based program and altitude based program for the same planet are found in one vessel's config file, then the time based one is prefered.
 
Last edited:
Just tested the Regular Direct Ascent with DGIV and i got with the very first try meco 2km from target (iss) in less than 16 minutes from takeoff!

Amazing work!!!:thumbup::thumbup::thumbup::hail:
 
Thanks. Don't try it in real planes though, haha.

I've fixed a seemingly small mistake - a typo in the altitude based pitch program reader. It was PITCH_PROGRAM_ALTITIDE, now it's PITCH_PROGRAM_ALTITUDE. Phew ...
 
LAUNCH MFD WITH THE SHUTTLEFLEET

HI
I AM TRYING TO USE THE LAUNCH MFD,WITH THE SHUTTLEFLEET IN ORBITER 2010,BUT I CANNOT MAKE IT WORK.

ANYBODY WHO KNOWS HOW TO MAKE IT WORK WITH THE FLEET?

HAZE39
 
I AM TRYING TO USE THE LAUNCH MFD,WITH THE SHUTTLEFLEET IN ORBITER 2010,BUT I CANNOT MAKE IT WORK.

First of all, DON'T SHOUT. Using all caps will not generate a faster response and is harder to read so please don't do it.

Secondly, Please provide more details, namely:

1. Is launch MFD installed?
2. Can you activate it for other vessels in orbiter 2010?
3. Are there any error messages?
4. Do you mean david413's fleet?
5. If you do mean David413's fleet why do you need launch MFD as the scenario for the vessel contains the launch heading details.
 
Launch MFD will never work with Shuttle Fleet. Shuttle Fleet uses a sort of engine gimballing to steer itself. Launch MFD uses RCS. No RCS on the vehicle, no way for Launch MFD to control it. And garyw is right, just use the built in SF autopilot. I is pretty darn good, and does all the thinks the Shuttle did on its way up to orbit.
 
Can the launch autopilot be used for vertical-launching rockets as well?
I tried it, but the rocket tipped over to about 30° quite early, spending too much time in dense atmosphere.
 
Yes but I've only used it for heading advice. I've always pitched down by hand.
 
Can the launch autopilot be used for vertical-launching rockets as well?
I tried it, but the rocket tipped over to about 30° quite early, spending too much time in dense atmosphere.

In short:
1) Define a time based pitch program until the last stage is operational
2) Let PEG take over pitch control.

If 2) doesn't work, define the pitch program until the very end of ascent.
 
Hi Enjo,
I tried LaunchMFD with a pitch program but I must do something wrong, with both vehicles (Neptune rocket and Falcon 9) the config file seems to be ignored.
I created both configuration files given by SHIFT+1 in LaunchMFD :
Config/MFD/LaunchMFD/Multistage/Multistage2.cfg for the Neptune
Config/MFD/LaunchMFD/SpaceX/F9.cfg for the Falcon9

The cfg is the same for both rockets for testing purpose :
Code:
ROLL_NEEDED = TRUE
PITCH_PROGRAM_TIME
Earth
0 90
20 90
130 20
END_PITCH_PROGRAM_TIME
Thanks for your help.
 
Back
Top