2006-01-13

Metrication fiascos #1 - the Mars Climate Orbiter

NASA's 1998 Mars Climate Orbiter (MCO) had several trajectory correction thrusts applied on its journey, but each time the resulting correction was smaller than ordered. Perhaps some mental alarm bells should have started ringing at Mission Control. Ultimately the MCO arrived 170 km lower than planned. It disappeared, presumably burning up in the Martian atmosphere.

What went wrong? Clearly space missions are very complex projects, and the MCO Mishap Investigation Board found many small oversights of project management and operation. The root cause however was "Failure to use metric units in the coding of a ground software file, 'Small Forces', used in trajectory models". In other words, the thrust required for each trajectory correction was calculated by the ground software in pound-seconds, but was actuated by the spacecraft software in newton-seconds, less than a quarter of the required thrust. It's not surprising that the trajectory corrections didn't work. The Board and many commentators drew this lesson: don’t mix units.

But this is a trivial conclusion; there is a more important lesson to be learned. The ground software  wrote a pure number to a file, which was transmitted to the spacecraft software which interpreted it as a quantity. We need to agree on ways to fully represent units in data, so that a physical quantity ('1234 lbf·s' in this case) can be transmitted wholly and unambiguously between computers, and can be rejected or converted if necessary by the receiver.

This is going to be a growing problem, as we have an increasing number of autonomous computers (trains, mining equipment, cars, robots etc) interacting in the physical world and sharing data.

No comments: