Mars Rovers' Software Upgraded
cheros writes to note the news that NASA is upgrading the software in the Mars rovers to make them smarter in a number of ways. From the article: "The unexpected longevity of Spirit and Opportunity is giving the space agency a chance to field-test on Mars some new capabilities useful both to these missions and future rovers. Spirit will begin its fourth year on Mars on Jan. 3 (PST); Opportunity on Jan. 24. In addition to their continuing scientific observations, they are now testing four new skills included in revised flight software uploaded to their onboard computers."
is VXWorks, from Wind River ( http://www.windriver.com/ ). It's a *nix-like real-time OS.
"National Security is the chief cause of national insecurity." - Celine's First Law
While I know you're making a joke, other people might be interested - they run VxWorks and the flight control software is written in Java. NASA are pretty fond of VxWorks - it pops up in lots of their projects
Global symbol "$deity" requires explicit package name at line 2. - If only $scripture started "use strict;"
Why does Nasa refer to this as "revised flight software" these rovers don't fly
It's just a standard term. At NASA, "flight" software is mission software which executes within a spacecraft computer. "Ground" software usually refers to that which is used for spacecraft control/ground support (the software in the control center on Earth).
Worst...sig...ever!
They did everything they intended to accomplish the rovers and more. I'm just surprised they decided to upload the updates to both of them instead of just one of them.
c =7150&s=2
They may have done it that way because it may not possible for their mission support software on the ground to handle two different versions of flight software on Mars.
In any event, NASA's flight software development process is extremely rigorous, up to and including an Independent Verification and Validation center in West Virginia which independently evaluates all NASA flight software (http://www.ivv.nasa.gov/). It's not like it's a beta version of code being sent to the Rovers - the likelihood of finding a bug in the code that escaped testing was sufficiently low to justify uplinking to both rovers.
If anyone wants some light holiday reading, you can check out NASA's software engineering requirements at: http://nodis3.gsfc.nasa.gov/displayDir.cfm?t=NPR&
Worst...sig...ever!
I guess since the two units are on free time, they figure it is ok to screw them up now.
... which - believe it or not - run a version of Windows 95, a frozen setup from back in the nineties, of which the software guys know every bit by it's first name.
As far as I know the On-Board Shuttle Software Group has a track record of 3 (in words: 'three') software bugs in installed operating code within 30 years of writing code. That's all the code running on the Orbiters regular systems, exept only the third-party experiments with own systems and a non-critical original mid-nineties Thinkpad or two they take along
To give you a picture of what they have to deal with: A timing mistake in some piece of the shuttles navigation code by one cpu clockcount would put the shuttle 3 miles off course.
The Voyager Software Team reprogrammed a 20 year old device 3-quarters across the solar system to send color pictures instead of black and white - with a system that was only built to picture and send black and white.
You have not the slightest idea what these spacecraft-software guys are capable of and how insanely bulletproof their code is.
We suffer more in our imagination than in reality. - Seneca
There was a microphone on the Mars Polar Lander, but it was lost with the failed ship.
The Planetary Society successfully extracted audio from the Huygens probe to Saturn's moon Titan.
This is a very good question. There's a very good, but not well known answer.
Mars has a lot of dust. Earlier missions got a good dusting on the landers and rover (Viking 1 and 2, Mars Pathfinder and the Sojurner rover). The more modern missions use solar cells for power, which are blocked slowly over time as dust builds up.
Dust accumulation on Mars solar cell arrays was a big problem within the early and mid-1990s Mars research community. Researcher Geoff Landis (http://en.wikipedia.org/wiki/Geoffrey_Landis) had an experiment on the Sojurner rover with a solar cell with a little movable cover glass on it, to see how much dust accumulated over time. Results from that were a prediction that solar arrays would lose most of their power over say four to six months.
Geoff had another experiment on the Mars Surveyor 2001 lander mission, which was supposed to try using static electricity to remove all the dust off a test cell, but the mission was cancelled after the Mars Polar Lander / Mars Climate Orbiter losses.
The two Mars Exploration Rovers were the next landers we sent. The expectation was that they'd last at least 3 months (90 days), and the hope was that nothing else would wear out until the solar arrays were too obscured for them to be able to power up properly anymore, perhaps six months or so into the mission.
What actually happened is one of those unexpected bonuses that the universe throws at you at random intervals. It turns out that the Mars winds at the height of the MER solar panels are just enough stronger than they are closer to the ground that the MER solar panels built up a moderate load of dust and stabilized there. There's plenty enough power remaining (except for mid-winter on Mars) for the rovers to keep operating, and it looks like the whole solar array dust problem just goes away if you put the arrays up off the ground.
There were some people who hoped that the arrays would be kept clean by the winds, but the best models we had before the MER rovers landed was that the winds weren't nearly strong enough. Pleasant suprise, and one that makes future missions a lot easier than we'd been afraid they were going to be. But not something which was taken into account in the MER designs to start with.
There was no expectation that the arrays would last more than about six months; designing anything else to last much longer than that, other than for safety's sake to make sure that nothing else failed before the solar cells dusted up, didn't seem to make any sense beforehand.
The next two Mars rovers are going to be powered by radioisotope thermal generators (RTGs) anyways, so that they can keep driving at night and in wintertime, now that we know that the basic MER design mechanisms will last for many years on the surface. Being able to turn on some headlights and keep driving at night should triple their effectiveness or better.
Well, considering Spirit landed in January 2004, I think you can figure that out for yourself.
http://searchopensource.techtarget.com/originalCon tent/0,289142,sid39_gci1157697,00.html
Sorry, NASA used Linux.
Sometimes when I'm working on projects things disappear, I suspect gremlins.
That's been known for years and they haven't dared fix it.
In all fairness that's a software requirement (or lack of one) that the shuttle flight software group does not have control of. As has been rehashed several times on slashdot, the shuttle program early on took the savings from not building that capability into the ground and flight software (it's not quite as simple as it seems). It only became a problem recently when it restricted certain launch windows, and now the shuttle program is paying to add it in.
That sort of rigidity makes their methodology totally useless for software outside NASA.
As you say, it's totally useless for non-life critical systems. However, outside of NASA I know of DOD applications such ballistic missile guidance are equally as rigid.
Give me our full-featured, buggy software over nothing any day
As someone who has depended on NASA flight software, I'd rather sacrifice features for bug free code. That's a basic difference between consumer software and mission critical software.
I suspect it's also useless to the other groups in NASA. Do you actually know that the Mars Rover software was written in this manner?
No other group at NASA writes flight software like this, because Shuttle is the only man rated launch vehicle. Orion will be similar (and it's software is being written by the same people). Other flight software at NASA is not this extreme, but there is a NASA software development standard for all flight software and it's still pretty rigid compared to consumer software.
Worst...sig...ever!
Sorry, NASA used Linux.
That article doesn't say anything about what software is running on the Mars Rovers.
If J.K.R wrote Windows: Puteulanus fenestra mortalis!
It would probably reduce some of the dust, but would be much less efficient due to its orientation. You want the cells aimed at the sun for best collection, otherwise each 1M^2 of panel will only collect tan(angle of cells to the angle of the suns rays)*length*width, which at high-noon with the sun directly overhead, would be 0. A mechanism to rotate the cells would add complexity, weight, and another critical failure point. Without a good anti-static coating that doesnt reduce ffeciency by blocking light (which they might already have in use on the current rovers) I would bet static charges from mars's winds would also cause dust to accumulate, even when vertical. Then again, the rover would probably also run the risk of flipping over due to its new sail, or they could use it AS a sail too, to push the rover's like a sail car...hmmm
Tm
Support TBI Research: http://www.raisinhope.org
When i worked for the postal service we had satalite internet connections and they considered "acceptable" ping times (the vsat provider) to be anything less than 5000... which requires a commandline arg to keep windows ping from timing out ;P Those are just satalites around earth, the sats in mars orbit would have astoundingly high pings... I wonder how high exactly.
Shadus
Actually, that is exactly what they did. The design engineer admitted back in 2004 that they "pulled a Scotty." They told the media that they expected the rovers to last about 100 days but really thought the rovers might last a full year. Mr. Melko (the engineer in question) said the idea came to the team while visiting a Star Trek convention in Orlando. I'm lazy but google for it and you'll find articles and interviews on this.
Either way, not Linux.
"Champagne for my real friends - and real pain for my sham friends!" http://ericblade.postalboard.com/