Analysis of the Apollo and CEV Guidance and Control ...



Analysis of the Apollo and CEV Guidance and Control Systems and Tthe Impact of Risk Management:

An Analysis of the Apollo and CEV Guidance, Navigation and Control Systems

Katherine H. Allen

Robbie C. Allen

Ilana Davidi

Elwin C. Ong

Elwin C. Ong

Katherine H. Allen

Ilana Davidi

Robbie C. Allen

May 9th 2005

16.895J/STS.471J/ESD.30J - Engineering Apollo

Table of Contents

Introduction 3

Apollo Computing Systems 4

Apollo Computer Hardware 5

Lunar Module Landing System Architecture 6

PGNCS Architecture 7

Apollo Guidance Computer Hardware Architecture 7

Apollo Guidance Computer Processor 8

Apollo Guidance Computer Memory 10

Apollo Guidance Computer Software 12

AGC Software Architecture 12

Digital Autopilot 13

Software Development and Testing 14

Human Interface Design 16

DSKY Design 17

Manual Control Hardware and Software 19

Anthropometry, Displays, and Lighting 20

Control: Manual, Autonomous, or Automatic? 21

System Level Risk Management Decisions 23

In-Flight Maintenance 23

Abort Guidance System 25

CEV 26

CEV Computing Hardware 26

CEV Mission Software 26

CEV Automation 27

CEV Risk Management Techniques 28

Culture of Safety 30

Conclusion 31

Appendix A - Word Length and Arithmetic Precision 32

Appendix B – DSKY Commands 32

Bibliography 36

Apollo Computing Systems 4

Apollo Computer Hardware 6

Lunar Module Landing System Architecture 6

PGNCS Architecture 7

Apollo Guidance Computer Architecture 8

Apollo Guidance Computer Processor 9

Apollo Guidance Computer Memory 11

DSKY Design 12

Anthropometry, Displays, and Lighting 14

Apollo Guidance Computer Software 15

Digital Autopilot 16

P63 Function 17

P64 Function 17

P65 Function 17

Manually Controlled Software 18

Control System Design 18

In-Flight Maintenance 19

Abort Guidance System 20

Abort Guidance System Hardware 21

Abort Guidance System Software 21

Human-Machine Interaction 21

Control: Manual, Autonomous, or Automatic? 23

System-Level Risk Management 25

CEV 27

CEV Computing Hardware 27

CEV Mission Software 28

CEV Automation 28

Risk Management and CEV 29

Culture of Safety 31

Conclusion 33

Appendix A - Word Length and Arithmetic Precision 33

Appendix B – DSKY Commands 34

Bibliography 37

Introduction

When President Kennedy challenged the nation in 1961 to put a man on the moon by the end of the decade, there were many unknowns about how we would accomplish such a massive undertaking. One of the biggest questions was how we'd safely and precisely navigate a several ton space craft from the surface of the earth to the moon and back. The guidance, navigation, and control (GNC) systems that would perform this task represented one of the biggest risk factors for the entire project. While it is conceivable that if you put enough thrust behind a craft you can launch it into space, doing so in an exact manner is a much more challenging engineering feat.

At the time of Kennedy’s speech, no one had built a system similar in scope. With the relative newness of computers in the early 1960s, reliability of hardware and software were chief concerns at NASA. Every step of the way, engineers had to consider whether to use older technology that was more proven but had limitations or newer technology that could allow for more robust functionality but with decreased reliability. They also had to consider what to do in case of system failures, including abort modes and real-time diagnostics and recovery.

The end result was a system that performed without a major failure throughout the seventeen Apollo missions. Looking forward to the next generation spacecraft referred to as Crew Exploratory Vehicle (CEV), many lessons can be learned from the success of Apollo. In the 33 years since the last Apollo mission, space vehicles have become significantly more complex. The field of risk management also has evolved considerably. It is unlikely that Apollo would pass today's safety requirements. Apollo got away with a lotwas allowed several of single point failures because of the tight timeline Kennedy had put on NASA, but much attention was paid to detail and the project succeeded due to a high level of motivation and hard work by everyone working for NASA. However, the environment in which CEV is being built is considerably different today. Due to the recent Columbia disaster, NASA is being scrutinized even more closely. For the sake of safety, CEV may end up being so redundant and fault tolerant that it will be too complex to manage effectively, and hence, there will be a failure because nobody will understand the system well enough to predict how it will work.

This paper will take us through the hardware, softawre, etc.

How the system was designed

why it was designed the way it was

stystem-level sonmehting or other

through the lens of risk management. How the CEV will be different based on risk management concerns, changing priorities, and what they can learn from Apollo.

When President Kennedy challenged the nation in 1961 to put a man on the moon by the end of the decade, it was directive that held unique political, social, and technical implications. The political and social atmosphere of the time, and in particular, the cold war and technological competition with the Soviet Union, provided a unique opportunity for engineers to live out their wildest dreams. With moral and financial backing from the entire country, the engineers of Apollo were given the chance to design a system that still held significant unknown challenges. These technical challenges were the most substantial risks in the program. It was a level of risk afforded to the Apollo program due to the unique political and social atmosphere of the era, a risk not afforded to any space program since.

The Apollo Guidance, Navigation and Control System (GNC) was one among the most significant challenges and risky for the program. The digital computer along with its complex software and novel human interfaces were on the leading edges of engineering discovery at the time, yet the system proved to be one of the most successful. This success is often attributed to the highly motivated individuals who designed the system and their characteristic attention to detail, but these reasons do not allay the fact that the Apollo GNC system had a higher level of risk associated with it when compared to today’s standards. The system contained many potential single point failures and relied heavily on unproven technologies and techniques from integrated circuits to high-level interpretive languages and one-of-a-kind human computer interfaces.

Perhaps, paradoxically, the Apollo guidance and navigation system was successful because it was risky. Because it was such a challenge, the engineers were forced to design the simplest system that could satisfy the requirements. The simplicity of the system allowed the engineers to fully understand the system and this understanding then provided the means for the engineers to discover as much of the unknown technical risks as possible. Perhaps even more important, the engineers knew that the system was risky, and this awareness provided the motivation to ensure that the system would work.

Space vehicle design has evolved tremendously since Apollo and while the systems today can carry out more complex requirements, these complexities have had severe consequences for the safety and reliability of today’s space systems. Looking forward to the next generation spacecraft referred to as Crew Exploratory Vehicle (CEV), the vehicle would surely be able to accomplish much more than Apollo using time-tested technologies, but it would also have a lot more complex requirements for fault tolerance, automation, and human-computer interactions. Further more, the environment in which CEV is being built is considerably different and more demanding. Today’s political and social atmosphere is drastically different than Apollo’s, and due to the recent Columbia disaster, NASA is being scrutinized even more closely than ever. For the sake of safety, CEV may end up being so redundant and fault tolerant that it will be too complex to manage effectively, and hence, there will be a failure because nobody will understand the system well enough to predict how it will work.

While the term risk management was not used during the Apollo program, the engineers were performing risk management during the design of the system. Understandably, the unique nature of the program meant that the risk management was very different and more liberal than today’s standards. This report will examine some of the most challenging and risk consequential decisions made during the design of the Apollo GNC System. Specifically, the report will focus on the Lunar Module (LM) Landing System and its associated GNC systems including particular aspects of the hardware, software, and human factors design. These systems will be described along with discussions of the risks involved with particular design decisions made. System level risk management decisions will also be examined, including the decisions for in-flight maintenance and backup for the primary system. Following this discussion, the risk management techniques of Apollo will be compared to today’s techniques. The discussion will be illustrated by an example on how the CEV landing system might be designed, using the technologies and techniques available today.

Apollo GNCComputing Systems

The MIT Instrumentation Laboratory under Charles Stark (Doc) Draper received the contract to provide the primary navigation, guidance, and control for Apollo in August of 1961. At the time, NASA was still debating the decision on how to land on the moon. But wWhether it would be one large rocket or a small lunar module that descended to the moon, one of the first major technical decisions made was the need to have the ability to autonomously guide the spacecraft to the moon, land it safely, and return the astronauts back to Earth. there was no doubt that a powerful digital computer would be the center piece of the complex system required to guide the spacecraft to the moon, land it safely, and return the astronauts back to Earth.

The MIT Instrumentation Lab was the pioneers of inertial guidance, and navigation, and control. Doc Draper had first applied the use of gyros on the Mark 14 gun sight during WWII. The effectiveness of the system led to more advanced applications, including self-contained inertial systems on aircraft and missiles. By the mid 1950's, the Instrumentation Lab was working on a number of applications of inertial guidance including the Air Force's Thor missile, the Navy's Polaris missile, and a robotic Mars Probe [HALL40].

The Apollo requirements for self-contained guidance, navigation, and control were similar to the projects completed at the Instrumentation Lab, but it would also be a lot more complex. Apollo would require a much more powerful A computation system than any of their previous projects. This computer could be, either analog or digital, was required to apply the guidance and control equations.. The decision to use a digital computer was one of the first major decisions made and one with many risk-associated implications. There were already plenty ofSeveral computers around existed by the 1950s including the ENIAC, Whirlwind, and IBM 604 [TCP], but]. However, these computers were much too big and heavy for use in aerospace applications. While it is conceivable that an analog computer could have accomplished the requirements of Apollo, the system would have been much bigger and heavier than the eventual digital computer developed by MIT [HHBS]. An analog computer would also have been much more difficult to program, and the tasks it performed would have been much more limited, with consequences for the design of the rest of the spacecraft and mission. ToThe engineers at MIT had a very good reason for choosing digital over analog; they had gained a lot of experience with digital computers from their previous projects.

To apply the guidance and control equations for the Polaris missile, MIT had developed a set of relatively simple equations that were implemented using digital differential analyzers. The digital differential analyzer designed by MIT was nothing more than some memory registers to store numbers and adders that produced the result of the incremental addition between two numbers. (See Figure 19 HALL) [Elwin: Can we include a copy of the figure here?]

Although simple by computational standards, the work on the Polaris digital system provided the necessary base of technology needed for the Apollo Guidance Computer (AGC). Wire interconnections, packaging techniques, flight test experience, and the procurement of reliable semiconductor products were all required for the successful delivery of the AGC [HALL44].

In the late 1950's, the Instrumentation Laboratory was granted a contract to study a robotic mission to Mars. The mission would involve a probe that would fly to Mars, snap a single photo, and return it safely to Earth [BAT]. The requirements for the proposed probe led to the development of the Mod 1B computer. The computer would have been responsible for navigation and control of the probe through its mission had it been launched. The resulting computer used core-transistor logic and core memories. It was a general-purpose computer, meaning it could be programmed, unlike the Polaris system. While the Polaris computer could only calculate one set of equations, the Mod 1B computer could be programmed to perform any number of calculations. [Elwin: What benefit did this have for the Mars probe compared to Polaris?]. It also made use of interpretive instructions, which augments the limited set of machine instructions available [Elwin: Available in what?]. Although the Mars probe was canceled before it was built, the computer continued to evolve and provided the necessary knowledge and experience needed for the design of the AGC hardware.

Apollo GNC Computer Hardwares

[Elwin: Do you think we should provide an overview of the various computers used within Apollo? Even if we will focus on the LM systems, I think it would be good background information to describe the other computers to give the reader a reference point as to what is covered next and what isn't.]

Two identical computers were used on Apollo. One was used on the Command Module (CM) and the other in the Lunar Module (LM). The hardware and software on each werewas exactly the same, as required by NASA. This requirement meant that the design of the computer was more difficult as the computer had to interface with different and unique equipment for the CM and LM. In addition, since different contractors built the CM and LM, any changes to the computer meant that North American, Grumman, and MIT/ILall three groups, not including NASA, had to agree to the changes. The primary advantages of having the same computers on both spacecraft were simplified production and testing procedures.

Lunar Module Landing System Architecture

The systems involved with the guidance of the Lunar Module (LM)LM landing system consisted of several major components. Among them were the Primary Guidance, Navigation and Control System (PGNCS), the Abort Guidance System (AGS), the landing radar, the LM descent engine, reaction control system (RCS)RCS jets, and various crew interfaces. The PGNCS included the IMU for inertial guidance, and the digital computer. Within the computer was a digital autopilot program (DAP) and manual control software. The software specific to the LM landing phase of the Apollo mission included P63 through P67 [Elwin: Referring to "P63 through P67" seems a little out of context here. I think it would be ok to just delete this sentence.]. The AGS, to be discussed further in section xxx, was responsible for safely aborting the descent and returning the LM ascent stage back to lunar orbit if the PGNCS were to fail. Although Iit was never used in flight, the AGS served to mitigate some of the risk associated with the single-string primary computer.

The landing radar (LR) on board the LM provided ranging and velocity information relative to the lunar surface as the LM descended.

The LM descent engine was a single throttleable rocket engine. It had a maximum thrust of approximately 10,000 lbs. It could operate at full thrust or throttled between 10-60% of maximum power. In addition, it rested on gimbals which provided 6 degrees of rotation. The gimbal was controlled by the DAP for low rate attitude adjustments [BEN]. For high-rate attitude changes, the LM used a fully redundant RCS system featuring 8 thrusters in each set. Each thruster was capable of providing 100 lbs of thrust.

[pic]

There were several crew interfaces required during landing, which which are covered in more detail laterwill be covered in more detail. Among these were the DSYK (discussed in detail in section x), which is used by the astronauts to call various programs stored on the computer, a control stick to perform manual control of the spacecraft, and a grid on the commander's forward window called the Landing Point Designator (LPD)LPD.. The window was marked on the inner and outer panes to form an aiming device or eye position. The grid was used by the computer astronaut and computer to steer the LM to the a desired landing site. By using a hand controller, the commander could change the desired landing spot by lining up a different target as seen through the grid on his window [BEN].

LM Landing Strategy

After separation from the Command and Service Module (CSM), the LM began its descent to the moon by first performing a descent orbit insertion maneuver. This maneuver was performed with the descent engine at full thrust to lower the LM's altitude from 60 nautical miles to 50,000 feet. Once the spacecraft reached 50,000 ft, the powered descent phase was initiated. The LM powered descent strategy was divided into 3 separate phases. The first phase was called the braking phase and was designed primarily for efficient propellant usage while reducing orbit velocity. At 60 seconds to touchdown and approximately 7000 feet, the approach phase was initiated. This phase was designed to allow the astronauts to monitor their descent and pick an alternate landing spot if required. The final phase, or landing phase, was designed to allow manual control of the descent as the LM approached the lunar surface [BEN].

PGNCS Architecture

The Primary Guidance, Navigation, and Control System (PGNCS) architecture on board the LM included two major components (See Figure 3994 HALL). [Elwin: Again, would it be possible to include that figure here?]. The Lunar Apollo Guidance Computer (ALGC) was the center piececenterpiece of the system. (The LGC was the same computer as AGC described earlier. [Elwin: So LGC = AGC? This is a little confusing. You inter-mix the use of both later.) It was responsible for calculating the state vector (position and velocity) of the vehicle at all times, and interfaced with the crew and other systems on board. The second part of the PGNCS was the Inertial Measurement Unit (IMU). The IMU provided inertial measurements from gyros and accelerometers. These measurements were integrated to derive the vehicle's position and velocity.

[pic]

ALGCApollo Guidance ComputerApollo Guidance Computer Hardware Architecture

The Mod 1B evolved into the Mod 3C, then later into the Block I computer, and finally into the Block II. Two version of the AGC were flown on Apollo. Block I versions flew in the unmanned missions, while an improved Block II version was used on all subsequent missions. The Block II was designed with a higher density IC package (2 NOR gates instead of 1 in a flatpack packaging) than Block I. [HALL] As a result, more memory could be added. The Block II computer was the heart of the PGNCS used on every LM. The Command Module (CM) used the same computer. The final Block II design consisted of an architecture with a 16 bit word length (14 data bits, 1 sign bit, and 1 parity bit), 36,864 words of fixed memory, 2,048 words of erasable memory, and a special input/output interface to the rest of the spacecraft. See Appendix A for more on the significance of word length and arithmetic precision with Apollo.

The completed Block II computer was packaged and environmentally sealed in a case measuring 24 by 12.5 by 6 inches. The computer weighed 70.1 lbs, and required 70 watts at 28 volts DC [TOM]. Work on the computer design was led by Eldon Hall. Major contributions were made by many different people, including Ramon Alonso, Albert Hopkins, Hal LanningLaning, and Hugh Blair-Smith among others... [Elwin: A picture of Block II would be good here]

[pic]

ALGCApollo Guidance Computer Processor

The LGCAGC processor was a trail-blazertrailblazer in digital computing. It was the first to use integrated circuits (IC), which was a new and unproven technology at the time. Integrated circuits were only first introduced in 1961. An IC is a thin chip consisting of at least two interconnected semiconductor devices, mainly transistors, as well as passive components like resistors [WIK,IC]. ICs permitted a drastic reduction in the size and number of logic units needed for a logic circuit design. (See Ffigure 5 HALL) [Elwin: Do you have this figure?] The first ICs were produced by Texas Instruments using Germanium junction transistors. Silicon-based transistors soon followed, with the first IC developed by the Fairchildthe Fairchild Camera and Instrument Corporation [HALL,18].

[pic]

In 1962, the Instrumentation Lab obtained permission from NASA to use the Fairchild's Micrologic IC on the AGC [HALL,18]. The Fairchild Micrologic IC was a three- input NOR gate. The output of the NOR gate was a 1 one if all three inputs were zeros. Otherwise, the output was a zero. The LGCAGC processor was created entirely from this one basic logic block.

The decision to use ICs was one of the most fundamental risk management decisions made. The Instrumentation Lab and NASA evaluated the benefits and risks of using ICs thoroughly before making their decision. Although they did not formally call it risk management, the studies and committees formed to analyze the decision were equivalent to the functions of risk management. The decision to use ICs was not easily made. As Eldon Hall recalls, “there was resistance both from NASA and people within the Lab who had invested much of their work in core-transistor logic.” [EH] ICs had never been flown in space; in fact, they had never been used on any computer. More importantly, there was only a single source that provided the necessary quantities for production at the time. It was not known whether the rate of production could be kept up through the entire program. In the end, Hall was able to persuade NASA that the advantages of ICs outweighed the risks involved [HALL,108,109]. Chief among the advantages was the much needed weight and volume savings, but ICs also allowed a significant reduction in the number of electronic components needed (See Figure 5 HALL). One IC component replaced several circuit components for an equivalent core-transistor unit. Less components needed meant that more effort could be concentrated on providing strict qualifications and procurement of the single component.

As Hall recalls, they were quite aware of the risks involved with the decision to use ICs [EH]. A lot of attention was paid to the proper qualification and testing of the components at every level of the design. Strict procurement procedures were designed to ensure that the manufacturer provided the best product. These procedures ranged from formal lot screening to sending astronauts on visits to the factory [EH].

By 1963, Fairchild introduced the second generation Micrologic gate, which put 2 two NOR gates on a single chip. In addition to doubling in gate capacity, the chip also operated at a faster speed, used less power, and had an improved packaging design known as a “flat-pack.” (See Figure 73 HALL) These new ICs were incorporated into the design of the Block II computer, producing afurther savings in weight and volume, and which alloweding more room for the expansion of the memory.

Even in 1962, Moore's Law was predicting the pace of IC and computing development [Elwin: Moore's Law didn't come about until 1965 so this sentence is a little misleading.] . Even in 1962, the pace of IC development was progressing steadily. This However, this was not always to the benefit of the Apollo program however. Before the first Block II computer was produced, Fairchild had dropped production of the Mircologic line, electing instead to concentrate production on more advanced chips. This was a risk foreseen by the Fortunately for the Instrumentation Lab, and they were fortunate to obtain the services of the, Philco Corporation Microelectronics Division who maintained production of the IC for the life of the program [HALL,23].

The final Block II computer included approximately 5700 logic gates. They were packaged into 24 modules. Together, they formed the brain processing power of the computer, providing instructions for addition, subtraction, multiplication, division, accessing memory, and incrementing registers, among others.

ALGCApollo Guidance Computer Memoryies

The AGC had two types of memoriesmemory. Erasable memory was used to store results of immediate calculations during program execution, while programs were stored in permanent read-only memory banks. The memory used on Apollo was perhaps the least risky component in the AGC. The erasable memory was based on those used on the Gemini spacecraft, and was made from coincident-current ferrite cores [TOM]. Unlike modern erasable memories, which are usually made with transistors, the erasable memory in the AGC was based on magnetic principles rather than electrical. Ferrite core memories were first used on the Whirlwind computer at MIT in 1951 and later on the Gemini computer [TOM]. It was a proven technology with a very good track record for its reliability, and hence posed significantly less risks than the processor. They were the standard technology used for erasable memories at the time the AGC was developed

They used ferrite core memory for several reasons. First, it was the most compact form of memory available. Second, it was used on MIT's Whirlwind and was indeed the most prevalent form of memory used in its day. Third, it was very reliable: it saves state even without power,

Is radiation-hardened, ad had very good electromganetic characteristics. They were the standard technology used for erasable memories at the time the AGC was developed, making this a safer decision. [TOM].

The ferrite cores were circular rings that, by virtue of its ferromagnetic properties, could store a bit of information, that is, a one or a zero, by changing the direction of the magnetic field. A wire carrying a current passing through the center of the ring changed the direction (clockwise vs. counter-clockwise) of the magnetic field, and hence, changed the information stored in the ferrite core. The primary advantage of this type of technology is that the memory retains its data even when power is removed [JON]. It was also radiation-hardened although the implications of the radiation environment on electronics were not discovered until much later. The main disadvantages of ferrite core memories are were that they were relatively large and heavy and required more power.

The fixed memory for the AGC was based on the same principles as the erasable memory, except all the ferrite cores were permanently magnetized in one direction. The signal from a wire which passed through a given core would then be read as a one, while those that bypassed the core would be read as a zero. Information was stored and read from memory in the form of computer words by selecting the correct core and sensing which wires represent ones and zeros. Up to 64 wires could be passed through a single core [WIK,CR]. In this way, the software for the AGC was essentially stored in the form of wires or ropes. The fixed memory soon came to be referred as core-rope memory. MIT originally invented the core-rope technology for use on the Mars probe. Its chief advantage was that it stored a lot of information in a relatively small amount of space, but it was very difficult to manufacture [TOM]. The memory could not be easily changed after the ropes were manufactured. This helped in terms of quality, etc Elwin: More detail on how it helped MIT contracted Raytheon to manufacture the units. Due to the lead time required for manufacturing and testing, the software had to be completed and delivered by MITto Raytheon 6 weeks in advanced [BAT]. Since last minute changes to the software was out of the question, there was a lot more motivation to deliver a quality product. Many procedures were implemented to ensure the quality of the software, as discussed later in section xxx.

Memory capacity was an issue and an unforeseen risk throughout the design phases of the AGC. The initial memory design called for only 4000 words of fixed memory and 256 words of erasable. The final Block II design had 36,000 words of fixed memory and 2000 words of erasable. The underestimation underestimate of memory capacity was mainly due to difficulties in the software development [HOP]. As Hugh Blair-Smith recalls, MIT continually underestimated the task of developing software [HBS]. “We The engineers at MIT also had a predisposition to add more and more complex requirements to the software, as long as they seemed like apparently good ideas.” [HBS]. As a result, the memory requirements grew larger and larger. It was a problem, which held severe consequences for the entire program. Eventually, When NASA realized the implications of the issue, they implemented strict control and oversight of the software design process [BT]. It was another example of how the program was able to manage risk, even though the risk had not been recognized until much later in the program.

hard work, some ingenious schemes to save memory capacity, and oversight from NASA helped stem the problem of out of control memory growth.

The memory of Apollo was physically more difficult to produce than memory today. Today, they are built like ICs, using robots, and then programmed electrically. This is a lot more reliable than physically building memory.In the early 1960s, there were very few options for input and output devices. This meant human interaction with computers was limited to highly-trained operators. “Computers were not considered user-friendly,” [ELD] explained Eldon Hall, one of the Apollo GNC system designers. For example, one of the premier computers of the time, the IBM 7090, read and wrote data from fragile magnetic tapes and took input from its operator on a desk-sized panel of buttons. It was one of the first computers using transistors, rather than vacuum tubes—a huge advantage in robustness, but a relatively unproven technology.

The 7090 used to control the Mercury spacecraft had occupied an entire air-conditioned room at Goddard Spaceflight Center [FRO]. As a result, the Apollo GNC system designers faced a quandary: a room of buttons and switches would not fit inside the CM, causing a simpler interface to be necessary.

Because space travel was still new, it was unclear what information the astronauts would find useful while flying or how best to display that information.

Everybody had an opinion on the requirements. Astronauts preferred controls and displays similar to the meters, dials, and switches in military aircraft. Digital designers proposed keyboard, printer, tape reader, and numeric displays. [HALL71]

Although the astronauts’ opinions were greatly valued, their preference for analog displays had change to allow the need for a digital computer. “Astronauts and system engineers did not understand the complicated hardware and software required to operate meters and dials equivalent to those used in military airplanes.” [HALL71] This made it difficult for designers to satisfy the astronauts’ desire for aircraft-like controls while still meeting NASA’s deadlines and other requirements.

Astronauts were not the only ones with high demands for the GNC software. Jim Nevins, an Instrumentation Lab engineer, says that ”back in the ’62 time period, the computer people came to me and proposed that they train the crew to use octal numbers.” [NEV] This would have simplified the computer’s job of deciphering commands, but would have been very difficult on the astronauts who already had a busy training schedule.

Eldon Hall does not remember that suggestion, but recounted that

The digital designers expressed a great deal of interest in an oscilloscope type of display...a vacuum tube, a fragile device that might not survive the spacecraft environment. It was large, with complex electronics, and it required significant computing to format display data.

This was also rejected, as the fragile vacuum tubes would have been unlikely to survive the G-forces of launch and re-entry.

Eventually, a simple, all-digital system was proposed which included a small digital readout with a seven-segment numeric display and a numeric keyboard for data entry. The simple device referred to as DSKY (DiSplay KeYboard) used a novel software concept: ”Numeric codes identified verbs (display, monitor, load, and proceed) or nouns (time, gimbal angle, error indication, and star id number). Computer software interpreted the codes and took action.” [HALL73] The pilots were happy with the new device. David Scott, Apollo 15 commander, commented that “it was so simple and straightforward that even pilots could learn to use it.” [HALL73] Many of the pilots, including Scott, helped to develop the verb-noun interface. “The MIT guys who developed the verb-noun were Ray Alonzo and [A.L.] Hopkins, but it was interactively developed working with the astronauts and the NASA people.” [NEV]

The display keyboard (Figure 1) is composed of three parts: the numeric display, the error lights, and the keypad. The display uses an eight-bit register to display up to 21 digits (two each for the program, verb, and noun selected, and three rows of five digits for data). Next to the display is a row of error and status lights, to indicate such important conditions as gimbal lock (an engine problem where the gimballed thrusters lock into a certain configuration) and operator error. Below the lights and the display panel is a 19-button keyboard. This keyboard features a nine-button numeric keypad as well as a “noun” button to indicate that the next number being entered is a noun, a “verb" button, a “prg” button, for program selection, a "clear" button, a key release, an “enter” button, and a "reset" button. The crew could enter sequences of programs, verbs, and nouns to specify a host of guidance and navigation tasks. A selection of programs, verbs, and nouns from Apollo 14’s GNC computer are provided in Appendix B.

[pic]

Figure 1. A Close-up of the DSKY device as mounted in the Apollo 13 CSM, Odyssey.

The design of the DSKY changed very little between Block I and Block II—the commands changed, but the interface device stayed essentially the same.

Anthropometry, Displays, and Lighting

The field of anthropometry was relatively new in 1960. Some work had been done at Langley, quantitatively describing the handling qualities of aircraft (and leading to the development of the Cooper-Harper scale for rating handling qualities) but the majority of human factors issues were still addressed by trial and error. Jim Nevins, in a briefing in April 1966, summarized the Instrumentation Lab’s areas of human factor activity with the following list:

KAT: Make this into paragraph form

1. Anthropometry and gross configuration associated with:

• display and control arrangement

• zero g tethering

• general lighting and caution annunciators

2. Visual and visual-motor subtasks for the

• optics (space sextant, scanning telescope, and alignment optical telescope)

• computer (display keyboard)

• data and data handling

3. Evaluation of relevant environmental constraints associated with

• pressure suit

• zero g

• high g

• interior illumination

• vibration, acoustic noise

• gaseous environment

• physiologic stress, fatigue

The human factors of each design were investigated primarily by using astronauts and volunteers at the MIT I/L and elsewhere to test the designs for LM hardware—both in “shirtsleeves” tests and full-up tests in pressure suits, to ensure that the relatively rigid suits with their glare and fog-prone bubble helmets would not interfere with the crew’s ability to perform necessary tasks. The I/L had a mockup of the CM and LM panels, which, in addition to the simulators at Cape Canaveral and Houston, allowed proposed hardware displays, switches, and buttons to be evaluated on the ground in a variety of levels of realism.

DSKY, as shown in Figure 1, is composed of three parts: the numeric display, the error lights, and the keypad. The display uses an 8-bit register to display up to 21 digits (two each for the program, verb, and noun selected, and three rows of five digits for data). Next to the display is a row of error and status lights, to indicate important conditions like gimbal lock (an engine problem where the gimballed thrusters lock into a certain configuration), and operator error, among others. Below the lights and the display panel is a 19-button keyboard. This keyboard features a now-standard 9-button numeric keypad as well as a “noun” button to indicate that the next number being entered is a noun, a “verb" button, a “prg” button, for program selection, a "clear" button, a key release, an “enter” button, and a "reset" button. The crew could enter sequences of programs, verbs, and nouns to specify a host of guidance and navigation tasks. A selection of programs, verbs, and nouns from Apollo 14’s GNC computer are provided in Appendix B.

[pic]

ALGCApollo Guidance Computer Software

The ALGC mission software was a large and complex real-time software project. As with the design of the hardware and human interfaces, . decisions made during the design of the software held implications associated with risks. The experience gained by NASA during their oversight of the Apollo software development would directly influence the development of the Space Shuttle software later [TOM].

AGC Software Architecture

The architecture of the LGCAGC software was a priority interrupt system. Unlike a round-robin system where jobs are run sequentially, a priority interrupt system was capable of handling several jobs at a time. Tasks were assigned a priority and Tthe computer would would always execute the job with the highest priority. . Detail needed, intervening a lower priority job when required. All other jobs would be queued and executed once higher priority jobs were completed.

The main advantage of a priority-interrupt system wasis that it wais very flexible. Once an operating system wawas written, new programs couldcould be added quite easily. On the other hand, the software was nondeterministic, which made testing much more difficult. Unlike a round-robin system, the sequences of jobs tasked by the computer are infinite. The combination of jobs and their requirements for system resources such as memory cannot be predicted before hand; therefore jobs could not be guaranteed completion. To counter the risks posed by these unknown and potentially detrimental sequences, tThe Apollo 11 alarm during lunar landing was just one of an infinite number of unpredictable sequences of jobs in the computer. To combat this, the software designers added protection software that would reset the computer when it detected a fault in the execution of a program. One of the simplest fault protection software was a check on the amount of resources being used. When the program sensed that the computer was running out of memory capacity, it would reset the computer and restart the most important jobs first. This fault protection software was vital in allowing Eagle to land instead of aborting the mission in the final minutes of the lunar landing [EYL].

Hal LanningLaning led the development of the AGC operating system. The tasks of the operating system were divided into two programs: The Executive and the Waitlist. The Executive could handle up to seven jobs at once, while the Waitlist had a limit of nine short tasks [TOM]. The Waitlist handled jobs that required a short amount of time to execute, on the order of 4 milliseconds or less, while the Executive handled most of thethe other jobs required. Every 20 milliseconds, the Executive checked its queue for jobs with higher priorities [TOM].

Writing software for the AGC could be done using machine code, calling basic computer instructions at each step, but. s Although code was often more efficient when written this way, the development process was tedious and more error prone. Often, sSoftware designers at MIT often used an interpretive language that provided higher levelhigher-level instructions such as addition, subtraction, multiplication, and division. More advanced instructions included square roots, vector dot, and cross products. When executed on the computer, each interpretive instruction was translated at run-time into basic computer instructions. The use of an interpretive language was a new and as yet unproven technique at the time. The risks associated with using this unproven technique however was outweighed by its advantages. Interpretive languages allowed software designers to be far more efficient. Designers could code an equation in a natural form using arithmetic instructions instead of translating the equation into binary form. This process had a more significant advantage in that it facilitated the review process. As any software developer can attest, it is much easier to spot an error in the code when it is written clearly and in a form natural for humans to read.

Digital Autopilot

Programs were organized and numbered by their phase in the mission. The programs related to the descent and landing of the LM were P63-67. P63 through P65 were software responsible for guiding the LM automatically through the powered descent and braking phases of the lunar descent. P66 and P67 were optional programs that were called by the astronauts at any time during the descent. They provided the astronauts with manual control of the LM attitude and altitude. The design of the manual control software is discussed later in section xxx.

In all phases of the descent, the digital autopilot was responsible for maintaining the spacecraft attitude through firing RCS jets and gimballing the LM descent engine [COC]. Even during manual control, all commands from the astronauts were first sent to the computer. It was a one of the first fly-by-wire system ever designed. [Elwin: Was it one of the first manned fly-by-wire systems?].

P63 Function

P63 was the first of a series of sequential programs used to guide the LM from lunar orbit down to the surface. The task of P63 was to calculate the time for the crew to initiate ignition of the descent engine for powered descent. This time was calculated based on the position of the LM relative to the planned landing site. Upon ignition of the engine, P63 used guidance logic to control the LM descent towards the approach phase. The braking phase was designed for efficient reduction of orbit velocity and used maximum thrust for most of the phase [BEN]. When the calculated time to target reached 60 seconds, at an approximate altitude of 7000 feet and 4.5 nautical miles from the landing site, P63 automatically transitioned to P64 to begin the approach phase.

P64 Function

P64 carried on the descent, adjusting the spacecraft attitude for crew visual monitoring of the approach to the lunar surface. Measurements from the landing radar became more important in this phase, as the spacecraft approached the lunar surface. Measurements from the radar were more accurate closer to the surface, which counter balanced the effects of drift from the IMU. P64 also allowed the commander to change the desired landing spot by using the hand controller and LPD.

P65 Function

At a calculated time to target of 10 seconds, P65 was called to perform the final landing phase of the descent. P65 nulled out velocity changes in all three axes to preselected values, allowing for automatic vertical descent onto the lunar surface if desired [BEN]. Probes, which extended 5.6 feet below the landing pads signaled contact with the surface and activated a light switch on board the spacecraft, signaling the crew to shut off the descent engine.

lyled

The LM PGNCS used the AGC to execute the control laws for a digital control system by timesharing the computing resources. (This is how modern digital computers execute most computations, but it was relatively novel in the 1960s.)

Inside the LM, there are two hand controllers—one for the Commander and one for the LM Pilot—which can each issue attitude commands in six directions. Whenever the hand controller’s deflection exceeds the “soft stop” at 11 degrees , it closes the manual override switch and allows the astronauts to directly command the thrusters. In this manner, they succeed in enabling human participation—the manual control mode is always available to the pilot and commander, regardless of the guidance mode otherwise selected. If no deflections are input to the hand controller, the Digital AutoPilot (DAP) is executed 10 times per second to control the LM based on the state vector information in the PGNCS. The DAP uses a filter similar to a Kalman filter to estimate bias acceleration, rate, and attitude. However, the gains used are not the Kalman gains---they are nonlinearly-extrapolated from past data stored in the PGNCS, as well as data on engine and thrusters. The nonlinearities in this control allow the system to exclude small oscillations due to structural bending and analog-to-digital conversion errors.

Within the realm of manual control, there are two sub-modes which respond to motion of the side-arm controller stick. The first, “Minimum Impulse Mode”, provides a single 14-ms thruster pulse each time the controller is deflected. This is particularly useful in alignment of the inertial measurement unit (IMU). The second mode is PGNCS Rate Command/Attitude Hold Mode, which allows the astronauts to command attitude rates of change (including a rate of zero, that is, attitude hold).

The system used in Apollo 9, internally called SUNDANCE, used a nonlinear combination of two attitude rates (Manual Control Rates, or MCRs): 20 deg/s for “Normal” maneuvering, and 4 deg/s for “Fine” control. In addition, SUNDANCE system has a large deadband: a section of motion where control inputs create no system response. This deadband helps to prevent limit cycling, a condition where the system begins to oscillate due to controller phase lag. Although it increases system stability, a deadband tends to decrease pilot satisfaction with the system’s handling qualities, since a larger controller input is required to achieve the minimum allowed thrust pulse. This is particularly a problem since it tends to encourage larger pulses than the minimum possible, which wastes reaction control fuel.

In the LUMINARY system, the GN&C designers discovered that they could achieve a well-controlled system, with almost ideal theoretical handling qualities

(i.e. those which would occur in a system with very small or no deadband) without inducing limit cycles. To do this, the designers reduced the Manual Control Rates of the normal control system from 20 deg/s to 14 deg/s, and had pilots operate the system and rate its handling qualities on the Cooper scale. To the surprise of the investigators, the Cooper ratings improved as MCR decreased. They continued to decrease MCR, to 8 deg/s , and continued to see the Cooper ratings of pilot satisfaction with handling quality increase. However, in order to allow a maximum control rate of 20 deg/s (the rate considered necessary for emergency maneuvers) the I/L engineers had to implement a linear-quadratic scaling system for MCR. In addition, to simplify the task of controlling the LM, the PNGCS system adds a “pseudo-auto” mode. This mode maintains attitude automatically in two axes (using minimum impulses of the RCS), so that the astronaut only has to close a single control loop to control the spacecraft in the remaining axis. This type of control system epitomizes the design philosophy of the PNGCS—using digital autopilot control where it simplifies the astronaut’s task, and using manual control where human interaction is beneficial and/or simplifying.

|Specification |SUNDANCE value |LUMINARY value |

|Minimum Firing Time |14 ms |14 ms |

|DAP sampling delay |130-250 ms |130-250 ms |

|Fine MRC |4 deg/s |4 deg/s |

|Normal MRC |20 deg/s |[pic] |

Table 1: Apollo PNGSC Systems: SUNDANCE (Apollo 9) and LUMINARY

Software Development and Testing

Although MIT underestimated the man-hour demands required by the Apollo software, they were well aware of the risks and safety implications of incorrect software. Risk management may not have been a term used in the Sixties, but the care that was applied while developing software for the AGC showed exceptional risk management. Many of the risk management tasks during Apollo were imposed on the team by the technology available at that time. As Margaret Hamilton, who was one of the leading software designers recalls:

When we would send something off to the computer, it took a day to get it back. So what that forced us into is I remember thinking ‘if I only get this back once a day, I’m going to put more in to hedge my bets. If what I tried to do here doesn’t work…maybe what I try here. I learned to do things in parallel a lot more. And what if this, what if that. So in a way, having a handicap gave us a benefit. [MHA]

A key design goal of the AGC was simplicity. Margaret Hamilton recalls how many of the applications in those days were designed by groups sitting in places like bars, using cocktail napkins where today we would use whiteboards in conference rooms. “Here, it was elegant, it was simple. But it did everything…no more no less (to quote Einstein),” as opposed to the more distributed, procedurally-influenced code of today in which “You end up with hodge podge, ad hoc.” [MHA]

“While in traditional systems engineering, desired results are obtained through continuous system testing until errors are eliminated (curative), the Team was focused on not allowing errors to appear in the first place (preventative)." [CUR4] All onboard software went through six different levels of testing. Each level of testing would result in additional components being tested together [SAF].

Due to the long lead time required for the production of the flight software, “there was not the carelessness at the last minute. We went through everything before it went there.” On Apollo, the combination of a restriction of space and numerous peer reviews kept the code tight and efficient. The pain threshold for each bug discovered was a sufficient deterrent for programmers to do their best to get it right the first time around.

Part of the peer management involved programmers eyeballing thousands of line of raw code. John Norton was the lead for this task, and the process was sometimes called “Nortonizing.” “He would take the listings and look for errors. He probably found more problems than anybody else did just by scanning the code.” [MHA] This included a potentially dangerous bug where 22/7 was used as an estimation of pi. The guidance equations needed a much more precise approximation, so Norton had to scour the code for all locations where the imprecise fraction was used [SAF].

A large part of Apollo’s success was that the programmers learned from their errors. “We gradually evolved in not allowing people to do things that would allow those errors to happen.” [MHA] These lessons learned were documented in technical memos, many of which are still available today.

Of the overall Apollo system errors, almost approximately 80 percent were real-time human errors, over 70 percent were recoverable by using software (just prior to landing the software was used in one mission to circumvent the hardware’s erroneous signals to abort in order to save the mission), 40 percent were known about ahead of time but the workaround was inadvertently not used. [ERR]

With all the testing and simulations MIT did on the software, it is surprising any bugs appeared in the code at all. But it did happen. Dan Lickly who programmed much of the initial re-entry software thinks that “errors of rare occurrence—those are the ones that drive you crazy. With these kinds of bugs, you can run simulations a thousand times and not generate an error.” [SAF]

Another risk mitigating technique used on the software was the design of excellent error detection software. The computer would reboot itself if it encountered a potentially fatal problem. When it started up again, it would reconfigure itself and start its processing from the last saved point. This was a deliberate design feature meant to manage the risks involved with the software.

Risk was also effectively managed by maximizing the commonality of software components. All the system software–the procedures for reconfiguration, for restart, for displaying---were the same between the CM and LM. “The command module was more traditional, the LM less traditional in its approach.” [MHA] Wherever they could be, they were the same. Variations were permitted only where the CM and LM had different mission requirements. “For instance, the CM did not have to land on the moon, so it did not have the capacity to do that. The conceptual stuff was the same. [This sentence doesn’t seem to belong] For some reason, in the LM the autopilot was different from the Command module.” [MHA]

In addition, there were some software variations because of the different programmers in charge of the CM and LM software. “The personalities felt very different about what they had to do: the command module was more traditional, the LM less traditional in its approach.” Commonality was encouraged, so wherever they could be, they were the same, but “the gurus in charge didn’t discuss…just did it their own way.”[MHA] This might be considered risky, since it increases the amount of different software paradigms with which the crew must interact.

In the Seventies, “Changes, no matter how small, to either the shuttle objectives or to the number of flight opportunities, required extensive software modification. […] It took 30 person-years, with assistance from computer tools, to plan the activities for a single three-day human spaceflight mission.”[CUR,3]

Human Interface Design

In the early 1960s, there were very few options for input and output devices. This meant human interaction with computers was limited to highly trained operators. “Computers were not considered user-friendly,” explained Eldon Hall [ELD]. For example, one of the premier computers of the time, the IBM 7090, read and wrote data from fragile magnetic tapes and took input from its operator on a desk-sized panel of buttons.

The 7090 used to control the Mercury spacecraft had occupied an entire air-conditioned room at Goddard Spaceflight Center [FRO]. As a result, the Apollo GNC system designers faced a quandary: a room of buttons and switches would not fit inside the LM; a simpler and more compact interface would be need. The design of this interface would involve new human computer interface techniques, techniques that were novel and unique, and posed significant risks for the safety of the crew. If the crew was confused by the interface during an emergency or unable to properly operate the complex array of equipment necessary, their lives and the mission could be in jeopardy. MIT recognized early that proper understanding of the human factors would be needed to mitigate these risks. Human factors analyses were incorporated into all aspects of the crew interface design. These analyses included soliciting astronaut opinion to performing rigorous training and simulations.

DSKY Design

Because space travel was still new, it was unclear what information the astronauts would find useful while flying or how best to display that information.

Everybody had an opinion on the requirements. Astronauts preferred controls and displays similar to the meters, dials, and switches in military aircraft. Digital designers proposed keyboard, printer, tape reader, and numeric displays. [HALL,71]

Although the astronauts’ opinions were greatly valued, their preference for analog displays had to change to allow the capabilities of a digital computer. “Astronauts and system engineers did not understand the complicated hardware and software required to operate meters and dials equivalent to those used in military airplanes.” [HALL,71] This made it difficult for designers to satisfy the astronauts’ desire for aircraft-like displays while still meeting NASA’s deadlines and other requirements.

Astronauts were not the only ones with high demands for the interface design. Jim Nevins, an Instrumentation Lab engineer, says that ”back in the ’62 time period, the computer people came to me and proposed that they train the crew to use octal numbers.” [NEV] This would have simplified the computer’s job of deciphering commands, but would have been very difficult on the astronauts who already had a busy training schedule.

Eldon Hall does not remember that suggestion, but recounted that

The digital designers expressed a great deal of interest in an oscilloscope type of display...a vacuum tube, a fragile device that might not survive the spacecraft environment. It was large, with complex electronics, and it required significant computing to format display data.

This was also rejected, as the fragile vacuum tubes would have been unlikely to survive the G-forces of launch and re-entry.

Eventually, a simple, all-digital system was proposed, which included a small digital readout with a seven-segment numeric display and a numeric keyboard for data entry. The simple device referred to as DSKY (DiSplay KeYboard) used a novel software concept: ”Numeric codes identified verbs (display, monitor, load, and proceed) or nouns (time, gimbal angle, error indication, and star id number). Computer software interpreted the codes and took action.” [HALL,73] The pilots were happy with the new device. David Scott, Apollo 15 commander, commented that “it was so simple and straightforward that even pilots could learn to use it.” [HALL,73] Many of the pilots, including Scott, helped to develop the verb-noun interface. “The MIT guys who developed the verb-noun were Ray Alonzo and [A.L.] Hopkins, but it was interactively developed working with the astronauts and the NASA people.” [NEV] The joint development effort ensured that the astronauts would be able to operate the system effectively in flight. It minimized the risks involved with introducing such novel and as yet unproven techniques.

The display keyboard (Figure 1) is composed of three parts: the numeric display, the error lights, and the keypad. The display uses an eight-bit register to display up to 21 digits (two each for the program, verb, and noun selected, and three rows of five digits for data). Next to the display is a row of error and status lights, to indicate such important conditions as gimbal lock (an engine problem where the gimballed thrusters lock into a certain configuration) and operator error. Below the lights and the display panel is a 19-button keyboard. This keyboard features a nine-button numeric keypad as well as a “noun” button to indicate that the next number being entered is a noun, a “verb" button, a “prg” button, for program selection, a "clear" button, a key release, an “enter” button, and a "reset" button. The crew could enter sequences of programs, verbs, and nouns to specify a host of guidance and navigation tasks. A selection of programs, verbs, and nouns from Apollo 14’s GNC computer are provided in Appendix B.

[pic]

Figure 1. A Close-up of the DSKY device as mounted in the Apollo 13 CSM, Odyssey.

Manual Control Hardware and Software

Control System Design [1]

[Need some re-write to correspond with theme of risk and decisions made during design, also, seems to be much too detailed than required]

IThe design of a vehicle combining automatic and manual control was not entirely new in 1960—autopilots of various forms were incorporated into aircraft starting in the 1940s—but the space environment and the unusual flight dynamics of the LEM required special considerations. In addition, in order to be integrated with the digital computer, the autopilot needed to also be digital, which forced the development of the first fly-by-wire control system.

Inside nside the LM, there are two hand controllers —one for the Commander and one for the LM Pilot—gave the astronauts the ability to issue commands to the Reaction Control System. However, in order to prevent accidental thruster firings, the control stick used a “dead-band” —a threshold for control stick input below which commands are ignored. In practice, this meant that which can each issue attitude commands in six directions. wWhenever the hand controller’s deflection exceedsexceeded the “soft stop” at 11 degrees , it closes the manual override switch closed and allowsallowed the astronauts to directly command the thrusters. In this manner, they succeed in enabling human participation—the manual control mode wasis always available to the pilot and commander, regardless of the guidance mode otherwise selected—while mitigating the risk of accidental inputs wasting reactor propellant.

.

Another danger inherent in a manually-controlled system is task saturation—a situation where the pilot/astronaut is overloaded with information and tasks. To help prevent this, whenever the control stick is not deflected beyond the soft stop, the Digital AutoPilot (DAP) takes over, and the astronaut can concentrate on other tasks. When it is active, the DAP uses a filter similar to a Kalman filter to estimate bias acceleration, rate, and attitude. However, the gains used are not the Kalman gains---they are nonlinearly-extrapolated from past data stored in the PGNCS, as well as data on engine and thrusters. The nonlinearities in this control allow the system to exclude small oscillations due to structural bending and analog-to-digital conversion errors.

If no deflections are input to the hand controller, the Digital AutoPilot (DAP) is executed 10 times per second to control the LM based on the state vector information in the PGNCS. The DAP uses a filter similar to a Kalman filter to estimate bias acceleration, rate, and attitude. However, the gains used are not the Kalman gains---they are nonlinearly-extrapolated from past data stored in the PGNCS, as well as data on engine and thrusters. The nonlinearities in this control allow the system to exclude small oscillations due to structural bending and analog-to-digital conversion errors.

Within the realm of manual control, there are two sub-modes which respond to motion of the side-arm controller stick. The combination of these two modes allows the astronaut to control the vehicle effectively in a variety of situations. . The first, “Minimum Impulse Mode”, provides a single 14-ms thruster pulse each time the controller is deflected. This is particularly useful in alignment of the inertial measurement unit (IMU), as it allows for very fine changes in attitude.). The second mode is PGNCS Rate Command/Attitude Hold Mode, which allows the astronauts to command attitude rates of change (including a rate of zero, that is, attitude hold). In addition, to simplify the task of controlling the LM, the improved PNGCS system for Apollo 10 and later (internally called LUMINARY) added a “pseudo-auto” mode. This mode maintained attitude automatically in two axes (using minimum impulses of the RCS), so that the astronaut only has to close a single control loop to control the spacecraft in the remaining axis. This type of control system division-of-labor epitomizes the risk-minimizing design philosophy of the PNGCS—using digital autopilot control where it was useful and reasonable to implement, and using manual control where human interaction was beneficial and/or simplifying.

The PNGCS control system used in Apollo 9, internally called SUNDANCE, used a nonlinear combination of two attitude rates (Manual Control Rates, or MCRs): 20 deg/s for “Normal” maneuvering, and 4 deg/s for “Fine” control. In addition, SUNDANCE system had a large frequency deadband:— a section of motion where control inputs within a certain frequency band created no system response.. This deadband helped to prevent limit cycling, a condition where the system begins to oscillate due to controller phase lag, which could endanger the mission and the crew. Although it increased system stability, and therefore stabilitysafety, the deadband tended to decrease pilot satisfaction with the system’s handling qualities, since a larger controller input was required to achieve the minimum allowed thrust pulse. This was particularly a problem since it tended to encourage larger pulses than the minimum possible, which wasted reaction control fuel. Astronaut-pilot dissatisfaction with the control system was also considered to be a risk—an pilot who did not comfortable with the control responses of his craft was much less likely to be able to recover from a dangerous situation..

To address these conflicting risks, the MIT/IL team investigated the correlation of handling qualities (as rated on the Cooper-Harper qualitative scale) with various control system parameters using the LEM control stick. T[Re-write this paragraph to show how using Cooper scale allowed maximal familiarity for astronauts, and hence lowered risks of system]

In the LUMINARY system, the designers discovered that they could achieve a well-controlled system, with almost ideal theoretical handling qualities (i.e. those which would occur in a system with very small or no deadband) without inducing limit cycles. To do this, the designers

In particular, reducingced the Manual Control Rates of the “normal” control system from 20 deg/s to 14 deg/s, and had pilots operate the system and rate its handling qualities on the Cooper scale. To the surprise of the investigators, increased the Cooper ratings. the Cooper ratings improved as MCR decreased. TheyAs continued to decrease MCR was further decreased, to 8 deg/s , andthey continued to see the Cooper ratings of pilot satisfaction with handling qualityratings increase. This suggested that the greatest astronaut comfort would occur with the lowest feasible MCR. However, in order to allow a maximum control rate , an MCR of 20 deg/ss (the rate was considered necessary for emergency maneuvers. ) the Eengineers had to implement a linear-quadratic scaling system for MCR to accommodate the fine control rate (4 deg/s), and the maximum control rate (20 deg/s) while minimizing the rate of growth of the control rate to optimize for handling performance. This sort of design tradeoff helped minimize the risks of utilizing a digital autopilot and fly-by-wire system.. In addition, to simplify the task of controlling the LM, the PNGCS system adds a “pseudo-auto” mode. This mode maintains attitude automatically in two axes (using minimum impulses of the RCS), so that the astronaut only has to close a single control loop to control the spacecraft in the remaining axis. This type of control system epitomizes the design philosophy of the PNGCS—using digital autopilot control where it simplified the astronaut’s task, and using manual control where human interaction was beneficial and/or simplifying.

Anthropometry, Displays, and Lighting

[Need to add more stuff on how this affected risk, and how training and experimentation reduced those risks]

The field of anthropometry was relatively new in 1960. Some work had been done at Langley, quantitatively describing the handling qualities of aircraft (and leading to the development of the Cooper-Harper scale for rating handling qualities) but the majority of human factors issues were still addressed by trial and error. Jim Nevins, in a briefing in April 1966, summarized the Instrumentation Lab’s areas of human factor activity into three basic categories: anthropometry, visual and visual-motor subtasks, and environmental constraints. Each of these areas contained their own specific risk factors which had to be addressed by the engineering team.

Anthropometry

Anthropometry is the study and measurement of human physical dimensions. In the early days of flight vehicles, it was frequently ignored in the face of pressing engineering concerns, but designers quickly realized that, in order to operate a vehicle, the pilot must be able to comfortably reach control sticks, pedals, switches and levers. They must be able to read relevant displays while in position to operate the vehicle, and they must be able to turn, pull, twist, or push as the hardware requires. In space, there is the additional constraint of microgravity: any loose objects must be able to be tethered or stowed to avoid crew injury or accidental triggering of switches.

The I/L looked into display and control arrangement, lighting, and caution annunciators using mockups, both in Cambridge (using pseudo-astronaut graduate students) and at the Cape and Houston using the real astronaut. Zero-g tethering was more difficult, as the I/L could not simulate a microgravity environment, so systems were developed and changed as-necessary for later flights. with the following list:

Visual and Visual-motor SubtasksKAT: Make this into paragraph form

1. Anthropometry and gross configuration associated with:

• display and control arrangement

• zero g tethering

• general lighting and caution annunciators

A second area of concern for the Instrumentation Lab was with the interaction between the astronaut’s visual system and the control hardware. It was important that the astronauts be able to, for example, use the optics 2. Visual and visual-motor subtasks for the

• optics (space sextant, scanning telescope, and alignment optical telescope) even while inside their space suits and in a microgravity environment.

They must be able to correctly locate buttons on the DSKY and read the resulting data, even during high-G maneuvers or when the spacecraft was vibrating, and they must be able to read checklists and switch labels. This required investigation into the performance each of these tasks in a variety of situations which might be relevant to the spacecraft environment, again using the simulators and mockups available to the crew and the I/L graduate students.

• computer (display keyboard)

• data and data handling

Environmental Constraints

Before Yuri Gagarin’s 1961 orbital flight, scientists were worried that man might not be able to survive in space. In 1965, although it was clear that space was not immediately fatal to explorers, there were still significant concerns about the space environment affecting the astronauts’ ability to perform control tasks. One major concern was the maneuverability of an astronaut wearing a pressure suit. The suits of the time were quite bulky, and because they were filled with pressurized gas, they were resistant to bending motions, making it difficult to operate in the crowded spacecraft. “Zero-g” (microgravity) and high-g environments were of concern to physicians, but also to engineers—the astronauts would have to operate the same controls in both environments. Vibration, also a concern during launch and re-entry, could also make the controls difficult to read, and needed to be investigated.

Interior illumination was also a concern to the I/L engineers. Since the spacecraft rotated to balance heat, the designers could not count on sunlight to illuminate the control panels. Internal lights were necessary.

3. Evaluation of relevant environmental constraints associated with

• pressure suit

• zero g

• high g

• interior illumination The O2 environment and astronaut fatigue also might have affected the ability of the astronauts to control

• vibration, acoustic noise

• gaseous environment

• physiologic stress, fatigue

The human factors of each design were investigated primarily by using astronauts and volunteers at MIT and elsewhere to test the designs for LM hardware—both in “shirtsleeves” tests and full-up tests in pressure suits, to ensure that the relatively rigid suits with their glare and fog-prone bubble helmets would not interfere with the crew’s ability to perform necessary tasks. The Instrumentation Lab had a mockup of the CM and LM panels, which, in addition to the simulators at Cape Canaveral and Houston, allowed proposed hardware displays, switches, and buttons to be evaluated on the ground in a variety of levels of realism. The rigorous experimental testing helped to mitigate the risk of designing systems for environments which were not entirely understood.

Manual Control vs. Autonomous Control vs. Automatic Control

[Also need some re-write to incorporate theme]

The threat of Soviet interference with a spacecraft launch was a real one to the Apollo designers, and it generated a requirement for the guidance system: the system must be able to function autonomously if Soviet interference should cut the astronauts off from Mission Control.

According to Eldon Hall, “Autonomous spacecraft operation was a goal established during [MIT’s initial Apollo] study: Autonomy implied that the spacecraft could perform all mission functions without ground communication, and it justified an onboard guidance, navigation, and control system with a digital computer. The quest for autonomy resulted, at least in part, from international politics in the 1950s and 1960s, specifically the cold war between the Soviet Union and the United States. NASA assumed that autonomy would prevent Soviet Interference with US space missions”. [HALL59] The threat of Soviet interference in the US manned spaceflight programs made autonomous operation a requirement—but the Instrumentation Lab engineers were not satisfied with autonomy.

] MIT I/L engineers were not satisfied with autonomy, however.

“An auxiliary goal of guidance system engineers was a completely automatic system, a goal that was more difficult to justify. It arose as a technical challenge and justified by the requirement for a safe return to Earth if the astronauts became disabled”. [HALL59] Returning to earth with an automatic guidance system would provide a significant boost to astronaut safety, but it might come with increased risk due to the increased system complexity. Nonetheless, tThe guidance system engineers were understandably optimistic about the possibility of automatic guidance—their experience designing the guidance for the US Navy’s Polaris ballistic missile and the recently-cancelled Mars project, both fully-automatic systems, indicated that automatic lunar missions were reasonable—but feasibility was not the only constraint on system design.

One of the other constraints was the preferences of the system operators. The astronauts were relatively happy with an autonomous system—no pilot wants his craft flown from the ground—-but were quite unhappy with the idea of an entirely automatic system, despite the safety benefit. They wanted the system autonomous, but with as much capacity for manual control as possible. Jim Nevins observed that “the astronauts had this 'fly with my scarf around my neck' kind of mentality. The first crew were real stick and rudder people— not engineers at all”. [NEV] This difference in mentality—between the operators of the system and the designers who really know the details and “funny little things” about the system—caused significant disagreement during the control system design and even later, into the first flights. The designers built automatic systems in, but the astronauts were loathe to trust them unless pressed, which reduced their safety impact.

Jim Nevins, of the I/L, related an anecdote about a situation in which Walter Shirra, one of the most automation-resistant of the astronauts, was forced to trust his life to the automatic re-entry system. On Shirra’s As Apollo 9 flight, as they were preparing for reentry, the flight checklists were running behind, and, in particular “they didn’t get the seat adjusted properly. They spent a long time making sure those seats were secured, because if they broke, these things are big metal rods, and you’d have a nice hamburg, if you will, of the crew when they get down.” This emergency prevented the crew from properly preparing for re-entry. “They were getting to a point where they could get killed, so Wally saluted the boys up North (MIT/IL) and switched the re-entry mode to automatic. Wally told this story at the crew debriefing—he couldn’t say enough good things about the MIT system after that.”[NEV]

The astronauts were also reluctant to embrace new types of manual control technologies, even when they were safer. The MIT I/L engineers had to prove the safety improvements of their innovations to the astronauts and NASA. Jim Nevins tells another story about Astronaut Walter Shirra that illustrates the mindset of the astronauts:

“My first exposure to astronauts was in the fall of 1959. A student of mine, Dr. Robert (Cliff) Duncan, was a classmate of Walter Shirra at the Naval Academy. After a NASA meeting at Langley, Cliff invited me to lunch with Wally.” Although their conversation ranged over many topics, “the memorable one was Wally’s comments related to astronaut crew training and the design of the spacecraft control system for the Mercury and Gemini spacecrafts.”

“Wally wanted rudder pedals in the Mercury," explained Jim. The Mercury, Gemini, and Apollo systems all had a side-arm controller, which was not only stable in a control sense, but , as previously described, utilized a deadband dead-band controller (a control system where motion of the control stick less than a certain threshold angle is ignored) to reduce the effects of accidental stick motion. The astronaut was still in control, but traditionalists considered this type of control risky—in order to make the system stable if the man let go, it was also made less reactive to the controls. Engineers thought this type of system reduced risks considerably, and did tests to prove it.

Jim continued, “A couple years later, when we became involved with Apollo, the NASA training people told me that the only way they could satisfy Wally was to promise him we’d have rudder pedals in Gemini, where they had more room. Of course this was never done—by that time Wally had become more comfortable with the side-arm controller.”

To prove that the sidearm controller was superior, they tested the astronauts with a traditional system and the sidearm system “under 9, 10, 15 Gs. I told people ’You know, they’re not going to have control [of the stick and rudder]. They’re going to be flopping overThe NASA people made movies of test pilots under 9, 10, 15 Gs, using both systems. With stick-rudder controls they flopped all over the cockpit and they did not with the sidearm..’ Even with that kind of data they still didn’t want [the sidearm controller device].” [MINNEV]

“The meetingThis was a ’stage-setter’ for me in that it defined the relationship between ‘us’ (the designers) and the ’crew’ (the real-time operators). It meant that we could only achieve the program’s goals by involving the crew in all facets and depths of the design process.” [NEV]

Eventually, a set of guidelines were established for the Instrumentation Lab engineers working on Apollo, which were called General Apollo Design Ground Rules: [JNE]

• The system should be capable of completing the mission with no aid from the ground; i.e. self-contained

• The system will effectively employ human participation whenever it can simplify or improve the operation over that obtained by automatic sequences of the required functions

• The system shall provide adequate pilot displays and methods for pilot guidance system control

• The system shall be designed such that one crew member can perform all functions required to accomplish a safe return to earth from any point in the mission.

These guidelines allowed the engineers to include the appropriate levels of autonomy, automation, and manual control in the Apollo GNC system to keep the astronauts comfortable with the system’s technology, while utilizing the latest control technologies to reduce overall system risk.m.

System Level Risk Management Decisions

In-Flight Maintenance

``In 1964, if you could get 100 hours MTBF on a piece of electronics, that was a good piece of electronics.'' [NEV] Unfortunately] Unfortunately, the Apollo GN&C system needed to have hundreds of electronic parts, all of which had to operate simultaneously for not only the two weeks (~300 hours) of the mission, but for the entire mission preparation period, which might be several months, with tens of simulated missions. The decision on whether to provide the ability for in-flight maintenance was one that had significant risk-associated implications. The decision was intricately connected to the reliability of the hardware and the ability of the crew to perform the necessary tasks in flight. NASA was aware of the risks posed by having a single string computer and until 196X, they had pushed the idea of having a replaceable unit onboard to mitigate the risk of a failed computer in-flight.

There were a host of suggestions for how the GN&C computer might be made more robust against electronics failures. At the bidder's conference in the spring of 1962, one bidder on the computer's industrial support contract made a suggestion that summed up the difficulty. ``The bidder proposed that the spacecraft carry a soldering iron. Repair would involve removing and replacing individual components. Although the proposal seemed extreme, a provision for in-flight repair was still thought to be the only way to achieve the necessary level of confidence'' (HALL 92).

A slightly more realistic plan to deal with reliability issues was to train the astronauts to replace components in-flight. This would still require the development of reliable connectors, which could be mounted on printed circuit boards, but would only require the astronauts to replace whole modules. MIT I/L folks were still skepticalThe engineers at the Instrumentation Lab were quite skeptical. "We thought [in flight-maintenance] was nonsense'' recalled Jim Nevins, who was at the I/L at the time, ``but we had to evaluate it. We laid out a program for the crew based on the training of an Air Force Navigator: normal basic training, plus maintenance training, plus basic operational flight, and there was a tremendous cost to do all this---it took over three years. The crew training people were horrified. This went down like thunder, and we got invaded---all the six of the astronauts came down to the Instrumentation Lab. The end result was that you can't go to the moon and do all the things you want to do, so the requirement for in-flight maintenance was removed.'' [NEV]

The idea of replaceable components did not entirely disappear, however, until the engineers began to discover the problems with moisture in space. “In Gordon Cooper's Mercury flight, some important electronic gear had malfunctioned because moisture condensed on its uninsulated terminals. The solution for Apollo had been to coat all electronic connections with RTV, which performed admirably as an insulator.” [AHO] This potting (replaced with a non-flammable material after the Apollo 1 fire) prevented moisture from getting into the electronics, but made in-flight repair essentially impossible.

Ultimately, the decision against in-flight maintenance was forced upon NASA by technical infeasibility, but the risk associated with a computer failure in flight was never disregarded. This risk was managed by system level redundancy. In effect, ground control direction and in-flight computer became parallel systems, each capable of providing the capability to complete the mission. During phases of mission where ground control was ineffective, provisions were made to provide a backup for the AGC. The Abort Guidance System (AGS) was designed for this specific purpose.

[Kat: This section could use more of a transition from the last section. Also, after re-reading it a couple of times, this section is pretty deep technically. I wonder if it is a bit much for this paper.]

The LM PGNCS uses the AGC to execute the control laws for a digital control system by timesharing the computing resources. (This is how modern digital computers execute most computations, but it was relatively novel in the 1960s.)

Inside the LM, there are two hand controllers—one for the Commander and one for the LM Pilot—which can each issue attitude commands in six directions. Whenever the hand controller’s deflection exceeds the “soft stop” at 11 degrees , it closes the manual override switch and allows the astronauts to directly command the thrusters. In this manner, they succeed in enabling human participation—the manual control mode is always available to the pilot and commander, regardless of the guidance mode otherwise selected. If no deflections are input to the hand controller, the Digital AutoPilot (DAP) is executed 10 times per second to control the LM based on the state vector information in the PGNCS. The DAP uses a filter similar to a Kalman filter to estimate bias acceleration, rate, and attitude, but with gains which have been nonlinearly-extrapolated from past data stored in the PGNCS, as well as data on engine and thruster firings [Kat: There is a lot in this sentence. Can you break it up?]. The nonlinearities in this control allow the system to exclude small oscillations due to structural bending and analog-to-digital conversion errors.

Within the realm of manual control, there are two sub-modes which respond to motion of the side-arm controller stick. The first, “Minimum Impulse Mode”, provides a single 14-ms thruster pulse each time the controller is deflected. This is particularly useful in alignment of the inertial measurement unit (IMU). The second mode is PGNCS Rate Command/Attitude Hold Mode, which allows the astronauts to command attitude rates of change (including a rate of zero, that is, attitude hold).

The system used in Apollo 9, internally called SUNDANCE, used a nonlinear combination of two attitude rates (Manual Control Rates, or MCRs): 20 o/s for “Normal” maneuvering, and 4 o/s for “Fine” control. In addition, SUNDANCE system has a large deadband: a section of motion where control inputs create no system response. This deadband helps to prevent limit cycling, a condition where the system begins to oscillate due to controller phase lag. Although it increases system stability, a deadband tends to decrease pilot satisfaction with the system’s handling qualities, since a larger controller input is required to achieve the minimum allowed thrust pulse. This is particularly a problem since it tends to encourage larger pulses than the minimum possible, which wastes reaction control fuel.

In the LUMINARY system, the GN&C designers discovered that they could achieve a well-controlled system, with almost ideal theoretical handling qualities

(i.e. those which would occur in a system with very small or no deadband) without inducing limit cycles. To do this, the designers reduced the Manual Control Rates of the normal control system from 20 o/s to 14 o/s, and had pilots operate the system and rate its handling qualities on the Cooper scale. To the surprise of the investigators, the Cooper ratings improved as MCR decreased. They continued to decrease MCR, to 8 o/s , and continued to see the Cooper ratings of pilot satisfaction with handling quality increase. However, in order to allow a maximum control rate of 20 o/s (the rate considered necessary for emergency maneuvers) the I/L engineers had to implement a linear-quadratic scaling system for MCR. In addition, to simplify the task of controlling the LM, the PNGCS system adds a “pseudo-auto” mode. This mode maintains attitude automatically in two axes (using minimum impulses of the RCS), so that the astronaut only has to close a single control loop to control the spacecraft in the remaining axis. This type of control system epitomizes the design philosophy of the PNGCS—using digital autopilot control where it simplifies the astronaut’s task, and using manual control where human interaction is beneficial and/or simplifying.

Side-arm control in high-G scenarios

|Specification |SUNDANCE value |LUMINARY value |

|Minimum Firing Time |14 ms |14 ms |

|DAP sampling delay |130-250ms |130-250 ms |

|Fine MRC |4 � | |

|Normal MRC |s 20 � s |wc = |MCR 40 sgn(�) � |�|−2 + (|�|−2)2 2 |

Table 1: Apollo PNGSC Systems: SUNDANCE (Apollo 9) and LUMINARY

In-Flight Maintenance

”The bidder proposed that the spacecraft carry a soldering iron. Repair would involve removing and replacing individual components. Although the proposal seemed extreme, a provision for in-flight repair was the only way to achieve the necessary level of confidence” Hall 92

Abort Guidance System

The Abort Guidance System (AGS) was unique to the LM. Built by TRW, it served as a backup to the PGNCS. In case the PGNCS failed during landing, the AGS would take over the mission and perform the required engine and RCS maneuvers to put the LM into an appropriate orbit for rendezvous. ((A backup computer was not needed in the CM as the ground controllers provided the guidance and navigational information for the crew. In operation, the PGNCS essentially was the backup for the ground controllers.) For the LM, however, especially during the final phases of lunar landing, the three second communicationthree second communication delay meant that guidance and control from the ground would have been useless. The AGS was designed and built solely to fill the backup role for this single phase of the mission, but because the PGNCS worked so well, it was never used in flight.

Abort Guidance System Hardware

Similar to the PGNCS, the AGS had three major components: the Abort Electronic Assembly, which was the computer, the Abort Sensor Assembly, a strap down inertial sensor, and a Data Entry and Display Assembly, where commands were entered by astronauts [TOM]. The AGS computer architecture had 18-bits per word with 27 machine instructions. It had 2000 words of fixed memory and 2000 words of erasable memory. The completed package was 5 by 8 by 24 inches, weighed 33 pounds, and required 90 watts [TOM].

Abort Guidance System Software

As with the PGNCS, memory capacity was the major issue in the development of the AGS software. Unlike the PGNCS however, the operating system was based on a round-robin typeservice architecture. Every job was assigned a time slot during each round, and the computer would process jobs sequentially, repeating the process every round. The AGS software provided the crew with the same state vector information as the PGNCS, derived independently from its own inertial units. It had software to guide the LM through an abort and safe rendezvous with the CM. Like the PGNCS, the software development effort for the AGS faced similar issues including memory capacity and changing requirements.

Abort Guidance System

The Abort Guidance System (AGS) was unique to the LM. Built by TRW, it served as a backup to the PGNCS. In case the PGNCS failed during landing, the AGS would take over the mission and perform the required engine and RCS maneuvers to put the LM into an appropriate orbit for rendezvous. A backup computer was not needed in the CM as the ground controllers provided the guidance and navigational information for the crew. In operation, the PGNCS essentially was the backup for the ground controllers. For the LM, however, especially during the final phases of lunar landing, the three second communication delay meant that guidance and control from the ground would have been useless. The AGS was designed to provide the backup role for this single phase of the mission, but because the PGNCS worked so well, it was never used in flight.

AGS Hardware

Similar to the PGNCS, the AGS had three major components: the Abort Electronic Assembly, which was the computer, the Abort Sensor Assembly, a strap down inertial sensor, and a Data Entry and Display Assembly, where commands were entered by astronauts [TOM]. The AGS computer architecture had 18-bits per word with 27 machine instructions. It had 2000 words of fixed memory and 2000 words of erasable memory. The completed package was 5 by 8 by 24 inches, weighed 33 pounds, and required 90 watts [TOM].

AGS Software

As with the PGNCS, memory capacity was the major issue in the development of the AGS software. Unlike the PGNCS however, the operating system was based on a round-robin type architecture. Every job was assigned a time slot during each round, and the computer would process jobs sequentially, repeating the process every round. The AGS software provided the crew with the same state vector information as the PGNCS, derived independently from its own inertial units. It had software to guide the LM through an abort and safe rendezvous with the CM. Like the PGNCS, the software development effort for the AGS faced similar issues including memory capacity and changing requirements.

Human-Machine Interaction

“How do you take a pilot, put him in a spacecraft, and have him talk to a computer?” -Dave Scott, Apollo 15 commander

In the early 1960s, there were very few options for input and output devices which meant human interaction with computers was limited to highly-trained operators. “Computers were not considered user-friendly,” [ELD] explained Eldon Hall, one of the Apollo GNC system designers. For example, one of the premier computers of the time, the IBM 7090, read and wrote data from fragile magnetic tapes, and took input from its operator on a desk-sized panel of buttons. It was one of the first computers using transistors, rather than vacuum tubes—a huge advantage in robustness, but a relatively unproven technology. The 7090 used to control the Mercury spacecraft also occupied an entire air-conditioned room at Goddard Spaceflight Center [FRO]. As a result, the Apollo GNC system designers faced a quandary: a room of buttons and switches would not fit inside the CM—a simpler interface would be necessary.

No one had experience putting human beings in space, much less having them control complicated machines. It was unclear what information the astronauts would find useful while flying, or how best to display that information. “Everybody had an opinion on the requirements. Astronauts preferred controls and displays similar to the meters, dials, and switches in military aircraft. Digital designers proposed keyboard, printer, tape reader, and numeric displays.” [HALL71] Although the astronauts’ opinions held a lot of weight, some of the simple analog displays they were accustomed to were simply infeasible in a craft run by a 1960s-era digital computer. “Astronauts and system engineers did not understand the complicated hardware and software required to operate meters and dials equivalent to those used in military airplanes.” [HALL71] This made it difficult for designers to satisfy the astronauts’ desire for aircraft-like controls while still meeting NASA’s deadlines and other requirements.

Astronauts were not the only ones asking for miracles from the GNC software. Jim Nevins, an Instrumentation Lab engineer, says that ”back in the ’62 time period, the computer people came to me and proposed that they train the crew to use octal numbers.” [NEV] This would have simplified the computer’s job deciphering commands, but would have been very difficult on the astronauts, who already had a busy training schedule learning the various aspects of their job. Eldon Hall does not remember that suggestion, but recounted that “the digital designers expressed a great deal of interest in an oscilloscope type of display...a vacuum tube, a fragile device that might not survive the spacecraft environment. It was large, with complex electronics, and it required significant computing to format display data.” This, also, was rejected—the fragile vacuum tubes would have been unlikely to survive the G-forces of launch and re-entry.

Eventually, a simple, all-digital system was proposed which included a small digital readout with a seven-segment numeric display and a numeric keyboard for data entry. The simple device referred to as DSKY used a novel software concept: ”Numeric codes identified verbs (display, monitor, load, and proceed) or nouns (time, gimbal angle, error indication, and star id number). Computer software interpreted the codes and took action.” [HALL73] The pilots were happy with the new device. David Scott, Apollo 15 commander, commented that “it was so simple and straightforward that even pilots could learn to use it.” [HALL73] Many of the pilots, including Scott, actually helped to develop the verb-noun interface. “The MIT guys who developed the verb-noun were Ray Alonzo and [A.L.] Hopkins, but it was interactively developed working with the astronauts and the NASA people.” [NEV]

DSKY Design

DSKY, as shown in Figure 1, is composed of three parts: the numeric display, the error lights, and the keypad. The display uses an 8-bit register to display up to 21 digits (two each for the program, verb, and noun selected, and three rows of five digits for data). Next to the display is a row of error and status lights, to indicate important conditions like gimbal lock (an engine problem where the gimballed thrusters lock into a certain configuration), and operator error, among others. Below the lights and the display panel is a 19-button keyboard. This keyboard features a now-standard 9-button numeric keypad as well as a “noun” button to indicate that the next number being entered is a noun, a “verb" button, a “prg” button, for program selection, a "clear" button, a key release, an “enter” button, and a "reset" button. The crew could enter sequences of programs, verbs, and nouns to specify a host of guidance and navigation tasks. A selection of programs, verbs, and nouns from Apollo 14’s GNC computer are provided in Appendix B.

[pic]

Figure 1. A Close-up of the DSKY device as mounted in the Apollo 13 CSM, Odyssey.

The design of the DSKY changed very little between Block I and Block II— the commands changed, but the interface device stayed essentially the same.

Anthropometry, Displays, and Lighting

[Kat: I assume you intend to work on this section some more.]

Jim Nevins, in a briefing in April 1966, summarized the Instrumentation Lab’s areas of human factor activity with the following list:

1. Anthropometry and gross configuration associated with:

• display and control arrangement

• zero g tethering

• general lighting and caution annunciators

2. Visual and visual-motor subtasks for the

• optics (space sextant, scanning telescope, and alignment optical telescope)

• computer (display keyboard)

• data and data handling

3. Evaluation of relevant environmental constraints associated with

• pressure suit

• zero g

• high g

• interior illumination

• vibration, acoustic noise

• gaseous environment

• physiologic stress, fatigue

The human factors of each design were investigated primarily by using astronauts and volunteers at the MIT I/L and elsewhere to test the designs for LM hardware—both in “shirtsleeves” tests and full-up tests in pressure suits, to ensure that the relatively rigid suits with their glare and fog-prone bubble helmets would not interfere with the crew’s ability to perform necessary tasks.

FIXME -simulating zero g control tasks? FIXME -simulating high g control tasks? FIXME -simulating vibration?

Control: Manual, Autonomous, or Automatic?

According to Eldon Hall, “Autonomous spacecraft operation was a goal established during [MIT’s initial Apollo] study: Autonomy implied that the spacecraft could perform all mission functions without ground communication, and it justified an onboard guidance, navigation, and control system with a digital computer. The quest for autonomy resulted, at least in part, from international politics in the 1950s and 1960s, specifically the cold war between the Soviet Union and the United States. NASA assumed that autonomy would prevent Soviet Interference with US space missions”. [HALL59] The threat of Soviet interference in the US manned spaceflight programs made autonomous operation a requirement—but the Instrumentation Lab engineers were not satisfied with autonomy.

“An auxiliary goal of guidance system engineers was a completely automatic system, a goal that was more difficult to justify. It arose as a technical challenge and justified by the requirement for a safe return to Earth if the astronauts became disabled”. [HALL59] The guidance system engineers were understandably optimistic about the possibility of automatic guidance—their experience designing the guidance for the US Navy’s Polaris ballistic missile and the recently-cancelled Mars project, both fully-automatic systems, indicated that automatic lunar missions were reasonable—but feasibility was not the only constraint on system design.

One of the other constraints was the preferences of the system operators. The astronauts were relatively happy with an autonomous system—no pilot wants his craft flown from the ground—-but were quite unhappy with the idea of an entirely automatic system. They wanted the system autonomous, but with as much capacity for manual control as possible. Jim Nevins observed that “the astronauts had this 'fly with my scarf around my neck' kind of mentality. The first crew were real stick and rudder people— not engineers at all”. [NEV] This difference in mentality—between the operators of the system and the designers who really know the details and “funny little things”[2] about the system—caused significant disagreement during the control system design and even later, into the first flights.

Jim Nevins tells a story about Astronaut Walter Shirra that illustrates the mindset of the astronauts:

“My first exposure to astronauts was in the fall of 1959. A student of mine, Dr. Robert (Cliff) Duncan, was a classmate of Walter Shirra at the Naval Academy. After a NASA meeting at Langley, Cliff invited me to lunch with Wally.” Although their conversation ranged over many topics, “the memorable one was Wally’s comments related to astronaut crew training and the design of the spacecraft control system for the Mercury and Gemini spacecrafts.”

“Wally wanted rudder pedals in the Mercury," explained Jim. The Mercury, Gemini, and Apollo systems all had a side-arm controller, which was not only stable in a control sense, but utilized a dead-band controller (a control system where motion of the control stick less than a certain threshold angle is ignored) to reduce the effects of accidental stick motion. The astronaut was still in control, but traditionalists considered this type of control risky—in order to make the system stable if the man let go, it was also made less reactive to the controls.

Jim continued, “A couple years later, when we became involved with Apollo, the NASA training people told me that the only way they could satisfy Wally was to promise him we’d have rudder pedals in Gemini, where they had more room. Of course this was never done—by that time Wally had become more comfortable with the side-arm controller.”

To prove that the sidearm controller was superior, they tested the astronauts with a traditional system and the sidearm system “under 9, 10, 15 Gs. I told people ’You know, they’re not going to have control [of the stick and rudder]. They’re going to be flopping over.’ Even with that kind of data they still didn’t want [the sidearm control device].” [MIN]

“The meeting was a ’stage-setter’ for me in that it defined the relationship between ‘us’ (the designers) and the ’crew’ (the real-time operators). It meant that we could only achieve the program’s goals by involving the crew in all facets and depths of the design process.”

Eventually, a set of guidelines were established for the Instrumentation Lab engineers working on Apollo, which were called General Apollo Design Ground Rules: [JNE]

• The system should be capable of completing the mission with no aid from the ground; i.e. self-contained

• The system will effectively employ human participation whenever it can simplify or improve the operation over that obtained by automatic sequences of the required functions

• The system shall provide adequate pilot displays and methods for pilot guidance system control

• The system shall be designed such that one crew member can perform all functions required to accomplish a safe return to earth from any point in the mission.

These guidelines allowed the engineers to include the appropriate levels of autonomy, automation, and manual control in the Apollo GNC system.

Control System Design [3]

[Kat: This section could use more of a transition from the last section. Also, after re-reading it a couple of times, this section is pretty deep technically. I wonder if it is a bit much for this paper.]

The LM PGNCS uses the LGC to execute the control laws for a digital control system by timesharing the computing resources. (This is how modern digital computers execute most computations, but it was relatively novel in the 1960s.)

Inside the LM, there are two hand controllers—one for the Commander and one for the LM Pilot—which can each issue attitude commands in six directions. Whenever the hand controller’s deflection exceeds the “soft stop” at 11 degrees , it closes the manual override switch and allows the astronauts to directly command the thrusters. In this manner, they succeed in enabling human participation—the manual control mode is always available to the pilot and commander, regardless of the guidance mode otherwise selected. If no deflections are input to the hand controller, the Digital AutoPilot (DAP) is executed 10 times per second to control the LM based on the state vector information in the PGNCS. The DAP uses a filter similar to a Kalman filter to estimate bias acceleration, rate, and attitude, but with gains which have been nonlinearly-extrapolated from past data stored in the PGNCS, as well as data on engine and thruster firings [Kat: There is a lot in this sentence. Can you break it up?]. The nonlinearities in this control allow the system to exclude small oscillations due to structural bending and analog-to-digital conversion errors.

Within the realm of manual control, there are two sub-modes which respond to motion of the side-arm controller stick. The first, “Minimum Impulse Mode”, provides a single 14-ms thruster pulse each time the controller is deflected. This is particularly useful in alignment of the inertial measurement unit (IMU). The second mode is PGNCS Rate Command/Attitude Hold Mode, which allows the astronauts to command attitude rates of change (including a rate of zero, that is, attitude hold).

The system used in Apollo 9, internally called SUNDANCE, used a nonlinear combination of two attitude rates (Manual Control Rates, or MCRs): 20 o/s for “Normal” maneuvering, and 4 o/s for “Fine” control. In addition, SUNDANCE system has a large deadband: a section of motion where control inputs create no system response. This deadband helps to prevent limit cycling, a condition where the system begins to oscillate due to controller phase lag. Although it increases system stability, a deadband tends to decrease pilot satisfaction with the system’s handling qualities, since a larger controller input is required to achieve the minimum allowed thrust pulse. This is particularly a problem since it tends to encourage larger pulses than the minimum possible, which wastes reaction control fuel.

In the LUMINARY system, the GN&C designers discovered that they could achieve a well-controlled system, with almost ideal theoretical handling qualities

(i.e. those which would occur in a system with very small or no deadband) without inducing limit cycles. To do this, the designers reduced the Manual Control Rates of the normal control system from 20 o/s to 14 o/s, and had pilots operate the system and rate its handling qualities on the Cooper scale. To the surprise of the investigators, the Cooper ratings improved as MCR decreased. They continued to decrease MCR, to 8 o/s , and continued to see the Cooper ratings of pilot satisfaction with handling quality increase. However, in order to allow a maximum control rate of 20 o/s (the rate considered necessary for emergency maneuvers) the I/L engineers had to implement a linear-quadratic scaling system for MCR. In addition, to simplify the task of controlling the LM, the PNGCS system adds a “pseudo-auto” mode. This mode maintains attitude automatically in two axes (using minimum impulses of the RCS), so that the astronaut only has to close a single control loop to control the spacecraft in the remaining axis. This type of control system epitomizes the design philosophy of the PNGCS—using digital autopilot control where it simplifies the astronaut’s task, and using manual control where human interaction is beneficial and/or simplifying.

Side-arm control in high-G scenarios

|Specification |SUNDANCE value |LUMINARY value |

|Minimum Firing Time |14 ms |14 ms |

|DAP sampling delay |130-250ms |130-250 ms |

|Fine MRC |4 � | |

|Normal MRC |s 20 � s |wc = |MCR 40 sgn(�) � |�|−2 + (|�|−2)2 2 |

Table 1: Apollo PNGSC Systems: SUNDANCE (Apollo 9) and LUMINARY

In-Flight Maintenance

”The bidder proposed that the spacecraft carry a soldering iron. Repair would involve removing and replacing individual components. Although the proposal seemed extreme, a provision for in-flight repair was the only way to achieve the necessary level of confidence” Hall 92

System-Level Risk Managementnt and Apollo

Risk management may not have been a term used in the Sixties, yet the care that was applied while developing software for the AGC showed exceptional risk management. Many of the risk management tasks during Apollo were imposed on the team by the technology available at that time.

When we would send something off to the computer, it took a day to get it back. So what that forced us into is I remember thinking ‘if I only get this back once a day, I’m going to put more in to hedge my bets. If what I tried to do here doesn’t work…maybe what I try here. I learned to do things in parallel a lot more. And what if this, what if that. So in a way, having a handicap gave us a benefit. [MHA]

A key design goal of the AGC was simplicity. Margaret Hamilton recalls how many of the applications in those days were designed by groups sitting in places like bars, using cocktail napkins where today we would use whiteboards in conference rooms. “Here, it was elegant, it was simple. But it did everything…no more no less (to quote Einstein),” as opposed to the more distributed, procedurally-influenced code of today in which “You end up with hodge podge, ad hoc.” [MHA]

“While in traditional systems engineering, desired results are obtained through continuous system testing until errors are eliminated (curative), the Team was focused on not allowing errors to appear in the first place (preventative)." [CUR4] All onboard software went through six different levels of testing. Each level of testing would result in additional components being tested together [SAF].

Due to having the code “sewn” everything needed to be working when it was integrated. “There was not the carelessness at the last minute. We went through everything before it went there.” On Apollo, the combination of a restriction of space and numerous peer reviews kept the code tight and efficient. This pain threshold for each bug was a sufficient deterrent to cause programmers to do their best to get it right the first time around.

Part of the peer management involved programmers eyeballing thousands of line of raw code. John Norton was the lead of this, and the process was sometimes called “Nortonizing.” “He would take the listings and look for errors. He probably found more problems than anybody else did just by scanning and half of what went on there was simulation for testing.” [MHA] This includes a potentially dangerous bug where 22/7 was used as an estimation of pi. The guidance equations needed a much more precise approximation, so Norton had to scour the code for all locations where the imprecise fraction was used [SAF].

A large part of Apollo’s success was that the programmers learned from their errors. “We gradually evolved in not allowing people to do things that would allow those errors to happen.” [MHA] These lessons learned were documented in technical memos, many of which are still available today.

Of the overall Apollo system errors, almost approximately 80 percent were real-time human errors, over 70 percent were recoverable by using software (just priot to landing the softare was used in one mission to circumbent the hardware’s erroneous signals to abort in order to save the mission), 40 percent were known about ahead of time but the workaround was inadvertantly not used. [ERR]

With all the testing and simulations MIT did on the software, it is surprising any bugs appeared in the code at all. But it did happen. Dan Lickly, programmer for much of the initial re-entry software thinks that “errors of rare occurrence—those are the ones that drive you crazy.” With these kinds of bugs, you can run simulations a thousand times and not generate an error.” [SAF]

Because the AGC had excellent error detection, the computer would reboot itself if it encountered a potentially fatal problem. When it started up again, it would reconfigure itself and start its processing from the last saved point.

Apollo also managed risk by maximizing the commonality of hardware and software components. All the system software–the procedures for reconfiguration, for restart, for displaying---were the same between the CM and LM. “The command module was more traditional, the LM less traditional in its approach.” [MHA] Wherever they could be, they were the same. Variations were permitted only where the CM and LM had different mission requirements. “For instance, the CM did not have to land on the moon, so it did not have the capacity to do that. The conceptual stuff was the same. For some reason, in the LM the autopilot was different from the Command module.” [MHA]

In addition, there were some software variations because of the different programmers in charge of the CM and LM softwares. “The personalities felt very different about what they had to do: the command module was more traditional, the LM less traditional in its approach.” Commonality was encouraged, so wherever they could be, they were the same, but “the gurus in charge didn’t discuss…just did it their own way.”[MHA] This might be considered risky, since it increases the amount of different software paradigms with which the crew must interact.

In the Seventies, “Changes, no matter how small, to either the shuttle objectives or to the number of flight opportunities, required extensive software modification. […] It took 30 person-years, with assistance from computer tools, to plan the activities for a single three-day human spaceflight mission.”[CUR3]

Many of the risk management tasks during Apollo were imposed on the team by the technology available at that time.

"When we would send something off to the computer, it took a day to get it back. So what that forced us into is I remember thinking ‘if I only get this back once a day, I’m going to put more in to hedge my bets. If what I tried to do here doesn’t work…maybe what I try here. I learned to do things in parallel a lot more. And what if this, what if that. So in a way, having a handicap gave us a benefit." [MHA]

“While in traditional systems engineering, desired results are obtained through continuous system testing until errors are eliminated (curative), the Team was focused on not allowing errors to appear in the first place (preventative)." [CUR4]

Part of the peer management involved programmers eyeballing thousands of line of raw code. ___ Norton was the lead of this, and the process was sometimes called “Nortonizing.” “He would take the listings and look for errors. He probably found more problems than anybody else did just by scanning and half of what went on there was simulation for testing.” [MHA]

A big part of Apollo’s success was that the programmers learned from their errors. “We gradually evolved in not allowing people to do things that would allow those errors to happen.” [MHA] Many memos are still available today listing these lessons learned.

Because the AGC had excellent error detection, the computer would reboot itself if it encountered a potentially fatal problem. When it started up again, it would reconfigure itself and start its processing from the last saved point.

In the Seventies, “Changes, no matter how small, to either the shuttle objectives or to the number of flight opportunities, required extensive software modification. […] It took 30 person-years, with assistance from computer tools, to plan the activities for a single three-day human spaceflight mission.”[CUR3]

Due to having the code “sewn” everything needed to be working when it got there. “There was not the carelessness at the last minute. We went through everything before it went there” On Apollo, the combination of a restriction of space and numerous peer reviews kept the code tight and efficient.

Risk management may not have been a term used in he Sixties, yet the care that was applied to applications showed exceptional risk management. Margaret Hamilton spoke about how many of the applications in those days were designed by groups sitting in places like bars, using cocktail napkins where today we would use whiteboards in conference rooms.

“Here, it was elegant, it was simple. But it did everything…no more no less (to quote Einstein),” as opposed to the more distributed, procedurally-influenced code of today in which “You end up with hodge podge, ad hoc.”

All the systems software….reconfigure, restart, the displays were all the same. The functionality in general that varied had to do with different hardware or mission requirements. For instance, the CM didn’t have to land on the moon so it didn’t need to have capacity to do that. The “conceptual stuff” was the same. “For some reason, in the LEM the autopilot was different from the Command module.”

“The personalities felt very different about what they had to do.” “The command module was more traditional, the LEM less traditional in its approach.” Wherever they could be, they were the same. The gurus in charge didn’t discuss…just did it their own way. DAP digital autopilot.

Thoughts on CEV Landing System Design

CEVWhatever form the final landing system design will take, it will surely require a powerful computing system to implement the complex guidance, control, and more than likely, automation requirements. Space-based computing systems have evolved tremendously since the Apollo program, but there are still many challenges including fault tolerance, human-automation interfaces, advance control law design, and software complexities.

CEV

CEV Computing Hardware

Whatever form the final landing system design will take, it will surely require a powerful computing system to implement the complex guidance, control, and more than likely, automation requirements. Space-based computing systems have evolved tremendously since the Apollo program, but there are still many challenges, including fault tolerance, human-automation interfaces, advance control law design, and software complexities.

The current state-of-the-art in spacecraft computing systems is the Space Shuttle Primary Computer System. Although it has been in operation for over 20 years, the system still sets the standard for space-based real-time computing, fault tolerance, and software design. The Space Shuttle Primary Computer System uses a total of 5 five general purpose computers, with four running the Primary Avionics Software System, and the fifth running an independent backup software [ONG].

The four primary computers run synchronously. Each computer is constantly checking for faults in its own system as well as the other 3 three computers. The added fault tolerance capability comes at a cost, as the algorithms for ensuring synchronous operation and fault checking is extremely complex. T; the first Space Shuttle flight was postponed due to a fault in the synchronization algorithm, which was only discovered during launch.

The CEV computing architecture would surelywill likely resemble more like the Space Shuttle’s rather than Apollo’s. , due to the advances in computing technology since Apollo first launched. Current risks strategies would never allow manned spaceflight on a single string computer as in Apollo. The tradeoff between risk mitigation and increased complexities will have to be balanced effectively to maximize the reliability and complexity of the system as a whole. A synchronous triple modular redundant computing system should provide the necessary fault tolerance required, while maintaining a reasonable level of complexity. Similar systems are employed daily on safety-critical fly-by-wire commercial aircraft like the Boeing 777 [YEH] and Airbus A3XX family [BER].

The tradeoff between risk mitigation and increased complexities will have to be balanced effectively to maximize the reliability and complexity of the system as a whole. A synchronous triple modular redundant computing system should provide the necessary fault tolerant requirements needed, while maintaining a reasonable level of complexity. Similar systems are employed daily on safety-critical fly-by-wire commercial aircraft like the Boeing 777 [YEH] and Airbus A3XX family [BER].

CEV Mission Software

The CEV mission software would be one of the most complex and daunting software projects ever undertaken. Much insight can be gained by emulating successful programs such as the Space Shuttle software and fly-by-wire aircraft software. Emphasis should be given to simplicity and thorough evaluation and validation. Although tremendously successful, the Space Shuttle Software is prohibitively expensive and complex [MAD]. The CEV will be more reliable and easier to operate with a single software system, rather than two separate systems. The backup software has never been used on the Space Shuttle, and it can be argued that the cost and effort of producing the backup software could be better spent on validating the primary software. The requirements for two separate software systems would significantly add to the complexity of the system [KL].

Builders of the CEV guidance system should still code for reliability over redundancy. For example, in a redundant atmosphere, ifRedundant software systems are not guaranteed to be effective. tIf two groups build off the same specification, and the specification is incorrect, both groups will produce problematic end results. In addition, as noted by Hamiltonn said, "There’s a primary and a secondary. So if something goes wrong with the primary, it could go to a worse place when it goes to secondary. If you make a bad assumption in the spec, they’re both going to still be bad.” [MHA]

The CEV mission software would be one of the most complex and daunting software projects ever undertaken. Much insight can be gained by emulating successful programs such as the Space Shuttle software and fly-by-wire aircraft software. Emphasis should be given to simplicity and thorough evaluation and validation. Although tremendously successful, the Space Shuttle Software is prohibitively expensive and complex [MAD]. The CEV software will arguably be more beneficial with a single primary software instead of two separate systems. The backup software has never been used on the Space Shuttle, and it can be argued that the cost and effort of producing the backup software could be better spent on validating the primary software. Research have proved no significant benefits in using dissimilar software, and the requirements for two separate software systems would significantly add to the complexity of the system [KL].

CEV Automation

[We don’t have a section on CEV manual control]

As with Apollo, the level of automation in the CEV will have significant political overtones. The final decision between a human pilot and a machine pilot will certainly be a political decision, not an engineering decision. However, since automated systems have become more reliable in the intervening 40 years since the Apollo project began, the CEV will likely have a sophisticated automated piloting and landing system. Although automated landing systems have been employed for many years in robotic missions, the CEV will be the first to employ such a system on a manned mission.

To prevent a disastrous accident like the one experienced by the Mars Polar Lander [MPL], the automation software will require extensive and thorough review and testing. The Apollo software should serve as an excellent starting point for the proposed design. The sophisticated landing software used on the LM was in fact capable to landing the craft on its own, with the crew serving as system monitors [BEN]. New technologies such as the use of more powerful computers and advanced control law designs should be added when necessary, but the overall objective will be to maintain simplicity and avoid unnecessary complexities.

The decision of the pilot, either human or automated, will surely be a political one. But as the current trend in automation predicts, the CEV will likely have a sophisticated automated piloting and landing system. Although automated landing systems have been employed for many years in robotic missions, the CEV will be the first to employ such a system on a manned mission. To prevent a disastrous accident like the one experienced by the Mars Polar Lander [MPL], the automation software will require extensive and thorough review and testing. The Apollo software should serve as an excellent starting point for the proposed design. The sophisticated landing software used on the LM was in fact capable to landing the craft on its own, with the crew serving as system monitors [BEN]. New technologies such as the use of more powerful computers and advanced control law designs should be added when necessary, but the overall objective will be to maintain simplicity and avoid unnecessary complexities.

CEV Risk Management Techniques and CEV

Today, risk management can actually serve to increase risk rather than mitigate it. While we have much more knowledge of softwarecomputing systems today and tools available at our disposal, the designers of the AGC may have had an advantage. “Creative people were given the freedom to do it without any legacy distracting them or influencing them.” [MHA]

Because of the nature of the apollo software we had the unenviable (or enviable) opportunity to make just about every kind of error possible, especially since the flight software was being developeed concurrently with hardware, the simultor, the training of the astronauts ,etc., and no one had been to the moon before. In addition wer were under the gun with what today would have been unrealistic expecations and schedules. This and what was accomplished (or not accomplished) provided us a wealth of information from which to learn. [HTI2]

Among the most important requirements for the CEV is that the software should be asynchronous and multi-threaded. In a synchronous environment, “If you touch it, everything falls out of place.” This was one of the problems with the Shuttle software. Going forward, the CEV should have asynchronous processing so that events and objects are easy to add or reconfigure.

After the Shuttle disaster, NASA called for ways to improve the shuttle. Many submissions were made, and forty-four were selected for further research. “The resultant 44 proposals, internally known at NASA as ‘The Famous 44’ were made available to NASA management only 90 days after the [Columbia] disaster.”[CUR5] Three of these were based on Apollo’s guidance system. Eventually, the field was narrowed to 13, and then to one. The final one was written by Margaret Hamilton and her team, and was based on taking all of the technologies from Apollo and applying them directly.

In an HTI paper, Hamilton writes

Traditional systemengineering and software development environments supportusers in "fixing wrong things up" rather than in "doing things in the right way in the first place". [HTI]

One of the goals listed in the final paper was “to reuse systems and software with no errors to obtain the desired functionality and performance, thereby avoiding the errors of a newly developed system.” [CUR4]

Many things they used to do manually at the time of Apollo, they can now automate. […] The principles, the general foundations, most of them came out of [the Apollo] effort.

Today, we can use their methods of concurrent and parallel coding efforts that the Apollo used to design the LM and CM at the same time. Reuse is assuredly more formalized, but by keeping the codedesign simple without many bells and whistles, the sharing should be easy. Said Hamilton, “We would learn from what we did then and make it inherent…I’d have a human involved in going from specs to code and now we automatically generate the code so we don’t have those human errors but we still follow the rules.”

Builders of the CEV guidance system should still code for reliability over redundancy. For example, in a redundant atmosphere, if two groups build off the same specification, and the specification is incorrect, both groups will produce problematic end results. In addition, Hamilton said,

There’s a primary and a secondary. So if something goes wrong with the primary, it could go to a worse place when it goes to secondary. If you make a bad assumption in the spec, they’re both going to still be bad. [MHA]

A further way to ensure that the systemoftware is easy to track and reconfigure is to develop with an open architecture. Spend time doing extensive design and analysis, “defining the system as a system,” [MHA] and create it so it works with changeable languages or platforms. Any steps that can ensure a safe integration should be identified and standardized immediately.

“Many things that are unexpected are not known.”[MHA] Because not all possible problems may be known at the time of analysis and design, the architecture should remain open so that modules can be added, removed, or modified as needed. The Shuttle lacked this capability, and suffered because of it.

The business practices of today are also to blame in part. Today, we are “influenced by Microsoft releasing a system that has bugs in it.” [MHA] This gives developers the freedom to say, “Well, yah, everybody has bugs.” [MHA] Rather than looking for the perfection and ability to “do it right the first time” that Hamilton had demanded of her team, today’s standards have sadly falling and are more permissive of inadequacies.

[Need to change this paragraph to include more than just software]

Today’s culture prides itself on complex distributed architectures. While beneficial in areas that are not a matter of life and death, these methodologies can actually backfire when ideas from different areas are combined and developers come in to create their own code. “You end up with hodge podge, ad hoc.”

Part of what made the AGC team successful was its ability to form a coherent group and to remain in the same company for many years. Employees of today do not show the same commitment and loyalty to their companies that they did in the Sixties. To be successful on the next moon mission, NASA needs to form a team that will guarantee it will stay. They should start “auditions” for such teams as quickly as possible. Give the teams smaller projects that are not as critical to the role of the CEV; perhaps they can do other jobs at NASA or be pulled form existing groups there.

NASA would need to create lucrative contracts with a pay structure that would guarantee the developersengineers desired salaries for a number of years; perhaps fixing on a standard and guaranteeing that salary plus a (addition to it)

Culture of Safety

An important risk mitigating technique, not available during Apollo is a study of safety cultures. According to Professor Nancy Leveson, creatoran expert in the field of software and system safety of the software safety field, Apollo had a much stronger safety culture than that of the Space Shuttle. NASA is so performance driven today that safety requirements are often the first thing to be cut when the delivery timeline becomes compressed [NAN]. Also, concern for safety issues is not a constant and is often inversely proportional to concerns for performance. As illustrated in Figure X, right after accidents, NASA's concern for safety noticeably increases as you might imagine, however, the level of concern quickly tapers back down to near pre-accident levels.

Figure X.

[pic]

Author: Nancy Leveson

Professor Leveson believes that NASA has to anchor its safety efforts externally and take away control over implementation of safety requirements from internal program managers. That way, when push comes to shove and a tradeoff has to be made between safety, performance, or schedule, that safety is no longer the first choice. Figure X estimates the level of risk that is present when an independent technical authority for safety is in place and when it is not.

Figure X

[pic]

Author: Nancy Leveson

Today, risk management can actually serve to increase risk rather than mitigate it. While we have much more knowledge of software today and tools available for our disposal, the designers of the AGC may have had an advantage. “Creative people were given the freedom to do it without any legacy distracting them or influencing them.” [MHA]

Among the most important requirements for the CEV is that the software should be asynchronous and multi-threaded. In a synchronous environment, “If you touch it, everything falls out of place.” This was one of the problems with the Shuttle software. Going forward, the CEV should have asynchronous processing so that events and objects are easy to add or reconfigure.

After the Shuttle disaster, NASA called for ways to improve the shuttle. Many submissions were made, and forty-four were selected for further research. “The resultant 44 proposals, internally known at NASA as ‘The Famous 44’ were made available to NASA management only 90 days after the [Columbia] disaster.”[CUR5] Three of these were based on Apollo’s guidance system. Eventually, the field was narrowed to 13, and then to one. The final one was written by Margaret Hamilton and her team, and was based on taking all of the technologies from Apollo and applying them directly (Appendix C) [Ilana: Add this appendix].

One of the goals listed in the final paper was “to reuse systems and software with no errors to obtain the desired functionality and performance, thereby avoiding the errors of a newly developed system.” [CUR4]

Many things they used to do manually at the time of Apollo, they can now automate. “The principles, the general foundations, most of them came out of [the Apollo] effort.” Today, we can use their methods of concurrent and parallel coding efforts that the Apollo used to design the LM and CM at the same time. Reuse is assuredly more formalized, but by keeping the code simple without many bells and whistles, the sharing should be easy. Said Hamilton, “We would learn from what we did then and make it inherent…I’d have a human involved in going from specs to code and now we automatically generate the code so we don’t have those human errors but we still follow the rules.”

Builders of the CEV guidance system should still code for reliability over redundancy. For example, in a redundant atmosphere, if two groups build off the same specification, and the specification is incorrect, both groups will produce problematic end results. In addition, Hamilton said,

"There’s a primary and a secondary. So if something goes wrong with the primary, it could go to a worse place when it goes to secondary. If you make a bad assumption in the spec, they’re both going to still be bad”

A further way to ensure that the software is easy to track and reconfigure is to develop with an open architecture. Spend time doing extensive design and analysis, “defining the system as a system,” [MHA] and create it so it works with changeable languages or platforms. Any steps that can ensure a safe integration should be identified and standardized immediately.

“Many things that are unexpected are not known.”[MHA] Because not all possible problems may be known at the time of analysis and design, the architecture should remain open so that modules can be added, removed, or modified as needed. The Shuttle lacked this capability, and suffered because of it.

The business practices of today are also to blame in part. Today, we are “influenced by Microsoft releasing a system that has bugs in it.” [MHA] This gives developers the freedom to say, “Well, yah, everybody has bugs.” [MHA] Rather than looking for the perfection and ability to “do it right the first time” that Hamilton had demanded of her team, today’s standards have sadly falling and are more permissive of inadequacies.

Today’s culture prides itself on complex distributed architectures. While beneficial in areas that are not a matter of life and death, these methodologies can actually backfire when ideas from different areas are combined and developers come in to create their own code. “You end up with hodge podge, ad hoc.”

Part of what made the AGC team successful was its ability to form a coherent group and to remain in the same company for many years. Employees of today do not show the same commitment and loyalty to their companies that they did in the Sixties. To be successful on the next moon mission, NASA needs to form a team that will guarantee it will stay. They should start “auditions” for such teams as quickly as possible. Give the teams smaller projects that are not as critical to the role of the CEV; perhaps they can do other jobs at NASA or be pulled form existing groups there.

NASA would need to create lucrative contracts with a pay structure that would guarantee the developers desired salaries for a number of years; perhaps fixing on a standard and guaranteeing that salary plus a (addition to it)

Conclusion

Appendix A - Word Length and Arithmetic Precision

A digital computer stores numbers in binary form. To achieve arithmetic precision, there must be enough bits to store a number in a form sufficient for mathematical precision. To increase this precision, a number can be stored using 2 words, with a total of 28 data bits. A binary number stored with 28 bits is equivalent to around 8 decimal digits. To express the distance to the moon, 28 bits would be enough to express the number in 6 foot6-foot increments, which was more than enough for the task. [HHBS]

Appendix B – DSKY Commands

[Kat: Can you write a paragraph or two here explaining this table in a little more depth?]

LGCAGC Programmes (Apollo 14), Luminary 1D.

Number Title

Service

P00 LGC Idling

P06 PGNCS Power

P07 Systems Test (Non-flight)

Ascent

P12 Powered Ascent Guidance

Coast

P20 Rendezvous Navigation

P21 Ground Track Determination

P22 RR Lunar Surface Navigation

P25 Preferred Tracking Attitude

P27 LGC Update

Pre-thrusting

P30 External delta-V

P32 Co-elliptic Sequence Initiation (CSI)

P33 Constant Delta Altitude (CDH)

P34 Transfer Phase Initiation (TPI)

P35 Transfer Phase Midcourse (TPM)

Thrust

P40 DPS Thrusting

P41 RCS Thrusting

P42 APS Thrusting

P47 Thrust Monitor

Alignments

P51 IMU Orientation Determination

P52 IMU Realign

P57 Lunar Surface Alignment

Descent & Landing

P63 Landing Maneuvre Braking Phase

P64 Landing Maneuvre Approach Phase

P66 Rate of Descent Landing (ROD)

P68 Landing Confirmation

Aborts & Backups

P70 DPS Abort

P71 APS Abort

P72 CSM Co-elliptic Sequence Initiation (CSI) Targeting

P73 CSM Constant Delta Altitude (CDH) Targeting

P74 CSM Transfer Phase Initiation (TPI) Targeting

P75 CSM Transfer Phase Midcourse (TPM) Targeting

P76 Target delta V.

Verb codes

05 Display Octal Components 1, 2, 3 in R1, R2, R3.

06 Display Decimal (Rl or R1, R2 or R1, R2, R3)

25 Load Component 1, 2, 3 into R1, R2, R3.

27 Display Fixed Memory

37 Change Programme (Major Mode)

47 Initialise AGS (R47)

48 Request DAP Data Load Routine (RO3)

49 Request Crew Defined Maneuvre Routine (R62)

50 Please Perform

54 Mark X or Y reticle

55 Increment LGC Time (Decimal)

57 Permit Landing Radar Updates

59 Command LR to Position 2

60 Display Vehicle Attitude Rates (FDAI)

63 Sample Radar Once per Second (R04)

69 Cause Restart

71 Universal Update, Block Address (P27)

75 Enable U, V Jets Firing During DPS Burns

76 Minimum Impulse Command Mode (DAP)

77 Rate Command and Attitude Hold Mode (DAP)

82 Request Orbit Parameter Display (R30)

83 Request Rendezvous Parameter Display (R31)

97 Perform Engine Fail Procedure (R40)

99 Please Enable Engine Ignition

Noun Codes

11 TIG of CSI

13 TIG of CDH

16 Time of Event

18 Auto Maneuvre to FDAI Ball Angles

24 Delta Time for LGC Clock

32 Time from Perigee

33 Time of Ignition

34 Time of Event

35 Time from Event

36 Time of LGC Clock

37 Time of Ignition of TPI

40 (a) Time from Ignition/Cutoff

(b) VG

(c) Delta V (Accumulated)

41 Target Azimuth and Target Elevation

42 (a) Apogee Altitude

(b) Perigee Altitude

(c) Delta V (Required)

43 (a) Latitude (+North)

(b) Longitude (+East)

(c) Altitude

44 (a) Apogee Altitude

(b) Perigee Altitude

(c) TFF

45 (a) Marks

(b) TFI of Next/Last Burn

(c) MGA

54 (a) Range

(b) Range Rate

(c) Theta

61 (a) TGO in Braking Phase

(b) TFI

(c) Cross Range Distance

65 Sampled LGC Time

66 LR Slant Range and LR Position

68 (a) Slant Range to Landing Site

(b) TGO in Braking Phase

(c) LR Altitude-computed altitude

69 Landing Site Correction, Z, Y and X

76 (a) Desired Horizontal Velocity

(b) Desired Radial Velocity

(c) Cross-Range Distance

89 (a) Landmark Latitude (+N)

(b) Longitude/2 (+E)

(c) Altitude

92 (a) Desired Thrust Percentage of DPS

(b) Altitude Rate

(c) Computed Altitude

Appendix C: Definitions

A software error is an unintended phenomenon in tan implementation of the specification for a computer

Appendix C – TBD

[Ilana: Add Appendix C here]

Bibliography

[LB] Laning, J. Hal, Battin, Richard H., “Theoretical Principle for a Class of Inertial Guidance Computers for Ballistic Missiles,” R-125, MIT Instrumentation Laboratory, Cambridge, MA, June 1956.

[JON] Jones, James., “Ferrite Core Memories”, Byte Magazine, July 1976.

[HALL] Hall, Eldon., Journey to the Moon, AIAA, 1996.

[BAT] Battin, Richard, “Funny Things Happened On the Way to the Moon,” Presentation at Engineering Apollo, MIT,

[HTI] Hamilton, Margaret. “The Heart and Soul of Apollo: Doing it Right the First Time.” MAPLD International Conference, September 9, 2004.

[BEN] Bennett, Floyd, “Apollo Lunar Descent and Ascent Trajectories,” NASA Technical Memorandum, Presented to the AIAA 8th Aerospace Science Meeting, New York, January 19-21, 1970.

[HHBS] Blair-Smith, Hugh, “Annotations to Eldon Hall's Journey to the Moon,” MIT History of Recent Science and Technology, hrst.mit.edu, last updated August, 2002.

[HBS] Hugh Blair-Smith Interview, Cambridge, Massachusetts, April 7, 2005.

[WIK] Wikpedia,

[HOP] Hopkins, “Guidance and Computer Design,” Spacecraft Navigation, Guidance, and Control, MIT, Cambridge, 1965.

[COC] Cherry, George and O'Connor, Joseph, “Design Principles of the Lunar Excursion Module Digital Autopilot,” MIT Instrumentation Laboratory, Cambridge, July, 1965.

[ONG] Ong, Elwin, “From Anonymity to Ubiquity: A Study of Our Increasing Reliance on Fault Tolerant Computing,” Presentation at NASA Goddard, , December 9, 2003.

[YEH] Yeh, Y.C., "Safety Critical Avionics for the 777 Primary Flight Controls System," IEEE, 2001.

[BER] Briere, Dominique, and Traverse, Pascal, "Airbus A320/A330/A340 Electrical Flight Controls A Family of Fault Tolerant Systems", IEEE 1993.

[KL] Knight, John and Leveson, Nancy, “An Experimental Evaluation of the Assumption of Independence in Multi-Version Programming,” IEEE Transactions on Software Engineering, Vol. SE-12, No. 1, January 1986, pp. 96-109.

[MAD] Madden, W.A., & Rone, K.Y., "Design, Development, Integration: Space Shuttle Primary Flight Software System," ACM, 1984.

[MPL] Euler, E.E., Jolly, S.D., and Curtis, H.H. “The Failures of the Mars Climate Orbiter and Mars Polar Lander: A Perspective from the People Involved”. Guidance and Control 2001, American Astronautical Society, paper AAS 01-074, 2001.

[ELD] Hall, Eldon. “The Apollo Guidance Computer: A Designer’s View

[NEV] Jim Nevins Interview, Cambridge, Massachusetts, April TBD, 2005.

[FRO]

[MHA] Margaret Hamilton Interview, Cambridge, Massachusetts, April TBD, 2005.

[CUR] Curto, Paul A. and Hornstein, Rhoda Shaller, “Injection of New Technology into Space Systems,” Nautical Aeronautics and Space Administration. Washington, DC.

[MIN] Mindell Interview Transcript, April 26, 2004

[JNE] April 21, 1966 James L. Nevins slides

[ERR] Hamilton, Margaret. “Just what is an Error Anyway.”

[HTI2] Hamilton Technologies, Incorporated. Proposal submitted for shuttle, resubmitted for CEV. May 20, 2004

[EH] Hall, Eldon, Presentation to Engineering Apollo, Cambridge, MA, April 20, 2005.

[BT] Tindall, William, Tindalgrams.

[SAF]

[EYL] Eyles, Don, “Tales from the Lunar Module Guidance Computer,” Paper presented to the 27th annual Guidance and Control Conference of the American Astronautical Society, Brekenridge, Colorado, February 6, 2004, AAS 04-064.

-----------------------

[1] Summarized based on Stengel, Robert F. “Manual Attitude Control of the Lunar Module”, June 1969

[2] At the Instrumentation Lab, people used this as a technical term, abbreviated as “FLTs.”

[3] Summarized based on Stengel, Robert F. “Manual Attitude Control of the Lunar Module”, June 1969

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download