diff --git a/configuration/packages/bt-plugins/conditions/IsWithinPathTrackingBounds.rst b/configuration/packages/bt-plugins/conditions/IsWithinPathTrackingBounds.rst new file mode 100644 index 0000000000..46facf212f --- /dev/null +++ b/configuration/packages/bt-plugins/conditions/IsWithinPathTrackingBounds.rst @@ -0,0 +1,60 @@ +.. _bt_is_within_path_tracking_bounds_condition: + +IsWithinPathTrackingBounds +========================== + +Checks if the robot is within determined tracking error bounds during path following. + +Input Ports +----------- + +:max_error_left: + + ====== ======= + Type Default + ------ ------- + double 0.5 + ====== ======= + + Description + Maximum allowable tracking error (m) on the left side of the path before returning FAILURE. Must be a positive value. + +:max_error_right: + + ====== ======= + Type Default + ------ ------- + double 0.5 + ====== ======= + + Description + Maximum allowable tracking error (m) on the right side of the path before returning FAILURE. Must be a positive value. + +:max_error_heading: + + ====== ======= + Type Default + ------ ------- + double 3.14 + ====== ======= + + Description + Maximum allowable heading error (rad) before returning FAILURE. Must be a positive value. + +:tracking_feedback: + + ==================================== ======== + Type Default + ------------------------------------ -------- + nav2_msgs::msg::PathTrackingFeedback N/A + ==================================== ======== + + Description + Generally, the feedback message from the controller server, which contains the current tracking error information. Though, it may be populated by another source or topic if need be. + +Example +------- + +.. code-block:: xml + + diff --git a/configuration/packages/configuring-bt-xml.rst b/configuration/packages/configuring-bt-xml.rst index 2d1ac9bada..deae292e02 100644 --- a/configuration/packages/configuring-bt-xml.rst +++ b/configuration/packages/configuring-bt-xml.rst @@ -87,6 +87,7 @@ Condition Plugins bt-plugins/conditions/IsBatteryLow.rst bt-plugins/conditions/IsPathValid.rst bt-plugins/conditions/IsPoseOccupied.rst + bt-plugins/conditions/IsWithinPathTrackingBounds.rst bt-plugins/conditions/PathExpiringTimer.rst bt-plugins/conditions/AreErrorCodesPresent.rst bt-plugins/conditions/WouldAControllerRecoveryHelp.rst diff --git a/migration/Kilted.rst b/migration/Kilted.rst index 25da7581c4..1d5e867e6a 100644 --- a/migration/Kilted.rst +++ b/migration/Kilted.rst @@ -808,3 +808,8 @@ New bt_log_idle_transitions parameter in bt_navigator ----------------------------------------------------- In `PR 5963 `_, A new ``bt_log_idle_transitions`` parameter has been added to the BT navigator. When set to ``true`` (default), idle (no state change) transitions in the behavior tree are published to the ``/behavior_tree_log`` topic and console output. When ``false``, only state changes are logged, reducing topic and console noise. This is useful for debugging behavior tree execution without being overwhelmed by repetitive idle tick messages. + +New IsWithinPathTrackingBounds Node +----------------------------------- + +In `PR 5983 `_, a new behavior tree node, ``IsWithinPathTrackingBounds``, was added to check if the robot is within specified bounds of the path for tracking purposes. See the `demo `_ for an example of how to use this node in a behavior tree. diff --git a/plugins/index.rst b/plugins/index.rst index 8060628c17..78f7cffa83 100644 --- a/plugins/index.rst +++ b/plugins/index.rst @@ -623,6 +623,10 @@ Behavior Tree Nodes | | | near the goal based on | | | | remaining path length. | +------------------------------------+--------------------+------------------------+ +| `Is Within Path Tracking Bounds | Berkan Tali | Checks if the robot is | +| Condition`_ | | within bounds for | +| | | path tracking. | ++------------------------------------+--------------------+------------------------+ .. _Goal Reached Condition: https://github.com/ros-navigation/navigation2/tree/main/nav2_behavior_tree/plugins/condition/goal_reached_condition.cpp .. _Goal Updated Condition: https://github.com/ros-navigation/navigation2/tree/main/nav2_behavior_tree/plugins/condition/goal_updated_condition.cpp @@ -645,6 +649,7 @@ Behavior Tree Nodes .. _Are Poses Near Condition: https://github.com/ros-navigation/navigation2/tree/main/nav2_behavior_tree/plugins/condition/are_poses_near_condition.cpp .. _Is Pose Occupied Condition: https://github.com/ros-navigation/navigation2/tree/main/nav2_behavior_tree/plugins/condition/is_pose_occupied_condition.cpp .. _Is Goal Nearby Condition: https://github.com/ros-navigation/navigation2/tree/main/nav2_behavior_tree/plugins/condition/is_goal_nearby_condition.cpp +.. _Is Within Path Tracking Bounds Condition: https://github.com/ros-navigation/navigation2/tree/main/nav2_behavior_tree/plugins/condition/is_within_path_tracking_bounds_condition.cpp +--------------------------+---------------------+----------------------------------+ | Decorator Plugin Name | Creator | Description |