Skip Navigation

Flight Projects



The Perseverance rover shares much of its physical and electrical design with its predecessor, MSL’s Curiosity. Yet through improvements to its software, processing avionics, and engineering cameras, Perseverance is capable of driving autonomously at much higher rates, for longer distances and through much more complicated terrain.

Like Curiosity, Perseverance’s maximum wheel speed is just 4.2 cm/sec (or approximately 150 meters per hour). But when driving autonomously (performing hazard detection and avoidance) Curiosity must stop for extended periods to: acquire multiple stereo image pairs, analyze those images, and select a safe path towards its goal. This time while stopped reduces Curiosity’s average drive rate (when driving autonomously) to just 15 to 18 meters per hour [Rankin 2020]. Perseverance on the other hand can drive autonomously at approximately 110 meters per hour. This was accomplished through three primary improvements:

  • Use of a co-processor to perform computationally intensive image processing functions
  • A reduction in image acquisition time enabled by Perseverance’s improved engineering cameras
  • Redesign of the mobility software to enable image acquisition and processing in parallel with drive execution.

During the entry, descent and landing phase, the Mars 2020 mission utilized a new Terrain Relative Navigation (TRN) system to ensure the spacecraft landed at a location previously evaluated to be safe. That system utilized the Vision Compute Element (VCE) co-processor consisting of a RAD750 and a Computer Vision Accelerator Card (CVAC) containing a Field Programmable Gate Array (FPGA) to accelerate image processing. After landing, new versions of the VCE’s software and firmware were installed that perform surface functions, specifically stereo processing (ranging) and visual odometry. Even with the inefficiency of having to transfer data between the rover’s primary computer and the VCE, its adoption enables Perseverance to perform stereo and visual odometry processing at 1280x960 resolution in a few seconds. The corresponding calculation on the RCE would require approximately one minute.

In addition to image processing time, another reason that Curiosity stops for many seconds at each drive step is the need to acquire multiple stereo image pairs looking in slightly different directions. Curiosity’s navigation cameras are equipped with 45-degree horizontal field of view optics. In order to image a sufficiently wide area in front of the rover, three different pointing angles are required, each of which involves many seconds of motion of the remote sensing mast (RSM) as well as repeated image readout. Perseverance’s navigation cameras on the other hand are equipped with wider 96-degree field of view optics which, together with the higher resolution stereo processing enabled by the VCE, allows use of a single NAVCam pair at each drive step.

Lastly, Perseverance is able to perform almost all of its sensing and computation while the wheels are turning. Curiosity on the other hand is constrained to a sequential strategy consisting of: image acquisition, processing (stereo computation, terrain analysis and path selection), and finally driving (a single 50-100 cm motion). While greatly improving drive efficiency, Perseverance’s thinking-while-driving strategy introduces significant complication. For example, the rover continues to move during the intervals of time between when the images are exposed and the availability of the visual odometry derived knowledge of the rover location. Similarly, the rover chooses the next drive step based on the anticipated end-pose of the currently executing step. Ensuring the safety of the vehicle in the face of these delays required extensive analysis and testing.

In addition to requiring much faster autonomous driving, the Mars 2020 mission also needs the ability to autonomously navigate through more complicated terrain than Curiosity is capable of. When performing hazard detection, Curiosity’s GESTALT algorithm treats the rover as a simple disc. This greatly simplifies hazard detection and the path planning problem since those evaluations are independent of rover heading. But the simplification limits the rover’s ability to navigate through closely placed hazards (both rovers are longer than they are wide). Perseverance’s Enhanced Navigation (ENav) algorithm provides an orientation sensitive hazard assessment. Core to ENav’s success is an efficient means for conservatively evaluating the clearance to prospective hazards [Cite Otsu2018]. This more precise hazard evaluation allows Perseverance to navigate through much denser rock fields than Curiosity and in some configurations even straddle moderate hazards.

In sum, JPL robotics has developed a range of algorithmic improvements, embodied those improvements in software, and completed the comprehensive system testing that imbues Perseverance with dramatically improved mobility performance. To date, Perseverance has already set the record for the longest autonomous drive on Mars (167 meters on Sol-200). We look forward to further accomplishments in service of the Mars 2020 mission.

For more details on all aspects of the Mars 2020 mission, visit the Mars 2020 Project website.

People on this Project

Neil Abcouwer
Chuck Bergh
Todd Litwin
Mark Maimone
Richard Rieber
Philip Twu