Not enough inliers, no odometry is provided

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

Not enough inliers, no odometry is provided

acp
Dear People,


I have a rgb and lidar picture set where they are loaded into a node to create the topics for the rgbd_sync, rgbd_odometry and rtabmap_ros


The lidar data is taken each 0.1 of sec whereas the rgb is taken every  second, but the data where synchronized. When I run the roslauch file I get lots of errors like:

Registration failed: "Not enough inliers 0/20 (matches=108)
RGB-D SLAM mode is enabled, memory is incremental but no odometry is provided


I can see that I have matches but not inliers, I am confused between inliers and matches.

*What is the real mening between  iliers and matches and how can I improve the inliers. Is there any parameter I can tune or I really need a better data set.


I just run rtabmap gui and it shows a 3D map in some pictures but I get weird data in rviz as you can see in the following pictures.




I also send a
rtabmap_ros
 for you to take a look at the data set. Any clue or help is appreciate it :)


 






Reply | Threaded
Open this post in threaded view
|

Re: Not enough inliers, no odometry is provided

matlabbe
Administrator
Hi,

How is the depth image created? The depth image is pretty sparse, so not many visual features would have valid depth. The matches are visual feature matching with another one in the other image (same descriptors). The inliers are visual features that were used to estimate the camera pose during RANSAC pose estimation. In general, you can have a lot of matches, of if 3D positions of those features are bad, you may end up with not inliers to accept the pose estimation.

It seems also that there is a missing optical rotation for the camera like this:
<arg name="pi/2" value="1.5707963267948966" />
<arg name="optical_rotate" value="0 0 0 -$(arg pi/2) 0 -$(arg pi/2)" />
<node pkg="tf" type="static_transform_publisher" name="camera_base_link"
        args="$(arg optical_rotate) base_link camera_link 100" /> 

Another thing, is this a dataset from a continuous trajectory or images from different places?

cheers,
Mathieu