Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Performance of Algorithms doing slam with kinect

Hello everyone

I wanted to ask a question about slam and kinect.

I will first describe my problem and then talk about some possible problems.

If anyone has some insight on whether I might be doing something wrong please give me a hint.

I have been trying to benchmark this kind of application and so far I have encountered these two packages

rgbdslam http://www.ros.org/wiki/rgbdslam

modular_cloud_matcher http://www.ros.org/wiki/modular_cloud_matcher

I was able to test them both running live with 2 different kinects, in different indoor environments.

From my tests, it seems that the slam does not work very good.

In one case, using rgbdslam, one time I was with the kinect facing a wall (with texture), the first point cloud was drawn in a plane, the second point cloud (from the same wall) was drawn in a different plane, oblique to the first.

Another case, using modular_cloud matcher, I had the kinect standing still looking at a scene, and the output transformation said that the kinect was moving about 5 centimeters everywhere.

In sum, for some reason I don't seem to be able to get the kind of performance that both these packages show in their demo videos. The performance I get from these packages is considerably lower than for example the performance shown in both these videos.

http://www.youtube.com/watch?feature=player_embedded&v=McxpJGOZTPs

or

http://www.youtube.com/watch?v=9IdSTbPch5k

Possible reasons for this, my thoughts were:

  1. Problem with the kinect (shouldn't be, since I tried out two of them)

  2. Calibration of the kinect (I thought of this and I calibrated both the rgb and ir cameras using the instructioon from http://www.ros.org/wiki/openni_launch/Tutorials/IntrinsicCalibration. There was no significant change in the performance)

  3. This is my last guess. My computer is very slow (it actually is a good laptop, 2.5 quadcore, about 3 year old).

My guess is that since these slam algorithms try to find correspondences to infer the transformation, perhaps because my computer is slow, the frames they compare end up having a small overlap. Could this be a problem? To try to solve this, I have tried to move the kinect around very slowly, still with no better results.

If anyone can give me some help I would appreciate.

Thanks

Miguel