Currently, StoppedGoalChecker checks if the linear X & Y velocity are less then the threshold set to consider the robot as stopped. Instead of checking linear X and Y separately it is more intuitive to check if the speed (i.e. combined X & Y velocity) is less than the threshold.
Expected behavior
The robot should be consider as stopped if the speed is within the set threshold and not the individual X & Y velocity.
Actual behavior
The robot is considered as stopped if the either of the linear X or Y velocity is within the threshold.
Additional information
https://github.com/ros-planning/navigation2/blob/db4193fd87dbd9ffc12237f47814704793ec405b/nav2_dwb_controller/dwb_plugins/src/stopped_goal_checker.cpp#L77-L79