Mars Curiosity powered by reliable, upgradeable technology from last century.
Bleeding-edge technologies and social networking tools are helping people witness discoveries on the Red Planet, but NASA’s Curiosity rover is using a 12-year-old computer processor design and an operating system that dates back to the 1980s to explore Mars.
The 200Mhz performance of the Mars Curiosity processor — a PowerPC 700 computer processor that first appeared in 1997 Apple MacIntosh and PowerBook G3 laptops — is a tenth of what consumers have today in Ultrabook computers and even some smartphones. That dated processor powers an operating system that’s even more ancient; Wind River VxWorks dates back almost 30 years. First released in 1987, the OS is now a host of industrial automation applications from BMW automobiles to SpaceX spacecraft to Apache helicopters.
NASA has used VxWorks for several deep space missions, including Sojourner, Spirit, Opportunity and the Mars Reconnaissance Orbiter. When the space agency’s Jet Propulsion Laboratory (JPL) needs to run stress tests or simulations for upgrades and fixes to the OS, Wind River’s Mike Deliman gets the call. In a recent interview, Deliman, a senior member of the technical staff at Wind River, which is owned by Intel, gave a peek at the legacy technology under Curiosity’s hood and recalled the emergency call he got when an earlier Mars mission hit a software snag after liftoff.
Your code is helping explore Mars. How does that feel?
I’ve been watching every minute of Curiosity. What excites me is to think that I get to participate in what is really inspiring the next generation of scientists. As a kid, I watched Apollo and “Star Trek.” I wanted to be Captain Kirk. Being part of these missions to Mars is pretty close to being Captain Kirk. It’s a very inspiring thing for me and humanity.
When did you first work with JPL?
I’ve been involved with the JPL for almost 2 decades. Pathfinder used VxWorks in 1994. We had less than 1 year to get it done and we had only three people from Wind River working on it, assisting small teams at Loral Space systems and the JPL. Today we have a much bigger team working together on the RAD 750 Power PC, which uses the same chip that powered old iMacs and is now being used on Mars.
Why use that processor?
We needed an existing, reliable chip that could withstand radiation exposure. Most radiation-hardened chips could only withstand up to 500 kilorads, while the RAD 750 PowerPC chip could handle a megarad of radiation exposure, twice the required amount of radiation resistance.
There are two central computers running inside the Mars Science Laboratory Curiosity Rover. One is for backup and debug and the other does the heavy lifting like managing commands, sensors, avionics and wheels. The difference between these and computers most people use is that an Excel spreadsheet can take a while to come up, but VxWorks has to react immediately in order to survive while exploring Mars’ surface. In addition to having the right technology, it took insights from 7,000 people working on Curiosity to reach a reliable level of determinism, which is a scientific term describing how precisely computer commands react to the real world as things are happening.
What are some examples of that real world reaction?
Everything is computer-controlled from the launch button to space flight, landing and exploration, rockets and robots. Everything needs guidance all the way from launch to the cruise phase and down to the 7 minutes of terror landing of Mars Curiosity, when the computer guides the sky crane to softly land the rover and commands the crane to cut the tethers and fly away.
There are chips in all packets and cameras, and the VxWorks operating system tells them when and what to do. The Aegis [Autonomous Exploration Gathering for Increased Science], which was tested on the Opportunity mission to Mars, takes photos, processes them to see if anything looks interesting it will train the cameras to focus on what’s most interesting. Everything needs to execute with precision.
Does NASA have you “on call” in case there is an emergency?
I’m more like a Wind River employee waiting for JPL to call me if there’s trouble, say maybe with a software patch that didn’t work properly. In many ways, it’s similar to how we work with other customers building medical scanners, embedded routers and modems, and even aerospace companies working on secret projects where we don’t know even exactly what they are building. At one point or another, they come to us describing how things are going awry. We recreate what the customer is experiencing then run simulations to help debug what’s causing problems.
Back when Spirit Rover landed on Mars in 2004, it experienced file systems problems. I got a call on landing day while I was in Southern California. I fired up my laptop and worked with three groups who were dealing with a variety of time zones: California, Japan and Mars. Since I had a RAD 6000 systems on my desk running simulations, by the end of first week we figured it out and were able to fix it.
Today, I don’t have the newer RAD750 on my desk. They’re hard to get and cost about $50,000 plus another $350,000 per board for flight systems grade. Instead, I use a Wind River ICE-2 and a Wind River WrSbc8548 PowerPC computer to run simulations.
Building and running simulations is one thing, but how do you come up with fixes?
My mind is always running through things. I might even be in the shower when an idea hits me. Once I woke up from a dream and hacked out part of the solution.