Curiosity and the computer!

Forty three years ago in July, those of us old enough to remember the event, sat glued to the radio or television listening to the Apollo 11 moon landing, spellbound by the courage and high adventure of it all. This month, many of us sat fascinated, watching and listening to the scientists and engineers at the JPL in California, as they monitored the automated landing of the rover Curiosity on Mars.

Artist's impression of Curiosity rover on Mars Back then in 1969, I'd warrant that many (most?) of us reading this piece hadn't laid eyes on an electronic calculator, or even a slide rule, much less a computer. While many mainframe computers were employed on the ground, the groundbreaking Apollo Guidance Computer (AGC) carried on board the lunar lander and command module were less powerful than today's mobile phones.

But now, where we take massive computing power for granted, it's hard to imagine a space probe not being equipped with the latest, most skookum, computer system, so just what exactly drives Curiosity? Let's see how it stacks up...

The rover has a 200 MHz PowerPC 750 central processor, similar to, but marginally slower than the processors used in 1997 Apple PowerBook G3 laptops. That may not sound like much compared to the GigaHertz quadcore processor equipped laptop or desktop on our desks, but the processor is built into a special package hardened to withstand cosmic radiation which would otherwise corrupt data and destroy the electronic components.

This computer controlled the flight to Mars, and will control the scientific instruments and operation of the rover on the planet's surface. For redundancy, there is a second computer, also equipped with the BAE RAD750 microprocessor. Each one has 2 gigabytes of flash memory and 256 megabytes of random access memory. Why such a "slow" processor...? Because, the device must work in space without fail, and testing the processor and the assembly takes years before the design is given the final stamp of approval. Future space craft will indeed have more powerful systems aboard.

A final point - the operating system... no Windows, or Linux or OSX here... Curiosity's computers run VxWorks, a real time operating system widely used in embedded systems, and used on several other spacecraft, many industrial and tranportation applications, and more identifiable for us, in systems such as the Apple Airport Extreme, some Linksys wireless routers, Sonicwall firewalls, Drobo storage, vehicle computer and entertainment systems, Formula 1 race car telemetry systems, and so on. And that operating system upgrade installed by NASA in the days after the landing... that was nothing quite like the flood of updates we install every month, but the replacement of a now redundant part of the system needed to land the rover with software required for surface exploration.

Pretty cool, no?

(Curiosity image courtesy of NASA)