- Slides: 20
Mars Pathfinder Mission Evan Hardester
Mission Overview • Run by Nasa’s Jet Propulsion Laboratory (JPL) • First mission of NASA’s Discovery program • Deliver a lander and a free-ranging robotic rover to the surface of Mars • Demonstrate low-cost landings on and exploration of Mars
Jet Propulsion Laboratory workers begin closing the metal "petals" of the Mars Pathfinder lander. The Sojourner rover is visible on one of the three petals. https: //www. nasa. gov/content/making-final-preparations-for-the-path-to-the-red-planet
Lander Specs • CPU: IBM RS 6000 • Running Wind River Systems Vx. Works RTOS • 128 MB of RAM • 6 MB ROM • Imager for Mars Pathfinder (IMP): a stereo imaging system with color capability provided by a set of selectable filters for each of the two camera channels. Used for imaging the surface of Mars and helped to navigate the rover. • Atmospheric Structure Instrument and Meteorology Package (ASI/MET) https: //mars. nasa. gov/MPF/mpf/fact_sheet. html
Rover Specs - Sojourner • CPU: Intel 80 C 85 – 500 KB of RAM • • • Total Mass: 16 kg Ultra-high frequency (UHF) modem and structure. Autonomous Navigation support – On board, using laser striping for obstacle detection • Mobility System – Six-wheel, rocker bogie suspension • Command And Telemetry – UHF link with lander • Payload – Aft and fore cameras, APXS deployment mechanism • Power: – 0. 25 -M 2 Solar panels, peak power 16 W-hours: primary battery, 50 W-hours https: //mars. nasa. gov/MPF/mpf/fact_sheet. html
Mission Overview Cont. • 3 Years in Development – $265 million • Launched: December 4, 1996 UTC – Cape Canaveral Air Force Station, Florida • Landed: July 4, 1997 – Ares Vallis, Mars https: //mars. nasa. gov/MPF/mpf/fact_sheet. html
https: //nssdc. gsfc. nasa. gov/planetary/marspath_images_h. html
The Problem • System Resets – Reinitializes all of the hardware and software – Terminates the execution of the current ground commanded activities.
The Software Architecture • t 1: bus hardware starts via hardware control on the 8 Hz boundary. The transactions for the this cycle had been set up by the previous execution of the bc_sched task. • t 2: 1553 traffic is complete and the bc_dist task is awakened. • t 3: bc_dist task has completed all of the data distribution • t 4: bc_sched task is awakened to setup transactions for the next cycle • t 5: bc_sched activity is complete
Priority Inversion • Higher priority bc_dist task was blocked by lower priority ASI/MET task that was holding a shared resource • ASI/MMET task aquired the resource but was preempted by several higher priority tasks • bc_sched task activates to set up next 1553 bus cycle, it detects that the bc_dist task has not completed -> System Reset (watchdog)
Priority Inversion cont. • select(): Creates a system_mutex to protect “wait list” • IPC makes use of pipe() which uses select() • ASI/MET task calls select()->calls pipeloctl()-> calls sel. Node. Add()-> gives the system_mutex • ASI/MET was preempted and the sem. Give() was not completed. • bc_dist attempts to send newest data on IPC but pipe. Write() is blocked.
The Fix • Priority Inheritance – If waiting for a low priority thread, allow that thread to inherit the higher priority • Software patch – Adjust semaphore creation flags
Mission Outcome • Final data transmission on September 27, 1997 • Returned 2. 3 billion bits of information - More than 16, 500 images from the lander, 550 from the rover - Chemical analyses of rocks and soil - Extensive data on winds and other weather factors – Both the rover and lander outlived their design lives • the lander by nearly three times, and the rover by 12 times.
Lessons Learned • Only detailed traces of actual system behavior enabled the faulty execution sequence to be captured and identified • The presence of "debugging" facilities in the system was extremely important • Spending extra time to ensure priority inheritance correctness at the testing stage, even at some additional performance cost, would have been invaluable.
References • NATIONAL AERONAUTICS AND SPACE ADMINISTRATION, “Mars Pathfinder Landing, Press Kit”, July 1997 https: //www 2. jpl. nasa. gov/files//misc/mpfland. pdf • Mike Jones, email- Subject: What really happened on Mars? , Sunday, December 07, 1997. https: //www. cse. buffalo. edu//~bina/cse 321/fall 2015/Mars. Rover. pdf • Glenn E. Reeves, email-Subject: Re: [Fwd: FW: What really happened on Mars? ], Monday, December 15, 1997. https: //cs. unc. edu/~anderson/teach/comp 790/papers/mars_pathfinder_long_version. html • Jacj J. Woehr, “A coversation with Glenn Reeves-Really remote debugging for real-time systems. ”, Dr. Dobb’s Journal, November 1999 http: //collaboration. cmc. ec. gc. ca/science/rpn/biblio/ddj/Website/articles/DDJ/1999/9911 a/9911 a. htm • JPL, “Mars Pathfinder Fact Sheet”, March 18, 1997. https: //mars. nasa. gov/MPF/mpf/fact_sheet. html