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

Revision history [back]

click to hide/show revision 1
initial version

The local planner may be able to avoid some obstacles, but it won't be able to avoid all of them. When it encounters an situation where it cannot make forward progress, it will abort and the global planner will be asked to re-plan. When this happens you'll see DWA Planner failed to produce a path and Got new plan messages. In this circumstance, your global planner should generate a new global plan that avoids the obstacle. If you have your costmaps set up correctly, move_base will update both the global and local costmaps with the obstacle, and when the global planner is called to produce a new plan, it will get the updated global costmap that has the new obstacles in it.

From your video, it looks like you may have some issues with your local planner configuration. I see two behaviors that both look like configuration issues:

  • Around 0:12 to 0:33, the Husky rotates back and forth in place while trying to get around the obstacle. It looks like the local planner may be trying to command a combination of strafing and angular velocity, but since the husky cannot move sideways it only executes and angular part of the motion.
  • From 1:04 to the end of the video, it looks like the Husky is near the goal and is trying to achieve the goal position more accurately. Again, it may be trying to execute a strafing maneuver.

I would start by ploting the fields in the cmd_vel topic to see what commands are sent, particularly when the robot is stuck.

Since ClearPath provides a local planner configuration for the Husky, I would try to find that configuration and use it. I suspect that will solve most of your issues. If you need to do more troubleshooting, I would start by checking the holonomic field in the configuration (make sure it's turned off) and then tune the linear and angular velocity control parameters.