-
1.
Fly me to the Moon*
On HW/SW used by Apollo missions to land on the Moon
April 1st 2015, Martin.Dvorak@mindforger.com* a song originally written by Brad Howard in 1954 and recorded by Frank Sinatra in1964
-
2.
Why?
Aim for deep space / universe understanding?
Aim for technological advance with huge impact on humanity?
Seek a solution to a crucial problem enabling humans to alive?
Another purely practical reason?
…
-
3.
Bring alien technology from the dark side of the Moon?
Why?
-
4.
Space Race as a part of Cold War propaganda
-
5.
Space Race Timeline
-
6.
Space Race Timeline: Computers Evolution
Intel founded 1968
-
7.
… 9x around the Moon & 6x on the Moon
Apollo Program: Mission(s) & Timeline
• Apollo 1 1966/02/22 - 1st flight of Saturn 1b
• Apollo 2 1966/07/05 - fuel tank test
• Apollo 3 1966/08/25 - sub-orbital Saturn 1b test
• Apollo 1 1967/01/27 - pre launch cabin fire (Block I)
• Apollo 4 1967/11/09 - 1st test of Saturn V booster
• Apollo 5 1968/01/22 - test of Saturn V booster & LM
• Apollo 6 1968/04/04 - test of Saturn V booster
• Apollo 7 1968/11/11 - 1st manned Saturn 1b
• Apollo 8 1968/12/21 - 1st manned Saturn V around Moon
• Apollo 9 1969/03/03 - 1st manned LM
• Apollo 10 1969/05/18 - 1st manned LM around Moon
• Apollo 11 1969/07/16 - 1st manned landing on the Moon
• Apollo 12 1969/12/14
• Apollo 13 1970/04/11 - SM explosion & LM as life boat
• Apollo 14 1970/01/31
• Apollo 15 1971/07/26 - 1st lunar rower excursion
• Apollo 16 1972/04/16
• Apollo 17 1972/12/07 - Final manned landing on M
-
8.
3 stages, 111m, service + lunar + command modules
AGC Drill Down: Saturn 5
-
9.
AGC Drill Down: Saturn 5
Žižkovská věž 213m
-
10.
Apollo PGNCS
• PGNCS == inertial guidance system
• Navigation (speed, position, attitude):
• Inertial: Inertial Measurement Unit - vector & gyroscope
• Optical: Optical Unit - sextant (position & orientation)
• Radio: Radar(s) - radio beacon & Doppler (v; 10mm/s)
• AGC == PGNCS computer
• Both on CM and LM
• Developed by MIT, manufactured by GM
The Primary Guidance, Navigation and Control System aka “pings”
PGNCS w/ AGC @ Lunar Module
-
11.
AGC: Apollo Guidance Computer
• Digital computer = DSKY + Block I/II
• Both on CM and LM
• Guidance + navigation + control
• NASA deep space net > vector > AGC
• DSKY = numeric display & keypad
• Numbers display: vectors
e.g. space craft attitude & velocity delta
• Commands: verb & noun
two XX numbers w/ action & data
• Units: metrics (internal) > US (DSKY)
• 2xCM & 1xLM
• Block I/Block II = digital computer
• Developed by MIT in 1966 w/ Raytheon
• fridges > WW2 > defense
-
12.
AGC: Hardware
• Lead: Charles Stark Draper
• “father of inertial navigation”
• RAM 3.8kB (Apollo 14 reprogramming)
• ROM 74kB of LOL memory
• “little old lady” - core rope memory
• Registers: 4 central 15+1b + ~20 specific
• Instructions: 11, 3b+12b (opcode + addr)*
• Interrupts: 5, Bus: 16b RD + 16WR
• Logical module (not CPU):
• 4.100/2.800 (Block I/II) integrated circuits (1958)
ICs > logic modules > Block I/II
• Timing: 2.048 MHz referential + aux timers
• ~32kg, ~70W/55W + stand-by, 61x32x17cm
• Water cooling
RAM ROM
Logic module
ICs
-
13.
AGC: Software
• Lead: Margaret Hamilton (31) @ MIT
• Exec OS w/ 8 jobs
• Cooperative multi-tasking
• Interrupt driven priority* job waitlist
• Margaret:
• Coined term software engineering & set dev standards
• Designed virtual machine ~ robust sophisticated interpreter
• new (pseudo) instructions & lower memory consumption
• buffer overflow & cycle stealing handling (RAM w/o CPU)
• Her robust AGC design avoided Apollo 11 crash
• … when landing on the Moon: 3’ > radar (activated by mistake) >
overload (interrupts) > alarms > … but still running* + 2’’ from death
Necessary software and programming techniques did NOT exist > to be designed
Margaret Hamilton
lead Apollo flight software engineer
-
14.
AGC: Try it Yourself!
• AGC emulators:
• JavaScript
• http://svtsim.com/moonjs/agc.html
• Project Apollo NASSP emulator
• http://sourceforge.net/projects/nassp/
• Original AGC source code:
• https://code.google.com/p/virtualagc/
• Comments & thoughts & ideas:
• news.ycombinator.com
-
15.
Lessons Learned
• Simple
• Reliable
• Robust
• Efficient … design
• Improvise
• Handle failure gracefully
• Work with users astronauts on UX
• Unit tests prove your code
• Trust in skilled crew, not in computers
They would not let as fly the moon today…
What WAS the motivation to invest so much resources?
Technological advance
Work from 100.000s of people
NASA heritage: spread around US vs. Space X rocket factory
- Saturn 1b was Saturn V predecessor w/ one stage - used before Saturn V was ready
- 3 stages
- Service module, lunar module, command module
The AGC also used the novel integrated circuits for its digital logic. It was a risky choice, as the technology was considered untested at the time, but was necessary to fit the system into the small weight and size required for the Apollo mission.
- cycle stealing: accessing RAM without interfering CPU - leveraging idle CPU time - CPU/bus timing exploitation may allow to sneak in between, use bus while CPU is running full speed (DMA like)
Eugene Kranz - Apollo missions Flight Director is NOT author of the quote