Picture doing a remote software upgrade. Now picture doing it when the machine you’re upgrading is a robotic rover sitting 350 million miles away, on the surface of Mars.
That’s what a team of programmers and engineers at NASA are dealing with as they get ready to download a new version of the flight software on the Mars rover Curiosity, which landed safely on the Red Planet last week.
“We need to take a whole series of steps to make that software active,” said NASA’s Jet Propulsion Laboratory Senior Flight Software Engineer Steve Scandore, “You have to imagine that if something goes wrong with this, it could be the last time you hear from the rover.”
“It has to work,” Scandore said. “You don’t’ want to be known as the guy doing the last activity on the rover before you lose contact.”
This photo is part of the first full-color 360-degree image taken by Curiosity at the Gale Crater landing site. (Image: NASA)
JPL Mission Systems Manager Michael Watkins said during a press conference that a team of programmers are getting ready to upgrade Curiosity’s software from a program optimised for landing to one optimised for working on the planet’s surface.
Scandore explained that the updated software was uploaded to the rover while it was still traveling through space on its way to Mars. It’s been sitting dormant for the last few months and NASA engineers will begin to activate it today.
Before then, though, they are busily testing Curiosity’s two computers, along with other systems, to make sure everything is ready for the update.
Once the update begins, it will take two days to upgrade the software on the main computer and then another two days to upgrade the backup computer.
“We’ll tell it to activate a sequence to start the load, then we go out of contact [with the rover] and it’s gone for about eight hours,” Scandore said. “We start the upgrade. It will perform a series of steps and then it will turn itself off. It will wake itself up the next day and there’s a down link to see what was done the day before.”
Scandore said they’ve long been working on this upgrade and have tested and worked it until it’s become routine, but he’s still a bit anxious about the actual load.
“It’s not like doing a regular remote upgrade,” he said. “We don’t have a person on the other end. The vehicle is up there by itself. We can’t interact with someone on the other end. We have no one we can ask to check something for us. We have to send code up and then wait.”
And while this is a major software upgrade, Andy Mishkin, a mission leader with JPL, noted that he has a separate team of about 100 programmers who write commands for Curiosity every day.
Curiosity, while working on Mars alone, needs to be told what it will do every day – move across the bottom of the crater, zap a rock with its laser, scoop up a soil sample. And once a team of NASA scientists make the daily decision as to what the rover will do, programmers have to begin furiously working on up to a 1,000 different commands that will be uploaded to the rover.
“We’re writing a software program every day that has to run for the first time and tell the rover what to do,” Mishkin said. “It keeps 100 people busy. It’s like running a sprint every day to keep the rover productive and gathering science.”
Scandore added that the programmers only get about a half a day to get the programming sequences written, tested and uploaded into space.
“They are working furiously,” he said. “It’s an expensive vehicle. We can’t be rushed to send up something that could be dangerous.”
During today’s news conference, NASA released more photos taken by the robotic rover. Some of the photos were of the rover itself covered with a spray of pebbles kicked up during landing, while others were full-colour images of the Martian landscape.
“Curiosity continues to behave flawlessly,” Watkins said. “We had another great day on Mars.”
This full-resolution image of the Martian surface was taken by Curiosity’s navigation cameras. The rim of the Gale Crater is seen in the distance. (Image: NASA)