This packages provides executables and a small library for handling, evaluating and comparing the trajectory output of odometry and SLAM algorithms.
Supported trajectory formats:
‘TUM’ trajectory files
‘KITTI’ pose files
‘EuRoC MAV’ (.csv groundtruth and TUM trajectory file)
ROS bagfile with geometry_msgs/PoseStamped, geometry_msgs/TransformStamped, geometry_msgs/PoseWithCovarianceStamped or nav_msgs/Odometry topics
Why?
evo has several advantages over other public benchmarking tools:
- common tools for different formats
- algorithmic options for association, alignment, scale adjustment for monocular SLAM etc.
- flexible options for output, plotting or export (e.g. LaTeX plots or Excel tables)
- a powerful, configurable CLI that can cover many use cases
- modular core and tools libraries for custom extensions
- faster than other established Python-based tools (see here)
What it’s not: a 1-to-1 re-implementation of a particular evaluation protocol tailored to a specific dataset.
Installation / Upgrade
Installation is easy-peasy if you’re familiar with this: https://xkcd.com/1987/#
Python 3.4+ and Python 2.7 are both supported. If you want to use the ROS bagfile interface, first check which Python version is used by your ROS installation and install accordingly. You might also want to use a virtual environment.
From PyPi
If you just want to use the executables of the latest release version, the easiest way is to run:
准备工作:python多版本管理,把python升级
pip install evo --upgrade --no-binary evo
This will download the package and its dependencies from PyPi and install or upgrade them. Depending on your OS, you might be able to use pip2 or pip3 to specify the Python version you want. Tab