Loop Closure with Velodyne and Camera using RTAB-Map?
I am running RTAB-Map with a 3d point cloud (Velodyne VLP-16). I use the icp_odometry node which seems to work quite well in principle, but it doesn't do loop closures. I found that this is, because loop closure requires visual features (https://github.com/introlab/rtabmap/i...).
On that system I also have a stereo camera setup. But stereo processing takes really long (only 1-2 Hz framerate) and the matching results don't look very promising (disparity and points are very sparse).
As soon as I enable to subscribe the stereo images the full stereo processing takes up a huge amounts of resources and also make the occupancy grid to not use the point cloud from the LIDAR anymore (TODO: check Grid/Sensor
setting).
In short, SLAM results with ICP are much better overall than with stereo processing so far.
I thought maybe it would be possible to add loop closure based on SIFT or SURF feature descriptors, that wouldn't maybe need to calculate the stereo point clouds (or maybe even work with only mono camera images). I've seen the parameter Kp/DetectorStrategy
indicating a setting for this, but so far setting this to SIFT or SURF didn't change a thing (at least I didn't notice).
What is the most efficient way to do the mapping based on ICP, but with loop closures? Is there a way to accomplish this with a mono-camera?
Is there a way to check whether I've successfully built my rtabmap stack to include the opencv contrib modules required for the visual features?