El software hace que viajar por el espacio sea más fácil que nunca, pero las tecnologías autónomas podrían ser contraproducentes si no se eliminan todos los fallos. A la inteligencia artificial se le da muy bien reaccionar en cuestión de milisegundos, pero no son capaces de reaccionar ante cualquier imprevisto
Cuando la Crew Dragon de SpaceX llevó a astronautas de la NASA a la Estación Espacial Internacional (EEI) a finales de mayo, el lanzamiento restableció una situación familiar. Los cohetes estadounidenses han sido lanzados desde el suelo estadounidense para llevar a astronautas estadounidenses al espacio, por primera vez desde que el transbordador espacial se jubiló.
Sin embargo, dentro del vehículo las cosas eran muy diferentes. El gran tablero de luces, interruptores y botones que antes dominaba el interior del transbordador espacial desapareció. Todo fue sustituido por una consola futurista con muchas pantallas táctiles grandes que mostraban distintas visualizaciones. Detrás de eso, el vehículo funcionaba con un software diseñado para llegar al espacio y navegar hacia la estación espacial de manera completamente autónoma.
"Durante toda mi carrera de piloto he tenido una forma determinada de controlar el vehículo, pero esto es muy distinto", afirmó Doug Hurley a los espectadores de la NASA TV poco antes de la misión de SpaceX. En vez de depender de una mano humana para el control, ahora la navegación consiste en una serie de datos predeterminados. Los astronautas de SpaceX aún pueden participar en la toma de decisiones en situaciones críticas, pero gran parte de esa función ya no está en sus manos.
¿Importa este cambio? El software nunca ha tenido un papel más crítico en los vuelos espaciales. Los ha hecho más seguros y eficientes, permitiendo que una nave espacial se ajuste automáticamente a las condiciones cambiantes. Según el ingeniero de la NASA que lidera el desarrollo de software para la cápsula del espacio profundo de Orión, Darrel Raines, la autonomía es especialmente clave para los "tiempos críticos de respuesta", como el ascenso de un cohete después del despegue, cuando algún problema podría requerir iniciar una secuencia de interrupción en cuestión de segundos. O en los casos en los que la tripulación podría resultar incapacitada por alguna razón.
Una mayor autonomía es prácticamente esencial para que algunas formas de vuelo espacial funcionen. Ad Astra es una empresa con sede en Houston (EE. UU.) que trabaja en hacer viable la tecnología de propulsión de cohetes a base de plasma. Su motor experimental utiliza plasma que se produce del gas argón y que se calienta con ondas electromagnéticas. Un proceso de "sintonización" supervisado por el software del sistema determina automáticamente las frecuencias óptimas para este calentamiento. El motor llega a plena potencia en solo unos pocos milisegundos. "No hay manera de que un ser humano responda a algo así a tiempo", destaca el CEO y antiguo astronauta que voló en varias misiones de transbordadores espaciales de 1986 a 2002, Franklin Chang Díaz. Los algoritmos en el sistema de control se utilizan para reconocer las condiciones cambiantes en el cohete mientras se mueve a través de la secuencia de inicio, y actúa en consecuencia. Chang Díaz añade: "No podríamos hacer nada de esto bien sin el software".
Pero confiar en exceso en el software y en los sistemas autónomos para los vuelos espaciales abre la posibilidad a nuevos problemas. Esto es especialmente preocupante en el caso de los muchos de los nuevos contendientes de la industria espacial, que no están tan acostumbrados al tipo de pruebas activas e integrales necesarias para eliminar los problemas en el software y todavía buscan encontrar un buen equilibrio entre la automatización y el control manual.
Foto: el transbordador espacial Atlantis tenía un tablero más tradicional que sus pilotos utilizaban.
Foto: la cápsula de Crew Dragon sustituye los botones y los interruptores con las grandes pantallas táctiles.
Hoy en día, unos pocos errores en más de un millón de líneas de código podrían marcar la diferencia entre el éxito y el fracaso de una misión. Lo vimos a finales del año pasado, cuando la cápsula Starliner de Boeing (otro vehículo con el que cuenta la NASA para enviar astronautas estadounidenses al espacio) no pudo llegar a la EEI debido a un error en su temporizador interno. Un piloto humano pudo haber arreglado ese error que acabó quemando los propulsores de Starliner. El administrador de la NASA, Jim Bridenstine, lo comentó poco después: "Si hubiéramos tenido a un astronauta a bordo, ya hubiésemos llegado a la Estación Espacial Internacional".
Pero más tarde se reveló que había muchos otros errores en el software que no se habían detectado antes del lanzamiento, incluido uno que pudo haber destruido la nave espacial. Y eso era algo que los miembros de la tripulación podían haber arreglado fácilmente.
Boeing suele construir y probar las tecnologías de vuelos espaciales, y por eso fue una sorpresa ver que la compañía no logró detectar estos problemas antes del vuelo de prueba de Starliner. "Los defectos de software, especialmente en el complejo código de las naves espaciales, no son algo inesperado. Sin embargo, había numerosos casos en los que los procesos de calidad del software de Boeing debían o podían haber descubierto esos defectos", afirmó la NASA cuando se hizo público el segundo fallo. Boeing rechazó la solicitud de comentarios.
Según el vicepresidente y director general de la industria aeroespacial de NI (anteriormente National Instruments), Luke Schreier, los problemas en el software son inevitables, ya sea en vehículos autónomos o en naves espaciales. "Así es la vida", asegura. La única solución real consiste realizar pruebas de forma activa y con antelación para encontrar esos problemas y resolverlos "Hay que tener un programa de pruebas de software realmente riguroso para encontrar esos errores que inevitablemente estarán allí", añade.
IA en acción
No obstante, el espacio es un entorno peculiar para realizar esas pruebas. Las condiciones con las que se encontrará una nave espacial no son fáciles de simular en tierra. Aunque es posible sacar un vehículo autónomo del simulador y ponerlo en condiciones más livianas del mundo real para perfeccionar el software poco a poco, no se puede hacer lo mismo con un vehículo de lanzamiento. El lanzamiento, el vuelo espacial y el regreso a la Tierra son acciones que suceden o no: no hay una versión "light".
Schreier destaca que esta es la razón por la cual la inteligencia artificial (IA) es tan importante en los vuelos espaciales actuales: se puede desarrollar un sistema autónomo que sea capaz de anticipar esas condiciones, en vez de requerir que se aprendan durante una simulación específica. "No es posible simular por nuestra cuenta todas las opciones del nuevo hardware que se diseña", asegura.
Por eso, para algunos grupos, probar el software no es solo cuestión de encontrar y corregir errores en el código, también es una manera de entrenar el software impulsado por IA. Virgin Orbit, por ejemplo, que recientemente intentó enviar su vehículo LauncherOne al espacio por primera vez, trabajó con NI para desarrollar un banco de pruebas que uniera todos los sensores y aviónica del vehículo con el software creado para realizar una misión en órbita (hasta la longitud exacta del cableado utilizado dentro del vehículo). Cuando LauncherOne estuvo listo para volar, parecía que ya había estado en el espacio miles de veces gracias a las pruebas, y ya se había enfrentado a muchos tipos diferentes de escenarios.
Pero, el primer vuelo de prueba del LauncherOne fracasó, por razones que aún no se han revelado. Si se debió a limitaciones de software, sería otra señal de que hay un límite en cuanto a la capacidad de entrenamiento de una IA para enfrentarse a las condiciones del mundo real.
Raines añade que, en contraste con el enfoque más lento de la NASA para las pruebas, las compañías privadas son capaces de actuar mucho más rápido. Para algunas, como SpaceX, esto da buenos resultados. Para otras, como Boeing, puede dar lugar a algunos contratiempos sorprendentes.
Al final, "lo peor que se puede hacer es crear algo totalmente manual o completamente autónomo", opina el ingeniero de la NASA que trabaja en el desarrollo de software de Orion Nathan Uitenbroek. Las personas tienen que poder intervenir si el software falla o si la memoria del ordenador acaba destruida por un imprevisto (como una explosión de rayos cósmicos). Pero también confían en el software para informarles cuando surgen otros problemas.
La NASA está acostumbrada a calcular este equilibrio, e incorpora redundancias en sus vehículos tripulados. El transbordador espacial operaba con varios ordenadores que usaban el mismo software, y si uno tenía algún problema, los otros podían sustituirlo. Otro ordenador independiente funcionaba con un software completamente diferente, y podría hacerse cargo de toda la nave espacial si un error del sistema afectaba a los demás. Raines y Uitenbroek aseguran que se usan las mismas redundancias en Orion, que también incluye un nivel de función automática que omite el software por completo para las funciones críticas como la liberación de paracaídas.
En Crew Dragon, existe la posibilidad de que los astronautas inicien manualmente las secuencias de aborto y arreglar el software en función de los nuevos datos. Pero el diseño de estos vehículos significa que a los humanos les cuesta más tomar el control por completo. La consola de pantallas táctiles sigue vinculada al software de la nave espacial, y no se puede desactivar del todo cuando alguien se quiere hacer cargo de la nave espacial, ni siquiera en una emergencia.
No existe un consenso sobre cuánto más se reducirá, o se debería reducir, el papel humano en los vuelos espaciales. Uitenbroek piensa que es simplemente inviable desarrollar un software capaz de solucionar todos los imprevistos posibles, especialmente si se tienen que cumplir los plazos. Pero Chang Díaz no está de acuerdo, en su lugar, cree que el mundo está cambiando "hacia un punto en el que al final el ser humano estará fuera del todo".
Cuál es el enfoque acertado puede depender del nivel de éxito alcanzado por las diferentes partes que envían a las personas al espacio. La NASA no tiene planes de sacar a los humanos de la ecuación, pero si las empresas comerciales encuentran que les resulta más fácil minimizar el papel del piloto humano y dejar que la IA se haga cargo de todo, entonces las pantallas táctiles y los vuelos sin pilotos a la EEI representan solo una muestra de lo que nos espera.