Los ordenadores que acompañaron a los astronautas a la Luna

Con menos memoria que los teléfonos móviles modernos, los ordenadores instalados en las naves de las misiones Apolo lograron la hazaña de contribuir de modo crucial a llevar seres humanos a la Luna y traerlos después de regreso a la Tierra, gracias a sus cálculos de trayectorias y maniobras, así como a otras muchas funciones.

En el centro de este sector del interior de un módulo lunar, se aprecia el teclado y la pantallita de un ordenador AGC. / NASA

Los programas para esos ordenadores fueron desarrollados casi desde cero por un puñado de “magos” del software entre los cuales destaca Margaret Hamilton. En esos ordenadores se incluyó todo lo necesario para las complejas operaciones del viaje a la Luna, y medidas de seguridad de las que podían depender las vidas de los astronautas.

Los viajes espaciales entrañan complejidades enormes. Una ínfima desviación de trayectoria, el impulso de un motor durante varios segundos de más o de menos, pueden hacer fracasar una misión e incluso provocar la muerte de los astronautas. Con los primeros vuelos espaciales tripulados, quedó clara la necesidad de no depender exclusivamente del pilotaje humano ni de los automatismos convencionales. Los ordenadores aportaban mucha más flexibilidad que esos automatismos y mayor precisión y fiabilidad en momentos críticos que la actuación de los humanos sin ninguna ayuda.

Ya se usaban ordenadores en los centros de control de vuelo y otras instalaciones astronáuticas en tierra. El primer reto fue miniaturizar lo suficiente ordenadores con la tecnología de los años 60 para poder incorporarlos dentro de las naves, que tenían limitaciones severas en cuanto al peso que podían transportar, espacio interno que se podía ocupar, e incluso la electricidad que se podía consumir. Otro reto fue hacerlos lo bastante robustos como para soportar los rigores de un vuelo espacial, incluyendo aceleraciones y desaceleraciones cuyo tirón sobre todo lo que estaba en la nave era varias veces superior al de la fuerza de gravedad terrestre.

Una experiencia pionera fue la de los ordenadores de a bordo de las naves estadounidenses Gemini. A mediados de los años 60, estas sirvieron para ensayar bastantes tecnologías necesarias para viajar a la Luna y que luego la NASA, la agencia espacial estadounidense, incorporó a las naves Apolo.

Los ordenadores lunares

Las naves Apolo constaban de varios módulos capaces de separarse y operar como naves independientes. A medida que se iban completando las fases de la misión, se iban desechando los vehículos que ya no se necesitarían. Los principales eran el módulo de mando y el módulo lunar.

Los tres astronautas viajaban hasta la órbita lunar a bordo del módulo de mando. Entonces, uno permanecía a bordo de este mientras los otros dos descendían a la superficie de la Luna a bordo del módulo lunar. Terminada su expedición allí, los dos viajeros ascendían en el módulo lunar (abandonando en la superficie la parte de este que incluía el tren de aterrizaje) hasta la órbita donde aguardaba el módulo de mando. Con el acoplamiento entre ambos módulos, los tres astronautas se reagrupaban. Por último, habiéndose desprendido de todo lo que ya no era necesario, incluyendo el módulo lunar, el módulo de mando con los tres pasajeros reentraba en la atmósfera terrestre en una peligrosa maniobra que calentaba muchísimo el exterior del vehículo por el intenso roce con el aire. Finalmente, la nave se posaba con sus paracaídas en la superficie del mar.

En todas estas operaciones críticas y muchas otras, resultaba vital el trabajo de los ordenadores de a bordo. El módulo de mando y el lunar tenían cada uno un ordenador del mismo tipo, denominado AGC (Apollo Guidance Computer), aunque los programas en cada uno eran distintos, en concordancia con la función de cada vehículo.

Esos ordenadores iban equipados con un conjunto de teclado y pantallita, por duplicado en el caso del ordenador del módulo de mando. El aspecto de este conjunto era más similar al de una calculadora que al de un teclado y una pantalla de cualquier ordenador personal de hoy en día. Sin embargo, a diferencia de los ordenadores personales, cada AGC estaba conectado a muchísimas más cosas que a una impresora, dado que ejercía funciones propias de un piloto automático.

Los astronautas tecleaban códigos para activar el programa deseado, el cual ejecutaba en algún sistema de la nave una determinada acción necesaria para ese momento de la misión. De este modo, controlar la nave resultaba mucho menos difícil para los astronautas y podían concentrarse en la marcha de la misión. El ordenador mostraba en la pantallita o display datos importantes sobre las operaciones en ejecución y, en relación con ello, también se encendían o apagaban lucecitas indicadoras en el panel.

El módulo lunar contaba además con otro ordenador, el AGS, que estaba preparado para tomar el control ante un fallo grave al inicio del descenso a la superficie lunar, abortar el alunizaje y ayudar a maniobrar la nave hasta su acoplamiento con el módulo de mando.

Incluso se equipó de ordenador propio al Saturno V, el gigantesco cohete de más de 100 metros de alto que proporcionaba a las Apolo el empuje inicial necesario para volar hacia la Luna. Este modelo de ordenador se llamaba LVDC (Launch Vehicle Digital Computer).

El software que hizo posible viajar a la Luna

Para preparar el software que necesitaban los ordenadores de a bordo que harían posible el alunizaje de astronautas, la NASA organizó un equipo encabezado por la matemática Margaret Hamilton, del Instituto Tecnológico de Massachusetts (MIT) en Estados Unidos. Ella se había forjado en poco tiempo una magnífica reputación profesional, pese al reto que suponía ser mujer en el ámbito científico de aquella época. Muchos de los miembros del equipo, incluyendo a la propia Hamilton (nacida en 1936) no llegaban a los treinta años de edad o los sobrepasaban ligeramente. No existía experiencia previa en el trabajo que debían hacer, por lo que no había veteranos a los que recurrir.

El campo en el que trabajaban los programadores de las Apolo era muy nuevo, tanto que fueron pioneros en lo que hoy se conoce como “ingeniería de software”. De hecho, se le atribuye a Hamilton acuñar ese término. Muchas de las especialidades que manejaban no se enseñaban formalmente en las universidades, de modo que los programadores del proyecto Apolo a menudo aprendían mientras trabajaban. Además, tal como la propia Hamilton subrayó tiempo después al recordar aquella época, todos eran conscientes de que no habría una segunda oportunidad; los programas no podían contener errores, de ello dependía el éxito de los viajes a la Luna y las vidas de los astronautas.

Bajo la dirección de Hamilton, se equipó a los ordenadores de las Apolo con software capaz de lidiar con cargas excesivas de trabajo y otros problemas. En vez de dedicarle la misma prioridad a cada tarea, el software podía decidir qué programas dejar aparcados en determinados momentos para dedicar toda la capacidad de computación al programa que estuviera realizando en aquel momento la operación más crítica.

Este enfoque resultó providencial en la misión de la Apolo-11. Cuando, el día 21 (o 20 según la zona horaria) de julio de 1969, faltaban solo tres minutos para que el módulo lunar depositase a los primeros humanos sobre la superficie de nuestro satélite natural, el software detectó que el ordenador estaba muy cerca de una peligrosa sobrecarga de trabajo. La inteligente programación permitió que la ejecución de los programas que en aquel momento eran menos importantes quedase pospuesta y el ordenador diera prioridad a los que eran vitales para el inminente alunizaje.

NCYT