[17:18:31] NASSP Logging has been started by rcflyinghokie [17:18:33] so just those 3 RTCC values? MCLABN MCLBSN MCLCBN? [17:18:58] yeah, just zero them, they aren't used by the Apollo 9 MCC yet [17:19:06] got it [17:19:21] or maybe... open the RTCC MFD, just once [17:19:30] might also fix it [17:20:02] no CTD after zeroing [17:21:16] good [17:28:14] the AGS does the math differently for the theta calculation [17:28:25] have to put both in MATLAB and compare them [17:52:52] hmm didnt get any SPS gimbal angles from MCC [17:56:25] about 4h4m before the SIVB restart [17:56:32] 4h40m* [17:56:57] I think I was lazy and never added that update [17:58:18] ah gotcha haha [17:58:53] I don't think the actual mission got that update [17:59:31] ah not quite true [17:59:39] they got it combined with the SPS-1 Maneuver PAD [18:00:21] I have basically set it up like the real mission [18:00:39] Maneuver PAD has the IMU angles for the launch REFSMMAT [18:00:58] the REFSMMAT for the burn is a preferred one, so 0,0,0 angles by definition [18:02:32] the flight plan has it early, maybe to allow the crew to go to that attitude early [18:13:51] ok sounds good [18:13:59] I can remove it from the checklist then [18:49:40] sure [19:18:37] I think I can replicate the difference between V83 and the equivalent in the AGS [19:18:46] now I just need to understand it... [19:42:00] :D [19:49:53] https://i.imgur.com/KGPYliV.jpg [19:50:04] I believe this closely matches the behavior for Apollo 11 [19:51:41] with 0° roll angle [19:51:59] although interestingly, the amplitude of the difference becomes smaller with a roll angle closer to 90° [19:52:10] which would be gimbal lock so probably expected and meaningless [19:52:52] the AGS calls the angle [19:53:06] "Inplane angle between Z body axis and local horizontal" [19:53:22] for the PGNS it's definitely not in plane [19:54:26] those jumps seems weird to me, otherwise I would say all there is to this is a difference in angle convention [20:02:58] whoa, yeah [20:04:01] 0° roll and of course 60° yaw [20:04:16] which leads to maximum difference of also 60 [20:15:39] and I would also trust the AGS over the PGNS [20:15:58] in-plane angle sounds more correct for the ORDEAL [21:51:50] night! [14:38:35] good afternoon [15:12:51] hello. [15:13:02] how's it going today? [15:27:08] very good [15:27:10] and you? [16:11:06] good as well [16:15:03] been testing the new center of gravity of the ascent stage a bit [16:15:15] the LM VC seems to have some issue, but they might not be caused by that [16:17:10] issues* [16:32:20] but otherwise it's a lot of fun seeing the DAP struggle during any APS burn [16:47:24] you were saying yesterday that it looked pretty close to the 16mm films? [16:50:00] yeah, in the way the attitude control behaves [16:50:19] just after liftoff the APS isn't pointing through the CoG at all [16:50:33] so the RCS needs to do a lot of working keeping the LM on track [16:50:49] and now that I have seen that once in the simulation it's all I can see in the videos [16:51:07] Yeah its pretty obvious lol [16:51:19] Do we have the cant angle modeled? [16:51:23] nope [16:51:27] well I have! [16:51:33] Wonder if that would help [16:51:33] currently testing that [16:51:58] I have both a realistic center of gravity and the APS cant in my local copy right now and doing a bunch of tests [16:52:20] I'm really enjoying looking at it [16:52:45] the dynamics are basically like this [16:52:54] the APS cant angle is overcompensating at lunar liftoff [16:53:19] so the APS causes an angular acceleration in pitch of about 7°/s^2 [16:53:50] that's as much as 1.5 RCS thruster can do [16:54:16] so the DAP has two RCS thrusters on about 75% of the time [16:54:27] during ascent the center of gravity shifts [16:54:49] shortly before cutoff the APS is almost exactly point through the CoG, at least in the pitch axis [16:54:53] pointing* [16:57:38] That sounds like its correct [16:58:04] and that's indeed very noticable in the videos [16:58:22] RCS off, APS is starting to rotate the LM [16:58:40] DAP doesn't like the attitude rate and errors and is switching on two RCS thrusters [16:59:09] and then once it is happy it switches them off and the cycle begins again [17:00:04] one cycle of this is about 3 seconds long I think [17:01:34] hmm [17:02:32] what we are getting now is just a bit of bouncing back and forth in the deadband [17:03:11] do we have any good telemetry of an ascent with respect to RCS firing? [17:03:58] I've been looking at the Apollo 11 DAP postflight analysis [17:04:18] https://ntrs.nasa.gov/search.jsp?R=19690031184 [17:04:39] I know the AGS took into account the cant angle, did the PGNS have the same? [17:05:48] hmm, well for guidance the PGNS simply measures the thrust vector and points it to the desired direction [17:06:47] have to check if e.g. P42 chooses the ignition attitude with the cant angle [17:07:26] for attitude control, there are two padloads, in pitch and roll axis, for the expected angular acceleration at lunar liftoff [17:07:34] to help the DAP out initially [17:07:49] would that be analogous to the cant in AGS? [17:08:40] I think the AGS just doesn't have the smart logic to measure the thrust vector like the PGNS can [17:08:42] theres an X an Y address I believe in the AEA [17:08:59] so you have to tell the AGS that the burn is with the APS [17:09:03] Rather, P and Y [17:09:10] or you get a constant pointing error of 1.5° [17:10:40] ah yes [17:10:54] AGS has addresses for cant in pitch and roll plane [17:12:11] but the Apollo 11 mission constants set the one in roll to 0 [17:13:43] and also [17:13:49] "The APS cant angle data previously input via the [17:13:50] DEDA to cornpensate for canted thrust direction has been deleted in FP8." [17:16:52] yeah I remember that change [17:17:18] and no, PGNS doesn't calculate the ignition attitude using any cant angle [17:17:23] not even for the DPS [17:17:33] But I dont remember if it was due to it being unnecessary or changes to the CG [17:17:37] the CMC does it with the SPS trim angles [17:18:25] the FP8 manual goes on [17:19:35] "DPS or APS misalignments of less than 2 degrees with respect to the [17:19:36] assumed thrust directions result in lateral cutoff velocity errors of [17:19:37] less than 3 fps. This type of error is sensed by the navigation [17:19:37] equations and consequently can be removed by performing a DV trim maneuver using axis-by-axis RCS thrusting (See Section [17:19:38] 28.0)." [17:20:26] and as far as I know, the APS was canted at 1.5° in the pitch plane and 0° in roll for all missions [17:20:36] although I have to check, LM-1 might be an exception [17:21:07] Ah ok [17:21:53] I am surprised they didnt have to change anything for the J missions [17:23:05] probably not large enough to make a difference [17:23:17] that initial guess for the angular acceleration caused by the APS does vary [17:24:57] Apollo 11 padload has 7.8°/s^2 [17:25:06] Apollo 17 has 5.335 [17:26:16] heavier LM [17:26:41] yeah, must be heavier in the front [17:32:05] morning! [17:33:09] I think you're right that LM-1 was an exception [17:33:33] LM-3 ascent engine installation drawing: https://archive.org/stream/apertureCardBox503NARASW_images#page/n468/mode/1up [17:33:41] LM-1: https://archive.org/stream/apertureCardBox502NARASW_images#page/n1491/mode/1up [17:38:52] hey Mike [17:40:15] so no cant angle on LM-1 [17:40:37] makes sense, I believe the astronauts are the main difference that is putting the CoG so far forwards [17:40:57] hmm [17:41:12] so I have to make the CoG calculation check if the astronauts are there or not [17:41:19] and make the cant angle optional [17:43:14] or be lazy and do neither of these things as they partially cancel each other out :D [17:48:12] but yeah, seems like LM-1 did not have any signficant shift in the center of gravity in the Z-axis, only 0.2 inches [17:48:55] near burnout, where the APS is nearly pointing through the CoG, it has 4.3 inches in Z axis [17:50:13] https://www.youtube.com/watch?v=GyoW3Op0-LA [17:50:22] made a quick and dirty video of the first minute of the ascent [17:50:35] look at pitch rate on the FDAI and listen to the RCS [17:50:40] and enjoy the outside view [17:57:36] oh wow, that's really cool [17:57:51] and you're right, that behavior is obvious in the videos [18:02:41] just hugs that deadband [18:04:05] and not just in attitude error but now also attitude rate [18:04:28] and the same in roll, just weaker [18:04:43] 0.5°/s^2 in roll at ignition [18:05:03] goes up to 2 at cutoff [18:29:14] quick question on AGS: while setting up for PDI, when the checklist says "240+(231 RLS)", am I correct in thinking that I'm supposed to read the value out of address 231 and then enter it into 240? [18:29:47] yep [18:30:00] or from the PDI PAD [18:30:05] 231 is on the PDI PAD [18:30:40] ah, is that another MFD screen? [18:31:17] should be a MCC PAD [18:32:00] there is a PDI PAD in the RTCC MFD, but I meant the physical PAD, in the LM Data Cards [18:32:13] I think in our pre PDI scenario the PDI PAD is not the latest one [18:32:26] so it's not saved there [18:32:54] Maybe I should add the PDI PAD to the scenario description [18:34:11] yeah the Before PDI scenario has the P76 PAD for the CSM saved [18:35:17] that's the last one that the MCC gave the astronauts [18:35:24] 231 is padloaded as well, correct? [18:36:07] I think so [18:36:29] yeah it is [18:37:07] so pulling 240 from 231 should be fine unless MCCH changed the RLS [18:37:39] pretty sure that you would have updated 231 then as well [18:37:42] and you want them to be the same [18:38:01] 240 is part of the cheaty lunar surface state vector update [18:39:00] thewonderidiot, PDI PAD is hidden away in the RTCC MFD under Pre Advisory Data, Maneuver PAD and then press the OPT button twice, if you need it. [18:39:18] aha, great, thanks :D [18:39:20] might not work in the old NASSP version though [18:39:27] not without updating the REFSMMAT [18:39:41] I updated to the latest orbiter beta and NASSP over the weekend :) [18:39:52] ah nice [18:39:58] so I'm now using your brand new Apollo 11 scenarios [18:40:10] then the attitude on the PDI PAD will be wrong, but it at least calculates the PAD right :D [18:40:18] hehehe [18:40:39] to get it fully correct in the pre PDI scenario also update the REFSMMAT. Utilities, REFSMMAT and use DWN to downlink the REFSMMAT to the RTCC MFD [18:40:43] and then calculate the PDI PAD [18:41:55] that sounds like a problem for future Mike [18:44:37] haha [18:46:25] 99R0 or 99R1? [18:48:34] last night I was flying 99R1 [18:48:46] and was able to do some AGS aborts successfully [18:48:59] tonight I'm going to do 99R0 and see how the AGS responds to being upside down from LNY-77 [18:50:25] initially I started with the pre-DOI scenario to start a bit further back, but I started getting tripped up on some of the other subsystems (like how to manually acquire the CSM with the RR) so I went back to the pre-PDI scenario :P [18:51:13] Mike needs more flight time in the LM :P [18:51:28] sounds like he is getting that at the moment haha [18:51:33] +00102 HRS TIG [18:51:34] +00038 MIN PDI [18:51:34] +025.39 SEC [18:51:35] XX09:50 TGO N61 [18:51:36] -0000.1 CROSSRANGE [18:51:36] XXX180 R FDAI [18:51:37] XXX287 P AT TIG [18:51:38] XXX000 Y [18:51:40] +56923 DEDA 231 IF RQD [18:51:42] that's your PDI PAD [18:52:30] aha, okay [18:52:45] I feel like +56923 is very close to, but not exactly, the number I was reading out of 231 last night [18:53:03] should be [18:53:09] is this 11? [18:53:16] yep [18:53:34] maybe it is exact and sleep has muddled the numbers in my head [18:53:49] I would have said that the number I was entering last night was +56919 [18:55:25] hmm, I don't think the MCC updates the landing site vector until after landing [18:55:38] but [18:55:46] 231 has +56919 in that scenario [18:56:44] ah [18:56:51] I just let the auto checklist run [18:57:00] it uses 56919, which is nominal I guess [18:57:20] should probably be eventually changed to whatever the PAD contains [18:57:36] although why that difference... [18:57:53] I never trusted the landing site coordinates in the flight plan lol, but that's what we are currently using [18:58:09] I know better now from MOCR audio [18:58:23] padloaded for 11 was 56936 [18:58:25] hehehehe [18:59:05] 937.051NM is what the RTCC had loaded pre landing [18:59:27] that is 56936 [18:59:51] where does 56919 come from... [19:00:17] ah [19:00:23] LM Timeline Book has that handwritten in [19:00:26] so actual mission [19:01:03] ah [19:01:26] is 56936 still padloaded in the scn though at launch? [19:01:43] and 56919 put in later (I cant remember) [19:04:24] yes [19:04:32] that is loaded in the AGS [19:04:40] 56936, at launch [19:06:41] not sure how they came up with 56919 [19:06:52] but that's on the actual PDI PAD [19:07:35] https://www.youtube.com/watch?v=gYQwuYZbA6o [19:10:00] I'm pretty sure that the actual mission had 56919 kft (936.766NM) loaded for PDI, in PGNS and AGS [19:10:16] so they uplinked that at some point [19:10:34] can't find anything about that in my notes from the FIDO loop though [19:10:57] must have been GUIDO who changed it [19:11:23] in RTCC, PGNS and AGS [19:15:48] sky crane makes a nice Mars sandstorm [19:19:19] haha yeah it does [20:12:09] pretty incredible shots [20:20:23] before P22 they had a "biased target" with the radius 936.728NM, 56917 kft [20:20:37] maybe based on the P22 on LOI day [20:20:59] I'm listening to the GUIDO during the P22 a few hours before landing [20:27:16] classic, P22 uses an altitude input, relative to mean lunar radius. GUIDO (or rather his sidekick callsign "Yaw") wants to know the value of that radius in nautical miles [20:27:29] so the AGC controller first has to convert that from metric for him... [20:28:26] not the first time where AGC is asked for a value and he only has it in metric, instead of a unit everyone else there uses :D [20:29:13] haha funny how that worked out to not cause any major issues [20:30:35] the last time this came up was the lunar sphere of influence the AGC uses. That time FIDO wanted it in Earth radii so that it is useful for the RTCC people... [20:35:22] Oh on 9, prior to first rest period, the FP calls for "6-4 Deorbit TIG" [20:35:37] I see no mention of this in the transcript unless I am totally missing it [20:35:45] about 8h50m [20:36:57] I see the block data prior to it [20:38:04] I think that IS the time of 6-4 deorbit [20:38:10] and not an update to the crew [20:38:29] 6 stands for rev 6 [20:38:33] and that is rev 6 [20:38:49] Ahh ok that makes sense [20:39:01] and Block Data 1 is preflight [20:39:37] they have that written down in some checklist already before the mission [20:42:11] did they have an attitude for drifting flight? [20:43:33] don't think so [20:47:21] Gumdrop is resting for the first "night" [20:47:50] nice! [20:48:50] a few checklist tweaks and procedure tweaks but nothing major to report [20:50:10] probably not much either on the next day [20:50:58] but then the LM fun begins [20:52:32] oh this is interesting [20:52:42] "What are you doing there friend, wait till you are out of P27" [20:53:02] during an uplink to the LGC [20:53:41] related to this [20:53:41] 098:56:06 Duke: Eagle, Houston. On our load - during our load, we had to do a Verb 96 to stop integration. We're going to start over again on this load. Over. [20:54:06] they uplink a state vector, it does integration immediately after, so they can't continue uplinking [20:54:41] I've seen that a few times, although thought it was my fault not setting up MCC uplinks correctly [20:54:51] but at least they got the same issue in reality... [20:55:31] "I can't believe we get caught with integration so many times" [20:55:59] hahaha [20:56:26] re-discovering issues they had during the real thing independently will forever be one of my favorite parts of this [20:57:36] "Well, I think what happened there [complicated explanation]... oh jeez, I don't know what happened, something like that" - Jack Garman [20:58:52] oh wow they had to uplink the V96 to stop it? [20:59:37] I just listened to them type in V96E from mission control [21:01:01] the order of things matters with the state vector uplinks, they just got that wrong [21:01:32] it has the maximum number padloaded for the state vector times, so that it doesn't do any integration before an uplink [21:03:12] when you uplink the wrong state vector first it will then try to integrate to that maximum time, 700 hours something [21:03:27] so V96 definitely called for [21:04:18] oh yikes [21:05:12] Oh my transcripts are a real gem, I have read through so many and still find little things like this that make the immature side of me come out: [21:05:13] 007:57:25 Schweickart (onboard): Boy, you know, swallowing all of this gas, you can't help but fart all over the place. [21:05:25] 007:57:37 Schweickart (onboard): That's a real challenge for that poor lithium hydroxide. [21:05:47] hahahaha [21:06:54] yeah the tone of the conversations can be slightly different between onboard and air-to-ground [21:24:46] boys will be boys [21:31:09] "Just as a matter of interest, the far future time tags on your state vector are really going to slow down the timeline on the next steps. Really slow it down. [21:31:10] We are in low lunar orbit with the R2 model, it takes forever to integrate back an hour and a half. We've had verb 47 sitting here for the last 2 or 3 minutes while it is integrating." [21:31:23] THANK YOU [21:31:40] exactly what I was thinking when reading mission techniques and flight plan [21:36:21] but I guess they actually did that then [21:36:25] heh [21:36:37] even if it means long integrations on any V47 and V83 [21:41:45] didnt we have issues with that at one point when we had future SVs uplinked? [21:41:50] I remember some took a long time [21:43:38] yes [21:43:52] I might have partially taken those out again and uplink current time state vectors instead [21:44:05] but apparently they did it like flight plan and mission techniques want it [21:44:51] for Apollo 11 the LM state vector got a DOI-10 time tag, CSM PDI+25 [21:45:08] PDI+25 minutes is probably the main issue [21:45:24] that is a long while away at the time of uplink [21:46:01] but I actually started too late in the GUDIO audio, they had already calculated those uplinks [21:46:05] just not uplinked yet [21:46:12] so I am not 100% sure about their time tags [21:46:20] probably close [21:48:03] nobody has forced Bill Tindall to watch a DSKY while it integrates a state vector for multiple minutes [21:48:17] the mission techniques would have looked different if they had done that [21:50:16] Haha my fiancee just looked over at me funny when I cracked up at that comment [21:50:43] I just told her she wouldnt get it (she loves apollo and works in aerospace, but not as deep as us) [21:53:15] haha [21:56:05] heheh [21:56:10] it is very true :D [21:56:23] also indy91, I found another annoying set of dates [21:56:42] http://www.ibiblio.org/apollo/Documents/ksc_rope_module_status_71.pdf [21:56:53] PDF page 2 of that has estimated arrival dates for rope modules to KSC [21:57:11] which sounds great, but I don't know how much I trust any of them.... [21:57:59] for example, Comanche 45-2 being delivered to KSC on 4/4/69, even though they weren't even directed to add the R-2 model to it until 4/1/69 [21:58:23] unless that's the date the Comanche 45 rev 0 module showed up [21:58:29] hmm right [21:59:36] Luminary 69-2 certainly didn't show up at the beginning of February, heh [21:59:47] although that is believable for just 69 [22:00:08] so, the 6/24 and 6/25 seem a tad early, but maybe possible? [22:00:27] the numbers for the banks, do we know they are correct for one of the revisions? [22:00:46] hmm, what do you mean, numbers for the banks? [22:00:58] the rope modules I mean [22:01:04] dash number, serial number [22:01:07] oh [22:01:14] this is our only source for flown serial numbers [22:01:20] great :D [22:01:21] well, this one and the equivalent one from 1972 [22:01:31] but yes, the dash numbers are all expected [22:01:52] I actually reverse-engineered the dash numbering for most of the modules from this document before we got all of the NARA drawings [22:02:57] https://archive.org/stream/apertureCardBox467Part2NARASW_images#page/n40/mode/1up [22:03:15] the Computer Program Assembly drawings give the expected dash number configuration for different releases [22:03:29] ...the "Luminary 99" at the top of that page I linked is actually 99/1 [22:03:37] but the key feature of 99/1 is the -1071 for module B1 [22:04:04] Luminary revision 99 would have -1041 for module B1 [22:05:50] Comanche 55, ship date June 4th, arrival at KSC May 29th. Hmm [22:05:53] and what is MKE [22:06:02] hahaha [22:06:06] that one took me a bit [22:06:14] must be a typo [22:06:16] MKE is Milwaukee, where AC Electronics was located [22:06:38] right, I had already googled Raytheon Milwaukee [22:06:43] didn't think of AC [22:06:47] so they must have shipped them from Raytheon to AC and then to KSC from there [22:06:58] the ship date to arrival date is usually quite constant [22:07:20] if we take 6/4/69 and believe it is actually 5/4/69 [22:07:31] then the outlier is Luminary 99 [22:07:34] yeah that seems likely [22:07:50] so that ship date is probably revision 0 [22:08:03] while arrival date refers to R1 [22:08:03] the MKE->KSC for 99 makes sense, I think, since they probably decided to overnight it to get it there ASAP [22:08:04] maybe [22:08:21] yeah [22:09:22] let's see, when was 99/0 released... [22:09:47] some time in may [22:09:51] yeah that ship date is probably 99/0 [22:10:41] hmm I am trying to remember why I have a nav check in each SPS burn procedure [22:10:42] 6/24 arrival at AC is even more crazy, if 6/17 was the release to Raytheon date [22:14:56] rcflyinghokie, the Maneuver PAD has a nav check section [22:15:06] weird Apollo 7 and 9 only procedures [22:15:10] Ohh thats right [22:15:27] Thanks [22:16:36] maybe if I waited for the maneuver pad I would have noticed :P [22:22:52] night! [14:47:21] good morning [14:49:47] hey [14:51:28] so Mike and I were playing around with the EMP last night and we discovered some interesting behavior with aborts [14:51:39] Not sure if its accurate or not in the sim [14:52:27] So in one test case, abort is used in PGNS and fails (frozen P70) so guidance is switched to AGS and it starts working as advertised..... [14:52:45] If an abort stage is called while the DPS is burning, it stages and lights the APS etc.... [14:53:05] However, if an abort stage is called after the DPS is depleted, it will not fire the stage in AGS [14:53:26] the only work arounds were engine arm ascent and engine start, or switching back to PGNS [14:53:51] interesting [14:54:09] tested it numerous times same results [14:54:32] could be an AGS software problem [14:54:38] or our control electronics [14:55:03] yeah i couldnt find anything that would point to abort stage not functioning in that case [14:56:33] I wouldnt think it needs to sense DPS running to work [14:56:34] and that works without the EMP? [14:56:45] actually we didnt try it without [14:56:52] shouldn't matter [14:56:56] but it was the AGS that wouldnt fire the stage [14:57:03] yeah [15:03:12] I wonder if I just configured the AGS wrong [15:03:48] which scenario did you use for this? [15:05:47] I didn't do 400+1 in my testing scenario [15:05:55] which I have to Mike [15:05:57] gave* [15:06:37] what causes staging is abort stage plus an engine on signal from the computers [15:11:34] but I can replicate this [15:16:00] saved a scenario with this condition in progress [15:16:07] I guess I'll look through it relay by relay :D [15:17:38] sorry got pulled in a meeting [15:17:50] it was the apollo 11 pre pdi [15:18:14] 102h28m [15:19:05] also another thing, what is the ONAME in the scn file? [15:19:18] name of the other vehicle [15:19:27] RR still uses that to determine what to track [15:19:27] ok thats what deduction let us to [15:19:34] hmm, I think the AGS wants the engine off [15:19:37] we put the 660 in the wrong EMEM at first lol [15:20:01] really [15:20:17] which is weird because the AGS didnt stage with it off [15:21:14] with what off? [15:21:46] DPS [15:22:17] oh, I mean any engine [15:22:24] the computers don't control what engine to use [15:22:32] that's LM electronics [15:22:43] the AGS is sending out an "engine off" signal [15:22:54] but it needs to send out "engine on" for abort staging to happen [15:23:02] shouldnt it command an engine on when abort stage is pressed? [15:23:11] probably? [15:23:40] I wonder if it goes to some thrust failure mode when the DPS is depleted [15:24:55] or the AGS gets somehow confused by both abort and abort stage pressed [15:25:04] which then could be a bug in our LM electronics [15:25:16] thats what I am wondering...but it works if both are pressed and the DPS is running [15:25:42] might be an unusual logic case not accounted for in the code [15:32:24] AGS gets inputs discretes [15:32:34] in this case separately for the engines [15:32:46] but both are off, makes sense, both engines are off [15:33:17] right [15:33:28] but abort stage should send and hold an on command I would think [15:33:49] i know if abort stage is pressed it ignores any engine off commands from PGNS or AGS [15:34:01] but does it send the engine on command [15:34:28] well, abort stage alone doesn't send out an engine on signal [15:34:39] you press abort stage on the lunar surface, before liftoff [15:34:52] and normally P12 then ignites the APS with an engine on signa [15:34:52] l [15:34:58] and that then also causes staging [15:36:43] can't say this logic is simple in the control assembly no. 1 haha [15:37:46] lol [15:40:27] AGS should definitely get the AGSAbortStageDiscrete signal [15:42:44] which should command an engine on? [15:44:03] not sure yet [15:44:22] looking at the flowchart and going through all input signals [15:45:03] AGSFollowUpDiscrete is off, AGSAutomaticDiscrete is on [15:45:12] that means the AGS knows it is in control [15:45:18] and in auto mode [15:48:34] I have an idea [15:48:48] what if I give it an ullage burn [15:49:31] that worked! [15:50:10] I remember reading the AGS needed an ullage sense somewhere in the systems handbook [15:50:24] I know it needs it to do an external dV burn [15:50:37] yeah [15:51:08] so I guess in this case the DPS burning is that "ullage sense"? [15:51:24] maybe [15:51:32] but the AGS also will have noticed the DPS cut off [15:51:42] so what if PGNS failed like in Mikes case, abort was used, DPS failed for some reason [15:52:08] would you have to ullage to get an APS ignition/staging? [15:52:30] seems kind of bad for an abort lol (granted it is a pretty rare condition set) [15:52:59] maybe I set the ullage counter wrong or so [15:53:58] I followed the AGS flowchart and got up to the point where it checks on [15:54:12] MU8 - K19 [15:54:22] no [15:54:24] 1K9 [15:54:37] MU8 is the ullage counter [15:54:47] and 1K9 is padloaded [15:54:58] how large MU8 must be before engine on is issued [15:55:16] 1K9 is address 616 [15:55:21] did I set that up wrong somehow... [15:55:39] I think the padloaded ullage counter is 4 seconds? [15:56:23] 1k9 should be 616 [15:56:45] oh its units are "counts" not sec [15:57:56] that counter is right for DOI and PDI [15:58:07] theres also an ullage threshold address [15:58:45] units are acceleration [15:58:49] 4k35 [15:59:38] address 661 [16:01:05] ah yes [16:01:17] if the acceleration is lower than 4K36 it doesn't measure it for the ullage [16:01:21] 4K35* [16:02:31] hmm [16:02:36] 616 should be set to 0 [16:02:41] according to all checklists [16:02:46] why is it 3 in my scenario... [16:03:04] for the most part I let it do the auto checklist [16:05:12] hmm 616 should have been padloaded to 4 [16:05:18] unless something changes it [16:05:51] let me look back and see [16:06:07] the Checklist MFD has two places where it is set to 0 [16:06:16] and still it is 3 in my scenarios [16:06:17] weird [16:06:49] yeah I see that [16:07:07] the only thing I can think of is one of the routines changing it [16:07:28] try setting it to zero and then running a 410+1 and check it again [16:08:23] 410+0* [16:10:29] hmm no [16:10:35] doesn't get reset [16:10:56] why 3 [16:10:59] padload has 4 [16:12:24] I see the original was 3 but it was corrected to 4 in the constants doc [16:12:43] it's 4 in one of my earlier scenarios [16:13:03] and 616 is set to 0 in the ags initialization and before DOI [16:13:23] yeah [16:13:30] I actually do have scenarios where it is 0 [16:13:39] between the time where it is 4 and where it is 3 :D [16:13:54] haha [16:14:08] oh can you check a 410+5 as well to see if it changes [16:15:51] sure [16:16:01] ok I have the two scenarios between which it changes [16:16:37] 100:47:09 GET [16:17:07] 101:00:33 GET [16:17:19] I was quite close to the timeline [16:17:46] ah ok [16:17:59] that contains the point where you set it to 0 again [16:18:08] after sep [16:18:19] maybe I had auto checklist off for that stretch [16:18:23] and accidentally entered 3? [16:18:37] I'll run the earlier of the scenarios and do everything as normal [16:21:27] wait what [16:22:25] I load a scenario where it is 0 [16:22:33] when the scenario has loaded it is now 3 [16:25:58] oooooh [16:26:00] woooow [16:26:13] I think I know why that is [16:26:24] the FP6 binary has 3 stored [16:26:31] it loads that first [16:26:53] to not waste scenario lines memory values that contain 0 aren't loaded [16:26:57] so it gets the 3... [16:27:04] that's terrible [16:28:58] stupid AGS memory using the same type of memory for fixed and erasable [16:29:13] I guess I have to null the whole AGS memory in the load function [16:34:25] hahaha [16:35:57] I copied the save and load stuff from the AGC [16:36:11] but the AGC has nothing in erasable memory by default... [16:42:15] but before I push that fix I'll talk to Mike, if I really need to save half of the total AGS memory [16:42:23] most of it is used like fixed memory [16:42:31] even if it could theoretically be written to [16:46:09] can't wait until Mike hears the chain of events for the abort stage not to work with DPS depleted :D [16:46:33] haha [16:46:36] should be fun [16:50:19] but I think we went through this before. There theoretically could be AGS flight programs that use more of the memory as erasable [16:50:36] hardware wise, 0000 to 3777 are erasable, 4000 to 7777 are fixed [16:50:53] but as far as I can tell FP6 and FP8 only use up to 777 as erasable [16:50:58] and everything above that is code [16:51:45] so we kind of wastefully are saving/loading 1000 to 3777 in scenarios [17:40:08] so what is the best solution here [17:40:21] because its just being overwritten incorrectly in some cases? [17:40:34] morning! [17:41:25] Hey Mike [17:41:33] Nik is up to speed [17:43:32] it was the ullage counter [17:44:23] hmm, ullage makes sense [17:45:07] yeah, it wanted ullage before starting the APS [17:45:20] the ullage counter was set incorrectly [17:45:28] padloaded to 4, changed in the checklists to 0 [17:45:32] but I had it as 3 [17:45:41] and that is due to a terrible and stupid bug [17:46:05] hahaha [17:46:15] to cut down on lines saved in scenarios it doesn't save any memory address that contains the value 0 [17:46:23] I reused that code from the AGC [17:46:40] but in the AGC all the erasable memory is initialized to 0 [17:46:42] even though 0 is needed for abort stage to light the APS in the case last night [17:47:15] in the AGS the flight programs have a lot of initial values [17:47:21] it worked with DPS because it sensed the acceleration, but when you tried it after depletion, there was no acceleration and since 616 was not zero, it wouldnt light [17:47:30] yep [17:47:45] so I had a scenario where 616 was set to 0 [17:47:50] then I saved loaded [17:47:57] oooohhhh wow [17:48:07] and it got overwritten from the FP6 binary [17:48:26] and not with 0 from the scenario as that doesnt get saved when it has 0 [17:48:33] so when I load that scenario 616 is suddenly 3 [17:49:07] wow that's devious [17:49:10] nice find :D [17:49:23] which is also technically incorrect as the padloaded value was 4 [17:49:24] so I guess I set all memory addresses that can be loaded to 0 in LEM_AEA::LoadState [17:49:32] the binary had 3 though [17:49:51] yeah, I had 4 in 616 in all scenarios leading up to the point where it gets set to 0 [17:50:18] thewonderidiot, I think we talked about this before, we are saving addresses up to 3777 [17:50:31] but looking at FP6 and 8, everything beyond 777 is code [17:50:42] in the theoretically erasable memory part of the AGS memory [17:51:16] I could limit it to save/load up to 777 only [17:51:30] but some flight program might not like that [17:51:35] hmmmmm [17:52:07] oh wow [17:52:15] but I couldn't really find a document that says "1000 to 3777 shouldn't contain stuff that can be changed" [17:52:21] so FP6 does have some self-modifying code that edits up to 1004 [17:52:27] by the flight program itself I mean [17:52:31] oh, 1004 [17:52:57] that's with the STO instruction... I need to look up the assembly manual because I don't remember if anything else can write [17:54:04] FP6 already has code in 705 [17:54:19] 704 is padload, so definitely used as erasable [17:56:23] we can keep it as it is with the saving up to 3777 [17:56:23] hmmm... I think it might just be STO and STQ [17:56:26] seems safer [17:57:14] as far as I can tell, for both FP6 and FP8, 1004 is the highest address that is written to [18:01:38] I'll just add [18:01:40] for (int i = 0;i < AEA_MEM_ENTRIES;i++) [18:01:40] { [18:01:41] vags.Memory[i] = 0; [18:01:42] } [18:02:08] after FP loading and just before loading the AEA stuff from scenario [18:02:50] who knows what else has been caused by this bug... [18:02:53] how do you create brand new scenarios? manually editing? [18:03:08] I fly missions [18:03:11] Yep [18:03:14] and save at that point [18:03:16] but the prelaunch scenarios are different [18:03:27] they have a bit different setup [18:03:32] like if you were to go and add an Apollo 17 launch scenario, how do you now get the FP8 memory in if it gets zeroed at load [18:03:39] right [18:03:49] so, at launch there isn't even a LM [18:03:58] so padloaded parameters are stored in Saturn code [18:04:23] AEAPAD 616 4 [18:04:29] in the T-4h scenario for example [18:04:51] when the LM gets created those parameters are given to it [18:06:21] and also in that case it does make sure to first load the AEA FP [18:06:31] and then copies over the padloaded stuff [18:06:35] okay, that makes sense :D [18:06:51] but nulling everything does have a disadvantage [18:07:00] oh? [18:07:04] I was already adding that as a comment [18:07:10] /This nulls all AGS memory addresses that can be saved/loaded, otherwise the values in the flight program binary would be used [18:07:11] //That means we always have to padload parameters in a way that doesn't use this load function, which is currently the case [18:07:12] //The alternative would be to save and load addresses that contain the value 0, which would be a waste of scenario lines [18:08:03] but I believe this isn't really a problem [18:08:10] ah okay. so more of a restriction for future changes [18:08:12] we are already doing that with the CMC [18:08:43] we don't have a AGC_BEGIN in the T-4h launch scenario [18:08:46] with [18:08:47] EMEM0000 3231 [18:08:48] etc [18:08:59] instead it says CMPAD address value [18:09:31] what am I doing for Apollo 5 right now... [18:09:43] hmm [18:09:57] there it has the [18:09:58] AGC_BEGIN [18:09:59] EMEM0077 44512 [18:10:00] etc [18:11:13] but it's a tiny addition [18:11:16] for CMPAD it does [18:11:21] else if (!strnicmp (line, "CMPAD", 5)) { [18:11:22] unsigned int addr, val; [18:11:25] sscanf (line+5, "%o %o", &addr, &val); [18:11:25] agc.PadLoad(addr, val); [18:11:26] } [18:11:42] and that's all I would have to add to the LM code as well for loading AEA stuff directly [18:12:25] also has the advantage of not requiring the nested scenario structure with AGC_BEGIN [18:12:37] you just put the parameters directly in your initial prelaunch scenario [18:12:51] and it's just a bit more code in the load function, code that only gets used once [18:16:16] sounds like a good fix to me :D [18:16:23] thanks for looking into that! [18:16:49] it was quite a journey a few hours ago [18:17:19] from "abort stage doesn't work with the AGS and depleted DPS" to the actual issue [18:17:45] I was following the flowcharts and then had the idea with the ullage [18:18:05] and then it worked. I burned a bit of ullage and it did the staging [18:18:25] hahaha wow [18:18:36] because then the AEA was happy that enough ullage was done [18:18:56] I'll also retroactively will edit the pre DOI and PDI scenarios and get rid of the 3 in 616 [18:19:44] AEA was happy and turned on the engine, which is required for staging of course. [18:20:00] that's the first thing I noticed that was wrong, AEA sent out engine off even with abort stage pressed [18:20:03] that didn't seem right [18:22:36] its funny I was reading the ullage stuff last night when we were troubleshooting [18:22:42] but I didnt think to check the address [18:22:54] as I thought it was zero....thats what I get for assuming! [18:23:51] I made it 0, twice! [18:24:58] and just as final confirmation, if I edit out the MEM0616 3 from the scenario I had saved during abort, after DPS depletion, then it immediately does abort staging after scenario loading [18:25:35] :D [18:27:18] glad my messing around uncovered an old bug, haha [18:28:01] speaking of last night's messing around, I figured out that the LNY-77 tumble is completely deterministic based on your timing of the ABORT button press [18:28:29] if you want to tumble, you need to wait for COMP ACTY to go off, and then press ABORT as soon as you see it come back on [18:28:48] the timing for it is pretty generous, once I noticed that I never missed it [18:31:00] oh nice [18:31:10] sounds about right, the tumbling happened more rarely [18:31:47] and note to self, inverted is a bad time to abort [18:32:52] still better than waiting until you're facing completely the wrong way though, if you're already in P64 :D [18:33:36] one interesting thing we saw with the testing last night is that even if you've tumbled 179 degrees, the AGS still likes to take the shortest path to get to the direction it wants to be pointed [18:34:03] ....which means that once it gets control, it spins you right back around in the direction you came, pointing the engine away from the surface for even longer [18:34:13] really adding on to that downward velocity [18:34:24] yeah, the PGNS is smart than that [18:35:16] we made some craters last night.... [18:35:27] and I dont mean a separated descent stage [18:36:05] hahaha [18:36:16] and I bet the ullage counter didn't help [18:37:33] what is it that I actually wanted to do... [18:37:41] hehehe [18:38:26] a bit of ascent stage flying with the new center of gravity and moments of inertial [18:39:11] rcflyinghokie, when you have time, can you test a LM staging in free flight for me? [18:39:13] in the VC [18:39:31] it does something weird with the viewpoint there [18:39:39] I wonder if that is an issue with the center of gravity shift [18:39:45] or if we already got that before [18:42:38] it doesn't do that when staging happen while landed [18:42:50] we have some different code there, have to talk to Alex about that [18:45:37] oh, and I haven't tried an AGS ascent yet with the new behavior [18:48:51] Yeah I can do that, is there a good scn to start from? [18:50:34] Or will any LM scn work [18:50:40] yeah, any will work [18:51:01] just want your description of what happens at staging in the VC [18:51:35] sure [18:52:34] oh wow, the AGS is really doing some RCS rapid fire [18:52:48] to keep the ascent stage steady [18:53:22] almost doesn't look right, have to research if it should behave like this [18:53:57] it tries to keep attitude rate really small [18:54:27] the DAP let's it build up a bit and then overcorrect so that it doesn't have to switch the RCS on and off so much [18:58:14] is has a rate deadband of 0.75°/s [18:58:22] it builds up to that really quick [19:12:37] I guess you don't really have any videos to compare against for that one, heh [19:14:30] or any documents from flight experience [19:15:08] when all did they use the AGS on 10? [19:16:26] when they simulated the LNY-77 tumbling :D [19:16:37] hehehe [19:17:10] I think they burned CDH with the AGS [19:17:19] APS burn to depletion was PGNS I think [19:17:54] yeah thats correct [19:18:05] oh [19:18:18] they switched to AGS partially through the burn to depletion [19:18:21] that could be useful [19:19:02] oh they did? [19:20:13] yep [19:21:35] mission report supplement they got a pulse frequency of 9.5 Hz [19:21:39] says* [19:22:13] could be right behavior then. Firing 10 bursts per second [19:26:17] oh, indy91, I live under a big gigantic rock [19:26:36] Earth as viewed from Australia? [19:26:45] haha [19:27:04] I managed to be completely unaware that there was a gigantic snowstorm in Texas that took out power to a ton of places [19:27:16] and as a result, UHCL was shut down the day after I made my request, and only re-opened yesterday [19:27:29] oh, that makes sense [19:29:00] oh wow really? you must be under a rock lol [19:29:22] lol yeah I... don't follow news. at all [19:29:33] indy91 ok I am in unpowered flight, does it matter which view (CDR/LMP) I use to test? [19:29:54] I used CDR, but it doesn't really matter [19:29:59] ok [19:30:06] we had a snow storm for one day and then 30cm snow for a week [19:30:18] it's still not 100% all melted [19:30:26] and we have had 17°C for four days now [19:30:55] wow, 17C is pretty warm to still have snow around [19:31:40] we had some pretty large snow mountains [19:32:07] when they aren't directly in the sun it seems to take forever for them to melt [19:33:45] but it's now 99.5% gone. Just weird to still have any snow around at these temps [19:34:39] oh thats weird (the staging) [19:34:58] ok, you get the same thing I am seeing :D [19:35:00] looking down towards the pyro panel and staging [19:35:09] my head is now through the LM [19:35:26] yep [19:35:42] back in a bit [19:35:45] haha and theres the dap confused [19:54:53] yeah, it doesn't know about the staging yet [19:55:06] but it seems we have some bug with the VC viewpoint [19:55:28] just one more thing to fix [20:00:10] oh MTVC question, when switching to MTCV during a burn (ie Apollo 9) is the RHC supposed to fire RCS as well as move the SPS bell? [20:00:15] MTVC* [20:00:50] only if you have direct RCS on [20:01:21] but that should only kick in until near full deflection... [20:01:35] ah ok, so on a keyboard thats why I am getting it firing [20:01:46] ah keyboard, that will it then [20:01:49] yep [20:01:53] I need that joystick addon lol [20:01:55] all working fine then haha [20:02:09] that joystick addon has been merged hasn't it? [20:02:31] or was that just the quick fix [20:02:40] I think it was the quick fix [20:02:40] https://github.com/orbiternassp/NASSP/pull/576 [20:11:46] Ah cool [20:11:49] I will try it out [20:13:08] Oh I meant to ask, regarding the Apollo 9 flight plan, where after the burn it says to copy SPS gimbal angles? [20:13:27] Was that supposed to be read up or am i misinterpreting it [20:13:42] Usually right after an SPS burn [20:19:03] that's the attitude for the next burn isn't it? [20:19:20] after SPS-2 it says "MCC Update SPS 3 Gimbal Angles" [20:19:24] yeah [20:19:30] and after 3 etc [20:19:56] all of these burns are in a preferred attitude though [20:20:07] P40 [20:20:29] so that's the attitude with the current REFSMMAT then [20:20:41] so that they can maneuver to it early [20:23:33] ohh ok [20:23:40] I just didnt see it in the transcripts [20:23:50] maybe they didn't do it [20:23:59] I kind of wonder if this really is the final final flight plan [20:24:00] I read sps gimbal angles as in the PY angles [20:24:05] oh [20:24:11] thats why I was unsure [20:24:19] did they get those attitudes? [20:24:43] I am looking but so far I havent seen those or anything post SPS burn [20:26:21] hmm, something doesn't work right with the LM RCS at 0.1x time acceleration [20:26:28] theres a comment after SPS 3 looks like it might be missing something but CC says" we havent got that out of FIDO yet" but not sure what its about [20:26:38] I fear it's the update I did not long ago [20:28:21] and then LMP says randomly "yes sir, you want SPS 4?" [20:28:29] makes me think it was a response to houston [20:29:39] DAP control looks the same at 1x and 0.1 though, so maybe it's just that ATCA code that I am currently revisiting anyway [20:31:20] is it a timestep issue? [20:31:45] maybe the ATCA does something wrong there [20:32:18] 01 01 27 12 "And Apollo 9, Houston. I have your gimbal angles for SPS-4 using this REFSMMAT" [20:40:56] thats missing on my transcript [20:41:55] I was using the CM recorder one [20:41:56] I'm using this [20:41:57] http://www.jsc.nasa.gov/history/mission_trans/AS09_TEC.PDF [20:42:02] Yeah I have that as well [20:42:08] I'll use that [20:42:36] Ok cool [20:42:49] Makes sense so they can maneuver to it early [20:43:09] I guess our MCC doesn't provide that yet [20:43:12] nope [20:44:25] I will maneuver to those and see what it looks like [20:51:41] only off in roll [21:05:28] Using transcript gimbal angles P and Y are nice and center I am impressed [21:09:53] thewonderidiot, I really want to simulate these ATCA circuits from the Systems Handbook some time [21:10:17] I am doing too much guessing how it should behave [21:10:24] awesome, let's do it :D [21:10:41] what's the best software to simulate it? [21:10:53] all these capacitors, resistors etc. [21:10:54] depends -- what are you looking at, exactly? [21:11:08] well I want to have the circuit in the simulation [21:11:15] input a voltage for attitude error [21:11:18] and see what happens [21:11:23] I know, but I want to see the circuit before I say anything :P [21:11:33] LM-8 Systems Handbook [21:11:36] PDF page 213 [21:11:39] different tools are better at different circuits [21:12:12] right [21:13:05] the upper part, at least that's what I am interested in at first [21:14:02] ah okay, that doesn't look so bad :D [21:14:19] and they give part numbers, which is awesome, so we can get this very close [21:14:23] yeah [21:14:34] it gives both pitch and yaw/roll limiter [21:14:44] so ltspice is a good place to start, as well as micro-cap which is recently free [21:15:00] I believe the circuitry is largery the same, just different resistors for roll/yaw it seems [21:15:14] it might take a bit of digging to find spice models for these particular diodes and transistors [21:16:16] https://datasheetspdf.com/pdf/140596/CentralSemiconductorCorp/1N3063/1 [21:16:22] I found this for the diode for example [21:17:04] I guess in the end I am mostly interested in steady state [21:17:25] so input an attitude error voltage, and nothing else [21:17:39] and see what it ends up in the output to the right [21:17:43] in ascent and descent config [21:18:15] if I get that for several voltages I can probably put in a simple model of it [21:18:42] easy enough :) [21:18:46] but I have barely an idea how that should look like [21:18:49] let me do a bit of looking around [21:18:57] right now I am doing limiter as in, it cuts off above a threshold [21:19:06] don't think that is right [21:19:21] sure [21:19:46] so, the limiters at the top of this page don't appear to actually be taking any input, right? [21:19:58] other than +/-15V and +/-6V voltage sources? [21:20:03] and the switch states [21:20:47] yeah, I guess they are just "diverting current", lacking better knowledge of terminology [21:20:56] we can start with pitch [21:21:08] so only one of the upper blocks actually is in the circuit [21:21:19] but it shows both to show all the numbers [21:21:32] the main input I am interested in at first is attitude error input H [21:21:48] do you know what voltage range that can be? [21:21:52] I want to know what happens to that by the end it gets to the output to the right [21:21:53] yes [21:21:55] -3.5 to 3.5 [21:22:22] hmm [21:22:39] hmm indeed [21:22:44] what is attitude error input L then [21:22:55] I was just about to ask that [21:23:15] oh no, I was going to ask what rate command input L and rate gyro input L are [21:23:51] hmmm although I don't think they matter for attitude error output if I'm reading this right [21:23:55] from ACA and RGA [21:23:59] I know the voltages I think [21:24:09] they get combined in this block I think [21:24:29] if you look at page 221 [21:24:52] R6 has this block from page 213 [21:25:20] and shows the inputs and outputs [21:25:49] hmm okay [21:26:20] it also shows a bunch of transformers, if that's what it is [21:26:26] don't think those are on page 213 [21:26:53] transformers without winding ratios, which tells us that they changed the signal but not how [21:27:43] does the -3.5 to 3.5 signal get split up in the signals H and L? [21:27:51] unless they're 1:1 and just there for isolation [21:28:29] not to rain on the parade here but did they null residuals during the docked SPS burns? I see report residuals but I see no evidence or rules for nulling [21:28:56] my parade was already feeling a bit of a drizzle :P [21:32:38] drawing 10.20.2 references LDW 300-56003... I don't think we got that one yet [21:34:10] yeah I never asked for LDW 300 and Ron never quite made it there [21:37:18] well the mission rules say [21:37:33] "CSM or LM burns independent of rendezvous will not trim residuals." [21:37:39] except deorbit [21:37:42] deorbit to 0.2 ft/s [21:39:09] thewonderidiot, what's even worse, there is a relay K14 (and K15 and K16 in the axes) that isn't in that schematic [21:39:26] but it kind of should if the attitude rate and ACA commands are already summed in... [21:39:56] but that would basically disable the limiter [21:40:09] so maybe interrupt the circuit to the upper part of the schematic? [21:40:52] yeah, K14 is just bypassing the limiters [21:41:58] hmmm [21:42:06] ah i dont have the 9 mission rules [21:42:35] so there's three inputs to the summing amplifier -- the middle path is attitude error, and the bottom path is rate [21:42:38] what's the top path? [21:42:41] https://www.hq.nasa.gov/alsj/alsj-MissionRules.html [21:43:02] that comes from the ACA [21:43:14] perfect [21:43:42] so you're already modeling that summing and everything? [21:43:46] yes [21:44:14] but my limiter is [21:44:14] if (val > lim) [21:44:15] { [21:44:16] val = lim; [21:44:17] } [21:44:17] else if (val < -lim) [21:44:18] okay -- with this amount of info we can probably nail down what the behavior of the attitude error with limiters is, but not necessarily know exact numbers [21:44:19] { [21:44:20] val = -lim; [21:44:21] } [21:44:59] "The [21:45:00] limiters maintain the vehicle rates at a maximum of 10°/sec in pitch and 5°/sec in roll and yaw during [21:45:01] descent or ascent phases." [21:45:51] I gotta to work stuff for now but I'll throw together a model of the circuit tonight and run some simulations [21:45:55] so what I did was limit the attitude error so that it can't generate a final attitude rate (after all ATCA circuitry is passed through) of more than those [21:46:01] sure, thanks! [21:46:17] I think I had an alternative implementation of the limiter [21:46:38] where it doesn't cut off above a threshold, but instead scales the input [21:46:44] hmmm [21:46:52] so that the maximum input results in the desired max rate [21:47:17] the real thing might look like a mix of both [21:47:29] but what we currently use is probably not correct [21:48:11] it might be [21:48:44] cutting off above a certain input? [21:48:46] my guess looking at this circuit is that it's going to go from a nice clean sine wave to one with the tops and bottoms flattened out at +lim and -lim [21:49:04] but, that could definitely be wrong [21:49:57] unless that "buffer" is somehow turning the incoming 3.5Vrms AC signal into a DC level [21:50:29] which might be what they mean by that "0 deg pos/180 deg neg" note printed above it [21:50:59] the elementary schematics call that part "Phase Sensitive Demodulator" [21:51:12] I think [21:51:20] if that's the right thing I am looking at [21:51:23] the systems handbook has a phase sensitive demodulator after the input summing amplifier [21:51:45] so I don't think that's the buffer they have printed here [21:51:48] I am looking at the wrong thing haha [21:52:04] it's the telemetry for those attitude errors and rates [21:53:25] yeah the Elementary Schematics dont actually provide more detail [21:59:16] I think I'll first focus on find the bug, because there is definitely also a bug, that issue I am seeing it working differently at 0.1x time acceleration [21:59:20] finding* [22:23:44] night! [23:00:54] well I missed a lot today... [23:13:43] hehehe yeah [23:13:53] we found some fun bugs :D [23:20:01] haha mmhmm [23:25:07] I treaded a bit too far down the off-nominal path last night and ran into a very old AGS issue that may or may not have had other bad effects over the years [00:13:45] yeah, I was just reading through my logs. wonder if that's been a source of issues for people using AGS in the past [00:41:03] yeah I am not sure, I have honestly never tried the case we ran into by accident last night [01:43:56] hmm, is it possible to display more than a single line of debug information? [01:44:09] it would be much more useful to format this output as a table than a list of addresses [01:59:41] I have never been able to [02:00:54] boo [02:02:43] yeah it gets all congested in 1 line [02:02:54] maybe I'll just dump it all to a file and post-process that [02:03:08] Nik might know a way [02:03:16] but I have never known one [03:14:47] thewonderidiot oapiDebugString() won't do anything with newlines [03:15:51] Also "The returned pointer refers to a global char[256] in the Orbiter core. It is the responsibility of the module to [03:15:52] ensure that no overflow occurs" [03:16:32] --from the Orbiter API reference 16.42.2.1 oapiDebugString() [03:42:32] :( [03:42:58] yeah I'm just going to make yaAGC dump waitlist and executive calls to a file so I can dig through them [14:12:44] morning! [14:16:52] hey [14:17:18] figured out why the AGS behaved weirdly at 0.1x for me. It's one of those "NASSP only" problems [14:17:55] I should have looked at the FDAI, the AGS stopped getting attitude information [14:18:17] I am using a 144Hz monitor, at 0.1x that is 1440 timesteps per simulated seconds [14:19:08] I hadn't anticipated that high of a rate, above 1000 the communication between AEA and ASA, so AGS computer and "IMU", is breaking down [14:19:49] didn't have a 144Hz monitor until a few months ago, so the most I ever got before was 600 timesteps per simulated second with 0.1x [14:22:28] luckily it seems like an easy fix [14:41:26] yeah, that's definitely an obscure one. [14:57:47] it looked more like an RCS problem at first because the LM stopped pitching [14:57:56] and then continued when I switched to 1.x [14:57:58] 1.0x [15:13:09] I don't know as much about AGS only rendezvous as I thought [15:16:12] rcflyinghokie is really the expert in that [15:33:24] I guess it didn't help that I locked onto a side lobe with the RR... [16:07:22] well I nearly managed to do a CSI burn with AGS only RR updating [16:10:20] I got confused with the maneuver to burn attitude [16:35:19] rcflyinghokie, how have you been doing AGS only CSI? The rendezvous procedures seem to be missing a step for maneuver to an attitude where the burn is +Z axis only [16:35:32] like you do with the PGNS [16:36:05] I guess you can do the same technique of nulling the DVX and DVY in LOS coordinates [16:36:27] by maneuvering to the right attitude for that [16:37:12] Its been a bit since I did it [16:37:28] Which mission? [16:39:04] Apollo 11 [16:39:10] I did an abort at PDI+8 [16:39:21] but it's the same for all CSIs I guess [16:39:45] the AGS only procedures just say "Null error signals with AGS pulse" [16:40:04] but that is just the error to an att hold [16:40:53] wont it auto maneuver? [16:41:43] I don't think you want it to auto maneuver [16:41:48] oh RR lock [16:41:54] yeah [16:42:04] the PGNS procedure is for a +Z axis burn [16:42:12] Yeah I think you null the axes [16:42:34] I guess I shouldn't have switched to AGS Auto [16:42:47] yeah that will align the X or Z axes to the burn [16:43:12] the procedures do [16:43:14] 400+0 [16:43:25] is that att hold for that specific attitude? [16:43:32] which procedures are you using [16:43:40] Mission G Rendezvous Procedures [16:43:51] yeah 400+0 is attitude hold [16:43:59] 1 is auto [16:44:07] 2 is Z axis I believe [16:44:12] right, but what if I deflec the ACA with 400+0 [16:44:19] does that give a new attitude to hold [16:44:32] Hmm [16:44:50] I think in ags att hold mode (the switch) it resets your deadband [16:45:07] I cant recall ags auto and 400+0 [16:45:45] well I screwed up there somehow haha [16:45:58] it did a large attitude maneuver, I lost RR lock [16:45:59] I would think you want 400+2 [16:46:16] for the whole period unti the CSI burn, yes [16:46:17] that would keep the RR radar pointed the correct direction I think? [16:46:29] but then the procedures switch to 400+0 for the burn [16:46:35] yeah [16:46:38] and then before the burn 400+0 and null the X Y Z errors [16:47:08] I guess I should have stayed in Att Hold, as in, the switch [16:47:20] and maneuvered to null 500 and 501 [16:47:26] like you do with the PGNS [16:47:27] yeah I honestly cannot recall the behavior for 400+0 and the att switch [16:47:32] so that it's a +Z burn only [16:48:12] I screwed up really bad after insertion as well [16:48:15] Yeah that sounds right [16:48:23] side lobe lock on [16:48:25] oof [16:48:34] and then I forgot the RR updating technqieu [16:48:36] technique* [16:48:37] and allowed SV update? [16:49:53] I did RR updates through the DEDA with that, yeah [16:50:14] but the worst thing was, I forgot that you had to null the RR angles for range updates [16:50:18] only range, not range rate [16:50:26] so I did at least one really bad mark [16:50:32] screwed up the LM state vector quite a bit [16:50:52] but it recovered surprisingly well. The CSI burn would have been spot on [16:51:02] it took a while and a bit of practice [16:51:20] you really have to know all the DEDA addresses for this by heart [16:51:31] 415+0, 316 for range, 503 for range rate [16:51:33] 415+1* [16:52:18] ok I tried AGS Auto mode with 400+0, it will hold the initially set attitude, so ACA deflections don't change it [16:52:23] I guess that caused my problem... [16:53:22] I'll do better next time. Was fun and challenging, I have only done this once quite a while ago [16:53:35] I pulled the LGC/DSKY breaker, so I was very much commited :D [16:54:01] Haha! [16:54:12] You know I havent used the AGS RR updates yet [16:54:40] Last time I flew the full AGS procedure I used the LGC for RR updates and did an AGS update to transfer them [16:55:36] ah ok [16:55:46] that's a good checkout of the AGS targeting at least [16:56:08] I don't think I did orbital insertion very well either, too much residuals nulling [16:56:13] its funny I was telling Mike the other day I have 2 post it nots with all the major DED addresses by my computer [16:56:16] but I checked the RTCC MFD and it predicted a DH of 10 [16:56:18] They have been there a few years [16:56:23] notes* [16:56:26] good to have [16:56:47] At this point I might as well print and bind the G&N dictionary [16:56:52] I think we have copies of these kind of cheat sheets from the real missions [16:58:58] what I was saying, at first the AGS predicted a DH of -25NM [16:59:00] instead of 10 [16:59:08] I screwed up that much at first :D [16:59:22] but in the end it still managed to converge to +10 [16:59:40] https://readux.ecds.emory.edu/books/readux:spfrj/pages/readux:spfw3/ [16:59:46] Apollo 15 cheat sheet [17:02:00] AGS is awesome lol [17:02:24] Hmm did FP8 differ much from FP6 WRT DEDA addresses? [17:02:30] a little bit yes [17:02:46] figured as much [17:02:53] but yeah, the completely manual technique is that you enter RR data in the DEDA from the tapemeter [17:03:04] range and range rate alternating, range rate a bit more often [17:03:08] yep that I did do [17:03:56] what did you mean by "havent used the AGS RR updates yet" then? [17:04:03] PGNS to AGS RR data transfer in FP8? [17:04:10] auto ones [17:04:19] I havent run FP8 AGS [17:04:21] I think that doesn't really work for some reason, Alex keeps complaining [17:04:32] Only FP6 [17:04:40] yeah FP6 doesn't have that yet [17:04:43] Exactly [17:04:56] I can't say I have done much with FP8 [17:05:04] but a bit when flying Apollo 15-17 I guess [17:05:09] I sadly havent done any J missions [17:05:11] but only the standard stuff [17:05:26] hey [17:05:30] speak of the devil [17:05:36] hey Alex [17:06:17] I fixed a small thing in the VC for you: https://github.com/orbiternassp/NASSP/commit/4ed5374625b0cfa85380e58a4304ea17c1849b65 [17:07:09] ah, thanks [17:07:56] I know that code mus looked a bit messy, it was the best way for me to manage it with the always changing ordering :D [17:08:01] must* [17:08:06] ah it's fine [17:08:14] it was just wrong by one in this case [17:08:22] CDR crosspointer power light was always on [17:08:28] when it wasn't in the 2D panel [17:08:32] right [17:08:33] that seemed suspicious [17:08:56] and when I pulled the LMP crosspointer breaker the wrong light went on. Even more suspicious :D [17:10:32] another thing, there is something strange about the viewpoint in the VC when you stage the LM in free flight [17:11:01] I am experimenting with ascent stage center of gravity and first thought that is what was causing it, but Ryan gets it as well [17:11:06] yep [17:11:12] yeah I noticed that too [17:11:24] head went through the left window lol [17:11:30] the view gets shifted a bit, right? [17:11:34] yeah [17:11:53] in my case I was looking down to my left at the pyro panel to hit the stage switch [17:11:55] that was on the list for me to check [17:12:07] and after staging my head was partially through the front left window [17:12:51] but you will enjoy the ascent stage center of gravity (and APS cant angle) once I push it for everyone, the ascent looks a lot more like the real thing with that: https://www.youtube.com/watch?v=GyoW3Op0-LA [17:13:46] RCS has to do a lot of work [17:16:25] always a pitch rate, up and down every 3 seconds or so [17:16:33] like in the videos from the real ascents [17:18:52] How does the AGS control compare to the PGNS with that change? [17:19:59] weirdly [17:20:14] which is why I want to model the ATCA electronics together with Mike [17:20:21] Yeah i am excited about that [17:20:23] and see if I can improve things [17:20:34] I dint think it was that unstable even in real-life [17:20:49] what do you mean unstable, the RCS is perfectly in control :D [17:21:07] it just needs to overcome a huge pitch moment from the APS at ignition [17:21:21] 7°/s^2 angular acceleration from the APS [17:21:29] goes down to zero near insertion [17:21:42] but it needs to basically fire 1.5 RCS thruster constantly just to counter the APS [17:23:18] with the AGS, I think one of the main problems is that the ATCA tries to enforce a tiny deadband [17:23:21] 0.4° or so [17:23:44] it behaves differently than the DAP [17:24:13] the ATCA fires the RCS 10x per second to counter it, while the DAP will fire the RCS for longer and let it build up attitude rate and error [17:24:45] but still, in NASSP the ATCA seems to fire a bit too rapidly and even overshoots sometimes [17:24:56] so generally the behavior isn't wrong, but probably needs fine tuning [17:25:10] and knowing what the ATCA electronics are exactly doing hopefully helps with that [17:26:45] right makes sense [17:27:30] I also need to teach the RTCC more about the ascent stage [17:27:42] I think CSM + ascent stage SPS burns aren't supported yet [17:52:34] oh and another thing AlexB_89 [17:52:47] your ascent stage mesh [17:53:20] the mesh itself has its origin at the same level as the RCS thrusters [17:53:32] which is really nice for me to work out everything coordinate system wise [17:53:37] as that is well defined [17:53:43] VECTOR3 mesh_asc = _V(0.00, 0.99, 0.00); [17:53:56] is this to push the center of gravity as it was before your new mesh? [17:54:33] so basically the offset between the old and new mesh? Is that what this is for? [17:54:57] gets used in [17:54:57] ascidx = AddMesh(hLMAscent, &mesh_asc); [17:55:01] vcidx = AddMesh(hLMVC, &mesh_asc); [17:55:33] thats just to define the offset from 0 for the ascent stage when still attached to descent stage I think [17:57:31] ah and then it still does [17:57:32] ShiftCG(_V(0.0,1.75,0.0) - currentCoG); [17:57:37] in SetLmAscentHoverStage [17:58:11] when it's only the ascent stage it still loads the whole LM first I think [17:58:19] and then calls SetLmAscentHoverStage in the end [17:58:25] right [17:58:35] so it's basically doing -0.99+1.75 to the mesh [17:59:21] hmm ok. Thought we might be able to get rid of that, but we should probably keep it for now [18:00:08] I added lengthy comments detailing my math for the new CG shifts [18:00:21] because they tend to be some random number where you don't know where it's coming from [18:01:34] but I think I got the RCS and APS exactly right in their thrust location now, thanks to your mesh having the orgin in a nicely defined place [18:01:45] I was off by 1 centimeter before [18:02:16] I would also like to change the place of the docking port to a more exact value [18:02:33] problem is the "docking interface" as defined by various Apollo documents is actually a bit inside the LM [18:02:48] so that would need both LM and CM changes [18:04:53] right, I guess that will require mesh changes? [18:13:06] I was planning on making fixes to the ascent stage mesh anyway so I can incorporate it in if its needed [18:20:14] morning! [18:24:30] AlexB_89, I think the ascent stage is very close to being correct there, so it would just be a code change [18:24:56] on the CSM side however, I don't like its measurements, SPS location etc. much [18:25:13] will check that out when I have the ascent stage CoG update done [18:25:35] hey Mike, I figured out the issue I had with the LM RCS at 0.1x [18:25:49] what it actually was, AEA to ASA communication broke down [18:25:55] oh nice! [18:25:59] AGS didn't get attitude information [18:26:05] such a NASSP issue [18:26:09] hahaha [18:26:10] typical [18:26:22] ASA timestep checked if AEA got its pulses [18:26:33] if not it assumed the AEA was off [18:26:41] and reset the pulses it had ready [18:26:53] heh [18:27:04] AEA calls something in the ASA at 1000 Hz for the pulses [18:27:10] 144Hz monitor [18:27:14] 0.1 time acceleration [18:27:21] means 1440 timesteps per simulated second [18:27:38] so the normal ASA timestep got called more often than the PulseTimestep [18:27:59] yeah that makes sense :D [18:28:02] so the ASA thought "oh, pulse timestep hasn't been called yet" [18:28:06] AEA must be off [18:28:08] null everything [18:28:37] I changed it so that the ASA actually checks if the AEA does its computer cycles and with it the PulseTimestep [18:28:58] after all this time I finally would an issue with the AEA to ASA communication [18:29:01] found* [18:29:39] that weird system I implemented has worked better than it had any right to haha [18:30:07] but this bug is independent from the behavior of the ATCA, which I still would like to investigate [18:32:34] right [18:32:42] so I put together a model of that circuit last night [18:33:43] and it mostly does what I was expecting [18:34:09] the systems handbook says -3.5 to +3.5 Vrms -- do you know what frequency? [18:34:45] instinct says 800 Hz, but I'll check [18:35:51] if I follow that signal back to the AEA in the Systems Handbook then it has a 800 Hz reference there [18:36:45] okay great [18:37:44] there was one other reason why I thought a simple limiting didn't seem right [18:38:36] attitude error is +/- 15 degrees [18:39:16] but to get the desired behavior with the max attitude rate caused by that I have to limit it to 2.3° [18:39:28] https://i.imgur.com/MVGAhoJ.png [18:39:34] so that prevents any sort of fine steering [18:39:38] it's mainly on or off [18:39:49] so you should double check my circuit to make sure it looks good [18:40:05] will do [18:40:44] but in that sim, green is input, blue is output, and the red and cyan lines are the voltages on the other side of the two diodes D2 and D3 where the limiter is connected to the bottom circuit [18:40:47] pitch, descent configuration [18:41:09] ascent, isn't it? [18:41:45] oh right [18:42:07] didn't see how you did the switch [18:42:10] cut wire [18:42:34] but that is very interesting [18:43:00] so what would be very interesting to me is a input vs. output voltage [18:43:22] so the amplitudes basically [18:44:29] if I remove the connection to the limiter entirely it basically becomes 1:1 https://i.imgur.com/Ze7ieVO.png [18:44:35] right [18:44:50] that offset is probably a difference in diodes/transistors [18:44:52] hmm, but not exactly [18:45:05] because I haven't found exact models of the parts they used [18:45:06] might still want to simulate that as a factor [18:45:09] ah ok [18:45:13] lol you say that like it's easy :D [18:46:08] so, another thing, that makes me wonder if perhaps the buffer is scaling the voltage before it reaches this circuit [18:47:35] https://i.imgur.com/U4uCHPr.png [18:47:46] that's what happens if I flip both switches up to DESCENT [18:49:21] right [18:49:26] no limiting in that voltage range [18:50:13] can't find a problem with your circuit [18:50:27] I hadn't studied it enough before, this still has more than one output [18:50:42] so if the DESCENT limiter is going to do anything at all, the input signal has to make it up to at least ~6.4Vrms [18:51:16] which makes me think we don't actually know the input voltage range at this point [18:52:27] right [18:52:28] hmm [18:52:34] have to try and find that [18:58:08] but thanks for the help already! [18:58:10] looks promising [18:58:23] just need to find something about the input voltage there [18:58:57] https://i.imgur.com/DbMxuFc.png [18:59:19] just for good measure, that's behavior in descent at ~14Vrms [18:59:49] I'm quite sure the limiter is just clipping the tops and bottoms off of these sine waves [19:00:26] but is that clipping always at the same voltage? [19:00:32] for any input voltage? [19:00:45] it will be set by the switch states, but as far as I can tell yes [19:01:05] ah that already helps a lot [19:01:26] https://i.imgur.com/TQ46UW0.png [19:01:35] here, I doubled the input voltage while in descent [19:01:54] still, limiting it to 2.3° when input can be 15° seems quite a lot [19:02:05] maybe I have something wrong elsewhere then [19:02:27] each step of this processing has an influence on the next one [19:02:44] and there are many steps in the ATCA before the signal gets to the thrusters... [19:04:12] and it limits it to smaller values for the ascent vs descent, right? [19:06:05] like, same input voltage leads to smaller output voltage for the ascent stage than it does for the descent stage [19:08:10] probably something wrong in the deadband circuits then... [19:12:02] yeah, the ascent limits are much tighter [19:12:13] got at least that right [19:12:30] if I actually got it right there would be roughly a factor of 3.3 in the limits of ascent vs. descent [19:12:38] I can give you a ratio between the two limits to see if that makes sense [19:12:43] hah, you beat me to it [19:15:01] so descent limit upper bound is about 9.9V, ascent is about 2.44 [19:15:06] ...which is more like 4 than 3.3 [19:15:19] well I had 3.5 for pitch [19:15:20] but it's close-ish [19:15:21] so closer [19:15:25] 3.3 for roll/yaw [19:18:56] alright, let me change up my resistors for that one [19:24:29] uhhhh [19:24:34] this is completely different [19:24:40] in a way that makes me question the systems handbook [19:26:04] oh, or maybe I missed a "k" on one of the resistances [19:26:13] haha, possible [19:26:24] okay that's better [19:26:42] the general behavior should be that it's limiting everything to half the value as compared to pitch [19:26:55] so, roll/yaw descent max is 4.9V [19:27:51] roll/yaw ascent max is 1.56V [19:28:16] not quite 3.3x [19:28:20] but quite close [19:28:24] oh yes [19:28:25] did bad math [19:28:28] close indeed [19:29:07] so for this case [19:29:15] roll/yaw and ascent configuration [19:29:20] I limit it to 2.3° [19:29:25] when the input can be up to 15° [19:29:46] if that was correct, how high would the input voltage be [19:30:37] like 10V [19:30:59] oh, if we assume the 1.56V is 2.3 degrees? [19:31:07] yeah [19:31:23] right [19:31:58] so that'd be 10.17Vp so.... 7.2Vrms roughly [19:33:11] hmm [19:33:19] maybe we should look at the LM-3 Systems Handbook [19:33:42] or me at least [19:33:46] has some additional graphs [19:34:30] but I have to be careful, I think they changed something after LM-3 [19:51:07] hmmm [19:51:12] the relevant pages seem mostly the same [19:51:17] a bit reoganized, but [19:57:49] uhh, so many configuration and conversions [19:58:16] I need to properly comment every factor [20:17:14] Hello , does anybody know when the chat logs will be up again ? [20:17:44] Thymo: ^^ [20:18:17] Realy missing them [20:44:37] I guess the next thing to check would be the narrow deadband circuit [20:44:46] 10.20.3, lower half [20:45:03] and again, what helps me most is just to know the general behavior [20:46:35] and I think I have an idea where our current ATCA has problems [20:46:49] narrow and wide deadband circuits should be in a row [20:47:18] while I am just simulating different thresholds [20:52:18] hmmm [20:52:28] looking at that circuit, I'm not sure what exactly it's doing [20:54:15] well I would expect it to filter out low voltages [20:54:30] 10V becomes 2V, 9V becomes 1V, 8V and lower is 0V. [20:54:33] something like that [20:54:40] could be wrong [20:54:56] ah, interesting, okay [20:55:04] I will simulate it later [20:55:46] sure [20:55:49] hmmm [20:56:09] it actually kind of looks like they're using differential amplifiers here, but drawn very confusingly [20:57:03] yeah I think Q1A/Q1B and Q2A/Q2B are pairs in differential amplifier stages [21:58:25] night! [13:20:43] .tell thewonderidiot I'm sorry, I caused you unnessary work. Remember this: https://archive.computerhistory.org/resources/access/text/2019/01/102789076-05-01-acc.pdf I even took some stuff from this document before. I think it has everything I need to fix the ATCA.