Meadville Space Center
Welcome, Guest. Please login or register.
October 20, 2020, 09:45:53 AM

Login with username, password and session length
Search:     Advanced search
Welcome to the new Meadville Space Center forums!
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 News & Discussion
| | |-+  Support & Bugs (Moderators: movieman, Tschachim, Swatch, lassombra)
| | | |-+  P23 Cislunar Navigation
« previous next »
Pages: 1 [2] Print
Author Topic: P23 Cislunar Navigation  (Read 7978 times)
Hero Member
Posts: 1316

View Profile
« Reply #15 on: April 21, 2016, 12:00:09 PM »

For the first time ever I had some good results with P23 Earth Horizon/Star sightings today. It's quite challenging, I am not sure my procedure is the best and it requires very precise maneuvering and sextant marks. But the results speak for themselves.

Before using P23 two things have to be done. First reinitialize the W-Matrix:

V67E (W-Matrix Error Display)
And then load with V25E:

R1: +00094
R2: +00057
R3: +00003

PRO and V93E to reinitialize. Also the current Apollo 8 launch scenario is missing the pad load for the horizion altitude. I have added a scenario where everything is set up and you only have to start P23.

The procedure from Meik84 works very well. The key to good results is the orientation of the spacecraft. Remember that the measurements are supposed to happen between the star and the horizon closest to the star either on the far or on the near side. So when you do the first sighting on a star the auto-maneuvering does not set you up as I would like it. The automatic 3-axis orientation for P23 (and other programs) is a feature added later on Apollo 15.

So when I have proceeded to the flashing verb 51 I first set the trunnion and shaft angles manually to zero. Then I maneuver the spacecraft manually so that the horizon, the Earth marker and the star marker are in one line. On the scanning telescope you can do this alignment, I had to cheat sometimes and increase the FOV. The panel texture hides part of the FOV that the astronauts actually would have seen, so it's not too much cheating. The sextant can then be used to fine align the orientation. The goal is to reach an orientation (with trunnion and shaft both 0) that has the sextant on the horizon and all three horizon, Earth marker and star marker aligned. A lot of fine maneuvering in MIN IMP mode is required. If everything is aligned I go to the SCT, press V for the split line-of-sight, set optics speed to high and rotate the optics up to the star. Now the star has to be set on the horizon. This needs practice and you need to do some slight maneuvering and slow optics movement. If everything looks great, press mark.

That is my experience report. Here the raw numbers:

Star 14 ENH (3 marks)

DR: +00010, +00010, +00010
DV: +00025, +00023, +00021

Star 15 EFH (3 marks)

DR: +00046, +00000, +00004
DV: +00076, +00000, +00007

The 2nd mark is too good to be true, but that's what I got.

Star 16 EFH (3 marks)

DR: +00015, +00010, +00001
DV: +00018, +00011, +00003

I am slower than the Apollo 8 flight plan wants me to do the sightings, but my goal was precision, not speed.

* Apollo 8 - P23 Tests.scn (83.52 KB - downloaded 101 times.)
Hero Member
Posts: 1316

View Profile
« Reply #16 on: April 22, 2016, 03:30:28 PM »

Programming exercise for today:

I played around a little bit more with P23 and rarely, but often enough to annoy me, I got a CTD. So I let Visual Studio run NASSP in debug mode and I now know where a problem occurs:

while(fabs(fabs(OpticsShaft)-fabs(ShaftMoved)) >= OCDU_SHAFT_STEP) {
sat->agc.vagc.Erasable[0][RegOPTX] &= 077777;
ShaftMoved += OCDU_SHAFT_STEP;

The simulation is stuck in this loop in CSMComputer.cpp. When I stopped Orbiter it had these values:

OpticsShaft = -0.00010406345
ShaftMoved = 391501.66411046032

The issue seems obvious: The evaluation of the while condition is always positive and so ShaftMoved always gets increased and it can never escape the loop. Now the challenging part: why does that start in the first place and how to prevent it? I have the feeling that is has something to do with OpticsShaft being a smaller value than OCDU_SHAFT_STEP. I can't immediately come up with the solution, mabye someone else has an idea...
Hero Member
Posts: 737

View Profile
« Reply #17 on: April 22, 2016, 11:20:03 PM »

IDK how that works, TBH. Is it possibly just a sudden memory glitch, or did this happen whilst you were manually operating the optics?
Hero Member
Posts: 1316

View Profile
« Reply #18 on: April 23, 2016, 06:28:57 AM »

I don't think it's a memory glitch, I bet it's the same problem as the sextant calibration CTDs you have been reporting. It's tricky, but you can try to reproduce it by having the optics zeroed and then do little movements around 0°SA and 0°TA with optics mode manual and low controller speed. It can occur with both positive and negative movements of the shaft and trunnion. I never had this problem occur in any other program than P23, but that probably has to do with the sextant calibration procedure. Usually you are far away from 0°SA and 0°TA when you take manual control of the sextant.

EDIT: Submitted it as an issue on github:
« Last Edit: April 24, 2016, 07:03:27 AM by indy91 » Logged
Pages: 1 [2] 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!