OHM Space Launch System for Orbiter 2016 0.1.2

barrygolden

Well-known member
Joined
Nov 3, 2009
Messages
937
Reaction score
291
Points
78
Location
North of Houston
Just keep your shirt on. He is close to a release. Gattis allowed me to do some of the testing and this addon will be up there with AMSO and Shuttle Fleet.. Not only will you be able to follow the Artemis missions but go inside and put on a suit and helmet and fly the missions or create LEO missions . The amount of detail in this thing is incredible. My hope is that someday you will be able to fold up the lower seats and float over to the galley for a meal or just look out the window as the Moon goes by. but that might have to wait gattis has put about three weeks into this project and it's super
 

thermocalc

Active member
Joined
Aug 18, 2014
Messages
217
Reaction score
78
Points
43
Location
Bangkok
HI, I have a small technical question relating to this mission and the flight plan which was released.

When in the ATTITUDE rows the following acronyms are used:

bias –XSI, PAO, -XSI spin, -ZSI (during start trakers exercise), bias +YSI, +XMI ….

What is their meanings?
+/-X, +/-Y, +/-Z are the Orion body axis (i suppose), but what is the meaning of the “S”, “M”, “I”, “PAO” … and what they mean with “bias” ?

how the spacecraft should be oriented during these flight phases?
thanks for the clarification.
:coffee:
 

Attachments

  • Artemis 1 Flight Plan.pdf
    139.9 KB · Views: 15

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,636
Reaction score
2,613
Points
203
Location
Dallas, TX
Try this out. Keys CTRL -J sep CM from SM
0 docking lights
2 center solar panels
6/7 move panels fore/aft. Press 6 to move press again to stop.
CTRL and space open s the dialogue box to control the rotation of the panels.
4 switches CAM
1 unfolds the panels
G open hatch

I know of some issues. One is when you separate the solar panels animation state is not carried over
 

Attachments

  • NEWORIONFINAL1.zip
    17.8 MB · Views: 54

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,636
Reaction score
2,613
Points
203
Location
Dallas, TX
I am sure changes will be needed. There are some code issues. But working on adding some stuff for launches
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,636
Reaction score
2,613
Points
203
Location
Dallas, TX
One thing I noticed was on the Orion the 2 top RCS ports are on top on the capsule and the cover has slots for them. So a new cover and capsule mesh was needed.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,636
Reaction score
2,613
Points
203
Location
Dallas, TX
MAybe a new thread? But the thing I don't like is when the LAS and Fairing seperate. It goes by fast
::blowLas() { VESSELSTATUS vs; char name[256]; PROPELLANT_HANDLE ph_las_aux; THRUSTER_HANDLE th_las_aux; // OBJHANDLE h; VESSEL* v; if (oapiGetTimeAcceleration() > 10) // Slow down oapiSetTimeAcceleration(10); // SetEmptyMass (CM_DRYMASS+CM_FUEL+SM_DRYMASS+SM_FUEL); //ReloadMeshes(); GetStatus(vs); vs.flag[0] = 3; VECTOR3 ofs = { 0, 0, mode == 12 ? -8 : 0 }; Local2Rel(ofs, vs.rpos); VECTOR3 vel = _V(0, 0, 0.02); VECTOR3 rofs, rvel = { vs.rvel.x, vs.rvel.y, vs.rvel.z }; GlobalRot(vel, rofs); vs.rvel.x = rvel.x + rofs.x; vs.rvel.y = rvel.y + rofs.y; vs.rvel.z = rvel.z + rofs.z; strcpy(name, GetName()); strcat(name, "-LAS"); fairLh = oapiCreateVessel(name, "Orion-MPCV\\Orion-MPCV-LAS", vs); v = oapiGetVesselInterface(fairLh); v->SetEmptyMass(3696); ph_las_aux = v->CreatePropellantResource(480, 480, 1.0); th_las_aux = v->CreateThruster(_V(0.0, 0.0, 9.5), _V(0.0, 0.001, 1), 563250.0, ph_las_aux, LAS_ISP); v->SetThrusterLevel(th_las_aux, 1.0); v->SetEnableFocus(false); v->AddExhaust(th_las_aux, 8.0, 0.6, _V(0.0, 0.4, 12.3), _V(0, 0.4, -0.5), tex_rcs); v->AddExhaust(th_las_aux, 8.0, 0.6, _V(0.4, 0.0, 12.3), _V(0.4, 0, -0.5), tex_rcs); v->AddExhaust(th_las_aux, 8.0, 0.6, _V(0.0, -0.4, 12.3), _V(-0, -0.4, -0.5), tex_rcs); v->AddExhaust(th_las_aux, 8.0, 0.6, _V(-0.4, 0.0, 12.3), _V(-0.4, 0, -0.5), tex_rcs); v->SetPitchMomentScale(1e-5); v->SetBankMomentScale(1e-5); SetMeshVisibilityMode(lasMeshMeshUINT, MESHVIS_NEVER); }

It creates the vessel but never see it jettison off
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,636
Reaction score
2,613
Points
203
Location
Dallas, TX
I fixed some things trying to get to launch.

But found issues.
On the Abort The SM disappears but the CM and LAS just stay there. The reason is it is still attached to the SLS. But the SM is built and falls to the ground

My code is based off an older Orion. Not sure if the newer Orion code fixes these.

But the sequence is when you press J

blowSM();
blowFairing();
SetConfig12_Abort();


What happens in the blow SM is a new vessel is created on the SM and in the Orion the SM part is not seen. That part I can change to say if in the atmosphere then just create the SM and do not fire sep thrusters.

But how to get the CM and LAS away from the SLS?
 

Attachments

  • orionlaunch.jpg
    orionlaunch.jpg
    115 KB · Views: 19
  • orionlaunch1.jpg
    orionlaunch1.jpg
    79.1 KB · Views: 19
  • orionabort.jpg
    orionabort.jpg
    77.1 KB · Views: 19
  • slslaunchneworion.zip
    82.9 KB · Views: 39

SMouses

New member
Joined
Dec 5, 2022
Messages
1
Reaction score
0
Points
1
Location
LU
For example, the RF Communications Team at NASA’s Marshall Space Flight Center routinely uses Ansys 3D electromagnetic simulation software and Ansys Systems Tool Kit STK , a physics-based modeling environment.
 

francisdrake

Addon Developer
Addon Developer
Joined
Mar 23, 2008
Messages
1,060
Reaction score
864
Points
128
Website
francisdrakex.deviantart.com
On the Abort The SM disappears but the CM and LAS just stay there.
The short answer is: An in-flight abort should always work, while a pad abort does not. This may have to do with the vessel state 'landed' vs 'orbiting Earth'.

The long answer may be more complicated: Because after doing an in-flight abort, then also subsequent pad aborts worked, when keeping the same Orbiter session running. This looks like improper initialisation of a (global?) variable.
 

Max-Q

99 40
Addon Developer
Joined
Jul 5, 2021
Messages
765
Reaction score
1,181
Points
108
Location
Cislunar Space
Website
www.orbiter-forum.com
Check out how I did pad aborts with DE Expansion. Works every time.
The code to do it actually quite simple, but on the other hand I was using a custom launch vehicle dll as well.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,636
Reaction score
2,613
Points
203
Location
Dallas, TX
I got the Abort on the pad to work. And separation to work. I have run into something odd that I can't figure out.

In my working version it works. But in a vanilla it doesn't. So if I add this vessel no issue but press f1 then a ctd. nothing in the log. But if the new orion is in the scenario then press f1 then no issue.

I thought it was the mesh order?

As it creates 5 meshes. Then clears them and show the correct meshes for the correct stage.


When you add it is uses these meshes.
clbkSetClassCaps(FILEHANDLE cfg)
hOrbiterMAINMesh = oapiLoadMeshGlobal("NEWORION\\ORION_CM4BLUE"); hOrbiterVCMesh = oapiLoadMeshGlobal("NEWORION\\ORION_VCNEW13"); hsmMeshUINT = oapiLoadMeshGlobal("NEWORION\\NEWSM1"); hcoverMeshUINT = oapiLoadMeshGlobal("NEWORION\\ORIONNEWCOVER"); hcrewMeshUINT = oapiLoadMeshGlobal("NEWORION\\NEWORION4CREW"); SetMeshVisibilityMode(mesh_idx[1] = AddMesh(hOrbiterMAINMesh), MESHVIS_ALWAYS); SetMeshVisibilityMode(mesh_idx[2] = AddMesh(hOrbiterVCMesh), MESHVIS_VC | MESHVIS_ALWAYS); SetMeshVisibilityMode(mesh_idx[3] = AddMesh(hsmMeshUINT), MESHVIS_ALWAYS); SetMeshVisibilityMode(mesh_idx[4] = AddMesh(hcoverMeshUINT), MESHVIS_ALWAYS); SetMeshVisibilityMode(mesh_idx[5] = AddMesh(hcrewMeshUINT), MESHVIS_ALWAYS); cdr1_mfd = { mesh_idx[2],GRP_LEFTMFDSCREEN }; plt1_mfd = { mesh_idx[2],GRP_RIGHTMFDSCREEN1 }; cntr1_mfd = { mesh_idx[2],GRP_CENTERMFDSCREEN }; }
Then meshes are cleared. and depending on the mode certain meshes are seen
ClearMeshes(TRUE); switch (mode) { case 0: case 1: dz = 0; break; case 2: case 3: case 4: case 5: case 6: dz = -2.06; break; // capsule config case 10: case 11: dz = 0; break; case 12: dz = -2; break; } ofs = _V(0, 0, 0 + dz); //ofs_camera = _V(-0.30, 1.368, 2.3 + dz); // left hand seat, eye-point of docking window ofs_camera = _V(-0.41, 1.6, 2.241); // left hand seat, eye-point of docking window _V(-0.41, 1.6, 2.2+dz); //ofs_hud = _V(0, 1.6, 2.5 + dz); SetCameraOffset(ofs_camera); hOrbiterMAINMesh = oapiLoadMeshGlobal("NEWORION\\ORION_CM4BLUE"); //hOrbiterMAINMesh = oapiLoadMeshGlobal("TALON\\orioncm1"); hOrbiterVCMesh = oapiLoadMeshGlobal("NEWORION\\ORION_VCNEW13"); //hsmMeshUINT = oapiLoadMeshGlobal("TALON\\NEWSM"); SetMeshVisibilityMode(mesh_idx[1] = AddMesh(hOrbiterMAINMesh), MESHVIS_ALWAYS);//MESH 0 SetMeshVisibilityMode(mesh_idx[2] = AddMesh(hOrbiterVCMesh), MESHVIS_VC | MESHVIS_ALWAYS);//MESH 1 smMeshUINT = AddMesh(oapiLoadMeshGlobal("NEWORION\\NEWSM1")); SetMeshVisibilityMode(smMeshUINT, MESHVIS_NEVER); coverMeshUINT = AddMesh(oapiLoadMeshGlobal("NEWORION\\ORIONNEWCOVER"));// mesh4 SetMeshVisibilityMode(coverMeshUINT, MESHVIS_NEVER); //heatshield heatshieldMeshUINT = AddMesh(oapiLoadMeshGlobal("NEWORION\\NEWORIONHEATSHIELD")); SetMeshVisibilityMode(heatshieldMeshUINT, MESHVIS_NEVER); //astroMeshUINT = AddMesh(oapiLoadMeshGlobal("TALON\\TALON_CREW"));// mesh5 //SetMeshVisibilityMode(astroMeshUINT, MESHVIS_EXTERNAL); astro1MeshUINT = AddMesh(oapiLoadMeshGlobal("NEWORION\\NEWORION4CREW"));// mesh5 SetMeshVisibilityMode(astro1MeshUINT, MESHVIS_VC | MESHVIS_ALWAYS); drogueMeshUINT = AddMesh(oapiLoadMeshGlobal("Orion-MPCV\\orion-drogue")); SetMeshVisibilityMode(drogueMeshUINT, MESHVIS_NEVER); chuteMeshUINT = AddMesh(oapiLoadMeshGlobal("Orion-MPCV\\orion-chute")); SetMeshVisibilityMode(chuteMeshUINT, MESHVIS_NEVER); BallonMeshUINT = AddMesh(oapiLoadMeshGlobal("Orion-MPCV\\orion-balloons")); SetMeshVisibilityMode(BallonMeshUINT, MESHVIS_NEVER); lasMeshMeshUINT = AddMesh(oapiLoadMeshGlobal("Orion-MPCV\\orion-las"));// mesh13 SetMeshVisibilityMode(lasMeshMeshUINT, MESHVIS_NEVER); fair1MeshUINT = AddMesh(oapiLoadMeshGlobal("Orion-MPCV\\orion-fair1")); fair2MeshUINT = AddMesh(oapiLoadMeshGlobal("Orion-MPCV\\orion-fair2")); fair3MeshUINT = AddMesh(oapiLoadMeshGlobal("Orion-MPCV\\orion-fair3")); SetMeshVisibilityMode(fair1MeshUINT, MESHVIS_NEVER); SetMeshVisibilityMode(fair2MeshUINT, MESHVIS_NEVER); SetMeshVisibilityMode(fair3MeshUINT, MESHVIS_NEVER); switch (mode) { case 0: //AddMesh(coverMesh, &ofs); SetMeshVisibilityMode(coverMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(smMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); //AddMesh(smMesh, &ofs); // AddMesh(solar0Mesh, &ofs); break; case 1: // Orbit config SetMeshVisibilityMode(coverMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(smMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); break; case 2: // Orbit config if (!t_0) SetMeshVisibilityMode(coverMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); if (GetAltitude() < 82000) SetMeshVisibilityMode(heatshieldMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); // SetMeshVisibilityMode(smMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); // if (!t_0) AddMesh(coverMesh, &ofs); // if (GetAltitude() < 82000) // AddMesh(heatshieldMesh, &ofs); ShiftCentreOfMass(ofs); break; break; case 3: // Drogue config if (!t_0) SetMeshVisibilityMode(drogueMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(heatshieldMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); ShiftCentreOfMass(ofs); break; case 4: // not used case 5: // Chute config SetMeshVisibilityMode(chuteMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(heatshieldMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); ShiftCentreOfMass(ofs); // SetMeshVisibilityMode(AddMesh(chuteMesh, &ofs), MESHVIS_ALWAYS); // ShiftCentreOfMass(ofs); break; case 6: // Landed config // AddMesh(balloonMesh, &ofs); SetMeshVisibilityMode(BallonMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(heatshieldMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); // SetMeshVisibilityMode(MMUMeshUINT, MESHVIS_NEVER); break; case 7: //AddMesh(coverMesh, &ofs); SetMeshVisibilityMode(coverMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(smMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); //AddMesh(smMesh, &ofs); // AddMesh(solar0Mesh, &ofs); break; case 10: // Orbit config SetMeshVisibilityMode(coverMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(smMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(lasMeshMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(fair1MeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(fair2MeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(fair3MeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); break; case 11: // Orbit config SetMeshVisibilityMode(coverMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(smMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(lasMeshMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); break; case 12: SetMeshVisibilityMode(lasMeshMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); break; } }
I can make a zip of the code if someone wants to see?


Attached is the latest.
 

Attachments

  • orionlanded.jpg
    orionlanded.jpg
    60 KB · Views: 10
  • orionescape.jpg
    orionescape.jpg
    85 KB · Views: 10
  • NEWORIONFINAL1.zip
    18.5 MB · Views: 26
Last edited:

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,636
Reaction score
2,613
Points
203
Location
Dallas, TX
Also I question the size of the capsule. I might redo the interior so you can have different chair mode. Like lower chairs folded up.

My capsule is 24 parts. I think I might go with 32 which makes it more rounder.

But On the size. Look at the images. You can see might is more larger.
 

Attachments

  • orionsize2.jpg
    orionsize2.jpg
    44.8 KB · Views: 16
  • orionsize1.jpg
    orionsize1.jpg
    51.6 KB · Views: 16
Top