hgupta01 / slam_metrics

[Deprecated] Some scripts to calculate metrics used in SLAM

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Warning

This package is deprecated and it will not be updated anymore. I recommend you the following (as much better!) alternatives:

Michael Grupp's evo package

Link: https://github.com/MichaelGrupp/evo

I used this for my master thesis and is pretty easy to use. Some plots are different that the ones you may find in other papers, but it has a lot of very useful tools, such as batch processing of trajectories.


UZH Robotics and Perception Group's Trajectory evaluation toolkit

Link: https://github.com/uzh-rpg/rpg_trajectory_evaluation

I have not tried this since it is rather new (recently presented in IROS 2018) but these guys have worked on this area for years and gave a talk on this topic in an ICRA 2018 workshop. In addition, figures that seems to be generated by the toolkit are most common in SLAM/localization literature, such as the typical relative pose error (RPE) to compare localization accuracy at different scales.


slam_metrics

Some scripts to calculate metrics used in SLAM. It works in a similar way to Jürgen Sturm's scripts but this unifies both Absolute Trajectory Error (ATE) and Relative Pose Error (RPE), as well as SE(3) ATE and Drift Per Distance Travelled (DDT).

To be used with Python 3

Usage

The main file is evaluate_metrics.py. To run, you must execute:

python evaluate_metrics.py ground_truth_file estimation_file

By default, it only provides the absolute RMSE in both translation and orientation. Please check the options to enable the computation of other error statistics.

Options

Other options available are:

--offset float: time offset added to the timestamps of the second file (default: 0.0)

--scale: scaling factor for the second trajectory (default: 1.0)

--max_pairs: maximum number of pose comparisons (default: 10000, set to zero to disable downsampling)

--max_difference: maximally allowed time difference for matching entries (default: 0.02)

--delta: delta for evaluation (default: 1.0)

--delta_unit: unit of delta: 's' for seconds, 'm' for meters, 'rad' for radians, 'f' for frames; default: 's'

--fixed_delta: only consider pose pairs that have a distance of delta delta_unit (e.g., for evaluating the drift per second/meter/radian)

--verbose: print all evaluation data (otherwise, only the RMSE absolute will be printed

--compute_automatic_scale: ATE_Horn computes the absolute scale using the mod by Raul Mur

Other software usage

This repository uses code from:

References

  • ATE, RPE: J. Sturm, N. Engelhard, F. Endres, W. Burgard, D. Cremers, A Benchmark for the Evaluation of RGB-D SLAM Systems, In Proc. of the International Conference on Intelligent Robot Systems (IROS), 2012.
  • ATE SE(3), DDT: R. Scona, S. Nobili, Y. Petillot, and M. Fallon, Direct Visual SLAM Fusing Proprioception for a Humanoid Robot, in IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), Vancouver, Canada, 2017.

About

[Deprecated] Some scripts to calculate metrics used in SLAM


Languages

Language:Python 100.0%