Re: ZED2 rtabmap loop closure and twisted map

Posted by matlabbe on
URL: http://official-rtab-map-forum.206.s1.nabble.com/ZED2-rtabmap-loop-closure-and-twisted-map-tp6986p7122.html


1. The rotation can come from the optimization with gravity constraints. I don't know if you built with both GTSAM and g2o dependencies, but GTSAM seems to make the map rotate more with gravity constraints are added (I didn't see how to avoid that). Try comparing Optimizer/Strategy=1 and Optimizer/Strategy=2.

2. In databaseViewer->Constraint view, by moving the Neighbor slider, we can see odometry covariance.

3. For example, if you have a link in the graph with covariance of 1 meter and that the global odometry drift is 1 meter, it means that during graph optimization, the optimier can put the whole 1 meter of error in that single link instead of propagating equally the 1 meter error to all nodes. For the loop closure rejection approach, we look for links that are too much deformed after optimization. A too large deformation in comparison to covariance would mean we have a wrong loop closure. Setting Identity covariance will make accepting all loop closures because the graph can be deformed a lot under such large covariance.

4. rtabmap provides also a visual odometry, but there are also many other packages doing VIO out there that could replace zed's odometry too and feed the resulting odometry to rtabmap.

5. This is the type of feature used in the BOW vocabulary

6. If the resulting IMU data from zed2 has a quaternion, they may already do the estimation. Otherwise, for IMUs, you can use complementary filter or madgwick  filter ros packages.

7. In databaseViewer->Statistics panel, next to each statistic, there is a button to plot the values.

cheers,
Mathieu