17#include "auto_apms_behavior_tree_core/definitions.hpp"
18#include "auto_apms_behavior_tree_core/node/node_registration_loader.hpp"
19#include "auto_apms_behavior_tree_core/tree/tree_document.hpp"
20#include "rclcpp/macros.hpp"
21#include "rclcpp/node.hpp"
24#include "auto_apms_behavior_tree/standard_nodes.hpp"
25#include "auto_apms_behavior_tree/util/node.hpp"
28#include "auto_apms_behavior_tree/exceptions.hpp"
137 using TreeBlackboard = auto_apms_behavior_tree::TreeBlackboard;
147 const std::string & name, rclcpp::Node::SharedPtr ros_node_ptr, NodeLoader::SharedPtr tree_node_loader_ptr);
167 TreeBuildHandler(rclcpp::Node::SharedPtr ros_node_ptr, NodeLoader::SharedPtr tree_node_loader_ptr);
189 const std::string & build_request,
const NodeManifest & node_manifest,
const std::string & root_tree_name);
222 rclcpp::Node::WeakPtr ros_node_wptr_;
223 NodeLoader::SharedPtr tree_node_loader_ptr;
NodeLoader::SharedPtr getNodeLoaderPtr() const
Get a shared pointer to the class loader instance used for loading the required behavior tree nodes.
TreeBuildHandler(const std::string &name, rclcpp::Node::SharedPtr ros_node_ptr, NodeLoader::SharedPtr tree_node_loader_ptr)
Constructor allowing to give the build handler a specific name.
virtual bool setBuildRequest(const std::string &build_request, const NodeManifest &node_manifest, const std::string &root_tree_name)
Specify the behavior tree build request encoded in a string.
const rclcpp::Logger logger_
ROS 2 logger initialized with the name of the build handler.
rclcpp::Node::SharedPtr getRosNodePtr() const
Get a shared pointer to the parent rclcpp::Node of this build handler.
virtual TreeDocument::TreeElement buildTree(TreeDocument &doc, TreeBlackboard &bb)=0
Build the behavior tree specified before.
Data structure for information about which behavior tree node plugin to load and how to configure the...
A pluginlib::ClassLoader specifically for loading installed behavior tree node plugins.
Handle for a single behavior tree of a TreeDocument.
This class offers a programmatic approach for building behavior trees and stores the registration dat...
Class containing behavior tree resource data.
Useful tooling for incorporating behavior trees for task development.