AutoAPMS
Streamlining behaviors in ROS 2
Loading...
Searching...
No Matches
auto_apms_behavior_tree Namespace Reference

Powerful tooling for incorporating behavior trees for task development. More...

Namespaces

namespace  core
 Core API for AutoAPMS's behavior tree implementation.
 
namespace  model
 Models for all available behavior tree nodes.
 

Classes

struct  NodeModel
 Data structure encapsulating the information of all ports implemented by a behavior tree node. More...
 
struct  NodePortInfo
 Implementation details of a single data port. More...
 
class  TreeBuildHandler
 Base class for plugins that implement patterns for creating behavior trees using a standardized interface. More...
 
class  TreeBuildHandlerLoader
 A pluginlib::ClassLoader specifically for loading installed behavior tree build handler plugins. More...
 
class  TreeExecutorBase
 Base class that offers basic functionality for executing behavior trees. More...
 
class  TreeExecutorNode
 Flexible ROS 2 node implementing a standardized interface for dynamically executing behavior trees. More...
 
class  TreeExecutorNodeOptions
 Configuration options for TreeExecutorNode. More...
 
class  TreeFromResourceBuildHandler
 Standard build handler for building a behavior tree from an installed resource. More...
 
class  TreeFromStringBuildHandler
 Standard build handler for building a behavior tree directly from an XML string. More...
 
class  TreeStateObserver
 State observer for a particular behavior tree object that writes introspection and debugging information related to behavior tree node transitions to a ROS 2 logger. More...
 

Typedefs

using NodeModelMap = std::map<std::string, NodeModel>
 Mapping of node registration names and their implementation details.
 

Functions

BT::Expected< BT::Any > createAnyFromParameterValue (const rclcpp::ParameterValue &val)
 Convert a ROS 2 parameter value to a BT::Any object.
 
BT::Expected< rclcpp::ParameterValue > createParameterValueFromAny (const BT::Any &any, rclcpp::ParameterType type)
 Convert a BT::Any object to a ROS 2 parameter value.
 
model::StartExecutor insertStartExecutorFromString (core::TreeDocument::NodeElement &parent, const std::string &tree_str, const core::TreeDocument::NodeElement *before_this=nullptr)
 Helper that extends the children of a given parent node by a StartExecutor node for a specific behavior tree to be created from string.
 
model::StartExecutor insertStartExecutorFromString (core::TreeDocument::NodeElement &parent, const core::TreeDocument::TreeElement &tree, const core::TreeDocument::NodeElement *before_this=nullptr)
 Helper that extends the children of a given parent node by a StartExecutor node for a specific behavior tree to be created from a string.
 
model::StartExecutor insertStartExecutorFromResource (core::TreeDocument::NodeElement &parent, const core::TreeResourceIdentity &identity, const core::TreeDocument::NodeElement *before_this=nullptr)
 Helper that extends the children of a given parent node by a StartExecutor node for a specific behavior tree to be created from a resource.
 

Detailed Description

Powerful tooling for incorporating behavior trees for task development.

Typedef Documentation

◆ NodeModelMap

using NodeModelMap = std::map<std::string, NodeModel>

Mapping of node registration names and their implementation details.

Definition at line 72 of file definitions.hpp.

Function Documentation

◆ createAnyFromParameterValue()

BT::Expected< BT::Any > createAnyFromParameterValue ( const rclcpp::ParameterValue & val)

Convert a ROS 2 parameter value to a BT::Any object.

Since the type information of a parameter value is stored internally, it's possible to create the corresponding BT::Any object dynamically.

Parameters
valROS 2 parameter value.
Returns
Expected object for BT::Any. Holds an error message if the type of val couldn't be converted to a C++ type.

Definition at line 20 of file parameter.cpp.

◆ createParameterValueFromAny()

BT::Expected< rclcpp::ParameterValue > createParameterValueFromAny ( const BT::Any & any,
rclcpp::ParameterType type )

Convert a BT::Any object to a ROS 2 parameter value.

You may optionally specify the type of the parameter value to convert to using type. If you want to deduce the type from any, set this to rclcpp::PARAMETER_NOT_SET.

Parameters
anyBT::Any object.
typeDesired type of the parameter value. Set to rclcpp::PARAMETER_NOT_SET if it is unkown (e.g. if the parameter hasn't been set before).
Returns
Expected object for rclcpp::ParameterValue. Holds an error message if any couldn't be converted to type.

Definition at line 51 of file parameter.cpp.