
A new software update will soon give NASA’s Curiosity Mars rover a 50 per cent speed boost, allowing it to cover a greater distance and complete more science. But the update very nearly didn’t happen because of a mysterious bug in the software that eluded engineers for years.
Curiosity, which landed on Mars 10 years ago this month, has already greatly outlived its planned two-year lifespan. It can be controlled in several ways, but the vast majority of the time, it operates in visual odometry (VO) mode. This means it stops at waypoints, which are usually a metre apart according to wheel rotation measurements, and uses photographs to calculate how far it has actually travelled. This can be vital because if the rover relied only on measuring wheel rotations, big errors would creep in over time.
NASA has relied heavily on VO since earlier Mars rover missions using only internal sensors got irreparably stuck in sand. If engineers had known that wheels were spinning rather than propelling the rover forwards, they may have been able to avert disaster and extend missions. During one drive that was supposed to be around 50 metres long, the Opportunity rover, which was active on Mars from 2004 to 2018, encountered wheel spins and only travelled 2 metres in reality.
Advertisement
But this cautious approach comes with a trade-off in speed. Curiosity currently travels about 45 metres an hour in VO mode, despite the hardware itself being capable of 120 metres per hour.
The updated software will allow Curiosity to take images of its surroundings while stationary, but then check its prior resting position as it travels. It can subsequently compensate for any errors if they are found. This brings a small drop in accuracy, but allows the rover to move almost continuously. Tests showed that it would enable a speed of 83.2 metres an hour.
at NASA’s Jet Propulsion Laboratory in California, who works on the rover driving team, says the update will bring Curiosity nearer to the speed of its younger cousin, the Perseverance rover. Perseverance can also calculate while driving, but its cameras are able to take sharp pictures while on the move, meaning it doesn’t have to stop at each waypoint. Even in a cautious VO mode, Perseverance can cover around 135 metres an hour.
“As a driver, of course we’d like to go faster, but we’ve come to really appreciate the benefits of having high-quality position estimates and being able to halt a drive before the wheels get embedded in sand,” he says.
“Since drive rates are expected to be 50 per cent faster on average, that will leave more power and time available for science observations,” says Maimone. “Another benefit is that as our mission continues into its second decade, power levels will slowly decrease and this new code will allow us to drive just as safely even when it takes longer to recharge the batteries.”
The new software will be uploaded to Curiosity early next year and marks the end of three years of thorough testing. Development began in 2015, but during the first test on an Earth-based rover that same year, a potentially dangerous bug was found. Engineers couldn’t replicate it in simulations on a computer, and the update eventually stalled as other priorities took over. But in 2019, an improved version of the computer simulation that more closely mimicked the real rover revealed the same bug, allowing engineers to track it down and fix it.
Another team has also been working on rover driving techniques that don’t rely on VO, which may be necessary for new rover missions where featureless terrain makes navigation harder, such as those on the moon or Europa.
at West Virginia University says that while VO is “close to perfect” for Mars, it could struggle elsewhere. He and his colleagues have that he says goes back to the strategy of early rovers, which navigated using nothing more than counting wheel rotations for distance and sensor readings from internal gyroscopes for detecting slips and wheelspins.
Their version improves accuracy by capitalising on moments when sensors are known to be static to offset accumulated errors. For instance, when the rover stops, the control software can tell that any slight indication of horizontal movement is an error, then tune it out.
“[This approach] mimics the vestibular system inside of our ear, so you can get angular rates and acceleration, but it’s noisy and it drifts over time,” says Kilic. “What we do is eliminate that bias and noise. I’m not saying that our method is better than VO. But our method is good whenever VO isn’t available.”
Sign up to our free Launchpad newsletter for a voyage across the galaxy and beyond, every Friday