Meadville Space Center
Welcome,
Guest
. Please
login
or
register
.
June 19, 2013, 12:33:11 PM
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
Search:
Advanced search
Welcome to the new Meadville Space Center forums!
20011
Posts in
1930
Topics by
2250
Members
Latest Member:
mikegk
Meadville Space Center
Project Apollo - NASSP
Project Apollo - NASSP News & Discussion
(Moderators:
movieman
,
Tschachim
,
Swatch
,
lassombra
)
LVDC++ Software
« previous
next »
Pages:
1
2
3
[
4
]
5
6
...
18
Author
Topic: LVDC++ Software (Read 13913 times)
dseagrav
Project Admin
Hero Member
Posts: 831
Re: LVDC++ Software
«
Reply #45 on:
October 18, 2012, 06:50:25 PM »
Quote from: meik84 on October 17, 2012, 09:12:06 AM
How do I:
- fire SIVB's ullage thrusters
SetThrusterGroupLevel(thg_ver,1.0);
Quote
- jettison them
I don't know if we simulated that. I don't see it being done.
I may be looking in the wrong place.
Quote
- start SIVB's main engine
SetThrusterResource(th_main[0], ph_3rd);
SetThrusterLevel(th_main[0], 1.0);
Quote
- shut it down again
SetThrusterLevel(th_main[0], 0);
Quote
- fire the APS after orbit insertion?
SetThrusterGroupLevel(thg_aps, 1.0);
Logged
Tschachim
Project Apollo - NASSP
Administrator
Hero Member
Posts: 3687
nassp.sf.net
Re: LVDC++ Software
«
Reply #46 on:
October 19, 2012, 11:46:50 AM »
Quote from: dseagrav on October 18, 2012, 06:50:25 PM
Quote
- jettison them
I don't know if we simulated that. I don't see it being done.
Correct, it's not implemented.
Cheers
Tschachim
Logged
meik84
Project Team Member
Sr. Member
Posts: 299
Re: LVDC++ Software
«
Reply #47 on:
October 19, 2012, 11:02:53 PM »
Well, folks: I almost got it.
LVDC++ now works from start of TB0 till HSL entry (i.e. shortly before SIVB cutoff).
I'll take care of the HSL this evening (seems to be an initial value problem -the old story...), the only thing left would be the SIVB APS control thing. Gimbaling SIVB's engine causes
some
roll torque; we'll need it in orbit anyway. I'd like to crib that from AP7's SIVB, where do I find the code for that?
Anyway, thanks to both of you. I wouldn't have come so far without you.
Logged
Tschachim
Project Apollo - NASSP
Administrator
Hero Member
Posts: 3687
nassp.sf.net
Re: LVDC++ Software
«
Reply #48 on:
October 20, 2012, 07:28:48 AM »
Great news!
The Apollo S-IVB uses IU::OrientAxis in IU.cpp for on-orbit attitude control. This may include some roll damping, but I'm not sure...
Logged
meik84
Project Team Member
Sr. Member
Posts: 299
Re: LVDC++ Software
«
Reply #49 on:
October 21, 2012, 12:06:41 PM »
Just found this little fellow here ->
http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19670083111_1967083111.pdf
. It contains the mathematic basics of S-IB's flight control computer, i.e. the buddy who actually
controls
the rocket. According to the astrionics doc, S-IB FCC and S-V FCC work the almost the same way (although it's different hardware). Gonna see if they really do...
Edit: does anybody know which c++ thruster is which 'real' APS thruster? I can't find them -or we are having to many attitude thrusters on our SIVB.
And just to crosscheck:
th_main[0] is engine 4 in reality,
th_main[1] is 2,
th_main[3] is 1,
th_main[4] is 3,
right?
«
Last Edit: October 21, 2012, 12:38:40 PM by meik84
»
Logged
dseagrav
Project Admin
Hero Member
Posts: 831
Re: LVDC++ Software
«
Reply #50 on:
October 21, 2012, 04:19:22 PM »
The S1B FCC has an extra input device the S5 FCC does not. I believe it was a lateral accelerometer. It's covered in the LV guidance equations document.
I don't know which APS thruster is which. When I was searching for engines, I made a temp scenario with the desired ship in earth orbit, then hardcoded in a SetThrusterLevel for 0.25 and noted which one lit up. It was usually very obvious. I would put comments in when I had mapped them out.
Logged
meik84
Project Team Member
Sr. Member
Posts: 299
Re: LVDC++ Software
«
Reply #51 on:
October 21, 2012, 05:10:46 PM »
Quote
The S1B FCC has an extra input device the S5 FCC does not. I believe it was a lateral accelerometer. It's covered in the LV guidance equations document.
Yupp. That's the only difference in the math. S1B used it effectively from T1+25 till T1+110; obviously it was considered unneccessary for the S5 and deleted.
Quote
I don't know which APS thruster is which. When I was searching for engines, I made a temp scenario with the desired ship in earth orbit, then hardcoded in a SetThrusterLevel for 0.25 and noted which one lit up.
That's a good idea. I'll try that tomorrow. You put that command in the SaturnV::Timestep, right?
'FCC++' gimbal control is working already. Had to use paper & pen to figure out the signs of the roll error part of the gimbal command equations, though.
Logged
dseagrav
Project Admin
Hero Member
Posts: 831
Re: LVDC++ Software
«
Reply #52 on:
October 21, 2012, 08:17:23 PM »
Yeah, I just stuck it at the top of the LVDC++. I made a timebase -99 and made it boot there. It would wait 5 seconds and then light the thruster. That would give me time to get to the external view and see it come on. If I did it again today, I might have it pulse the thruster on a .5 second cycle (or so) because the on/off state would make it very easy to see.
Logged
meik84
Project Team Member
Sr. Member
Posts: 299
Re: LVDC++ Software
«
Reply #53 on:
October 22, 2012, 02:47:00 PM »
I've figured out the APS engine assignments (and I hope they are right
).
However, when I try to implement APS steering for powered flight, Orbiter crashes when it comes to the first 'SetThrusterLevel' command. Any idea what I forgot to do?
In orbit everything's fine, so there must be something different between 'LAUNCH_STAGE_SIVB' and 'STAGE_ORBIT_SIVB', but what?
«
Last Edit: October 22, 2012, 02:50:43 PM by meik84
»
Logged
eddievhfan1984
Full Member
Posts: 231
Re: LVDC++ Software
«
Reply #54 on:
October 22, 2012, 03:04:07 PM »
During the launch phase, does the S-IVB have any form of thrust vectoring with the J-2 engine, or is it solely maneuvered by APS thrusters?
Logged
meik84
Project Team Member
Sr. Member
Posts: 299
Re: LVDC++ Software
«
Reply #55 on:
October 22, 2012, 03:14:45 PM »
Yaw and pitch is done by gimbaling the engine, roll is done by the APS. And yes, we need roll control; the gimbaling of the engine causes some serious roll torque.
Logged
dseagrav
Project Admin
Hero Member
Posts: 831
Re: LVDC++ Software
«
Reply #56 on:
October 22, 2012, 05:59:03 PM »
Quote from: meik84 on October 22, 2012, 02:47:00 PM
I've figured out the APS engine assignments (and I hope they are right
).
However, when I try to implement APS steering for powered flight, Orbiter crashes when it comes to the first 'SetThrusterLevel' command. Any idea what I forgot to do?
In orbit everything's fine, so there must be something different between 'LAUNCH_STAGE_SIVB' and 'STAGE_ORBIT_SIVB', but what?
I bet thg_aps wasn't initialized. let me look for where that gets set up.
Logged
eddievhfan1984
Full Member
Posts: 231
Re: LVDC++ Software
«
Reply #57 on:
October 22, 2012, 07:31:02 PM »
Well, I was just trying to determine the control mode of the spacecraft. I'm not a master of OOP programming yet. LOL Anyhoo, does the control mode change for TPI? I'm just trying to understand the circumstances of the CTD.
Logged
dseagrav
Project Admin
Hero Member
Posts: 831
Re: LVDC++ Software
«
Reply #58 on:
October 23, 2012, 07:35:26 AM »
I'm almost certain it's because the old on-orbit S4B never used the APS, so it's not present or initialized when the stage is built.
I was chasing down the code for it but got stuck with another emergency. I'll try to jump on it again tonight.
Logged
Tschachim
Project Apollo - NASSP
Administrator
Hero Member
Posts: 3687
nassp.sf.net
Re: LVDC++ Software
«
Reply #59 on:
October 23, 2012, 01:25:32 PM »
I thinks there's a kind of misunderstanding here: thg_ver are the 3 stage separation thrusters used at S-IB/S-IVB or S-II/S-IVB staging. thg_aps are only the 2 ullage "propellant settling" thrusters of the S-IVB, not the attitude control thrusters of the S-IVB. For attitude control please use Saturn::SetSaturnAttitudeRotLevel, to be used like Orbiter's SetAttitudeRotLevel. It should use the correct thrusters (th_att_rot[xxx]) for both LAUNCH_STAGE_SIVB and STAGE_ORBIT_SIVB.
If the LVDC++ doesn't use Saturn1b/V::StageLaunchSIVB anymore (I don't know) you need to call AddRCS_S4B to add both thruster systems:
void Saturn1b::StageLaunchSIVB(double simt)
{
switch (StageState) {
case 0:
SepS.play(LOOP, 130);
SetThrusterGroupLevel(thg_ver,1.0);
NextMissionEventTime = MissionTime + 2.0;
SetSIVBMixtureRatio(5.0);
ActivateStagingVent();
StageState++;
break;
case 1:
if (MissionTime >= NextMissionEventTime - 1.0)
DeactivateStagingVent();
if (MissionTime >= NextMissionEventTime)
{
LastMissionEventTime = NextMissionEventTime;
NextMissionEventTime += 2.5;
SetEngineIndicator(1);
StageState++;
}
break;
//
// Start bringing engine up to power.
//
case 2:
if (MissionTime < NextMissionEventTime) {
double deltat = MissionTime - LastMissionEventTime;
SetThrusterLevel(th_main[0], 0.9 * (deltat / 2.5));
} else {
SetThrusterLevel(th_main[0], 0.9);
SetThrusterGroupLevel(thg_ver, 0.0);
LastMissionEventTime = NextMissionEventTime;
NextMissionEventTime += 2.1;
StageState++;
}
if (GetThrusterLevel(th_main[0]) > 0.65) {
ClearEngineIndicator(1);
}
break;
//
// Bring engine to full power.
//
case 3:
if (MissionTime < NextMissionEventTime) {
double deltat = MissionTime - LastMissionEventTime;
SetThrusterLevel(th_main[0], 0.9 + (deltat / 21.0));
} else {
SetThrusterLevel(th_main[0], 1.0);
SepS.stop();
if (th_att_rot[0] == 0) {
AddRCS_S4B();
}
NextMissionEventTime = MissionTime + 2.05;
StageState++;
}
break;
//
// First mixture ratio shift.
//
case 4:
if (MissionTime >= NextMissionEventTime) {
SetSIVBThrusters(true);
SetSIVBMixtureRatio(5.5);
StageState++;
}
break;
//
// Second mixture ratio shift.
Logged
Pages:
1
2
3
[
4
]
5
6
...
18
« previous
next »
Jump to:
Please select a destination:
-----------------------------
Meadville Space Center
-----------------------------
=> NEW MEMBER REGISTRATION
=> Site News
=> Project News
=> Orbiter
=> Off Topic
=> Rob Conley's Blog
-----------------------------
Project Apollo - NASSP
-----------------------------
=> Project Apollo - NASSP News & Discussion
===> News & Announcements
===> Support & Bugs
=> Project Apollo - NASSP Development
===> Planning
===> Programming
===> Modeling
===> Sounds
-----------------------------
Project Mercury
-----------------------------
=> Discussion & Help
=> Development
===> Planning
===> Programming
=> Mecury Mission Control
-----------------------------
Project Gemini
-----------------------------
=> Discussion & Help
=> Development
===> Programming
===> Modelling
===> Sounds
===> Planning
-----------------------------
Orbiter Mars Direct
-----------------------------
=> Planning
===> General News
=> Development
===> Programming
===> Modelling
===> Sounds
-----------------------------
General Projects
-----------------------------
=> The After Columbia Project
===> Sprint
===> Greenstar
===> Cyanstar
===> Bluestar
===> Mars Challenger
-----------------------------
Sol 2018
-----------------------------
=> Planning
Loading...