O próximo rover lunar da NASA usará um software de código aberto
Natureza e espaço

O próximo rover lunar da NASA usará um software de código aberto

A missão pode tornar as tecnologias da indústria espacial menos caras e mais acessíveis.

Em 2023, a NASA lançará o VIPER (Volatiles Investigating Polar Exploration Rover), que percorrerá a superfície da Lua em busca de água em forma de gelo que poderia  um dia ser usado para fazer combustível para foguetes.  O rover estará equipado com os melhores instrumentos e ferramentas que a NASA pode oferecer: rodas que funcionam corretamente no solo lunar, uma furadeira que é capaz de cavar em superfície extraterrestre, hardware que pode sobreviver 14 dias em uma noite lunar quando as temperaturas caem a -173 ° C.

Mas embora grande parte do  VIPER  seja único, feito sob medida para a missão, muito do software que ele está executando é de código aberto, o que significa que está disponível para uso, modificação e distribuição por qualquer pessoa para qualquer propósito.  Se for bem-sucedida, a missão pode significar mais do que apenas estabelecer as bases para uma futura colônia lunar — também pode ser um ponto de inflexão que faz com que a indústria espacial pense de forma diferente sobre como desenvolve e opera robôs.

A tecnologia de código aberto raramente vem à mente quando falamos sobre missões espaciais.  É preciso uma enorme quantidade de dinheiro para construir algo que possa ser lançado ao espaço, chegar ao seu destino correto e, então, cumprir um conjunto específico de tarefas a centenas ou milhares (ou centenas de milhares) de quilômetros de distância.  Manter o conhecimento sobre essas coisas perto do peito é uma inclinação natural.  O software de código aberto, por sua vez, é mais comumente associado à programação fragmentada para projetos menores, como hackathons ou demonstrações de alunos.  O código que preenche repositórios online como o  GitHub  costuma ser uma solução barata para grupos com pouco dinheiro e recursos necessários para construir o código do zero.

Mas a indústria espacial está crescendo, em grande parte porque há uma demanda por maior acesso ao espaço. E isso significa o uso de tecnologias menos caras e mais acessíveis, incluindo software.

Mesmo para grupos maiores como a NASA, onde dinheiro não é um problema, a abordagem de código aberto pode acabar resultando em softwares mais fortes. “O software de voo agora, eu diria, é bastante medíocre no espaço”, diz Dylan Taylor, presidente e CEO da Voyager Space Holdings.  (Vide o caso da  falha do voo de teste  do  Starliner  da Boeing em 2019,  devido a falhas de software.) Se for de código aberto, os cientistas mais inteligentes ainda podem aproveitar a experiência e o feedback de uma comunidade maior se encontrar problemas, assim como os desenvolvedores amadores fazem.

Basicamente, se é bom o suficiente para a NASA, provavelmente deve ser bom o suficiente para qualquer outra pessoa que tente operar um robô neste planeta.  Com um número cada vez maior de novas empresas e novas agências nacionais em  todo o mundo  buscando lançar seus próprios satélites e sondas no espaço, mantendo os custos baixos, um software de robótica mais barato que pode lidar com segurança com algo tão arriscado quanto uma missão espacial é uma grande dádiva.

O software de código aberto também pode ajudar a baratear o acesso ao espaço, pois leva a padrões que todos podem adotar e trabalhar.  Você pode eliminar os altos custos associados à codificação especializada.  Estruturas de código aberto geralmente são algo com que os novos engenheiros também já trabalharam. “Se pudermos aproveitar isso e aumentar a linha de uso do que eles aprenderam na escola para o que eles usam em missões de voo, isso encurta a curva de aprendizado”, diz Terry Fong, roboticista e chefe do Intelligent Robotics Group no Centro de Pesquisa Ames da NASA na Califórnia, e vice-líder do rover para a missão VIPER.  “Isso torna as coisas mais rápidas para nós aplicarmos os avanços do mundo da pesquisa e utilizarmos nos voos”.

A NASA tem usado software de código aberto em muitos projetos de P&D por cerca de 10 a 15 anos — a agência mantém um  catálogo  muito  extenso  dos códigos abertos que tem usado.  Mas o papel dessa tecnologia em robôs reais enviados ao espaço ainda é emergente.  Um sistema que a agência testou é o Robot Operating System (ROS), uma coleção de estruturas de software de código aberto mantida e atualizada pela organização sem fins lucrativos Open Robotics, também sediada  em Mountain View.  O ROS já é usado no Robonaut 2, o robô humanoide que tem ajudado nas pesquisas na Estação Espacial Internacional (EEI), bem como nos  robôs  autônomos  Astrobee que  circulam pela EEI para ajudar os astronautas nas tarefas do dia a dia.

O  robô  Astrobee  na Estação Espacial Internacional (EEI) funciona graças ao ROS.
NASA

O ROS estará executando e facilitando tarefas críticas para algo chamado “controle de voo em solo”.  O VIPER será conduzido pela equipe da NASA que estará na Terra.  O controle de voo terrestre pegará os dados coletados pelo VIPER para construir mapas em tempo real e representações do ambiente na lua que os motoristas do rover podem usar para navegar com segurança.  Outras partes do software do rover também têm raízes de código aberto: funções básicas como telemetria e gerenciamento de memória são administradas a bordo por um programa chamado  core Flight System ( cFS ), desenvolvido pela própria NASA e  disponível gratuitamente no GitHub.  As operações da missão do VIPER fora do próprio rover são gerenciadas pelo  Open MCT, também criado pela NASA.

Comparado com Marte, o ambiente lunar é muito difícil de emular fisicamente na Terra, o que significa que testar os componentes de hardware e software de um rover não é fácil.  Para esta missão, diz Fong, fazia mais sentido  confiar em simulações digitais que pudessem testar muitos dos componentes do rover — e isso incluía o software de código aberto.

Outra razão pela qual a missão se presta ao uso de software de código aberto é que a Lua está perto o suficiente para o controle quase em tempo real do rover, o que significa que parte do software pode ser executado na Terra.

“Decidimos dividir o cérebro do robô entre a Lua e a Terra”, diz Fong. “E assim que fizemos isso, abriu-se a possibilidade de que possamos usar software que não seja limitado pela computação de voo com alta resistência à radiação — mas, em vez disso, podemos apenas usar desktops comerciais convencionais.  Assim, podemos fazer uso de tecnologias como o ROS no solo, algo usado por tantas pessoas tão regularmente.  Não temos que depender apenas de um software personalizado”.

O VIPER não está rodando com software 100% em código-aberto — seu sistema de voo a bordo, por exemplo, usa software proprietário extremamente confiável.  Mas é fácil ver futuras missões adotando e expandindo o que o VIPER irá executar. “Suspeito que talvez o próximo rover da NASA utilize o Linux”, diz Fong.

Nunca será possível usar software de código aberto em todos os casos.  As preocupações com a segurança podem ser um problema e podem fazer com que alguns grupos se atêm inteiramente à tecnologia proprietária (embora uma vantagem das plataformas de código aberto é que os desenvolvedores costumam ser muito públicos sobre como encontrar falhas e propor correções).  E Fong também enfatiza que algumas missões sempre serão muito especializadas ou avançadas para depender tão severamente de tecnologia de código aberto.

Ainda assim, não é apenas a NASA que está se voltando para a comunidade de código aberto.  A Blue Origin anunciou recentemente uma parceria com vários grupos da NASA para “codificar inteligência robótica e a autonomia”  construída a partir de estruturas de código aberto  (a empresa se recusou a fornecer detalhes).  Iniciativas menores como a  Libre Space Foundation com base na Grécia, que fornece hardware e software de código aberto para pequenas atividades de satélites, devem ganhar mais atenção à medida que os voos espaciais continuam a ficar mais baratos.  “Há um efeito dominó nisso”, diz Brian Gerkey, CEO da Open Robotics.  “Uma vez que você tem uma grande organização como a NASA dizendo publicamente, ‘Estamos dependendo deste software’, então outras organizações estão dispostas a arriscar e se aprofundar e fazer o trabalho necessário para que funcione para elas também”.

Nossos tópicos