23#ifndef EASYNAV_CONTROLLER__CONTROLLERNODE_HPP_
24#define EASYNAV_CONTROLLER__CONTROLLERNODE_HPP_
26#include "rclcpp/macros.hpp"
27#include "rclcpp_lifecycle/lifecycle_node.hpp"
28#include "easynav_core/ControllerMethodBase.hpp"
29#include "pluginlib/class_loader.hpp"
49 using
CallbackReturnT = rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn;
56 const rclcpp::NodeOptions & options = rclcpp::NodeOptions());
141 rclcpp::CallbackGroup::SharedPtr realtime_cbg_;
148 std::shared_ptr<ControllerMethodBase> controller_method_ {
nullptr};
155 const std::shared_ptr<const NavState> nav_state_;
163 std::unique_ptr<pluginlib::ClassLoader<easynav::ControllerMethodBase>> controller_loader_;
CallbackReturnT on_activate(const rclcpp_lifecycle::State &state)
Activates the ControllerNode node.
Definition ControllerNode.cpp:128
CallbackReturnT on_configure(const rclcpp_lifecycle::State &state)
Configures the ControllerNode node.
Definition ControllerNode.cpp:84
CallbackReturnT on_shutdown(const rclcpp_lifecycle::State &state)
Shuts down the ControllerNode node.
Definition ControllerNode.cpp:146
CallbackReturnT on_cleanup(const rclcpp_lifecycle::State &state)
Cleans up the ControllerNode node.
Definition ControllerNode.cpp:140
ControllerNode(const rclcpp::NodeOptions &options=rclcpp::NodeOptions())
Constructs a ControllerNode lifecycle node with the specified options.
Definition ControllerNode.cpp:36
bool cycle_rt(std::shared_ptr< NavState > nav_state, bool trigger=false)
Executes one cycle of real-time controller logic.
Definition ControllerNode.cpp:164
rclcpp::CallbackGroup::SharedPtr get_real_time_cbg()
Returns the real-time callback group.
Definition ControllerNode.cpp:158
CallbackReturnT on_error(const rclcpp_lifecycle::State &state)
Handles errors in the ControllerNode node.
Definition ControllerNode.cpp:152
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn CallbackReturnT
Definition ControllerNode.hpp:49
CallbackReturnT on_deactivate(const rclcpp_lifecycle::State &state)
Deactivates the ControllerNode node.
Definition ControllerNode.cpp:134
A generic, type-safe, thread-safe blackboard to hold runtime state.
Definition NavState.hpp:87
Definition CircularBuffer.hpp:28
Definition PointPerception.hpp:54