The update brings loads of improvements, the most significant being new driving capabilities.
Years in the making, a major software update that has been installed on NASA’s Curiosity rover will enable the Mars robot to drive faster and reduce wear and tear on its wheels. Those are just two of about 180 changes implemented during the update, which required the team to put Curiosity’s science and imaging operations on hold between April 3 and April 7.
“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 in Southern California. “This is a major software update, and we had to make sure we did it right.”
Planning for this update goes back to 2016, when Curiosity last received a software overhaul. Some changes this time around are as small as making corrections to the messages the rover sends back to mission controllers on Earth. Others simplify computer code that has been altered by multiple patches since Curiosity touched down in 2012. The biggest changes will help keep Curiosity rolling more efficiently for years to come.
The rover can now do more of what the team calls “thinking while driving” – something NASA’s newest Mars rover, Perseverance, can perform in a more advanced way to navigate around rocks and sand traps. When Perseverance drives, it constantly snaps pictures of the terrain ahead, processing them with a dedicated computer so it can autonomously navigate during one continuous drive.
Curiosity doesn’t have a dedicated computer for this purpose. Instead, it drives in segments, halting to process imagery of the terrain after each segment. That means it needs to start and stop repeatedly over the course of a long drive. The new software will help the venerable rover process images faster, allowing it to spend more time on the move.
“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 Jonathan Denison of JPL, Curiosity’s engineering operations team chief. “Spending less time idling between drive segments also means we use less energy each day. And even though we’re almost 11 years old, we’re still implementing new ideas to use more of our available energy for science activities.”
The team also wants to maintain the health of Curiosity’s aluminum wheels, which began showing signs of broken treads in 2013. When engineers realized that sharp rocks were chipping away at the treads, they came up with an algorithm to improve traction and reduce wheel wear by adjusting the rover’s speed depending on the rocks it’s rolling over.
The new software goes further 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. With less steering required, the team can reach the drive target quicker and decrease the wear that inherently comes with steering.
“That ability was actually dreamed up during the Spirit and Opportunity days,” Denison said. “It was a ‘nice to have’ they decided not to implement.”
Overall, the new software will streamline the task of Curiosity’s human drivers, who have to write complex plans containing hundreds of commands. The software update will also enable them to upload software patches more easily than in past. And it will help engineers plan the motions of Curiosity’s robotic arm more efficiently and point its “head” atop the mast more accurately.
As with any major software update, there’s a sense of relief to see it working as designed, Denison said.
“The idea of hitting the install button was a little scary,” he added. “Despite all our testing, we never know exactly what will happen until the software is up there.”
More About the Mission
Curiosity was built by NASA’s Jet Propulsion Laboratory (JPL), which is managed by the California Institute of Technology (Caltech) in Pasadena, California. JPL leads the mission on behalf of NASA’s Science Mission Directorate in Washington.