Class SafetyManagerNode

Inheritance Relationships

Base Type

  • public rclcpp::Node

Class Documentation

class SafetyManagerNode : public rclcpp::Node

This class is responsible for creating a BehaviorTrees responsible for safety and shutdown management, spinning them, and updating blackboard entries based on subscribed topics.

Public Functions

SafetyManagerNode(const std::string &node_name, const rclcpp::NodeOptions &options = rclcpp::NodeOptions())
inline ~SafetyManagerNode()
void Initialize()

Protected Functions

void DeclareParameters()
void RegisterBehaviorTree()
std::map<std::string, std::any> CreateSafetyInitialBlackboard()
bool SystemReady()

Checks whether the required blackboard entries for the lights tree are present. These entries are usually updated when the first ROS message containing required information is received.

Returns:

True if all required blackboard entries are present.

Protected Attributes

BT::BehaviorTreeFactory factory_
std::unique_ptr<BehaviorTreeManager> safety_tree_manager_
std::unique_ptr<BehaviorTreeManager> shutdown_tree_manager_