From b13e2002ac61186119850df54f4aaa0b6f4d27e9 Mon Sep 17 00:00:00 2001 From: Mike Wake Date: Sat, 31 Aug 2024 20:02:37 +1000 Subject: [PATCH] Trim trailing whitespace --- ...v_to_pose_and_pause_near_goal_obstacle.rst | 30 ++++++++-------- .../actions/ComputeCoveragePath.rst | 26 +++++++------- .../actions/ComputePathThroughPoses.rst | 20 +++++------ .../bt-plugins/actions/ComputePathToPose.rst | 20 +++++------ .../packages/bt-plugins/actions/DockRobot.rst | 2 +- .../bt-plugins/actions/DriveOnHeading.rst | 2 +- .../bt-plugins/actions/FollowPath.rst | 14 ++++---- .../actions/NavigateThroughPoses.rst | 12 +++---- .../bt-plugins/actions/NavigateToPose.rst | 12 +++---- .../packages/bt-plugins/actions/Smooth.rst | 12 +++---- .../packages/bt-plugins/actions/Spin.rst | 2 +- .../bt-plugins/actions/UndockRobot.rst | 2 +- migration/Humble.rst | 34 +++++++++---------- tutorials/docs/adding_a_nav2_task_server.rst | 6 ++-- tutorials/docs/adding_smoother.rst | 6 ++-- 15 files changed, 100 insertions(+), 100 deletions(-) diff --git a/behavior_trees/trees/nav_to_pose_and_pause_near_goal_obstacle.rst b/behavior_trees/trees/nav_to_pose_and_pause_near_goal_obstacle.rst index 204d5e6e5..fcff2382f 100644 --- a/behavior_trees/trees/nav_to_pose_and_pause_near_goal_obstacle.rst +++ b/behavior_trees/trees/nav_to_pose_and_pause_near_goal_obstacle.rst @@ -1,38 +1,38 @@ Navigate To Pose and Pause Near Goal-Obstacle ############################################# -.. note:: As a prerequisite, we encourage the users to go through the `Behavior Tree documentation `_, which explains about different behaviors nodes used in these trees such as ``ReactiveSequence``, ``SequenceStar`` and ``RetryUntilSucessfull``. +.. note:: As a prerequisite, we encourage the users to go through the `Behavior Tree documentation `_, which explains about different behaviors nodes used in these trees such as ``ReactiveSequence``, ``SequenceStar`` and ``RetryUntilSucessfull``. -This behavior tree is a soft extension to the :ref:`behavior_tree_nav_to_pose`. +This behavior tree is a soft extension to the :ref:`behavior_tree_nav_to_pose`. Apart from the functionalities of :ref:`behavior_tree_nav_to_pose`, this behavior tree allows the robot to efficiently handle an obstacle (e.g. forklift, person, or other temporary obstacles) close to the goal by pausing the robot's navigation and wait for a user-specified time to check if the obstacle has cleared. If the obstacle has moved during the waiting time, the robot will continue to the goal taking the shorter path. If the obstacle has not moved during the waiting time or the waiting time expires, then the robot will use the longer path around to reach the final goal location. -Ultimately, for a given task, this behavior tree aids in solving the problem of long cycle time, which is caused because of the long path generated due to the temporary obstacles present close to the goal location. +Ultimately, for a given task, this behavior tree aids in solving the problem of long cycle time, which is caused because of the long path generated due to the temporary obstacles present close to the goal location. -The behavior tree is depicted in the image below. -From the image, it can be noted that there is an additional branch in the Navigation Subtree known as ``MonitorAndFollowPath``. This branch is created with the intention for the users to perform any kind of monitoring behavior that their robot should exhibit. -In this particular BT, the monitoring branch is exclusively utilized by ``PathLongerOnApproach`` BT node for checking if the global planner has decided to plan a significantly longer path for the robot on approaching the user-specified goal proximity. -If there is no significantly longer path, the monitor node goes into the ``FollowPath`` recovery node, which then generates the necessary control commands. +The behavior tree is depicted in the image below. +From the image, it can be noted that there is an additional branch in the Navigation Subtree known as ``MonitorAndFollowPath``. This branch is created with the intention for the users to perform any kind of monitoring behavior that their robot should exhibit. +In this particular BT, the monitoring branch is exclusively utilized by ``PathLongerOnApproach`` BT node for checking if the global planner has decided to plan a significantly longer path for the robot on approaching the user-specified goal proximity. +If there is no significantly longer path, the monitor node goes into the ``FollowPath`` recovery node, which then generates the necessary control commands. .. image:: ../images/walkthrough/patience_and_recovery.png Once there is a significantly longer path, the child node for the ``PathLongerOnApproach`` node ticks. -The child node is a ``RetryUntilSuccesfull`` decorator node, which inturns have a ``SequenceStar`` node as its child. -Firstly, the ``SequenceStar`` node cancels the controller server by ticking the ``CancelControl`` node. The cancellation of the controller server halts the further navigation of the robot. -Next, the ``SequenceStar`` node ticks the ``Wait`` node, which enables the robot to wait for the given user-specified time. +The child node is a ``RetryUntilSuccesfull`` decorator node, which inturns have a ``SequenceStar`` node as its child. +Firstly, the ``SequenceStar`` node cancels the controller server by ticking the ``CancelControl`` node. The cancellation of the controller server halts the further navigation of the robot. +Next, the ``SequenceStar`` node ticks the ``Wait`` node, which enables the robot to wait for the given user-specified time. Here we need to note that, the ``MonitorAndFollowPath`` is a ``ReactiveSequence`` node, therefore the ``PathLongerOnApproach`` node needs to return SUCCESS, before the ``FollowPath`` node can be ticked once again. -In the below GIF, it can be seen that the robot is approaching the goal location, but it found an obstacle in the goal proximity, because of which the global planner, plans a longer path around. -This is the point where the ``PathLongerOnApproach`` ticks and ticks its children, consequently cancelling the ``controller_server`` and waiting to see if the obstacle clears up. -In the below scenario, the obstacles do not clear, causing the robot to take the longer path. +In the below GIF, it can be seen that the robot is approaching the goal location, but it found an obstacle in the goal proximity, because of which the global planner, plans a longer path around. +This is the point where the ``PathLongerOnApproach`` ticks and ticks its children, consequently cancelling the ``controller_server`` and waiting to see if the obstacle clears up. +In the below scenario, the obstacles do not clear, causing the robot to take the longer path. .. image:: ../../migration/images/nav2_patience_near_goal_and_go_around.gif -Alternatively, if the obstacles are cleared, then there is a shorter path generated by the global planner. +Alternatively, if the obstacles are cleared, then there is a shorter path generated by the global planner. Now, the ``PathLongerOnApproach`` returns SUCCESS, that cause the ``FollowPath`` to continue with the robot navigation. .. image:: ../../migration/images/nav2_patience_near_goal_and_clear_obstacle.gif -Apart from the above scenarios, we also need to note that, the robot will take the longer path to the goal location if the obstacle does not clear up in the given user-specific wait time. +Apart from the above scenarios, we also need to note that, the robot will take the longer path to the goal location if the obstacle does not clear up in the given user-specific wait time. In conclusion, this particular BT would serve, both as an example and ready-to-use BT for an organizational specific application, that wishes to optimize its process cycle time. diff --git a/configuration/packages/bt-plugins/actions/ComputeCoveragePath.rst b/configuration/packages/bt-plugins/actions/ComputeCoveragePath.rst index c95a0b624..525dd82f2 100644 --- a/configuration/packages/bt-plugins/actions/ComputeCoveragePath.rst +++ b/configuration/packages/bt-plugins/actions/ComputeCoveragePath.rst @@ -3,7 +3,7 @@ ComputeCoveragePath =================== -Invokes the ComputeCoveragePath ROS 2 action server, which is implemented by the opennav_coverage_ server module. +Invokes the ComputeCoveragePath ROS 2 action server, which is implemented by the opennav_coverage_ server module. The server address can be remapped using the ``server_name`` input port. This server can take in both cartesian and GPS coordinates and is implemented using the ``Fields2Cover`` library. @@ -16,18 +16,18 @@ Input Ports ===================================== ======= Type Default ------------------------------------- ------- - bool true + bool true ===================================== ======= Description Whether or not to generate a headland of the field or polygon to compute coverage of - + :generate_route: ============================================= ======= Type Default --------------------------------------------- ------- - bool true + bool true ============================================= ======= Description @@ -38,7 +38,7 @@ Input Ports ============== ======= Type Default -------------- ------- - bool true + bool true ============== ======= Description @@ -49,7 +49,7 @@ Input Ports ============== ======= Type Default -------------- ------- - string N/A + string N/A ============== ======= Description @@ -61,7 +61,7 @@ Input Ports ============== ======= Type Default -------------- ------- - int 0 + int 0 ============== ======= Description @@ -72,7 +72,7 @@ Input Ports =================================== ======= Type Default ----------------------------------- ------- - vector N/A + vector N/A =================================== ======= Description @@ -83,12 +83,12 @@ Input Ports =================================== ======= Type Default ----------------------------------- ------- - string "map" + string "map" =================================== ======= Description The polygon's frame ID, since the GML file provides the frame ID for its format, this is the frame ID for user-defined input ``polygons``. - + Output Ports ------------ @@ -97,7 +97,7 @@ Output Ports ========================== ======= Type Default -------------------------- ------- - nav_msgs::msg::Path N/A + nav_msgs::msg::Path N/A ========================== ======= Description @@ -108,7 +108,7 @@ Output Ports ========================== ======= Type Default -------------------------- ------- - vector N/A + vector N/A ========================== ======= Description @@ -119,7 +119,7 @@ Output Ports ============== ======= Type Default -------------- ------- - uint16 N/A + uint16 N/A ============== ======= Description diff --git a/configuration/packages/bt-plugins/actions/ComputePathThroughPoses.rst b/configuration/packages/bt-plugins/actions/ComputePathThroughPoses.rst index beb384c1e..3133b2ca8 100644 --- a/configuration/packages/bt-plugins/actions/ComputePathThroughPoses.rst +++ b/configuration/packages/bt-plugins/actions/ComputePathThroughPoses.rst @@ -3,7 +3,7 @@ ComputePathThroughPoses ======================= -Invokes the ComputePathThroughPoses ROS 2 action server, which is implemented by the nav2_planner_ module. +Invokes the ComputePathThroughPoses ROS 2 action server, which is implemented by the nav2_planner_ module. The server address can be remapped using the ``server_name`` input port. .. _nav2_planner: https://github.com/ros-planning/navigation2/tree/main/nav2_planner @@ -15,18 +15,18 @@ Input Ports ===================================== ======= Type Default ------------------------------------- ------- - geometry_msgs::msg::PoseStamped N/A + geometry_msgs::msg::PoseStamped N/A ===================================== ======= Description Start pose. Optional. Only used if not left empty. Takes in a blackboard variable, e.g. "{start}". - + :goals: ============================================= ======= Type Default --------------------------------------------- ------- - vector N/A + vector N/A ============================================= ======= Description @@ -37,7 +37,7 @@ Input Ports ============== ======= Type Default -------------- ------- - string N/A + string N/A ============== ======= Description @@ -48,7 +48,7 @@ Input Ports ============== ======= Type Default -------------- ------- - string N/A + string N/A ============== ======= Description @@ -60,12 +60,12 @@ Input Ports ============== ======= Type Default -------------- ------- - double 10 + double 10 ============== ======= Description Action server timeout (ms). - + Output Ports ------------ @@ -74,7 +74,7 @@ Output Ports ========================== ======= Type Default -------------------------- ------- - nav_msgs::msg::Path N/A + nav_msgs::msg::Path N/A ========================== ======= Description @@ -85,7 +85,7 @@ Output Ports ============== ======= Type Default -------------- ------- - uint16 N/A + uint16 N/A ============== ======= Description diff --git a/configuration/packages/bt-plugins/actions/ComputePathToPose.rst b/configuration/packages/bt-plugins/actions/ComputePathToPose.rst index 7117273d1..b8e99672e 100644 --- a/configuration/packages/bt-plugins/actions/ComputePathToPose.rst +++ b/configuration/packages/bt-plugins/actions/ComputePathToPose.rst @@ -3,7 +3,7 @@ ComputePathToPose ================= -Invokes the ComputePathToPose ROS 2 action server, which is implemented by the nav2_planner_ module. +Invokes the ComputePathToPose ROS 2 action server, which is implemented by the nav2_planner_ module. The server address can be remapped using the ``server_name`` input port. .. _nav2_planner: https://github.com/ros-planning/navigation2/tree/main/nav2_planner @@ -15,18 +15,18 @@ Input Ports ===================================== ======= Type Default ------------------------------------- ------- - geometry_msgs::msg::PoseStamped N/A + geometry_msgs::msg::PoseStamped N/A ===================================== ======= Description Start pose. Optional. Only used if not left empty. Takes in a blackboard variable, e.g. "{start}". - + :goal: ===================================== ======= Type Default ------------------------------------- ------- - geometry_msgs::msg::PoseStamped N/A + geometry_msgs::msg::PoseStamped N/A ===================================== ======= Description @@ -37,7 +37,7 @@ Input Ports ============== ======= Type Default -------------- ------- - string N/A + string N/A ============== ======= Description @@ -48,7 +48,7 @@ Input Ports ============== ======= Type Default -------------- ------- - string N/A + string N/A ============== ======= Description @@ -60,12 +60,12 @@ Input Ports ============== ======= Type Default -------------- ------- - double 10 + double 10 ============== ======= Description Action server timeout (ms). - + Output Ports ------------ @@ -74,7 +74,7 @@ Output Ports ========================== ======= Type Default -------------------------- ------- - nav_msgs::msg::Path N/A + nav_msgs::msg::Path N/A ========================== ======= Description @@ -85,7 +85,7 @@ Output Ports ============== ======= Type Default -------------- ------- - uint16 N/A + uint16 N/A ============== ======= Description diff --git a/configuration/packages/bt-plugins/actions/DockRobot.rst b/configuration/packages/bt-plugins/actions/DockRobot.rst index 74864555d..ce3b8d9f1 100644 --- a/configuration/packages/bt-plugins/actions/DockRobot.rst +++ b/configuration/packages/bt-plugins/actions/DockRobot.rst @@ -95,7 +95,7 @@ Output Ports ============== ======= Type Default -------------- ------- - uint16 0 + uint16 0 ============== ======= Description diff --git a/configuration/packages/bt-plugins/actions/DriveOnHeading.rst b/configuration/packages/bt-plugins/actions/DriveOnHeading.rst index 0f66028f0..5a394d4fc 100644 --- a/configuration/packages/bt-plugins/actions/DriveOnHeading.rst +++ b/configuration/packages/bt-plugins/actions/DriveOnHeading.rst @@ -74,7 +74,7 @@ Output Ports ============== ======= Type Default -------------- ------- - uint16 N/A + uint16 N/A ============== ======= Description diff --git a/configuration/packages/bt-plugins/actions/FollowPath.rst b/configuration/packages/bt-plugins/actions/FollowPath.rst index b596a02d9..e86a69155 100644 --- a/configuration/packages/bt-plugins/actions/FollowPath.rst +++ b/configuration/packages/bt-plugins/actions/FollowPath.rst @@ -3,7 +3,7 @@ FollowPath ========== -Invokes the FollowPath ROS 2 action server, which is implemented by the controller plugin modules loaded. +Invokes the FollowPath ROS 2 action server, which is implemented by the controller plugin modules loaded. The server address can be remapped using the ``server_name`` input port. Input Ports @@ -14,7 +14,7 @@ Input Ports ====== ======= Type Default ------ ------- - string N/A + string N/A ====== ======= Description @@ -25,7 +25,7 @@ Input Ports ====== ======= Type Default ------ ------- - string N/A + string N/A ====== ======= Description @@ -36,7 +36,7 @@ Input Ports ====== ======= Type Default ------ ------- - string N/A + string N/A ====== ======= Description @@ -47,7 +47,7 @@ Input Ports ====== ======= Type Default ------ ------- - string N/A + string N/A ====== ======= Description @@ -59,7 +59,7 @@ Input Ports ============== ======= Type Default -------------- ------- - double 10 + double 10 ============== ======= Description @@ -74,7 +74,7 @@ Output Ports ============== ======= Type Default -------------- ------- - uint16 N/A + uint16 N/A ============== ======= Description diff --git a/configuration/packages/bt-plugins/actions/NavigateThroughPoses.rst b/configuration/packages/bt-plugins/actions/NavigateThroughPoses.rst index 6adcb00ec..88f574e0d 100644 --- a/configuration/packages/bt-plugins/actions/NavigateThroughPoses.rst +++ b/configuration/packages/bt-plugins/actions/NavigateThroughPoses.rst @@ -15,7 +15,7 @@ Input Ports ============================================= ======= Type Default --------------------------------------------- ------- - vector N/A + vector N/A ============================================= ======= Description @@ -26,7 +26,7 @@ Input Ports ====== ======= Type Default ------ ------- - string N/A + string N/A ====== ======= Description @@ -37,7 +37,7 @@ Input Ports ====== ======= Type Default ------ ------- - double 10 + double 10 ====== ======= Description @@ -48,7 +48,7 @@ Input Ports ====== ======= Type Default ------ ------- - string N/A + string N/A ====== ======= Description @@ -62,11 +62,11 @@ Output Ports ============== ======= Type Default -------------- ------- - uint16 N/A + uint16 N/A ============== ======= Description - The lowest error code in the list of the `error_code_names` parameter. + The lowest error code in the list of the `error_code_names` parameter. Example ------- diff --git a/configuration/packages/bt-plugins/actions/NavigateToPose.rst b/configuration/packages/bt-plugins/actions/NavigateToPose.rst index 1d51a7a27..995095289 100644 --- a/configuration/packages/bt-plugins/actions/NavigateToPose.rst +++ b/configuration/packages/bt-plugins/actions/NavigateToPose.rst @@ -15,7 +15,7 @@ Input Ports =========== ======= Type Default ----------- ------- - PoseStamped N/A + PoseStamped N/A =========== ======= Description @@ -26,7 +26,7 @@ Input Ports ====== ======= Type Default ------ ------- - string N/A + string N/A ====== ======= Description @@ -37,7 +37,7 @@ Input Ports ====== ======= Type Default ------ ------- - double 10 + double 10 ====== ======= Description @@ -48,7 +48,7 @@ Input Ports ====== ======= Type Default ------ ------- - string N/A + string N/A ====== ======= Description @@ -62,11 +62,11 @@ Output Ports ============== ======= Type Default -------------- ------- - uint16 N/A + uint16 N/A ============== ======= Description - The lowest error code in the list of the `error_code_names` parameter. + The lowest error code in the list of the `error_code_names` parameter. Example ------- diff --git a/configuration/packages/bt-plugins/actions/Smooth.rst b/configuration/packages/bt-plugins/actions/Smooth.rst index f5514e570..f648ab42c 100644 --- a/configuration/packages/bt-plugins/actions/Smooth.rst +++ b/configuration/packages/bt-plugins/actions/Smooth.rst @@ -35,7 +35,7 @@ Input Ports ====== ======= Type Default ------ ------- - bool false + bool false ====== ======= Description @@ -46,7 +46,7 @@ Input Ports ====== ======= Type Default ------ ------- - string N/A + string N/A ====== ======= Description @@ -60,7 +60,7 @@ Output Ports ====== ======= Type Default ------ ------- - string N/A + string N/A ====== ======= Description @@ -71,7 +71,7 @@ Output Ports ====== ======= Type Default ------ ------- - double N/A + double N/A ====== ======= Description @@ -82,7 +82,7 @@ Output Ports ====== ======= Type Default ------ ------- - bool N/A + bool N/A ====== ======= Description @@ -93,7 +93,7 @@ Output Ports ============== ======= Type Default -------------- ------- - uint16 N/A + uint16 N/A ============== ======= Description diff --git a/configuration/packages/bt-plugins/actions/Spin.rst b/configuration/packages/bt-plugins/actions/Spin.rst index ed382943a..1ffbce964 100644 --- a/configuration/packages/bt-plugins/actions/Spin.rst +++ b/configuration/packages/bt-plugins/actions/Spin.rst @@ -75,7 +75,7 @@ Output Ports ============== ======= Type Default -------------- ------- - uint16 N/A + uint16 N/A ============== ======= Description diff --git a/configuration/packages/bt-plugins/actions/UndockRobot.rst b/configuration/packages/bt-plugins/actions/UndockRobot.rst index 6125d305e..f4dbc6f29 100644 --- a/configuration/packages/bt-plugins/actions/UndockRobot.rst +++ b/configuration/packages/bt-plugins/actions/UndockRobot.rst @@ -51,7 +51,7 @@ Output Ports ============== ======= Type Default -------------- ------- - uint16 0 + uint16 0 ============== ======= Description diff --git a/migration/Humble.rst b/migration/Humble.rst index 550bf9966..cdba722dc 100644 --- a/migration/Humble.rst +++ b/migration/Humble.rst @@ -73,13 +73,13 @@ The following errors codes are supported (with more to come as necessary): Unkno The following error codes are supported (with more to come as necessary): Unknown, TF Error, Invalid Path, Patience Exceeded, Failed To Make Progress, or No Valid Control. -`PR #3251 `_ pipes the highest priority error code through the bt_navigator and defines the error code structure. +`PR #3251 `_ pipes the highest priority error code through the bt_navigator and defines the error code structure. -A new parameter for the the BT Navigator called "error_code_id_names" was added to the nav2_params.yaml to define the error codes to compare. +A new parameter for the the BT Navigator called "error_code_id_names" was added to the nav2_params.yaml to define the error codes to compare. The lowest error in the "error_code_id_names" is then returned in the action request (navigate to pose, navigate through poses waypoint follower), whereas the code enums increase the higher up in the software stack - giving higher priority to lower-level failures. -The error codes produced from the servers follow the guidelines stated below. -Error codes from 0 to 9999 are reserved for nav2 while error codes from 10000-65535 are reserved for external servers. +The error codes produced from the servers follow the guidelines stated below. +Error codes from 0 to 9999 are reserved for nav2 while error codes from 10000-65535 are reserved for external servers. Each server has two "reserved" error codes. 0 is reserved for NONE and the first error code in the sequence is reserved for UNKNOWN. The current implemented servers with error codes are: @@ -112,21 +112,21 @@ Changes to Map yaml file path for map_server node in Launch SmootherSelector BT Node ************************ -`PR #3283 `_ adds a BT node to set the smoother based on a topic or a default. See the configuration guide :ref:`configuring_simple_smoother` for more details. +`PR #3283 `_ adds a BT node to set the smoother based on a topic or a default. See the configuration guide :ref:`configuring_simple_smoother` for more details. -Publish Costmap Layers +Publish Costmap Layers ********************** `PR #3320 `_ adds the ability for the nav2_costmap_2d package to publish out costmap data associated with each layer. Give Behavior Server Access to Both Costmaps ******************************************** -`PR #3255 `_ adds the ability for a behavior to access the local and global costmap. +`PR #3255 `_ adds the ability for a behavior to access the local and global costmap. To update behaviors, any reference to the global_frame must be updated to the local_frame parameter along with the ``configuration`` method which now takes in the local and global collision checkers. Lastly, ``getResourceInfo`` must be overridden to return ``CostmapInfoType::LOCAL``. Other options include ``GLOBAL`` if the behavior useses global costmap and/or footprint) -or ``BOTH`` if both are required. This allows us to only create and maintain the minimum amount of expensive resources. +or ``BOTH`` if both are required. This allows us to only create and maintain the minimum amount of expensive resources. New Model Predictive Path Integral Controller ********************************************* @@ -137,20 +137,20 @@ See the README.md and :ref:`configuring_mppic` page for more detail. Behavior Tree Uses Error Codes ****************************** -`PR #3324 `_ adds three new condition nodes to check for error codes on the blackboard set by action BT nodes which contain them. +`PR #3324 `_ adds three new condition nodes to check for error codes on the blackboard set by action BT nodes which contain them. -The ``AreErrorCodesPresent`` condition node allows the user to specify the error code from the server along with the error codes to match against. -The ``WouldAControllerRecoveryHelp`` checks if the active error code is UNKNOWN, PATIENCE_EXCEEDED, FAILED_TO_MAKE_PROGRESS or NO_VALID_CONTROL. +The ``AreErrorCodesPresent`` condition node allows the user to specify the error code from the server along with the error codes to match against. +The ``WouldAControllerRecoveryHelp`` checks if the active error code is UNKNOWN, PATIENCE_EXCEEDED, FAILED_TO_MAKE_PROGRESS or NO_VALID_CONTROL. If the error code is a match, the condition returns ``SUCCESS``. -These error code are potentially able to be cleared by a controller recovery. +These error code are potentially able to be cleared by a controller recovery. The ``WouldAPlannerRecoveryHelp`` checks if the active error code is UNKNOWN, NO_VALID_CONTROL, or TIMEOUT. If the error code is a match, the condition returns ``SUCCESS``. -These error code are potentially able to be cleared by a planner recovery. +These error code are potentially able to be cleared by a planner recovery. The ``WouldASmootherRecoveryHelp`` checks if the active error code is UNKNOWN, TIMEOUT, FAILED_TO_SMOOTH_PATH, or SMOOTHED_PATH_IN_COLLISION. If the error code is a match, the condition returns ``SUCCESS``. -These error code are potentially able to be cleared by a smoother recovery. +These error code are potentially able to be cleared by a smoother recovery. Load, Save and Loop Waypoints from the Nav2 Panel in RViz ********************************************************* @@ -203,11 +203,11 @@ Beware that it is a breaking change and that configuration files will need to be IsBatteryChargingCondition BT Node ********************************** -`PR #3553 `_ adds a BT node to check if the battery is charging. See the configuration guide :ref:`bt_is_battery_charging_condition` for more details. +`PR #3553 `_ adds a BT node to check if the battery is charging. See the configuration guide :ref:`bt_is_battery_charging_condition` for more details. -Behavior Server Error Codes +Behavior Server Error Codes *************************** -`PR #3569 `_ updates the behavior server plugins to provide error codes on failure. +`PR #3569 `_ updates the behavior server plugins to provide error codes on failure. - Spin: NONE: 0, UNKNOWN: 701, server error codes: 701-709 - BackUp: NONE: 0, UNKNOWN: 801, server error codes: 710-719 diff --git a/tutorials/docs/adding_a_nav2_task_server.rst b/tutorials/docs/adding_a_nav2_task_server.rst index 9f8e78e9a..d91e15995 100644 --- a/tutorials/docs/adding_a_nav2_task_server.rst +++ b/tutorials/docs/adding_a_nav2_task_server.rst @@ -1,9 +1,9 @@ .. _adding_a_nav2_task_server: -Adding a New Nav2 Task Server +Adding a New Nav2 Task Server ############################# -A nav2 task server consists of server side logic to complete different types of requests, usually called by the autonomy system or through the Behavior Tree Navigator. In this guide, we will discuss the core components needed to add a new task server to Nav2 (ex. Controller, Behavior, Smoother, Planner Servers). Namely, how to set up your new Lifecycle-Component Node for launch and state management and the communication of semantically meaningful error codes (if necessary). +A nav2 task server consists of server side logic to complete different types of requests, usually called by the autonomy system or through the Behavior Tree Navigator. In this guide, we will discuss the core components needed to add a new task server to Nav2 (ex. Controller, Behavior, Smoother, Planner Servers). Namely, how to set up your new Lifecycle-Component Node for launch and state management and the communication of semantically meaningful error codes (if necessary). While this tutorial does not cover how to add the complementary Behavior Tree Node to interact with this new Task Server, that is covered at length in :ref:`writing_new_nbt_plugin` so this Task Server can be invoked in the BTs in BT Navigator. @@ -107,7 +107,7 @@ We make use of the launch files to compose different servers into a single proce nav2_route_server -Error codes +Error codes *********** Your nav2 task server may also wish to return a 'error_code' in its action response (though not required). If there are semantically meaningful and actionable types of failures for your system, this is a systemic way to communicate those failures which may be automatically aggregated into the responses of the navigation system to your application. diff --git a/tutorials/docs/adding_smoother.rst b/tutorials/docs/adding_smoother.rst index 7d17a2979..35afdaeaf 100644 --- a/tutorials/docs/adding_smoother.rst +++ b/tutorials/docs/adding_smoother.rst @@ -38,7 +38,7 @@ Please see the BT node's configuration page to familiarize yourself with all asp 1- Specifying a Smoother Plugin ------------------------------- -In order to use a smoother in your BT node, you must first configure the smoother server itself to contain the smoother plugins of interest. These plugins implement the specific algorithms that you would like to use. +In order to use a smoother in your BT node, you must first configure the smoother server itself to contain the smoother plugins of interest. These plugins implement the specific algorithms that you would like to use. For each smoother plugin you would like to use, a name must be given to it (e.g. ``simple_smoother``, ``curvature_smoother``). This name is its ``smoother_id`` for other servers to interact with this algorithm from a request to the Smoother Server's action interface. @@ -68,7 +68,7 @@ Now that you have selected and configured the smoother server for your given plu Note: If you use only a single type of smoothing algorithm, there is no need to specify the ``smoother_id`` in the BT XML entry. Since there is only a single option, that will be used for any request that does not specifically request a smoother plugin. However, if you leverage multiple smoother plugins, you **must** populate the ``smoother_id`` XML port. -A given behavior tree will have a line: +A given behavior tree will have a line: .. code-block:: xml @@ -85,7 +85,7 @@ This line calls the planner server and return a path to the ``path`` blackboard If you wish to have recoveries for the smoother error codes, such as triggering the system recoveries branch of a behavior tree: -.. code-block:: xml +.. code-block:: xml