diff --git a/nav2_behavior_tree/CMakeLists.txt b/nav2_behavior_tree/CMakeLists.txt index d9410ff916..5b1a36bcac 100644 --- a/nav2_behavior_tree/CMakeLists.txt +++ b/nav2_behavior_tree/CMakeLists.txt @@ -123,6 +123,8 @@ install(DIRECTORY include/ DESTINATION include/ ) +install(FILES nav2_tree_nodes.xml DESTINATION share/${PROJECT_NAME}) + if(BUILD_TESTING) find_package(ament_lint_auto REQUIRED) ament_lint_auto_find_test_dependencies() diff --git a/nav2_behavior_tree/groot_instructions.md b/nav2_behavior_tree/groot_instructions.md new file mode 100644 index 0000000000..b1189a6ba6 --- /dev/null +++ b/nav2_behavior_tree/groot_instructions.md @@ -0,0 +1,12 @@ +# Instructions on using Groot +[Groot](https://github.com/BehaviorTree/Groot) is the companion application of [BehaviorTree.CPP](https://github.com/BehaviorTree/BehaviorTree.CPP) to create, edit, and monitor behavior trees. + +##### Note: Currently fully supports visualization of the behavior trees. It also supports the creation of custom nodes except control flow nodes. Support for custom control flow nodes and real-time monitoring is under development. + +### BehaviorTree visualization +To visualize the behavior trees using Groot: +1. Open Groot in editor mode +2. Select the `Load palette from file` option (import button) near the top left corner. +3. Open the file `/path/to/navigation2/nav2_behavior_tree/nav2_tree_nodes.xml` to import all the behavior tree nodes used for navigation. +4. Select `Load tree` option near the top left corner +5. Browse the tree you want to visualize the select ok. diff --git a/nav2_behavior_tree/nav2_tree_nodes.xml b/nav2_behavior_tree/nav2_tree_nodes.xml new file mode 100644 index 0000000000..35675d9938 --- /dev/null +++ b/nav2_behavior_tree/nav2_tree_nodes.xml @@ -0,0 +1,76 @@ + + + + + + + Distance to backup + Speed at which to backup + + + + Service name + + + + Destination to plan to + Path created by ComputePathToPose node + + + + + + Path to follow + + + + Orientation + Position + + + + + + Spin distance + + + + Wait time + + + + + Destination + + + + + + Child frame for transform + Parent frame for transform + + + + + + + Number of retries + + + + + + + Rate + + + + Distance + + + +