Thanks
I thought so. But haven't found in the ssu crawler code where they are initialized
I am using the crawler.cpp and crawler.h
memset(&vs, 0, sizeof(vs));
vs.version = 2;
SetTouchdownPoints(_V(0, .01, 20.0), _V(-15, .01, -20.0), _V(15, .01, -20.0));;
SetTouchdownPoints(_V(0, .001, 20), _V(-15, .001, -20), _V(15, .001, -20));;
bool SLSCRAWLER::UpdateTouchdownPoints(const VECTOR3 &relPos)
{
double front_dist, back_dist;
double dist = length(relPos);
double dCos = cos(lastHead);
front_dist = dist - 20.0*abs(dCos);
back_dist = dist + 20.0*abs(dCos);
// sprintf(oapiDebugString(), "dist %2.2f frtdist %2.2fbackdist %2.2f ", dist, front_dist, back_dist);
// ramp to LC39 starts 390 m from pad and ends 131.5 m from pad
if (front_dist < LC39_RAMP_START && abs(relPos.x)<10.0)
{
double front_dist2 = dist - (FWD_DRIVETRACK_Z_OFFSET - 5.723)*abs(dCos);
double back_dist2 = dist - (REAR_DRIVETRACK_Z_OFFSET - 5.723)*abs(dCos);
double front_height = CalcRampHeight(front_dist);
double back_height = CalcRampHeight(back_dist);
double front_height2 = CalcRampHeight(front_dist2);
double back_height2 = CalcRampHeight(back_dist2);
double fwdAngle = atan((front_height - front_height2) / (front_dist2 - front_dist));
double backAngle = atan((back_height2 - back_height) / (back_dist - back_dist2));
double fwd_rot_anim_pos = fwdAngle / (20 * RAD);
double back_rot_anim_pos = backAngle / (20 * RAD);
if (dCos<0.0) {
fwd_rot_anim_pos = -fwd_rot_anim_pos;
back_rot_anim_pos = -back_rot_anim_pos;
}
// needed to prevent treads from appearing to sink into lover segment of ramp
//front_height += range(0.0, (front_dist-131.5)*(0.4/(395.0-131.5)), 0.5);
//back_height += range(0.0, (back_dist-131.5)*(0.4/(395.0-131.5)), 0.5);
curFrontHeight = front_height;
curBackHeight = back_height2;
curFrontAngle = fwdAngle;
curBackAngle = backAngle;
UpdateTouchdownPoints();
return true;
}
else {
curFrontHeight = curBackHeight = 0.01;
curFrontAngle = curBackAngle = 0.0;
UpdateTouchdownPoints();
}
return false;
}
void SLSCRAWLER::UpdateTouchdownPoints() const
{
double dCos = cos(lastHead);
//unsigned short usAftIndex, usFwdIndex; // indicates which tracks are at 'aft' of crawler
double fwd_rot_anim_pos = curFrontAngle / (20 * RAD);
double back_rot_anim_pos = curBackAngle / (20 * RAD);
if (dCos<0.0) {
fwd_rot_anim_pos = -fwd_rot_anim_pos;
back_rot_anim_pos = -back_rot_anim_pos;
}
double newytouch = (jackHeight + curFrontHeight);
sprintf(oapiDebugString(), "xdf %2.2f ", newytouch);
SetTouchdownPoints(_V(0, jackHeight + curFrontHeight, 20.0), _V(-15, jackHeight + curFrontHeight, -20.0), _V(15, jackHeight + curFrontHeight, -20.0));;
}
Longjap, the link to the SLS on the first page isn't working. Also, If you want to simulate a realistic isp curve for the RS-25 engines add the isp_sl=3590 under the [Stage] in order to simulate the 366 second surface isp for the engines. Set the burn time calculated for vacuum isp only and the isp_sl value will determine the curve based on atmospheric pressure.
Thanks for your input romanasul! Something went wrong in the copy pasta with the links. Fixed it.
Yeah, I was wondering if orbiter calculated the changing thrust levels during ascent. So my naive thought was that maybe it only requires you to input the KNvac and Orbiter converts it first to sealevel and the less atmospheric pressure there is the more it transcends into KNvac. Forgive my hopefully understandable but non-scientific description. :lol:
So I guess this means I have to manually calculate the curves.
isp_sl=3590: What kind of unit is this? Seconds? Altitude?
If I change this will this mean a hard change from sealevel to vacuum thrust after 366 seconds? Or is more gradual?
[STAGE_1]
Height=63.720
Diameter=8.400
EmptyMass=85275.392
FuelMass=979452.000
Thrust=9116000.375
BurnTime=476.6
off=(0.000,0.000,4.700)
MeshName=SLS_2016\corerustET_1a_orion
eng_1=(-2.300,2.300,-32.208)
eng_2=(-2.300,-2.300,-32.208)
eng_3=(2.300,-2.300,-32.208)
eng_4=(2.300,2.300,-32.208)
eng_diameter=2.400
PITCHTHRUST=14193633.100
YAWTHRUST=14193633.100
speed=(0.000,0.000,-2.000)
ENG_PSTREAM1=engdetail_2
battery=1.500
Reignitable=1
Eng_tex=SLS_2016\SSME_Exhaust
Eng_pstream2=engdetail
Eng_dir=(0.000,0.000,1.000)
Module=Stage
Rot_speed=(0.000,0.000,0.000)
isp_sl=3590
Thanks Longjap,the SLS rockets look beautiful,keep up the wonderful work.BTW love the LES.
Unfortunately the Thrust variation due to pressure is not simulated by Multistage 2015, but the specific impulse variation is. You just need to input isp_sl= in m/s to whatever value the engine produces at sea level and multistage 2015 calculates a very realistic curve based on atmospheric pressure, starting from sea level of 101325 pascals. You do have to set the burn time to a value that specifies to the the vacuum specific impulse so for the SLS core you would set isp_sl=3590 for the RS-25 first stage. Burn time, based on usable fuel and thrust for 452.3 vac: 476.6.
9116000.375/4436=2055 kg/s fuel burn 979452.000/2055=476.6 seconds.
http://www.orbiter-forum.com/showthr...lse#post524854
Ok on the Crawler.
I have gotten mine to climb the ramp by adjusting the y values. I later looked at the SSU code and saw that the trucks rotate in the x direction for the ramp. So I got that.
BUT now the steering arm linkage are wrong. And it looks as if the rear/front set of truck raise up/down.
In some way would it not be easier to modified the ssu so that it will run on a new mesh?
But I haven't been able to compile it. Another option is to borrow the ssu crawler mesh and animations, code. Not sure how ethical that would be? Needlessly to say my fun factor is going fast
Hmm, seems like a lot of bumps in the road. I guess it's very complex all round to make it work. It sounds like the groups that are called for the animations are messed up?
It's sad if you give up all the work you've put in to it though. But I've read the SSU crew have plans to make an generic crawler for all kinds of LV. So if this becomes a reality I guess they don't mind if you'd use it and we use your mesh for example.
It might be better to build on top of that one indeed and you'd still have a use for all the time spend. But by all means, if you have no fun doing it, do something else you have fun doing.
I have some ideas and maybe you would like to help?
- The touchpoints of the tower, so it can be lowered and raised in 2016 but maybe that's already done while you were working on the crawler.
- The umbilical arms are not aligning perfectly to the SLS so I'm planning to shorten some a bit so it more or less fits.
- Question: Can I attach the SLS directly to the launchpad of the tower? I want the boosters to align with the connection on the pad.
- Make the umbilical arms swing away on launch, so basically press LAUNCH in SLS tower vessel display like you already made but now automatically, based on the command given in Multistage for launch. I'm not sure how to do this, it might need some communication between vessels, maybe you know a way to do this.
[BOOSTER_1]
N=1
MeshName=SLS_2016\Orange-booster_s
Height=53.900
Diameter=3.710
EmptyMass=86363.600
FuelMass=622727.300
Thrust=16363630.640
angle=0.000
off=(6.300,0.000,-0.300)
BurnTime=95.5
eng_1=(0.000,0.000,-28.000)
eng_diameter=0.010
ENG_PSTREAM1=srb_exhaust
Speed=(15.000,-4.000,0.000)
Rot_speed=(-0.200,-0.400,0.000)
Eng_tex=
Eng_pstream1=SRB_exhaust
Eng_pstream2=srb_exhaust_2
BurnDelay=0.000
Expbolts_pos=(6.450,0.000,19.000)
Expbolts_pstream=exbolt
Expbolts_anticipation=1.000
Curve_1=(0,76)
Curve_2=(2,100)
Curve_3=(4,97)
Curve_4=(6,98)
Curve_5=(22,96)
Curve_6=(52,75)
Curve_7=(76,80)
Curve_8=(110,70)
Curve_9=(120,13)
[BOOSTER_2]
N=1
Angle=0.000
Meshname=SLS_2016\Orange-booster_sl
Off=(-6.300,0.000,-0.300)
Height=53.900
Diameter=3.710
Thrust=16363630.640
EmptyMass=86363.600
FuelMass=622727.300
Burntime=95.5
Eng_diameter=0.010
Eng_tex=
Eng_pstream1=srb_exhaust
Eng_pstream2=srb_exhaust_2
Speed=(-15.000,-4.000,0.000)
Rot_speed=(-0.200,0.400,0.000)
Eng_1=(0.000,0.000,-28.000)
BurnDelay=0.000
Expbolts_pos=(-6.450,0.000,19.000)
Expbolts_pstream=exbolt
Expbolts_anticipation=1.000
Curve_1=(0,76)
Curve_2=(2,100)
Curve_3=(4,97)
Curve_4=(6,98)
Curve_5=(22,96)
Curve_6=(52,75)
Curve_7=(76,80)
Curve_8=(110,70)
Curve_9=(120,13)
[BOOSTER_3]
N=2
Angle=0.000
Meshname=SLS_2016\dummy
Off=(6.300,0.000,0.000)
Height=0.001
Diameter=0.001
Thrust=0.001
EmptyMass=0.100
FuelMass=0.100
Burntime=124.000
Eng_diameter=0.010
Eng_tex=
Eng_pstream1=diffuse_contrail
Eng_pstream2=emissive_contrail
Speed=(0.000,0.000,0.000)
Rot_speed=(0.000,0.000,0.000)
Eng_1=(0.000,0.000,-90.000)
Eng_2=(0.000,0.000,-90.000)
BurnDelay=0.000
[BOOSTER_4]
N=3
Angle=90.000
Meshname=SLS_2016\dummy
Off=(2.200,0.000,25.000)
Height=0.001
Diameter=0.001
Thrust=0.001
EmptyMass=0.100
FuelMass=0.100
Burntime=15.000
BurnDelay=0.000
eng_1=(2.000,0.000,2.500)
Eng_diameter=0.000
Eng_tex=
Eng_pstream1=ice
Eng_pstream2=ice2
Speed=(0.000,0.000,0.000)
Rot_speed=(0.000,0.000,0.000)
Eng_2=(1.000,3.000,0.000)
Eng_3=(2.000,1.700,5.000)
Eng_4=(2.000,-0.200,-2.500)
[BOOSTER_5]
N=1
Angle=0.000
Meshname=SLS_2016\dummy
Off=(0.000,0.000,0.000)
Height=0.001
Diameter=0.001
Thrust=0.001
EmptyMass=0.100
FuelMass=0.100
Burntime=441.000
BurnDelay=0.000
Eng_diameter=0.000
Eng_tex=
Eng_pstream1=exhdetail
Eng_pstream2=
Speed=(0.000,0.000,0.000)
Rot_speed=(0.000,0.000,0.000)
eng_1=(-2.300,2.300,-48.000)
eng_2=(-2.300,-2.300,-48.000)
eng_3=(2.300,-2.300,-48.000)
eng_4=(2.300,2.300,-48.000)
[BOOSTER_6]
N=1
Angle=0.000
Meshname=SLS_2016\dummy
Off=(0.000,0.000,0.000)
Height=0.001
Diameter=0.001
Thrust=0.001
EmptyMass=0.100
FuelMass=0.100
Burntime=441.000
BurnDelay=0.000
Eng_diameter=0.000
Eng_tex=
Eng_pstream1=exhdetail2
Eng_pstream2=
Speed=(0.000,0.000,0.000)
Rot_speed=(0.000,0.000,0.000)
eng_1=(-2.300,2.300,-46.208)
eng_2=(-2.300,-2.300,-46.208)
eng_3=(2.300,-2.300,-46.208)
eng_4=(2.300,2.300,-46.208)
[STAGE_1]
Height=63.720
Diameter=8.400
EmptyMass=85275.392
FuelMass=979452.000
Thrust=9116000.375
BurnTime=476.6
off=(0.000,0.000,4.700)
MeshName=SLS_2016\corerustET_1a_orion
eng_1=(-2.300,2.300,-32.208)
eng_2=(-2.300,-2.300,-32.208)
eng_3=(2.300,-2.300,-32.208)
eng_4=(2.300,2.300,-32.208)
eng_diameter=2.400
PITCHTHRUST=14193633.100
YAWTHRUST=14193633.100
speed=(0.000,0.000,-2.000)
ENG_PSTREAM1=engdetail_2
battery=1.500
Reignitable=1
Eng_tex=SLS_2016\SSME_Exhaust
Eng_pstream2=engdetail
Eng_dir=(0.000,0.000,1.000)
Module=Stage
Rot_speed=(0.000,0.000,0.000)
isp_sl=3590
[STAGE_2]
MeshName=SLS_2016\SLS_ICPS2
Diameter=5.000
Height=13.700
EmptyMass=3765.000
FuelMass=26853.000
Thrust=110100.000
BurnTime=1113.4
ignite_delay=10.000
off=(0.000,0.000,42.950)
eng_1=(0.000,0.000,-6.500)
eng_diameter=2.700
ullage_thrust=10000.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
Eng_tex=
Eng_pstream1=Engdetail_2
Eng_pstream2=Engdetail
Eng_dir=(0.000,0.000,1.000)
Module=Stage
Speed=(0.000,0.000,2.000)
Rot_speed=(0.000,0.000,0.000)
I've also experimented with the Abside is order to try to get the cutoff range of periapse 50 and apoapse 1850 of the actual EM-1 mission but so far I've been unsuccessful.
From what I read about EM-1 mission the RS-25 engines will throttle to 100 percent starting at -6 before liftoff and then to 109 so this can also be simulated as well. Let me know what you guys think, I would love to help in the project if possible.
Hey guys, I've been doing a bit of tinkering with Block I in order to make the performance of the engines and SRB to be closer to real life.
I used this graph to predict the thrust Curve of the 5 Segment SRB: http://www.alternatewars.com/BBOW/Space/RSRM_STS-35.gif
I've also changed the specific impulse of the boosters in order to have an average between the sea level of 242 and vacuum of 269. For the RS-25 engines I have added an ISP curve and modified the burn time slightly in order to be consistent with the 452.3 sec vacuum impulse. For the RL-10B2 I have changed the Burn time in order to be at the 465.5 specific impulse with the fuel on board. I've also experimented with the Abside is order to try to get the cutoff range of periapse 50 and apoapse 1850 of the actual EM-1 mission but so far I've been unsuccessful. From what I read about EM-1 mission the RS-25 engines will throttle to 100 percent starting at -6 before liftoff and then to 109 so this can also be simulated as well. Let me know what you guys think, I would love to help in the project if possible.
After Core Stage separation, both the spent stage and the mated Orion-ICPS stack will be in an elliptical Earth orbit with an apogee of about 975 nautical miles and a perigee of about 22 nautical miles.
At the first apogee, around forty-five to fifty minutes after liftoff, the ICPS will make its first burn to bring the perigee of the orbit up to 100 nautical miles.
Then around 90 minutes after launch as the stack completes its first orbit, the ICPS will perform a Trans-Lunar Injection (TLI) burn to send the vehicle towards the Moon.