La NASA ha utilizzato Linux e software open source nel razzo Ingenuity Mars

I rappresentanti dell'agenzia spaziale della NASA, in un'intervista con Spectrum IEEE, hanno rivelato dettagli sugli interni dell'elicottero da ricognizione autonomo Ingenuity, che ieri è atterrato con successo su Marte come parte della missione Mars 2020. Una particolarità del progetto è stata l'utilizzo di una scheda di controllo basata sul SoC Snapdragon 801 di Qualcomm, utilizzato nella produzione di smartphone. Il software di Ingenuity è basato sul kernel Linux e su un software di volo open source. Va osservato che questo è il primo utilizzo di Linux in dispositivi inviati su Marte. Inoltre, l’uso di software open source e di componenti hardware ampiamente disponibili consente agli appassionati interessati di assemblare da soli droni simili.

Questa decisione è dovuta al fatto che il controllo di un drone volante richiede una potenza di calcolo significativamente maggiore rispetto al controllo di un rover su Marte, che è dotato di chip appositamente realizzati con protezione dalle radiazioni aggiuntiva. Ad esempio, per mantenere il volo è necessario un circuito di controllo che funzioni a 500 cicli al secondo e un'analisi delle immagini a 30 fotogrammi al secondo.

Il SoC Snapdragon 801 (quad core, 2.26 GHz, 2 GB RAM, 32 GB Flash) alimenta l'ambiente di sistema principale basato su Linux, che è responsabile di operazioni di alto livello come la navigazione visiva basata sull'analisi delle immagini della fotocamera, la gestione dei dati, l'elaborazione comandi, generazione di telemetria e mantenimento di un canale di comunicazione wireless.

Il processore è collegato tramite un'interfaccia UART a due microcontrollori (MCU Texas Instruments TMS570LC43x, ARM Cortex-R5F, 300 MHz, 512 KB RAM, 4 MB Flash, UART, SPI, GPIO), che eseguono funzioni di controllo di volo. Due microcontrollori vengono utilizzati per la ridondanza in caso di guasto e ricevono informazioni identiche dai sensori. È attivo un solo microcontrollore e il secondo viene utilizzato come riserva e in caso di guasto è in grado di assumere il controllo. L'FPGA MicroSemi ProASIC3L è responsabile della trasmissione dei dati dai sensori ai microcontrollori e dell'interazione con gli attuatori che controllano le pale, che passano anche a un microcontrollore di riserva in caso di guasto.

La NASA ha utilizzato Linux e software open source nel razzo Ingenuity Mars

Tra le attrezzature, il drone utilizza un altimetro laser di SparkFun Electronics, azienda che produce hardware open source ed è tra gli ideatori della definizione di hardware open source (OSHW). Altri componenti tipici includono lo stabilizzatore gimbal (IMU) e le videocamere utilizzate negli smartphone. Una telecamera VGA viene utilizzata per tracciare posizione, direzione e velocità attraverso il confronto fotogramma per fotogramma. La seconda fotocamera a colori da 13 megapixel viene utilizzata per scattare foto della zona.

I componenti del software di controllo di volo sono stati sviluppati presso il JPL (Jet Propulsion Laboratory) della NASA per satelliti terrestri artificiali piccoli e ultrapiccoli (cubesats) e vengono sviluppati da diversi anni come parte della piattaforma aperta F Prime (F´), distribuita sotto il marchio Licenza Apache 2.0.

F Prime fornisce strumenti per lo sviluppo rapido di sistemi di controllo di volo e relative applicazioni integrate. Il software di volo è suddiviso in singoli componenti con interfacce di programmazione ben definite. Oltre ai componenti specializzati, viene offerto un framework C++ con l'implementazione di funzionalità come l'accodamento dei messaggi e il multithreading, nonché strumenti di modellazione che consentono di connettere componenti e generare automaticamente codice.

La NASA ha utilizzato Linux e software open source nel razzo Ingenuity Mars


Fonte: opennet.ru

Aggiungi un commento