Project Multistage2015 - Development Thread

Sure, no worries: it will be included in the addon but only "on demand"!

You will have to write in the scenario file the word "Hangar" and you'll have the hangar, the crawler and the pad, it's a just for fun and a "preparation" for a future with the single stages to be loaded in the hangar and assembled there (I think that KSP is like this).

But if you don't write hangar you'll have the very classical multistage, no hangars, no crawler etc.
 
I'm "beta testing" the code now. So far so good.

Man, it's a beautiful view of the SLS ascending into orbit with the wind-strewn contrail and the beautiful new clouds and textures.

---------- Post added Sep 11th, 2016 at 07:30 PM ---------- Previous post was Sep 10th, 2016 at 08:18 PM ----------

What's the deal with the invisible LaunchPad vessel?

Is that a holder for the crawler, or to emit the launch effects.
 
What's the deal with the invisible LaunchPad vessel?

Is that a holder for the crawler, or to emit the launch effects.

It's due to the new touchdown points definitions. It's almost impossible to have a stable behaviour for all the possible combinations of masses and points, and many times the rocket was going a bit crazy just after takeoff due to this instability. Moreover, when resetting the vehicle using the insim update (the DMD) it was impossible to keep the rocket in place, so a "parent vessel" well anchored on ground makes everything going much smoother.
And yes, since we have a launchpad vessel, let's use it for launch effects :-)
I think also that having the rocket fixed to a ground platforms that breaks the seals at the time of liftoff is also quite realistic.

Edit: i updated the same link with the new dlls, the difference is all about a series of bug fixes for growing particles, that now should behave much more correctly and efficently
 
Last edited:
Have not updated dlls yet.

Bug Report 1:

If you bring up DMD mode and then close it, you can not bring it up again.
 
Have not updated dlls yet.

Bug Report 1:

If you bring up DMD mode and then close it, you can not bring it up again.

i know, for the time being i'll just state it in the docs because i have no idea on how to solve it :shrug:
 
Looking at SLS.

Where are the particle streams called "exhaust" and "contrail" defined? They don't seem to show in the list. :shrug:
 
Looking at SLS.

Where are the particle streams called "exhaust" and "contrail" defined? They don't seem to show in the list. :shrug:

You're right I should add their definitions to the docs. Exhaust and Contrail are the default ones (as it was in Vinka) with the following parameters:
Code:
Contrail:
size:8
rate:5
v0:150
spread:0.3
lifetime:8
atmslowdown:3
ltype:Emissive
levelmap:lvl_psqrt
lmin:0
lmax:0.5
atmsmap:atm_plog
amin:1e-6
amax:0.1
texture:Contrail1

Exhaust:
size:4
rate:20
v0:150
spread:0.1
lifetime:0.3
atmslowdown:2
ltype:emissive
levelmap:lvl_psqrt
lmin:0
lmax:0.5
atmsmap:atm_plog
amin:1e-6
amax:0.1
Texture:Contrail3
 
Hi Fred18,

What a wonderful add-on! Thanks a lot for sharing, with the new dll's it works for me in orbiter 2016. Couple of questions:

Is it possible to customize the guidance program in sim or do I have to change the data in the file?

And I can't seem to get another fairing installed than the default one. Probably it's just because I'm illiterate but I thought I'd throw it in here. Maybe it's a bug.

Also sometimes when I jettison the payload it has rotated 90 degrees, I have to look into that.

As I see your work on the hangar and the crawler I can't wait to give the completed version a spin! It's a perfect add-on for everyone who wants to assemble your stack on the fly. Great job!

:cheers:
 
Is it possible to customize the guidance program in sim or do I have to change the data in the file?

Have a look into the included manual.
On page 20 you can see what settings can be used
And on page 27 its explained where to put those settings into the MS2015-mfd.

So...yes...you can change AP parameters on the fly, without the need of editing the guidance-file.
 
Last edited:
Hey fred18, tell me what you think of these for the SLS test scenario:

Code:
[MISC]
cog=30.500
GNC_Debug=0
Telemetry=0
Focus=0
Thrust_real_pos=0
Vertical_Angle=0.000

[TEXTURE_LIST]
TEX_1=Exhaust_atsme

[PARTICLESTREAM_1]
Name=vent
amin =0.150
amax =1.000
atmslowdown =3.000
growthrate =1.200
lifetime =4.500
lmax =0.500
lmin =0.000
srcrate =15.000
srcsize =0.400
v0 =1.000
ltype =EMISSIVE
atmsmap =ATM_FLAT
levelmap =LVL_PSQRT
tex =contrail
Srcspread=0.000

[PARTICLESTREAM_2]
NAME=mach
SRCSIZE=7.000
SRCRATE=120.000
V0=12.000
SRCSPREAD=0.000
LIFETIME=0.250
GROWTHRATE=6.000
ATMSLOWDOWN=0.000
LTYPE=EMISSIVE
LEVELMAP=LVL_PSQRT
LMIN=0.000
LMAX=4.000
ATMSMAP=ATM_FLAT
AMIN=0.600
AMAX=1.000
TEX=contrail4

[FX_VENT]
pstream=vent
off_1=(4.200,0.000,35.000)
dir_1=(1.000,0.000,0.000)
time_fin_1=-15.000
off_2=(0.000,4.200,15.000)
dir_2=(0.000,1.000,0.000)
time_fin_2=-25.000

[FX_MACH]
pstream=mach
mach_min=0.900
mach_max=1.100
off_1=(0.000,0.000,70.000)
off_2=(6.777,0.000,20.000)
off_3=(-6.777,0.000,20.000)
dir=(0.000,0.000,-1.000)

[BOOSTER_1]
N=2
MeshName=SLS\LRB1
Height=50.000
Diameter=2.500
EmptyMass=19428.800
FuelMass=627657.500
Thrust=15423320.910
angle=3.142
off=(6.777,0.000,0.000)
BurnTime=138.400
eng_1=(0.000,0.000,-28.000)
eng_diameter=0.010
ENG_PSTREAM1=exhaust
Speed=(15.000,0.000,0.000)
Rot_speed=(0.000,-0.400,0.000)
Eng_tex=
Eng_pstream2=contrail

[STAGE_1]
Height=63.720
Diameter=8.400
EmptyMass=51944.392 
FuelMass=1101259.734 
Thrust=10898383.375
BurnTime=449.000
off=(0.000,0.000,4.700)
MeshName=SLS\core
eng_1=(-1.8347,3.3135,-32.408)
eng_2=(-1.8347,-3.3135,-32.408)
eng_3=(1.8347,-3.3135,-32.408)
eng_4=(1.8347,3.3135,-32.408)
eng_5=(0.,0,-32.408)
eng_diameter=2.700
PITCHTHRUST=56774532.400 
YAWTHRUST=56774532.400 
speed=(0.000,0.000,-10.000)
ENG_PSTREAM1=
battery=1.500
Reignitable=0
Eng_tex=
Eng_pstream2=
Eng_dir=(0.000,0.000,1.000)
Module=Stage
Rot_speed=(0.000,0.000,0.000)

[SEPARATION_12]
MeshName="SLS\interstage"
SEPARATION_DELAY=15.0
Diameter=8.4
Height=5.0
EmptyMass=5650.32 
off=(0.,0.,42.1027)

[STAGE_2]
MeshName=SLS\upperstage
Diameter=8.400
Height=13.700
EmptyMass=13883.576
FuelMass=273420.730
Thrust=3921000.000
BurnTime=306.500
ignite_delay=10.000
off=(0.000,0.000,47.876)
eng_1=(0,-1.3499,-12.5)
eng_2=(1.264,0.687,-12.5)
eng_3=(-1.264,0.687,-12.5)
eng_diameter=2.700
PITCHTHRUST=4663990.000
YAWTHRUST=4663990.000
battery=5.000
ullage_thrust=100000.000
ullage_N=4
ullage_angle=-22.500
ullage_pos=(4.200,0.000,-10.700)
ullage_dir=(0.200,0.000,-1.000)
ullage_tex=Exhaust_atsme
ullage_length=5.000
ullage_diameter=1.000
ullage_anticipation=3.000
ullage_overlap=1.000
ullage_rectfactor=3.000
reignitable=1
Linearthrust=500000.000
Eng_tex=
Eng_pstream1=
Eng_pstream2=
Eng_dir=(0.000,0.000,1.000)
Module=Stage
Speed=(0.000,0.000,0.000)
Rot_speed=(0.000,0.000,0.000)

[FAIRING]
N=2
MeshName="SLS\fairing"
Diameter=10
Height=31.35
angle=0.
off=(0,0.,73.695)
EMPTYMASS=10683.0145
speed=(25,0,0)
Rot_speed(0,0.3,0)

[PAYLOAD_1]
MeshName="SLS\deadweight"
off=(0,0,68.695)
Diameter=8
Height=20
MASS=130000
Module="spacecraft\spacecraft3"
Name=Deadweight
SPEED=(0,0,2)
RENDER=1

[PAYLOAD_2]
MeshName="SLS\adapter"
off=(0,0,58.695)
Diameter=8
Height=20
MASS=200
Module="spacecraft\spacecraft3"
Name=Adapter
SPEED=(0,0,2)
RENDER=1
[FX_LAUNCH]
N=2
Height=0.500
Angle=90.000
Distance=10.000
CutoffAltitude=150.000
Pstream1=flametrench
Pstream2=

[PARTICLESTREAM_3]
Name=flametrench
Srcsize=11.000
Srcrate=15.000
V0=100.000
Srcspread=0.000
Lifetime=10.000
Growthrate=15.000
Atmslowdown=0.500
Ltype=EMISSIVE
Levelmap=LVL_PSQRT
Lmin=0.000
Lmax=0.500
Atmsmap=ATM_FLAT
Amin=1.000
Amax=1.000
Tex=contrail


Code:
BEGIN_DESC
Orbiter saved state at T = 176
END_DESC

BEGIN_ENVIRONMENT
  System Sol
  Date MJD 51985.6226492479
  Help CurrentState_img
END_ENVIRONMENT

BEGIN_FOCUS
  Ship SLS
END_FOCUS

BEGIN_CAMERA
  TARGET LaunchPad
  MODE Extern
  POS 16.120186 -2.554507 -114.827465
  TRACKMODE TargetRelative
  FOV 70.00
END_CAMERA

BEGIN_MFD Right
  TYPE User
  MODE Multistage2015_MFD
END_MFD

BEGIN_SHIPS
SLS:Multistage2015
  STATUS Landed Earth
  POS -80.6758976 28.5227621
  HEADING 0.00
  ALT -0.316
  AROT 151.156 -8.184 4.483
  ATTACHED 0:0,LaunchPad
  AFCMODE 7
  PRPLEVEL 0:1.000000 1:1.000000 2:1.000000
  NAVFREQ 0 0 0 0
  XPDR 0
  CONFIG_FILE Config\Multistage2015\SLS.ini
  GUIDANCE_FILE Config\Multistage2015\Guidance\SLS_57302.65_GNC.txt
  CONFIGURATION 0
  COMPLEX 
  CURRENT_BOOSTER 1
  CURRENT_STAGE 1
  CURRENT_INTERSTAGE 1
  CURRENT_PAYLOAD 1
  FAIRING 1
  MET -30.000
  BATTERY 5400.000000
  GROWING_PARTICLES 
  STAGE_IGNITION_TIME 0.000000
  STAGE_STATE 1
  TELEMETRY_FILE Config\Multistage2015\Telemetry\SLS_57310.61_TLM.txt
  ALT_STEPS 100.0,350.0,1400.0,35000.0
  PEG_PITCH_LIMIT 35.000
  PEG_MC_INTERVAL 0.100
  RAMP 
END
LaunchPad:EmptyModule
  STATUS Landed Earth
  POS -80.6041280 28.6082920
  HEADING 0.00
  ALT -0.011
  AROT 151.065 -8.240 4.530
  AFCMODE 7
  NAVFREQ 0 0
END
END_SHIPS

BEGIN_ExtMFD
END
 
Have a look into the included manual.
On page 20 you can see what settings can be used
And on page 27 its explained where to put those settings into the MS2015-mfd.

So...yes...you can change AP parameters on the fly, without the need of editing the guidance-file.

Thanks, but I have read it and I can't seem to add a correct line in the MFD. I have tried multiple inputs like the manual:

Orbit 300,300
Orbit300,300
Orbit(300,300)
Orbit (300,300)
-00:30 Orbit 300,300 etc.

Also the full line, but it doesn't work. Am I doing something wrong?

Edit: Yes I was, I missed this post: http://www.orbiter-forum.com/showthread.php?p=516027&postcount=158

So the correct input is: -10=orbit(180,220,-45,1,76,0) Wasn't clear in the manual.
Should've read the Vinka multistage manual sorry. :facepalm:
 
Last edited:
try copying this to your guidance file:

-125=engine(0,0,1)
-30= Orbit(300,300,20)
-5=engine(0,100,5)
0=disable(jettison)
250=engine(0,100,1)
600=jettison()
 
Hi guys, i read all the posts but i'm through some very bad day in real life... will get back soon but i have to keep away a couple of days.
 
slowly back to developing in some small free time.
@boogabooga: I loved your test file, if you agree I will use it as example in the final release giving you the proper credits of course.

@Longjap: sorry it isn't explained well enough, I'll make ti more clear in the next version of the docs. relative to the following:
And I can't seem to get another fairing installed than the default one. Probably it's just because I'm illiterate but I thought I'd throw it in here. Maybe it's a bug.

Also sometimes when I jettison the payload it has rotated 90 degrees, I have to look into that.

you have to be more clear because I can't understand what you mean exactly.

In the meantime I'm working on the very last feature, then it will be only a matter of docs, tutorials, examples etc: a ground camera with the maximum possible zoom, very "coreographic" I think that the video makers will like it.

It's pretty simple anyway so we're not far from the release.

0019.jpg
 
@boogabooga: I loved your test file, if you agree I will use it as example in the final release giving you the proper credits of course.

That was the intent. :thumbup:

Bug report though, seems that in the particles section of the DMD mode, if you enter a small value of Amin (say 1e-6), it saves the value as exactly 0 and the particles do not show.
 
Bug report though, seems that in the particles section of the DMD mode, if you enter a small value of Amin (say 1e-6), it saves the value as exactly 0 and the particles do not show.

that's a good catch. What if you save it writing it 0.000001 ?
 
Same problem.

It might be really useful if DMD supported the e notation though.
 
Last edited:
I think I solved and now you can work directly in exponential notation for the amin and the lmin values. I found out that the DMD was set to write the first 3 decimals, that is ok for positions etc, but of course not for those two parameters, let's see if the exponential values works.

I'll upload the dlls as soon as i have finished some other fixes.

Anyway it seems to me that this:

I know you worked very hard on this, but I would rather go back to just editing the config directly:

1) The interface is huge (40-50% of the screen), and the window can't be shrunk or minimized. This really defeats the whole purpose for me. If I can't see my changes, what is the point?

2) Everytime I update the vessel, it gets flung off at hypersonic velocity.

is no longer valid ;)
 
I tested with
http://www.orbiter-forum.com/showthread.php?p=541342&postcount=457
and works excellent :thumbup:

"My" Angara MS2015 works as expected in Orbiter 2016 with small ajustments to GravTurnPitch.

Thank you for your time spent on this wonderful addon, which will unlock a lot of other addons available in Orbiter 2010 and even Orbiter 2006 :tiphat:

---------- Post added 09-18-16 at 12:42 AM ---------- Previous post was 09-17-16 at 08:28 PM ----------

About the limitation of PEG autopilot when changing heading north-south
http://www.orbiter-forum.com/showthread.php?p=537420&postcount=448

I see, I think in some particular conditions (launch latitude and orbit inclination very similar) the yaw control equations fly through a singularity... I solved it for most of the cases but probably some are still missing.

Have you tried to disable yaw control with the MFD?

I disabled the yaw from the control and didn't work. I found the problem to be the heading target. During the north-south transition the heading target is -1.

It works in the following way:
- disable attitude from MDF before heading transition from north to south
- after transition enable attitude from MDF

As a reminder this is not an issue of Multistage2015 migration from Orbiter 2010 to Orbiter 2016. So the WIP version of Orbiter2016 works excellent.

I think that in the far future will be useful the following guidance functions:
- disable(yaw|attitude) (already exists Disable(pitch|Roll|Jettison))
- enable(attitude|pitch|yaw|roll|jettison)

Workaround that worked automatically:
- use old vinka's guidance style implemented very well in Multistage2015
- when the north to south change is finished, check the MET and add a margin error. Start using "orbit" autopilot for the final part of the orbit insertion.

---------- Post added at 01:45 AM ---------- Previous post was at 12:42 AM ----------

There is an issue in the documentation about the number of parameters of the roll guidance function. I mention than the functions works as expected in vinka's multistage style.

From Multistage2015 documentation
Roll(xx,yy,zz,tt) | Vinka Roll Program

From vinka's multistage documentation
roll(init_pitch_time,init_pitch_angle,heading_target,pitch_target,pitch_mode)
This will control the roll program. The launcher is pitched in the direction indicated by
“pitch_mode” (1=pitch up, -1=pitch_down) until it reach the “init_pitch_angle”(in °), then the
pitch guidance loop is closed and the pitch is controlled to reach the pitch target. When the “
init_pitch_time” is elapsed, the roll and yaw guidance are closed to reach the proper heading
target. This is a complex manoeuvre and setting bad parameters can lead to a catastrophic roll.
Take care that the next command must not be issued before the roll is complete.
 
Back
Top