diff --git a/configuration/packages/bt-plugins/actions/NavigateThroughPoses.rst b/configuration/packages/bt-plugins/actions/NavigateThroughPoses.rst index 7d3595f5a7..cd5ddc3636 100644 --- a/configuration/packages/bt-plugins/actions/NavigateThroughPoses.rst +++ b/configuration/packages/bt-plugins/actions/NavigateThroughPoses.rst @@ -52,7 +52,7 @@ Input Ports ====== ======= Description - Behavior tree absolute path. If none is specified, NavigateThroughPoses action server uses a default behavior tree. + Behavior tree absolute path or ID. If none is specified, NavigateThroughPoses action server uses a default behavior tree. Output Ports ------------ diff --git a/configuration/packages/bt-plugins/actions/NavigateToPose.rst b/configuration/packages/bt-plugins/actions/NavigateToPose.rst index b8ff51197d..b9f5d7f6bb 100644 --- a/configuration/packages/bt-plugins/actions/NavigateToPose.rst +++ b/configuration/packages/bt-plugins/actions/NavigateToPose.rst @@ -52,7 +52,7 @@ Input Ports ====== ======= Description - Behavior tree absolute path. If none is specified, NavigateToPose action server uses a default behavior tree. + Behavior tree absolute path or ID. If none is specified, NavigateToPose action server uses a default behavior tree. Output Ports ------------ @@ -86,4 +86,4 @@ Example + behavior_tree="NavigateThroughPosesWReplanningAndRecovery"/> diff --git a/configuration/packages/configuring-bt-navigator.rst b/configuration/packages/configuring-bt-navigator.rst index 35416b7c0c..0ed15cdade 100644 --- a/configuration/packages/configuring-bt-navigator.rst +++ b/configuration/packages/configuring-bt-navigator.rst @@ -236,6 +236,16 @@ Parameters Description Whether to allow QoS profiles to be overwritten with parameterized values. +:bt_search_directories: + + ============== ================================================= + Type Default + -------------- ----------------------------- + vector $(find-pkg-share nav2_bt_navigator)/behavior_trees + ============== ================================================= + + Description + List of directories that hosts behavior trees XML files. It is needed to register all behavior trees as well as subtrees. NavigateToPose Parameters ************************* @@ -361,6 +371,8 @@ Example path_blackboard_id: path waypoint_statuses_blackboard_id: waypoint_statuses navigators: ['navigate_to_pose', 'navigate_through_poses'] + bt_search_directories: + - $(find-pkg-share nav2_bt_navigator)/behavior_trees navigate_to_pose: plugin: "nav2_bt_navigator::NavigateToPoseNavigator" # In Iron and older versions, "/" was used instead of "::" enable_groot_monitoring: false diff --git a/migration/Kilted.rst b/migration/Kilted.rst index e0d9e4e44c..8a7ba0b33f 100644 --- a/migration/Kilted.rst +++ b/migration/Kilted.rst @@ -348,6 +348,14 @@ Example: See also :ref:`configuring_bt_navigator` +Add BehaviorTree SubTrees Support +--------------------------------- + +The BehaviorTree engine now supports SubTrees in different files within directory(s) set through ``bt_search_directories`` parameter. This allows you to modularize your behavior trees into smaller components that can be reused across different trees. +The interface now supports passing the behavior tree file or ID as input to the `loadBehaviorTree` method of the BT action server. +Each behavior tree is now strictly required to have its own unique ID, therefore the need to replace `MainTre` to a unique ID. For example, in `navigate_through_poses_w_replanning_and_recovery.xml +` `MainTree` can be replaced with `NavigateThroughPosesWReplanningAndRecovery`. + Option to have custom window size and poly order in Savitsky-Golay Smoother ---------------------------------------------------------------------------