Local planner DWA not working

Hi all!

I have a question regarding the local planner in the real robot lab of the Navigation in 5 days course.

I am working on point 3 where I am asked to implement the move_base launch file and the path planning for the turtlebot.

The global planner seems to be working fine, since in Rviz I can visualize the path calculated. But the local planner returns the following error in the console after sending a goal using the Nav 2d send goal tool of rviz:

[ INFO] [1640830338.578965931, 5020.293000000]: Got new plan
[ WARN] [1640830338.580603832, 5020.293000000]: DWA planner failed to produce path.
[ INFO] [1640830338.956512283, 5020.494000000]: Got new plan
[ WARN] [1640830338.958230667, 5020.496000000]: DWA planner failed to produce path.
[ INFO] [1640830339.351365122, 5020.694000000]: Got new plan
[ WARN] [1640830339.353098334, 5020.694000000]: DWA planner failed to produce path.

After a while, the systems starts the recovery actions but the next message prompts in the console:

[ WARN] [1640830268.861502417, 4981.508000000]: Rotate recovery behavior started.
[ERROR] [1640830268.861638724, 4981.508000000]: Rotate recovery can’t rotate in place because there is a potential collision. Cost: -1.00
[ INFO] [1640830269.550177849, 4981.925000000]: Got new plan
[ WARN] [1640830269.552023979, 4981.925000000]: DWA planner failed to produce path.
[ WARN] [1640830269.860818599, 4982.108000000]: Clearing both costmaps to unstuck robot (1.84m).

However, I can’t make it work.
I attach the rviz environment and the launch file with the move_base_launcher.launch file:


<launch>

  <!--- Run AMCL -->

  <include file="$(find my_turtlebot_localization)/launch/my_turtlebot_localization.launch" />

  <!-- Run move_base -->

  <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">

    <rosparam file="$(find my_turtlebot_path_planning)/config/move_base_params.yaml" command="load" />

    <rosparam file="$(find my_turtlebot_path_planning)/config/costmap_common_params.yaml" command="load" ns="global_costmap" />

    <rosparam file="$(find my_turtlebot_path_planning)/config/costmap_common_params.yaml" command="load" ns="local_costmap" />

    <rosparam file="$(find my_turtlebot_path_planning)/config/local_costmap_params.yaml" command="load" />

    <param name="local_costmap/width" value="4.0"/>

    <param name="local_costmap/height" value="4.0"/>

    <rosparam file="$(find my_turtlebot_path_planning)/config/global_costmap_params_map.yaml" command="load" />

  </node>

</launch>

I will appreciate your help.
Thank you!!

Hi, does this happen only when you are connected to the real robot? If so, have you made sure that you are connected and you see both /scan and /odom?

If it happens in the simulation, then I suggest restarting the navigation stack with the default parameters.
It seems like move_base thinks there is a collision and that is why it is not moving. You could try reducing parameters related to the costmaps, like the inflation radius, to see if the error is with the obstacles seen or the actual local planner.

Hi,
although this is already too ancient, but I meet with the same problem, dwa planner doesn’t work in simulation. What strange is that it works previously but after some time it doesn’t. I didn’t even change anything.