A recent post on The Planetary Society’s blog about the damage to NASA’s Curiosity rover’s wheels provides a fascinating glimpse into how the scientific and engineering teams work together to diagnose and attempt to resolve problems on extremely remote infrastructure. The body of the post focuses on their investigation of the cause of the damage and strategies to work around it, and it’s their work-arounds that are the most fascinating.
The wheels of the rover were designed with very tight constraints: they couldn’t have too much mass because getting mass to Mars is very difficult and furthermore too much mass would damage—or even break—the rover’s suspension during its stressful deployment maneuver. However they also have to carry the heavy rover across the tough Martian terrain and develop sufficient traction on rocky and sandy surfaces. Not an easy task.
To try to prevent additional wear and tear on the wheels the team came up with a few strategies: one of which was, interestingly, a software update to its navigational systems to help it better choose the least-damaging paths. That is really cool. While we’re all screwing around down here on earth telling people to reload the page and/or restart their computer to try to resolve software issues, NASA is reprogramming critical mission systems live from over a million miles away. And this is on hardware that the rest of us would call pitiful. My laptop can clock in around 50,000 MIPS, has 16 gigabytes of RAM, and hundreds of gigabytes of flash storage. The rover? 400 MIPS, 256 megabytes of RAM, and just 2 gigabytes of storage. And it has to survive, navigate tricky terrain, conduct all sorts of research, and communicate with Earth. All my laptop has to do is run a web browser, text editor, and some pseudo-TTYs. What they’ve achieved with that rover is nothing short of incredible.