ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
2

Kinect obstacle avoidance: moving obstacles don't clear

asked 2011-10-12 04:56:39 -0500

xylo gravatar image

updated 2016-10-24 09:02:42 -0500

ngrennan gravatar image

I'm using a sick laser (lms-200) and a kinect camera as my sensors, mounted on a pioneer 3-at. I'm running ros diamondback on ubuntu 10.10, running amcl with the nav stack.

I use both point cloud and laser scan for obstacle avoidance. In rviz, I can see the registered local obstacles through the topic /move_base_node/local_costmap/obstacles. The moving obstacles sensed from point cloud do not clear in rviz, even when they move outside the field of view. This way move_base thinks the obstacles are still there and tries to avoid the non-existent obstacles. Does anyone know how to clear them? Thanks a lot in advance!

Here are the related parameters in my nav stack.

In costmap_common_params:

point_cloud: {sensor_frame: openni_camera, data_type: PointCloud2, topic: /camera/depth/points, expected_update_rate: 5.0, observation_persistence: 0.0, marking: true, clearing: true, min_obstacle_height: 0.05, max_obstacle_height: 1.0}

In local_costmap_params:

update_frequency: 5; publish_frequency: 1; static_map: false; rolling_window: true

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2011-10-13 04:54:59 -0500

eitan gravatar image

Using the raw cloud from the Kinect passes a ton of points to the navigation stack for it to ray-trace when clearing. A couple of questions:

1) Have you considered downsampling the point cloud a bit to a more reasonable resolution, something like 1-5mm?

2) Are you seeing any warnings or errors from the navigation stack when you run?

3) Are you sure that there is enough information in the cloud you're passing to the navigation stack to allow it to clear obstacles through raytracing? Specifically, you'll want to check whether or not you have a lot of missing depth readings from the sensor which you'd probably need to fill in artificially for things to work well.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2011-10-12 04:56:39 -0500

Seen: 1,183 times

Last updated: Oct 13 '11