Curiosity gets interplanetary software patch for better driving and more on Mars

And you thought patching your production environment was stressful

NASA has successfully installed a major software update on its venerable Curiosity Mars rover, which has been rolling over the Red Planet's landscape for more than a decade.

The Americans said some 180 changes were included in the update, which was deployed last week. Some were small, NASA said, such as making slight corrections to the messages Curiosity transmits to Earth, making future patch deployments easier, and improving control over the rover's head and arm.

Other updates were major, and included simplifying code that had become a bit bloated over 11 years of piecemeal patches while exploring Mars' Mount Sharp region, along with updates to the rover's movement and steering code.

"The flight software is essential to our mission, so this is a big deal for our team," said Curiosity Project Manager Kathya Zamora-Garcia of NASA's Jet Propulsion Laboratory.

The first major change to Curiosity's drive software lies in how it processes images of its terrain to better plan routes around obstacles. In newer rovers, such as Curiosity's successor Perseverance, the onboard computers can process images of the terrain while in motion. Curiosity can't do that, so it's long been stopping during every drive segment to reassess its surroundings and make course corrections.

This not only slows Curiosity down, but it also sucks up a lot of power, as the rover has to come to a stop and then fire up its internal systems repeatedly. While NASA can't add a new computer to Curiosity, it was able to update the code so the rover processes pictures faster, giving it more time to travel.

"This won't let Curiosity drive as quickly as Perseverance, but instead of stopping for a full minute after a drive segment, we're stopping for just a moment or two," said JPL's Jonathan Denison, Curiosity's engineering operations team chief. Denison added the change will also mean Curiosity consumes less energy while trundling around, allowing the team "to use more of our available energy for science activities." 

Another major update has to do with preserving Curiosity's most depleted asset – its wheels. Signs of wear began to show on the aluminum wheels within a year of Curiosity's arrival on the Red Planet, and previous software updates have been deployed to help combat the wear and tear on the treads.

Previous patches deployed an algorithm to improve traction, thereby reducing wear, and the latest patch "goes further," NASA said, "by introducing two new mobility commands that reduce the amount of steering Curiosity needs to do while driving in an arc toward a specific waypoint."

The idea with the update is to simplify the driving process to require less steering, further reducing friction and wear on the rover.

NASA's Denison said he's relieved to see the patches working as designed – as anyone responsible for software updates likely is after deploying a major patch. "The idea of hitting the install button was a little scary. Despite all our testing, we never know exactly what will happen until the software is up there," Denison said. 

Estimated time left: 10 days

We're just as curious as Reg readers surely are to learn what goes into patching a decade-old rover that's more than 148 million miles away; luckily NASA was glad to share.

The latest image pushed to Curiosity, R13, was 21.921MB, only slightly larger than the 21.304MB R12 software it replaced, a JPL spokesperson told us. Still, Curiosity's operators split the update into 51 files, the first of which were downloaded on November 30 of last year. The last one arrived 10 days later from that date, in December, and it was between the third and seventh of April that the installation took place.

R13 was installed over multiple steps so that Curiosity's controllers could roll things back in case there was an error. Once the installation was complete, Curiosity was given two days to autonomously determine whether anything was wrong and automatically revert to its older software, JPL told us.

Once confident in the code, NASA set Curiosity to only use its latest software, but even then NASA still understands the value of maintaining a reliable backup.

"R12 is still onboard in a special backup area of memory, which allows us to switch back to it without that long uplink campaign," a JPL spokesperson told us. ®

Send us news

Perseverance pays off as Mars rover's SHERLOC brought back from the brink

Bot's arm used to free instrument's dust cover and return to science

Mars is slam-dunked by hundreds of basketball-sized meteorites every year

Impact studies crucial for accurately determining Red Planet's age

How tech went from free love to pay-per-day

FOSS, AI, blockchain, and the cycle of empty nonsense

RIP: WordPerfect co-founder Bruce Bastian dies at 76

Tributes paid to passionate LGBTQ+ equality champion

CISA looked at C/C++ projects and found a lot of C/C++ code. Wanna redo any of it in Rust?

So, so many lines of memory-unsafe routines in crucial open source, and unsafe dependencies

How NeWS became yesterday's news in the window system wars

X co-designer David Rosenthal looks back at why his other project failed

Glass rain, supersonic winds, and Eau de Rotten Egg – just another day on HD 189733 b

Sounds better than a British summer

Tesla parental controls keep teenage lead feet in check

Because trusting your kid with 300 horsepower should come with a curfew

Windows Notepad gets spell check. Only took 41 years

Purists needn't worry – you can turn it off

Time Lords decree: No leap second needed in 2024

Let's not get ahead of ourselves, even if Earth is spinning out

Elon Musk to destroy the International Space Station – with NASA's approval, for a fee

SpaceX wins contract for 'deorbit vehicle' at a pleasing price

Cloudflare debuts one-click nuke of web-scraping AI

Take that for ignoring robots.txt!