NASA Curiosity Mars Rover Will Spend First Weekend Installing New Software
nasa.gov
nasa.gov
Am I the only one having a very nervous moment when the update's applied?
(I was working on the Rover team at the time)
But the software, as far as I know, is very modular, so this could be only an upgrade of some modules
Edit: by RTFA this looks more like a replacement rather than an update, like, making usage of all the landing software space since this is not needed anymore.
I hope they get it right...
It does sound funny that they wouldn't just have thrown a few more SSDs on there, but then again this is a space probe. When my SSD fails I get mad because I'm forced to waste three whole hours traveling to the Apple Store for warranty service. Curiosity's Apple Store is a bit farther away.
Their storage has to be radiation-hardened, guaranteed to last through the mission, have minimum weight, consume minimum power, avoid overheating under extremely weird environmental conditions…
It's also effectively required to be quite a few years old, in order to have had plenty of time to be baked in to the hardware and software platform. Curiosity was designed years ago, and it was based on designs that are far older, and on a mission like this it's more important to preserve the well-tested platform and hard-won expertise than to try something new. You spend the risk budget on more important things.
This is why I really like the idea of sending vast numbers of lightweight probes built with consumer- and/or industrial-grade components. If some of them fail completely, it doesn't matter too much, because there are a dozen others on the same mission.
But it didn't work out much
The problem is that you need a lot more confidence than making something and hoping it works.
Of course NASA would save a lot of money (and face) if they went 100% metric, still...
Besides, in that kind of an environment it doesn't really matter how many probes you send if the electronics aren't massively rad-hardened--every one of them is pretty much guaranteed to fail sooner rather than later.
"We designed the mission from the start to be able to upgrade the software as needed for different phases of the mission,"
>I wouldn't have thought that programming code would take significant space
It doesn't. I bet it takes just as much space as you imagine it does. The rover just have that little space to work with. These aren't last year's FPS gaming rigs with hundreds of gigs on SSD available. These are hardened, turn-of-the-millennium embedded computers.
>the potential for screw ups just seems way too high
Both Voyager and Pioneer spacecraft have been sent software updates, without fault. MSL was designed from the get-go to have software updates mid-mission.
OK, but the Viking 1 lander on Mars was lost due to human error during a software update.
http://en.wikipedia.org/wiki/Viking_program#Mission_end
That's not to say software updates don't make sense, but you can't just justify them with "MSL was designed to do it and it's been done successfully before." Rather, you have to weigh the benefits and risk as usual. Luckily, I have confidence this was carefully though about and that the right decision has been made.
I'll be baffled if they're doing this for any other reason than pushing the most recent and polished code.
A very nice documentary is currently running on Discovery which goes into much detail on the construction of MSL.
NASA has updated software exactly like this on a number of previous missions so no one expects any trouble.
But then I thought, "Who actually has the hardware to broadcast to Mars in the first place?".
"You're someplace you've never been, seeing and experiencing things almost no one else gets to, and you spend your weekend fiddling with computers."
That's OK. We have all done it, and hopefully the outcome will be slightly better than "Crap, I hosed up my RAID array and now this random obscure OS build I installed is completely broken."
Sticking the bootloader in a ROM is a fairly secure way to accomplish this.