2010-04-08

Spirit Sol 449

ODY is back online; our broadband connection to Mars has been restored. I still don't know what the heck was wrong with it, but I guess I'll find out.

So we're driving. Our plan is to continue the drive that faulted out this past weekend; we've been sitting still since then because of the relay problem. I'm glad we're going to do some driving; else I'd come in next week and have to be RP-1, without any way to get properly up to speed. Sure, I've read through the drive sequences they've been building, but it's never the same as when the pressure's on.

My brain still hasn't caught up with this side of the world. I go over to MIPL to ask them to build us a new terrain mesh with the extra NAVCAM images that just came down, and unconsciously I go over to talk to the Opportunity support guy. Who's as puzzled as I am until I realize I'm supposed to be talking to the Spirit support guy. Sheesh.

But it's fun sequencing this rover again. I'd almost forgotten what challenging drives were like. Opportunity is just a slow car in a parking lot full of speed bumps. Driving Spirit up a rocky hill is delicate, exacting work. Obstacles to the left of you, obstacles to the right of you -- and a slope that's only too happy to help you slide into them.

One of the innovative techniques the Spirits have developed is a parallel obstacle-check sequence. The way we used to drive through hazardous zones was to first construct a list of hazards visible in the imagery. Then we'd write a sequence that would drive a little way, check if we were too close to the obstacles, drive a little farther, check again, and so on. At each stage, you'd tend to check only for obstacles you thought you'd be likely to be near at that point, because it was just a nightmare to try to check for all of them all of the time. The resulting drive sequences had a lot of repetition and were hard to modify: if you wanted to change your driving path, you'd have to revisit a lot of the places where you stopped and checked for hazards to make sure you were checking for the right ones.

So the Spirits worked out a way to separate those concerns. They now build one sequence that checks whether the rover is near any of the known hazards; this is padded out with wait commands so that it takes one minute to run. Then they have a second sequence that calls the first one ten times, and a third sequence that calls the ten-minute version 24 times (so it runs for 240 minutes -- or four hours, longer than their drives). Finally, this third sequence is activated in parallel with the drive. So the drive can just contain the needed commands to take the rover along the desired path, and the parallel obstacle-check sequence will stop it if it gets too close to any of the hazards. The parallel sequence checks all of the hazards, and checks them every minute, and doesn't interfere with your development of the drive sequences; in all three ways, it's better than the old approach.[1]

There's a lot more to come up to speed on as well -- a lot of fiddling with parameters that we don't need to do on Opportunity, but which are needed on Spirit, mainly to avoid catching another potato. Finally, as gravy, thisol we're doing two things for the first time on Mars: at the end of the drive, we're using autonav with visual odometry (so the rover will autonomously avoid obstacles as well as keeping careful track of its location), and we're using a new flight software feature that lets us make run-time decisions based on the vehicle's heading. If all goes well, we'll come in tomorrow to find we've climbed Husband Hill another 15 meters or so.

There's another difference between the two rovers: Opportunity's drive distances have more digits.




[1] A later flight software update added a notion of "keepout zones," which replaced this elaborate tree of obstacle-checking sequences with just a few commands, one command per obstacle. Incomparably better.

3 comments:

Dave said...

Hi Scott,
I've been a Reader of the blog for a few months now. I have a question: Everything I can find on the intarwebz (ie NASA RSS feed, Wikipedia, BBC News and random Googling) about Spirit says it's stuck, won't ever move, and is now a static research station. Obviously it's mobile, but is it fully mobile (broken wheels excepted), or is it "trapped" within a limited area? If it was stuck and is now mobile, can you point to any links describing when and how it got out?
Thanks,
Dave

Scott Maxwell said...

For a supposedly stuck rover, Spirit is making awfully good progress. She's made about 34cm of progress toward extrication since we started driving her backward, and I think that when we resume extrication efforts later this year, she's gonna keep right on going until she's free from Troy.

The video at http://marsrovers.jpl.nasa.gov/gallery/video/spirit01.html#Spiritwinter shows our extrication progress so far (starting when we switched to backward driving).

After she's free from Troy, her mobility will indeed be more limited than before. Still, we expect to be able to make progress in the meters-per-sol range, good enough to get to new territory -- maybe even to Goddard and von Braun (prominent science goals visible from our current location).

Right now, Spirit is shut down for the Martian winter -- in a sort of "hibernation" state, conserving energy so that she can keep herself as warm as possible. She doesn't even have enough energy to communicate with Earth, and we don't expect that to change before September or October, possibly even a little later.

But this is Spirit we're talking about. Expect her to come back to life and jump back into the fight -- and win it.

Funny story about that video, by the way: on the day of our last commanded drive before we had to pause for the Martian winter, I generated those HAZCAM movies using a script I'd written for the purpose, just to help myself understand our progress so far. I was obsessively playing them over and over, trying to pick out any detail that might be useful, and a crowd formed around me -- including the project manager, who thought of passing them along to JPL's media office. By that afternoon, they were on the Web site for everyone in the world to see. It's just kinda weird to think that something I did on the spur of the moment, as a more or less routine part of my job, would end up on JPL's front page (as it was for a while) like that!

Paul said...

i really appreciate your blog entries. It seems like press releases are few and far between, so it's very interesting to get these updates.