Cuando el Apolo 11 aterrizó en el Mar de la Tranquilidad el 20 de julio de 1969, fue más que un triunfo del espíritu humano, también fue la historia de una maravilla cibernética llamada la Computadora de Guía Apolo (AGC, por sus siglas en inglés), que ayudó a los astronautas del Apolo a navegar con seguridad hacia la Luna y de regreso. Era un ordenador tan avanzado para su época que los ingenieros que lo crearon dijeron que probablemente no lo habrían intentado si hubieran sabido en lo que se estaban metiendo.

El Apollo Guidance Computer es uno de los éxitos no reconocidos de la Space Race. Esto se debe probablemente a que fue un éxito fenomenal, habiendo tenido muy pocos problemas en vuelo – y la mayoría de ellos se debieron a errores humanos. Llevado a bordo tanto del Módulo de Servicio de Comando (CSM) como del Módulo Lunar (LM), voló en 15 misiones tripuladas, incluyendo nueve vuelos a la Luna, seis aterrizajes lunares, tres misiones al Skylab y la Misión de Prueba Apollo-Soyuz en 1975.

En aquel momento era el último y más avanzado sistema de guiado por cable e inercial, el primer ordenador de vuelo digital, el ordenador en miniatura más avanzado hasta la fecha, el primer ordenador en utilizar chips de silicio y el primer ordenador de a bordo en el que la vida de la tripulación dependía de que funcionara tal y como se anunciaba.

The AGC controlled both the CSM and the LM

No es que el ordenador de guía Apollo fuera muy interesante. A primera vista, parecía una maleta de latón en dos partes, con unas dimensiones totales de 61 × 32 × 17 cm (24 × 12,5 × 6,5 pulgadas) y un peso de 14 kg (70 lb). En el interior, ni siquiera es muy impresionante para los estándares de las computadoras modernas, ya que tiene tanta energía como una bombilla inteligente con un total de 72 K de memoria y una velocidad de reloj de 12 microsegundos.

También es difícil hacer una comparación precisa con los dispositivos modernos porque el AGC no era un ordenador de uso general, sino uno que estaba literalmente programado para una tarea en particular, lo que le permitía funcionar a la altura del Commodore 64 o ZX Spectrum de principios de los años ochenta – trate de imaginar llegar a la Luna usando un Commodore 64 para manejar la navegación y no romperse en un sudor frío.

Un trabajo para una computadora
La razón por la que todas las misiones Apolo llevaban al menos una de estas computadoras es que las misiones a la Luna tenían problemas de navegación que habrían hecho que el Capitán Cook se volviera loco. En la Tierra, la navegación consiste, en su forma más simple, en encontrar el camino de un punto fijo del globo a otro. Para un viaje a la Luna, es como estar de pie con un rifle en una plataforma giratoria que gira en el centro de una plataforma giratoria mucho más grande en la que hay una tercera plataforma giratoria sentada en el borde, con todas las mesas girando a diferentes y variadas velocidades, y tratando de alcanzar el objetivo apuntando a donde estará dentro de tres días.

The DSKY unit

Dada la enorme cantidad de variables, la analogía anterior sólo da una pequeña idea de la complejidad de las ecuaciones que necesitan ser resueltas para tal viaje – y aún así, el resultado será una serie de estimaciones cada vez más precisas en lugar de una ruta determinada. Pero lo que era seguro desde muy temprano en el programa Apolo era que la navegación espacial es demasiado compleja y demasiado contraintuitiva para que los astronautas la manejen. En privado, los ingenieros prefirieron que no se les permitiera tener nada que ver con ello.

Además, el diseño y la construcción de una computadora para las misiones Apolo comenzó como poco más que un montón de saludos manuales. Aunque el primero de todos los contratos de Apolo a ser adjudicados, el AGC fue uno de los miles de subproyectos que estaban persiguiendo un programa en el que los fundamentos todavía estaban en flujo y en el que nadie sabía si se trataba de una misión en la que una, dos o más naves espaciales se utilizarían para el alunizaje.

Una nueva tecnología
Las cosas ya estaban bastante mal, pero el AGS se estaba desarrollando en un momento en el que no sólo los ordenadores, sino todo el campo de la electrónica estaba experimentando una asombrosa evolución que nadie podía predecir.

Diagram of the AGC

Cuando comenzó el programa Apolo, las computadoras seguían siendo máquinas gigantescas que ocupaban habitaciones enteras. Sólo había un puñado en todo el mundo y tratar de obtener información dentro y fuera de uno era tan complejo que se requirió de un clérigo de matemáticos de alto nivel para manejar el trabajo. Sin embargo, era un campo que estaba en rápida evolución y para cuando se empezó a trabajar en el AGC, la tecnología estaba a punto de estallar en la revolución informática que todavía estamos tratando de manejar hoy en día.

Y no eran sólo las tecnologías informáticas las que avanzaban a buen ritmo, sino también la electrónica básica. A finales de la década de 1940, los transistores habían enviado las válvulas de radio a la forma del látigo de la silla de paseo y la placa de circuito impreso estaba conquistando las viejas placas de circuito de alambre y soldadura. Pero ambos se vieron amenazados por el circuito integrado (CI), antepasado directo del chip de silicio, que entró en escena en 1958.

Toda esta nueva tecnología no sólo estaba teniendo un efecto sinérgico en el diseño informático, sino que también estaba convulsionando a toda la industria electrónica, ya que el CI difuminaba la línea entre las empresas electrónicas, que tradicionalmente diseñaban y construían circuitos, y los proveedores de componentes, que sólo fabricaban las piezas. El CI lanzó toda la cuestión de quién estaba diseñando y quién estaba suministrando el flujo.

The AGC circuit modules

Esto causó un sinfín de problemas para el CAG. ¿Cómo se diseña una computadora que no funcionará durante seis años cuando la tecnología sigue cambiando? Peor aún, ¿cómo se consigue apoyo de la industria para una computadora que tiene que permanecer en producción y en uso durante 10 años, cuando la industria espera que todo cambie dentro de 18 meses? No fomentaba la confianza.

Laboratorio de Instrumentación del MIT
Fue en el torbellino que el MIT cayó en agosto de 1961 cuando la NASA decidió adjudicar el contrato del Apollo Guidance Computer al MIT Instrumentation Laboratory en lugar del proveedor habitual de la agencia, IBM. Esto se debió en gran parte a que el MIT, bajo la dirección de Charles Stark Draper, jefe del Laboratorio de Instrumentación, tenía un sólido historial en el desarrollo de sistemas de guiado inercial con Eldon C. Hall diseñando lo último para el ordenador de misiles Polaris de la Marina de los Estados Unidos.

Al principio, hubo temor de dar el contrato al MIT, pero Draper mostró tanta confianza que su equipo pudo entregar la computadora a tiempo y a tiempo que se ofreció voluntario para volar en la primera misión. Para 1962, se acordó que el MIT encabezaría el esfuerzo con el apoyo de la división de bujías de encendido AC de General Motors, Kollsman Instrument Corporation y Raytheon, que construiría el propio ordenador.

El gran obstáculo fue que las especificaciones para el AGC eran una hoja de papel en blanco. Nadie había construido nada parecido y nadie tenía idea de cómo hacerlo. Así que, como punto de partida, el MIT recurrió a un estudio de cuatro volúmenes de la misión a Marte de 1958 que postulaba una sonda de Marte de 150 kg (331 lb) no tripulada que podía navegar de forma autónoma utilizando fijaciones estelares, como lo hizo en un sobrevuelo del Planeta Rojo, tomó fotografías y luego regresó a la Tierra para su recuperación.

Esto estaba muy lejos de ser algo adecuado para un aterrizaje lunar tripulado, pero fue un comienzo. Pronto comenzó a surgir el diseño básico de una computadora general pequeña, autónoma y de bajo consumo que podía manejar todos los problemas de navegación de un viaje a la Luna. Basado en la tecnología del misil Polaris, usaría un giroscopio y acelerómetros combinados con un sextante para fijar la posición de la nave y mantenerla en curso.

Más allá de esto, la nueva computadora tendría que cumplir con las especificaciones generales de Apolo, tenía que ser lo suficientemente robusta para soportar vuelos espaciales y utilizar el mínimo número de transistores, que aún no eran confiables. Además, necesitaba una interfaz de control sencilla para los astronautas, aunque los ingenieros hubieran preferido que la tripulación se limitara a acompañarlos en el viaje.

La tiranía del hardware
Parecía un comienzo prometedor, pero no duró. En 1966, el MIT estaba obviamente por encima de su capacidad y la NASA envió a un solucionador de problemas llamado Bill Tindall, que montó en el equipo y se hizo famoso por sus «tindalografías». Estas largas, pero contundentes misivas delineaban cómo el MIT estaba sufriendo por no ser un contratista apropiado y no tenía la cultura o disciplina requerida para un trabajo como el de AGC. El resultado fue un progreso lento y duplicaciones innecesarias en el software, que estaba lleno de errores y ocupaba demasiada memoria.

One of the chips used in the AGC

Pero no todos los problemas eran organizativos. Mencionamos software, pero en 1966, «software» era una palabra nueva y muchos profesionales de la informática tenían problemas para entender el concepto. De hecho, nadie estaba seguro de lo que una computadora podía hacer en realidad. ¿Cuáles fueron sus puntos fuertes? ¿Cuáles fueron sus debilidades? Era aprender sobre la marcha.

Una de las lecciones que aprendió el MIT fue que la tecnología era aún demasiado primitiva para la máquina que habían previsto. Para 1966, estaba claro que el AGC era demasiado pequeño y no tenía suficiente memoria, era demasiado lento para manejar suficientes tareas a la vez, y no podía manejar los datos de la forma en que lo hacían los circuitos analógicos.

En otras palabras, era un regreso a la tiranía del hardware. La idea de una computadora general que controlara la misión fue abandonada y el AGC era ahora una máquina especializada relegada a un estado de respaldo. En el futuro, las computadoras de tierra alimentarían con datos de navegación a la nave espacial Apolo, mientras que la computadora de a bordo se mantendría a la espera en caso de que se produjera una avería en el enlace de comunicaciones.

Esto puede parecer un gran paso hacia abajo, pero el AGC todavía tenía una función vital. El control terrestre podría ser capaz de manejar la navegación, pero todavía había un desfase de un segundo entre la Tierra y la Luna, y cuando una nave espacial Apolo fue detrás de la Luna todas las comunicaciones fueron cortadas. Peor aún, esto fue durante las profundidades de la Guerra Fría y los estadounidenses estaban preocupados de que los soviéticos interfirieran deliberadamente las transmisiones.

Cómo funcionó
Una cosa a tener en cuenta al mirar el AGC es que era a la vez de vanguardia en el diseño y muy anticuado en la forma en que se construyó – que presentaban sus propios desafíos. A diferencia de los ordenadores modernos, los AGCs fueron todos hechos a mano en un proceso lento y laborioso que incluso la automatización parcial y los nuevos métodos de prueba hicieron poco para acelerar o hacer más fácil. En total, se necesitaron 2.000 años-hombre para construir las computadoras.

An AGC logic module

Una dificultad era que el AGC incorporaba muchas tecnologías de vanguardia, como ser el primer ordenador que dependía de componentes de chip para sus circuitos lógicos, en concreto, una puerta NOR de tres entradas. Estos recién salían al mercado, pero en 1963 el Laboratorio de Instrumentación del MIT compraba el 60 por ciento de la producción de chips en Estados Unidos.

Software
Por supuesto, una computadora es tan buena como su software, y el AGC tomó 350 ingenieros el equivalente a 1.400 años-hombre para desarrollar antes del primer alunizaje. El esfuerzo tuvo un comienzo difícil porque los programadores no tenían ninguna especificación, y no tener un conocimiento sólido del concepto de software no ayudó.

Margaret Hamilton, one of the few women on the AGC programming team with the software printoout

A diferencia de hoy, el código fue escrito a mano y luego transferido a grandes pilas de tarjetas perforadas para su comprobación. A pesar de este método primitivo, el software fue un gran salto adelante y el primero que tuvo que manejar la resolución de problemas en tiempo real de los que dependería la vida de tres hombres.

Era básicamente una mezcla de lenguaje ensamblador y lenguaje matemático interpretado que tenía que ser constantemente actualizado a medida que el hardware, la misión y el papel de los astronautas continuaban evolucionando. Fue una tarea tan intensa que el equipo del MIT la consumió por completo y pronto se vio afectada la vida personal de los miembros, como lo demuestra la asombrosa tasa de divorcios.

El ordenador Apollo en acción
En la práctica, el AGC en particular funcionó a la perfección en los vuelos del Apollo, con los únicos problemas que surgen de la introducción de un código incorrecto o de la pulsación de un interruptor incorrecto. En el Apolo 8, el piloto del módulo de mando Jim Lovell asistió concienzudamente al ordenador mientras introducía datos del sextante CM. Cuando la nave espacial llegó a la Luna en diciembre de 1968, la computadora y la NASA acordaron la posición del Apolo 8 dentro de un radio de 2,5 km (1,6 millas) y en el viaje de regreso, sólo fue necesaria una corrección de rumbo.

Buzz Aldrin descending from the LM

Pero fue en el Apolo 11 donde el AGC realmente mostró su trabajo. Durante el histórico descenso al Mar de la Tranquilidad, el ordenador tuvo un ataque de repente debido a que el radar de citas se dejó encendido accidentalmente. El radar inundaba la computadora con datos sin sentido y en una computadora moderna esto habría resultado en un congelamiento o un choque. En su lugar, el AGC señaló «1202» para un error de sobrecarga y apagó cada programa excepto la prioridad número uno y lo reinició. Un posible aborto evitado, el Comandante de la Misión Neil Armstrong recibió el comando del GO para proceder con el aterrizaje.

La mayoría de la gente no es consciente de esa pequeña historia, y quizás ese sea el mejor tributo que una computadora puede tener. Hizo casi todo el trabajo.