Robotics StackExchange | Archived questions

Local planner ignores collision with humans in social navigation layers

Hi guys,

I have implemented the social navigation proxemic layer as described in wiki/socialnavigationlayers and also on top of that a layer on my own based on human intention.

I use a virtual detected human as described here humanawarenavigation/people_detection, and assign the social costmaps around him.

When considering the layers both in global and local costmap yaml files the robot path is successfully created around these maps. However, when I include the layers only in the local costmap, although the costmap layers are visible (in the correct positions), the local planner does not take the layers into account and the robot path traverses through it.

I already checked the solution described here #q209409 but without any result. Do you have any suggestions on what could be wrong?

Could it be that the human is virtual (namely known people_msgs) and the laser does not track him physically?

Thanks in advance for your help.

Asked by dmkarage on 2017-07-05 07:44:45 UTC

Comments

May I suggest a title change? The problem seems to be that the planner is ignoring collision obstacles, which in this case happen to come from a specific plugin.

Asked by gvdhoorn on 2017-07-06 03:24:29 UTC

I changed the title. Please feel free to propose any new modification :)

Asked by dmkarage on 2017-07-06 03:37:38 UTC

Answers

Generally, whenever DWA local planner detects an obstacle it stops the robot and move_base sends control to the global planner to replan. In your case there is no People layer in Global Costmap, so obstacles are not generated in global costmap. This results in global planner to plan path through the obstacle and the cycle continues. So you should have all the obstacle layers in both local and global costmaps.

Asked by Dharmateja Kadem on 2018-05-22 21:23:00 UTC

Comments

This is definitely not true. I stumbled upon this page looking for a solution for the same issue, but I can say for sure that not all layers have to be in both global and local cost-maps for them to work correctly. My argument is based on results obtained experimenting with my own setup. The explanation here seems to be based on a incorrect conjecture. There is a local plan and a global plan, and each cost map affect these plans respectively; so if a object is not present on the local cost map it doesn't change the local plan and same for the global plan. The goal of the local plan is to follow the global plan as closely as possible.

I felt the need to add this: The social layer seems to be a special case for the behavior @Dharmateja Kadem describes maybe @David Lu the author of this package throw some light on it?

Asked by Rohan-D on 2021-10-22 07:29:39 UTC

cross referencing github issue I just opened https://github.com/DLu/navigation_layers/issues/83

Asked by Rohan-D on 2021-10-22 08:59:43 UTC