# Limiting depth kinect sees in rgbdslam?

Is there any way I can limit the depth to which I record data in rgbdslam? What I mean by this is, I don't want to accumulate points that are far away from the camera.

My main goal is to use rgbdslam to scan objects, but it involves a lot of human post-processing to isolate the object and the file sizes are very big. It would be nice if there was a way I could reduce the human element and reduce the size of these point clouds altogether.

Is there any way this can be done while recording data online? Or is the only way to do this is to scan the pcd file after wards and remove points that are far away (have a high (x^2 + y^2 + z^2)^.5 value).

edit retag close merge delete

Sort by » oldest newest most voted

How about adding a pcl_ros/PassThrough nodelet? I haven't used the RGBDslam since it first came out, but I would think you should be able to remap the input topic of RGBDslam to the output of the PassThrough filter, which can be setup to limit the Z-height (depth) of the cloud.

There is a very brief tutorial on PassThrough filter on the wiki: http://www.ros.org/wiki/pcl_ros/Tutorials/PassThrough%20filtering

more

Thanks Raph and Fergs, I'll look at those and see what happens.

I just updated to the most recent version of rgbdslam and I noticed there is already a "depth limiting" parameter in the new GUI. Is this exactly what I'm looking for?

-Shark

more

Hello Shark,

You can use a pass-through filter for that.

Check the nodelets in pcl, I remember using one for that. You can find it in the filters folder of pcl_ros.

You can use it to filer out point that are not between distance A and B on a particular axis.If you wish to filter on more that one axis, simply pipe several nodelets, each parametrized on a different axis.

If you feel more like doing it in a normal node, check this complete tutorial here.

Hope it helps

Raph

more

That's kind of unfamiliar territory for me. Are there any specific tutorials that would be best for learning something like this?

more

There may be a better (read: faster) way to do this, but:

You could write a republishing node that sits between your kinect driver and the rgbdslam node; it listens for pointclouds, scrubs out the points you don't want, and republishes them. Some careful use of <remap> tags in your launchfile would make this pretty easy to plumb together.

more

I just updated to the most recent version of rgbdslam and I noticed there is already a "depth limiting" parameter in the new GUI. Is this exactly what I'm looking for?

Depends. It does prevent the storage of far points in the combined point cloud file. It doesn't prevent capturing those points and using them for feature matching, though.

more