Ground Operations Tooling
The software that runs a planetary rover is not the flight software. It is the set of ground tools a few dozen people use, once per sol, inside a shift whose length is fixed and whose inputs arrive on the relay schedule. What the tools cost is measured in sols of science lost, not in milliseconds.
RSVP, the sequencing tool
Section titled “RSVP, the sequencing tool”The Rover Sequencing and Visualization Program was MER’s command-level editor, built as independent applications plugged into an executive and coordinating by messages over a message-passing library derived from the Oak Ridge PVM implementation [1]. The architecture choice was deliberate: clean enforced interfaces between applications let components be written in different languages, developed independently, and distributed across machines for load balancing.
Two components carry the work. RoSE, the Rover Sequence Editor, is the textual command editor, data-driven from a command dictionary held as a configuration file so the editing interfaces are constructed at startup rather than compiled in; it assigns command identifiers, launches the other applications, and reads and writes sequences in an XML-based rover markup format [1]. HyperDrive is the three-dimensional editor: it displays the terrain, moves the rover through it, and is specialized for driving, arm motion and imaging commands, simulating the result and storing it for playback.
The validation is what makes it more than a text editor. RSVP simulates a sequence using the same flight software that runs on the rover, giving collision checks, trajectory generation error detection, and accurate duration estimates [1]. Duration estimates from HyperDrive feed back into the sequence timeline through the message bus. Perseverance’s tool keeps the same principle of validating against a model of the vehicle, and moves it into a browser [2].
COCPIT, the collaborative planning tool
Section titled “COCPIT, the collaborative planning tool”Perseverance’s planning tool is a web application: JavaScript over a node.js server, with Backbone.js for the model and view layer, D3 and SVG for the timeline, a Redis database holding plan transactions as they are made, plan state synchronized between clients over web sockets, and deployment into Docker containers on Amazon ECS through Terraform, behind a single sign-on layer, exporting into an S3 and Elasticsearch data lake shared with the rest of the ground data system [2], a move driven by the same distributed-team problem that MER solved by relocating its persistence layer [6].
It replaced MSLICE, the MSL planning interface, and inherited the collaborative timeline, constraint and planning-unit structures of Playbook, the NASA Ames tool it was built on [2]. It continuously verifies constraints, models power and data, predicts when data will downlink to a passing orbiter, assigns instrument targets, records science intent, and translates the plan into the sequences bundled for uplink.
One interface covers five planning phases: parcel development, where reusable activities and components are defined and validated; strategic planning for activities never executed on Mars before; campaign implementation, producing a look-ahead plan across 3 to 5 sols; tactical uplink for the next planning cycle; and tactical downlink, showing the currently executing sol against a moving Mars time indicator [2]. Being genuinely multi-user and remote-first mattered because the team was distributed across North America and Europe from the start of operations.
The tactical timeline is the binding constraint
Section titled “The tactical timeline is the binding constraint”A Perseverance tactical planning shift is baselined at 9.5 hours and can start anywhere in the window from 6 am to midnight Pacific time, sliding within that window so that planning follows fresh data despite the offset between the Mars sol and the Earth day [7]. Most of the science team are not full-time on operations, which on previous missions meant only a small subset of the team could participate at all; splitting decisions between a predictive supratactical process at fixed Earth times and the reactive tactical process is the response to that.
MSL’s productivity study is the quantitative account of where the sols go. It combined structured interviews with operations personnel and analysis of three campaigns: Pahrump Hills over 19 sols, Artist’s Drive over 24 sols and 567 m, and Marias Pass over 24 sols and 130 m [3]. The identified drivers, in order of impact:
- Ground in the loop for target selection and drive planning, the largest single factor, because activities that generate the data a decision needs must happen before the decisional relay pass. Restricted sols, where that constraint bites hardest, made up 41 percent of the mission [3].
- The capacity of the tactical timeline to fill a multi-sol plan. Total activity across a multi-sol plan is lower than across the same number of single-sol plans, because developing and validating the command products takes time the shift does not have.
- Ground in the loop to respond to an activity outcome, for instance re-doing an observation whose lighting or targeting turned out wrong, which costs extra sols of driving and repetition.
- Inaccurate prediction of available vehicle resources, which restricts what gets planned; conservative activity estimates leave allocated margin unused and the vehicle idle.
- Communication between science and engineering and within the team.
- Science team engagement, degraded by part-time participation.
The resource cost of multi-sol planning is measured, and it is the cost the tactical shift imposes rather than one the vehicle imposes [3][7]:
| Plan length | Flight computer duration used | Energy used |
|---|---|---|
| 2-sol plans against 1-sol | 12 percent less | 7 percent less |
| 3-sol plans against 1-sol | 15 percent less | 11 percent less |
Source: [3]. Reducing the overhead was estimated to free 72 hours of additional campaign activity over the 19 sols at Pahrump Hills, 62 hours at Artist’s Drive and 69 hours at Marias Pass.
The study’s own conclusion is that the fixes are not tooling fixes: let the engineering team work effectively without knowing the exact vehicle state, let the vehicle detect a failed activity and respond onboard instead of waiting for the ground, plan multiple sols with less overhead, model resources more accurately, and improve the communication path between science and engineering [3]. The highest-satisfaction campaign, Pahrump Hills, produced fewer productive sols than the others; the walkabout strategy of a coarse survey followed by detailed revisits took longer and gave the team time to digest the data. The arm statistics for the same period show what that buys in placements [4].
What the tools cost the arm
Section titled “What the tools cost the arm”Robotic arm activities were planned on about half of MSL’s first 200 sols, with contact science in more than 40 of them [4]. The output over those 200 sols was 6 samples, 5 by scoop and 1 by drill, and 19 portions delivered: 7 to the sample analysis instrument, 4 to the mineralogy instrument and 8 to the observation tray [4]. Placement accuracy after teach point calibration put the drill within 1 to 1.5 cm of target, and the sol 180 mini-drill hole center within 2 to 3 mm of the target selected in the microscopic imager. The drill preload test on sols 170 and 171 held preload on an overnight target for 24 hours and 40 minutes [4]. Microscopic imaging used three standoff regimes: 20 to 25 cm for context, 5 to 10 cm for stereo, and about 1 cm for high resolution [4].
Parallelism, and the hour per shift it returns
Section titled “Parallelism, and the hour per shift it returns”Perseverance was required to drive 50 percent farther than Curiosity, 15 km in a Mars year, and to collect more than twice as many samples, which made overlapping activities a requirement rather than an optimization [5]. The flight software supports it: over 100 tasks share the 133 MHz RAD750 under the VxWorks priority preemptive scheduler with rate monotonic priorities, and up to 16 sequences can execute in parallel.
The measured return, tracked by a tool built to identify executed parallel activities automatically, was 329 hours 52 minutes 58 seconds of cumulative parallelism by sol 570, about 30 to 35 minutes per sol returned to science on the vehicle, and about 1 hour per shift of tactical operations time across uplink and downlink combined [5]. A one hour saving per shift compounds across thousands of planning cycles. Parallel activities in operational use include neutron spectrometer sensing while driving, instrument cooling overlapped with other work, and imaging during communication window preparation. Each was a separate certification against the flight rules the planning tool enforces [2].
Parallelism has to be certified rather than assumed. A surface electromagnetic interference test campaign produced a source and victim matrix of interactions, rated by operations priority and available test data, and a working group reviews new parallelism needs monthly, tests candidate scenarios on testbeds, and validates them in flight [5].
On sol 516, sample processing ran in parallel with a communication pass; the image compression background task handling a CacheCam image lost CPU to higher-priority communication tasks, the automatic camera power off triggered before the readout completed, and the image data was lost [5].
Where the tools moved to reduce latency
Section titled “Where the tools moved to reduce latency”MER’s planning tool history is a sequence of attempts to serve operators who were no longer in the building. The Science Activity Planner was centralized on JPL workstations with file-based persistence over NFS, fast because it sat next to its storage and with no integrated search [6]. Desktop sharing over a VPN was tried and performed badly for cross-country and international users [6]. Maestro, on the Eclipse Rich Client Platform, moved to a client and server split, but its Hibernate persistence layer decomposed a plan into hundreds of interconnected rows, and at 25 ms of network latency a 300-row save took 8 seconds; a REST server reduced the round trips but added its own latency.
The resolution was to stop treating a plan as a relational structure. Plans are stored as blobs in S3, named by the hash of their contents, with a metadata row in SimpleDB holding that hash; the blob is written before the metadata transaction commits, so a crash between the two leaves an orphan rather than a corrupt database, and a daemon deletes orphans older than a day [6]. Plan searches then returned in tens of milliseconds including network latency, the largest plans retrieved in seconds, and save time grew roughly linearly with activity count with a much smaller constant than the relational implementation.
The infrastructure cost fell with it. The legacy configuration ran two REST servers at $1340 per month plus about $2500 per month of storage and backup for 2.5 TB, roughly $40,000 per year; the cloud configuration was $412.50 per month of storage with backup, $18 per month for the load balancer, $191 per month for one large machine running continuously and $340 per month for ten large machines running 21 hours a week [6]. The usage pattern is what made the old arrangement wasteful: heavy use for about 8 hours every two days, on hardware provisioned for the peak [6], against a shift that is now baselined at 9.5 hours [7].
Comparison
Section titled “Comparison”| RSVP, MER | COCPIT, Mars 2020 | |
|---|---|---|
| Form | desktop applications over a message bus [1] | web application, node.js and Redis, on AWS [2] |
| Users | rover planners at JPL [1] | distributed international team, remote-first [2] |
| Validation | simulation using the flight software itself, collision and trajectory checks [1] | continuous constraint verification, power and data modeling [2] |
| Sequence output | rover markup language files [1] | plans translated into bundled uplink sequences [2] |
| Planning phases covered | tactical sequencing [1] | parcel development, strategic, campaign implementation, tactical uplink, tactical downlink [2] |
References
- Maxwell, S. A., Cooper, B. K., Hartman, F. R., Wright, J. R., Yen, J. and Leger, C. (2004). The Design and Architecture of the Rover Sequencing and Visualization Program (RSVP)
. International Symposium on Artificial Intelligence, Robotics and Automation in Space (i-SAIRAS). Source
BibTeX
@inproceedings{maxwell2004design, title = {The Design and Architecture of the Rover Sequencing and Visualization Program (RSVP)}, author = {Maxwell, Scott A. and Cooper, Brian K. and Hartman, Frank R. and Wright, John R. and Yen, Jeng and Leger, Chris}, booktitle = {International Symposium on Artificial Intelligence, Robotics and Automation in Space (i-SAIRAS)}, year = {2004}, doi = {10.2514/6.2004-621-417}, abstract = {The Rover Sequencing and Visualization Program (RSVP) is a suite of applications for composing, visualizing, and simulating sequences of spacecraft commands. The successor to the Rover Control Workstation software used in JPL's highly successful 1997 Mars Pathfinder mission, RSVP provides fast command editing and highly accurate simulation for Mars rover missions. Though it shares some conceptual and architectural similarities with its 1997 predecessor, RSVP was implemented from scratch for JPL's 2003-04 Mars Exploration Rover (MER) missions. RSVP is the software used to “drive” the MER rovers on the Martian surface, and was also used to command them during their cruise phase.} } - Deliz, I., Connell, A., Joswig, C., Kanefsky, B. and Marquez, J. (2022). COCPIT: Collaborative Activity Planning Software for Mars Perseverance Rover
. IEEE Aerospace Conference, 20220003012. Source
BibTeX
@inproceedings{deliz2022cocpit, title = {{COCPIT}: Collaborative Activity Planning Software for {Mars} {Perseverance} Rover}, author = {Deliz, Ivy and Connell, Andrea and Joswig, Chet and Kanefsky, Bob and Marquez, Jessica}, booktitle = {IEEE Aerospace Conference}, number = {20220003012}, pages = {1-13}, institution = {NASA}, address = {Big Sky, Montana}, year = {2022}, doi = {10.1109/aero53065.2022.9843397}, abstract = {Since landing on the Martian surface, the Perseverance rover has relied on a distributed team to generate commands for exploring its new environment each sol (Martian day). The team uses a complex suite of software tools to accomplish this challenging task in time for the next window of opportunity to send commands to the rover. A key piece of this software ecosystem is COCPIT (Component-based Campaign Planning, Implementation, and Tactical). COCPIT is part of the next generation of planning and scheduling software tools developed by NASA's Jet Propulsion Laboratory in partnership with NASA's Ames Research Center. COCPIT is a web-based application that allows users to collaboratively view and update the Perseverance rover's activity plans, continuously verify that the plan satisfies constraints, assign targets for directing scientific instruments, document science intent, and model power and data resources. Mars Surface Operations requires diverse expertise from team members within the Engineering, Science, Robotic, and Instrument Operations groups, distributed across North America and Europe. In order to improve efficiency and reduce risk, all teams are able to review and edit their activities simultaneously and see the effects on the plan in its entirety. As part of the Ground Data System (GDS) tool suite, COCPIT is responsible for the activity plan. It provides specialized views that allow operators to understand where there may be room for additional observations, see whether any planning constraints are being violated, and confirm that energy usage and data generation are within the defined limits. It contains details such as which filters a camera will use for a given observation, what the resolution of the images should be, where to store the data onboard, and how long the observation is expected to take. It predicts when specific data will be downlinked from the rover to a passing orbiter, so that the team knows when to expect that data on Earth for evaluation in future planning. Ultimately the information from the COCPIT plan is translated to sequences that will be bundled and radiated to Perseverance for execution. The COCPIT tool is used throughout all planning phases.} } - Gaines, D., Doran, G., Justice, H., Rabideau, G., Schaffer, S., Verma, V., Wagstaff, K., Vasavada, A., Huffman, W., Anderson, R., Mackey, R. and Estlin, T. (2017). A Case Study of Productivity Challenges in Mars Science Laboratory Operations
. SpaceOps Conference. Source
BibTeX
@inproceedings{gaines2017case, title = {A Case Study of Productivity Challenges in Mars Science Laboratory Operations}, author = {Gaines, Daniel and Doran, Gary and Justice, Heather and Rabideau, Gregg and Schaffer, Steve and Verma, Vandi and Wagstaff, Kiri and Vasavada, Ashwin and Huffman, William and Anderson, Robert and Mackey, Ryan and Estlin, Tara}, booktitle = {SpaceOps Conference}, year = {2017}, url = {https://dataverse.jpl.nasa.gov/dataset.xhtml?persistentId=hdl:2014/46525} } - Robinson, M., Collins, C., Leger, P., Carsten, J., Tompkins, V., Hartman, F. and Yen, J. (2013). In-Situ Operations and Planning for the Mars Science Laboratory Robotic Arm: The First 200 Sols
. IEEE International Conference on Systems, Man and Cybernetics. Source
BibTeX
@inproceedings{robinson2013situ, title = {In-Situ Operations and Planning for the Mars Science Laboratory Robotic Arm: The First 200 Sols}, author = {Robinson, Matthew and Collins, Curtis and Leger, Paul and Carsten, Joseph and Tompkins, Vandana and Hartman, Frank and Yen, Jeng}, booktitle = {IEEE International Conference on Systems, Man and Cybernetics}, volume = {tbd}, pages = {153-158}, year = {2013}, doi = {10.1109/sysose.2013.6575259}, abstract = {The Robotic Arm (RA) has operated for more than 200 Martian solar days (or sols) since the Mars Science Laboratory rover touched down in Gale Crater on August 5, 2012. During the first seven months on Mars the robotic arm has performed multiple contact science sols including the positioning of the Alpha Particle X-Ray Spectrometer (APXS) and/or Mars Hand Lens Imager (MAHLI) with respect to rocks or loose regolith targets. The RA has supported sample acquisition using both the scoop and drill, sample processing with CHIMRA (Collection and Handling for In- Situ Martian Rock Analysis), and delivery of sample portions to the observation tray, and the SAM (Sample Analysis at Mars) and CHEMIN (Chemistry and Mineralogy) science instruments. This paper describes the planning and execution of robotic arm activities during surface operations, and reviews robotic arm performance results from Mars to date.} } - Siegfriedt, R. S., Girerd, A., Hazelrig, J., Gaines, D., Fosse, E., Appakonam, A., Waldram, N., Plave, A. and Rozek, M. (2023). Enabling Parallel Activities for Mars 2020 Rover Surface Operations
. IEEE Aerospace Conference. Source
BibTeX
@inproceedings{siegfriedt2023enabling, title = {Enabling Parallel Activities for Mars 2020 Rover Surface Operations}, author = {Siegfriedt, Rebekah S. and Girerd, Andre and Hazelrig, James and Gaines, Daniel and Fosse, Elyse and Appakonam, Ashwin and Waldram, Nicholas and Plave, Andrew and Rozek, Matthew}, booktitle = {IEEE Aerospace Conference}, address = {Big Sky, Montana}, year = {2023}, doi = {10.48577/jpl.obe5e4}, abstract = {Level 1 requirements levied on the Mars 2020 mission from NASA Headquarters challenged the Mars 2020 surface mission (also known as the Perseverance rover) to perform significantly better relative to the 2012 Mars Science Lab (MSL) surface mission (also known as the Curiosity rover). In one and a quarter Mars years, the Perseverance rover was expected to drive 50 percent farther and collect over twice as many samples as its predecessor, Curiosity. In order to reach these requirements, Mars 2020 came up with five guiding principles, two of which were “Be fast, be flexible: perform flight and ground functions more quickly” and “Do more science: increase the time that the vehicle is actively pursuing science on Mars''. These guiding principles required the mission to lay the groundwork early on for more surface activities to be performed in parallel, such as thinking while driving. Parallelism enabled both direct efficiency gains, such as completing multiple activities simultaneously during a given time frame, and indirect gains, such as increased available energy and better informed tactical planning due to more data being available sooner. These efficiency gains allowed the rover to complete more complex plans and better handle adversity such as data return disruptions. Although the mission planned to test and approve most of the parallel activities in the development phase, limitations on budget, time and personnel drove the majority of parallel activity testing and approvals to occur in the operations phase. Ideally, any activity can run concurrently with any other activity, but constraints such as Electromagnetic Interference (EMI), hardware safety, and resource utilization prevent some activities from running in parallel. In order to coordinate these behaviors on the rover, the mission needed an efficient and streamlined mechanism to manage them on the ground and maximize the amount of time the rover could pursue science on Mars. In response to this challenge, the Mars 2020 Surface Operations Team overhauled a legacy product from MSL called the Parallelism Matrix. Over the course of the primary mission, the Mars 2020 Parallelism Team made the following improvements: established a process to triage untested activity parallelism, enabled automatic updates to the matrix after downlinked data was analyzed, created a thorough testing campaign to investigate and approve untested parallel interactions, and provided a tool to autonomously track executed parallel activities as soon as data hit the ground.This paper will discuss: similarities and differences between the Perseverance and Curiosity missions with respect to maximizing science exploration time, Mars 2020’s new Flight Software (FSW) capabilities that enabled more parallelism, the Surface EMI testing campaign, the Surface Operations Parallelism Working Group efforts, Surface Operations parallelism tools and processes, the current state of parallel activity efforts on Mars 2020, the measurable benefits and achievements of parallelism, and the lessons learned and recommendations for the future.} } - Joswig, J. C. and Shams, K. S. (2011). Redefining Tactical Operations for MER Using Cloud Computing
. IEEE Aerospace Conference. Source
BibTeX
@inproceedings{joswig2011redefining, title = {Redefining Tactical Operations for MER Using Cloud Computing}, author = {Joswig, Joseph C. and Shams, Khawaja S.}, booktitle = {IEEE Aerospace Conference}, pages = {1-7}, address = {Big Sky, Montana}, year = {2011}, doi = {10.1109/aero.2011.5747555}, abstract = {The Mars Exploration Rover Mission (MER) includes the twin rovers, Spirit and Opportunity, which have been performing geological research and surface exploration since early 2004. The rovers' durability well beyond their original prime mission (90 sols or Martian days) has allowed them to be a valuable platform for scientific research for well over 2000 sols, but as a by-product it has produced new challenges in providing efficient and cost-effective tactical operational planning. An early stage process adaptation was the move to distributed operations as mission scientists returned to their places of work in the summer of 2004, but they would still came together via teleconference and connected software to plan rover activities a few times a week. This distributed model has worked well since, but it requires the purchase, operation, and maintenance of a dedicated infrastructure at the Jet Propulsion Laboratory. This server infrastructure is costly to operate and the periodic nature of its usage (typically heavy usage for 8 hours every 2 days) has made moving to a cloud based tactical infrastructure an extremely tempting proposition. In this paper we will review both past and current implementations of the tactical planning application focusing on remote plan saving and discuss the unique challenges present with long-latency, distributed operations. We then detail the motivations behind our move to cloud based computing services and as well as our system design and implementation. We will discuss security and reliability concerns and how they were addressed.} } - Milkovich, S. M., Stack, K. M., Sun, V. Z., Maxwell, K., Kronyak, R., Schnadt, S. L., Steadman, K. and Spanovich, N. (2022). Balancing Predictive and Reactive Science Planning for Mars 2020 Perseverance
. IEEE Aerospace Conference. Source
BibTeX
@inproceedings{milkovich2022balancing, title = {Balancing Predictive and Reactive Science Planning for Mars 2020 Perseverance}, author = {Milkovich, Sarah M. and Stack, Kathryn M. and Sun, Vivian Z. and Maxwell, Kimberly and Kronyak, Rachel and Schnadt, Sara L. and Steadman, Kimberly and Spanovich, Nicole}, booktitle = {IEEE Aerospace Conference}, pages = {1-12}, address = {Big Sky, Montana}, year = {2022}, doi = {10.1109/aero53065.2022.9843572}, abstract = {The design of the science planning process for a space science mission needs to find a balance between operational and resource constraints and scientific decision-making. Science planning has previously been characterized as either predictive or reactive. Predictive science planning is needed when constraints drive science activities to be planned far in advance. For example, a combination of long one-way light time plus high-stakes science decisions drove the Cassini-Huygens mission to Saturn to have an extremely predictive planning process. On the other extreme, reactive science planning is needed when constraints drive science activities to be planned based on the results of the previous plan. For example, the Mars Exploration Rover mission interacted with the surface of Mars, and so the planning team needed to know the state of the rover at the end of each planning cycle before starting the next cycle. Operational and resource constraints that require management on intermediate timescales has led to the development of a science planning process between these two extremes. For example, the Mars Science Laboratory is a technically complex rover and has a parallel predictive process that allows the operations team to manage engineering constraints several days in advance while maintaining the reactive tactical planning process similar to that of MER. The Mars 2020 Perseverance rover is a technically complex rover in the MSL style, but has an added layer of science complexity: it is tasked with collecting a returnable cache of scientifically valuable samples of Mars within prime mission. Thus, the science planning process also needs to accommodate high-stakes longer-term science decisions in the style of Cassini. In order to balance the push-pull of these constraints, we have developed a science campaign-focused operational paradigm for Mars 2020 Perseverance that allows for both predictive planning to accommodate technological complexity and high-stakes science decisions as well as reactive planning to accommodate the realities of interacting with the martian surface. This paradigm influenced the design of operational processes and operational tools.} }