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

Checking robot footprint for collision with the environment

asked 2011-08-21 19:25:38 -0600

Hi,

I would like to evaluate if a larger set of robot base poses (maybe 200-300) is in collision. More specifically, I would like to know if the robot footprint is in collision with the environment. I do not need to make a motion plan.

Has anyone done that before? I have been reading through the tutorials, especially those of the navigation stack but have not found anything suitable.

Right now, my best guess of how that could be accomplished is through adding a service to the move_base node in the navigation stack, as all required information is available there. However, I think this would mean changing a lot of the code (the move_base node, the base_global_planner interface in nav_core, etc.)

So if anyone has a suggestion for another or easier solution, please let me know.

Cheers,

Juergen

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2011-08-22 06:05:16 -0600

eitan gravatar image

The base_local_planner::CostmapModel will help you do these footprint checks pretty easily. You can check out the documentation here. Basically, you'll create the CostmapModel object by passing it a reference to a costmap_2d::Costmap2D object, and then call footprintCost on it. If the cost is negative, that footprint position is in collision with an object. I should also mention that this is the internal API of the navigation stack, so stability isn't guaranteed, but things haven't changed with that code in awhile so you should probably be OK.

edit flag offensive delete link more

Question Tools

Stats

Asked: 2011-08-21 19:25:38 -0600

Seen: 1,159 times

Last updated: Aug 22 '11