¿Cómo funciona realmente el programa de guía de ascenso P12 del Apollo LM?

P12 es el programa de guía AGC para el ascenso normal desde la superficie lunar a la órbita. Según los documentos de planificación de la misión , después de la separación y el encendido, la etapa de ascenso mantiene su actitud inicial durante dos segundos (para salir de la etapa de descenso) antes de inclinarse hacia la vertical lunar; permanece vertical durante otros 8 segundos más o menos, luego comienza un cabeceo gradual de vertical a horizontal en el transcurso de la quemadura.

Sin la carga de la atmósfera, la ruta de ascenso óptima debería estar bastante cerca de la ley de dirección tangente lineal , pero el video desde dentro de la cabina del LM muestra que al menos la parte inicial del ascenso parece inclinarse en pasos discretos como se indica en esta pregunta .

Sin embargo, según el documento, "la lógica de guía de la fase de inserción está definida por un comando de aceleración que es una función lineal del tiempo"; no está claro en el texto si la fase de inserción es un estado separado de la primera parte del ascenso.

¿Puede alguien más fluido en el código AGC que yo explicar el funcionamiento de P12 (fuente en github) con un poco más de detalle?

En particular:

  1. ¿Cuál es la actitud de cabeceo comandada versus el perfil de tiempo?
  2. ¿Es discreto, continuo o ambos en diferentes fases de ascenso? (Digamos que "continuo" significa accionado más rápidamente que una vez por segundo).
  3. ¿Se basa en una ley de la tangente lineal o en algún otro principio?
Una complicación es que el LM no solo quiere entrar en "una órbita", sino en "una órbita que permita encontrarse con el CSM".

Respuestas (1)

respuesta parcial

Para responder a las subpreguntas de @Russell:

  1. Mi análisis aún no es lo suficientemente lejos como para explicar completamente los cálculos de actitud versus tiempo.

  2. Aunque se realizan muchos cálculos antes de la grabación, también se realizan cálculos adicionales dentro del ciclo de grabación, por lo que estoy bastante seguro de que es un proceso continuo . Hay varias banderas que se configuran o borran durante el proceso de ascenso; al parecer asi se hacen las fases de ascenso, pero aun estoy analizando como se hace.

  3. Todavía no he encontrado nada parecido a las fórmulas del artículo de Frank Perkins sobre las leyes de dirección lineal-tangente. Quizás las fórmulas que se usan en realidad son matemáticamente equivalentes; todavía no estoy del todo ahí.


Las misiones Apolo llevaban dos computadoras de guía casi idénticas. El software para la computadora del módulo de comando se llamó "Colossus" y más tarde "Comanche"; el software del Módulo Lunar se llamó "Luminary". Los programadores intentaron reutilizar el código tanto como fuera posible entre los dos sistemas, así como entre operaciones similares en el mismo sistema. Esto significa que hay una gran cantidad de variables globales que ayudan a las subrutinas a saber para qué están siendo llamadas. El CM y el LEM también se contactan ocasionalmente por radio, dándose sus posiciones y velocidades en el espacio, para facilitar el encuentro.

Los astronautas normalmente despegaban de la superficie lunar ejecutando el programa P12 "Guiado de ascenso motorizado". El código fuente está en Luminary/P12.agc . Las líneas 35-53 limpian los procesos/tareas existentes que se ejecutan en la computadora e inicializan las variables globales que necesitan las subrutinas. La interfaz de usuario de DSKY se configura en las líneas 55-72. En las líneas 73-74 GUIDINITse llama a la subrutina (líneas 222-236), que transforma la posición del LEM en coordenadas lunares en coordenadas universales. Las líneas 75-76 establecen una bandera global que indica un estado previo al encendido. En la línea 77, P12INITse llama a la subrutina (líneas 179-199), que inicializa los globales del motor a los del motor de ascenso . Esto continúa en la subrutinaCOMMINIT(líneas 200-215), que transforma las coordenadas del CM "objetivo" en coordenadas universales. El control vuelve a las líneas 79-84, que llama LEMPRECa integrar la órbita prevista por el método de Encke. Las líneas 85-109 calculan los valores de rango cruzado y apoluno de la ruta de vuelo prevista, que se muestran a los astronautas (líneas 110-113).

Luego, la computadora espera a que el astronauta presione el botón CONTINUAR (líneas 111-116). Se realizan algunos cálculos vectoriales (líneas 118-143), se establece una bandera que indica el ascenso vertical (144-145) y luego el control salta a ASCENT(ver más abajo). Regresa, calcula algunas correcciones de cabeceo y guiñada (líneas 147-166), desactiva el estado de preignición (168-169) y luego salta a BURNBABY(171-177).


BURNBABYen el archivo Luminary/BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.agc es una rutina muy utilizada para iniciar el motor de descenso o ascenso. La persona que llama pasa un puntero a una tabla con varios parámetros, incluidas las direcciones de las subrutinas para devolver la llamada cuando ocurren ciertos eventos. BURNBABYbifurca varios procesos que realizan una quema de vacío del RCS según sea necesario (no es necesario para P12), enciende el motor, lee los sensores, vuelve a calcular la posición y la velocidad del LEM, consulta al CSM su posición y velocidad, actualiza la pantalla DSKY y espera para el final de la quemadura. Una de las tareas vuelve a llamar periódicamente a la subrutina ATMAG, que a su vez llama ASCENT.


ASCENTen el archivo Luminary/ASCENT_GUIDANCE.agc es donde se realizan los cálculos en vuelo durante el ascenso lunar. Necesito otro día para examinarlo. Espero terminar esta respuesta mañana.

¿Ha tenido la oportunidad de analizar P12 más a fondo?
@RussellBorogove: Pude traducir el código a fórmulas matemáticas, pero no pude entender las fórmulas. Supongo que debería editarlos en mi respuesta.
@DrSheldon eso suena como mucho esfuerzo. No solo está disponible el código AGC, sino también la documentación de las ecuaciones de orientación. Para la guía de ascenso lea aquí: ibiblio.org/apollo/NARA-SW/R-567-sec5-rev8-5.3.pdf PDF página 129 ff. El mismo PDF también tiene la guía de descenso.
¡Ajá! "Dado que los comandos [de guía] se corregirán por un período de 2 segundos...": actualiza la guía solo cada 2 segundos, de ahí la discretización del control de actitud.
El CM y el LM no se contactaron por radio ni intercambiaron posiciones.
@indy91 ese enlace es un tesoro escondido, gracias por publicarlo.
@OrganicMarble Hay más de donde viene eso: ibiblio.org/apollo/…