evo
De-facto standard tool for evaluating and plotting odometry/SLAM trajectories
License
GPL-3.0
Overview
Python toolkit for evaluating odometry and SLAM results: it computes absolute and relative pose error (APE/RPE) with trajectory alignment, handles TUM, KITTI, EuRoC and ROS-bag trajectory formats interchangeably, and produces publication-quality comparison plots and statistics tables. evo is the de-facto standard evaluation tool cited across the SLAM literature.
evo provides command-line tools (evo_ape, evo_rpe, evo_traj) that load trajectories from TUM, KITTI, EuRoC and ROS bags, align them with Umeyama or origin alignment (optionally with scale for monocular systems), compute APE/RPE with configurable pose relations, and render trajectory, error and box plots. Results export to files for batch comparison across runs, and a Python API supports custom analysis in notebooks.
Why it matters
Before evo, every SLAM paper evaluated trajectories with its own scripts, making results hard to compare. evo standardized APE/RPE evaluation and became the accepted reference tool — reviewers and readers now expect numbers produced with it.
Problem it solves
Comparing odometry systems fairly requires consistent trajectory alignment, error metrics and format handling — easy to get subtly wrong. evo implements the established evaluation methodology once, correctly, for all the common dataset formats.
Key takeaways
- One consistent implementation of APE/RPE replaces per-paper evaluation scripts
- Reads all common trajectory formats: TUM, KITTI, EuRoC, ROS 1/2 bags
- Umeyama alignment with optional scale handles monocular SLAM fairly
- Publication-quality plots and stats tables out of the box
- Python API enables batch and notebook-based analysis
Who it is for
- SLAM researchers evaluating and publishing results
- Engineers regression-testing odometry pipelines
- Students reproducing paper results
Limitations
- Evaluates trajectories only — no map-quality or per-module diagnostics
- GPL-3.0 license can complicate embedding in proprietary tooling