Ask Your Question
0

Checking robot footprint for collision with the environment

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

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 -0500

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

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

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

Seen: 551 times

Last updated: Aug 22 '11