2009-01-19

Spirit Sol 16

I wake up at 4:30, absurdly happy. Maybe the drive worked, maybe it didn't. I don't care. If it didn't happen today, it'll happen tomorrow. Or the next day. Or the next. I have the greatest job in the world. I sing happily as I drive to work.

What I see when I get there makes me even happier: Adirondack is dead center in our field of view, just a little way in front of us. The drive was perfect, practically identical to RSVP's predictions, as Brian demonstrates. Nearly perfect, anyway; one of the last-minute changes Jeff and I made screwed up the last NAVCAM image, so Mark Maimone gets one less data point. (So we did get something wrong. Engineer that I am, this alone makes me feel better: the world is working as expected.) But the image we screwed up was the one we took from our final position; that means we can redo it today, since the rover hasn't moved in the meantime. If that's the worst mistake we make during the whole mission, I'll die of happiness.

I'm about to do that anyway.




Courtesy NASA/JPL-Caltech. The view from Spirit's front HAZCAM after our first real drive, with the goal rock (Adirondack) dead center. We nailed it!



The SMSA is playing "Let the Good Times Roll," by the Cars. Mike Malin is there, literally bouncing up and down with excitement. I tell him: "That's exactly how I feel." Spirit's odometer now stands at 6.1 meters, total.

Eric's IDD sequence went fine, too (if it hadn't, they'd have skipped the drive), and it looks like we'll have more IDD stuff to do today. Eric is tired and needs to go home, but offers to stay and help with the day's IDDing. He's the expert, so I'd be an idiot to turn him down, and I don't. Brian and I watch him slap together the outlines of a couple of sequences. Happily, there's nothing surprising in what he does. We think we might be able to do it ourselves.

It helps a lot that Eric (and Jeff) are building sequences using a RoSE feature called macros. Macros are fantastically useful, but I couldn't manage to sell anyone on them, so I thought the feature would never get any use. Turns out I was wrong -- we've ended up using them to automate a large fraction of our work, which is especially important for us poor, chronically overworked rover drivers. Eric has the vast bulk of the work done in fifteen or twenty minutes, and we haven't even had the downlink assessment meeting yet.

The downlink assessment meeting is upbeat. Everyone knows the drive went well, so they're itching to start poking at Adirondack. The only cloud on the horizon is the lack of one of the images we need. After any drive, we need to take a stereo pair of front HAZCAM images, so that we'll have a 3-D model of the IDD workspace. Without that, we can't safely deploy the arm, much less do anything with it. The left image was complete, but the right image cut off about halfway, thanks to yesterday's low-rate DTE. So we have 3-D data of the sky and some distant soil, which is obviously useless for working with a rock a meter away. There's more data coming in, so we'll know soon whether we can use the IDD or not.

Meanwhile, the APXS guys show some of their data, and boy, are they happy. They've waited patiently through a long cruise phase and two weeks on Mars, and today they got their first real data at last. We've now checked out every instrument on the surface of Mars, another milestone for the project. And they're all raring to go. The MTES super-resolution image worked, too: they got Adirondack, dead center.

Just after this, the cloud starts to rain. Or drizzle, at least. The missing FHAZ[1] image didn't come down in the end, so no IDD tomorrow. Mark Adler breaks the bad news to Squyres, who earns his paycheck, instantly trying to bargain: are we sure we ended up where we thought? Maybe we could drive forward another 10cm, to ensure Adirondack will be in the IDD workspace? Adler turns him down, and with good reason. Squyres is concerned about one failure case, the one in which we get the stereo data and learn that the rock is too far away, so that we'll waste (as he sees it) another day driving. If we drive today, we effectively win that day back. But there are at least two failure cases associated with driving. We might be too close to Adirondack already, in which case the 10cm drive will take us way too close, and we'll waste at least one day backing off. Or we might drive and then fail to get tomorrow's HAZCAMs, in which case we would have been OK if only we'd stayed put -- and again, we'll have to waste a day fixing the problem. Neither choice is appealing. So: no driving today.

The mood in the meeting sours considerably. Nothing like having your hopes dashed. But the scientists are pros, and they're instantly suggesting options. PANCAM the wheel tracks. PANCAM the wheels themselves, to look for any soil adherence. NAVCAM panorama. APXS door calibration. MB on the CCTs[2]. No shortage of ideas in this crowd.

Missing the image we needed is a bummer, but I'm too happy to get really down about it. I have a little time before the SOWG, and I take part of it to gloat over the new data. The PANCAM got a beautiful shot of Adirondack, and that was before the drive -- the one we take from our final position will be something to see. And that Sashimi image is so weird, with the fascinating rectangular depression in one side. (There I go again, getting excited about rocks. I can't help it.)

The SOWG goes well again, though I have very little to do, since we won't drive or use the IDD tomorrow. But they ask for shadowing again, and this time I have it ready almost before they can ask. It helps that Jeff Norris gave me a heads-up that they were going to ask for it, but it also helps that I spent yesterday obsessing over my failure to do it fast the first time, and practicing. Sometimes that obsessing-over-failure thing works for me.

Since I have no real work today, Brian and I talk about what we can do today to help future days work better. So I spend some more time on my automated flight rule checker, which by now has already taken more time than it will ever save me[3], but what the heck. It will save time for others. And besides, it can be worth spending thirty minutes of non-critical time now to save fifteen minutes of critical time later.

Long John Silver's has announced that if Steve Squyres and Ray Arvidson will certify by February 29 that there was once an ocean on Mars, the restaurant chain will give free shrimp to everyone in America. Oookaaaayyy ....

Just before my day ends, I find myself giving Rick Welch a pep talk, which starts off as kind of a joke but I end up meaning it. "This is the greatest thing in the world we're doing right here!" I exclaim. "And the whole world is watching us do it! We're driving a rover on Mars! I'm getting up at four-thirty in the morning and I'm happy about it!" Right away, he's laughing (and I never make Rick laugh), and pretty soon the whole room is listening and laughing as I rant. HAZCAM, schmazcam. It's a great day on Mars.



Footnotes:

[1] An abbreviation for "Front HAZCAM," as you might have guessed.

[2] Compositional Calibration Target, mounted on the rover itself, just above the arm. This would help calibrate the MB (Mossbauer spectrometer), one of the instruments on the IDD.

[3] So wrong! I've continued to maintain this software all the way through the mission, and it's been a huge, huge time-saver for the whole team, even taking into account the many hours I've spent developing it. I can't count the number of times it's saved us from making a dumb mistake that would have blown a sol or even endangered a rover. And, of course, automating as much as possible of our checklist leaves us more brain cycles to spend on the creative parts of the job.

3 comments:

Paolo Amoroso said...

Do you mean macros as in the good old days of Assembly, m4 and C preprocessor macros?

CocoaGeek said...

C macros are not really that old school! ... Or are they? ... hmmmm

Scott Maxwell said...

RoSE macros are a similar concept -- a little information in, a lot of work comes out -- but different from assembler/m4/C macros. The point of those macro systems is to hide complexity, but, perhaps surprisingly, that's generally not what we want to do in rover ops. We want to display and review *exactly* what we're sending to the spacecraft, even if it's complex.

Still, we don't mind introducing automation -- indeed, we love it. So the RoSE feature by that name pops up a simple GUI, takes a few inputs, and spits out a bunch of commands. You end up seeing all the commands that are generated (they're not hidden from you behind a C-like macro invocation), but you don't have to do so much work to create them.