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

What is the best way to clear robot elements from costmap or laserScan data

asked 2016-12-29 01:36:41 -0600

Rr gravatar image

updated 2016-12-29 01:38:48 -0600

I have big robot with 360-degree LIDAR. LIDAR is set in a way, that some robot construction elements are on the LaserScan data. Thus they are at costmap. So robot become an obstacle for itself :-)

I think, I should be common problem, but I don't know the simple way to address this. Should I substitute LaserScan values for certain angles, at witch it sees itself to inf? Or I must separate 1 360-degree scan to 4 separate scans, that eliminating the problem angles? Or I need in some way configure costmap? Actually, robot elements are inside footprint and must be cleared?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2016-12-29 06:19:07 -0600

gvdhoorn gravatar image

I don't know about the 'best way', but two options I can come up with:

  • see if laser_filters in laser_pipeline can do something for you (probably distance based, ie: everything < 0.4m is the robot itself)
  • more complex: searching around it seems the Making collision maps from self-filtered laser data tutorial seems to do what you want, but then in 3D. After converting laser scans to PointClouds, it uses robot_self_filter amongst other things to filter out robot geometry based on the URDF and the robot's state (ie: TF). That will probably be more resource intensive, but could be much more precise

I'm not sure how much of an assumption on things being 3D there is in the last option, so that would be something to check.

edit flag offensive delete link more

Question Tools


Asked: 2016-12-29 01:36:41 -0600

Seen: 431 times

Last updated: Dec 29 '16