Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

How to prevent costmap to clear obstacles that are too close for the kinect to detect?

Hi!

I am using the ROS Navigation stack to navigate through known space. The robot is equipped with a 2D Laserscanner and a Kinect.

I want to use the kinect for obstacles that are too low or too high for the laser to detect. So for the costmap I created a voxel_grid with 3 voxels. The bottom and the top layer for the kinect and the middle layer for the Laserscan. I am converting the kinects pointcloud into two laserscans before using them with costmap.

Everything works fine except for one problem: when I approach an obstacle that only the kinect can detect (e.g. a small box on the floor) it works fine until I'm too close for the kinect to detect it (I'm in the deadzone of the kinect). What happens is that the obstacle gets raytraced out and the obstacle is erased from the costmap.

I tried different approaches, such as setting the kinects "clearing" parameter to false, but then dynamic obstacles (e.g. people) are stuck in the costmap.

Is there a straightforward way to prevent costmap to raytrace out obstacles that are too close?

Thanks for your help!

How to prevent costmap to clear obstacles that are too close for the kinect to detect?

Hi!

I am using the ROS Navigation stack to navigate through known space. The robot is equipped with a 2D Laserscanner and a Kinect.

I want to use the kinect for obstacles that are too low or too high for the laser to detect. So for the costmap I created a voxel_grid with 3 voxels. The bottom and the top layer for the kinect and the middle layer for the Laserscan. I am converting the kinects pointcloud into two laserscans before using them with costmap.

Everything works fine except for one problem: when I approach an obstacle that only the kinect can detect (e.g. a small box on the floor) it works fine until I'm too close for the kinect to detect it (I'm in the deadzone of the kinect). What happens is that the obstacle gets raytraced out and the obstacle is erased from the costmap.

I tried different approaches, such as setting the kinects "clearing" parameter to false, but then dynamic obstacles (e.g. people) are stuck in the costmap.

Is there a straightforward way to prevent costmap to raytrace out obstacles that are too close?

The robot/kinect setup looks like this:

image description

Thanks for your help!