Nav2 Goal Rotation Issue

I am facing a problem with my differential-drive robot navigation using ROS2 Humble Nav2.

One channel if my motor driver for backward motion is not working, so I disconnected the backward command. Because of this, the robot can only move forward and turn left/right. it cannot physically move backward.

The robot can navigate with Nav2 and it reaches close to the destination, but when it gets near the goal, it keeps rotating/turning many times before stopping. I think Nav2 might be trying to match the exact final pose/orientation, but for my application I do not need it to be exact.

What I want is for the robot to stop once it is close enough to the destination and roughly facing the correct direction. I want to avoid the repeated turning/spinning near the goal because it makes the movement unstable.

Could this be solved by tuning Nav2 parameters, or could the issue be caused by something else? If it is a tuning issue, which parameters or parts of Nav2 should I focus on ?

Hi @jsh,

Yes, this is likely a Nav2 tuning issue combined with the fact that the robot cannot move backward.

First, make sure your Nav2 controller/planner is not generating reverse motion. Depending on the controller, there are usually settings to disable backward motion or use forward-only behavior.

The spinning near the goal is also commonly caused by strict final orientation matching. I would try increasing xy_goal_tolerance and yaw_goal_tolerance.

Best,
Jason