NASA's Curiosity Mars rover gets a major software upgrade
phys.org
phys.org
> "Curiosity's aluminum wheels... began showing signs of broken treads in 2013... sharp rocks were chipping away at the treads... The new software [introduces] two new mobility commands that reduce the amount of steering Curiosity needs to do while driving in an arc toward a specific waypoint."
So the rover can cover more distance per unit time, with less tread wear per unit distance
> "Those are just two of about 180 changes implemented"
> "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."
This has likely changed, especially after this most recent update, but:
> "The process took four days"
> "On the first day of the software update, the team deployed a temporary version of the new software to the rover's primary computer. This version was only held in RAM so that the computer would revert back to the previous version when it restarted. This gave the team a chance to make sure everything was functioning properly. On the second day the team deployed a more permanent version of the update to the computer's file system. On the third day they deployed the temporary version to the backup computer and on the fourth day they deployed the permanent version to the backup computer."
> "every interaction takes about 30 minutes: 14 minutes to send a signal to the rover in space, 14 minutes to get a response"
> "it only took a few minutes for the software to actually install"
---
On the hardware: https://venturebeat.com/business/sending-a-software-update-t...
> "Curiosity Rover is powered by a pair of computers built by BAE Systems. These RAD750 computers use a 10-year-old IBM PowerPC microprocessor running at 132 megahertz. It has just 120 megabytes of random access memory... doesn’t have enough memory for both the landing and surface missions"
NASA have been using RAD750s since 2005, most recently on JWST. BAE has a successor in the RAD510, but it looks like NASA are switching from PowerPC to RISC-V with the SiFive X280: https://www.talospace.com/2022/09/the-rad750s-successor-look...
I wonder what language it's written in.
Before any change gets uploaded, I'd imagine it goes through days/weeks (possibly months) of simulation and analog testing.
Not to mention the project requirements are not changing often and are going to be very clearly defined.
As I'm sure you know, Agile shines where requirements are fluid and not clearly defined.
https://www.cnet.com/tech/tech-industry/java-runs-remote-con...
"NASA Mission Software Development on the Eights: Java 8, JavaFX 8, and NetBeans 8"
Curiosity is powered by an RTG so it seems like the wheels are its biggest risk of failure