Casi todos los programas informáticos de su misión VIPER, que se lanzará en 2023 para recorrer la Luna en busca hielo de agua, estarán disponibles para que cualquiera pueda usarlos, modificarlos y distribuirlos. Se trata de una tendencia en auge que podría abaratar y acelerar la industria espacial
FUENTE: www.technologyreview.es
AUTOR: Neel V. Patel
En 2023, la NASA lanzará VIPER (Volatiles Investigating Polar Exploration Rover, o Róver para Exploración Polar de Investigación de Volátiles), que recorrerá la superficie de la Luna en busca hielo de agua que algún día podría usarse para producir combustible para cohetes. El róver llevará los mejores instrumentos y herramientas de la NASA: ruedas capaces de girar adecuadamente por el suelo lunar, un taladro para excavar en la geología extraterrestre, hardware capaz de sobrevivir los 14 días terrestres que dura una noche lunar cuando las temperaturas bajan hasta los ˗173 ° C.
Pero, aunque casi toda la equipación de VIPER será única en su clase, hecha a medida para la misión, gran parte de su software será de código abierto, lo que significa que estará disponible para que cualquiera pueda usarlo, modificarlo y distribuirlo para cualquier propósito. Si tiene éxito, la misión podría convertirse en algo más que la base para una futura colonia lunar; también supondría un punto de inflexión que haría que la industria espacial cambie su forma de pensar sobre cómo desarrolla y opera los robots.
La tecnología de código abierto rara vez nos viene a la mente cuando hablamos de las misiones espaciales. Se necesita una enorme cantidad de dinero para construir algo que se pueda lanzar al espacio, llegar a su elegido destino y cumplir un conjunto específico de tareas a cientos o miles (o cientos de miles) de kilómetros de distancia. Resulta bastante natural el hecho de no enseñar las cartas con los conocimientos necesarios para llevar a cabo esas cosas. El software de código abierto, en cambio, suele asociarse a una programación rudimentaria para proyectos pequeños, como hackathones o demostraciones de estudiantes. El código que llena repositorios online como GitHub es a menudo una solución económica para grupos con poco dinero y recursos para crear código desde cero.
Pero la industria espacial está creciendo, en gran parte porque existe una demanda de mayor acceso al espacio. Y lo mismo pasa con el uso de tecnologías menos costosas y más accesibles, incluido el software.
Incluso para los grupos más grandes como la NASA, donde el dinero no es un problema, el método de código abierto puede dar como resultado un software más sólido. El presidente y CEO de Voyager Space Holdings, Dylan Taylor, opina: «Yo diría que en este momento el software de vuelo espacial es bastante mediocre». (Un buen ejemplo: el fallo del vuelo de prueba de Starliner de Boeing en 2019, que se debió a unos errores de software). Si es de código abierto, los científicos más inteligentes aún pueden aprovechar la experiencia y los comentarios de una comunidad mayor si se encuentran con problemas, igual que los desarrolladores aficionados.
Básicamente, si es lo suficientemente bueno para la NASA, se supone que debería ser lo suficientemente bueno para cualquier otra persona que intente operar un robot fuera de este planeta. Con un número cada vez mayor de nuevas empresas y nuevas agencias nacionales en todo el mundo que lanzan sus propios satélites y sondas al espacio manteniendo bajos los costes, es de gran ayuda poder contar con software robótico más barato y capaz de manejar con confianza algo tan arriesgado como una misión espacial.
El software de código abierto también puede ayudar a que el acceso al espacio sea más barato porque se trata de estándares que todos pueden adoptar y con los que todos pueden trabajar. Se eliminan los altos costes asociados con la codificación especializada. Los marcos de código abierto también suelen ser algo con lo que los nuevos ingenieros ya han trabajado.
El jefe del Grupo de Robótica Inteligente del Centro de Investigación Ames de la NASA en California (EE. UU.), y subdirector del róver para la misión VIPER, Terry Fong, señala: «Si podemos aprovechar eso [el conocimiento de los marcos de código abierto] y aumentar la línea de lo que han aprendido en la escuela a lo que usan en las misiones de vuelo, la curva de aprendizaje se acorta. Eso acelera las cosas para avanzar en el mundo de la investigación y para ponerlas en marcha».
La NASA lleva aproximadamente entre 10 y 15 años utilizando software de código abierto en proyectos de I+D y mantiene un catálogo bastante extenso del código abierto que ha utilizado. Pero el papel de esta tecnología en robots reales enviados al espacio es todavía incipiente. Un sistema que la agencia ha probado es el Robot Operating System (ROS), el conjunto de marcos de software de código abierto mantenido y actualizado por la organización sin ánimo de lucro Open Robotics, también con sede en Mountain View (EE. UU.). ROS ya se utiliza en Robonaut 2, el robot humanoide que ha ayudado con la investigación de la Estación Espacial Internacional (EEI o ISS, por sus siglas en inglés), así como en los robots autónomos Astrobee que se mueven por la ISS para ayudar a los astronautas a realizar las tareas del día a día.
Foto: El robot Astrobee de la Estación Espacial Internacional funciona con Robot Operating System (ROS). Créditos: NASA
ROS se ejecutará para facilitar algunas tareas críticas para el llamado «control terrestre de vuelo». VIPER se moverá por el personal de la NASA que operará desde la Tierra. El control terrestre de vuelo tomará los datos recopilados por VIPER para crear mapas en tiempo real y representaciones del entorno en la Luna que los conductores del róver podrían usar para navegar de manera segura. Otras partes del software del róver también tienen sus raíces de código abierto: las funciones básicas como la telemetría y la gestión de la memoria se manejan a bordo por un programa denominado Core Flight System (cFS), desarrollado por la propia NASA y disponible de forma gratuita en GitHub. Las operaciones de la misión de VIPER fuera del propio róver se gestionan por Open MCT, también creado por la NASA.
En comparación con Marte, el entorno lunar es muy difícil de reproducir físicamente en la Tierra, lo que significa que probar los componentes de hardware y software de un róver no es fácil. Para esta misión, según Fong, tenía más sentido basarse en simulaciones digitales que pudieran probar muchos de los componentes del róver, y eso incluía el software de código abierto.
Otra razón por la que la misión se presta al uso de software de código abierto es que la Luna está lo suficientemente cerca para poder controlar el róver casi en tiempo real, lo que significa que parte del software no tiene que estar en el propio róver y puede ejecutarse en la Tierra.
Fong detalla: «Decidimos dividir el cerebro del robot entre la Luna y la Tierra. Y en cuanto lo hicimos, se abrió la posibilidad de usar software que no esté limitado por la radiación ni por los ordenadores a bordo, sino que, en su lugar, podamos usar pantallas comerciales fáciles de conseguir. Entonces podemos hacer uso de cosas como ROS en el suelo, algo que muchas personas utilizan con regularidad. No tenemos que depender únicamente de un software específico».
VIPER no se ejecuta en un software 100 % de código abierto; su sistema de vuelo a bordo, por ejemplo, utiliza software propio muy fiable. Pero es fácil imaginar que las futuras misiones adopten y amplíen lo que ejecutará VIPER. Fong añade: «Tal vez el próximo róver de la NASA tenga Linux».
No siempre será posible utilizar software de código abierto. Las preocupaciones por la seguridad podrían ser mayores y provocarían que algunas partes se queden por completo con la tecnología propia (aunque una ventaja de las plataformas de código abierto es que los desarrolladores a menudo hacen públicos sus conocimientos sobre cómo encontrar defectos y proponen parches). Fong también destaca que algunas misiones siempre serán demasiado especializadas o avanzadas para poder depender en su mayoría de la tecnología de código abierto.
Aun así, la NASA no es la única la que está recurriendo a la comunidad de código abierto. Blue Origin ha anunciado recientemente una asociación con varios grupos de la NASA para «codificar la inteligencia robótica y la autonomía» construida a partir de marcos de código abierto (la compañía no quiso ofrecer más detalles). Iniciativas más pequeñas como la Fundación Espacio Libre con sede en Grecia, que proporciona hardware y software de código abierto para las actividades de pequeños satélites, seguramente recibirán más atención a medida que los vuelos espaciales continúen siendo más baratos. «Hay un efecto dominó. Cuando una gran organización como la NASA afirma públicamente: ‘Dependemos de este software’, entonces otras organizaciones están dispuestas a arriesgarse y realizar el trabajo necesario para que les funcione bien a ellas también», concluye el CEO de Open Robotics, Brian Gerkey.