Wie funktioniert eigentlich das Apollo LM Aufstiegsführungsprogramm P12?

P12 ist das AGC- Führungsprogramm für den normalen Aufstieg von der Mondoberfläche in die Umlaufbahn. Gemäß den Missionsplanungsdokumenten behält die Aufstiegsstufe nach der Trennung und Zündung ihre anfängliche Lage für zwei Sekunden bei (um sich von der Abstiegsstufe zu lösen), bevor sie sich in die Mondsenkrechte neigt; es bleibt etwa weitere 8 Sekunden lang vertikal und beginnt dann im Verlauf des Brennens mit einem allmählichen Pitchover von vertikal zu horizontal.

Unbelastet von der Atmosphäre sollte der optimale Aufstiegspfad ziemlich nahe am linearen Tangenten-Lenkungsgesetz liegen , aber ein Video aus der Kabine des LM zeigt, dass zumindest der frühe Teil des Aufstiegs in diskreten Schritten zu verlaufen scheint, wie in dieser Frage erwähnt .

Gemäß dem Dokument wird jedoch "die Führungslogik der Einführungsphase durch einen Beschleunigungsbefehl definiert, der eine lineare Funktion der Zeit ist"; Aus dem Text geht nicht klar hervor, ob die Insertionsphase ein vom frühen Teil des Aufstiegs getrennter Zustand ist.

Kann jemand, der sich besser mit AGC-Code auskennt als ich, die Funktionsweise von P12 (Quelle auf Github) etwas detaillierter erklären?

Insbesondere:

  1. Was ist die befohlene Neigungslage gegenüber dem Zeitprofil?
  2. Ist es diskret, kontinuierlich oder beides in verschiedenen Phasen des Aufstiegs? (Nehmen wir an, „kontinuierlich“ bedeutet schneller als einmal pro Sekunde betätigt.)
  3. Basiert es auf einem linearen Tangentengesetz oder auf einem anderen Prinzip?
Eine Komplikation ist, dass das LM nicht nur in "eine Umlaufbahn" gelangen will, sondern "eine Umlaufbahn, die ein Rendezvous mit dem CSM erlaubt".

Antworten (1)

Teilantwort

So beantworten Sie die Teilfragen von @Russell:

  1. Meine Analyse ist noch nicht weit genug, um die Einstellung gegenüber Zeitberechnungen vollständig zu erklären.

  2. Obwohl vor dem Brennen viele Berechnungen durchgeführt werden, gibt es auch zusätzliche Berechnungen innerhalb der Brennschleife, daher bin ich ziemlich zuversichtlich, dass es sich um einen kontinuierlichen Prozess handelt. Es gibt mehrere Flags, die während des Aufstiegsprozesses gesetzt oder gelöscht werden; Anscheinend werden die Aufstiegsphasen so durchgeführt, aber ich analysiere noch, wie es gemacht wird.

  3. Ich habe noch nichts wie die Formeln in Frank Perkins 'Papier über Linear-Tangens-Steuerungsgesetze gefunden. Vielleicht sind die tatsächlich verwendeten Formeln mathematisch gleichwertig - so weit bin ich noch nicht.


Apollo-Missionen trugen zwei nahezu identische Leitcomputer. Die Software für den Command Module-Computer hieß "Colossus" und später "Comanche"; die Software für die Mondlandefähre hieß "Luminary". Die Programmierer versuchten, den Code so weit wie möglich zwischen den beiden Systemen sowie zwischen ähnlichen Operationen auf demselben System wiederzuverwenden. Dies bedeutet, dass es eine große Anzahl globaler Variablen gibt, die Unterroutinen dabei helfen, zu wissen, was sie aufgerufen werden. Das CM und das LEM kontaktieren sich gelegentlich auch per Funk und teilen sich gegenseitig ihre Positionen und Geschwindigkeiten im Raum mit, um ein Rendezvous zu ermöglichen.

Astronauten starteten normalerweise von der Mondoberfläche, indem sie das Programm P12 „Powered Ascent Guidance“ ausführten. Der Quellcode befindet sich in Luminary/P12.agc . Die Zeilen 35-53 bereinigen die vorhandenen Prozesse/Aufgaben, die auf dem Computer ausgeführt werden, und initialisieren globale Variablen, die von Unterroutinen benötigt werden. Die DSKY-Benutzeroberfläche wird in den Zeilen 55-72 konfiguriert. In den Zeilen 73-74 wird die GUIDINITUnterroutine aufgerufen (Zeilen 222-236), die die Position des LEM in Mondkoordinaten in universelle Koordinaten umwandelt. Die Zeilen 75–76 setzen ein globales Flag, das einen Vorzündungszustand anzeigt. In Zeile 77 wird die P12INITSubroutine aufgerufen (Zeile 179-199), die die Engine-Globalwerte auf die der Aufstiegs -Engine initialisiert. Dies setzt sich in der Subroutine fortCOMMINIT(Zeile 200-215), die die Koordinaten des "Ziel"-CM in universelle Koordinaten umwandelt. Die Steuerung kehrt zu den Zeilen 79–84 zurück, die die LEMPRECIntegration des beabsichtigten Orbits durch das Encke-Verfahren aufrufen. Die Zeilen 85-109 berechnen die Cross-Range- und Apolune-Werte der beabsichtigten Flugbahn, die den Astronauten angezeigt werden (Zeile 110-113).

Der Computer wartet dann darauf, dass der Astronaut die PROCEED-Taste drückt (Zeile 111-116). Es werden einige Vektorberechnungen durchgeführt (Zeilen 118-143), ein Flag wird gesetzt, das den vertikalen Anstieg anzeigt (144-145), und dann springt die Steuerung zu ASCENT(siehe unten). Es kehrt zurück, berechnet einige Neigungs- und Gierkorrekturen (Zeilen 147-166), schaltet den Vorzündungszustand aus (168-169) und springt dann zu BURNBABY(171-177).


BURNBABYin der Datei Luminary/BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.agc ist eine weit verbreitete Routine zum Starten des Abstiegs- oder Aufstiegstriebwerks. Der Aufrufer übergibt einen Zeiger auf eine Tabelle mit verschiedenen Parametern, einschließlich der Adressen von Unterroutinen, die bei bestimmten Ereignissen zurückgerufen werden sollen. BURNBABYverzweigt mehrere Prozesse, die bei Bedarf eine Freiraumverbrennung des RCS durchführen (nicht erforderlich für P12), den Motor zünden, Sensoren lesen, die Position und Geschwindigkeit des LEM neu berechnen, das CSM nach seiner Position und Geschwindigkeit abfragen, die DSKY-Anzeige aktualisieren und warten für das Ende des Brennens. Eine der Tasks ruft periodisch die Subroutine zurück ATMAG, die wiederum aufruft ASCENT.


ASCENTin der Datei Luminary/ASCENT_GUIDANCE.agc werden die Flugberechnungen während des Mondaufstiegs durchgeführt. Ich brauche noch einen Tag, um es zu untersuchen. Ich hoffe, diese Antwort morgen zu beenden.

Hatten Sie Gelegenheit, P12 weiter zu analysieren?
@RussellBorogove: Ich konnte den Code in mathematische Formeln übersetzen, aber ich konnte die Formeln nicht verstehen. Ich nehme an, ich sollte sie in meiner Antwort bearbeiten.
@DrSheldon das klingt nach viel Aufwand. Nicht nur der AGC-Code ist verfügbar, sondern auch die Dokumentation der Führungsgleichungen. Für die Aufstiegsanleitung lesen Sie hier: ibiblio.org/apollo/NARA-SW/R-567-sec5-rev8-5.3.pdf PDF Seite 129 ff. Das gleiche PDF enthält auch die Abstiegsanleitung.
Aha! "Da die [Führungs-] Befehle für einen Zeitraum von 2 Sekunden festgelegt werden ..." - es aktualisiert die Führung nur alle 2 Sekunden, daher die Diskretisierung der Lageregelung.
Das CM und das LM nahmen nicht per Funk Kontakt auf und tauschten Positionen aus.
@indy91 dieser Link ist eine Fundgrube, danke fürs Posten.
@OrganicMarble Es gibt noch mehr, woher das kommt: ibiblio.org/apollo/…