Metrics

How do you say one SLAM system is “better” than another? The community’s answer is a pair of trajectory-error metrics computed against ground truth (from motion capture, GPS/INS, or a survey-grade reference): ATE for global accuracy and RPE for local accuracy. Both are standard because they measure different failures.

ATE: Absolute Trajectory Error

ATE measures global consistency of the whole trajectory. The estimated trajectory {T^i}\{\hat{T}_i\} is first aligned to the ground truth {Ti}\{T_i^*\} with a single rigid transformation SS (found by least squares; for monocular systems a similarity transform, since scale is unobservable). Then:

ATERMSE=1Ni=1NTiST^iF2\text{ATE}_{\text{RMSE}} = \sqrt{\frac{1}{N}\sum_{i=1}^{N} \left\| T_i^* - S\hat{T}_i \right\|_F^2}

In practice the translational part is reported as RMSE in meters. A high ATE indicates accumulated drift or an incorrect loop closure that bent the trajectory globally.

RPE: Relative Pose Error

RPE measures local accuracy — drift per unit of time or distance. For relative motions over a gap δ\delta, with Qi=Ti1Ti+δQ_i = T_i^{-1} T_{i+\delta} (ground truth) and Q^i=T^i1T^i+δ\hat{Q}_i = \hat{T}_i^{-1} \hat{T}_{i+\delta} (estimate):

RPEi=Qi1Q^i\text{RPE}_i = Q_i^{-1} \hat{Q}_i

The RMSE of the translational and rotational parts is reported separately (e.g., % translation error and deg/m). KITTI’s official metric is an RPE flavor: errors averaged over sub-sequences of 100–800 m.

Why you need both

A visual odometry system with excellent local tracking but no loop closure can have low RPE and terrible ATE; a system with aggressive (occasionally wrong) loop closure can show the opposite. ATE rewards global map correctness; RPE isolates odometry quality and is insensitive to where drift happened. When comparing papers, also check the alignment convention (SE(3) vs. Sim(3)) — scale-aligned monocular numbers are not comparable to metric stereo/VIO numbers.

Standard benchmarks

DatasetSensorsEnvironmentGround truth
KITTI OdometryStereo + LiDAR + IMUOutdoor drivingGPS/INS
TUM RGB-DRGB-D + IMUIndoor handheldMotion capture
EuRoC MAVStereo + IMUIndoor UAVMotion capture

Tooling

The de-facto standard evaluation tool is evo, which reads common trajectory formats (TUM, KITTI, EuRoC, ROS bags) and computes both metrics with explicit alignment control:

evo_ape tum groundtruth.txt estimate.txt -a          # ATE with SE(3) alignment
evo_ape tum groundtruth.txt estimate.txt -as         # ...Sim(3): also aligns scale (monocular)
evo_rpe tum groundtruth.txt estimate.txt --delta 1 --delta_unit m   # RPE per meter

Making the alignment flags explicit in your scripts is what keeps your numbers comparable to published ones.

Pitfalls when reading (or making) results tables

Beyond accuracy, serious evaluations also report runtime, robustness (tracking-failure rate across runs), and — for probabilistic estimators — consistency, which trajectory metrics alone cannot capture.

Why it matters for SLAM

ATE and RPE are the shared currency of the field: every SLAM paper’s results table is built on them, so you must know exactly what they measure — and what they hide — to read the literature critically or to claim your own system works. They are also daily engineering tools: an RPE regression points at the front-end/odometry, an ATE regression with stable RPE points at loop closure or the back-end.