Alguns dias atrás representantes da agência espacial da NASA, em entrevista ao Spectrum IEEE, revelou detalhes sobre o helicóptero de reconhecimento autônomo Ingenuity, que pousou com sucesso em Marte como parte da missão Mars 2020.
Uma característica especial projeto foi o uso de uma placa de controle baseada em SoC Qualcomm Snapdragon 801, que é usado na produção de smartphones. O software Ingenuity é baseado no kernel Linux e no software de vôo de código aberto.
Deve-se notar que este é o primeiro uso do Linux em uma espaçonave enviada para Marte. Além disso, o uso de software de código aberto e componentes de hardware disponíveis comercialmente permite que entusiastas interessados montem drones semelhantes por conta própria.
Essa decisão se deve ao fato de que controlar um drone voador requer muito mais poder de computação do que controlar um rover, que é equipado com chips especialmente fabricados com proteção adicional contra radiação. Por exemplo, a manutenção do voo requer a operação do circuito de controle a uma taxa de 500 ciclos por segundo, bem como a análise de imagem a uma taxa de 30 quadros por segundo.
O SoC Snapdragon 801 (Quad Core 2,26 GHz, 2 GB de RAM, 32 GB de Flash) é usado para fornecer um ambiente de sistema básico baseado em Linux, que é responsável pelas operações de alto nível como navegação visual baseada na análise de imagens de câmeras, gerenciamento de dados, processamento de comandos, geração de telemetria e manutenção de canais de comunicação wireless.
Processador conecta-se via interface UART a dois microcontroladores (MCU Texas Instruments TMS570LC43x, ARM Cortex-R5F, 300 MHz, 512 KB de RAM, 4 MB Flash, UART, SPI, GPIO) que executam funções de controle de vôo.
Os dois microcontroladores são usados para redundância em caso de falha e eles recebem informações idênticas dos sensores. Apenas um microcontrolador está ativo e o segundo é usado como sobressalente e em caso de falha pode assumir o controle. FPGA MicroSemi ProASIC3L é responsável por transferir dados de sensores para microcontroladores e interagir com os atuadores que controlam as lâminas, que também muda para um microcontrolador substituto em caso de falha.
Da equipe, o drone usa um altímetro a laser SparkFun Electronics, uma empresa de hardware de código aberto e um dos criadores da definição de hardware de código aberto (OSHW). Entre outros componentes típicos, destacam-se o giroestabilizador (IMU) e as câmeras de vídeo utilizadas em smartphones.
Uma câmera VGA é usada para rastrear a localização, direção e velocidade por meio de comparações quadro a quadro. A segunda câmera colorida de 13 megapixels é usada para criar imagens da área.
Trazer a Ingenuidade para Marte inteira e fazê-la decolar e pousar pelo menos uma vez é uma vitória definitiva para a NASA, diz Tim Canham do JPL.
Canham ajudou a desenvolver a arquitetura de software que executa o Ingenuity. Como líder de operações da Ingenuity, ele agora se concentra no planejamento de voo e na coordenação com a equipe do rover Perseverance. Conversamos com Canham para entender melhor como a Ingenuity contará com autonomia para seus próximos voos a Marte.
Os componentes do software de controle de vôo foram desenvolvidos no JPL (Jet Propulsion Laboratory) da NASA para pequenos e ultrapequenos satélites terrestres artificiais (cubsats) e vêm sendo desenvolvidos há vários anos como parte da plataforma aberta F Prime (F´), distribuída sob o Licença Apache 2.0.
F Prime fornece as ferramentas para o rápido desenvolvimento de sistemas de controle de vôo e aplicativos integrados relacionados. O software de voo é dividido em componentes individuais com interfaces de programação bem definidas.
Além dos componentes especializados, uma estrutura C ++ é fornecida com a implementação de recursos como enfileiramento de mensagens e multithreading, bem como ferramentas de modelagem que permitem vincular componentes e gerar código automaticamente.
Finalmente se você estiver interessado em saber mais sobre isso, você pode consultar o seguinte link.