Meadville Space Center
Welcome, Guest. Please login or register.
October 30, 2020, 09:19:09 PM

Login with username, password and session length
Search:     Advanced search
Project Apollo - NASSP 6.4.3 released!
http://nassp.sf.net
25068 Posts in 2094 Topics by 2266 Members
Latest Member: twa517
* Home Help Search Login Register
+  Meadville Space Center
|-+  Project Apollo - NASSP
| |-+  Project Apollo - NASSP Development (Moderators: movieman, Tschachim, Swatch, lassombra)
| | |-+  What needs done?
« previous next »
Pages: 1 [2] 3 4 ... 56 Print
Author Topic: What needs done?  (Read 74964 times)
eddievhfan1984
Hero Member
*****
Posts: 737



View Profile
« Reply #15 on: August 01, 2015, 02:36:55 PM »

I see. I'm just trying to understand how the SIVB is supposed to burn retrograde after sep, especially if we want to closely match IRL times. Or is the retrograde maneuver just maneuvering to retrograde and doing an orbital rate hold?
Logged
dseagrav
Project Admin
Hero Member
*****
Posts: 1118


View Profile
« Reply #16 on: August 02, 2015, 12:11:40 AM »

I thought that it would be as simple as "copy data from the old LVDC to the new one, kill the old one".
Oh, I had a better plan; I had moved the LVDC++ into a subclass with a vessel pointer, the plan was to just move the vessel and LVDC pointers on staging. The LVDC would then control the new vessel. I had also planned to merge the Saturn 1B and Saturn 5 LVDCs as much as possible.

Anyway, from what I'm reading in the Apollo 7 LV flight evaluation there was dumping after CSM separation. Here's the timeline of events:

(TB4 is 620 seconds after GRR)

TB4: Maintain inertial attitude hold
TB4+1: J-2 engine dump start
TB4+20: Orient LVLH heads-down and hold orbital rate
GRR+9000: S4B takeover test
GRR+9180: S4B takeover test complete
GRR+9780: Pitch down 20 degrees from LVLH and hold orbital rate
GRR+10275: Inertial attitude hold
GRR+10500: Nominal CSM separation
GRR+11820: Orient retrograde LVLH heads-up and hold orbital rate
TB4+11237: LOX and LH2 Pump Seal Purge (Start Stage Control Sphere Helium Dump)
TB4+15600: LOX Tank Flight Pressurization Shutoff Valves Open (Restart Cold Helium Dump)
TB4+16267: LOX and LH2 Pump Seal Purge Off
TB4+16800: LOX Tank Flight Pressurization Shutoff Valves Close

I'm still researching the propulsive effects of these two dumps. The cold helium dump was definitely propulsive.
« Last Edit: August 02, 2015, 12:13:26 AM by dseagrav » Logged
indy91
Hero Member
*****
Posts: 1316


View Profile
« Reply #17 on: August 02, 2015, 04:31:55 AM »


I'm still researching the propulsive effects of these two dumps. The cold helium dump was definitely propulsive.

Are you sure? The Launch Vehicle Operational Trajectory document says the effective impulse from that dump is 0.
Logged
dseagrav
Project Admin
Hero Member
*****
Posts: 1118


View Profile
« Reply #18 on: August 02, 2015, 12:54:43 PM »

You're right, I read 9-13 instead of 9-14. In my defense, it was late at night and I was tired.
Logged
meik84
Project Team Member
Sr. Member
****
Posts: 454



View Profile
« Reply #19 on: August 02, 2015, 03:35:33 PM »

Quote
Oh, I had a better plan; I had moved the LVDC++ into a subclass with a vessel pointer, the plan was to just move the vessel and LVDC pointers on staging. The LVDC would then control the new vessel.
Some people here told me that this wouldn't work. Confused
Quote
I had also planned to merge the Saturn 1B and Saturn 5 LVDCs as much as possible.
Uh-hu. Yes, I thought about that, but the many differences between both rockets (resp. LVDC programs) scared me off. It's not only the different engine (handles), you have different IGMs, timebases, restart capabilities...high risk of producing a big inextricable tangle.
Logged
dseagrav
Project Admin
Hero Member
*****
Posts: 1118


View Profile
« Reply #20 on: August 02, 2015, 05:36:16 PM »

Some people here told me that this wouldn't work. Confused
I don't see why not; Some people are simply scared of pointers because they were told to be scared of pointers. Modern CS education does not teach how the machine works, so programmers produced as a result of modern CS education have no frame of reference to understand pointers. This is a fault of their educators, not them. (Their fault is that they believe things without question simply because they were told by an authority figure to believe it.)

Quote
high risk of producing a big inextricable tangle.
Pretty much. I think I'll settle for moving them into the same file and cleaning up the formatting.

Edit:
Good news! The S4B retrograde maneuver worked as it should. The timing was slightly off (use of GET as reference rather than GRR) so I corrected that. Abort PB lighting the launch discrete before it was enabled was also fixed.

Bad news! Almost nothing else worked. The 1st LOX dump did not happen, optics cover jettison failed, CSM/LV separation failed so I used the Abort PB to separate from the LV, and after that the animation of SM RCS jets was screwed up (some displayed as stuck on, some displayed as stuck off).
Edit2: Also, attempting to load a quicksave made prior to launch results in the LV state being destroyed. Among other things the vessel position is lost. The entire preflight must be done each time.

Looking into these issues now.

Edit3: Found the quicksave file eater. You can't name a variable something that starts with the same letters as a Saturn variable because the Saturn class state loader doesn't check for the space after the token.
PosS was renamed to PsnS (in savefiles only)
« Last Edit: August 02, 2015, 11:35:08 PM by dseagrav » Logged
meik84
Project Team Member
Sr. Member
****
Posts: 454



View Profile
« Reply #21 on: August 03, 2015, 07:52:05 AM »

Quote
Their fault is that they believe things without question simply because they were told by an authority figure to believe it.
Amen. I could tell the same story with fresh trained industrial mechanics who are afraid of using a blowtorch properly just because they were taught so in our training workshop. Bangs Head
Quote
Found the quicksave file eater. You can't name a variable something that starts with the same letters as a Saturn variable because the Saturn class state loader doesn't check for the space after the token.
Yup, that's what I've found out, too. My solution was to add the string 'LVDC_' before every variable.
Logged
dseagrav
Project Admin
Hero Member
*****
Posts: 1118


View Profile
« Reply #22 on: August 03, 2015, 10:12:54 PM »

Patches pushed. Abort scenarios work, the S1B LVDC++ survives save and load (on orbit at least; I'm not sure if saving during boost will make a mess or not but I expect it will), the LOX dump works, the S4B retrograde maneuver works, attitude changes on schedule work. Let me know if there's any issues.

Edit: The optics cover jettison not working was found to be a procedural error on my part.
Edit2: The SM RCS jet thing still happens on both normal and abort LV separation.

« Last Edit: August 03, 2015, 10:44:37 PM by dseagrav » Logged
eddievhfan1984
Hero Member
*****
Posts: 737



View Profile
« Reply #23 on: August 03, 2015, 11:39:03 PM »

Could it have to do with the nominal procedure of setting the SCS to attitude hold mode prior to separation? Depending on how the torque is assigned after the vehicles are split, there may have been some thruster firings triggered/animated before the code completed sep, and they weren't cleared after that...
Logged
dseagrav
Project Admin
Hero Member
*****
Posts: 1118


View Profile
« Reply #24 on: August 03, 2015, 11:54:18 PM »

Edit: Patch pushed, problem solved. The LVDC++ was continuing to run after separation of the CSM.
It now halts as it should, and if it somehow does get re-enabled the timestep code was changed to prevent it getting timesteps after the CSM separates.

Edit2: My list of known issues is empty. So what's next? Suggestions?
« Last Edit: August 04, 2015, 02:31:04 AM by dseagrav » Logged
indy91
Hero Member
*****
Posts: 1316


View Profile
« Reply #25 on: August 04, 2015, 10:24:18 AM »

This is as good a moment as any to decide what to do with the Apollo RTCC MFD. With the newest beta build with VS 2010 the REFSMMAT downlink functionality won't work. I think a good goal for the next beta release is making the MFD part of the project or at least implementing the features necessary for Apollo 7 and 8 (at least Rendezvous and REFSMMAT calculations).

I'm still torn over the question of making it part of PAMFD or leaving it as a seperate MFD. The RTCC MFD is a much bigger project than the PAMFD and it doesn't seem 100% wise to integrate a bigger project into a smaller one. On the other side I think fewer MFDs is better for a simulation. It would also give me the possibility to clean up the code and only integrate the stuff that has be. I am open to both options.

In any case, I don't have any experience with Git, so I guess I should make myself familiar with it.

EDIT: Also, I just tried the Apollo 7 LVDC scenario. Is it intentional that the LVDC is shooting for the generic 100NM orbit instead of the actual Apollo 7 scenario?
« Last Edit: August 04, 2015, 11:38:19 AM by indy91 » Logged
jalexb88
Sr. Member
****
Posts: 328


View Profile
« Reply #26 on: August 04, 2015, 01:26:05 PM »

Edit: Patch pushed, problem solved. The LVDC++ was continuing to run after separation of the CSM.
It now halts as it should, and if it somehow does get re-enabled the timestep code was changed to prevent it getting timesteps after the CSM separates.

Edit2: My list of known issues is empty. So what's next? Suggestions?

Awesome. Does the Saturn V LVDC survive quicksave loading now as well? As for the Apollo 8 mission, a while back we (you, I think) were trying to get the guidance equations implemented for TLI Should we still follow this route? Another idea would be to let the LVDC give control over to IMFD/LTMFD through the PAMFD, just for TLI, then takeover again afterwards for the orb rate/separation attitude, etc.
« Last Edit: August 04, 2015, 01:30:49 PM by jalexb88 » Logged
meik84
Project Team Member
Sr. Member
****
Posts: 454



View Profile
« Reply #27 on: August 04, 2015, 03:08:37 PM »

Quote
the S1B LVDC++ survives save and load (on orbit at least; I'm not sure if saving during boost will make a mess or not but I expect it will)
Me, too. I've locked out saving during timebases 0 to 3 in my version to be sure...
Quote
Is it intentional that the LVDC is shooting for the generic 100NM orbit instead of the actual Apollo 7 scenario?
When dseagrav hasn't changed anything in the guidance code itself, it is. However, making the target orbit parameters load/saveable is most easy. I'm hoping that I'll find some time at the weekend to get Git up and runing, so that I'm back in the loop again. 'Computer time' in the last few weeks has been limited for me to about half an hour per day: come back from the construction side, shower, check emails & look in some forums, sleep. Undecided
Quote
Does the Saturn V LVDC survive quicksave loading now as well?
Quicksaving is saving; it should.
Quote
As for the Apollo 8 mission, a while back we (you, I think) were trying to get the guidance equations implemented for TLI Should we still follow this route?
I've the equations implemented already. Problem is the target load, but I think that shouldn't be an unsolvable problem for indy... Wink
Quote
I'm still torn over the question of making it part of PAMFD or leaving it as a seperate MFD.
Considering the work you've done, it would be more sensible to integrate PAMFD in RTCC MFD. Wink
Logged
dseagrav
Project Admin
Hero Member
*****
Posts: 1118


View Profile
« Reply #28 on: August 04, 2015, 09:10:04 PM »

Does the Saturn V LVDC survive quicksave loading now as well?
No, I haven't touched the Saturn V version yet. I'm going to clean it up and move it into the LVDC.cpp/h files.

Quote
As for the Apollo 8 mission, a while back we (you, I think) were trying to get the guidance equations implemented for TLI Should we still follow this route?
I don't see why not; The whole point to the LVDC++ was to gain superior capability.

making the target orbit parameters load/saveable is most easy.
The S1B LVDC saves and loads its entire state - We should be able to put presettings into the scenario file right now, just like we do for the other computers.
(I didn't type all that though, I ran the class definition through some text processing stuff I made to automatically generate the save and load code. I am supremely lazy.)

This is as good a moment as any to decide what to do with the Apollo RTCC MFD. With the newest beta build with VS 2010 the REFSMMAT downlink functionality won't work. I think a good goal for the next beta release is making the MFD part of the project or at least implementing the features necessary for Apollo 7 and 8 (at least Rendezvous and REFSMMAT calculations).
My suggestion would be to move RTCC MFD into the project as-is, then we can move pieces of it around as needed instead of trying to do a bunch of work in one shot. This also lets us figure out by experience what works best.

As for the long term, at one point we were talking about a "Mission Control" subsystem that would generate your burns for you; I'd like to revive that. I have an idea for the UI that I plan to test if no huge earth-shattering bugs show up from this test.

Logged
eddievhfan1984
Hero Member
*****
Posts: 737



View Profile
« Reply #29 on: August 04, 2015, 10:59:32 PM »

Yeah, one cool idea regarding keeping the RTCC separated from PAMFD is the idea of creating a multiplayer environment where one computer runs the simulation and the other receives telemetry downlink and hosts the RTCC program. But that's for a way later build. LOL

The LVDC++ stores its target orbits in terms of vis-viva energy (C3), eccentricity, and true anomaly (though IDK what the reference axis for true anomaly is off the top of my head). It does the same for TLI (since the burn should ideally be sub-parabolic, just barely), reading off the orbital values from a pre-loaded table (parking orbit, first and second option TLI parameters). Ideally, the pre-computed tables should work, so long as the launch is accurate and mission-sensitive table switching is included in the class code.
Logged
Pages: 1 [2] 3 4 ... 56 Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.10 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!