SLAM Back-End

We released an open-source C++ plugin for g2o that implements our back-end approach. Moreover, we provide a simulator to generate matchable graphs using the g2o framework. Code is available [here].
In this work, we propose a pose-landmark graph optimization back-end that supports maps consisting of points, lines or planes. Our back-end allows representing both homogeneous (point-point, line-line, plane-plane) and heterogeneous measurements (point-on-line, point-on-plane, line-on-plane). Rather than treating all cases independently, we use a unified formulation that leads to both a compact derivation and a concise implementation. The additional geometric information, deriving from the use of higher-level primitives and constraints, yields to increased robustness and widens the convergence basin of our method.
The whole software related to this project is listed here.
We released an open-source C++ plugin for g2o that implements our back-end approach. Moreover, we provide a simulator to generate matchable graphs using the g2o framework. Code is available [here].
We developed a simplistic front-end for RGB-D data to validate the usability of such a back-end on graphs generated from real data. We extendended the SA-SHA system, adding to the front-end the option to “export” the generated factor graph. Additionally, we implemented a straighforward loop detection on top of the recent Visual Place Recognition (VPR) library HBST. Code is available [here].
This works has been accepted to RSS 19 and RA-L. Please cite our most recent article when using SA-SHAGO:
@article{aloise2019systematic,
title={Systematic Handling of Heterogeneous Geometric Primitives in Graph-SLAM Optimization},
author={Aloise, Irvin and Della Corte, Bartolomeo and Nardi, Federico and Grisetti, Giorgio},
journal={IEEE Robotics and Automation Letters},
volume={4},
number={3},
pages={2738--2745},
year={2019},
publisher={IEEE}
}
[DOI: 10.1109/LRA.2019.2918054]
This is bold and this is strong. This is italic and this is emphasized.
This is superscript text and this is subscript text.
This is underlined and this is code: for (;;) { ... }
. Finally, this is a link.
Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.
i = 0;
while (!deck.isInOrder()) {
print 'Iteration ' + i;
deck.shuffle();
i++;
}
print 'It took ' + i + ' iterations to sort the deck.';
Name | Description | Price |
---|---|---|
Item One | Ante turpis integer aliquet porttitor. | 29.99 |
Item Two | Vis ac commodo adipiscing arcu aliquet. | 19.99 |
Item Three | Morbi faucibus arcu accumsan lorem. | 29.99 |
Item Four | Vitae integer tempus condimentum. | 19.99 |
Item Five | Ante turpis integer aliquet porttitor. | 29.99 |
100.00 |
Name | Description | Price |
---|---|---|
Item One | Ante turpis integer aliquet porttitor. | 29.99 |
Item Two | Vis ac commodo adipiscing arcu aliquet. | 19.99 |
Item Three | Morbi faucibus arcu accumsan lorem. | 29.99 |
Item Four | Vitae integer tempus condimentum. | 19.99 |
Item Five | Ante turpis integer aliquet porttitor. | 29.99 |
100.00 |