• Una rappresentazione artistica di VIPER sulla Luna. NASA

Tecnologia open source per il prossimo rover lunare

La missione della NASA potrebbe rappresentare un punto di svolta per l'industria spaziale e indurla all’adozione di tecnologie meno costose e più accessibili.

di Neel V. Patel 12-04-21
Nel 2023, la NASA lancerà VIPER (Volatiles Investigating Polar Exploration Rover), che visiterà la superficie della Luna alla ricerca di ghiaccio che in futuro potrebbe essere utilizzato per la produzione di carburante per missili. Il rover avrà a bordo i migliori strumenti che la NASA ha a disposizione: ruote che possono muoversi sul suolo lunare, un trapano in grado di scavare nella geologia extraterrestre, hardware che può sopravvivere a 14 giorni di una notte lunare quando le temperature si abbassano a -173 °C. 

Ma mentre VIPER è unico nel suo genere, fatto su misura per la missione, gran parte del software in esecuzione è open source, il che significa che è disponibile per l'uso, la modifica e la distribuzione da parte di chiunque per qualsiasi scopo. Se avrà successo, la missione oltre a gettare le basi per una futura colonia lunare, potrebbe anche rivoluzionare il modo in cui l'industria spaziale sviluppa e gestisce i robot.

La tecnologia open source viene raramente in mente quando parliamo di missioni spaziali. Ci vuole un'enorme quantità di denaro per costruire qualcosa che possa essere lanciato nello spazio, arrivare alla sua giusta destinazione e quindi svolgere una serie specifica di compiti a centinaia o migliaia (o centinaia di migliaia) di chilometri di distanza. Mantenere un certo riserbo sul know-how che viene utilizzato appare naturale. 

Il software open source è solitamente associato a una programmazione frammentaria per progetti più piccoli, come hackathon o demo per studenti. Il codice che riempie i repository online come GitHub è spesso una soluzione economica per i gruppi che stanno esaurendo i contanti e le risorse necessarie per creare codice da zero. Ma l’industria spaziale sta crescendo, in gran parte perché c'è una richiesta di maggiore accesso allo spazio. E ciò significa l'uso di tecnologie meno costose e più accessibili, incluso il software.

Anche per gruppi più grandi come la NASA, dove il denaro non è un problema, l'approccio open source potrebbe contribuire a un generale miglioramento del livello del software che, secondo Dylan Taylor, presidente e CEO di Voyager Space Holdings, “attualmente appare mediocre” (un buon esempio è il fallimento del volo di prova Starliner di Boeing nel 2019,  dovuto a problemi tecnici del software). Se è open source, gli scienziati più intelligenti possono ancora sfruttare l'esperienza e il feedback di una comunità più ampia quando si incontrano problemi, proprio come fanno gli sviluppatori dilettanti. 

Fondamentalmente, se è abbastanza buono per la NASA, dovrebbe presumibilmente esserlo per chiunque altro cerchi di far funzionare un robot fuori da questo pianeta. Con un numero sempre crescente di nuove aziende e nuove agenzie nazionali in tutto il mondo che  cercano di lanciare i propri satelliti e sonde nello spazio mantenendo bassi i costi, un software robotico più economico in grado di gestire con sicurezza qualcosa di rischioso come una missione spaziale è un enorme vantaggio. 

Il software open source può anche contribuire a rendere più economico l'accesso allo spazio perché porta a standard che tutti possono adottare e con cui lavorare. È possibile eliminare i costi elevati associati alla codifica specializzata. I framework open source di solito sono qualcosa con cui anche i nuovi ingegneri hanno già lavorato. "Se solo possiamo sfruttare questo e aumentare questa pipeline da ciò che hanno imparato a scuola a ciò che usano nelle missioni di volo, si accorcia la curva di apprendimento", afferma Terry Fong, direttore dell'Intelligent Robotics Group presso il NASA Ames Research Center in Mountain View, in California, e vice responsabile della missione VIPER. 

La NASA utilizza software open source in molti progetti di ricerca e sviluppo da circa 10-15 anni e mantiene un ampio catalogo del codice open source che ha utilizzato. Ma il ruolo di questa tecnologia nei robot effettivi inviati nello spazio è ancora nascente. Un sistema che l'agenzia ha testato è il Robot Operating System, una raccolta di framework software open source mantenuta e aggiornata dall'organizzazione no profit Open Robotics, anch'essa con sede a Mountain View.

ROS è già utilizzato in Robonaut 2, il robot umanoide che ha contribuito alla ricerca sulla Stazione Spaziale Internazionale, così come i robot autonomi Astrobee che ronzano intorno alla ISS per aiutare gli astronauti a svolgere le attività quotidiane. 

ROS eseguirà e faciliterà compiti fondamentali per il "controllo del volo a terra". VIPER sarà guidato dal personale della NASA che segue le operazioni a Terra. Il controllo del volo a terra utilizzerà i dati raccolti da VIPER per costruire mappe in tempo reale e rendering dell'ambiente sulla Luna che i conducenti del rover possono utilizzare per navigare in sicurezza. 

Anche altre parti del software del rover hanno radici open source: funzioni di base come la telemetria e la gestione della memoria sono gestite a bordo da un programma chiamato core Flight System (cFS), sviluppato dalla stessa NASA e  disponibile gratuitamente su GitHub. Le operazioni di missione di VIPER al di fuori del rover stesso sono gestite da Open MCT, anch'esso creato dalla NASA. 

Rispetto a Marte, l'ambiente lunare è molto difficile da emulare fisicamente sulla Terra, il che significa che testare i componenti hardware e software di un rover non è facile. Per questa missione, afferma Fong, aveva più senso affidarsi a simulazioni digitali in grado di testare molti dei componenti del rover, e questo includeva il software open source. 

Un altro motivo per cui la missione si presta all'uso di software open source è che la Luna è abbastanza vicina per il controllo quasi in tempo reale del rover, il che significa che parte del software non deve essere sul rover stesso e può invece essere eseguito a Terra. 

"Abbiamo deciso di dividere il cervello del robot tra la Luna e la Terra", dice Fong. "E non appena l'abbiamo fatto, si è aperta la possibilità di utilizzare software che non è limitato dalle radiazioni, dalla lunghezza del volo, dall'elaborazione, ma possiamo semplicemente utilizzare desktop commerciali commerciali standard. Quindi possiamo fare uso di cose come ROS sul campo, qualcosa usato regolarmente da così tante persone. Non dobbiamo fare affidamento solo su software personalizzato".

VIPER non funziona con un software open source al 100 per cento: il suo sistema di volo a bordo, per esempio, utilizza un software proprietario estremamente affidabile. E’ comunque facile vedere missioni future che adottano ed espandono ciò che VIPER eseguirà. "Sospetto che il prossimo rover della NASA eseguirà Linux", dice Fong. 

Non sarà mai possibile utilizzare software open source in tutti i casi. I problemi di sicurezza potrebbero essere un problema e potrebbero indurre alcune parti ad attenersi completamente alla tecnologia proprietaria (anche se un vantaggio per le piattaforme open source è che gli sviluppatori rendono pubblici i risultati della ricerca di difetti e le proposte di patch). Fong sottolinea comunque che alcune missioni saranno sempre troppo specializzate o avanzate per fare affidamento in buona parte sulla tecnologia open source.

Tuttavia, non è solo la NASA a rivolgersi alla comunità open source. Blue Origin ha recentemente annunciato una partnership con diversi gruppi della NASA per "codificare intelligenza robotica e autonomia" costruita su framework open source  (l’azienda ha rifiutato di fornire dettagli). Iniziative più piccole come la  Libre Space Foundation con sede in Grecia, che fornisce hardware e software open source per piccole attività satellitari, sono destinate a ricevere maggiore attenzione poiché il volo spaziale continua a diventare più economico.

"C'è un effetto domino in quel caso", afferma Brian Gerkey, CEO di Open Robotics. "Una volta che hai una grande organizzazione come la NASA che dice pubblicamente, 'dipendiamo da questo software', allora altre organizzazioni sono disposte a correre il rischio e fare il lavoro necessario per farlo funzionare a loro volta".

(rp)
  • Il robot Astrobee sulla ISS funziona con ROS. NASA