Skip to content

Autonomous Navigation

Autonomous navigation is the onboard selection of the next drive step from stereo range data, without a human having seen the terrain. It exists because a rover commanded once per sol can only be driven blind as far as the previous sol’s imagery resolves the ground, and because the round trip light time forbids a human in the control loop [1].

Input is one or more stereo pairs, the current pose estimate, a goal waypoint and a set of human-specified keep-in and keep-out zones. Output is a single arc or turn-in-place command and an updated traversability map. The Mars rovers have used two generations of the same decomposition: build a geometric hazard map from stereo range, score a set of candidate motions against it, execute one, repeat [1][2][4].

GESTALT (Grid-based Estimation of Surface Traversability Applied to Local Terrain) fits rover-sized patches of the stereo point cloud to a plane and evaluates three hazard classes against it: step obstacles, taken as large elevation deltas from the best fit plane; tilt hazards, taken as a large angle between the surface normal and the up vector; and roughness, taken as the residual of the planar fit [1]. The result is a rover-centred traversability grid, 10 x 10 m on Spirit and 12 x 12 m on Opportunity, both at 0.2 m cells, and as many as ten separate point clouds could be accumulated before an assessment was run.

Stereo feeds it. MER used a windowed 1D search along epipolar lines with a sum of absolute differences metric on images captured binned at 1024x256 and downsampled and rectified to 256x256 [1]. Spirit typically used the 125 degree field of view front and rear HazCams for about 15,000 3D points per pair, Opportunity the 45 degree NavCams for about 48,000.

Curiosity kept GESTALT with a coarser grid, a World Map at 40 x 40 cm cells over 10 x 10 m, updated at the end of each drive step from one HazCam pair and several NavCam pairs [2]. Forward mapping takes three NavCam pairs at -54, -14 and +26 degrees azimuth covering 2.5 to 10 m, plus a front HazCam pair covering 0.3 to 3 m, all captured at 256x1024 and processed at 256x256 [2]. Backward mapping is more expensive because the rear HazCams must be supplemented by two 30 degree turns in place, each producing a near pair at 256x256 and a horizon pair processed at 192x1024.

Curiosity added a global planner. After each drive step the World Map is merged into a Global Map at the same resolution over a default 50 x 50 m, and a version of Field D* selects a globally optimal path across it [2]. Planning is done in the 2.5D world model with no prediction of future slip. Four path selection strategies are available: Directed, which ignores the map; Guarded, which drives at the goal but halts before entering a hazard or keep-out cell; AvoidKOZ, which avoids only human-specified keep-out zones; and AutoNav, which avoids both. Waypoint-style driving was used in 33.2 percent of the first seven years of attempted drives [2].

The optimality that D* guarantees is optimality at every state of the traverse with respect to all information known at that step, conditional on the arc cost corrections received from the sensor being correct and on the robot’s state in the graph being known exactly [10]. Neither condition is met on a rover: the map is built from stereo range with a noise floor that grows with distance and an occluded footprint, and the pose feeding it carries the slip and localization error that visual odometry exists to bound. The speedup that made incremental replanning affordable, close to 300 times faster than brute-force replanning with A* on a 1,000,000-state grid, was measured in simulation on randomly generated grids with an idealized omnidirectional sensor of 10 states radius and perfect detection inside it, timed on a 1994 workstation, and the author states it depends strongly on obstacle density and on the ratio of known to unknown obstacles [10].

ENav and Approximate Clearance Evaluation, Mars 2020

Section titled “ENav and Approximate Clearance Evaluation, Mars 2020”

ENav replaces the goodness-grid-plus-arc-vote scheme with an explicit search over a tree of candidate paths and a separate safety oracle [4]. The planning cycle is: process disparity into a 2.5D heightmap centred on the rover; assign each cell a traversal cost, infinite inside a keep-out zone and finite but elevated for unimaged terrain; rank the candidate path tree by a cost that combines maneuver time, sampled terrain cost and a Dijkstra estimate of cost to go from the path end to the global goal; run Approximate Clearance Evaluation on paths in ascending cost order; actuate the first maneuver of the cheapest ACE-validated path.

The default tree is 14 candidate turns in place including the null turn, followed by two levels of 11 3 m arcs of varying curvature, 1694 paths in total, planning about 6 m ahead [4]. ACE takes the rover pose and the heightmap, finds the minimum and maximum terrain height inside the potential footprint of each wheel, and returns infinite cost if the resulting attitude and clearance bounds violate parameterized limits.

Spirit and OpportunityCuriosityPerseverance
Autonomy processor20 MHz RAD6000133 MHz RAD750133 MHz RAD750 plus Virtex-5QV on a second RAD750 board
RAM128 MB128 + 512 MB128 MB x2 plus 512 MB x2
Stereo pixels per step10,000 to 50,00040,000 to 200,000240,000 to 1,200,000 on the FPGA
Autonomous navigation pause per stepabout 120 sabout 120 stypically 0 if not steering
Speed penalty against directed driving4 to 10 times slower4 to 10 times slowernone reported

Sources: [5] Table 1 for the hardware and pause columns, [3] for the speed penalty on MER and MSL, for the Mars 2020 entry.

At most 75 percent of the MER RAD6000 was available to autonomy software, and dynamic allocation was discouraged, leaving fixed pools of 4 MB, 9 MB and up to ten further 2 MB blocks whose use cut into the memory available for image processing [1]. The same processor ran more than 90 concurrent VxWorks tasks, and instrument interfaces were not optimized for speed: acquiring one image and storing it in RAM took a minimum of 5 s [7]. MSL was expected to generate about 100 W on average, which does not permit keeping every sensor powered and the CPU highly utilized for long.

ENav’s cost is dominated by ACE. Each evaluation takes an estimated 10 to 20 ms on the Perseverance RAD750 [4]. The baseline configuration averaged 275 evaluations per planning cycle in benign terrain and 377 in complex terrain, about 4.5 s of ACE per cycle [4]. ENav is defined to be overthinking when a cycle exceeds 275 evaluations, roughly 3 to 4 s of computation, which forces the rover to stop until a path is found; Monte Carlo simulation predicted a 20.0 percent overthink rate in complex terrain and rare exceedance in benign terrain. Evaluating the entire 1694 path tree at 25 cm intervals would call ACE more than 22,000 times and take over 3 minutes [4].

Two heuristics were tested against that budget over 780 Monte Carlo trials per terrain class [4]. A gradient convolution heuristic using Sobel operators cut complex-terrain path inefficiency from 25.4 to 19.9 percent and the overthink rate from 20.0 to 14.2 percent, at a success rate of 67.1 against a 69.9 percent baseline. A learned ACE-probability heuristic reached 72.5 percent success, 20.4 percent inefficiency and a 7.1 percent overthink rate [4]. With no minimum evaluation count, the learned heuristic cut complex-terrain ACE evaluations from 377 to 90, about 1.1 s rather than 4.5 s per cycle. No trial in any experiment failed through a violated safety constraint; all failures were timeouts or no-path outcomes.

MER used onboard terrain assessment for 1354 of Spirit’s 4798 m and 1379 of Opportunity’s 5947 m as of 15 August 2005, about 25 percent of distance for both [1]. Spirit’s longest commanded drive was 124 m on sol 125, 62 m directed followed by 62 m under Terrain Assessment and Local Path Selection [1]. Nearly a third of Spirit’s traverse to the Columbia Hills was driven under Terrain Assessment, and it reached the hills about 50 percent sooner than directed driving alone would have allowed. Opportunity’s longest planned drive covered 390 m over sols 383 to 385, of which 284 m was autonomous in 70, 104 and 110 m increments with no commands sent after the first sol [1].

Curiosity accumulated 1116.7 m of AutoNav odometry in total by 14 April 2022, limited by wheel damage and by sampling priorities rather than by the algorithm [5]. Perseverance drove 4802 m of AutoNav odometry during the 31 sol Rapid Traverse Campaign alone, 94.8 percent of the campaign’s 5063.4 m, at an average 79.7 m/h over a modeled 2.98 h of driving per sol [5]. Strategic planning for that campaign assumed peak AutoNav rates of 200 to 250 m/sol, and chose a 4.8 km route over a 2.4 km one on that basis, because the shorter route crossed the Seitah ripple field where AutoNav was expected to yield under 50 m on many sols. Mid-drive waypoints were set about every 120 m [5].

Perseverance drive modeDistance to sol 1710DurationEffective rateShare of odometryLongest sol
AVOID_ALL31,857.00 m343.76 h92.67 m/h75.28 percent403.00 m, sol 1540
GUARDED257.05 m2.81 h91.32 m/h0.61 percent39.00 m, sol 1292
UNGUARDED9910.53 m120.20 h82.45 m/h23.42 percent93.32 m, sol 1288
AVOID_KOZ0.00 m0.00 hnot used0.0 percentnone

Source: [6], Table 1. AVOID_ALL avoids both stereo-detected geometric hazards and human-specified keep-out zones; GUARDED runs the same onboard terrain assessment and visual odometry but stops rather than steering around an obstacle; UNGUARDED follows the uplinked path and ignores whatever image processing is enabled.

The 9.6 m/h gap between AVOID_ALL and UNGUARDED is the entire remaining cost of onboard hazard avoidance on Perseverance, against the 4 to 10 times penalty carried by MER and Curiosity [3][6]. Records set under autonomy include 319.786 m on sol 351, 520.499 m in a single plan on sol 399, 528.7 m over sols 404 to 405, 699.9 m over sols 407 to 409 with no human path input across three sols of driving, and 411.7 m on sol 1540 of which 403 m was autonomous [5][6].

Conservatism against unknown terrain is the dominant one. M2020 AutoNav depends on mast-mounted NavCam stereo, and sand features produce gaps in the onboard stereo results; in complex terrain with dense rocks, frequent outcrops or coverage gaps, the conservative hazard assessment reduces path efficiency and can stop progress entirely [5]. The sol 385 drive terminated on a no-path fault after AutoNav determined there was no route to the goal [5][8].

Position uncertainty propagates into the map. Perseverance grows every human-specified keep-out zone by the accumulated position uncertainty, which is assumed at 5 percent of distance driven when visual odometry converges and 50 percent when it does not, so a run of convergence failures inflates the keep-out geometry until the planner can no longer find a corridor [8][9]. Onboard global localization against orbital maps exists to reset that term [8].

The planner has no slip model. Curiosity’s global path planning runs in the 2.5D world model without predicting future slip [2], and the ENav work attributes the path inefficiency of the baseline to ACE finding narrow safe paths that disappear once slip occurs, forcing backtracking or tight turns [4].

Mapping cost shapes the drive pattern rather than the map. Curiosity’s autonomous imaging capabilities can be used together but in practice are used independently, because combining them costs seconds of extra image processing plus mast repointing that can only happen while the vehicle is stopped [2]. Backward AutoNav is the extreme case, requiring two 30 degree turns in place per mapping cycle.

References

  1. Maimone, M. W., Leger, P. C. and Biesiadecki, J. J. (2007). Overview of the Mars Exploration Rovers' Autonomous Mobility and Vision Capabilities . IEEE International Conference on Robotics and Automation, Space Robotics Workshop. Source
    BibTeX
    @inproceedings{maimone2007overview,
      title = {Overview of the Mars Exploration Rovers' Autonomous Mobility and Vision Capabilities},
      author = {Maimone, Mark W. and Leger, P. Chris and Biesiadecki, Jeffrey J.},
      booktitle = {IEEE International Conference on Robotics and Automation, Space Robotics Workshop},
      address = {Rome, Italy},
      year = {2007},
      url = {https://www-robotics.jpl.nasa.gov/media/documents/mer_autonomy_icra_2007.pdf}
    }
  2. Rankin, A., Maimone, M., Biesiadecki, J., Patel, N., Levine, D. and Toupet, O. (2021). Mars Curiosity Rover Mobility Trends During the First Seven Years . Journal of Field Robotics, 5. Source
    BibTeX
    @article{rankin2021mars,
      title = {Mars Curiosity Rover Mobility Trends During the First Seven Years},
      author = {Rankin, Arturo and Maimone, Mark and Biesiadecki, Jeffrey and Patel, Nikunj and Levine, Dan and Toupet, Olivier},
      journal = {Journal of Field Robotics},
      volume = {38},
      number = {5},
      pages = {759--800},
      year = {2021},
      doi = {10.1002/rob.22011},
      abstract = {Abstract NASA's Mars Science Laboratory (MSL) Curiosity rover landed on Mars on August 6, 2012. In the 7 years between landing and August 6, 2019 (sol 2488), Curiosity has driven 21,318.5 m over a variety of terrain types and slopes, employing multiple drive modes with varying amounts of onboard autonomy. Curiosity's drive distances each sol have ranged from its shortest drive of 2.6 cm to its longest drive of 142.5 m, with an average drive distance of 28.9 m. Real‐time human intervention is not possible during Curiosity's drives due to the latency in uplinking commands and downlinking telemetry. Instead, the operations team relies on Curiosity's fault protection, autonomous navigation, and visual odometry software to keep the rover safe during drives. During its first 7 years on Mars, Curiosity has attempted 738 drives. While 622 drives ran to completion, 116 drives were prevented or stopped early by Curiosity's fault protection software. The primary risks to mobility success have been wheel damage, wheel entrapment, progressive wheel sinkage, and the potential for hardware or cable failures that result in an inability to command one or more steer or drive actuators. In this paper, we describe Curiosity's mobility subsystem, mobility trends over the first 21.3 km of the mission, operational aspects of mobility fault protection, risks to continued mobility success, and risk mitigation strategies.}
    }
  3. Rankin, A., Holloway, A., Sabel, A., Patel, N. and Maimone, M. W. (2022). Visual Odometry Thinking While Driving for the Curiosity Mars Rover's Three-Year Test Campaign: Impact of Evolving Constraints on Verification and Validation . IEEE Aerospace Conference, 20230005759. Source
    BibTeX
    @inproceedings{rankin2022visual,
      title = {Visual Odometry Thinking While Driving for the Curiosity Mars Rover's Three-Year Test Campaign: Impact of Evolving Constraints on Verification and Validation},
      author = {Rankin, Arturo and Holloway, Alexandra and Sabel, Anna and Patel, Nikunj and Maimone, Mark W.},
      booktitle = {IEEE Aerospace Conference},
      number = {20230005759},
      pages = {1-10},
      institution = {NASA},
      year = {2022},
      doi = {10.1109/aero53065.2022.9843487},
      abstract = {Over the first 9 years of the Mars Science Laboratory (MSL) Curiosity rover's surface mission, more than 87% of its driving was performed using Visual Odometry (VO). The benefits of using VO during driving are that it minimizes rover position uncertainty and can be used to monitor wheel slip, halting a drive if excessive wheel slip is occurring. The VO implementation onboard Curiosity acquires and processes VO images in between drive steps while the rover is stationary. A VO Thinking While Driving (VTWD) flight software capability has been developed to enable the processing of VO images during rover driving, increasing the distance Curiosity can drive using VO during a given time period up to as much as 1.75x total distance. Verification and Validation (V&V) of this capability has been challenging due to impacts from the COVID-19 pandemic and unavailability of the JPL Mars Yard outdoor test site. The VTWD V&Vtest procedures were modified to use a small indoor space with Mars-like terrain. This paper describes the 3 year V&V effort under challenging conditions to approve the VTWD capability for use on the Curiosity rover.}
    }
  4. Abcouwer, N., Daftry, S., Del Sesto, T., Toupet, O., Ono, M., Venkatraman, S., Lanka, R., Song, J. and Yue, Y. (2021). Machine Learning Based Path Planning for Improved Rover Navigation . IEEE Aerospace Conference. Source
    BibTeX
    @inproceedings{abcouwer2021machine,
      title = {Machine Learning Based Path Planning for Improved Rover Navigation},
      author = {Abcouwer, Neil and Daftry, Shreyansh and Del Sesto, Tyler and Toupet, Olivier and Ono, Masahiro and Venkatraman, Siddarth and Lanka, Ravi and Song, Jialin and Yue, Yisong},
      booktitle = {IEEE Aerospace Conference},
      pages = {1-9},
      address = {Big Sky, Montana},
      year = {2021},
      doi = {10.1109/aero50100.2021.9438337},
      abstract = {Enhanced AutoNav (ENav), the baseline surface navigation software for NASA's Perseverance rover, sorts a list of candidate paths for the rover to traverse, then uses the Approximate Clearance Evaluation (ACE) algorithm to evaluate whether the most highly ranked paths are safe. ACE is crucial for maintaining the safety of the rover, but is computationally expensive. If the most promising candidates in the list of paths are all found to be infeasible, ENav must continue to search the list and run time-consuming ACE evaluations until a feasible path is found. In this paper, we present two heuristics that, given a terrain heightmap around the rover, produce cost estimates that more effectively rank the candidate paths before ACE evaluation. The first heuristic uses Sobel operators and convolution to incorporate the cost of traversing high-gradient terrain. The second heuristic uses a machine learning (ML) model to predict areas that will be deemed untraversable by ACE. We used physics simulations to collect training data for the ML model and to run Monte Carlo trials to quantify navigation performance across a variety of terrains with various slopes and rock distributions. Compared to ENav's baseline performance, integrating the heuristics can lead to a significant reduction in ACE evaluations and average computation time per planning cycle, increase path efficiency, and maintain or improve the rate of successful traverses. This strategy of targeting specific bottlenecks with ML while maintaining the original ACE safety checks provides an example of how ML can be infused into planetary science missions and other safety-critical software.}
    }
  5. Rankin, A., Del Sesto, T., Hwang, P., Justice, H., Maimone, M., Verma, V. and Graser, E. (2023). Perseverance Rapid Traverse Campaign . IEEE Aerospace Conference. Source
    BibTeX
    @inproceedings{rankin2023perseverance,
      title = {Perseverance Rapid Traverse Campaign},
      author = {Rankin, Arturo and Del Sesto, Tyler and Hwang, Pauline and Justice, Heather and Maimone, Mark and Verma, Vandi and Graser, Evan},
      booktitle = {IEEE Aerospace Conference},
      pages = {1-16},
      address = {Big Sky, Montana},
      year = {2023},
      doi = {10.1109/aero55745.2023.10115835},
      abstract = {Over the first 13 months of the Mars 2020 mission, the Perseverance rover traversed nearly 5 km along the Jezero Crater floor. Near the end of that period, the Science team was anxious to relocate to the ancient Delta region near the crater rim, over 5 km away. A Rapid Traverse Campaign was planned that would prioritize use of Perseverance's autonomous navigation software to drive at an unprecedented high pace and minimize science activities. The Rapid Traverse Campaign started in March 2022 and lasted 31 Martian days. During the campaign, Perseverance drove over 5 km in 24 drives, during which its autonomy software planned 94.8% of its overall driving, enabling it to set several new planetary rover driving records. Perseverance exceeded the longest daily drive distance record achieved by a previous planetary rover (219 meters) 11 times and set new records for the longest multi-sol drive distance in a single plan (528.7 meters) and the longest continuation drive (699.9 meters) by operating without human drive path input during 3 sols of driving. This paper details the planning and execution of the Rapid Traverse Campaign.}
    }
  6. Maimone, M., Verma, V., Rankin, A., Kaplan, K., Carsten, J., Schaler, E., Boroson, E., Graser, E., Srinivasan, T., Nash, J. and Chiu, D. (2026). Roving on the Edge: Robotic Operations Power Perseverance's Ascent of Jezero Crater Rim . Annual AAS Guidance, Navigation and Control Conference. Source
    BibTeX
    @inproceedings{maimone2026roving,
      title = {Roving on the Edge: Robotic Operations Power Perseverance's Ascent of Jezero Crater Rim},
      author = {Maimone, Mark and Verma, Vandi and Rankin, Arturo and Kaplan, Kyle and Carsten, Joseph and Schaler, Ethan and Boroson, Elizabeth and Graser, Evan and Srinivasan, Thirupathi and Nash, Jeremy and Chiu, Darwin},
      booktitle = {Annual AAS Guidance, Navigation and Control Conference},
      year = {2026},
      url = {https://www-robotics.jpl.nasa.gov/media/documents/2026_RO_AAS_final.pdf}
    }
  7. Kuwata, Y., Elfes, A., Maimone, M., Howard, A., Pivtoraiko, M., Howard, T. M. and Stoica, A. (2008). Path Planning Challenges for Planetary Robots . IEEE/RSJ International Conference on Intelligent Robots and Systems, Workshop on Planning, Perception and Navigation for Intelligent Vehicles. Source
    BibTeX
    @inproceedings{kuwata2008path,
      title = {Path Planning Challenges for Planetary Robots},
      author = {Kuwata, Yoshiaki and Elfes, Alberto and Maimone, Mark and Howard, Andrew and Pivtoraiko, Mihail and Howard, Thomas M. and Stoica, Adrian},
      booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems, Workshop on Planning, Perception and Navigation for Intelligent Vehicles},
      address = {Nice, France},
      year = {2008},
      url = {https://www-robotics.jpl.nasa.gov/media/documents/Path_Planning_Challenges_for_Planetary_Robots.pdf}
    }
  8. Verma, V., Nash, J., Saldyt, L., Dwight, Q., Wang, H., Myint, S., Biesiadecki, J., Maimone, M., Tumbar, A., Ansar, A., Kubiak, G. and Hogg, R. (2024). Enabling Long and Precise Drives for the Perseverance Mars Rover via Onboard Global Localization . IEEE Aerospace Conference. Source
    BibTeX
    @inproceedings{verma2024enabling,
      title = {Enabling Long and Precise Drives for the Perseverance Mars Rover via Onboard Global Localization},
      author = {Verma, Vandi and Nash, Jeremy and Saldyt, Lucas and Dwight, Quintin and Wang, Haoda and Myint, Steven and Biesiadecki, Jeffrey and Maimone, Mark and Tumbar, Andrei and Ansar, Adnan and Kubiak, Gerik and Hogg, Robert},
      booktitle = {IEEE Aerospace Conference},
      address = {Big Sky, Montana},
      year = {2024},
      url = {https://www-robotics.jpl.nasa.gov/media/documents/2024_Global_Localization_IEEE_Aero.pdf}
    }
  9. Maimone, M., Cheng, Y. and Matthies, L. (2007). Two Years of Visual Odometry on the Mars Exploration Rovers . Journal of Field Robotics, 3. Source
    BibTeX
    @article{maimone2007two,
      title = {Two Years of Visual Odometry on the Mars Exploration Rovers},
      author = {Maimone, Mark and Cheng, Yang and Matthies, Larry},
      journal = {Journal of Field Robotics},
      volume = {24},
      number = {3},
      pages = {169--186},
      institution = {NASA Jet Propulsion Laboratory},
      year = {2007},
      doi = {10.1002/rob.20184},
      abstract = {Abstract NASA's two Mars Exploration Rovers (MER) have successfully demonstrated a robotic Visual Odometry capability on another world for the first time. This provides each rover with accurate knowledge of its position, allowing it to autonomously detect and compensate for any unforeseen slip encountered during a drive. It has enabled the rovers to drive safely and more effectively in highly sloped and sandy terrains and has resulted in increased mission science return by reducing the number of days required to drive into interesting areas. The MER Visual Odometry system comprises onboard software for comparing stereo pairs taken by the pointable mast‐mounted 45 deg FOV Navigation cameras (NAVCAMs). The system computes an update to the 6 degree of freedom rover pose ( x , y , z , roll, pitch, yaw) by tracking the motion of autonomously selected terrain features between two pairs of 256×256 stereo images. It has demonstrated good performance with high rates of successful convergence (97% on Spirit, 95% on Opportunity), successfully detected slip ratios as high as 125%, and measured changes as small as 2 mm, even while driving on slopes as high as 31 deg. Visual Odometry was used over 14% of the first 10.7 km driven by both rovers. During the first 2 years of operations, Visual Odometry evolved from an “extra credit” capability into a critical vehicle safety system. In this paper we describe our Visual Odometry algorithm, discuss several driving strategies that rely on it (including Slip Checks, Keep‐out Zones, and Wheel Dragging), and summarize its results from the first 2 years of operations on Mars. © 2006 Wiley Periodicals, Inc.}
    }
  10. Stentz, A. (1994). The D* Algorithm for Real-Time Planning of Optimal Traverses . Robotics Institute, Carnegie Mellon University, CMU-RI-TR-94-37. Source
    BibTeX
    @techreport{stentz1994algorithm,
      title = {The D* Algorithm for Real-Time Planning of Optimal Traverses},
      author = {Stentz, Anthony},
      number = {CMU-RI-TR-94-37},
      institution = {Robotics Institute, Carnegie Mellon University},
      year = {1994},
      url = {https://www.ri.cmu.edu/pub_files/pub3/stentz_anthony__tony__1994_2/stentz_anthony__tony__1994_2.pdf}
    }