Robot stops short of goal and can't reach it

In the main part of the course, the husky robot was able to reach its goal and stop. But in the course project, with the turtlebot in a much smaller environment, the robot stops short of its goal and never quite reaches it. I have been fiddling with the parameters but haven’t found the right values to enable the robot to actually reach its goal and complete the action.

Another quirk that I haven’t figured out is that if the next goal is in front of the robot, it quickly computes both a global plan and a local plan and starts toward the goal. But if the goal is behind the robot, it is only able to come up with a global plan, and starts doing rotate recovery for a while.

Hi @dblanding

This kind of behaviour of robot shows that goal tolerance is quite high, try to decrease it.
There are 3 goal tolerance parameter:

  1. /yaw_goal_tolerance (double, default: 0.05) - The tolerance, in radians, for the controller in yaw/rotation when achieving its goal.
  2. /xy_goal_tolerance (double, default: 0.10) - The tolerance, in meters, for the controller in the x and y distance when achieving a goal.
  3. /latch_xy_goal_tolerance (bool, default: false) - If goal tolerance is latched, if the robot ever reaches the goal xy location, it will simply rotate in place, even if it ends up outside the goal tolerance while it is doing so.

You can find this 3 parameter inside dwa_local_planner_params.yaml which will be inside params folder of turtlebot_navigation package .

Hope this helps you solve your problem.

Raunak Abhani