Nota del redattore: Questo articolo fa parte di una serie di riflessioni sulla missione Apollo 11, 50 anni dopo.
Senza i computer a bordo della navicella spaziale Apollo, non ci sarebbe stato nessun allunaggio, nessun primo passo trionfale, nessun segno di acqua alta per i viaggi umani nello spazio. Un pilota non avrebbe mai potuto navigare verso la luna, come se un’astronave fosse semplicemente un aeroplano più potente. I calcoli necessari per effettuare le regolazioni in volo e la complessità dei controlli di spinta superavano le capacità umane.
Il computer di guida Apollo, in entrambe le sue versioni – una a bordo della navicella centrale e l’altra sul modulo lunare – era un trionfo dell’ingegneria. I computer erano stati grandi come stanze e pieni di tubi a vuoto, e se il computer dell’Apollo, con le sue 70 libbre, non era ancora esattamente in miniatura, iniziò “la transizione tra le persone che si vantano di quanto sono grandi i loro computer… e quelle che si vantano di quanto sono piccoli i loro computer”, ha scherzato una volta lo storico dell’aerospazio e dell’informatica del MIT David Mindell in una conferenza.
Le tendenze che questo computer preannunciava hanno continuato a girare, esponenzialmente, per decenni: Dal grande al piccolo, dai tubi a vuoto al silicio, dall’hardware al software. Ora, se si confronta la potenza di calcolo utilizzata dalla NASA con un qualsiasi dispositivo comune, da un orologio a un biglietto d’auguri a un microonde, si ha una vertigine tecnologica. Michio Kaku, il fisico e popolare autore, la mette così: “Oggi il vostro telefono cellulare ha più potenza di computer di tutta la NASA nel 1969, quando mise due astronauti sulla luna”
Ma questi modi di dire oscurano la reale potenza del computer dell’Apollo. Naturalmente, qualsiasi dispositivo contemporaneo ha una capacità computazionale molto più grezza di quella della prima macchina, ma il computer dell’Apollo era notevolmente capace, affidabile e all’altezza del compito che gli era stato assegnato. Non si poteva guidare un’astronave sulla luna con un campanello intelligente.
Altro in questa serie
Leggi: Cosa significherà l’allunaggio per il futuro?
Per capire quanto fosse significativo il sistema Apollo, e perché la sua piccola quantità di potenza di elaborazione grezza sia irrilevante, basta ascoltare il programmatore di computer OG e storico volontario della NASA Frank O’Brien, che ha passato la sua vita a descrivere amorevolmente le funzioni dell’Apollo Guidance Computer. Il padre di O’Brien era un pilota, quindi Frank è diventato un militare. Era interessato ai computer fin dalla tenera età, e quando uno dei vecchi amici di suo padre fece carriera alla NASA, entrò in possesso dei manuali tecnici che regolavano il funzionamento del computer.
“A 13 anni, ho ricevuto una scatola a Natale, circa due piedi di lato, pesava un milione di chili”, mi ha detto O’Brien. “L’ho aperta e c’erano tutti i manuali tecnici di Apollo. C’erano tonnellate e tonnellate di bambini che guardavano i Playboy; io leggevo sui computer guida”.”
Da allora, ha passato innumerevoli ore ad imparare esattamente come funzionavano queste macchine. Già da adolescente era in grado di pilotare il simulatore Apollo della NASA. Da adulto, dopo aver conseguito una laurea in informatica e aver lavorato a lungo come programmatore aziendale, ha scritto il libro The Apollo Guidance Computer, un’ode alla macchina.
L’Apollo Guidance Computer nel modulo di comando aveva due compiti principali. In primo luogo, calcolava la rotta necessaria per la luna, calibrata dalle misurazioni astronomiche che gli astronauti facevano in volo, con un sestante non diverso da quello usato dai navigatori oceanici. Allineavano la luna, la Terra o il sole in un mirino, e fissavano la posizione di una stella con l’altro. Il computer misurava con precisione quegli angoli e ricalcolava la sua posizione. In secondo luogo, controllava i molti componenti fisici del veicolo spaziale. L’AGC poteva comunicare con 150 diversi dispositivi all’interno della navicella – un compito enormemente complicato. “Ha decine di propulsori e tutti i tipi di interfacce e una piattaforma di guida e il sestante”, ha detto O’Brien. “Inizi a sommare tutte queste cose e vai, Santo cannolo. Questo è davvero capace.”
Concettualmente, il MIT Instrumentation Laboratory, che ha progettato il sistema, lo ha costruito in cima al lavoro fatto per il sistema di missili guidati Polaris, fatto per lanciare armi nucleari dai sottomarini americani. L’hardware del computer Apollo, come ha notato Mindell, era abbastanza ben compreso “nel mondo dell’avionica militare”
Costruirlo ha dominato il progetto all’inizio – il laboratorio ha pesantemente sottovalutato la complessità del compito di ingegneria del software. Per anni dopo, fino agli anni ’70, i programmatori usavano ancora le schede perforate per codificare. Ma la necessità di avere gli astronauti dell’Apollo e gli ingegneri della NASA “nel giro”, a prendere decisioni, richiedeva un diverso tipo di software. Ci doveva essere un’interfaccia. Più operazioni dovevano essere eseguite allo stesso tempo.
Leggi: L’orologio che andò sulla luna
L’attenzione iniziale sull’hardware bloccò quella che O’Brien chiamò “un’architettura primitiva”, mentre apriva lo spazio per Margaret Hamilton, una donna nel programma Apollo, fortemente maschile, per guidare la progettazione del software. Quando divenne chiaro che il software era veramente il luogo in cui la missione sarebbe stata realizzata, il team di Hamilton si espanse fino a 350 persone al suo apice. Il sistema che costruirono era notevolmente avanzato.
Per massimizzare l’architettura incorporata, Hamilton e i suoi colleghi idearono quello che chiamarono “The Interpreter” – oggi lo chiameremmo uno schema di virtualizzazione. Permetteva loro di eseguire da cinque a sette macchine virtuali simultaneamente in due kilobyte di memoria. Era terribilmente lento, ma “ora avete tutte le capacità che avete mai sognato, nel software”, ha detto O’Brien.
Gli astronauti comunicavano con il computer attraverso il DSKY, abbreviazione di “display e tastiera”. Digitavano dei numeri e ricevevano delle risposte. Non è facile descrivere il sistema di interfaccia utente, ma si basava su una serie di codici di programma, così come i codici “verbo” e “nome”. I verbi erano cose che il computer poteva fare (“78 UPDATE PRELAUNCH AZIMUTH”). I sostantivi erano quantità numeriche o misure (“33 TIME OF IGNITION”). Era molto lontano dalla semplicità “punta e clicca”.
La maggior parte della memoria del sistema era stata tessuta, letteralmente, sulla memoria a corda, ma alcune potevano essere scritte, sia dagli astronauti che a distanza dal Controllo Missione. Forse l’impresa di ingegneria del software più brillante fu il software progettato da J. Halcombe Laning che dava priorità ai compiti di calcolo del sistema.
Questo si rivelò un progresso che salvò la missione dell’Apollo 11. Mentre il modulo lunare scendeva, il rumore di uno dei suoi radar cominciò a fornire dati errati al sistema. Il computer di guida capì di avere un problema, ma fu in grado di rimanere in funzione per tutta la discesa, scaricando le cattive informazioni e continuando le sue operazioni più importanti, salvando la missione.
Il racconto popolare di questo momento – all’epoca e ancora oggi – sostiene che il computer ebbe problemi e che Neil Armstrong, prendendo il controllo “manuale”, pilotò la navicella sulla superficie della luna. Gli esseri umani ce l’hanno fatta! I computer non possono competere con noi!
Ma il lander lunare era un sistema fly-by-wire. Qualsiasi comando dato da Armstrong doveva passare attraverso il computer. Quindi è probabilmente più accurato dire che quando Armstrong atterrò sulla luna, disse al computer dove atterrare. Non c’era alcun controllo manuale utilizzabile; il vero trionfo fu la flessibilità dell’interazione uomo-computer.
Gli storici come Mindell, che ha modellato la discesa secondo per secondo, non danno molto peso alla necessità delle azioni di Armstrong. Aveva ancora bisogno del computer per controllare la navicella. “Se fosse stato impostato sull’atterraggio automatico, sarebbe sceso comunque, con meno clamore, anche se forse in mezzo a un campo di massi”, conclude Mindell. La storia della prodezza umana era quasi un perfetto rovesciamento della realtà.
Dato tutto questo, forse non è sorprendente che O’Brien si offenda all’idea che un microonde o una calcolatrice possano essere considerati “potenti” come il computer dell’Apollo.
“Come si definisce la potenza? Chiede O’Brien. “È bello dire: ‘Questa macchina è così potente’. Cosa intendete con questo?”
Per lui, non si tratta del puro numero di transistor, ma della macchina adatta alla missione. Capacità, non potenza. “Dovevamo andare sulla luna, scendere e tornare indietro, in modo autonomo. Hanno colpito i loro obiettivi di essere precisi dopo un quarto di milione di miglia, colpendo un obiettivo entro 500-600 piedi e un decimo di piede al secondo”, ha detto O’Brien. “E tu dici: ‘Il mio orologio è più potente’. No, non lo è.”
La lezione, forse, è semplice: Se il tuo telefono è così tanto più potente dei computer che hanno messo l’umanità sulla luna, allora perché stai tutto il giorno a fissare Instagram? Il calcolo è un mezzo, non un fine.