Maanlanding

Techniek

De Apollo Guidance Computer (AGC)

De Apollo Guidance Computer paste in een doos zo groot als een koffer, had minder geheugen dan een eenvoudige rekenmachine van nu en stuurde toch mensen naar de maan en terug. De AGC was de eerste computer die op grote schaal gebruik maakte van geïntegreerde schakelingen en legde daarmee de basis voor de digitale wereld die zou volgen.

In het hart van elk Apollo-ruimtevaartuig zat een computer die naar moderne maatstaven bijna onvoorstelbaar primitief was. De Apollo Guidance Computer, afgekort AGC, had een kloksnelheid van slechts twee megahertz, beschikte over 4 kilobyte werkgeheugen en 72 kilobyte vaste programmaruimte, en woog ruim dertig kilogram. En toch was dit apparaat in de tweede helft van de jaren zestig niets minder dan revolutionair. Het was de eerste computer die op grote schaal gebruikmaakte van geïntegreerde schakelingen — de halfgeleidercomponenten waarop de gehele moderne elektronica is gebaseerd.

De AGC werd ontwikkeld aan het Massachusetts Institute of Technology (MIT) en geproduceerd door Raytheon. NASA schreef de specificaties voor, maar de ingenieurs van MIT’s Instrumentation Laboratory, onder leiding van Charles Stark Draper, gaven het apparaat zijn uiteindelijke vorm. Het was een samenwerking die pioniersswerk vergde: niemand had eerder een computer gebouwd die zo klein, zo licht en tegelijk zo betrouwbaar moest zijn als wat nodig was voor een vlucht van de aarde naar de maan.

Waarom een boordcomputer onmisbaar was

Vroege ruimtevluchten, zoals die in het kader van Project Mercury, vertrouwden grotendeels op grondgestuurde navigatie. Ingenieurs op aarde berekenden de baan, stuurden instructies omhoog en de astronaut volgde die op. Dat werkte voor korte vluchten rondom de aarde, maar was volstrekt ongeschikt voor een reis naar de maan. De afstand — gemiddeld zo’n 384.000 kilometer — betekende dat radiosignalen er bijna anderhalve seconde over deden om de reis te maken. Een maanlanding met die vertraging van buiten besturen was als autorijden waarbij je stuurcorrectie drie seconden later effect heeft.

Bovendien waren er momenten in een maanmissie waarop radiocontact geheel ontbrak: tijdens de remmanoeuvre om in een baan om de maan te komen vloog het ruimtevaartuig achter de maan en was elke communicatie met de aarde onmogelijk. In die minuten moest de AGC de navigatie volledig zelfstandig uitvoeren. Zonder een betrouwbare boordcomputer was een maanmissie domweg niet haalbaar.

Geïntegreerde schakelingen: een industriële doorbraak

De behoefte aan een kleine, lichte en zuinige computer dwong MIT en Raytheon om een technologie te kiezen die op dat moment nog nauwelijks in productie was: de geïntegreerde schakeling, ook wel chip of IC (integrated circuit) genoemd. Een geïntegreerde schakeling plaatst meerdere transistors, weerstanden en condensatoren op één klein stukje halfgeleidermateriaal — silicium of germanium — in plaats van ze als losse onderdelen met draden samen te solderen.

Het Apollo-programma vroeg zoveel chips — voor alle AGC’s in de commandomodule, de maanlander en de reservesystemen — dat het programma een enorme afzetmarkt schiep voor de toen nog jonge chipindustrie. Fabrikanten als Fairchild Semiconductor profiteerden enorm van de NASA-opdrachten. Historici beschouwen het Apollo-programma als een van de belangrijkste drijvende krachten achter de vroege ontwikkeling van de halfgeleiderindustrie, die uiteindelijk de basis vormde voor alles van personal computers tot smartphones.

Apollo Guidance Computer in cijfers

Kloksnelheid: 2,048 MHz.
Werkgeheugen (RAM): 4 kilobyte (erasable core memory).
Programmageheugen (ROM): 72 kilobyte (core rope memory).
Gewicht: circa 32 kilogram.
Afmetingen: ongeveer 61 × 32 × 17 centimeter.
Stroomverbruik: circa 55 watt.
Aantal geïntegreerde schakelingen (per AGC): circa 4.100.
Interface: DSKY (Display and Keyboard), aparte invoer- en weergave-eenheid.

De DSKY: het toetsenbord van de ruimte

De astronauten communiceerden met de AGC via een apart apparaat: de DSKY, uitgesproken als “disky”. Dit stond voor Display and Keyboard en zag eruit als een numeriek toetsenbord met een display van zevensegment-cijferlampen en een rij waarschuwingslichtjes. Er was geen muis, geen scherm met grafische afbeeldingen, geen menubalk. Alle communicatie verliep via tweecijferige commando’s: een werkwoord (verb) die aangaf wat er moest gebeuren, en een zelfstandig naamwoord (noun) die het object van de actie aanduidde.

Een typisch commando was bijvoorbeeld Verb 16, Noun 65: “toon doorlopend de horizontale snelheid, hoogte en zaksnelheid” — informatie die onmisbaar was tijdens de afdaling naar de maan. De astronauten moesten uit het hoofd weten welke verb-noun-combinaties welke functies activeerden, want een handboek uitslaan terwijl je de maan nadert was geen optie. Alle zes de bemannen die op de maan liepen, kenden de DSKY-commando’s als hun broekzak.

Elk Apollo-ruimtevaartuig had twee DSKY’s: één in de commandomodule en één in de maanlander, elk gekoppeld aan hun eigen AGC. De commandomodule en de maanlander hadden elk een eigen computer, omdat ze onafhankelijk van elkaar moesten kunnen functioneren.

De software: geweven in kerngeheugen

Het permanente geheugen van de AGC — het core rope memory — was letterlijk geweven. Draden werden door kleine magnetische ringkernen gevlochten of erlangs geleid; een draad die door een kern ging stond voor een 1-bit, een draad die erlangs ging voor een 0-bit. Dit weven werd gedaan door vrouwen in fabrieken die dit soort precisiewerk uit de textielnijverheid kenden. Het resultaat was een geheugen dat bij een lancering of zelfs een bescheiden schok zijn inhoud behield, wat voor het magnetische werkgeheugen niet gold.

De software voor de AGC werd geschreven door een team onder leiding van Margaret Hamilton, een wiskundige en ingenieur die bij MIT werkte. Zij bedacht methoden om fouten in de software op te vangen en introduceerde het begrip “software engineering” als serieus vakgebied. Haar team leverde code die niet alleen correct moest zijn, maar ook robuust genoeg om bij onverwachte situaties de juiste prioriteiten te stellen — een eigenschap die op 20 juli 1969 van levensbelang zou blijken.

Het 1202-alarm: een bijna-mislukking boven de maan

Tijdens de afdaling van de maanlander Eagle naar het maanoppervlak, in de slotfase van Apollo 11, ging het plotseling mis. Op een hoogte van enkele kilometers klonk er een onbekend alarm: de AGC meldde code 1202, wat stond voor “executive overflow”. De computer had meer taken aangeboden gekregen dan hij kon verwerken en moest taken schrappen om te voorkomen dat het systeem volledig vastliep.

In de vluchtleiding in Houston was de sfeer gespannen. Niemand had 1202 ooit in een echte vlucht gezien. Vluchtcontroller Steve Bales, destijds 26 jaar oud en verantwoordelijk voor de boordcomputer, moest in seconden beslissen: landing afbreken of doorgaan? Zijn antwoord, gebaseerd op gesimuleerd testwerk dat precies dit scenario had doorgewerkt, was doorgaan. De computer gooide de minder kritieke taken eruit, hield de wezenlijke navigatiefuncties actief en bleef werken.

Dit was precies waarvoor Margaret Hamiltons team de software had ontworpen. De AGC was geprogrammeerd om bij overbelasting een vaste prioriteitsvolgorde aan te houden: navigatie en aandrijfbesturing kwamen altijd eerst. Achteraf was dit een van de meest geciteerde voorbeelden van software die een mensenleven had gered. Neil Armstrong en Buzz Aldrin landden veilig, mede dankzij die keuze die jarenlang eerder al in het code was vastgelegd.

Navigatie: sterren, gyroscopen en wiskunde

De AGC navigeerde door drie methoden te combineren. Ten eerste gebruikte hij een traagheidsnavigatiesysteem met gyroscopen: inertial measurement units die voortdurend de versnellingen van het ruimtevaartuig registreerden en op grond daarvan de positie en snelheid bijhielden. Ten tweede kon de astronaut met een apart optisch instrument, de sextant, sterren observeren en hun positie in de DSKY invoeren, waarna de AGC de navigatieoplossing verfijnde. Ten derde ontving de AGC radiosignalen van de aarde die extra correctiedata aanleveren.

De combinatie van deze drie methoden maakte het mogelijk om op honderdduizenden kilometers afstand van de aarde te navigeren met een nauwkeurigheid van honderden meters — ruimschoots voldoende om een maanlander op het goede stuk maanoppervlak neer te zetten. De wiskundige routines die dit mogelijk maakten waren op dat moment het meest geavanceerde numerieke navigatiesoftware ooit geschreven.

De AGC in de maanlander versus de commandomodule

Beide ruimtevaartuigen hadden hun eigen AGC, maar de software verschilde. De computer in de commandomodule — die in het jargon COLOSSUS heette — was geoptimaliseerd voor baannavigatie: het berekenen en bijhouden van een baan om de maan, de trans-lunar injection en de terugkeer naar de aarde. De computer in de maanlander — LUMINARY — moest veel meer realtime werk verzetten: de afdaling naar het oppervlak met alle bijbehorende stuurcommando’s voor de afdaalmotor, en nadien de opstijging vanuit het maanoppervlak om de commandomodule terug te vinden in zijn baan.

De LUMINARY-software was dan ook dichter tegen haar grenzen, wat de 1202-alarmen verklaart: de afdaling was de meest computationeel veeleisende fase van de hele missie. Dat een programma van 72 kilobyte dit alles aankon, is nog altijd een prestatie die informatici en ingenieurs met bewondering vervult.

Erfenis: de chip, de software en een nieuwe industrie

De AGC verdween na het einde van het Apollo-programma als operationeel systeem, maar zijn erfenis leeft voort in de structuur van de moderne computerindustrie. De massale inkoop van geïntegreerde schakelingen door NASA maakte de chip betaalbaar voor de rest van de markt. Zonder die schaalvergroting hadden de consumentenelektronica en de pc-revolutie van de jaren tachtig er heel anders uitgezien.

Margaret Hamiltons inzichten over software-engineering — prioriteitsgestuurde verwerking, foutbestendig ontwerp, gestructureerde code — zijn uitgegroeid tot standaardpraktijk in elk veiligheidskritisch systeem, van vliegtuigcomputers tot medische apparatuur. In 2016 ontving zij de Presidential Medal of Freedom voor haar bijdragen aan de informatica.

De Saturnus V-raket droeg de spierkracht; het ruimtepak beschermde het leven; de maanwagen verruimde het bereik. Maar zonder de AGC had geen van de twaalf maanwandelaars geweten waar hij was, hoe snel hij bewoog of wanneer hij terug moest. De kleine computer was de stille navigeerder achter een van de grootste avonturen van de mensheid, en zijn nalatenschap loopt door in elk apparaat met een chip dat de wereld sindsdien heeft voortgebracht.