One of the methods the driver uses to decide when to stop driving forward is calculating whether it's at the goal location yet. For the at_goal test, it assumes it's reached the goal as soon as the rover is within GOAL_DISTANCE_OK / 2 meters.
If the rover is driving slow and only a short distance:
the at_goal test is most likely to stop the rover, because it probably won't have accumulated a very large goal_angle during a short drive
it won't coast very far after the PID stop command goes out
This means the rover will usually stop short by GOAL_DISTANCE_OK / 2 meters, or ~5cm given the current parameter value (0.1 m).
Since the driver has two methods of deciding whether it should stop, it might be useful to reduce GOAL_DISTANCE_OK to something like 0.05.
One of the methods the driver uses to decide when to stop driving forward is calculating whether it's at the goal location yet. For the at_goal test, it assumes it's reached the goal as soon as the rover is within
GOAL_DISTANCE_OK / 2
meters.If the rover is driving slow and only a short distance:
goal_angle
during a short driveThis means the rover will usually stop short by
GOAL_DISTANCE_OK / 2
meters, or ~5cm given the current parameter value (0.1 m).Since the driver has two methods of deciding whether it should stop, it might be useful to reduce
GOAL_DISTANCE_OK
to something like 0.05.