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
---------------------------------------------------------------------------