Software to change en route to Mars

What's aboard each Mars rover?

  • 20-MHz, 32-bit Rad 6000 CPU module from BAE Systems

  • VxWorks OS from Wind River

  • Embedded, homegrown NASA apps
  • A view of Mars taken from NASA's Hubble Space Telescope.

    The Mars Rover

    As Mars wings closer to Earth than it has in 60,000 years, NASA is tweaking the software forthe two rovers speeding toward the Red Planet.

    The twin NASA rovers now heading toward Mars owe more of their brainpower to the successful 1997 Mars Pathfinder than to the doomed missions of 1999.

    Software developers at NASA's Jet Propulsion Laboratory in Pasadena, Calif., reused much of the code that guided Pathfinder and its onboard rover, Sojourner. And they're taking more time to test the all-important software instructions that will steer the two Exploration Rover spacecraft out of interplanetary trajectory and down to a safe landing.

    The developers needed so much time, in fact, that they're still working on the landing code.

    Not until November will NASA transmit a software upgrade in preparation for the Jan. 24 and 25 landings, said Roger Klemm, a technical staff member at JPL.

    Klemm works on flight software development for Spirit and Opportunity, the twin spacecraft of the Mars Exploration Rover program. Launched in June and July, they are slated to land on opposite sides of the planet to analyze its surface.

    The rovers' computers must operate 'in an environment more hostile than a microwave oven,' said Mike Deliman, a technical staff member at Wind River Systems Inc. of Alameda, Calif.
    The brain of each spacecraft is a 20-MHz, 32-bit Rad 6000 CPU module, a radiation-hardened version of an early IBM PowerPC processor, now manufactured by BAE Systems of Farnborough, England.

    'The smaller the electronics get here on Earth, the more susceptible they become to cosmic radiation,' Klemm said.

    In 1995, Wind River ported its real-time VxWorks operating system to the Rad 6000 in preparation for Mars Pathfinder. Deliman said he was part of that team, which worked so well that NASA tried to recreate the team as much as possible.

    Although the CPU's power hasn't been state-of-the-art since the late 1980s, it is the most radiation-hardened processor available for deep space, Deliman said.

    The compiler included with the MULTI development environment from Green Hills Software Inc. of Santa Barbara, Calif., is the only compiler validated to generate proper code for the Rad 6000 chip, Klemm said. JPL engineers are using the Green Hills compiler 'for heritage reasons' because they reused so much code verbatim from the successful Mars Pathfinder, he said.

    The multitasking OS slices up CPU time 'so that no one task will hog it, and everyone can get a little piece of the pie,' Klemm said. JPL designed the architecture to work with VxWorks' scheduling and interrupt features.

    The software developers used Wind River's Tornado integrated development environment, which incorporates the VxWorks OS and various debugging and visualization tools, Deliman said.

    Each of the two rovers has only one CPU and one set of software for the entire mission. Asked about redundancy'there is no way to hot-swap components in deep space'Klemm said, 'That's why we're sending two rovers.'

    JPL programmers had to take into account the limitations on spacecraft resources, such as CPU throughput, electrical power, uplink and downlink bandwidth, and possible power inefficiency from dust collecting on solar panels during the trip to Mars.

    Spirit and Opportunity launched with the first version of the flight software. The rovers don't have enough memory on board to handle two sets of commands for leaving Earth orbit and approaching Mars, which is why the in-flight upgrade will be necessary, said David Kleidermacher, Green Hills Software's vice president of engineering.

    The JPL team is now testing a revised software version that they will transmit to the two spacecraft in November to guide each rover down to the fourth planet and perform surface operations.

    The Tornado development environment lets programmers code, compile and prototype on a host system, such as JPL's Sun Microsystems Inc. workstations, Deliman said, because Rad 6000 computers are not widely available.

    At its height, about two dozen programmers were working on the software team, now down to about 10, Klemm said.

    Avoiding doom

    NASA officials hope that Spirit and Opportunity will avoid the problems that doomed the Mars Climate Orbiter and Mars Polar Lander spacecraft. The lander had a retrorocket landing system. The software that sequenced the landing events evidently mistook vibrations from the landing gear for actual landing and shut down the engine prematurely, Klemm said.

    The lander was 'far enough off the ground that it was fatal to turn off the rockets. That was essentially a software bug that had not been detected in the test program,' which was insufficiently funded, Klemm said.

    Another glitch'a line of code written for English instead of metric measurements that made the Mars Climate Orbiter craft disappear'also was a budget issue, Klemm said. The navigation team had seen coding errors but was too short-staffed to follow up, he said.

    Klemm said he's excited to see Mars shining brightly in this month's night sky: 'This is the closest that Mars will be to us in any of our lifetimes. You can look up in the sky and there it is, and we're on our way.'


    • Records management: Look beyond the NARA mandates

      Pandemic tests electronic records management

      Between the rush enable more virtual collaboration, stalled digitization of archived records and managing records that reside in datasets, records management executives are sorting through new challenges.

    • boy learning at home (Travelpixs/

      Tucson’s community wireless bridges the digital divide

      The city built cell sites at government-owned facilities such as fire departments and libraries that were already connected to Tucson’s existing fiber backbone.

    Stay Connected