Project Multistage2015 - Development Thread

BrianJ

Addon Developer
Addon Developer
Joined
Apr 19, 2008
Messages
1,679
Reaction score
902
Points
128
Location
Code 347
Hi Jacques,
yes - I remember making the "ELS-Arms" with Papyref! Well done for renovating the Kourou CSG :thumbup:
Thanks for your suggestion - I have a "workaround" now (I attach the "MS_Launchpad" to my "SLC17" vessel).

@Fred18
Hi Fred,
I can't use the "Pad_module = xxx" in the .ini file because the pad is created in the wrong attitude (+Z axis = Vertical) and I need (+Y axis = Vertical).

The attitude can be edited in a saved scenario but the attachment point is always created in the wrong attitude (launcher is horizontal) and wrong position.

Also, there are 2 pads at my SLC17 add-on (Pad A and Pad B) - each of these has it's own attachment point for the launcher.

So, I have created a simple .cfg based vessel for the "MS_Launchpad" and this is already attached to my SLC17 launchpad(at Pad A or Pad B) in the scenario. The launcher is attached to "MS_Launchpad" vessel.

This works, but it might be useful to have the possibility to disable the MS_Launchpad creation and attachment functions.

I have a couple of other issues I should mention:
1. If the scenario is exited during ascent(autopilot is running), when the scenario is re-started the launcher rolls 90deg left (Prograde attitude) instead of "Heads Up" or "Heads Down" - is this expected?

2. Burndelay=xxx parameter
When the DeltaII has 9 SRB's(3 sets of 3 each). The first 6 are jettisoned at burnout(about 63s after liftoff) and the final 3 are ignited at that time.
I am using Burndelay=63 for the final set of 3 SRB's but they do not ignite at T+63s, more like T+78s.
If I change the Burndelay value the results seem "variable" e.g if Burndelay=48 the ignition starts at ~ T+48s
I am still looking at this, but I can't seem to get the final 3 SRB's to ignite at the correct time.

Here are my launcher .ini and guidance file:
.ini file
Code:
[MISC]
cog=-1.2


[TEXTURE_LIST]
TEX_1=Exhaust2

[PARTICLESTREAM_1]
NAME=Delta311contrail
SRCSIZE=1.1
SRCRATE=4
V0=125
SRCSPREAD=0.1
LIFETIME=2
GROWTHRATE=7
ATMSLOWDOWN=1.1
LTYPE=DIFFUSE
LEVELMAP=LVL_PSQRT
LMIN=0
LMAX=1
ATMSMAP=ATM_PLOG
AMIN=1e-5
AMAX=1
TEX=contrail1

[PARTICLESTREAM_2]
NAME=Delta311contrail2
SRCSIZE=3.0
SRCRATE=4
V0=160
SRCSPREAD=0.02
LIFETIME=0.3
GROWTHRATE=10
ATMSLOWDOWN=0.4
LTYPE=EMISSIVE
LEVELMAP=LVL_PSQRT
LMIN=0
LMAX=1
ATMSMAP=ATM_PLOG
AMIN=1e-5
AMAX=1
TEX=contrail3

[PARTICLESTREAM_3]
NAME=Delta311contrail3
SRCSIZE=4.0
SRCRATE=15
V0=120.0
SRCSPREAD=0.05
LIFETIME=0.15
GROWTHRATE=0.8
ATMSLOWDOWN=0
LTYPE=EMISSIVE
LEVELMAP=LVL_PSQRT
LMIN=0
LMAX=1
ATMSMAP=ATM_PLOG
AMIN=1e-5
AMAX=1
TEX=contrail3

[BOOSTER_1]
N=3
MeshName="Delta2/gem40"
Height=12.96
Diameter=1.02
EmptyMass=1317
FuelMass=11765
Thrust=490320
angle=0
off=(1.7,0.0,-7.4)
rot_speed=(0,-2,0)
speed=(8,0,0)
BurnTime=61.3
ENG_TEX=Exhaust2
eng_1=(0,0,-7.3)
eng_diameter=0.75
ENG_PSTREAM1=Delta311contrail
ENG_PSTREAM2=Delta311contrail2
CURVE_1=(0,91.3)
CURVE_2=(62,100)

[BOOSTER_2]
N=3
MeshName="Delta2/gem40a"
Height=12.96
Diameter=1.02
EmptyMass=1317
FuelMass=11765
Thrust=490320
angle=40
off=(1.7,0.0,-7.4)
rot_speed=(0,-2,0)
speed=(8,0,0)
BurnTime=62.3
ENG_TEX=Exhaust2
eng_1=(0,0,-7.3)
eng_diameter=0.75
ENG_PSTREAM1=Delta311contrail
ENG_PSTREAM2=Delta311contrail2
CURVE_1=(0,91.3)
CURVE_2=(62,100)

[BOOSTER_3]
N=3
Burndelay=63
MeshName="Delta2/gem40b"
Height=12.96
Diameter=1.02
EmptyMass=1439
FuelMass=11765
Thrust=490320 ;516216?
angle=80
off=(1.7,0.0,-7.4)
rot_speed=(0,-0.5,0)
speed=(5,0,0)
BurnTime=62.5
ENG_TEX=Exhaust2
eng_1=(0,0,-7.3)
eng_diameter=0.75
ENG_PSTREAM1=Delta311contrail
ENG_PSTREAM2=Delta311contrail2

[STAGE_1]
Height=30.77
Diameter=2.44
EmptyMass=5678
FuelMass=96118
Thrust=1085811
BurnTime=261
off=(0,0,0)
MeshName="Delta2/delta2core"
ENG_TEX=Exhaust2
ENG_1=(0,0,-16)
ENG_DIAMETER=1
ENG_PSTREAM1=Delta311contrail3
speed=(0,0,-2)
rot_speed=(0,0,0)
PITCHTHRUST=100000
YAWTHRUST=100000
ROLLTHRUST=30000

[STAGE_2]
Height=5.89
Diameter=2.44
EmptyMass=950
FuelMass=6004
Thrust=44996 ;43657
BurnTime=431.6
off=(0,0,14.8)
MeshName="Delta2/delta2stg2"
ENG_1=(0,0,-3)
ENG_DIAMETER=0.6
ENG_TEX=Exhaust2
IGNITE_DELAY=13.5
PITCHTHRUST=5300
YAWTHRUST=5300
ROLLTHRUST=5300
speed=(0,0,-2)
rot_speed=(0.01,0,0)

[STAGE_3]
Height=1.68
Diameter=0.93
EmptyMass=208
FuelMass=2009
Thrust=66367
BurnTime=87 ;87.1
OFF=(0,0,18.4)
MeshName="Delta2/star_48b"
ENG_1=(0,0,-1.1)
ENG_DIAMETER=0.3
ENG_TEX=Exhaust2
IGNITE_DELAY=82
PITCHTHRUST=2000
YAWTHRUST=2000
ROLLTHRUST=1000
speed=(0,0,-1)
rot_speed=(0.1,0,0)

[FAIRING]
N=2
MeshName="Delta2/delta2fair9"
Diameter=2.9
Height=8.49
angle=0
off=(0,0,19.8)
speed=(3,0,0)
rot_speed=(0,-0.5,0)
EMPTYMASS=839

[PAYLOAD_1]
MeshName=Delta2/test_sat
OFF=(0,0,20.3)
speed=(0,0,0.5)
rot_speed=(0,0,0)
Module="Delta2/test_sat"
name="TestSat"
Diameter=2
Height=3
Mass=500

guidance file:
Code:
-3=engine(0,100,3)
0=engine(100,100,1)
7=roll(3,88,99.3,69,1)
26=pitch(69,57,14)
40=pitch(57,50,10)
47=engine(100,85,3)
50=engine(85,85,1)
50=pitch(50,44,10)
60=pitch(44,39,10)
70=pitch(39,34,10)
75=engine(85,100,5)
80=pitch(34,30.5,10)
80=engine(100,100,1)
90=pitch(30.5,26.5,10)
100=pitch(26.5,23.5,10)
110=pitch(23.5,20.7,10)
120=pitch(20.7,19,10)
130=pitch(19,16,10)
140=pitch(16,13,10)
150=pitch(13,10,10)
160=pitch(10,5,10)
170=pitch(5,5,10)
180=pitch(5,5,10)
190=pitch(5,5,10)
200=pitch(5,5,20)
220=pitch(5,27,15)
235=pitch(27,27,10)
245=pitch(27,5,15)
260=pitch(5,5,25)
285=pitch(5,3,5)
290=pitch(3,2.3,280)
296=fairing()
567=engine(100,0,1.5)
568.5=engine(0,0,1)
570=pitch(2.3,0,10)
580=aoa(0)
1512=pitch(0,10,10)
1522=pitch(10,10,100)
1528=engine(0,100,1)
1529=engine(100,100,1)
1622=pitch(10,3,7)
1629=aoa(0)
1635=engine(100,0,1)
1636=engine(0,0,1)
1652=jettison() ; 3rd stage
1662=aoa(5)
1852=jettison() ; spacecraft separation

As always, many thanks for your great work with MS :)
Cheers,
Brian
 

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
I can't use the "Pad_module = xxx" in the .ini file because the pad is created in the wrong attitude (+Z axis = Vertical) and I need (+Y axis = Vertical).

The attitude can be edited in a saved scenario but the attachment point is always created in the wrong attitude (launcher is horizontal) and wrong position.

Also, there are 2 pads at my SLC17 add-on (Pad A and Pad B) - each of these has it's own attachment point for the launcher.

So, I have created a simple .cfg based vessel for the "MS_Launchpad" and this is already attached to my SLC17 launchpad(at Pad A or Pad B) in the scenario. The launcher is attached to "MS_Launchpad" vessel.

This works, but it might be useful to have the possibility to disable the MS_Launchpad creation and attachment functions.
[/code]

Be careful that the launchpad is deleted from the scenario after sometimes. Would it be too hard to change the code of the slc17? just turn it around (you can turn the mesh with meshedit) and flip the relevant coordinates. After all I think it would be the cleanest solution. I'll think of a nopad option to allow this, but the pad is quite a core part of the addon so it may not be so easy to do it.


I have a couple of other issues I should mention:
1. If the scenario is exited during ascent(autopilot is running), when the scenario is re-started the launcher rolls 90deg left (Prograde attitude) instead of "Heads Up" or "Heads Down" - is this expected?

That's surely unwanted, never happened to me, I'll check why this is happening.

2. Burndelay=xxx parameter
When the DeltaII has 9 SRB's(3 sets of 3 each). The first 6 are jettisoned at burnout(about 63s after liftoff) and the final 3 are ignited at that time.
I am using Burndelay=63 for the final set of 3 SRB's but they do not ignite at T+63s, more like T+78s.
If I change the Burndelay value the results seem "variable" e.g if Burndelay=48 the ignition starts at ~ T+48s
I am still looking at this, but I can't seem to get the final 3 SRB's to ignite at the correct time.

I'll check this there may be something not working correctly, even though I remember to have used your deltaII files with ms2015. I have to check to understand what's happening. It might take some days because I'm abroad up to next week, I'll try to check as soon as possible, promise!
 

BrianJ

Addon Developer
Addon Developer
Joined
Apr 19, 2008
Messages
1,679
Reaction score
902
Points
128
Location
Code 347
Hi Fred,
no problem, whenever you get around to it :)
I'll think of a nopad option to allow this, but the pad is quite a core part of the addon so it may not be so easy to do it.
Don't worry about it, I can go with the "MS_Launchpad attached to SLC17" option. Only have to change a little bit of code for SLC17 then.

Re: 90deg roll after re-starting scenario
This only seems to happen if the scenario is exited/restarted while a "pitch" command is active in the guidance. This guidance file gives the behaviour I describe between MET+26 and MET+40 (while pitch command is active):
Code:
-3=engine(0,100,3)
0=engine(100,100,1)
7=roll(19,88,99.3,69,1)
26=pitch(69,57,14)
Given the efficiency of the new "Orbit" parameters autopilot, the "Pitch" function may be fairly obsolete anyway, but you might have a look at it.

Re: Burndelay parameter
The "Burndelay" parameter for my [Booster_3] section seems to depend on the [Stage_2] "Ignite_delay" parameter and [Booster_2] cut-off.
I can only get my [Booster_3] to ignite at(or later than)
Code:
[Booster_2]cut-off + [Stage_2]Ignite_delay
or at(or earlier than)
Code:
[Booster_2]cut-off - [Stage_2]Ignite_delay
but not in between these times!

Sorry to hand you a puzzle.
Many thanks,
Brian
 

BrianJ

Addon Developer
Addon Developer
Joined
Apr 19, 2008
Messages
1,679
Reaction score
902
Points
128
Location
Code 347
@fred18
I tried changing the [Stage_2] "Ignite_Delay" parameter to 1s and no difference to result - the [Booster_3] section ignites earlier than 48s, or later than 79s, but not in between.
 

LordCroussette

Quebec City's Resident Base Builder
Addon Developer
Donator
Joined
Jan 26, 2013
Messages
228
Reaction score
744
Points
108
Location
Quebec City
Preferred Pronouns
He/Him
Need help

So, I need help.

I am trying to do a Multistage Ariane 6 for Orbiter 2016 but I dont understand anything. :shrug:

When do I need to put the .ini file ? What to put in it ? I read the PDF doc but still. :idk:

I cannot believe it. I made HTML web pages, made a game on Adobe Flash but I cant understand how to config a multistage rocket. :beathead:

I need help. :sos:

BTW, this is the rocket. 3D model by Edy Imboden (I dont know if he is on this forum). Textures are mine. (not final textures).
Left : 3D render of the rocket, textured, on 3DS Max.
Right : Concept Art of Ariane 6.
3D2.png
 
Last edited:

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
The best way to understand is to study the examples that comes with multistage.
For example, start with "SH_SLS - TEST Scenario".

See how that is put together, and start by creating a clone of that vessel, with a new name. Then do some changes towards what you need, for example try to load your meshes.

Multistage2015 has a great editor inside Orbiter, and that helps a lot. But you will need to edit some stuff manually.
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,403
Reaction score
581
Points
153
Location
Vienna
I cannot believe it. I made HTML web pages, made a game on Adobe Flash but I cant understand how to config a multistage rocket. :beathead:

If you are well versed in programming, perhaps the best way is to leave the middle-wares on the side and create a dedicated module for your project.
 

LordCroussette

Quebec City's Resident Base Builder
Addon Developer
Donator
Joined
Jan 26, 2013
Messages
228
Reaction score
744
Points
108
Location
Quebec City
Preferred Pronouns
He/Him
Ok thanks, I will see if I can understand something. :)
 

BrianJ

Addon Developer
Addon Developer
Joined
Apr 19, 2008
Messages
1,679
Reaction score
902
Points
128
Location
Code 347
Hi fred18,
I just did a little more experimenting with my DeltaII "Burndelay" parameter.

If I delete the "engine" throttle commands from my guidance file, the "Burndelay" works as expected. Now, I think the boosters will not ignite while the Main Engine level is less than 95%.

I can probably modify the guidance file to avoid this, if it is a pain to change the code.

I still get the "90deg roll to left" if scenario is saved and re-opened while "pitch" command is active.

Thanks and regards,
Brian
 

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
Hi fred18,
I just did a little more experimenting with my DeltaII "Burndelay" parameter.

If I delete the "engine" throttle commands from my guidance file, the "Burndelay" works as expected. Now, I think the boosters will not ignite while the Main Engine level is less than 95%.

I can probably modify the guidance file to avoid this, if it is a pain to change the code.

I still get the "90deg roll to left" if scenario is saved and re-opened while "pitch" command is active.

Thanks and regards,
Brian

You got it!! thanks! I just got back home and I was starting to check the code, that's exactly the point: main engines should be at least 95% for the boosters to ignite. I have to check again some logics of the code.

I'll go to have a look at the guidance to understand the other point.
 

boogabooga

Bug Crusher
Joined
Apr 16, 2011
Messages
2,999
Reaction score
1
Points
0
So, I need help.

I am trying to do a Multistage Ariane 6 for Orbiter 2016 but I dont understand anything. :shrug:

When do I need to put the .ini file ? What to put in it ? I read the PDF doc but still. :idk:

I cannot believe it. I made HTML web pages, made a game on Adobe Flash but I cant understand how to config a multistage rocket. :beathead:

I need help. :sos:

BTW, this is the rocket. 3D model by Edy Imboden (I dont know if he is on this forum). Textures are mine. (not final textures).
Left : 3D render of the rocket, textured, on 3DS Max.
Right : Concept Art of Ariane 6.
3D2.png

A bit of a shameless plug, but IMHO you should ask your question here:
https://www.orbiter-forum.com/showthread.php?p=563565#post563565

You not knowing where the files are supposed to go does not help fred18 to improve Multistage 2015 at all.

---------- Post added at 01:25 PM ---------- Previous post was at 01:17 PM ----------

You got it!! thanks! I just got back home and I was starting to check the code, that's exactly the point: main engines should be at least 95% for the boosters to ignite. I have to check again some logics of the code.

I'll go to have a look at the guidance to understand the other point.


It would seem to me that there should be nothing hard-coded like this. Everything that can be a variable should be a variable and definable in the ini, IMHO.
 

jacquesmomo

Addon Developer
Addon Developer
Joined
Jun 14, 2008
Messages
613
Reaction score
453
Points
78
Location
FRANCE
Website
francophone.dansteph.com

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
It would seem to me that there should be nothing hard-coded like this. Everything that can be a variable should be a variable and definable in the ini, IMHO.

Sure, the code is there in order to assure that if the main engine of the first stage gets above 95% of level then the first set of boosters ignites, but it seems to be also blocking the other situations. It surely needs to be fixed.
 

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
Perhaps a Fire Booster command in the guidance file?

Also others have asked this, but I think it could conflict with the ignite delay command, only one of those should be used.

Anyway there's a function that I simply called "fly" in the ms2015 code which manage all the stages/boosters/interstages.. sequence, so I'll give it a deep look and probably rewrite it.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,738
Reaction score
2,709
Points
203
Location
Dallas, TX
I pm'ed you. I can help. I think this is the vessel to launch my James Webb
So, I need help.

I am trying to do a Multistage Ariane 6 for Orbiter 2016 but I dont understand anything. :shrug:

When do I need to put the .ini file ? What to put in it ? I read the PDF doc but still. :idk:

I cannot believe it. I made HTML web pages, made a game on Adobe Flash but I cant understand how to config a multistage rocket. :beathead:

I need help. :sos:

BTW, this is the rocket. 3D model by Edy Imboden (I dont know if he is on this forum). Textures are mine. (not final textures).
Left : 3D render of the rocket, textured, on 3DS Max.
Right : Concept Art of Ariane 6.
3D2.png
 

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
May I suggest that booster and stage become more independent, each with their own start delay ?

Some rockets actually use boosters as stage 1, but then the actual stage comes on and it becomes parallel burn.

We can fake that with invisible stage, but can't have both burning at the same time...
It influences staging, specially on the atmosphere. Things tend to bump into each other ;)
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,738
Reaction score
2,709
Points
203
Location
Dallas, TX
So looked at the doc for this. Can Multistage support more than 1 set of fairings? On the SLS Block 1B you need 1 set for Orion and the Universal Stage Adapter needs a set as it is 4 parts
 

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
While converting Orion CEV / Altair to launch using Multistage I found a nasty problem.

Can't dock properly with a MS2015 payload!
The vessels dock but then don't stay connected and keep moving.

Using Velcro I worked around this by adding a docking port to the rocket stage.
I don't see any way of doing it using multistage.

This is important because the upper stage needs to perform a TLI for the entire stack.
But the stack is assembled in orbit...

Any ideas?
 

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
is the payload a live payload or a simple one? (did you put live=1 in the payload section?)
 
Top