DLu / navigation_layers

156 stars 136 forks source link

Understanding social navigation layer's proxemic layer's interactions with global and local planners #83

Open RohanDwivedi opened 3 years ago

RohanDwivedi commented 3 years ago

Hi @DLu can you shed some light on this please: why it seems that obstacles marked with social navigation layer have to be marked on both local and global cost maps for their respective planners to avoid passing through them?

In our setup before adding the social navigation layer, we were successfully able to add range sensor layer to only local cost map and achieve complete avoidance behavior but that does not seem to be the case with social navigation layer.

We are publishing fake obstacle (people msgs) to the /people topic and are able to get it marked on the cost map (both global and local) but when the plugin is only added to either global or local cost map the robot fails to avoid the obstacle.

No avoidance when plugin in just local costmap: Screenshot from 2021-10-22 14-06-19

No avoidance when plugin in just global costmap: Screenshot from 2021-10-22 14-11-05 Screenshot from 2021-10-22 14-11-11 Screenshot from 2021-10-22 14-11-13

Best avodiance behavior when proxemic layer plugin is added to both global and local costmaps: Screenshot from 2021-10-22 14-24-03 Screenshot from 2021-10-22 14-24-08 Screenshot from 2021-10-22 14-24-16

Only when the obstacle is added to both layers does the global path plan around the obstacle. The issue with this behavior is that since people are dynamic, they may appear and disappear frequently, therefore, they need to be avoided by local planner if and when they suddenly appear or disappear in the global path, rather than plan ahead from the global path as is happening now.

This is my parameter setup Screenshot from 2021-10-22 14-26-13

Also See: https://answers.ros.org/question/265468/local-planner-ignores-collision-with-humans-in-social-navigation-layers/ and https://answers.ros.org/question/209409/can-social_navigation_layer-be-used-in-local-avoidance-by-dwa/ as well for more information on what the problem is.