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

DWA fails to produce a plan when the local goal is in dynamic obstacle

asked 2021-03-09 09:00:33 -0600

Yehor gravatar image

updated 2021-03-10 04:05:54 -0600

Hello, one more problem

While using DWA I faced the error when local planner can't produce control command when the local goal is detected in dynamic obstacle. I mean the the last point of the path in the local costmap is in the dynamic obstacle.

Does anyone has a solution?


image description


image description

edit retag flag offensive close merge delete


I fail to understand the problem. If obstacle is detected at the goal pose, obviously it would not be able to plan a path.

parzival gravatar image parzival  ( 2021-03-09 09:25:31 -0600 )edit

@parzival Imagine that the global goal where the robot should move is free of obstacle, but on the local costmap which is 3X3 meters in my configuration there is a dynamic obstacle on the generated path. And this obstacle is in the end of the local map (it is in the border of local costmap). So the robot should start moving towards the global goal, avoid obstacle and move next, but instead the planner response with fail to find path. So the planer consider the local goal unreachable because of the dynamic obstacle.

Yehor gravatar image Yehor  ( 2021-03-09 09:41:39 -0600 )edit

@parzival I have added a screen to represent my situation

Yehor gravatar image Yehor  ( 2021-03-10 01:23:35 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2021-03-10 03:52:49 -0600

Yehor gravatar image

updated 2021-03-10 04:04:50 -0600

The problem ,as I understood, is that the global planner didn't know anything about Obstacles in obstacle layer. So when I use default layering and comment the plugin explicit specification the robot starts avoid it and build the path correctly.

However I found a very strange problem and I can't figure out why is that happening. When I explicitly specify the plugins for each costmap they work very bad. The local costmap reduce the inflation to almost 0, while the inflation in the global costmap is ok (both of them use the same inflation layer). But when I let the navigation stack to use plugins auto costmaps work ok.

I think there are still luck of documentation in 2021 how to use plugins with costmaps(

On the EDIT 2 I displayed the problem. This happened only when I specify plugins explicitly like:

  - {name: static_layer,           type: "costmap_2d::StaticLayer"}
  - {name: inflation_layer,        type: "costmap_2d::InflationLayer"}
  - {name: obstacle_layer,         type: "costmap_2d::VoxelLayer"}
edit flag offensive delete link more



I found the problem. The problem was that the plugin connecting order matters. You have to connect Obstacle layers firstly and then inflate that layer.

Yehor gravatar image Yehor  ( 2021-03-10 05:06:04 -0600 )edit

Question Tools

1 follower


Asked: 2021-03-09 09:00:33 -0600

Seen: 357 times

Last updated: Mar 10 '21