Skip to content

RotationShimController does not rotate when goal is closer than forward_sampling_distance #4281

@gennartan

Description

@gennartan

Bug report

Required Info:

  • Operating System: Ubuntu 20.04
  • ROS2 Version: Iron
  • Version or commit hash: ros-iron-nav2-rotation-shim-controller 1.2.6-1jammy.20240213.190815
  • DDS implementation: /

Steps to reproduce issue

1- Send a goal to the controller closer than forward_sampling_distance
2- Done, the robot does not rotate towards the goal.

Expected behavior

If the path is smaller than forward_sampling_distance, the robot should rotate towards the last point of the path.

Actual behavior

If the new goal is not in front of the robot, the robot motion will be as described in nav2 documentation. The result is an awkward, stuttering, or whipping around behavior often resulting in a goal failure.

Additional information

  • I also tried to reduce the forward_sampling_distance to the xy_goal_tolerance to ensure that the goal is validated when it is too close and avoid this akward behavior. This also failed because the requested orientation when starting navigation toward a new goal was too random.
  • I am ready to solve this problem by creating a PR. But I first wanted to be sure that this could be a wanted behavior of this controller.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions