This is an implementation of the algorithm given in [1] for Pose Graph Optimization. The code is in Julia.
Three initialization techniques have been implmented: (a) odometry, (b) spanning tree, and (c) chordal relaxation.
- Follow the instructions here to install Julia, Atom, and Juno: https://docs.junolab.org/stable/man/installation/
- Open up the
examples.jl
file underSparsePoseAdjustment
directory in Atom. Execute the instructions from the beginning (similar to Jupyter Notebook). - The code uses datasets in g2o format. To test the code on a new dataset, specify the location of the file similar to examples shown in
examples.jl
.
Following are the optimized pose graphs, using chordal relaxation initialization technique.
(a) City10000 dataset (b) CSAIL dataset.
(c) Manhattan dataset (d) Kitti dataset.
[1] Konolige, K., Grisetti, G., Kümmerle, R., Burgard, W., Limketkai, B., & Vincent, R. (2010). Efficient Sparse Pose Adjustment for 2D mapping. 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems, 22-29. [2] Juno: https://docs.junolab.org/stable/man/installation/