di Francesco Taglialavoro
Tim Canham, capo delle operazioni su Marte dell’elicottero Ingenuity della Nasa, risponde alle nostre domande
Il Rover Perseverance è partito dalla Terra il 30 luglio 2020 ed è arrivato su Marte il 18 febbraio 2021 (Fotogallery). Il rover ha quindi cercato un punto per ‘rilasciare‘ l’elicottero Ingenuity. Il primo volo su Marte è avvenuto il 19 aprile 2021.
Composto da quattro gambe, un corpo e due eliche sovrapposte, Ingenuity pesa solo 1,8 kg e misura 1,2 mt da punta a punta della lama. L’elicottero ha bisogno del sole per alimentare i suoi pannelli solari e sopravvivere mantenendosi caldo durante le gelide notti marziane. Sono previsti fino a cinque voli di difficoltà graduale, distribuiti su un mese. Il programma per questo elicottero è costato alla Nasa circa 85 milioni di dollari. In futuro, tali imbarcazioni potrebbero rivelarsi cruciali per l’esplorazione planetaria, essendo in grado di andare dove i rover non possono, per esempio sui canyon. L’agenzia spaziale statunitense sta lavorando a un altro progetto di veicolo volante, la missione Dragonfly, che invierà un drone alla più grande luna di Saturno, Titano, nel 2026 e la raggiungerà nel 2034. Esperimenti di volo di macchine non motorizzate su un altro pianeta hanno già avuto luogo in passato, ha ricordato la NASA, con l’invio nel 1985 di palloni-sonda su Venere nel quadro del programma Vega, una collaborazione tra l’URSS e altri paesi, di cui la Francia.
Il sistema operativo che fa funzionare Ingenuity è Linux. Su questo punto, in particolare, abbiamo chiesto ed ottenuto via email, grazie alla collaborazione di Juell Diaz, JPL News & Media, le risposte ad alcune nostre domande da parte di Tim Canham, che è il capo delle operazioni su Marte dell’elicottero Ingenuity.
Come viene usato Linux dalla Nasa, in particolare sull’elicottero?
“La scheda del processore Snapdragon che è usata su Ingenuity e il relè della stazione base sul Rover sono stati consegnati con una distribuzione Linux, e non c’erano opzioni per altri sistemi operativi. Sarebbe stato ben oltre lo scopo e le capacità del team dell’elicottero portare un altro sistema operativo allo Snapdragon, ammesso che noi avessimo voluto farlo. Inoltre, i driver e il software di Qualcomm per la telecamera sono stati scritti esclusivamente per la distribuzione Linux”.
Quale distribuzione di Linux usa?
“La nostra distribuzione è Linaro (una versione popolare di Linux incorporato) 3.4.0”.
Avete una sorta di team per Linux nella Nasa?
“Io non so se ci sia una “squadra Linux” centralizzata nella Nasa. Noi abbiamo sviluppato una nostra competenza con questa particolare distribuzione in partnership con Qualcomm”.
Quanti minuti servono per mandare un comando su Marte, e quanti minuti per ricevere il segnale in un computer sulla Terra? Per esempio un comando ping?
“Il tempo necessario per inviare un segnale a Marte varia a seconda della posizione della Terra e di Marte nelle loro orbite. Attualmente (il 20 aprile 2021) un segnale prende circa 16 minuti per arrivare lì. Dal momento che l’elicottero non può essere comandato direttamente dalla Terra, non è come una macchina Linux che tu puoi pingare e da cui ricevere una risposta. Invece, Ingenuity ha una applicazione Linux che aziona l’elicottero, lo fa volare e manda informazioni alla e dalla Stazione Base dell’elicottero (HBS) che è connesso al Rover. Il Rover riceve files di comando dal team operativo di Ingenuity quando la Terra contatta Perseverance, ogni mattina marziana. Quando l’elicottero si sveglia, attorno a mezzogiorno, il Rover manda la lista di comandi all’elicottero e gli ordina di eseguirla”.
Che relazione esiste tra il Rover e l’elicottero, come sono connessi? (bluetooth, Wi-fi, NTC, 4G, raggi infrarossi o altro). Come si parlano ?
“La Stazione Base dell’elicottero ha una connessione UART con il computer del Rover e ha la sua radio per parlare con l’elicottero. La stazione base non ha altre connessioni con il Rover”.
Ci sono altre cose che le persone vorrebbero leggere, cosa suggerisce ?
“Potreste dare uno sguardo alla struttura del software di volo usato sull’elicottero e dalla sua stazione base qui: https://github.com/nasa/fprime. L’elicottero sta usando una versione più vecchia e ha un codice speciale scritto per far funzionare tutto, ma condivide molto del codice comune che si trova nel repository”.