Skip to content

GYengera/ROPTLIB

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SE-Sync Optimization Example with ROPTLIB

SE-Sync is a certifiably correct algorithm for synchronization over the special Euclidean group, a common problem arising in the context of 2D and 3D geometric estimation such as pose-graph SLAM for example. A detailed explanation of the algorithm can be found in this paper.

This code implements the riemannian optimization problem given in problem 4 (equation 13) of the paper.

The main function for the SE-Sync optimization problem is in /test/TestStieSync.cpp

The computation of the function, gradient and hessian (shown in equation 14 of the paper) can be found in /Problems/StieSync/ folder.

To compile this example run the following command:

$ make ROPTLIB TP=TestStieSync

After compilation, the command to run the example is the following:

$ <path_to_file>/TestStieSync Q_Dataset_Path n d p Initial_value_X0_path

Datasets for matrix Q can be found at: http://mapir.isa.uma.es/jbriales/GSOC_project8_data.zip

If the path is not provided to the data for initializing the value of X, then a random point is created on the stacked Stiefel manifold.

The optimum value of X is stored in a text file. The path to the file can be altered within the code. Gradient and hessian checks are displayed in the terminal for verification.

About

SE-Sync Optimization Example with ROPTLIB

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 69.6%
  • C 23.0%
  • MATLAB 5.2%
  • Julia 1.4%
  • Other 0.8%