# rtabmap: g2o, GTSAM

1. why do I need them?
2. I have installed rtabmap-ros as ROS package. Have I already running g2o and GTSAM?
edit retag close merge delete

Sort by » oldest newest most voted

1) From this paper (section 3.5):

When a loop closure or a proximity detection are detected or some nodes are retrieved or transferred because of memory management, a graph optimization approach is applied to minimize errors in the map. RTAB-Map integrates three graph optimization approaches: TORO [Grisetti et al., 2010], g2o [Kummerle et al.,2011] and GTSAM [Dellaert, 2012]. g2o and GTSAM converge faster than TORO, but are less robust to multi-session mapping when multiple independent graphes have to be merged together. TORO is also less sensitive to poorly estimated odometry covariance. However, for single map, based on empirical data, g2o and GTSAM optimization quality is better than TORO, particularly for 6DoF maps. GTSAM is slightly more robust to multi-session than g2o, and thus is the strategy now used by default in RTAB-Map contrarily to our previous works using TORO.

2) g2o may be already used if you installed rtabmap-ros from binaries (apt-get). To verify if g2o and GTSAM are supported in your current build, do:

\$ rtabmap --version

more

Why do you need them? Because they're optional dependencies. I'm not sure I understand the question. The documentation in the README clearly lays out when and why you may want them.

If you've installed the ROS package from the package manager, you may still want to install them, given the conditions in the README.

more