Drie jaar sneller naar de maan

In het kader van de 50-ste verjaardag van de maanlanding blikt een van de ingenieurs die destijds meewerkte aan het ontwikkelen van de maanlander terug op het technisch huzarenstuk dat in de jaren í60 gerealiseerd werd. Op initiatief van MathWorks deed hij zijn bijdrage van toen nog eens over met de moderne tools die we vandaag kennen. En dat scheelde zowat drie jaar in time-to-market.

Het is zonder meer een leuk initiatief van MathWorks om naar aanleiding van de 50-ste verjaardag van de maanlanding ingenieur Richard Gran opnieuw aan het werk te zetten. Gran maakte in de jaren í60 deel uit van het team aan het MIT dat de digitale autopiloot ontwikkelde voor de maanlander.

Voor de volledigheid zeggen we er bij dat hij in de jaren í90 ook een tijdlang consultant was voor MathWorks en er meewerkte aan de ontwikkeling van MATLAB en Simulink. Beide partijen kenden elkaar dus al langer. De link naar het volledige verhaal van de autopilot remake vindt u onderaan dit artikel.

2000 instructies

Het valt moeilijk te beschrijven wat een pionierswerk het destijds geweest is om de maanlanding mogelijk te maken. Voor het ontwikkelen van de controller voor de autopilot deed het team een beroep op theorieŽn in een boek dat nog in de maak was en pas later zou verschijnen. Het geeft aan dat voor veel uitdagingen geen kader bestond met oplossingen waarop men zich kon baseren.

Maar het grote verschilpunt met nu zit in de snelheid en de opslagcapaciteit van de computers. De autopiloot van de maanlander moest draaien op een processor die verder ook de navigatie voor zijn rekening nam. Het team mocht het programma niet langer maken dan 2000 16-bit instructies. De sample rate werd omwille van de beperkte rekenkracht vastgelegd op 0,2 seconden.

Nu wil het toeval wel dat er in de ruimte weinig externe invloeden zijn waardoor het gedrag van de capsule vrij goed voorspeld kon worden, maar voor het bedienen van de kleine jets waarmee de koers van de capsule bijgestuurd kon worden, was die sample rate toch een aanzienlijke beperking.

Modelgebaseerd ontwerp

Het schrijven van de machinetaal was in die dagen nog puur ambachtelijk werk en niet alleen dat Ė voor elk pad in de code moest ook met de hand berekend worden hoeveel tijd de uitvoering ervan zou vergen.

Het gebrek aan rekenkracht was overigens niet alleen een hindernis voor de CPU aan boord. Ook voor het testen van de code was in die dagen ontzettend veel tijd nodig. Het MIT team maakte voor het testen gebruik van een simulatie die de werking van de computer aan boord emuleerde. Elke run in het testen nam al snel een halve dag in beslag. Het resultaat was dan een stapel papier die manueel geanalyseerd moest worden.

Bij de remake van de code maakte Richard Gran gebruik van Simulink waarin eerst een model gemaakt werd van de controller. Het omzetten van dat model in code gebeurt nu volledig automatisch. Net als het testen dat nog slechts een paar seconden in beslag neemt.

Bij simulaties heeft de ontwerper de keuze of hij zich baseert op het model, de software of zelfs de actuele controller. Meerdere mensen die samenwerken aan een project kunnen op die manier snel nagaan welke invloed een bepaalde wijziging aan hun deel van het project zal hebben.

Uiteindelijk deed Richard Gran er slechts een week over om de controller van toen opnieuw te ontwerpen, iets wat destijds dus drie jaar in beslag nam. Ok, de titel boven dit artikel houdt dan wel een zekere literaire vrijheid in, want we spreken hier slechts over ťťn aspect van de Apollo 11 missie. Maar het verschil tussen toen en nu geeft wel aan hoeveel er in die jaren veranderd is. En vooral ook wat een bewonderenswaardige prestatie de ingenieurs van toen geleverd hebben om de droom van president John Kennedy om Amerikanen naar de maan te sturen, waar te maken.

nl.mathworks.com/company/newsletters/articles/the-apollo-11-moon-landing-spacecraft-design-then-and-now.html

© Productivity.be, 09/09/2019, Foto: NASA


Feel free to share


Productivity.be

is een publicatie van
Redactiebureau ConScript

Contact

Erwin Vanvuchelen
+32 (0)475 64 99 34
erwin@conscript.be
erwinvanvuchelen