Skip to main content

Il software sta rendendo più semplice che mai viaggiare nello spazio, ma le tecnologie autonome potrebbero ritorcersi contro di noi se tutti i problemi tecnici e gli errori non vengono rimossi.

di Neel V. Patel

Quando, verso la fine di maggio, Crew Dragon di SpaceX ha portato gli astronauti della NASA sulla ISS, il lancio ha rievocato le immagini degli americani nello spazio prima del ritiro delle navette spaziali. All’interno del veicolo, tuttavia, le cose non avrebbero potuto apparire più diverse. Niente luci, interruttori e manopole che un tempo dominavano gli abitacoli delle navette spaziali, ma una console futuristica di più schermi touch di grandi dimensioni. Il viaggio è gestito da un software progettato per navigare nello spazio in modo completamente autonomo fino alla stazione spaziale. 

“Sono sempre stato un pilota e posso dire che ora la situazione è del tutto diversa”, ha detto Doug Hurley agli spettatori della NASA TV poco prima della missione SpaceX. Non ci sono levette di controllo in quanto la navigazione è affidata a una serie di input predeterminati. Gli astronauti di SpaceX possono ancora essere coinvolti nel processo decisionale in momenti critici, ma gran parte di quella funzione è passata di mano.

Il software non ha mai avuto un ruolo più critico nel volo spaziale. Lo ha reso più sicuro ed efficiente, consentendo a un veicolo spaziale di adattarsi automaticamente alle mutevoli condizioni. Secondo Darrel Raines, un ingegnere della NASA che guida lo sviluppo software della capsula Orione per le missioni nello spazio profondo, l’autonomia è fondamentale per le aree di “tempo di risposta critico”, come l’ascesa di un razzo dopo il decollo, quando un problema potrebbe richiedere l’avvio di una sequenza di interruzione in una manciata di secondi. O nei casi in cui l’equipaggio potrebbe essere impossibilitato ad agire per qualche motivo. 

Una maggiore autonomia è essenziale per rendere possibili alcune forme di volo spaziale. Ad Astra è una azienda di Houston che sta sviluppando razzi con propulsione al plasma. Il motore sperimentale utilizza plasma a base di gas argon, che viene riscaldato mediante onde elettromagnetiche. Un processo di “sintonizzazione” supervisionato dal software del sistema individua automaticamente le frequenze ottimali per questo riscaldamento. Il motore raggiunge la piena potenza in pochi millisecondi.

“Non c’è modo per un essere umano di avere risposte così rapide”, afferma il CEO Franklin Chang Díaz, un ex astronauta che ha volato in diverse missioni dello space shuttle dal 1986 al 2002. Gli algoritmi nel sistema di controllo sono utilizzati per riconoscere le mutevoli condizioni del razzo nella sequenza di partenza e agisce di conseguenza.

Ma affidarsi completamente a software e sistemi autonomi in volo spaziale crea nuovi possibili problemi. Questa situazione è preoccupante per molti dei nuovi contendenti del settore spaziale, che non sono abituati alla complessità di test necessari per eliminare i problemi nel software e stanno ancora cercando di trovare un buon equilibrio tra automazione e controllo manuale. Attualmente, alcuni errori in oltre un milione di righe di codice potrebbero fare la differenza tra successo e fallimento della missione. 

Lo abbiamo visto alla fine dell’anno scorso, quando la capsula Starliner di Boeing (l’altro veicolo su cui la NASA conta per inviare gli astronauti americani) non è riuscita a raggiungere la ISS a causa di un difetto del suo timer interno. Un pilota umano avrebbe potuto superare il problema tecnico che ha finito per bruciare prematuramente i propulsori di Starliner. L’amministratore della NASA Jim Bridenstine ha osservato subito dopo che si sono presentati i problemi di Starliner: “Se avessimo avuto un astronauta a bordo, ora saremmo sulla ISS”.

Ma in seguito si è saputo che  molti  altri errori nel software non erano stati rilevati prima del lancio, incluso uno che avrebbe potuto portare alla distruzione del veicolo spaziale. Ed era qualcosa che i membri dell’equipaggio umano avrebbero potuto facilmente risolvere. Boeing non è certo estranea alla costruzione e al collaudo delle tecnologie dei voli spaziali, quindi è stata una sorpresa vedere l’azienda non riuscire a rilevare questi problemi prima del volo di prova Starliner. 

“I difetti del software, in particolare nel codice di veicoli spaziali complessi, non sono inattesi”, ha dichiarato la NASA, quando un nuovo problema tecnico è stato reso pubblico. “Tuttavia, ci sono stati numerosi casi in cui i controlli di qualità del software di Boeing avrebbero dovuto, o almeno potuto, scoprire i difetti”. Boeing ha rifiutato una richiesta di commento.

Secondo Luke Schreier, vicepresidente e direttore generale del settore aerospaziale della NI (ex National Instruments), i problemi nel software sono inevitabili, sia nei veicoli autonomi sia in quelli spaziali. “L’unica soluzione è fare test rigorosi da subito per trovare i problemi e risolverli”.

Lo space shuttle Atlantis ha un dashboard tradizionale.

Il potere dell’IA

Il problema è che le condizioni in cui si troverà un veicolo spaziale non sono facili da emulare sul terreno. Mentre un veicolo autonomo può essere sperimentato in condizioni quasi reali per perfezionare il software a poco a poco, non è possibile fare esattamente la stessa cosa per un veicolo di lancio. Il lancio, il volo spaziale e un ritorno sulla Terra sono condizioni uniche, non esiste una versione “leggera”.

Per questo motivo, afferma Schreier, l’IA è oggi al centro dello sviluppo dei voli spaziali: è possibile sviluppare un sistema autonomo in grado di anticipare quelle condizioni, piuttosto che ricostruire le condizioni di volo. “Non è possibile definire una simulazione che permetta di controllare tutti i punti deboli del nuovo hardware che si sta progettando”, egli spiega. 

Quindi, per alcuni gruppi, testare il software non è solo una questione di trovare e correggere errori nel codice, ma è anche un modo per addestrare il software basato sull’intelligenza artificiale. Si prenda Virgin Orbit, per esempio, che recentemente ha tentato di inviare per la prima volta il suo veicolo LauncherOne nello spazio. 

L’azienda ha collaborato con NI per sviluppare un banco di prova che collegasse tutti i sensori e l’avionica del veicolo con il software destinato a eseguire una missione in orbita (fino alla lunghezza esatta del cablaggio utilizzato all’interno del veicolo). Quando LauncherOne era pronto a volare, era come se fosse già stato nello spazio migliaia di volte grazie ai test e avesse affrontato scenari di diverso tipo.

Come da copione, il primo volo di prova del LauncherOne si è  concluso con un fallimento, per motivi che non sono stati ancora resi noti. Se era dovuto a limitazioni del software, il tentativo è ancora un altro segno che c’è un limite a quanto l’IA può essere addestrata a fare per affrontare le condizioni del mondo reale. Raines aggiunge che, contrariamente all’approccio più lento adottato dalla NASA per i test, le aziende private sono in grado di muoversi molto più rapidamente. Per alcune, come SpaceX, il risultato è positivo, per altre, come Boeing, la situazione si presenta diversa. 

In definitiva, “la cosa peggiore che si può fare è creare un sistema completamente manuale o completamente autonomo”, afferma Nathan Uitenbroek, un altro ingegnere della NASA che lavora allo sviluppo del software Orion. Gli esseri umani devono essere in grado di intervenire se il software è in difficoltà o se la memoria del computer viene distrutta da un evento imprevisto (come un’esplosione di raggi cosmici). Ma è necessario allo stesso tempo fare affidamento sul software per sapere quando sorgono altri problemi. 

La capsula spaziale Crew Dragon utilizza grandi touchscreen.

La NASA è cosciente di questo equilibrio e ha una ridondanza integrata nei suoi veicoli con equipaggio. Lo space shuttle operava su più computer utilizzando lo stesso software e, se uno aveva un problema, gli altri potevano subentrare. Un computer separato funzionava su un software completamente diverso, quindi poteva prendere il controllo dell’intera navicella spaziale se un problema sistemico avesse colpito gli altri. Raines e Uitenbroek affermano che la stessa ridondanza viene utilizzata su Orion, che include anche un livello di funzione automatica che bypassa completamente il software per funzioni critiche come il sistema di rilascio di paracadute. 

Su Crew Dragon, ci sono casi in cui gli astronauti possono avviare manualmente le sequenze di interruzione e in cui possono ignorare il software sulla base di nuovi input. Ma il design di questi veicoli significa che ora è più difficile per l’essere umano assumere il controllo completo. La console touch-screen è ancora legata al software del veicolo spaziale e non si può bypassare il sistema completamente se si vuole prendere il controllo del veicolo spaziale, anche in caso di emergenza. 

Non c’è consenso su quanto ulteriormente il ruolo umano nel volo spaziale si ridurrà o dovrebbe ridursi. Uitenbroek pensa che provare a sviluppare software in grado di tenere conto di ogni possibile contingenza sia semplicemente impraticabile, soprattutto se si hanno delle scadenze da rispettare. Chang Díaz non è d’accordo e sostiene che “alla fine l’umano verrà rimosso dall’equazione”. 

Quale approccio vince può dipendere dal livello di successo raggiunto dalle diverse parti che inviano le persone nello spazio. La NASA non ha intenzione di eliminare gli umani dall’equazione, ma se le aziende commerciali scoprono di avere tempi più rapidi riducendo al minimo il ruolo del pilota umano e affidando le operazione all’IA , i touchscreen e i sistemi automatici sono solo un assaggio di ciò che verrà.

(rp)