No loop closure detection

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

No loop closure detection

pammirato
When i run rtabmap_ros with my kinectv2, nothing ever pops up in the loop closure section of the window. It used to but doesn't anymore, I am not sure what has changed. Can you give me an idea of where to look to find the cause?


I know images are being published by the kinect node and received by some nodes of rtabmap_ros, because the main window and odometry section both show images as they are captured. But it seems no loop closures are being detected, and when i try to view the data base there is a file but it has no content.


Here's what it looks like:


Reply | Threaded
Open this post in threaded view
|

Re: No loop closure detection

pammirato
SOLVED IT!!


My queueSize was too small in CoreWrapper,cpp, it was 1. I'm guessing that wasn't big enough to allow all the images to sync with the message filter duh! i originally set it to 1 so that i would only get the most recent images.

Dang I spent a few days on this!
Reply | Threaded
Open this post in threaded view
|

Re: No loop closure detection

matlabbe
Administrator
Hello,

Well, I was writing some observations... It seems that you are using HD images, on my computer the frame rate is really poor on HD (like ~2 Hz). With such a large latency, the synchronisation between the depth and RGB images is not very good. As you have found, increasing the queue solved the problem. However, be aware that a bad synchronisation between RGB and depth images is also bad for odometry. I have a better frame rate with "sd" and "qhd" qualities:
 $ roslaunch kinect2_bridge kinect2_bridge.launch publish_tf:=true
 $ roslaunch rtabmap_ros rgbd_mapping_kinect2.launch resolution:="qhd"

Note also that I've just fixed the launch file for "sd" quality. There was a problem with "/kinect2/sd/image_mono_rect" not published by kinect2_bridge (where it is published in "qhd" and "hd").

cheers