Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
Mars NASA Science

NASA Gives Mars Rover Extra Smarts 116

coondoggie writes "NASA today said it upgraded the software controlling its Mars Rover Opportunity to let it make its own decisions about what items like rocks and interesting red planet formations to focus its cameras on. The new system, which NASA uploaded over the past few months, is called Autonomous Exploration for Gathering Increased Science, or AEGIS and it lets Opportunity's computer examine images that the rover takes with its wide-angle navigation camera after a drive, and recognize rocks that meet specified criteria, such as rounded shape or light color. It can then center its narrower-angle panoramic camera on the chosen target and take multiple images through color filters, NASA stated."
This discussion has been archived. No new comments can be posted.

NASA Gives Mars Rover Extra Smarts

Comments Filter:
  • by LWATCDR ( 28044 ) on Wednesday March 24, 2010 @01:02PM (#31599804) Homepage Journal

    Well yes they are very successful but I think you may be forgetting Voyager which was unbelievably successful and Pioneer 11 and 12 which are still ticking over as they coast out of the Solar System.
    Not to mention Viking, and Hubble.
    All of these projects have been extremely successful projects.

  • by robot256 ( 1635039 ) on Wednesday March 24, 2010 @01:21PM (#31600146)

    There are multiple levels of software on the rover. There is a failsafe module to turn everything off if it runs out of power, there is a bootloader OS to handle software crashes and give memory dumps to ground controllers, there is the main OS that runs the vehicle, and then there are scripts the main OS can run. This is one of the scripts.

    Note that the summary says they spent "months" uploading the new software--they did it very meticulously, in chunks, with checksums, and probably read back the whole memory before giving it execute permissions.

    If you were keeping up with the news when they launched the rovers, you might remember that they launched with only the bootloader installed--they actually uploaded the vehicle OS mid-flight before they reached Mars. So something like this isn't a big deal once it's been tested within an inch of its life to get "flight" qualified. The big deal is that they actually got it that far--NASA has historically been very reluctant to give their craft any more autonomy than absolutely necessary. Hopefully we are turning a corner on that.

  • by DerekLyons ( 302214 ) <> on Wednesday March 24, 2010 @01:56PM (#31600704) Homepage

    Send everything, checksum it and then flash? If something goes wrong (solar wind) is there a very basic firmware that sits and listens?

    Probably something like:

    1. Verify the hell out of the code on an emulator.
    2. Verify the hell out of the code on the engineering testbed (a rover computer sitting on a table).
    3. Verify the hell out of the code on the engineering development rover (a real rover at JPL running on various simulated terrains).
    4. Send everything, twice. Compare one copy to the other. Checksum each copy received twice. Send the checksums to Earth twice. After receiving the enable and execute codes (which have protections of their own) from Earth, flash it from data storage into firmware. Checksum the firmware twice. After receiving the enable and execute codes from Earth (which have protections of their own), transfer control to the new software (keeping in mind the OS is robust and has various protection features of it's own to prevent apps from bricking the computer and limited protect against trashing the rover).

    Seriously, the only people who take validating the code and the authority to execute it more seriously than NASA are the guys at the launch control consoles out in the missile silos and SSBNs.
    But they don't beat NASA by much. NASA's unmanned branch does take lessons learned pretty seriously (they've bricked [] probes before), and when the budget allows [] does things the right way.

  • by Lumpy ( 12016 ) on Wednesday March 24, 2010 @02:10PM (#31600900) Homepage

    They upload the new program, it sits in storage and then is checked, if OK then they schedule a time to do the software install. if the software installs wrong it falls back to the last known good program.

    It's like a motherboard with "crash proof" or "dual bios" but with a lot of checking and waiting and testing.

    That's the 10,000 foot view of how it works, you can find online a more detailed article on how the rovers are designed.

  • by Anonymous Coward on Wednesday March 24, 2010 @02:21PM (#31601078)

    wow you suck...

God doesn't play dice. -- Albert Einstein