Il Quarto Membro dell’Equipaggio (1) – La Storia

Il “quarto membro dell’equipaggio”

Nel corso della trattazione di qualche settimana fa sui sistemi di guida e navigazione non avevo toccato un argomento fondamentale: il Computer Subsystem (CSS). Ovvero l’Apollo Guidance Computer (AGC). L’argomento è veramente complesso, la documentazione in merito vastissima e ammetto che finora avevo girato al largo nel timore di non riuscire a realizzare dei post all’altezza. Bando alle ciance, ho deciso di provarci. Oggi cominciamo a vedere qualche scampolo di storia dell’AGC.

L’AGC fu un pezzo talmente fondamentale del programma Apollo, così fortemente integrato con i veicoli, così utile ed utilizzato dall’equipaggio da essersi meritato il titolo (che ho usato anche io per questi post) di “fourth crew member”, “il quarto membro dell’equipaggio”.

L’AGC fu un computer digitale progettato e costruito appositamente per il programma Apollo, installato a bordo sia del Command Module che del Lunar Module. Era il cuore del PGNCS. Gli astronauti interagivano coll’AGC tramite il DSKY (DiSplay KeYboard), un pannello che riuniva una tastiera, una serie di display numerici e alcune spie luminose. E’ importante notare come l’AGC fu uno dei primi computer digitali, in cui cioè venivano utilizzati circuiti integrati (all’epoca una tecnologia nuovissima, appena uscita dai laboratori di ricerca). Il secondo modello (Block II), utilizzato nei voli con equipaggio, fu costruito con 2800 circuiti integrati, tutti con 2 porte NOR a 3 ingressi. Per chiarire le proporzioni: nell’estate del 1963 il 60% della produzione statunitense di circuiti integrati venne utilizzata per la costruzione dei prototipi dell’AGC.

L’AGC venne progettato dall’Instrumentation Laboratory (IL) del MIT, sotto la guida di Charles Stark Draper. La progettazione dell’hardware fu opera di Eldon C. Hall. L’architettura del sistema fu opera di J.H. Laning Jr., Albert Hopkins, Ramon Alonso e Hugh Blair-Smith. La ditta che poi realizzò l’AGC fu la Raytheon.

Il telegramma di assegnazione
del contratto

L’Instrumentation Laboratory vantava già una notevole esperienza all’epoca nella realizzazione di computer per l’industria aerospaziale, accumulata lavorando a partire dalla fine degli anni 50. Eldon Hall aveva ideato un computer per sonde destinate a fotografare Marte, un computer che si interfaccaiva con sensori sia ottici che inerziali. Inoltre l’IL era stato il fornitore principale del sistema di guida dei missili Polaris (il team che lavorò sul Polaris venne spostato in blocco sul progetto Apollo).

Il contratto con al NASA venne firmato il 9 agosto 1961: l’MIT sarebbe stato responsabile della progettazione, sviluppo e costruzione del PGNCS, software incluso. Milton Trageser venne scelto come project manager e David Hoag come direttore tecnico. Sebbene l’IL vantasse la già citata esperienza con i Polaris, il lavoro sull’Apollo si rivelò una vera sfida. Alla firma del contratto le specifiche non erano ben definite e non lo furono fino al tardo 1962. Ricorda una delle persone dell’IL:

“Se i progettisti avessero saputo allora [1961] quello che scoprirono più tardi, o avessero avuto l’insieme completo delle specifiche… avrebbero probabilemente concluso che non c’era soluzione con la tecnologia disponibile.”

Fortunatamente la tecnologia e la scienza informatica in quel lasso di tempo migliorarono e l’MIT fu in grado di proseguire il suo lavoro.

Il programma Apollo fu una sfida tecnica e manageriale tremenda per la NASA. Navigare dalla Terra alla Luna con un certo livello di autonomia da parte del veicolo spaziale esigeva la presenza di un computer. Uno dei motivi fondamentali era il ritardo di 1.5 secondi nella trasmissione di un segnale sul percorso Terra-Luna. Soprattutto nelle rischiose manovre di allunaggio, quel tempo di latenza era troppo lungo: occorreva una maggiore indipendenza dalla capacità di calcolo a terra. La scelta del LOR come metodo per completare le missioni lunari fu la giustificazione finale per lo sviluppo e l’utilizzo di un computer a bordo di CM ed LM.

Col proseguo della pianificazione del programma e nonostante il desiderio espresso di rendere autonomi i veicoli Apollo, a mano a mano che venivano rifiniti i piani per le missioni e che le difficoltà nella costruzione degli stessi veicoli si palesavano, il ruolo dell’AGC cambiò. I computer a terra divennero gli strumenti primari per la determinazione della posizione delle capsule, ad eccezione del momento in cui venivano effettuate manovre. Anche i calcoli relativi alle manovre come ad esempio la LOI (Lunar Orbit Insertion) vennero effettuati a terra e i risultati trasmessi all’AGC (che si limitava ad eseguirli e a monitorare il tutto durante l’accensione dei motori).

Il computer che l’MIT aveva in mente nei sui progetti preliminari del 1961 fu solo un’ombra lontana di quello che poi effettivamente volò nelle missioni lunari a partire dal 1969. Dell’AGC vennero create due versioni: Block I e Block II. Il Block I fu in sostanza una riproposizione del computer sviluppato per il Polaris. Il Block II invece incorporò tutta una serie di nuove tecnologie nell’architettura originale.

Prima che la NASA firmasse il contratto, ma dopo che l’IL era stato riconosciuto come l’unico interlocutore per il progetto, alcuni manager all’interno della NASA proposero delle alternative per il consolidamento dello sviluppo dei computer dedicati al volo. Nel giugno 1961, Harry J. Goett del Goddard Space Flight Center raccomandò che il computer usato per il progetto dell’Orbiting Astronomical Observatory (OAO), dell’Apollo, e del vettore Saturn fosse lo stesso. IBM si era proposta di realizzare questa idea per 5 milioni di dollari. Praticamente lo stesso giorno, la RCA propose l’uso di un computer con architettura a 24 bit, con un consumo di 80 watt e un volume di 420 pollici cubi. La proposta venne contestata da Robert G. Chilton che non vide nessun risparmio in questa soluzione. Due anni dopo, con l’MIT alle prese con i limiti dell’architettura Polaris dell’AGC Block I e l’IBM al lavoro sulla Instrument Unit del Saturn, David W. Gilbert, manager NASA per il PGNCS propose di utilizzare la soluzione IBM ovunque. La proposta venne rigettata per motivi di costi e perchè il computer non ci stava nello spazio previsto sul CM.

Una caratteristica fondamentale dell’AGC fu l’affidabilità. Nelle prime fasi dello sviluppo, venne considerata l’ipotesi di ricorrere alla ridondanza per affrontare i problemi di affidabilità (un po come avvenne per molti altri sistemi). L’ipotesi di fornire le capsule di due computer identici venne scartata col progredire del concetto che sarebbero stati gli elaboratori a terra il sistema primario. La seconda ipotesi fu quella di rendere l’AGC riparabile nel corso della missione: la modularità dell’AGC lo avrebbe permesso, portandosi dietro le appropriate parti di ricambio. Ma di fronte ad un MTBF (Mean Time Between Failures, tempo medio tra malfunzionamenti) di 4200 ore, almeno 20 volte la durata della più lunga delle missioni pianificate e alla preferenza accordata ad una sigillatura a tenuta perfetta del computer, anche questa idea venne scartata. Alcuni cambiamenti al design del Block II aumentarono ulteriormente l’affidabilità.

L’AGC e il DSKY

La realizzazione del software si rivelò molto più complessa dello sviluppo dell’hardware e questa fu una delle lezioni più importanti apprese durante il progetto Apollo. Il processo di creazione del software per l’AGC causò grosse preoccupazioni e la NASA fece tutto il possibile per aiutare i programmatori dell’MIT a migliorarsi. Tra le lezioni più importanti: (a) la documentazione è fondamentale, (b) le verifiche devono avvenire a diversi livelli e in diversi momenti lungo il processo, (c) i requisiti devono essere ben definiti e i cambiamenti gestiti con accuratezza, (d) devono essere creati e seguiti precisi piani di sviluppo e (e) avere più programmatori non significa andare più veloci. Un grosso tributo al lavoro dei programmatori dell’MIT è sicuramente il fatto che nessun grosso problema venne evidenziato nel corso del programma, nonostante la corsa frenetica alla Luna.

L’AGC ha svolto il suo lavoro egregiamente non solo per le 6 missioni lunari ma anche per quelle in orbita terrestre, per le tre missioni Skylab e per l’ASTP. Sebbene fossero stati approntati piani per espanderlo fino a 16Kb di memoria riscrivibile e 64Kb di memoria fissa, questi non vennero mai eseguiti. L’AGC fu anche montato su un aereo F-8 e fu protagonista di uno dei primi esperimenti di ‘fly-by-wire’, il sistema di guida utilizzato poi per l’STS e ai giorni nostri anche su molti aerei commerciali che controlla le superfici di volo tramite segnali elettrici anziché cavi e sistemi idraulici tradizionali.

Eldon Hall ha scritto parecchio nel corso degli anni sul percorso che ha portato a creare l’AGC. La sua opera principale è il libro “Journey to the Moon: The History of the Apollo Guidance Computer” del 1996. Non l’ho mai letto ma deve essere affascinante.

2 Risposte to “Il Quarto Membro dell’Equipaggio (1) – La Storia”

  1. Argomento interessante, come sempre esposto in maniera chiara e accattivante.

    Segnalo per i possessori di iPad l’applicazione DSKY che senza velleità simula per l’appunto il DSKY è gratuita e ti consente di immedesimarti e di capire il feeling con la tecnologia usata all’epoca

    Un comando a caso V16N43E

    Un salutone

    FeFe

  2. Fantastico. Un buon motivo per prendersi un iPad🙂
    Sicuramente lo conosci ma ti segnalo anche il progetto Virtual AGC. Mi sono ripromesso di giocarci prima o poi (anche per capire cosa si può fare).

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...