21#include "auto_apms_util/exceptions.hpp"
22#include "auto_apms_util/yaml.hpp"
33 inline static const std::string PARAM_NAME_CLASS =
"class_name";
34 inline static const std::string PARAM_NAME_ROS2TOPIC =
"topic";
35 inline static const std::string PARAM_NAME_DESCRIPTION =
"description";
36 inline static const std::string PARAM_NAME_PORT_ALIAS =
"port_alias";
37 inline static const std::string PARAM_NAME_PORT_DEFAULT =
"port_default";
38 inline static const std::string PARAM_NAME_WAIT_TIMEOUT =
"wait_timeout";
39 inline static const std::string PARAM_NAME_REQUEST_TIMEOUT =
"request_timeout";
40 inline static const std::string PARAM_NAME_ALLOW_UNREACHABLE =
"allow_unreachable";
41 inline static const std::string PARAM_NAME_LOGGER_LEVEL =
"logger_level";
42 inline static const std::string PARAM_NAME_HIDDEN_PORTS =
"hidden_ports";
43 inline static const std::string PARAM_NAME_EXTRA =
"extra";
44 inline static const std::string PARAM_NAME_PARENT =
"parent";
79 std::
string topic =
"(input:topic)";
115 std::chrono::duration<double>
wait_timeout = std::chrono::duration<double>(5);
147 static Node encode(
const Options & rhs);
148 static bool decode(
const Node & node, Options & rhs);
#define AUTO_APMS_UTIL_DEFINE_YAML_CONVERSION_METHODS(ClassType)
Macro for defining YAML encode/decode methods for a class.
Core API for AutoAPMS's behavior tree implementation.
Powerful tooling for incorporating behavior trees for task development.
Parameters for loading and registering a behavior tree node class from a shared library using e....
std::chrono::duration< double > wait_timeout
std::string description
Short description of the behavior tree node's purpose and use-case.
bool valid() const
Verify that the options are valid (e.g. all required values are set).
NodeRegistrationOptions()=default
Create the default node registration options.
std::string topic
Name of the ROS 2 communication interface to connect with.
std::chrono::duration< double > request_timeout
Period [s] (measured from sending a goal request) after the node aborts waiting for a server response...
std::map< std::string, std::string > port_default
Provides the possibility to define custom default values for the ports implemented by class_name.
std::vector< std::string > hidden_ports
List of port names to hide in the node model for visualization tools like Groot2.
std::map< std::string, std::string > port_alias
Provides the possibility to rename ports implemented by class_name.
std::string class_name
Fully qualified name of the behavior tree node plugin class.
std::string logger_level
Minimum ROS 2 logging severity level for this particular node. Empty means to inherit the parent logg...