Home

Awesome

iRotAvg

Author: Álvaro Parra

iRotAvg (incremental rotation averaging) incrementally solves rotation averaging. iRotAvg is the optimisation core of L-infinity SLAM presented in [Á. Parra, T.-J. Chin, A. Eriksson, I. Reid: Visual SLAM: Why bundle adjust?, ICRA 2019].

This work was supported by Maptek and the ARC Linkage Project LP140100946.

<p align="center"> <a href="http://maptek.com"> <img src="maptek_logo.png" height="100" alt="Maptek"> </a> &nbsp; &nbsp; &nbsp; <a href="https://www.adelaide.edu.au"> <img src="uofa_logo.gif" height="150" alt="The University of Adelaide"> </a> </p>

Related Publication:

Á. Parra, T.-J. Chin, A. Eriksson, I. Reid: Visual SLAM: Why bundle adjust?, ICRA 2019

License

iRotAvg is released under a GPLv3 license.

For a closed-source version of iRotAvg (e.g., for commercial purposes), please contact the author.

For an academic use of iRotAvg, please cite Á. Parra, T.-J. Chin, A. Eriksson, I. Reid: Why bundle adjust?, ICRA 2019.

Dependencies

In Mac:

In Ubuntu:

Compilation

(binary is compiled inside src)

Execution

General usage follows ORB-SLAM input:

./irotavg orb_vocab.txt config.yaml sequence_path

where

To see more usage options simply execute:

./irotavg

Testing with the KITTI dataset

To test iRotAvg with the KITTI dataset:

  1. Download the grayscale sequences from here.
  2. Download a configuration file from the ORB-SLAM monocular exampes. E.g.: KITTI00-02.yaml for sequences 0 to 2.
  3. Download and uncompress the orb vocabulary file from here.
  4. Execute irotavg passing the corresponding paths: ./irotavg path/to/orb_vocab.txt path/to/config.yaml path/to/sequence/

The output is saved to:

Watch a demonstration in the KITTI dataset

Watch a demonstration in the KITTI dataset