Skip to content

utiasSTARS/sos-rotation-averaging

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sos-rotation-averaging

Certifiably globally optimal unit quaternion rotation averaging via Sparse Bounded-degree sum of squares optimization.

Installation and Dependencies

All code and experiments were developed in Matlab R2017b.

We use the Sparse-BSOS Matlab package, which ships with its own modified version of SDPT3 (see the linked repository for setup details).

We use the CVX modelling language, which is free for academic usage. The default SDPT3 solver that ships with CVX was used.

Our plotting script makes use of the subaxis function to create subplots.

Usage

All code is found in the folder matlab/. Be sure to add this folder, its subfolders, and all dependencies to your Matlab path.

Plotting Script

The code for error and cost function plots appearing in our paper (see below) can be run with the script matlab/plot_error_figures.m. This script uses the .mat files containing experimental results in data/. The data files are accessed with relative paths, so be sure to run the script from within the matlab/ folder.

Rotation Averaging Example Script

The script matlab/results_rotation_averaging_sbsos_odom.m shows a sample usage of our main contribution, the function matlab/rotation_averaging_sbsos.m on simulated noisy data. The script matlab/results_rotation_averaging_sbsos_dual.m compares our approach with an SDP-relaxation.

Citation

If you use any of this code in your work, please cite the relevant publication:

@article{giamou2019sparse,
  title={Sparse Bounded Degree Sum of Squares Optimization for Certifiably Globally Optimal Rotation Averaging},
  author={Giamou, Matthew and Maric, Filip and Peretroukhin, Valentin and Kelly, Jonathan},
  journal={arXiv preprint arXiv:1904.01645},
  year={2019}
}

About

Certifiably globally optimal unit quaternion rotation averaging via Sparse Bounded-degree sum of squares optimization.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages