Skip to content

Absolute Localization

Absolute localization fixes a vehicle’s position and heading against something that does not move: the Sun, a prior map of the body, a lander, or a cached object. Every relative method a planetary vehicle carries accumulates error without bound. Visual odometry holds position growth to a few percent of distance driven and gyroscopes hold attitude to a rate, but neither ever returns to truth, and the growing uncertainty is what eventually stops the drive [3].

Mars Exploration Rover flight software propagated position at 8 Hz from accelerometer, gyroscope and wheel odometry data while the rover drove at about 3.75 cm/s on flat ground, against a requirement that position error stay under 10 percent of distance traveled up to 100 m [1]. Attitude had to stay within 1.5 degrees, 3 sigma, because the high gain antenna pointing budget was 2 degrees, 3 sigma, in total. The Litton LN-200 gyroscope package accumulated enough error that attitude had to be reacquired after about 10,000 s of integration time, roughly every 20 sols [1].

Perseverance is configured to assume 5 percent of distance traveled as position uncertainty growth whenever visual odometry converges, against a demonstrated potential of 2 percent per 100 m, and 50 percent of distance traveled for any motion where it did not [3]. Uncertainty is a weighted sum over the two cases. A 655.8 m drive accumulated 32.92 m of position uncertainty on that accounting [3]. The consequence is geometric: operator-specified keep-in zones on the orbital map shrink by the uncertainty and keep-out zones grow by it, so a narrow passage closes and the drive stops even though the rover could physically pass.

Heading is the harder half. Roll and pitch are observable from a gravity vector, but yaw on a planetary surface has no magnetic reference on Mars and no useful one on the Moon, so it is taken from an image of the Sun against an ephemeris.

MER’s Surface Attitude Position and Pointing (SAPP) module implemented three primitives, all of which set an Attitude Quality Flag on completion [1]:

PrimitiveSensorWhat it solvesResult
Nadir Updateaccelerometers, averaged over 10 sroll and pitch from the gravity vector, compared against Mars surface gravityTiltOnly
Sunfindpointable camera, 16 degree field of viewsweeps the camera in the plane perpendicular to nadir at the predicted solar elevation, then confirms with two further images checking that the Sun moved as predictedCoarse
Sungazesame camera, held fixedimages the Sun at intervals and feeds observed against predicted Sun vectors to the QUEST quaternion estimator until covariances convergeFine

Sungaze ran on a ten minute timer and terminated early once the covariance reached 1.5 degrees, 3 sigma [1]. The Inertial Vector Propagator supplied predicted celestial body directions from conic approximations. Sunfind fails near local noon, when the Sun sits close to zenith and its azimuth is ill-conditioned. Operations converged on a shortcut: a Suncheck leaves the camera already pointed at the Sun, so a Sungaze can follow directly without repeating the Nadir Update, saving both time and IMU power.

Perseverance kept the architecture and changed the imaging. Its SAPP attitude update activity is a nadir update from the Rover Inertial Measurement Unit, an extended-verification-record-only gyrocompass run purely to trend gyro performance without touching onboard attitude, and a SunID update using the left NavCam [2]. Normal SunID, inherited from MSL, centroids a direct image of the Sun and is restricted to solar elevations between 30 and 60 degrees because centroiding degrades outside that band. Black SunID uses the NavCam’s own sun protection, which renders the Sun as a bright spot inside a black ring, gives better centroiding accuracy, and works between 15 and 87 degrees of elevation [2]. Both algorithms were imaged side by side on sol 169 during the Black SunID commissioning, after which Black SunID became the algorithm of choice.

Matching what the rover sees to what the orbiter saw is the only method that resets position error rather than slowing its growth.

Ground-in-the-loop matching is the flown baseline. Opportunity, Curiosity and Perseverance have all been localized by human mapping specialists orthorectifying NavCam imagery and correlating it to a HiRISE orbital map, at an expected accuracy of 50 cm, two pixels in the 25 cm HiRISE product [3]. The cost is a full Earth-Mars communication cycle per fix, which is what capped Perseverance autonomous driving at about three sols before a human had to re-localize it. The ground procedure itself is a feature correlation: an operator re-measures features in post-traverse imagery against their positions in the imagery that declared the current site frame, and takes a statistic over the deltas as the position correction. On MER a minimum of three point pairs was used and usually many more, with the median of the pairwise Euclidean distances as the error estimate, and the whole operation had to finish in no more than several minutes to fit the planning timeline [8].

The onboard replacement builds a top-down stereo orthomosaic from a post-drive NavCam panorama and matches it to the HiRISE orthomosaic at 25 cm and digital terrain model at 1 m using a modified census transform [3]. The census encoding compares each pixel with its neighbors and records whether the neighbor is larger or smaller, which survives the lighting difference between an orbital image and a ground-built orthomosaic, and it carries an explicit missing-data state because rover orthomosaics have holes where rocks and the rover body occlude the ground. A full 360 degree panorama is typically five NavCam stereo wedges at 96 degrees horizontal by 73 degrees vertical field of view, and sometimes only three or four when operational constraints intervene [3].

Accuracy over a benchmark of 264 post-drive panoramas spanning the first 2.5 years of the mission, against the human ground-based localization described above as truth, was 0.36 m mean, mode 0.25 m, with 99 percent inside 0.93 m and no outliers [3]. The benchmark deliberately included rocky terrain, sandy terrain, terrain covered in rover tracks, occlusions, all Mars seasons, and panoramas taken in late morning rather than the mid-afternoon lighting the orbital images were acquired in. Low outlier rate is the property that distinguishes it: normalized cross correlation and mutual information approaches reach comparable mean accuracy but produce outliers at a rate that blocked their transition to flight.

Perseverance’s Rover Compute Element is a 133 MHz RAD750 pair and the algorithm was not run there [3]. It runs on the Helicopter Base Station, the Snapdragon 801 board flown to talk to Ingenuity.

Rover Compute ElementHelicopter Base Station
CPURAD750, 133 MHz, x2Snapdragon 801, 4 cores at 2.36 GHz
Memory128 MiB ECC RAM1.55 GiB non-ECC RAM
Storage2 GB validated ECC32 GB unvalidated ECC
Operating systemVxWorks 6.7Linux 3.8
ArchitecturePowerPCARM
AcceleratorsFPGA in the Vision Compute ElementGPU, DSP
Radiation hardenedyesno
Simulated upsets per device per day13, corrected4313, uncorrected

Source: [3], Table 1.

Phase 2 of the flight demonstration ran global localization in 32 s on the Snapdragon and reached 45 degrees Celsius; the same work on the RAD750 was estimated at an order of magnitude longer [3]. Most of that 32 s is not computation. The serial link between the Rover Compute Element and the base station is fixed at 10 KB/s, chosen originally to keep helicopter communication from disturbing the rover computer, and image and data transfer over it dominates about 75 percent of the elapsed time; a rover flight software update could raise the link to 40 KB/s. The RAD750 pair is the same processor that runs visual odometry and autonomous navigation, which is why an algorithm needing seconds of vision processing had to go somewhere else [1]. The radiation exposure is the price of the speed: the RAD750 datasheet expects 0.02 bits corrupted per day at 90 percent of worst-case geosynchronous environment, while a CREME-MC simulation of the Snapdragon 801 gives about 4314 bits per day, so the results have to be checked rather than trusted [3].

The operational effect is measured in meters of drive. Applying one fix at the end of each sol’s drive to the sol 717 to 719 three-sol plan removed the accumulated uncertainty and released 245.37 m of driving that the grown keep-out zones had blocked [3]. Perseverance’s record autonomous distance without human review is 699.9 m over three sols.

Bearing-only localization against topographic features is the cheaper alternative when a correlatable orthomosaic is not available. Measuring the azimuth to hills, peaked ridgelines and isolated boulders whose positions are known from an orbital digital elevation model gives a position fix whose accuracy is set by the geometric dilution of precision of the visible landmark set [4]. Using Perseverance’s NavCam as the sensor, at 0.33 mrad per pixel and an assumed landmark identification error of about 3.3 mrad, an analysis over a 30 km by 30 km Jezero elevation model resampled to about 50 m per pixel found 54 usable landmarks: 21 inside the crater, 13 on the rim and 20 outside it. Worst-case accuracy from a single set of measurements reaches about 10 m in favorable regions northwest of three prominent hills, degrades to 10 to 100 m over most of the mapped area, and becomes effectively unbounded in the riverbed, where the banks occlude every landmark [4]. At least two non-collinear visible landmarks are required, so the method is a sporadic drift correction on top of visual odometry rather than a navigation method in its own right. The expensive step is offline: computing the viewshed for every candidate landmark over a large operating area, which is done on the ground and delivered as a map overlay of terrain informativeness.

Craters are the lunar equivalent, and the reason is coverage: LRO Narrow Angle Camera imagery at up to 50 cm per pixel covers most of the Moon, and craters of 5 to 10 m diameter and larger are detectable from the surface [5]. The driving requirement is a proposed 1800 km traverse over four Earth years with multi-kilometer drives between stops and a 3 sigma position error under 5 m at all times. Simulated performance over 1792 stereo pairs, generated for crater diameters of 5, 7, 10, 12, 15, 17 and 20 m at ranges of 5 to 20 m and solar zenith angles of 0, 20, 40, 60 and 80 degrees, separates the two sensors sharply [5]:

Crater diameter3 sigma position error, lidar3 sigma position error, stereo
5 m0.28 m1.02 m
10 m1.04 m3.22 m
15 m1.77 m4.48 m
20 m1.94 m4.35 m

Source: [5], Tables 5 and 6. Simulated camera: 1024x1024 pixels, 90 degree field of view, 19 mm focal length, 1.5 m height, 30 cm stereo baseline. Simulated lidar: 75 degree vertical by 360 degree horizontal field of view, 0.333 degree angular resolution, 1.5 m height, tilted 23 degrees [5].

Stereo crater fitting degrades faster with range than lidar does [5]. A separate monocular detector built on YOLOv4 in TensorFlow, trained on 1000 hand-labeled Apollo surface images, reached 94 percent accuracy on its Apollo test set and detected craters larger than 10 m diameter at ranges of 15 m or more, with 5 m craters detectable to about 12 m, and showed no measurable sensitivity to solar zenith angle across the tested range. Transfer to Chang’e 3 and Chang’e 4 surface imagery, 168 and 1174 stereo pairs at 27 cm baseline, was evaluated qualitatively only [5]. The 5 m error budget is tighter than the 10 to 100 m a bearing-only landmark solution delivers on Mars [4]. No runtime or memory figure for the crater pipeline on a flight processor appears in the published work.

Close to a lander, the lander itself is the reference. The Rocky 7 testbed was localized by lander-mounted stereo cameras that imaged the rover, detected it by differencing images across a commanded in-place turn of 0.3 radians, and triangulated its position [6]. Over 150 trials at 2 to 10 m range, the downrange estimate was biased 8.32 percent low with a standard deviation of 6.66 percent, and cross-range mean absolute error was 3.30 percent of downrange distance with a standard deviation of 4.07 percent [6]. Accuracy is proportional to range, so the method is useful only in the first few tens of meters. The same paper’s rover-mounted mast stereo localization [6] over 12 images taken at 1 m spacing along a straight line held 0.0317 m downrange and 0.0366 m cross-range average absolute error, two orders of magnitude better, which is why the lander-relative method did not survive into later missions.

The technique returned for surface construction robots, where a fixed structure is available and the working area is small. The ISRU Pilot Excavator uses a mock lunar lander carrying 16 AprilTags of the 36h11 family, each 15.24 cm square overall with a 12.1 cm black-to-black edge, mounted along the top perimeter and at the middle of the lander legs and support beams, to compute an absolute pose [7]. The tags are printed in Musou black acrylic, 99.4 percent light absorbing, on a white vinyl background, and detection covers both standard and inverted fiducials through a custom detector derived from the WhyCon system, because the lunar south pole lighting the site reproduces is a 6.5 degree solar elevation with long shadows and extreme contrast. Over eight days of testing on a 33.5 by 21.3 m area of Florida soil sieved to remove rocks above 7.6 cm, the vehicle ran 334 excavation and unload repetitions at a 9 minute average cycle, drove 58.1 km, sustained 40 cm/s, and completed 35 automated dockings, across 77 hours 46 minutes of hardware time [7]. The published report names ROS as the pose transport and describes the compute as a surrogate for the flight avionics, but gives no processor, clock, memory figure or detection runtime, and reports no pose accuracy or fiducial acquisition range.

MethodReference frameAccuracyRuntime and processorFlight status
Sungaze, QUEST on Sun vectorsinertial, via ephemeris1.5 deg, 3 sigma attitude10 min timer, RAD6000 at 20 MHzMER, flown, about every 20 sols [1]
Black SunIDinertial, via ephemerisnot published as a numbernot publishedPerseverance, flown from sol 169 [2]
Human orthomosaic to HiRISE matchHiRISE map50 cm expectedone Earth-Mars cycle per fixMER, MSL, M2020, operational [3]
Censible modified census transformHiRISE map, 25 cm and 1 m DTM0.36 m mean, 99 percent under 0.93 m32 s, Snapdragon 801 at 2.36 GHz, 4 coresPerseverance, flight demonstrated [3]
Bearing-only topographic landmarksorbital DEM10 m best, 10 to 100 m typical, unbounded in occlusionoffline viewshed on the groundstudy only [4]
Crater landmarks, lidarLRO NAC map0.28 to 1.94 m, 3 sigma, by crater sizenot publishedsimulation and Chang’e imagery [5]
Crater landmarks, stereoLRO NAC map1.02 to 4.48 m, 3 sigmanot publishedsimulation [5]
Lander stereo triangulationlander8.32 percent of range downrangenot publishedRocky 7 testbed, 150 trials [6]
AprilTag fiducials on a landerlander structurenot publishednot publishedIPEx field campaign, 334 cycles [7]

Sun-based attitude acquisition fails on geometry. Sunfind is ill-conditioned near local noon [1], and SunID’s usable window is bounded by solar elevation, 30 to 60 degrees for the normal algorithm and 15 to 87 degrees for the black-sun variant [2]. Because the window depends on sol, latitude, season and rover tilt, planning has to schedule around it: Perseverance operations generate SunID time constraints from a script that combines the algorithm’s elevation limits, the Sun’s position and the terrain features that occlude it, and a separate occlusion report looks 10 sols ahead for high gain antenna blockage [2].

Orbital map matching fails where the terrain is not distinguishable at map resolution. The census transform approach recorded no failures across its 264-panorama benchmark [3], but the methods it displaced, normalized cross correlation and mutual information, failed by producing confident wrong answers rather than by refusing, and that outlier behavior is what kept them on the ground. Bearing-only landmark localization fails by occlusion, and does so predictably: the same drive campaign that gives 10 m accuracy on open ground gives worse than 85 m when the path drops into a riverbed [4].

Fiducial-based localization fails on lighting rather than on geometry: at 6.5 degree solar elevation, shadow masking, high contrast and non-uniform illumination across the work area were the recorded challenges of the IPEx campaign [7].

Localization quality sets what can be commanded, not just what is known. Targeting accuracy requirements on MER ran from azimuth and elevation pointing for distant or atmospheric targets, through 3D coordinate targeting accurate enough for features within about 20 m, to 0.5 cm positioning for in-situ instrument placement with the arm [8]. Targets defined in imagery from an earlier rover position degrade as localization error accumulates, which is why the Maestro planning tool tracks target versions by planning position and labels a target created at the current position safe, one carried over from older data unsafe. The same argument drives single cycle instrument placement, which uses visual tracking from the mast cameras into the hazard cameras during the approach to place an instrument on a target 2 to 3 m away in one sol instead of three [8].

Attitude and position estimation are also what the ground team spends its shift on. Perseverance operations targeted a 5 hour daily downlink and uplink timeline against a heritage of 10 hours or more per shift on MER and MSL [2]. Automating the collection of attitude update, gyrocompass and SunID results into the operational report cut that report’s preparation from 16 minutes 41 seconds to 5 minutes 32 seconds in a sol 180 mock shift, measured end to end.

References

  1. Ali, K. S., Vanelli, C. A., Biesiadecki, J. J., Maimone, M. W., Cheng, Y., San Martin, A. M. and Alexander, J. W. (2005). Attitude and Position Estimation on the Mars Exploration Rovers. Source
    BibTeX
    @inproceedings{ali2005attitude,
      title = {Attitude and Position Estimation on the Mars Exploration Rovers},
      author = {Ali, Khaled S. and Vanelli, C. Anthony and Biesiadecki, Jeffrey J. and Maimone, Mark W. and Cheng, Yang and San Martin, A. Miguel and Alexander, James W.},
      booktitle = {IEEE International Conference on Systems, Man and Cybernetics},
      address = {Waikoloa, Hawaii},
      year = {2005},
      url = {https://dataverse.jpl.nasa.gov/dataset.xhtml?persistentId=hdl:2014/39648}
    }
  2. Trautman, L. A., Montgomery, J. F., Alibay, F., Vanelli, C. A., Estlin, T. and Zarifian, A. (2022). Automating Surface Attitude Positioning and Pointing Operations for Mars 2020. Source
    BibTeX
    @inproceedings{trautman2022automating,
      title = {Automating Surface Attitude Positioning and Pointing Operations for Mars 2020},
      author = {Trautman, Leilani A. and Montgomery, James F. and Alibay, Farah and Vanelli, C. Anthony and Estlin, Tara and Zarifian, Anais},
      booktitle = {IEEE Aerospace Conference},
      address = {Big Sky, Montana},
      year = {2022},
      url = {https://dataverse.jpl.nasa.gov/dataset.xhtml?persistentId=hdl:2014/55966}
    }
  3. 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. 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}
    }
  4. Vander Hook, J., Schwartz, R., Ebadi, K., Coble, K. and Padgett, C. (2022). Topographical Landmarks for Ground-Level Terrain Relative Navigation on Mars. Source
    BibTeX
    @inproceedings{vanderhook2022topographical,
      title = {Topographical Landmarks for Ground-Level Terrain Relative Navigation on Mars},
      author = {Vander Hook, Joshua and Schwartz, Russell and Ebadi, Kamak and Coble, Kyle and Padgett, Curtis},
      booktitle = {IEEE Aerospace Conference},
      address = {Big Sky, Montana},
      year = {2022},
      doi = {10.1109/AERO53065.2022.9843350}
    }
  5. Matthies, L., Daftry, S., Tepsuporn, S., Cheng, Y., Atha, D., Swan, R. M., Ravichandar, S. and Ono, M. (2022). Lunar Rover Localization Using Craters as Landmarks. Source
    BibTeX
    @inproceedings{matthies2022lunar,
      title = {Lunar Rover Localization Using Craters as Landmarks},
      author = {Matthies, Larry and Daftry, Shreyansh and Tepsuporn, Scott and Cheng, Yang and Atha, Deegan and Swan, R. Michael and Ravichandar, Sanjna and Ono, Masahiro},
      booktitle = {IEEE Aerospace Conference},
      address = {Big Sky, Montana},
      year = {2022},
      url = {https://dataverse.jpl.nasa.gov/dataset.xhtml?persistentId=hdl:2014/56004}
    }
  6. Matthies, L. H., Olson, C. F., Tharp, G. and Laubach, S. (1997). Visual Localization Methods for Mars Rovers using Lander, Rover, and Descent Imagery. Source
    BibTeX
    @inproceedings{matthies1997visual,
      title = {Visual Localization Methods for Mars Rovers using Lander, Rover, and Descent Imagery},
      author = {Matthies, Larry H. and Olson, Clark F. and Tharp, Greg and Laubach, Sharon},
      booktitle = {International Symposium on Artificial Intelligence, Robotics and Automation in Space (i-SAIRAS)},
      address = {Tokyo, Japan},
      year = {1997},
      url = {https://dataverse.jpl.nasa.gov/dataset.xhtml?persistentId=hdl:2014/22227}
    }
  7. Cloud, J. M., Nick, A. J., Buckles, B. C., Dixon, K. L., Muller, T. J., Ortega, V. V., Smith, J. D., Clark, C. J., Dyas, J. E., Zhang, E. L., Leucht, K. W., Mueller, R. P. and Schuler, J. M. (2025). The IPEx Autonomy Test-Site: Terrestrial Testing of Autonomous Excavation in Lunar South Pole Conditions. NASA, 20250000128. Source
    BibTeX
    @inproceedings{cloud2025ipex,
      title = {The IPEx Autonomy Test-Site: Terrestrial Testing of Autonomous Excavation in Lunar South Pole Conditions},
      author = {Cloud, Joseph M. and Nick, Andrew J. and Buckles, Bradley C. and Dixon, Kyle L. and Muller, Thomas J. and Ortega, Victoria V. and Smith, Jonathan D. and Clark, Casey J. and Dyas, Jeffrey E. and Zhang, Elizabeth L. and Leucht, Kurt W. and Mueller, Robert P. and Schuler, Jason M.},
      year = {2025},
      institution = {NASA},
      number = {20250000128},
      url = {https://ntrs.nasa.gov/citations/20250000128},
      booktitle = {ASCE Earth and Space Conference},
      doi = {10.1109/aero63441.2025.11068688},
      pages = {1-14}
    }
  8. Powell, M. W., Crockett, T., Fox, J. M., Joswig, J. C., Norris, J. S., Rabe, K. J., McCurdy, M. and Pyrzak, G. (2006). Targeting and Localization for Mars Rover Operations. Source
    BibTeX
    @inproceedings{powell2006targeting,
      title = {Targeting and Localization for Mars Rover Operations},
      author = {Powell, Mark W. and Crockett, Thomas and Fox, Jason M. and Joswig, Joseph C. and Norris, Jeffrey S. and Rabe, Kenneth J. and McCurdy, Michael and Pyrzak, Guy},
      booktitle = {IEEE International Conference on Information Reuse and Integration},
      year = {2006},
      url = {https://dataverse.jpl.nasa.gov/dataset.xhtml?persistentId=hdl:2014/41258}
    }