diff --git a/configuration/packages/configuring-regulated-pp.rst b/configuration/packages/configuring-regulated-pp.rst index 470f0bdea..311463f8d 100644 --- a/configuration/packages/configuring-regulated-pp.rst +++ b/configuration/packages/configuring-regulated-pp.rst @@ -244,8 +244,6 @@ Regulated Pure Pursuit Parameters Description Enables the robot to drive in the reverse direction, when the path planned involves reversing (which is represented by orientation cusps). Variants of the smac_planner comes with the support of reversing. Checkout the :ref:`configuring_smac_planner` to know more. - Note: both ``use_rotate_to_heading`` and ``allow_reversing`` cannot be set to ``true`` at the same time as it would result in ambiguous situations. - :rotate_to_heading_min_angle: ============== ============================= @@ -279,6 +277,19 @@ Regulated Pure Pursuit Parameters Description Upper bound on integrated distance along the global plan to search for the closest pose to the robot pose. This should be left as the default unless there are paths with loops and intersections that do not leave the local costmap, in which case making this value smaller is necessary to prevent shortcutting. If set to ``-1``, it will use the maximum distance possible to search every point on the path for the nearest path point. +:interpolate_curvature_after_goal: + + ============== ============================= + Type Default + -------------- ----------------------------- + bool false + ============== ============================= + + Description + Interpolate a carrot after the goal dedicated to the curvate calculation (to avoid oscilaltions at the end of the path). For visualization, it will be published on the ``/curvature_lookahead_point`` topic similarly to ``/lookahead_point`` + + Note: Needs ``use_fixed_curvature_lookahead`` to be ``true`` + Example ******* .. code-block:: yaml diff --git a/migration/Iron.rst b/migration/Iron.rst index 287c2f114..64ab13870 100644 --- a/migration/Iron.rst +++ b/migration/Iron.rst @@ -255,6 +255,18 @@ In this case, the `FollowPath` is the default controller_id. The difference betw .. attention:: If a server is unavailable, then the combo box or the drop down list of the particular component will be empty. +RPP new optional ``interpolate_curvature_after_goal`` behavior and fix conflict between ``use_rotate_to_heading`` and ``allow_reversing`` +***************************************************************************************************************************************** + +`In PR #4140 `_ a new optional ``interpolate_curvature_after_goal`` parameter (default ``false``) was added that activates the interpolation of a carrot after the goal in order to maintain a constant curvature lookahead distance. This is to avoid instabilities at the end of the path on the generation of the angular speed. The carrot used for the linear speed computation stays the same. + +Interpolation is based on the orientation of the vector formed by the last 2 poses of the path. Hence paths of length 1 are rejected when ``interpolate_curvature_after_goal`` is ``true``. It can be used only when ``use_fixed_curvature_lookahead: true``. + +.. image:: images/rpp_goal_lookahead_interpolate.gif + :width: 45% + +Additionally, the conflict between ``use_rotate_to_heading` and ``allow_reversing`` was fixed so ``use_rotate_to_heading`` can now be used backward. + Cancel Checker Interface For GlobalPlanner ******************************************* `PR #4148 `_ introduces a new interface for the ``GlobalPlanner`` to allow for the cancellation of the current planning task. diff --git a/migration/images/rpp_goal_lookahead_interpolate.gif b/migration/images/rpp_goal_lookahead_interpolate.gif new file mode 100644 index 000000000..251f039f4 Binary files /dev/null and b/migration/images/rpp_goal_lookahead_interpolate.gif differ