turtlebot / turtlebot_apps

A group of simple demos and exmaples to run on your TurtleBot to help you get started with ROS and TurtleBot.
http://www.ros.org/wiki/turtlebot_apps
196 stars 225 forks source link

Correct the max range to match the default for the kinect #84

Closed kbogert closed 10 years ago

kbogert commented 10 years ago

This allows empty space to be placed in the map for out of usable range scans. The default maxRange of the depthimage_to_laserscan package is 10 so this package should be updated accordingly. Without it empty space is not added to the generated map except when the turtlebot is within maxRange, which makes large spaces hard to map.

bit-pirate commented 10 years ago

I think the 8m defined so far is quite realistic for the Kinect. I don't think it can reliably detect anything at 10m. I might misunderstood your intention, but why do you want to add additional free space, if you don't know, if that space is occluded or not?

kbogert commented 10 years ago

The free space is only added to the map out to maxURange which is 6m. This occurs, for instance, if a detection happens at 7.9m. But the default settings in depthimage_to_laserscan could cause it to return valid (if noisy) measurements out to 10. Everything between 8 and 10 is just discarded at the moment, when it could be reasonably used to mark empty space on the map.

stonier commented 10 years ago

Refer also to information in this pull request https://github.com/ros-perception/depthimage_to_laserscan/pull/9

jihoonl commented 10 years ago

Agree on @bit-pirate points. 8m is already almost reaching the data reliability limit of Kinect. I think keeping reliability of data would be better than adding extra data with higher noise.

I am closing the PR. Please reopen if it needs further discussion.

kbogert commented 10 years ago

I'll let this go, but for anyone finding this issue in the future, to reliably map empty space in large rooms you have to set MaxRange (not MaxURange!) greater than the range_max parameter in turtlebot_bringup/launch/3dsensor.launch (which is by default 10 meters). You can either change the parameter in this package or that one.

jihoonl commented 10 years ago

Ok. Thanks for the information @kbogert :)