Patching Flight Software on Mars Ed Benowitz / Mark Maimone MSL Flight Software Developers NASA/Jet Propulsion Laboratory California Institute of Technology.

Slides:



Advertisements
Similar presentations
Space Exploration Mars Rovers, Apollo program, Voyager satellites, and SETI All Presented by the Peter C Period: 2 (two) As in 1+1=2 Or 2x1=2 ®
Advertisements

Curiosity The Robotic Rover on Mars Aviel Atias Omri Ben Eliezer Yaniv Sabo 29/04/13 1 Curiousity.
Earth to Mars Facts About the Planet Mars Earth Science.
Mars Invasion: Spirit, Opportunity, Mars Express Meghan McGovern.
Modern Exploration Global Surveyor.  Objectives:  High resolution imaging of the surface  Study the topography and gravity  Study the role of water.
1 EDAC Concerns for Flight Software and Hardware Design Craig Pires LADEE C&DH Lead NASA-Ames Research Center Moffett Field, CA Scott.
IV&V of Critical Behavior September, 2012 Shirley Savarino, TASC.
Overview of the SMAP Science Data Manager (SDM) Ed Benowitz SMAP FSW Developer NASA/Jet Propulsion Laboratory Caltech Copyright.
The Lunar Reconnaissance Orbiter (LRO) is the first mission in NASA's Vision for Space Exploration, a plan to return to the moon and then to travel to.
1 Lecture 2: Review of Computer Organization Operating System Spring 2007.
Computer System Overview
Mars Exploration By Jacob Stinar. Water on Mars.
IT Systems Memory EN230-1 Justin Champion C208 –
Data Storage Technology
WANs and Routers Routers. Router Description Specialized computer Like a general purpose PC, a router has:  CPU  Memory  System Bus Connecting Internal.
START! next Today I will teach you about the types of parts I am made of and how I sense this Martian world around me! next Quiz Practice back START!
Modern Exploration Mars Pathfinder  “NASA’s Mars Pathfinder mission – the first spacecraft to land on Mars in more than 20 years and the first ever to.
* Definition of -RAM (random access memory) :- -RAM is the place in a computer where the operating system, application programs & data in current use.
CURIOSITY: Big Mars Rover for Big Mars Science! Artist’s Concept. NASA/JPL-Caltech.
TERMS TO KNOW. Programming Language A vocabulary and set of grammatical rules for instructing a computer to perform specific tasks. Each language has.
Initial Results from the Mars Science Laboratory Your Name Here MSL Science Team 9/27/12 NASA/JPL-Caltech/MSSS.
“ PHOBOS - SOIL ” Phobos Sample Return Mission 1. goals, methods of study A.Zakharov, Russian academy of sciences Russian aviation.
Dr. Jennifer Rochlis. Overview Build a technology testbed for future rover concepts Develop and demonstrate operations and mission concepts.
The Mars Science Laboratory Ashwin R. Vasavada Deputy Project Scientist Jet Propulsion Laboratory/Caltech Copyright 2012 California Institute of Technology.
Mars The latest mission to Mars touched down on the 6 August It is called the Mars Scientific Laboratory otherwise known as, Curiosity. This is a.
Chapter 22- Exploring Space Lesson 1-Rocket Science
Computers and Space Exploration!
MATSEC Past Papers May 2010 Paper 1 Paper 2A. What is the difference between each of the following pairs of items? Syntax Error Caused by forgetting certain.
The Solar System Chapter 6 COPY DOWN THE LEARNING GOALS ON PG SKIP 5 LINES BETWEEN EACH!
Write 3 three facts you already know about Mars. WHAT YOU KNOW.
Space Program Benefits US Space Program has been around since 1958 US Space Program has been around since 1958 Technology developed for space program has.
Mars Exploration Rovers (MER) Entry, Descent, Landing, and Deployment.
CURIOSITY Antoine Henderson Fiona Ward. Launch and Landing  Launched:  November 26, 2011  Cape Canaveral, Florida  Landed: August 6, 2012  August.
MSL Status/Update for MEPAG John Grotzinger 1, Joy Crisp 2, and Ashwin Vasavada 2 1 California Institute of Technology 2 Jet Propulsion Laboratory, California.
Artist’s render of MSL on Mars.
Curiosity Rover.
Destination Mars What Challenges do NASA Scientists face getting Rovers to safely land on Mars?
ROBOTIC VISION CHAPTER 6: APPLICATION. INDUSTRY MEDICAL SERVICE AEROSPACE.
Mars - The Red Planet Image Courtesy of NASA/JPL-Caltech.
Chapter 13 Section 3 – pg 515 Exploring Space Today.
By: Kiana Gathers. Objectives  To study the climate, the planet’s structure, its geology, and to search for traces of water.  To take global surveys.
Mars Exploration Rover Science Goals Determine whether Life ever arose on Mars Characterize the Climate of Mars Characterize the Geology of Mars Prepare.
Interlude  Viking mission operations ended in the early 1980s  Viking missions gave scientists the most complete picture of Mars to date. What does this.
Spacecraft Dimensions 1.06 meters (3.5 feet) tall by 3.6 meters (12 feet) wide. Spacecraft Weight Total: 576 kg (1,270 pounds) Lander: 290 kg (639 pounds)
Enabling Capabilities A Robotic Field Geologist Access to a site mapped from orbit Long life, mobility, capability to explore a local region Remote sensing.
A&AE 450 – Senior Design Un-pressurized Surface Vehicles, Local Science Issues and Robotic Exploration February 13, 2000 Christopher Burnside.
Unit 1: Computing Fundamentals. Computer Tour-There are 7 major components inside a computer  Write down each major component as it is discussed.  Watch.
GLAST Large Area Telescope Instrument Flight Software Flight Unit Design Review 16 September 2004 Secondary Boot Code (SBC) D.Wood Naval Research Laboratory.
After-workshopactivity Mars Rover Challenge Image credit: NASA/JPL-Caltech/MSSS.
PCs ENVIRONMENT and PERIPHERALS Lecture 3. operating system and other system software that control the usage of the computer equipment application programs.
CURIOSITY: Big Mars Rover for Big Mars Science! Artist’s Concept. NASA/JPL-Caltech.
Unit 4 Lesson 2 Technology for Space Exploration
Adopting the Python language for On-board Programmable Payload Autonomy Steven Doran 2016 Flight Software Workshop 12/14/2016.
Mars - The Red Planet Image Courtesy of NASA/JPL-Caltech.
Mars and Curiosity Rover
Space Robot APARNA .K.P SITHARA.P.SUNDARAN VJEC.
Mars 2020 Rover Mission The Mars 2020 mission addresses high-priority science goals for Mars exploration, including key questions about the potential for.
cFE FSW at APL & FSW Reusability
Mercury Venus Earth Mars
Rover Components.
MARS.
Exploration of Subsurface Mars’ Geology and Water
10 LOOKING BACK KEY CONCEPTS SUMMARY
Lesson Objectives Aims You should be able to:
Mission Status Update August 22
Mars - The Red Planet Image Courtesy of NASA/JPL-Caltech.
Curious about Curiosity?
2.C Memory GCSE Computing Langley Park School for Boys.
Failure in the PATHFINDER Mission
Mission Status: September 06, 2012
Presentation transcript:

Patching Flight Software on Mars Ed Benowitz / Mark Maimone MSL Flight Software Developers NASA/Jet Propulsion Laboratory California Institute of Technology Copyright 2015 California Institute of Technology. Government sponsorship acknowledged. Artist’s Concept. NASA/JPL-Caltech

Agenda Spirit/Opportunity Rover Mission Overview Curiosity Rover Mission Overview Flight Software Architecture Overview Options for Changing Software in Flight Goals for Patching General Patching Approaches Trades How a FSW Image is Loaded Patch Scenarios Lessons learned Page 2

Spirit Mission Overview NASA/JPL - Caltech/Cornell NASA’s Mars Exploration Rovers were designed to survive 90 days. But Spirit explored Mars for 6 years! A stalled wheel motor led to a serendipitous discovery proving Mars had freestanding pools of water. FSW patches helped keep Spirit going even with failed actuators..

Opportunity Overview NASA/JPL-Caltech/Cornell Opportunity is now in its 12 th year of Mars Exploration! Opportunity holds the distance record for roving across a planetary surface (over 42km) There have been 6 major FSW updates and tens of hot or cold patches.

Spirit and Opportunity Rover Mission Overview Size –About the size of a golf cart -- 5 feet long (not including the arm), 6 feet wide and 5 feet tall Arm reach –About 3 feet Weight: –185 kilograms (400 pounds) Mission: –Search for and characterize a wide range of rocks and soils that hold clues to past water activity on Mars. Page 5

Curiosity Rover Mission Overview Page 6 Artist’s Concept. NASA/JPL-Caltech

Curiosity Rover Mission Overview Page 7 NASA/JPL-Caltech/MSSS

Curiosity Rover Mission Overview Size –About the size of a small car feet long (not including the arm), 9 feet wide and 7 feet tall or about the height of a basketball player Arm reach –About 7 feet Weight: –900 kilograms (2,000 pounds) Mission: –To search areas of Mars for past or present conditions favorable for life, and conditions capable of preserving a record of life Page 8

Flight Software Overview MER and MSL rovers all run the VxWorks operating system –Supports executing shell commands Change variables Dynamic code loading and execution MSL has over 100 flight software modules, most run as their own task Communication between tasks –Inter-process communication (IPC) messages Send a message Wait for a reply Proceed Page 9

Options for Changing Software in Flight Uplink and install an entire flight software image Patch an existing flight software image –Modify or extend the existing onboard flight software image Extend FSW with a new software component –Dynamically load new code –Add a new.o and add new commands, telemetry, and data products using a FSW-provided API 1/23/

Why Patch? Patching can: –Add entirely new functionality to flight software Could include new commands and telemetry May be necessary to work around newly discovered hardware behavior Increase science return –Fix a flight software bug Patching potentially a faster process than a full FSW image –A full FSW load typically requires that Validation and Verification (V&V) tests run against all FSW capabilities, even ones that are not changing 1/23/

General Patching Approaches Hot patch –Changes code in RAM while we are running –VxWorks also allows dynamic loading of.o files Cold patch –Modify the flight software image stored in a non-volatile storage area. –The new code image would be used on a subsequent boot –Does not change the currently running code Trades –Risk Simpler uninstall for a hot patch –Reboot would restore flight software back into a clean version. –Testing effort –Uplink bandwidth 1/23/

General Patching Approaches Patches may need to –Add code to an existing function –Replace a buggy function with a new function –Remove code from an existing function –Add new global variables –Change or assign references to existing global variables, e.g. function pointers –Add new commands and telemetry And just in case the patch doesn’t work –Have a plan for un-installing the patch 1/23/

Trades Trade: Should flight software provide commands for patching? –MER and MSL had some support for patches MER: Could apply patches to a copy of FSW in RAM and write to non- volatile storage MSL has a command for adding a new FSW component module –But hot patches that change existing code require back-door methods Issues with a general built in patch capability –Trades FSW development resources against Ops resources –A small code change can result in a large difference in the FSW binary If memory locations move, the size of a diff file can be large –Both missions had small amounts of RAM MSL could not add padding inside binaries to allow for reduced diff file sizes MER did have room to add padding 1/23/

MER Example Patch Differences 1/23/2016 Green – No change Red – At least one bit changed Memory Start Memory End

How MSL Boots The boot loader loads the FSW image from the currently selected NOR bank –Copy from NOR to RAM –Execute the image image from RAM If the image fails to load, the boot loader uses another NOR bank 1/23/

How MER boots normally MER had a Rad6K flight computer –FSW images were stored in EEPROM –Multiple, different FSW images could be stored 1/23/

How A Full New Image is Installed The ground uplinks a new binary image to the file system Upon command, the new image is saved –Flight software loads the image into RAM –Flight software burns the NOR zone with the image MER –In addition to the above, MER also allowed patching the RAM image before burning to its nonvolatile storage in EEPROM 1/23/

MSL Patch Scenario: Remove code A bug affecting both Cruise and Surface operations required the removal of several lines of code –Cruise: The spacecraft is always on Hot patch approach: Patch the code in RAM only –Replace the original code with no-ops »A memory assignment –Surface: The rover has a wakeup/shutdown cycle Cold patch approach: Change the image in NOR –Load the original image into RAM –Modify the RAM image to add the no-ops. –Save the newly modified image into NOR –The bug fixes are retained across reboots 1/23/

MSL Patch Scenario: Replacing a function Add code to a function to fix a bug –The function referenced global variables Implemented as a hot patch. Use a replacement function –Create a new.o file to be dynamically loaded by Vxworks containing Replacement function Pointers to the global variables Installation –Load the.o –Find the address of the old function –Poke an instruction into the old function to jump to the new function –Find the address of the global variables, and assign them to the new global variable pointers Install performed on every boot by a sequence 1/23/

MSL Patch Scenario: Adding new functionality MSL can add new functionality –Special commands can install a new FSW component.o containing new code, commands, telemetry Registration to add new functionality –The new.o is dynamically loaded during the boot process –The new code may register new commands, telemetry, data products –The new code can hook into the existing wakeup and shutdown process Functions are registered. –The registration is performed once Registration information is stored in non-volatile memory 1/23/

Lessons Learned We had to use back-door methods to change small parts of the existing flight code on MSL –Even though explicit commands were provided to add new functionality and load an entire new flight software image Onboard patching of small code changes was frequent enough to consider adding a patch command in future missions. –Running hot patch setup sequences has become a standard part of our nominal sequencing process Page 22

Thanks MSL flight software team –Led by Ben Cichy –Special thanks to Danny Lam MER flight software team –Led by Glenn Reeves Page 23

QUESTIONS? Page 24

BACKUP Page 25

Mars facts Size: –Half the size of Earth, but same land area Weight: –1/10th of what the Earth weighs Gravity: –38% as strong as on Earth Average Temperature: –-81 degrees Fahrenheit Atmosphere: –Mostly carbon dioxide, with some water vapor Moons: –2, Phobos and Deimos Page 26

Mars facts Page 27

MSL Flight Computer Single Board Computer –RAD 750 On-board memory includes 128 MB of volatile DRAM 4 GB of NAND non-volatile memory on a separate card Both with error detection and correction Runs on two flight computers –Prime and backup Page 28

Cameras –Four Pairs of Engineering Hazard Avoidance Cameras (Hazcams): Mounted on the lower portion of the front and rear of the rover, these black-and-white cameras use visible light to capture three-dimensional (3-D) imagery. –Two Pairs of Engineering Navigation Cameras (Navcams): Mounted on the mast (the rover "neck and head"), these black-and- white cameras use visible light to gather panoramic, three-dimensional (3D) imagery. The navigation camera unit is a stereo pair of cameras, each with a 45-degree field of view –Four Science Cameras: MastCam (one pair), will take color images, three-dimensional stereo images, and color video footage The Mars Hand Lens Imager is the equivalent of a geologist's hand lens Chemcam Page 29

Arm and Hand Page 30

Drill Curiosity drilled on Mars Page 31

Instruments on Curiosity ChemCam –Will fire a laser and analyze the elemental composition of vaporized materials from areas smaller than 1 millimeter on the surface of Martian rocks and soils. Chemin: –The Chemistry and Mineralogy instrument, or CheMin for short, will identify and measure the abundances of various minerals on Mars. SAM –The Sample Analysis at Mars features chemical equipment found in many scientific laboratories on Earth. SAM will search for compounds of the element carbon. REMS –A weather monitoring station RAD –Measures radiation Page 32

Communication Curiosity can communicate directly to Earth Typically Curiosity talks to satellites orbiting Mars –These orbiters then forward data to Earth Page 33

Photos from Mars Page 34

Photos from Mars Page 35

Photos from Mars Page 36

References [1] J. Grotzinger, J. Crisp, A. Vasavada, R. Anderson, C. Baker, R. Barry, D. Blake et al. “Mars Science Laboratory mission and science investigation,” Space science reviews 170, no. 1-4, 2012, pp [2] [3] Page 37