SpaceX usou Linux, C++ e chips dual-core para levar astronautas da NASA ao espaço

SpaceX usou Linux, C++ e chips dual-core para levar astronautas da NASA ao espaço
by

No dia 30 de maio, a NASA voltou a realizar lançamentos de seus próprios astronautas, graças à tecnologia da SpaceX. A empresa de Elon Musk, com isso, iniciou a era dos voos comerciais tripulados ao levar dois astronautas até à Estação Espacial Internacional (ISS). Já conhecemos detalhes sobre os veículos, mas o software também é peça fundamental para as missões. E a SpaceX escolheu o Linux.

Para o lançamento, a empresa utilizou o foguete Falcon 9 e a nave Crew Dragon, uma versão tripulada de uma nave que já operava para transportar carga à ISS. O Falcon 9 é equipado com motores Merlin e alimentado com uma combinação de combustível LOX e RP-1. Além disso, há supercomputadores, dispositivos de Internet das Coisas (IoT) e muitos outros dispositivos críticos a bordo.

Para gerenciar todo este hardware, a SpaceX escolheu uma versão simplificada do sistema operacional Linux, que roda em três processadores x86 dual-core. E são chips comuns, longe de serem as CPUs mais novas do mercado. É que eles foram desenvolvidos para naves espaciais que levam anos para serem projetadas e fabricadas. Por isso, quando o projeto do foguete sai do papel, o processador já está ultrapassado. Mas isso não é um problema, já que tudo foi projetado para funcionar em conjunto.

Centro de controle da SpaceX durante uma simulação de voo da Crew Dragon (Foto: SpaceX)

 

A própria ISS, por exemplo, utiliza CPUs Intel 80386SX de 20 MHz, de 1988. São antigos, mas funcionam bem até hoje, já que não é necessário atualizar softwares que ficam cada vez mais robustos e exigentes, como acontece no mercado da computação. Já os modelos dos chips do Falcon 9 são desconhecidos, mas é provável que tenham pelo menos dez anos de idade.

No entanto, apesar de comuns e relativamente antigos, os chips que entram no espaço precisam receber uma proteção especial contra a radiação. Esses processadores personalizados passam por anos de trabalho de design e depois mais anos de testes antes de serem certificados para voos espaciais – outro motivo pelo qual acabam ficando “ultrapassados” quando voam para o espaço.

Voltando aos softwares, uma equipe com cerca de 35 pessoas escreve todo o código para aplicativos do Falcon 9, do Grasshopper (protótipos do Falcon 9) e da Dragon. Eles também fazem o trabalho da plataforma principal e escrevem softwares de simulação, o software de comunicação e análises e testam o código de voo. Os programadores da SpaceX preferem usar C ++, e às vezes Python.

Além do sistema operacional Linux, eles usam o LabView, uma ferramenta de programação gráfica executada no Windows. Ele foi criado pela empresa National Instruments e facilita a interação virtual de hardwares, possibilitando a análise de dados e o processamento de sinais de forma mais eficiente. Quanto ao código do veículo, é da ordem de algumas centenas de milhares de linhas.

Centro de controle da SpaceX durante uma simulação de voo da Crew Dragon (Foto: SpaceX)

 

Antes de realizar o voo, a SpaceX testa seu software e o hardware em uma mesa, através de simulações de voo completas, incluindo falhas catastróficas. Isso garante prever todas as condições que causariam um acidente sem perder nenhum foguete.

A Crew Dragon também roda o Linux com um software de voo escrito em C ++. A interface da tela sensível ao toque é renderizada usando Chromium e HTML5, CSS3 e JavaScript. Se algo der errado com essa interface, os astronautas ainda têm botões físicos para controlar a cápsula.


Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *