Margaret H. Hamilton is een computerwetenschapper die een grote rol speelde bij NASA’s inspanningen om mensen op de maan te laten landen in de jaren zestig en zeventig van de vorige eeuw. Voor haar werk werd ze in 2016 geëerd met de Presidential Medal of Freedom.
Hamilton leidde de software engineering divisie bij het Massachusetts Institute of Technology’s Instrumentation Laboratory. In die rol nam ze de leiding over de software die werd gebruikt om de vluchtdynamica van het Apollo-ruimtevaartuig te besturen, die werden gebruikt voor zes landingsmissies tussen 1969 en 1972.
“Hamilton droeg bij aan concepten van asynchrone software, prioriteitsplanning en prioriteitsweergaven, en human-in-the-loop beslissingsvermogen, die de basis legden voor modern, ultrabetrouwbaar softwareontwerp en -engineering,” luidde de citatie voor haar medaille.
Erdere prestaties
Hamilton heeft een diverse achtergrond, waaronder een graad in wiskunde aan het Earlham College in Indiana, en postdoctoraal werk in meteorologie aan het MIT. Naast haar werk in de Apollo maakte zij deel uit van het Semi-Automatic Ground Environment Air Defense System, of SAGE, van het MIT Lincoln Laboratory. Volgens MIT was dit het eerste luchtverdedigingssysteem voor het land en hielp het digitale computergebruik in de jaren 1950 en 1960 vooruit te stuwen.
MIT’s instrumentatielab kreeg het contract voor de Apollo geleidings- en controlesystemen op 9 aug. 1961, toen de Verenigde Staten slechts twee ruimtevluchten hadden volbracht – beide met slechts één bemanningslid aan boord, en beide in de suborbitale ruimte. Het contract werd gegund enkele weken voordat toenmalig president John F. Kennedy aankondigde dat hij van plan was om mensen op de maan te hebben tegen het einde van het decennium.
De geleidings- en controlesystemen zouden van toepassing zijn op zowel de maanmodule (die op de maan zou landen) als de commandomodule (die in een baan om de maan zou draaien terwijl de maanmodule op de oppervlakte was, en vervolgens de astronauten op hun reis naar huis zou huisvesten). Het was bedoeld om de ruimtevaartuigen te begeleiden zodra zij een baan om de aarde hadden bereikt.
Na slechts één bemande missie in een baan om de aarde – Apollo 7 in het begin van 1968 – koos NASA ervoor om Apollo 8’s commandomodule solo die december op een orbitale missie naar de maan te sturen, uit bezorgdheid dat de Sovjet-Unie er als eerste zou zijn. Apollo 9 testte de maan- en commandomodule samen voor het eerst in een baan om de aarde, en daarna werden de twee ruimtevaartuigen opnieuw getest in een baan om de maan voor Apollo 10.
De bekronende missie, Apollo 11 in juli 1969, zag Neil Armstrong en Buzz Aldrin helemaal afdalen naar de oppervlakte in de maanmodule, veilig terugkeren naar de commandomodule (bestuurd door Mike Collins) en thuiskomen op aarde.
De 1201 en 1202 alarmen
Maar een software-incident ontspoorde bijna de landing, zoals Hamilton zich herinnerde in een interview met MIT in 2009. “Alles ging volgens plan totdat er iets totaal onverwachts gebeurde, net toen de astronauten bezig waren met de landing op de maan,” herinnerde ze zich.
“Plotseling werden de normale missiesequenties onderbroken door prioriteitsweergaven van 1201- en 1202-alarmen, waardoor de astronauten een go/no-go-beslissing kregen (om te landen of niet te landen),” voegde ze eraan toe. “Het werd snel duidelijk dat de software niet alleen iedereen informeerde dat er een hardwaregerelateerd probleem was, maar dat de software dat probleem ook compenseerde. Met nog slechts enkele minuten te gaan, werd de beslissing genomen om voor de landing te gaan.”
Hoewel op het moment zelf de beslissing werd genomen om de astronauten te laten landen, wees Hamilton erop dat er een foutenanalyse werd gedaan om te zien waar de fout was gemaakt. Het bleek dat de astronautenchecklist, die bepaalde welke acties de bemanning moest doen voor de landing, de bemanning de rendez-vous radar hardware schakelaar in de verkeerde positie had gezet. Dit overbelastte de centrale verwerkingseenheid tijdens de landing, maar gelukkig herstelde de software zich in de verhitte momenten voordat de Apollo 11 landde.
“Telkens wanneer de CPU overbelasting naderde, ruimde de software zijn volledige wachtrij van processen op, herstartte zijn functies; waardoor alleen de hoogste prioriteit werd uitgevoerd totdat de landing was voltooid,” zei ze. Toen de fout was hersteld, konden de maanlandingen van Apollo’s 12, 14, 15, 16 en 17 worden uitgevoerd. (Apollo 13 werd voor de landing afgebroken als gevolg van een explosie in de dienstruimte van de commandomodule.)
Hamilton’s nalatenschap
NASA was zo onder de indruk van de software die in de Apollo werd gebruikt, dat de basis ervan werd aangepast voor Skylab (het eerste ruimtestation van de V.S.) ruimtestation), de spaceshuttle (die meer dan 100 succesvolle missies in een baan om de aarde uitvoerde – en twee fatale mislukkingen – tussen 1981 en 2011) en de eerste digitale fly-by-wire-systemen in vliegtuigen.
“Hamilton werd geëerd door NASA in 2003, toen ze een speciale prijs kreeg die de waarde van haar innovaties in de Apollo-softwareontwikkeling erkent,” schreef NASA in 2016. “De onderscheiding omvatte de grootste financiële prijs die NASA tot op dat moment ooit aan een individu had uitgereikt.”
Hamilton verliet later MIT om haar eigen softwarebedrijf te beginnen, maar haar naam wordt nog steeds het meest herkend voor haar prestaties op het gebied van de maanlanding. Haar naam was duidelijk zichtbaar toen de volledige broncode van de Apollo 11 in 2016 op GitHub werd vrijgegeven; volgens het MIT stond er op de eerste volledige regel van de software: “SUBMITTED: MARGARET H. HAMILTON DATUM: 28 MAR 69 / M.H.HAMILTON, COLOSSUS PROGRAMMING LEADER / APOLLO GUIDANCE AND NAVIGATION.”
Voor Hamilton, hoewel Apollo 11 monumentaal was, genoot ze van de uitdaging om haar werk ervoor te doen. “Vanuit mijn eigen perspectief was de software-ervaring zelf (het ontwerpen, ontwikkelen, ontwikkelen, zien presteren en ervan leren voor toekomstige systemen) minstens zo opwindend als de gebeurtenissen rond de missie,” zei ze.
Recent news