rtabmap icon indicating copy to clipboard operation
rtabmap copied to clipboard

Using depth->scan for Lidar based algorithms in addition to RGB-D VSLAM

Open alexk1976 opened this issue 1 year ago • 4 comments

Hi Mathieu, Our setup has 4 RGB-D (~6 meters range) cameras covering almost 360 FOV. I explore ways to improve loop-detection accuracy that is not perfect now (sometimes there are wrong loop-closures/sometimes no loop-closure where expected). Whether make sense to convert depth to scan data and use Lidar rtabmap capabilities on top of VSLAM/VO rtabmap algos. Particularly proximity detection in loop-closures? Any other recommendations ? thank you

alexk1976 avatar Mar 07 '23 21:03 alexk1976

Forgot to mention that currently we run classical pipeline for 3 rgb-dd cameras : rgbd-sync -> F2M-> rtabmap.

alexk1976 avatar Mar 07 '23 21:03 alexk1976

I don't think simulating a fake lidar from the camera will increase loop closure accuracy/precision.

wrong loop-closures/sometimes

There are some ways to decrease wrong loop closures to be accepted, like increasing Vis/MinInliers or decreasing RGBD/OptimizeMaxError.

matlabbe avatar Apr 15 '23 23:04 matlabbe

Hi Mathieu, Further pursuing Alex's direction - if we do want to check if fake lidar using depthimage_to_laserscan can help us in cases we have multiple cameras covering close to 360deg. Is multi-camera (=> multi scans) supported ? How do you suggest going about it, merging the multiple scanlines to one? Thanks, David

dStanhill avatar Jul 05 '23 14:07 dStanhill

Yes, if you have multiple cameras to increase FOV, a resulting fake >180 deg FOV laser scan could help with loop closures.

You may use a node to convert the laser scan to point cloud, then assemble the points clouds using point_cloud_aggregator with a fixed frame like wheel odometry to adjust frames taken a different time. Feed the combined cloud to rtabmap or convert it back to a laser scan so that rtabmap knows it is a 2D laser scan, not arbitrary 3d point cloud. For loop closure it wont change anything, but for 2D occupancy grid ray tracing, it would be faster in 2D.

matlabbe avatar Jul 10 '23 20:07 matlabbe