Skip to content

Commit

Permalink
Docs for PR4332 (#4289) (#561)
Browse files Browse the repository at this point in the history
* Docs for PR4332 (#4289)

* docs for rotate_to_goal_heading parameter

Signed-off-by: Antoine Gennart <[email protected]>

* Update migration/Iron.rst

Signed-off-by: Steve Macenski <[email protected]>

---------

Signed-off-by: Antoine Gennart <[email protected]>
Signed-off-by: Steve Macenski <[email protected]>
Co-authored-by: Steve Macenski <[email protected]>
  • Loading branch information
gennartan and SteveMacenski authored May 29, 2024
1 parent b6fa7b4 commit 77f5255
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
14 changes: 14 additions & 0 deletions configuration/packages/configuring-rotation-shim-controller.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ Source code on Github_.

The ``nav2_rotation_shim_controller`` will check the rough heading difference with respect to the robot and a newly received path. If within a threshold, it will pass the request onto the ``primary_controller`` to execute the task. If it is outside of the threshold, this controller will rotate the robot in place towards that path heading. Once it is within the tolerance, it will then pass off control-execution from this rotation shim controller onto the primary controller plugin. At this point, the robot's main plugin will take control for a smooth hand off into the task.

When the ``rotate_to_goal_heading`` parameter is set to true, this controller is also able to take back control of the robot when reaching the XY goal tolerance of the goal checker. In this case, the robot will rotate towards the goal heading until the goal checker validate the goal and ends the current navigation task.

The ``RotationShimController`` is most suitable for:

- Robots that can rotate in place, such as differential and omnidirectional robots.
Expand Down Expand Up @@ -94,6 +96,17 @@ Rotation Shim Controller Parameters
Description
Time in seconds to forward simulate a rotation command to check for collisions. If a collision is found, forwards control back to the primary controller plugin.

:rotate_to_goal_heading:

============== =============================
Type Default
-------------- -----------------------------
bool false
============== =============================

Description
If true, the rotationShimController will take back control of the robot when in XY tolerance of the goal and start rotating towards the goal heading.

Example
*******
.. code-block:: yaml
Expand Down Expand Up @@ -126,6 +139,7 @@ Example
rotate_to_heading_angular_vel: 1.8
max_angular_accel: 3.2
simulate_ahead_time: 1.0
rotate_to_goal_heading: false
# Primary controller params can be placed here below
# ...
4 changes: 4 additions & 0 deletions migration/Iron.rst
Original file line number Diff line number Diff line change
Expand Up @@ -352,3 +352,7 @@ Lifecycle Node: added bond_heartbeat_period parameter (and allow disabling the b
**********************************************************************************************

`PR #4342 <https://github.com/ros-planning/navigation2/pull/4342>`_ adds the parameter ``bond_heartbeat_period`` to the lifecycle nodes to customize the bond mechanism publishing period (on the ``/bond`` topic). Default value unchanged to 0.1s. Disabled if inferior or equal to 0.0.

Rotation Shim Controller: new parameter ``rotate_to_goal_heading``
******************************************************************
`PR #4332 <https://github.com/ros-planning/navigation2/pull/4332>`_ introduces usage of parameter ``rotate_to_goal_heading`` for the rotation shim controller. It allows the rotation shim controller to take back control when reaching the XY goal tolerance to perform a clean rotation towards the goal heading. Some controllers will do this internally, but it is a useful option for others.

0 comments on commit 77f5255

Please sign in to comment.