Skip to content

Visual Odometry

Visual odometry (VO) computes the change in a vehicle’s six degree of freedom pose by tracking terrain features between two stereo image pairs taken before and after a short motion. On a planetary rover it is the only sensor able to measure positional slip, which wheel encoders cannot observe and which double integration of accelerometer output is too noisy to recover [1][3].

Input is two stereo pairs, plus an initial motion guess from wheel odometry and the inertial measurement unit. Output is a corrected translation and rotation, or a refusal. The MER implementation applied only the position component of the update, because the Litton LN-200 IMU drifted less than 3 degrees per hour of operation and already held attitude well [1]. Curiosity kept the same configuration through its first seven years [3].

The MER and MSL algorithm is a 3D to 3D maximum likelihood estimator, in six steps [1]. A Forstner or Harris corner operator selects features on a grid over the left image, one per cell, enforcing a minimum feature separation. Each feature is then stereo matched along the epipolar line using pseudo-normalized correlation, with a biquadratic fit to a 3x3 neighborhood of correlation scores for subpixel position, and features whose left and right rays miss each other by more than a gap threshold are discarded [1]. Per-feature 3D covariance is computed from the curvature of that biquadratic fit, so a feature in low-texture terrain is weighted down relative to one in high texture. Features are projected into the second pair using the wheel odometry guess, re-matched by correlation search, and screened by a rigidity test on relative 3D distances that rejects gross outliers [1]. A weighted least squares pose solution with a closed form given by singular value decomposition is embedded in RANSAC, six features per sample, accepting a feature when its reprojection error is under 0.5 pixels. The RANSAC inlier set feeds a maximum likelihood estimate that uses the full 3x3 feature covariances, iterated until the rotation update falls below 6e-6 radians [1].

Convergence typically took 6.4 +/- 1.7 iterations on Spirit and 8.4 +/- 5.2 on Opportunity, tracking 73.4 +/- 29.3 and 87.4 +/- 34.1 features per step respectively [1].

Assumptions inherited from the founding algorithms

Section titled “Assumptions inherited from the founding algorithms”

The outlier rejection in step 5 is RANSAC, whose trial count is k = log(1-z)/log(1-w^n) for confidence z of drawing at least one all-inlier sample of size n, with w the probability that any one datum is an inlier [9]. Both inputs are assumed rather than measured: w has to be known in advance, and the derivation requires samples drawn independently and uniformly, which stereo feature matches do not satisfy because mismatches cluster on repeated texture and on the low-texture patches that produce most flight failures. The standard deviation of the trial count is approximately equal to its expectation, so the original recommendation is to budget two to three times the expected number of trials, and the consensus threshold rule that five points beyond the minimal sample gives better than 95 percent confidence rests on an assumed probability below 0.5 that a point agrees with a wrong model, a quantity stated to be not generally determinable [9]. A fixed six-feature sample and a fixed 0.5 pixel reprojection tolerance are the flight expression of those assumptions.

Differential registration is the other half of the inheritance. Estimating a displacement by linearizing image intensity about the current estimate rests on a first-order Taylor expansion plus brightness constancy, and its convergence is proven only for a pure sinusoid, where it holds for initial misregistration up to half a wavelength; for a real image the stated requirement is only that the initial estimate locate the target to within about its own size [10]. That requirement is what the 60 percent overlap rule, the 75 cm step limit and the wheel odometry seed exist to satisfy. Smoothing widens the capture range and destroys any feature smaller than the smoothing window, a tradeoff named without being quantified, and the reported cost advantage, O(M^2 log N) against O(M^2 N^2) for exhaustive search over an M by M disparity range on an N by N image, holds only when the iteration converges [10].

Treating image motion as scene motion requires a flat surface, uniform incident illumination and smoothly varying reflectance with no spatial discontinuities [11]. Both of the named failures of that identification occur on Mars: a stationary scene under moving illumination changes without moving, which is the mechanism behind the residual left when the rover and mast are held still and only the micro-shadows near pebbles track the Sun [3], and a texture-free surface that moves without changing its image, which is feature starvation in sand. The 1 percent accuracy figure often quoted for the regularized flow solution is the average of the flow field over a whole synthetic 32 by 32 image in pure translation at about 1 percent added noise; the per-vector error in the same test is about 10 percent after 32 iterations on a single time step and about 7 percent at one iteration per time step, and the largest errors fall on occluding boundaries and where the brightness gradient is small [11].

The processing cost, not the algorithm, set the drive rate on every mission before Mars 2020.

SojournerSpirit and OpportunityCuriosityPerseverance
Landing year1997200420122021
CPU80C85BAE RAD6000BAE RAD750BAE RAD750 x2 plus Xilinx Virtex5QV FPGA
Clock2 MHz20 MHz133 MHz133 MHz x2, FPGA at 22M disparities/s
RAM0.56 MB128 MB128 + 512 MB128 MB x2 plus 512 MB x2
Non-volatile storage0.17 MB256 MB flash4096 MB flash4096 + 3072 MB flash
Image pairs per step11 to 241
Stereo pixels per step2010,000 to 50,00040,000 to 200,000240,000 to 1,200,000
Autonomous navigation pause per stepnot reportedabout 120 sabout 120 stypically 0 if not steering

Source: [4], Table 1.

On MER at most 75 percent of the 20 MHz RAD6000 was available to autonomy software, with telemetry processing sometimes taking more [2]. Dynamic allocation was discouraged by the coding standards, leaving dedicated pools of 4 MB, 9 MB and up to ten further 2 MB blocks, and using those 2 MB blocks reduced the memory left for image processing [2]. A single VO tracking step averaged about three minutes of computation on the 20 MHz RAD6000 under the nominal mission software [1]. Driving with VO running continuously capped the maximum drive rate at around 10 m/h [1].

Curiosity’s RAD750 at 133 MHz with 512 MB of RAM cut the figure to 47 s per step on average, covering image acquisition, transfer to the CPU, downsampling, motion estimation and data product writing, a figure that includes the camera design, the camera interface board design and flash memory operation as well as the estimator [3]. VO Full drives averaged about 46 m/h against over 100 m/h for directed drives, with the CPU idle for much of each step because the rover stopped to think [5].

VO Thinking While Driving, developed from 2015 and validated over a three year campaign, starts the next drive step immediately after image capture so the motion estimate is computed while the wheels turn [5]. Measured on the flight-like engineering model, nine runs gave 51.5 m/h average without the capability and 77.5 m/h with it, a factor of about 1.5, with individual runs improving from 52.6 to 80.9 m/h on the same day [5]. The cost is localization latency: a large slip is not detected until two 1 m steps have completed rather than one.

Perseverance carries a second RAD750 board, the Vision Compute Element, whose Virtex-5 FPGA runs the stereo correlation and VO image processing [4][6]. It processes about six times as many pixels per step as Curiosity in less time, and for the first time the autonomous drive rate is limited by the wheel drive motor rotation rate rather than by sensing or computing [4]. Curiosity’s maximum wheel linear speed is 4.2 cm/s [3].

VehiclePeriodAttemptsConvergenceAccuracySource
Spiritto sol 414609 evaluation steps590, 97 percentslips to 125 percent measured, tilts 2 to 30 deg[1]
Opportunityto sol 394875 evaluation steps828, 95 percenttilts 0.8 to 31 deg, mean 18.0 +/- 4.6 deg[1]
Curiosityto sol 248820,682 attempts while driving20,588, 99.55 percent1.5 +/- 0.9 mm 3D position error over 141 static repeats[3]
Perseveranceto sol 1710not reported as a count99.83 percentover 99 percent of driving used VO[6]

The Curiosity accuracy figure comes from a sol 571 test in which the rover and remote sensing mast were held stationary and VO was run 141 times over 90.5 minutes against a single seed image, from 11:40:45 to 13:08:49 local mean solar time [3]. Error grew roughly linearly with the interval between seed and update image, and the residual is attributed to micro-shadows near pebbles moving with the Sun while the seed image did not [3]. During driving the seed and update images are about one minute apart, and the relocalization precision is better than 2 percent of distance driven [5].

On a 2.45 m rock-laden test course driven in 35 cm steps on the MER engineering model, with slip up to 85 percent, IMU and wheel odometry alone exceeded the 10 percent position error design goal after 1.4 m, while VO error stayed under 1 percent of distance traveled [1]. On Opportunity sols 188 to 191 a real 19 m uphill and cross-slope drive was underestimated by wheel odometry by 1.6 m [1].

The comparable terrestrial algorithm of the same period, using inlier detection over dense disparity images rather than RANSAC over sparse features, ran in about 20 ms on a 512x384 image and held position error under 1 m after 4000 frames and 400 m of travel, 0.25 percent of distance [8]. The flight figures are three to four orders of magnitude slower for the same class of computation.

Flight practice is one family of several. What has flown, what has been run on flight-like hardware, and what has only been shown on terrestrial or synthetic data differ for each.

Sparse stereo feature tracking with a motion prior is the flown family. The MER algorithm was written up from the first year of operations [12], and its results were extended to the Gusev and Meridiani traverse maps, where visual odometry and ground bundle adjustment corrected wheel slip, azimuth drift and navigation errors as large as 21 percent [15]. The Mars Science Laboratory version moved motion estimation inside the multi-resolution feature tracking loop, which removed the need for an initial motion estimate, tracked more features, and ran at least four times faster than the MER algorithm on the same 400 MHz non-flight test computer [13]. That comparison used tuned MER parameters against untuned MSL parameters, and position accuracy could not be checked on Mars data because onboard estimates mix wheel and visual odometry [13].

Prior-free stereo visual odometry on ground vehicles is the terrestrial counterpart. It reached 0.09 to 0.82 percent of distance traveled on LAGR runs against 1.55 to 4.03 percent for wheel encoders and IMU [8]. The work was ground vehicle only, with no flight result [8].

Slip-compensating control uses the VO estimate in the loop. Differencing a Kalman-filtered pose against the no-slip kinematic pose gave a slip vector that a path follower drove to zero, and on the Rocky 8 test rover VO held position error to about 1.5 percent over a 29 m sandy slope against a wheel odometry baseline no better than 10 percent [16]. The test ran a simplified system without the full filter [16].

Hardware acceleration changes the cost rather than the estimator. An FPGA implementation of stereo and VO ran several orders of magnitude faster than the RAD6000-class baseline, and on the Athena prototype rover continuous steering and driving gained 19.3 percent traverse efficiency over steering or driving over a single 15 m run per condition [14]. Its RAD750 timings are scaled from RAD6000 figures, not measured [14]. A commercial OMAP3530 split dense SAD stereo onto the DSP and IMU-aided FAST tracking onto the ARM core for small vehicles, and reports runtime and power but no accuracy of its own [17]. The Perseverance Virtex-5 implementation in the table above is the flown descendant of the FPGA approach [4].

Tightly coupled visual-inertial and keyframe methods are not flown on a rover. Keyframe visual-inertial odometry minimizes reprojection and inertial error over a bounded window and marginalizes older states [19]. ORB-SLAM adds loop closure and relocalization on a desktop quad-core, with accuracy quoted after a similarity alignment that removes monocular scale error [20]. Direct sparse odometry minimizes photometric error and needs photometric calibration to beat feature-based tracking [21]. All three were evaluated on terrestrial datasets, with no space hardware or space imagery [19][20][21]. A survey of the feature-based pipeline gives the same RANSAC iteration arithmetic without measurements on planetary data [18].

Aerial and landing variants have been shown offline or in simulation. Range-visual-inertial odometry fuses a 1D laser range finder through a facet model so that scale is observable without accelerometer excitation, which is the stated reason Ingenuity carried a range finder; its results are offline on an urban hexacopter traverse and a handheld sequence [22]. Pose-graph SLAM anchored to a digital elevation model cut absolute trajectory error from 78.0 m to 7.71 m on one simulated 1.19 km lunar traverse, with anchor maps built from the same trajectory being evaluated [23]. A learned absolute pose regressor fused with ORB odometry reached 12.50 m on one 1,060 frame Chang’e-3 descent sequence on a desktop GPU [24]. A preliminary event-camera monocular design for rovers was validated on one indoor sequence of about 6.5 m, with tracking lost after about 17.5 s [25].

Later terrestrial systems extend the keyframe family, and none has flown on a rover. ORB-SLAM3 adds maximum a posteriori inertial initialization and a multi-map Atlas that starts a new map when tracking is lost; stereo-inertial tracking took 33.05 ms per frame and local bundle adjustment 152.70 ms per keyframe on a 3.6 GHz Core i7, a budget a RAD750 could not supply [26]. VINS-Mono is a monocular sliding-window visual-inertial estimator with loop closure and 4-DOF pose graph optimization, evaluated on EuRoC sequences, a 5.62 km campus traverse and a quadrotor; the held file is the preprint, so figures may differ from the published article [27]. A SLAM survey frames the factor-graph formulation as the standard and lists failure detection and resource-aware operation as open problems [28]. The ROVER dataset benchmarks seven visual SLAM systems on 39 park and garden recordings and finds most perform poorly in low light, on terrain unlike regolith and with 3 DoF ground truth only [29]. Heterogeneous Redundant Odometry runs two visual-inertial and one lidar-inertial estimator in parallel and re-initializes failing ones, shown on a drone in a mine with trajectory plots and no quantified accuracy [30].

Non-convergence has three flight-observed causes: too little image overlap after a large motion, too few trackable features in the terrain, and internal sanity checks rejecting an otherwise correct estimate [1][3].

Overlap is an operational constraint. MER split drives into steps of no more than 75 cm in a straight line or arc, and no more than 18 degrees of heading change per turn-in-place step, to hold at least 60 percent overlap between adjacent 256x256 NavCam pairs taken from 1.5 m above the ground [1]. A commanded 40 degree turn in place left too little overlap [1]. Curiosity uses the same 60 percent overlap target with a 1 m nominal step, cameras at 1.96 m on the pointable mast, typically pitched 20 to 30 degrees below horizontal [3].

Feature starvation dominates the flight record. Of Curiosity’s 94 VO failures in seven years, 66 were failures to converge, most of them with the cameras pointed at all-sandy terrain [3]. The MER feature detector was tuned for feature-rich natural terrain and regularly failed in piles of sand; the workaround was that such terrain was pliable enough that the rover’s own tracks supplied the features [1]. On Perseverance, three drives over 75 m of visually bland terrain at Lookout Hill on sols 1339, 1342 and 1347 produced 34 VO failures, 42 percent of all VO failures in the mission to sol 1710, and faulted the drives on the first two sols [6].

Curiosity’s other 28 failures split into 12 step truncation reimaging failures caused by a flight software defect that suppressed re-imaging when the rover autonomously commanded a turn sharp enough to destroy overlap, 10 sequencing failures where planners knowingly sent commands outside recommended bounds, 3 strategy failures where an unrelated fault left the cameras pointing inconsistently, and 3 IMU parameter failures on sols 122 to 124 [3]. The last of these were false rejections: the built-in check requiring VO and IMU attitude to agree within 1 degree in roll, pitch and yaw tripped on pitch differences of -1.391, -1.072 and -2.195 degrees, and the subsequent investigation concluded the VO update was correct and the IMU parameter settings were dropping attitude updates under high acceleration.

False positives have occurred. On Opportunity sols 137 and 141 VO converged to unreasonable position updates because the minimum feature separation parameter was set too small, letting the detector cluster features in one small planar feature-rich patch [1]. The response was a set of optional constraints added in the February 2005 flight software release, letting rover planners bound the update magnitude, its X and Y world frame components, the roll, pitch and yaw changes, the angle from downslope above a given tilt, and the number of tolerated non-convergences.

VO turns an unobservable quantity into a fault threshold. Curiosity computes a wheel slip fraction, the summed linear distances of all VO-corrected wheel positions from their no-slip positions divided by summed wheel path length, and a rover slip fraction, the Euclidean distance between the no-slip and VO-corrected rover origin divided by no-slip path length, the latter undefined during turns in place. Over the mission to sol 2488 average rover slip was 6.24 percent, average wheel slip 8.44 percent, and the maximum of both was 98.70 percent on sol 2087 [3]. Five drives were stopped by VO failures and the worst single sol, 2434, saw 11 failures against a configured limit of 10, stopping the drive 2.82 m short.

Opportunity’s embedding in the Purgatory ripple established the operational pattern. After 50 m of blind driving that produced about 2 m of track, VO measured slip rates of 98.9 to 99.5 percent over sols 463 to 483, in one case about 1 mm of motion against 2 m commanded [1]. The extrication procedure ran VO after each commanded 2 m and halted all driving when VO either measured non-trivial motion or failed to converge three times. Slip Check then became standard: blind segments capped at 5 m, followed by a 20 cm drive step with VO to confirm the vehicle can still move, which bounds how deeply the wheels can bury before anyone notices [1]. Perseverance inverted the same logic on sol 1347, disabling the standard VO failure fault protection and requiring VO to succeed only once every 20 m, justified by the mechanical specification that the rover can extract itself after 20 m of motion without forward progress [6].

Position uncertainty growth is the budget VO feeds. Perseverance is configured to assume 5 percent of distance traveled when VO converges, against a demonstrated potential of 2 percent per 100 m, and 50 percent of distance traveled for any motion where VO failed to converge [7]. That weighted sum determines how far human-specified keep-out zones must be grown on the orbital map, and it is what onboard global localization against orbital imagery exists to reset [7]. The localization itself is too expensive for the Rover Compute Element and was moved to the Ingenuity helicopter base station, where four Snapdragon cores at 2.36 GHz run it in about 32 s against an order of magnitude longer on the 133 MHz RAD750 [6].

Usage share follows from the cost. 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 for both [2]. Curiosity drove over 88 percent of its distance under some form of VO, mostly VO Full [3]. Perseverance had driven 31,857 m in AVOID_ALL mode at an effective 92.67 m/h and 9910 m unguarded at 82.45 m/h through sol 1710, 75.28 percent of odometry under full autonomy, with a single-sol record of 403 m autonomous out of 411.7 m on sol 1540 [6]. During the 31 sol Rapid Traverse Campaign of March 2022, 94.8 percent of 5063.4 m was planned onboard at an average 79.7 m/h over an average 2.98 h of driving per sol [4].

Absolute accuracy on Mars has no independent truth: the MER figures are convergence rates and operational benefit, and the 1 percent residual comes from a single 2.45 m test course [12]. Curiosity’s 1.5 mm figure is a stationary repeat test, not a drift rate [3]. The flight record covers terrain that planners selected as favorable for VO, and the early MER statistics reflect drives under 10 m on a 20 MHz processor [15]. No false-positive rate is given for any flight system [12].

The non-flight families lack comparisons on a common planetary dataset. Their runtimes come from desktop or GPU hardware, and the FPGA speedups use a faster non-flight CPU as the comparison [14][20][24]. Visual-inertial, direct and learned methods have no flight or planetary-analog evidence in the held record [19][21][24]. The assumptions inherited from RANSAC and differential registration (a known inlier fraction, independent sampling, brightness constancy) are not measured for Martian imagery in any held source [9][10][11].

References

  1. 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.}
    }
  2. 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}
    }
  3. 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.}
    }
  4. 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.}
    }
  5. 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.}
    }
  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. 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}
    }
  8. Howard, A. (2008). Real-Time Stereo Visual Odometry for Autonomous Ground Vehicles . IEEE/RSJ International Conference on Intelligent Robots and Systems. Source
    BibTeX
    @inproceedings{howard2008real,
      title = {Real-Time Stereo Visual Odometry for Autonomous Ground Vehicles},
      author = {Howard, Andrew},
      booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems},
      pages = {3946-3952},
      address = {Nice, France},
      year = {2008},
      doi = {10.1109/iros.2008.4651147},
      abstract = {This paper describes a visual odometry algorithm for estimating frame-to-frame camera motion from successive stereo image pairs. The algorithm differs from most visual odometry algorithms in two key respects: (1) it makes no prior assumptions about camera motion, and (2) it operates on dense disparity images computed by a separate stereo algorithm. This algorithm has been tested on many platforms, including wheeled and legged vehicles, and has proven to be fast, accurate and robust. For example, after 4000 frames and 400 m of travel, position errors are typically less than 1 m (0.25% of distance traveled). Processing time is approximately 20 ms on a 512times384 image. This paper includes a detailed description of the algorithm and experimental evaluation on a variety of platforms and terrain types.}
    }
  9. Fischler, M. A. and Bolles, R. C. (1981). Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography . Communications of the ACM, 6. Source
    BibTeX
    @article{fischler1981random,
      title = {Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography},
      author = {Fischler, Martin A. and Bolles, Robert C.},
      journal = {Communications of the ACM},
      volume = {24},
      number = {6},
      pages = {381--395},
      year = {1981},
      doi = {10.1145/358669.358692},
      abstract = {A new paradigm, Random Sample Consensus (RANSAC), for fitting a model to experimental data is introduced. RANSAC is capable of interpreting/smoothing data containing a significant percentage of gross errors, and is thus ideally suited for applications in automated image analysis where interpretation is based on the data provided by error-prone feature detectors. A major portion of this paper describes the application of RANSAC to the Location Determination Problem (LDP): Given an image depicting a set of landmarks with known locations, determine that point in space from which the image was obtained. In response to a RANSAC requirement, new results are derived on the minimum number of landmarks needed to obtain a solution, and algorithms are presented for computing these minimum-landmark solutions in closed form. These results provide the basis for an automatic system that can solve the LDP under difficult viewing}
    }
  10. Lucas, B. D. and Kanade, T. (1981). An Iterative Image Registration Technique with an Application to Stereo Vision . DARPA Image Understanding Workshop. Source
    BibTeX
    @inproceedings{lucas1981iterative,
      title = {An Iterative Image Registration Technique with an Application to Stereo Vision},
      author = {Lucas, Bruce D. and Kanade, Takeo},
      booktitle = {DARPA Image Understanding Workshop},
      pages = {121--130},
      year = {1981},
      url = {https://www.ri.cmu.edu/pub_files/pub3/lucas_bruce_d_1981_2/lucas_bruce_d_1981_2.pdf}
    }
  11. Horn, B. K. P. and Schunck, B. G. (1981). Determining Optical Flow . Artificial Intelligence, 1--3. Source
    BibTeX
    @article{horn1981determining,
      title = {Determining Optical Flow},
      author = {Horn, Berthold K. P. and Schunck, Brian G.},
      journal = {Artificial Intelligence},
      volume = {17},
      number = {1--3},
      pages = {185--203},
      year = {1981},
      doi = {10.1016/0004-3702(81)90024-2}
    }
  12. Cheng, Y. and Maimone, M. (2005). Visual odometry on the Mars Exploration Rovers . IEEE International Conference on Systems, Man and Cybernetics. Source
    BibTeX
    @inproceedings{cheng2005visual,
      title = {Visual odometry on the Mars Exploration Rovers},
      author = {Cheng, Yang and Maimone, Mark},
      booktitle = {IEEE International Conference on Systems, Man and Cybernetics},
      volume = {1},
      pages = {903-910},
      publisher = {IEEE},
      year = {2005},
      doi = {10.1109/icsmc.2005.1571261},
      abstract = {NASA's Mars Exploration Rovers (MER) was designed to traverse in Viking Lander-I style terrains: mostly flat, with many small non-obstacle rocks and occasional obstacles. During actual operations in such terrains, onboard position estimates derived solely from the onboard inertial measurement unit and wheel encoder-based odometry achieved well within the design goal of at most 10% error. However, MER vehicles were also driven along slippery slopes tilted as high as 31 degrees. In such conditions an additional capability was employed to maintain a sufficiently accurate onboard position estimate: visual odometry. The MER visual odometry system comprises onboard software for comparing stereo pairs taken by the pointable mast-mounted 45 degree FOV navigation cameras (NAV-CAMs). The system computes an update to the 6-DOF rover pose (x, y, z, roll, pitch, yaw) by tracking the motion of autonomously-selected "interesting" terrain features between two pairs of stereo images, in both 2D pixel and 3D world coordinates. A maximum likelihood estimator is applied to the computed 3D offsets to produce a final, corrected estimate of vehicle motion between the two pairs. In this paper we describe the visual odometry algorithm used on the Mars Exploration Rovers, and summarize its results from the first year of operations on Mars.}
    }
  13. Johnson, A. E., Goldberg, S. B., Cheng, Y. and Matthies, L. H. (2008). Robust and Efficient Stereo Feature Tracking for Visual Odometry . IEEE International Conference on Robotics and Automation. Source
    BibTeX
    @inproceedings{johnson2008robust,
      title = {Robust and Efficient Stereo Feature Tracking for Visual Odometry},
      author = {Johnson, Andrew E. and Goldberg, Steven B. and Cheng, Yang and Matthies, Larry H.},
      booktitle = {IEEE International Conference on Robotics and Automation},
      pages = {39-46},
      publisher = {IEEE},
      year = {2008},
      doi = {10.1109/robot.2008.4543184},
      abstract = {Visual odometry can augment or replace wheel odometry when navigating in high slip terrain which is quite important for autonomous navigation on Mars. We present a computationally efficient and robust visual odometry algorithm developed for the Mars Science Laboratory mission. This algorithm is a significant improvement over the algorithm developed for the Mars Exploration Rover Mission because it is at least four time more computationally efficient and it tracks significantly more features. The core of the algorithm is an integrated motion estimation and stereo feature tracking loop that allows for feature recovery while guiding feature correlation search to minimize computation. Results on thousands of terrestrial and Martian stereo pairs show that the algorithm can operate with no initial motion estimate while still obtaining subpixel attitude estimation performance.}
    }
  14. Howard, T. M., Morfopoulos, A., Morrison, J., Kuwata, Y., Villalpando, C., Matthies, L. and McHenry, M. (2012). Enabling continuous planetary rover navigation through FPGA stereo and visual odometry . AIAA SPACE and Astronautics Forum. Source
    BibTeX
    @inproceedings{howard2012enabling,
      title = {Enabling continuous planetary rover navigation through FPGA stereo and visual odometry},
      author = {Howard, Thomas M. and Morfopoulos, A. and Morrison, Jack and Kuwata, Yoshiaki and Villalpando, C. and Matthies, L. and McHenry, M.},
      booktitle = {AIAA SPACE and Astronautics Forum},
      pages = {1-9},
      publisher = {IEEE},
      year = {2012},
      doi = {10.1109/aero.2012.6187041},
      abstract = {Safe navigation under resource constraints is a key concern for autonomous planetary rovers operating on extraterrestrial bodies. Computational power in such applications is typically constrained by the radiation hardness and energy consumption requirements. For example, even though the microprocessors used for the Mars Science Laboratory (MSL) mission rover are an order of magnitude more powerful than those used for the rovers on the Mars Exploration Rovers (MER) mission, the computational power is still significantly less than that of contemporary desktop microprocessors. It is therefore important to move safely and efficiently through the environment while consuming a minimum amount of computational resources, energy and time. Perception, pose estimation, and motion planning are generally three of the most computationally expensive processes in modern autonomy navigation architectures. An example of this is on the MER where each rover must stop, acquire and process imagery to evaluate its surroundings, estimate the relative change in pose, and generate the next mobility system maneuver [1]. This paper describes improvements in the energy efficiency and speed of planetary rover autonomous traverse accomplished by converting processes typically performed by the CPU onto a Field Programmable Gate Arrays (FPGA) coprocessor. Perception algorithms in general are well suited to FPGA implementations because much of processing is naturally parallelizable. In this paper we present novel implementations of stereo and visual odometry algorithms on a FPGA. The FPGA stereo implementation is an extension of [2] that uses "random in linear out" rectification and a higher-performance interface between the rectification, filter, and disparity stages of the stereo pipeline. The improved visual odometry component utilizes a FPGA implementation of a Harris feature detector and sum of absolute differences (SAD) operator. The FPGA implementation of the stereo and visual odometry functionality have demonstrated a performance improvement of approximately three orders of magnitude compared to the MER-class avionics. These more efficient perception and pose estimation modules have been merged with motion planning techniques that allow for continuous steering and driving to navigate cluttered obstacle fields without stopping to perceive. The resulting faster visual odometry rates also allow for wheel slip to be detected earlier and more reliably. Predictions of resulting improvements in planetary rover energy efficiency and average traverse speeds are reported. In addition, field results are presented that compare the performance of autonomous navigation on the Athena planetary rover prototype using continuous steering or driving and continuous steering and driving with GESTALT traversability analysis using the FPGA perception and pose estimation improvements.}
    }
  15. Li, R., Squyres, S. W., Arvidson, R. E., Archinal, B. A., Bell, J. F., Cheng, Y., Crumpler, L. S. and Des Marais, D. J. (2005). Initial Results of Rover Localization and Topographic Mapping for the 2003 Mars Exploration Rover Mission . Photogrammetric Engineering & Remote Sensing. Source
    BibTeX
    @article{li2005initial,
      title = {Initial Results of Rover Localization and Topographic Mapping for the 2003 Mars Exploration Rover Mission},
      author = {Li, Rongxing and Squyres, S. W. and Arvidson, R. E. and Archinal, B. A. and Bell, J. F. and Cheng, Yang and Crumpler, L. S. and Des Marais, David J.},
      journal = {Photogrammetric Engineering & Remote Sensing},
      volume = {71},
      pages = {1129-1142},
      year = {2005},
      doi = {10.14358/pers.71.10.1129},
      abstract = {This paper presents the initial results of lander and rover localization and topographic mapping of the MER 2003 mission (by Sol 225 for Spirit and Sol 206 for Opportunity). The Spirit rover has traversed a distance of 3.2 km (actual distance traveled instead of odometry) and Opportunity at 1.2 km. We localized the landers in the Gusev Crater and on the Meridiani Planum using two-way Doppler radio positioning technology and cartographic triangulations through landmarks visible in both orbital and ground images. Additional high-resolution orbital images were taken to verify the determined lander positions. Visual odometry and bundleadjustment technologies were applied to overcome wheel slippages, azimuthal angle drift and other navigation errors (as large as 21 percent). We generated timely topographic products including 68 orthophoto maps and 3D Digital Terrain Models, eight horizontal rover traverse maps, vertical traverse profiles up to Sol 214 for Spirit and Sol 62 for}
    }
  16. Helmick, D. M., Cheng, Y., Clouse, D. S., Matthies, L. H. and Roumeliotis, S. I. (2004). Path following using visual odometry for Mars Rover in high-slip environments . JPL Open Repository. Source
    BibTeX
    @inproceedings{helmick2004path,
      title = {Path following using visual odometry for Mars Rover in high-slip environments},
      author = {Helmick, Daniel M. and Cheng, Yang and Clouse, Daniel S. and Matthies, Larry H. and Roumeliotis, Stergios I.},
      publisher = {JPL Open Repository},
      year = {2004},
      url = {https://dataverse.jpl.nasa.gov/dataset.xhtml?persistentId=hdl:2014/38778}
    }
  17. Goldberg, S. and Matthies, L. (2011). Stereo and IMU assisted visual odometry on an OMAP3530 for small robots . CVPR WORKSHOPS. Source
    BibTeX
    @inproceedings{goldberg2011stereo,
      title = {Stereo and IMU assisted visual odometry on an OMAP3530 for small robots},
      author = {Goldberg, Steve and Matthies, Larry},
      booktitle = {CVPR WORKSHOPS},
      pages = {169-176},
      year = {2011},
      doi = {10.1109/cvprw.2011.5981842},
      abstract = {Small robots require very compact, low-power, yet high performance processors for vision-based navigation algorithms like stereo vision and visual odometry. Research on real-time implementations of these algorithms has focused on FPGAs, GPUs, ASICs, and general purpose processors, which are either too big, too hot, or too hard to program. System-on-a-chip (SoC) processors for smart phones have not been exploited yet for these functions. Here we present a real-time stereo vision system with IMU assisted visual odometry implemented on a single Texas Instruments 720Mhz/520Mhz OMAP3530 SoC. We achieve frame rates of 46 fps at QVGA or 8 fps at VGA resolutions while simultaneously tracking up to 200 features, taking full advantage of the OMAP3530's integer DSP and floating point ARM processors. This is a substantial advancement over previous work as the stereo implementation produces 146Mde/s in 2.5W, yielding a stereo energy efficiency of 58.8Mde/J, which is 3.75× better than prior DSP stereo while providing more functionality.}
    }
  18. Fraundorfer, F. and Scaramuzza, D. (2012). Visual Odometry : Part II: Matching, Robustness, Optimization, and Applications . IEEE Robotics & Automation Magazine, 2. Source
    BibTeX
    @article{fraundorfer2012visual,
      title = {Visual Odometry : Part II: Matching, Robustness, Optimization, and Applications},
      author = {Fraundorfer, Friedrich and Scaramuzza, Davide},
      journal = {IEEE Robotics & Automation Magazine},
      volume = {19},
      number = {2},
      pages = {78-90},
      publisher = {Institute of Electrical and Electronics Engineers (IEEE)},
      year = {2012},
      doi = {10.1109/mra.2012.2182810},
      abstract = {Part II of the tutorial has summarized the remaining building blocks of the VO pipeline: specifically, how to detect and match salient and repeatable features across frames and robust estimation in the presence of outliers and bundle adjustment. In addition, error propagation, applications, and links to publicly available code are included. VO is a well understood and established part of robotics. VO has reached a maturity that has allowed us to successfully use it for certain classes of applications: space, ground, aerial, and underwater. In the presence of loop closures, VO can be used as a building block for a complete SLAM algorithm to reduce motion drift. Challenges that still remain are to develop and demonstrate large-scale and long-term implementations, such as driving autonomous cars for hundreds of miles. Such systems have recently been demonstrated using Lidar and Radar sensors [86]. However, for VO to be used in such systems, technical issues regarding robustness and, especially, long-term stability have to be resolved. Eventually, VO has the potential to replace Lidar-based systems for egomotion estimation, which are currently leading the state of the art in accuracy, robustness, and reliability. VO offers a cheaper and mechanically easier-to-manufacture solution for egomotion estimation, while, additionally, being fully passive. Furthermore, the ongoing miniaturization of digital cameras offers the possibility to develop smaller and smaller robotic systems capable of ego-motion estimation.}
    }
  19. Leutenegger, S., Lynen, S., Bosse, M., Siegwart, R. and Furgale, P. (2015). Keyframe-Based Visual-Inertial Odometry Using Nonlinear Optimization . The International Journal of Robotics Research, 3. Source
    BibTeX
    @article{leutenegger2015keyframe,
      title = {Keyframe-Based Visual-Inertial Odometry Using Nonlinear Optimization},
      author = {Leutenegger, Stefan and Lynen, Simon and Bosse, Michael and Siegwart, Roland and Furgale, Paul},
      journal = {The International Journal of Robotics Research},
      volume = {34},
      number = {3},
      pages = {314--334},
      year = {2015},
      doi = {10.1177/0278364914554813},
      abstract = {Combining visual and inertial measurements has become popular in mobile robotics, since the two sensing modalities offer complementary characteristics that make them the ideal choice for accurate visual–inertial odometry or simultaneous localization and mapping (SLAM). While historically the problem has been addressed with filtering, advancements in visual estimation suggest that nonlinear optimization offers superior accuracy, while still tractable in complexity thanks to the sparsity of the underlying problem. Taking inspiration from these findings, we formulate a rigorously probabilistic cost function that combines reprojection errors of landmarks and inertial terms. The problem is kept tractable and thus ensuring real-time operation by limiting the optimization to a bounded window of keyframes through marginalization. Keyframes may be spaced in time by arbitrary intervals, while still related by linearized inertial terms. We present evaluation results on complementary datasets recorded with our custom-built stereo visual–inertial hardware that accurately synchronizes accelerometer and gyroscope measurements with imagery. A comparison of both a stereo and monocular version of our algorithm with and without online extrinsics estimation is shown with respect to ground truth. Furthermore, we compare the performance to an implementation of a state-of-the-art stochastic cloning sliding-window filter. This competitive reference implementation performs tightly coupled filtering-based visual–inertial odometry. While our approach declaredly demands more computation, we show its superior performance in terms of accuracy.}
    }
  20. Mur-Artal, R., Montiel, J. M. M. and Tardós, J. D. (2015). ORB-SLAM: A Versatile and Accurate Monocular SLAM System . IEEE Transactions on Robotics, 5. Source
    BibTeX
    @article{murartal2015orbslam,
      title = {ORB-SLAM: A Versatile and Accurate Monocular SLAM System},
      author = {Mur-Artal, Raul and Montiel, J. M. M. and Tardós, Juan D.},
      journal = {IEEE Transactions on Robotics},
      volume = {31},
      number = {5},
      pages = {1147--1163},
      year = {2015},
      doi = {10.1109/tro.2015.2463671},
      abstract = {This paper presents ORB-SLAM, a feature-based monocular simultaneous localization and mapping (SLAM) system that operates in real time, in small and large indoor and outdoor environments. The system is robust to severe motion clutter, allows wide baseline loop closing and relocalization, and includes full automatic initialization. Building on excellent algorithms of recent years, we designed from scratch a novel system that uses the same features for all SLAM tasks: tracking, mapping, relocalization, and loop closing. A survival of the fittest strategy that selects the points and keyframes of the reconstruction leads to excellent robustness and generates a compact and trackable map that only grows if the scene content changes, allowing lifelong operation. We present an exhaustive evaluation in 27 sequences from the most popular datasets. ORB-SLAM achieves unprecedented performance with respect to other state-of-the-art monocular SLAM approaches. For the benefit of the community, we make the source code public.}
    }
  21. Engel, J., Koltun, V. and Cremers, D. (2018). Direct Sparse Odometry . IEEE Transactions on Pattern Analysis and Machine Intelligence, 3. Source
    BibTeX
    @article{engel2018direct,
      title = {Direct Sparse Odometry},
      author = {Engel, Jakob and Koltun, Vladlen and Cremers, Daniel},
      journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence},
      volume = {40},
      number = {3},
      pages = {611--625},
      year = {2018},
      doi = {10.1109/tpami.2017.2658577},
      abstract = {Direct Sparse Odometry (DSO) is a visual odometry method based on a novel, highly accurate sparse and direct structure and motion formulation. It combines a fully direct probabilistic model (minimizing a photometric error) with consistent, joint optimization of all model parameters, including geometry-represented as inverse depth in a reference frame-and camera motion. This is achieved in real time by omitting the smoothness prior used in other direct methods and instead sampling pixels evenly throughout the images. Since our method does not depend on keypoint detectors or descriptors, it can naturally sample pixels from across all image regions that have intensity gradient, including edges or smooth intensity variations on essentially featureless walls. The proposed model integrates a full photometric calibration, accounting for exposure time, lens vignetting, and non-linear response functions. We thoroughly evaluate our method on three different datasets comprising several hours of video. The experiments show that the presented approach significantly outperforms state-of-the-art direct and indirect methods in a variety of real-world settings, both in terms of tracking accuracy and robustness.}
    }
  22. Delaune, J., Bayard, D. S. and Brockers, R. (2021). Range-Visual-Inertial Odometry: Scale Observability Without Excitation . IEEE Robotics and Automation Letters. Source
    BibTeX
    @article{delaune2021range,
      title = {Range-Visual-Inertial Odometry: Scale Observability Without Excitation},
      author = {Delaune, Jeff and Bayard, David S. and Brockers, Roland},
      journal = {IEEE Robotics and Automation Letters},
      publisher = {JPL Open Repository},
      year = {2021},
      doi = {10.48577/jpl.c8pcs8},
      abstract = {Traveling straight at constant speed is the most efficient trajectory for most robotics applications. Unfortunately without accelerometer excitation, monocular Visual-Inertial Odometry (VIO) cannot observe scale and suffers severe error drift. This is why NASA’s Ingenuity Mars Helicopter added a 1Dlaser range finder, but it is limited to flat terrains. Our novel range-VIO approach uses facet constraints, which efficiently leverage VIO feature depths to adapt to any scene structure.Due to the small range finder footprint, range-VIO also retains the minimal size, weight, power and real-time attributes of VIO.The facet scene model can scale from a flat world assumption,to virtually no structure assumption at all based on visual feature density. An important theoretical result shows that scale, with range-VIO, is no longer in the right nullspace of the observability matrix for constant acceleration motion.The benefits are evaluated on real flight data representative of common aerial robotics scenarios. Robustness is demonstrated using indoor stress data with full-state ground truth.}
    }
  23. Dai, A., Vila, G. C. and Gao, G. (2026). Visual SLAM with DEM Anchoring for Lunar Surface Navigation . arXiv. Source
    BibTeX
    @article{adam2026,
      title = {Visual SLAM with DEM Anchoring for Lunar Surface Navigation},
      author = {Dai, Adam and Vila, Guillem Casadesus and Gao, Grace},
      journal = {arXiv},
      year = {2026},
      doi = {10.48550/arxiv.2603.17229},
      abstract = {Future lunar missions will require autonomous rovers capable of traversing tens of kilometers across challenging terrain while maintaining accurate localization and producing globally consistent maps. However, the absence of global positioning systems, extreme illumination, and low-texture regolith make long-range navigation on the Moon particularly difficult, as visual-inertial odometry pipelines accumulate drift over extended traverses. To address this challenge, we present a stereo visual simultaneous localization and mapping (SLAM) system that integrates learned feature detection and matching with global constraints from digital elevation models (DEMs). Our front-end employs learning-based feature extraction and matching to achieve robustness to illumination extremes and repetitive terrain, while the back-end incorporates DEM-derived height and surface-normal factors into a pose graph, providing absolute surface constraints that mitigate long-term drift. We validate our approach using both simulated lunar traverse data generated in Unreal Engine and real Moon/Mars analog data collected from Mt. Etna. Results demonstrate that DEM anchoring consistently reduces absolute trajectory error compared to baseline SLAM methods, lowering drift in long-range navigation even in repetitive or visually aliased terrain.}
    }
  24. Luo, X., Li, Z., Wan, X., Zhang, W. and Shu, L. (2025). Learning to Anchor Visual Odometry: KAN-Based Pose Regression for Planetary Landing . IEEE Robotics and Automation Letters. Source
    BibTeX
    @article{luo2025learning,
      title = {Learning to Anchor Visual Odometry: KAN-Based Pose Regression for Planetary Landing},
      author = {Luo, Xubo and Li, Zhaojin and Wan, Xue and Zhang, Wei and Shu, Leizheng},
      journal = {IEEE Robotics and Automation Letters},
      volume = {11},
      pages = {3574-3581},
      year = {2025},
      doi = {10.1109/lra.2026.3653384},
      abstract = {Accurate and real-time 6-DoF localization is mission-critical for autonomous lunar landing, yet existing approaches remain limited: visual odometry (VO) drifts unboundedly, while map-based absolute localization fails in texture-sparse or low-light terrain. We introduce KANLoc, a monocular localization framework that tightly couples VO with a lightweight but robust absolute pose regressor. At its core is a Kolmogorov–Arnold Network (KAN) that learns the complex mapping from image features to map coordinates, producing sparse but highly reliable global pose anchors. These anchors are fused into a bundle adjustment framework, effectively canceling drift while retaining local motion precision. KANLoc delivers three key advances: (i) a KAN-based pose regressor that achieves high accuracy with remarkable parameter efficiency, (ii) a hybrid VO–absolute localization scheme that yields globally consistent real-time trajectories ($\geq$15 FPS), and (iii) a tailored data augmentation strategy that improves robustness to sensor occlusion. On both realistic synthetic and real lunar landing datasets, KANLoc reduces average translation and rotation error by 32% and 45%, respectively, with per-trajectory gains of up to 45%/48%, outperforming strong baselines.}
    }
  25. Inigo, B., Steidle, F. and Stuerzl, W. (2026). Design of a Real-time Asynchronous Monocular Odometry for Planetary Exploration . arXiv. Source
    BibTeX
    @article{inigo2026design,
      title = {Design of a Real-time Asynchronous Monocular Odometry for Planetary Exploration},
      author = {Inigo, Benat and Steidle, Florian and Stuerzl, Wolfgang},
      journal = {arXiv},
      year = {2026},
      doi = {10.48550/arxiv.2605.27661},
      abstract = {We describe our preliminary design of a real-time asynchronous event-based monocular odometry for planetary exploration. Operating under strict computational constraints, planetary rovers frequently encounter complex, unpredictable environments that demand high-speed sensing and robustness to high dynamic range (HDR) lighting. Event cameras address these needs by reporting asynchronous, pixel-wise brightness changes with microsecond resolution, significantly reducing data bandwidth while maintaining robustness in extreme lighting conditions. We propose an approach based on an Error-State Kalman Filter (ESKF) that leverages this asynchronous event stream to continuously estimate camera ego-motion. The camera state is updated with every tracked position output generated by RATE, a real-time asynchronous feature tracker.}
    }
  26. Campos, C., Elvira, R., Rodriguez, J. J. G., M. Montiel, J. M. and D. Tardos, J. (2021). ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM . IEEE Transactions on Robotics, 6. Source
    BibTeX
    @article{campos2021orb,
      title = {ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM},
      author = {Campos, Carlos and Elvira, Richard and Rodriguez, Juan J. Gomez and M. Montiel, Jose M. and D. Tardos, Juan},
      journal = {IEEE Transactions on Robotics},
      volume = {37},
      number = {6},
      pages = {1874-1890},
      publisher = {Institute of Electrical and Electronics Engineers (IEEE)},
      year = {2021},
      doi = {10.1109/tro.2021.3075644},
      abstract = {This article presents ORB-SLAM3, the first system able to perform visual, visual-inertial and multimap SLAM with monocular, stereo and RGB-D cameras, using pin-hole and fisheye lens models. The first main novelty is a tightly integrated visual-inertial SLAM system that fully relies on maximuma posteriori(MAP) estimation, even during IMU initialization, resulting in real-time robust operation in small and large, indoor and outdoor environments, being two to ten times more accurate than previous approaches. The second main novelty is a multiple map system relying on a new place recognition method with improved recall that lets ORB-SLAM3 survive to long periods of poor visual information: when it gets lost, it starts a new map that will be seamlessly merged with previous maps when revisiting them. Compared with visual odometry systems that only use information from the last few seconds, ORB-SLAM3 is the first system able to reuse in all the algorithm stages all previous information from high parallax co-visible keyframes, even if they are widely separated in time or come from previous mapping sessions, boosting accuracy. Our experiments show that, in all sensor configurations, ORB-SLAM3 is as robust as the best systems available in the literature and significantly more accurate. Notably, our stereo-inertial SLAM achieves an average accuracy of 3.5 cm in the EuRoC drone and 9 mm under quick hand-held motions in the room of TUM-VI dataset, representative of AR/VR scenarios. For the benefit of the community we make public the source code.}
    }
  27. Qin, T., Li, P. and Shen, S. (2018). VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator . IEEE Transactions on Robotics, 4. Source
    BibTeX
    @article{qin2018vins,
      title = {VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator},
      author = {Qin, Tong and Li, Peiliang and Shen, Shaojie},
      journal = {IEEE Transactions on Robotics},
      volume = {34},
      number = {4},
      pages = {1004--1020},
      year = {2018},
      doi = {10.1109/tro.2018.2853729},
      abstract = {One camera and one low-cost inertial measurement unit (IMU) form a monocular visual-inertial system (VINS), which is the minimum sensor suite (in size, weight, and power) for the metric six degrees-of-freedom (DOF) state estimation. In this paper, we present VINS-Mono: a robust and versatile monocular visual-inertial state estimator. Our approach starts with a robust procedure for estimator initialization. A tightly coupled, nonlinear optimization-based method is used to obtain highly accurate visual-inertial odometry by fusing preintegrated IMU measurements and feature observations. A loop detection module, in combination with our tightly coupled formulation, enables relocalization with minimum computation. We additionally perform 4-DOF pose graph optimization to enforce the global consistency. Furthermore, the proposed system can reuse a map by saving and loading it in an efficient way. The current and previous maps can be merged together by the global pose graph optimization. We validate the performance of our system on public datasets and real-world experiments and compare against other state-of-the-art algorithms. We also perform an onboard closed-loop autonomous flight on the microaerial-vehicle platform and port the algorithm to an iOS-based demonstration. We highlight that the proposed work is a reliable, complete, and versatile system that is applicable for different applications that require high accuracy in localization. We open source our implementations for both PCs (https://github.com/HKUST-Aerial-Robotics/VINS-Mono) and iOS mobile devices (https://github.com/HKUST-Aerial-Robotics/VINS-Mobile).}
    }
  28. Cadena, C., Carlone, L., Carrillo, H., Latif, Y., Scaramuzza, D., Neira, J., Reid, I. and Leonard, J. J. (2016). Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age . IEEE Transactions on Robotics. Source
    BibTeX
    @article{cadena2016past,
      title = {Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age},
      author = {Cadena, Cesar and Carlone, Luca and Carrillo, Henry and Latif, Yasir and Scaramuzza, Davide and Neira, Jose and Reid, Ian and Leonard, John J.},
      journal = {IEEE Transactions on Robotics},
      volume = {32},
      pages = {1309-1332},
      year = {2016},
      doi = {10.1109/tro.2016.2624754},
      abstract = {Simultaneous localization and mapping (SLAM) consists in the concurrent construction of a model of the environment (the map), and the estimation of the state of the robot moving within it. The SLAM community has made astonishing progress over the last 30 years, enabling large-scale real-world applications and witnessing a steady transition of this technology to industry. We survey the current state of SLAM and consider future directions. We start by presenting what is now the de-facto standard formulation for SLAM. We then review related work, covering a broad set of topics including robustness and scalability in long-term mapping, metric and semantic representations for mapping, theoretical performance guarantees, active SLAM and exploration, and other new frontiers. This paper simultaneously serves as a position paper and tutorial to those who are users of SLAM. By looking at the published research with a critical eye, we delineate open challenges and new research issues, that still deserve careful scientific investigation. The paper also contains the authors' take on two questions that often animate discussions during robotics conferences: Do robots need SLAM? and Is SLAM solved?}
    }
  29. Schmidt, F., Daubermann, J., Mitschke, M., Blessing, C., Meyer, S., Enzweiler, M. and Valada, A. (2024). ROVER: A Multi-Season Dataset for Visual SLAM . arXiv. Source
    BibTeX
    @article{schmidt2024rover,
      title = {ROVER: A Multi-Season Dataset for Visual SLAM},
      author = {Schmidt, Fabian and Daubermann, Julian and Mitschke, Marcel and Blessing, Constantin and Meyer, Stefan and Enzweiler, Markus and Valada, Abhinav},
      journal = {arXiv},
      volume = {41},
      pages = {4005-4022},
      year = {2024},
      doi = {10.1109/tro.2025.3577026},
      abstract = {Robust Simultaneous Localization and Mapping (SLAM) is a crucial enabler for autonomous navigation in natural, semi-structured environments such as parks and gardens. However, these environments present unique challenges for SLAM due to frequent seasonal changes, varying light conditions, and dense vegetation. These factors often degrade the performance of visual SLAM algorithms originally developed for structured urban environments. To address this gap, we present ROVER, a comprehensive benchmark dataset tailored for evaluating visual SLAM algorithms under diverse environmental conditions and spatial configurations. We captured the dataset with a robotic platform equipped with monocular, stereo, and RGBD cameras, as well as inertial sensors. It covers 39 recordings across five outdoor locations, collected through all seasons and various lighting scenarios, i.e., day, dusk, and night with and without external lighting. With this novel dataset, we evaluate several traditional and deep learning-based SLAM methods and study their performance in diverse challenging conditions. The results demonstrate that while stereo-inertial and RGBD configurations generally perform better under favorable lighting and moderate vegetation, most SLAM systems perform poorly in low-light and high-vegetation scenarios, particularly during summer and autumn. Our analysis highlights the need for improved adaptability in visual SLAM algorithms for outdoor applications, as current systems struggle with dynamic environmental factors affecting scale, feature extraction, and trajectory consistency. This dataset provides a solid foundation for advancing visual SLAM research in real-world, semi-structured environments, fostering the development of more resilient SLAM systems for long-term outdoor localization and mapping. The dataset and the code of the benchmark are available underhttps://iis-esslingen.github.io/rover.}
    }
  30. Thakker, R., Santamaria-Navarro, A., Fan, D. D., Morrell, B. and Agha-mohammadi, A.-A. (2019). Towards Resilient Autonomous Navigation of Drones . International Symposium on Robotics Research. Source
    BibTeX
    @inproceedings{thakker2019resilient,
      title = {Towards Resilient Autonomous Navigation of Drones},
      author = {Thakker, Rohan and Santamaria-Navarro, Angel and Fan, David D. and Morrell, Benjamin and Agha-mohammadi, Ali-akbar},
      booktitle = {International Symposium on Robotics Research},
      publisher = {JPL Open Repository},
      year = {2019},
      url = {https://dataverse.jpl.nasa.gov/dataset.xhtml?persistentId=hdl:2014/51167}
    }