diff --git a/nav2_bt_navigator/CMakeLists.txt b/nav2_bt_navigator/CMakeLists.txt index 231697cde5c5c3bc6126802a2f66aa0c5d7f04c6..9adc78573e0765dc95963f5d6d09460b5b2ee859 100644 --- a/nav2_bt_navigator/CMakeLists.txt +++ b/nav2_bt_navigator/CMakeLists.txt @@ -16,7 +16,7 @@ find_package(std_msgs REQUIRED) find_package(nav2_tasks REQUIRED) find_package(nav2_msgs REQUIRED) find_package(nav2_robot REQUIRED) -find_package(behavior_tree_core REQUIRED) +find_package(behaviortree_cpp REQUIRED) include_directories( include @@ -41,7 +41,7 @@ set(dependencies nav2_tasks nav2_msgs nav2_robot - behavior_tree_core + behaviortree_cpp ) ament_target_dependencies(${executable_name} diff --git a/nav2_bt_navigator/behavior_trees/parallel.xml b/nav2_bt_navigator/behavior_trees/parallel.xml index 1f8aa31802569f2e7b0f7882492663d4dbc74624..ec6677dfd66cfa31978575f85c9728ccd0004f80 100644 --- a/nav2_bt_navigator/behavior_trees/parallel.xml +++ b/nav2_bt_navigator/behavior_trees/parallel.xml @@ -19,7 +19,7 @@ <BehaviorTree ID="MainTree"> <SequenceStar name="root"> <ComputePathToPose endpoints="${endpoints}" path="${path}"/> - <Parallel threshold_M="1"> + <ParallelNode threshold="1"> <FollowPath path="${path}"/> <Sequence> <RateController hz="2"> @@ -27,7 +27,7 @@ </RateController> <UpdatePath/> </Sequence> - </Parallel> + </ParallelNode> </SequenceStar> </BehaviorTree> </root> diff --git a/nav2_bt_navigator/src/bt_navigator.cpp b/nav2_bt_navigator/src/bt_navigator.cpp index 8ad0fcbbd53ee76374fdd536f9a10a6d40b5f7c8..a2d2881172729201f2d3a7ad791c3d70237e4ed6 100644 --- a/nav2_bt_navigator/src/bt_navigator.cpp +++ b/nav2_bt_navigator/src/bt_navigator.cpp @@ -20,7 +20,7 @@ #include "nav2_bt_navigator/navigate_to_pose_behavior_tree.hpp" #include "nav2_tasks/compute_path_to_pose_task.hpp" #include "nav2_tasks/bt_conversions.hpp" -#include "Blackboard/blackboard_local.h" +#include "behaviortree_cpp/blackboard/blackboard_local.h" using nav2_tasks::TaskStatus; diff --git a/nav2_bt_navigator/src/navigate_to_pose_behavior_tree.cpp b/nav2_bt_navigator/src/navigate_to_pose_behavior_tree.cpp index 3fa8e078f71bbb7a0c210925ad77b48462280771..54f1ff47c4ced705d2244ea2ce9322faf562ab19 100644 --- a/nav2_bt_navigator/src/navigate_to_pose_behavior_tree.cpp +++ b/nav2_bt_navigator/src/navigate_to_pose_behavior_tree.cpp @@ -38,9 +38,6 @@ NavigateToPoseBehaviorTree::NavigateToPoseBehaviorTree(rclcpp::Node::SharedPtr n factory_.registerSimpleAction("UpdatePath", std::bind(&NavigateToPoseBehaviorTree::updatePath, this, std::placeholders::_1)); - // The parallel node is not yet registered in the BehaviorTree.CPP library - factory_.registerNodeType<BT::ParallelNode>("Parallel"); - follow_path_task_client_ = std::make_unique<nav2_tasks::FollowPathTaskClient>(node); } diff --git a/nav2_mission_executor/CMakeLists.txt b/nav2_mission_executor/CMakeLists.txt index d46cc533085b69ac512cef4256f751383eb67bbb..96fd877a82e5dbb711d76f2e84bd11a2e764650c 100644 --- a/nav2_mission_executor/CMakeLists.txt +++ b/nav2_mission_executor/CMakeLists.txt @@ -15,7 +15,7 @@ find_package(rclcpp REQUIRED) find_package(std_msgs REQUIRED) find_package(nav2_tasks REQUIRED) find_package(nav2_msgs REQUIRED) -find_package(behavior_tree_core REQUIRED) +find_package(behaviortree_cpp REQUIRED) include_directories( include @@ -39,7 +39,7 @@ set(dependencies std_msgs nav2_tasks nav2_msgs - behavior_tree_core + behaviortree_cpp ) ament_target_dependencies(${executable_name} diff --git a/nav2_tasks/CMakeLists.txt b/nav2_tasks/CMakeLists.txt index 9f0fa85eb8f37731bfe208553cac332354b4c850..156407f5889593c6bbb4198353d446df04100d17 100644 --- a/nav2_tasks/CMakeLists.txt +++ b/nav2_tasks/CMakeLists.txt @@ -16,7 +16,7 @@ find_package(std_msgs REQUIRED) find_package(builtin_interfaces REQUIRED) find_package(geometry_msgs REQUIRED) find_package(nav2_msgs REQUIRED) -find_package(behavior_tree_core REQUIRED) +find_package(behaviortree_cpp REQUIRED) include_directories( include @@ -32,7 +32,7 @@ set(dependencies rclcpp geometry_msgs nav2_msgs - behavior_tree_core + behaviortree_cpp ) ament_target_dependencies(${library_name} diff --git a/nav2_tasks/include/nav2_tasks/behavior_tree_engine.hpp b/nav2_tasks/include/nav2_tasks/behavior_tree_engine.hpp index 2c0f30bf423a9a64287591ae419ca2aa7480c6b7..adaa2cdaee6ea6545ca30fd2d7fc3b97aebba527 100644 --- a/nav2_tasks/include/nav2_tasks/behavior_tree_engine.hpp +++ b/nav2_tasks/include/nav2_tasks/behavior_tree_engine.hpp @@ -17,10 +17,10 @@ #include <string> #include "rclcpp/rclcpp.hpp" -#include "behavior_tree_core/behavior_tree.h" -#include "behavior_tree_core/bt_factory.h" -#include "behavior_tree_core/xml_parsing.h" -#include "Blackboard/blackboard_local.h" +#include "behaviortree_cpp/behavior_tree.h" +#include "behaviortree_cpp/bt_factory.h" +#include "behaviortree_cpp/xml_parsing.h" +#include "behaviortree_cpp/blackboard/blackboard_local.h" #include "nav2_tasks/task_status.hpp" namespace nav2_tasks diff --git a/nav2_tasks/include/nav2_tasks/bt_action_node.hpp b/nav2_tasks/include/nav2_tasks/bt_action_node.hpp index df4e0ff21a1659935c1a09e3cfb9a675db8814a2..aa17ab4f3e62384b35c265f2195bea98e228b524 100644 --- a/nav2_tasks/include/nav2_tasks/bt_action_node.hpp +++ b/nav2_tasks/include/nav2_tasks/bt_action_node.hpp @@ -22,8 +22,8 @@ #include "rclcpp/rclcpp.hpp" #include "nav2_tasks/task_client.hpp" -#include "behavior_tree_core/action_node.h" -#include "behavior_tree_core/bt_factory.h" +#include "behaviortree_cpp/action_node.h" +#include "behaviortree_cpp/bt_factory.h" namespace nav2_tasks { diff --git a/nav2_tasks/include/nav2_tasks/bt_conversions.hpp b/nav2_tasks/include/nav2_tasks/bt_conversions.hpp index 2ba6f39f0cf494cd0ee2da098871b48b00461535..9e988224f0c3c1d1449831ff05a263dcced7497a 100644 --- a/nav2_tasks/include/nav2_tasks/bt_conversions.hpp +++ b/nav2_tasks/include/nav2_tasks/bt_conversions.hpp @@ -16,7 +16,8 @@ #define NAV2_TASKS__BT_CONVERSIONS_HPP_ #include <string> -#include "behavior_tree_core/behavior_tree.h" +#include "behaviortree_cpp/behavior_tree.h" +#include "behaviortree_cpp/blackboard/blackboard.h" #include "geometry_msgs/msg/point.hpp" #include "geometry_msgs/msg/quaternion.hpp" #include "nav2_msgs/msg/path.hpp" @@ -29,25 +30,25 @@ namespace BT // but are not actually called. TODO(mjeronimo): See if we can avoid these. template<> -inline rclcpp::Node::SharedPtr convertFromString(const std::string & /*key*/) +inline rclcpp::Node::SharedPtr convertFromString(const StringView & /*key*/) { return nullptr; } template<> -inline std::chrono::milliseconds convertFromString(const std::string & /*key*/) +inline std::chrono::milliseconds convertFromString(const StringView & /*key*/) { return std::chrono::milliseconds(0); } template<> -inline nav2_msgs::msg::Path::SharedPtr convertFromString(const std::string & /*key*/) +inline nav2_msgs::msg::Path::SharedPtr convertFromString(const StringView & /*key*/) { return nullptr; } template<> -inline nav2_msgs::msg::PathEndPoints::SharedPtr convertFromString(const std::string & /*key*/) +inline nav2_msgs::msg::PathEndPoints::SharedPtr convertFromString(const StringView & /*key*/) { return nullptr; } @@ -55,7 +56,7 @@ inline nav2_msgs::msg::PathEndPoints::SharedPtr convertFromString(const std::str // These are needed to be able to set parameters for these types in the BT XML template<> -inline geometry_msgs::msg::Point convertFromString(const std::string & key) +inline geometry_msgs::msg::Point convertFromString(const StringView & key) { // three real numbers separated by semicolons auto parts = BT::splitString(key, ';'); @@ -71,7 +72,7 @@ inline geometry_msgs::msg::Point convertFromString(const std::string & key) } template<> -inline geometry_msgs::msg::Quaternion convertFromString(const std::string & key) +inline geometry_msgs::msg::Quaternion convertFromString(const StringView & key) { // three real numbers separated by semicolons auto parts = BT::splitString(key, ';'); diff --git a/nav2_tasks/include/nav2_tasks/rate_controller_node.hpp b/nav2_tasks/include/nav2_tasks/rate_controller_node.hpp index ba9316bf991d9a9f71e3f0e9af216cf5f30785d7..c3cd133de14546d46143c4befc5092aa8ae03850 100644 --- a/nav2_tasks/include/nav2_tasks/rate_controller_node.hpp +++ b/nav2_tasks/include/nav2_tasks/rate_controller_node.hpp @@ -17,7 +17,7 @@ #include <string> #include <chrono> -#include "behavior_tree_core/decorator_node.h" +#include "behaviortree_cpp/decorator_node.h" namespace nav2_tasks { diff --git a/nav2_tasks/src/behavior_tree_engine.cpp b/nav2_tasks/src/behavior_tree_engine.cpp index d9d13cd46d0c63c6f414cda6fd96a88c1005ed28..6d6e438dd434c76139c37e4b7038e96541108244 100644 --- a/nav2_tasks/src/behavior_tree_engine.cpp +++ b/nav2_tasks/src/behavior_tree_engine.cpp @@ -16,7 +16,7 @@ #include <string> #include "geometry_msgs/msg/pose2_d.hpp" -#include "Blackboard/blackboard_local.h" +#include "behaviortree_cpp/blackboard/blackboard_local.h" #include "nav2_tasks/navigate_to_pose_action.hpp" #include "nav2_tasks/compute_path_to_pose_action.hpp" #include "nav2_tasks/follow_path_action.hpp" diff --git a/tools/ros2_dependencies.repos b/tools/ros2_dependencies.repos index dfdc03800854ce3ec79f9d1f8bbf64ff240da90b..889d3f07114d2c901d5d92eaef6047f7d73fc247 100644 --- a/tools/ros2_dependencies.repos +++ b/tools/ros2_dependencies.repos @@ -1,8 +1,8 @@ repositories: behavior_tree_core: type: git - url: https://github.com/mjeronimo/BehaviorTree.CPP - version: master + url: https://github.com/BehaviorTree/BehaviorTree.CPP.git + version: 5904431 angles: type: git url: https://github.com/ros/angles.git