By Rob Manning
On July 4, 1997, half an hour before Pathfinder was scheduled to enter the Martian atmosphere, we had just finished the transition from Earth control to fully autonomous control: the spacecraft was now responsible for its own actions. Monitoring Pathfinder’s telemetry, we looked for the expected sequence of actions that would prepare for Mars entry, descent, and landing. One step was closing valves in the propulsion system, but the spacecraft told us the valves were staying open. The valves being open or closed was not critical in itself, but we needed to know why we had gotten that unexpected message and whether it signaled a larger problem that would threaten the mission.
Our best guess was that the spacecraft might be running an old version of software, the version it launched with. During the seven-month journey to Mars, we designed, tested, and uploaded new software that made the entry, descent, and landing (EDL) system much more tolerant of noise and possible radar outages. This unexpected message looked a lot like how the old software used to behave. Had we booted up the old version by mistake? It was possible; both versions were still on board.
We did have time—but barely ten minutes—to send a command to reboot into the right version before the EDL sequence started. It would take eleven minutes for any signal we sent to reach the spacecraft. But rebooting the computer minutes before entering the Martian atmosphere was not something we wanted to do unless we were absolutely sure that Pathfinder was running the wrong version of the software. How could we find out? The spacecraft was not configured to send down the current version number and there was no time to ask it.
Glenn Reeves, the flight software lead, turned to Richard Cook and, virtually at the same time, they yelled, “Jordan Kaplan!” Cook, our mission manager, then raced into Jesse Wright’s office in search of the answer in the few minutes we had to make a decision.
Jordan had been a member of the Pathfinder team who, sadly, had died in April when his private plane crashed. To honor his memory, the software team had added his name to the software “fill packets”—text available to insert in communication from the spaceship to Earth when the actual data being sent did not fill the standard-size “frames” the data transmission system used. His name appeared only in the new version of the software.
Richard ran to Jesse’s computer, where Jesse quickly decoded the fill packet. Moments later, they came back yelling, “Jordan Kaplan! Don’t reboot!” They had found his name; Pathfinder was running the right version of the software.
Pathfinder landed successfully. The tension of that lastminute crisis is memorable, but so is the quick thinking of the Pathfinder team and the thoroughness of their knowledge of the system—down to the software fill code. The experience also shows the potential value of frivolity (and human feeling, in this case). The supposedly meaningless content of the fill packets turned into a valuable analytical tool. In planetary exploration, you can’t predict all the problems you’ll face or all the resources you’ll have to solve them.
About the Author
|Rob Manning was chief engineer for the 1997 Mars Pathfinder project and is currently chief engineer for the Mars Exploration Program at the Jet Propulsion Laboratory.