30 de junho de 2020

Os foguetes SpaceX voam com o software que você pode encontrar no seu telefone Android

Os programadores detalham o software que aciona os foguetes Falcon, as cápsulas Dragon e os satélites Starlink. E sim, eles jogam Kerbal Space Program.

Os pacotes de software que a SpaceX usa em seus foguetes Falcon , cápsulas Dragon e satélites Starlink são primos próximos de programas que podem estar no seu PC ou telefone.

Os astronautas da NASA Bob Behnken e Doug Hurley usavam a base do navegador Chrome do Google – o navegador mais usado no mundo – toda vez que tocavam nas telas sensíveis ao toque que controlavam a cápsula do Crew Dragon enquanto voava para a Estação Espacial Internacional nos últimos dois anos. dias de maio. E cada foguete e satélite SpaceX usa uma variação do sistema operacional Linux que alimenta cada um dos bilhões de telefones Android do mundo.

Em uma AMA do Reddit que aconteceu com Hurley e Behnken ajudando na estação espacial, os programadores da SpaceX revelaram como a empresa de Elon Musk trabalhou para modernizar sua parte da indústria espacial, um campo que ainda conta com tecnologia que remonta a décadas. O software é menos visível do que alguns dos equipamentos que capturam a imaginação da empresa, como foguetes de reforço que retornam à Terra e pousam . Mas é tão importante quanto, porque controla todos os aspectos do vôo espacial. Por exemplo, o software executa a sequência de interrupção de emergência da SpaceX que eleva a cápsula do Crew Dragon no caso de um foguete Falcon explodir.

Interface Chromium do Crew Dragon

A SpaceX usa o Chromium , a base de código aberto do Google para o navegador Chrome, para a interface de usuário com tela sensível ao toque no Crew Dragon, disse Sofian Hnaide, desenvolvedor que trabalhou na tecnologia de exibição Crew Dragon usada no lançamento do Demo-2 que carregava os dois astronautas para a estação espacial . A SpaceX começou o esforço para demonstrar suas idéias de design para a NASA, mas a SpaceX continuou com ela.

“Gostamos de todos os recursos modernos que acompanham os navegadores”, disse Hnaide durante a AMA, acrescentando que o Chromium deu à SpaceX acesso a muitos programadores já habilitados com a tecnologia.

Isso significa que um aplicativo Web escrito em HTML e JavaScript , assim como milhões de sites, está mostrando aos astronautas o que eles precisam ver e interpretando seus toques e toques. Isso é diferente dos métodos tradicionais de programação aeroespacial, usando linguagens de nível inferior.

As telas sensíveis ao toque exemplificam a abordagem de computação modernizada da SpaceX, mas a cápsula Dragon também possui botões de hardware mais tradicionais para ações críticas como responder a um incêndio na cabine, disse Wendy Shimata, que gerencia a equipe de software da Dragon.

Linux dentro do Starlink

A interface baseada no Chromium se conecta ao software de controle de veículo, escrito na linguagem C ++ e em execução no sistema operacional Linux de código aberto. A SpaceX mantém sua própria variante Linux, disse Josh Sulkin, líder de design de software da cápsula Crew Dragon da SpaceX, mas é um primo próximo da versão executada em todos os telefones Android.

A SpaceX modifica o Linux para suportar o próprio hardware da empresa. Também permite opções Linux em tempo real , o que ajuda a garantir que o software responda às entradas de maneira confiável e rápida .

Para a Starlink, a crescente rede de satélites da SpaceX para fornecer acesso à Internet a computadores na Terra “, cada lançamento de 60 satélites contém mais de 4.000 computadores Linux”, disse Sulkin. A maioria deles governa pequenos computadores chamados microcontroladores, com responsabilidades estreitas, mas muitas vezes importantes.

“A constelação tem mais de 30.000 nós Linux (e mais de 6.000 microcontroladores) no espaço agora”, disse ele, referindo-se a um sistema de computação que faz parte de um grupo maior que trabalha em paralelo.

Métodos modernos

A SpaceX incorpora não apenas software moderno, mas também métodos modernos de desenvolvimento de software, como atualizações frequentes.

A SpaceX atualiza seu software Starlink semanalmente , disse Matt Monson, que lidera o trabalho do software Starlink e trabalhou anteriormente no dragão da empresa. “Quando lançamos um lote de satélites, eles geralmente estão em uma construção que já é mais antiga do que o restante da constelação”, disse ele. “Nesse tipo de projeto, o ritmo da inovação é tudo”.

A SpaceX também realizou uma hackathon de uma semana com os astronautas Behnken e Hurley , permitindo que testassem o software durante o dia e depois o reconstruindo a cada noite para incorporar seus comentários para os testes do dia seguinte.

A SpaceX também usa testes A / B, que permitem à empresa testar alterações em um subconjunto de satélites, disse ele. É um método amplamente usado em programação mais convencional, por exemplo, para avaliar se um site é carregado mais rapidamente .

As atualizações podem ser críticas. “Tivemos muitos casos em que um satélite em órbita teve uma falha que nunca tínhamos concebido antes, mas foi capaz de manter-se seguro por tempo suficiente para que possamos depurá-lo, descobrir uma correção ou solução alternativa e avançar” uma atualização de software “, disse Monson.

Isso não quer dizer que o software seja fluido. O software Crew Dragon foi bloqueado meses antes do lançamento .

Segurança informática SpaceX

Software moderno significa problemas de software modernos, como segurança. A SpaceX usa vários métodos de segurança para manter suas espaçonaves, sistemas e dados em segurança, disse Jeff Dexter, que executa o software de voo e os programas de segurança cibernética da SpaceX.

Por exemplo, a SpaceX usa criptografia de ponta a ponta para proteger os dados enviados para e dos satélites Starlink contra interceptação, e todo o hardware executa software assinado pela SpaceX para ajudar a bloquear o software externo, disse ele. Também executa testes automatizados para procurar problemas no software.

“Temos uma equipe dedicada que identifica como nossos veículos e satélites podem ser invadidos, para que possamos eliminar ou proibir esse tipo de ameaça quando estamos construindo nossos veículos”, disse Dexter .

Até o que os programadores da SpaceX fazem por diversão parece sério. Um Redditor perguntou se eles jogavam o Kerbal Space Program , um jogo de simulador de voo espacial bom para quem gosta de mecânica orbital. 

Show Buttons
Hide Buttons