El próximo rover lunar de la NASA ejecutará software de código abierto

viper rover

Representación de un artista de VIPER en la luna. NASA





En 2023, la NASA lanzará VIPER (Volatiles Investigating Polar Exploration Rover), que recorrerá la superficie de la luna y buscará hielo de agua que algún día podría usarse para fabricar combustible para cohetes. El rover estará armado con los mejores instrumentos y herramientas que la NASA pueda crear: ruedas que puedan girar correctamente en el suelo lunar, un taladro que pueda excavar en la geología extraterrestre, hardware que pueda sobrevivir 14 días de una noche lunar cuando las temperaturas bajan. a ˗173 °C.

Pero mientras gran parte de VIPER es único en su tipo, hecho a medida para la misión, gran parte del software que ejecuta es de código abierto, lo que significa que está disponible para que cualquier persona lo use, modifique y distribuya con cualquier propósito. Si tiene éxito, la misión puede ser algo más que sentar las bases para una futura colonia lunar, también puede ser un punto de inflexión que haga que la industria espacial piense de manera diferente sobre cómo desarrolla y opera los robots.

La tecnología de código abierto rara vez viene a la mente cuando hablamos de misiones espaciales. Se necesita una enorme cantidad de dinero para construir algo que pueda lanzarse al espacio, llegar a su destino correcto y luego cumplir un conjunto específico de tareas a cientos o miles (o cientos de miles) de millas de distancia. Mantener el conocimiento para sacar esas cosas cerca del pecho de uno es una inclinación natural. Mientras tanto, el software de código abierto generalmente se asocia con programación rudimentaria para proyectos más pequeños, como hackatones o demostraciones de estudiantes. El código que llena repositorios en línea como GitHub suele ser una solución económica para grupos que se están quedando sin dinero y sin los recursos necesarios para crear código desde cero.



Pero la industria espacial está creciendo, en gran parte porque existe una demanda de un mayor acceso al espacio. Y eso significa el uso de tecnologías menos costosas y más accesibles, incluido el software.

Incluso para grupos más grandes como la NASA, donde el dinero no es un problema, el enfoque de código abierto puede terminar conduciendo a un software más fuerte. El software de vuelo en este momento, diría yo, es bastante mediocre en el espacio, dice Dylan Taylor, presidente y director ejecutivo de Voyager Space Holdings. (Caso en cuestión: la falla del vuelo de prueba Starliner de Boeing en 2019, que fue debido a fallos 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 más grande si se encuentra con problemas, tal como lo hacen los desarrolladores aficionados.

Básicamente, si es lo suficientemente bueno para la NASA, presumiblemente 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 alrededor del mundo buscando lanzar sus propios satélites y sondas al espacio manteniendo bajos los costos, el software de robótica más económico que puede manejar con confianza algo tan riesgoso como una misión espacial es una gran ayuda.



El software de código abierto también puede ayudar a abaratar el acceso al espacio porque conduce a estándares que todos pueden adoptar y con los que trabajar. Puede eliminar los altos costos asociados con la codificación especializada. Los marcos de trabajo de código abierto suelen ser algo con lo que los nuevos ingenieros ya han trabajado también. Si podemos aprovechar eso y aumentar este flujo de lo que han aprendido en la escuela a lo que usan en las misiones de vuelo, eso acorta la curva de aprendizaje, dice Terry Fong, jefe de robótica del Grupo de Robótica Inteligente en el Centro de Investigación Ames de la NASA en California. , y líder adjunto del rover para la misión VIPER. Nos acelera las cosas tomar avances del mundo de la investigación y ponerlos en marcha.

La NASA ha estado utilizando software de código abierto en muchos proyectos de I+D durante aproximadamente 10 a 15 años; la agencia mantiene un amplio catálogo del código fuente abierto que ha utilizado. Pero el papel de esta tecnología en los robots reales enviados al espacio aún es incipiente. Un sistema que la agencia ha probado es Robot Operating System, una colección de estructuras de software de código abierto mantenidas y actualizadas por la organización sin fines de lucro Open Robotics, también con sede en Mountain View. ROS ya se utiliza en Robonaut 2, el robot humanoide que ha ayudado en la investigación de la Estación Espacial Internacional, así como en la autonomía robots astrobee zumbando alrededor de la ISS para ayudar a los astronautas a realizar las tareas diarias.

astrobee de la nasa

El robot Astrobee de la Estación Espacial Internacional funciona con ROS.



NASA

ROS ejecutará y facilitará tareas críticas para algo llamado control de vuelo en tierra. VIPER será conducido por personal de la NASA que operará cosas desde la Tierra. El control de vuelo en tierra tomará los datos recopilados por VIPER para crear mapas en tiempo real y representaciones del entorno en la luna que los conductores del rover pueden usar para navegar de manera segura. Otras partes del software del rover también tienen raíces de código abierto: las funciones básicas como la telemetría y la gestión de la memoria son manejadas a bordo por un programa llamado Sistema de vuelo central (cFS) , desarrollado por la propia NASA y disponible de forma gratuita en GitHub . Las operaciones de la misión VIPER fuera del propio rover están a cargo de MCT abierto , también creado por la NASA.

En comparación con Marte, el entorno lunar es muy difícil de emular físicamente en la Tierra, lo que significa que probar los componentes de hardware y software de un rover no es fácil. Para esta misión, dice Fong, tenía más sentido apoyarse en simulaciones digitales que pudieran probar muchos de los componentes del rover, 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 controlar el rover casi en tiempo real, lo que significa que parte del software no necesita estar en el rover y puede ejecutarse. en la Tierra en su lugar.



Decidimos dividir los cerebros del robot entre la Luna y la Tierra, dice Fong. Y tan pronto como hicimos eso, abrió la posibilidad de que podamos usar software que no está limitado por la computación de vuelo resistente a la radiación, sino que podemos usar computadoras de escritorio comerciales estándar. Entonces podemos hacer uso de cosas como ROS en el suelo, algo usado por tanta gente con tanta regularidad. No tenemos que confiar solo en un software personalizado.

VIPER no se ejecuta en un software 100 % de código abierto: su sistema de vuelo a bordo, por ejemplo, utiliza un software patentado extremadamente confiable. Pero es fácil ver futuras misiones adoptando y ampliando lo que ejecutará VIPER. Sospecho que tal vez el próximo rover de la NASA ejecutará Linux, dice Fong.

Nunca será posible utilizar software de código abierto en todos los casos. Las preocupaciones de seguridad podrían ser un problema y podrían hacer que algunas partes se adhieran por completo a la tecnología propietaria (aunque una ventaja de las plataformas de código abierto es que los desarrolladores a menudo son muy públicos para encontrar fallas y proponer parches). Y Fong también enfatiza que algunas misiones siempre serán demasiado especializadas o avanzadas para depender en gran medida de la tecnología de código abierto.

Aún así, no es solo la NASA la que está recurriendo a la comunidad de código abierto. Blue Origin anunció recientemente una asociación con varios grupos de la NASA para codificar la inteligencia y la autonomía robótica construido a partir de marcos de código abierto (la compañía se negó a proporcionar detalles). Iniciativas más pequeñas como la Libre Space Foundation con sede en Grecia, que proporciona hardware y software de código abierto para actividades de satélites pequeños, seguramente atraerá más atención a medida que los vuelos espaciales continúen abaratándose. Ahí hay un efecto dominó, dice Brian Gerkey, director ejecutivo de Open Robotics. Una vez que una gran organización como la NASA dice públicamente: 'Dependemos de este software', entonces otras organizaciones están dispuestas a arriesgarse y profundizar y hacer el trabajo necesario para que funcione para ellos.

esconder