Easy Navigation
Loading...
Searching...
No Matches
ControllerNode Class Reference

ROS 2 lifecycle node that manages calculating speeds for the Easy Navigation system. More...

#include <ControllerNode.hpp>

Inheritance diagram for ControllerNode:
Collaboration diagram for ControllerNode:

Public Types

using CallbackReturnT = rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn
 

Public Member Functions

 ControllerNode (const rclcpp::NodeOptions &options=rclcpp::NodeOptions())
 Constructs a ControllerNode lifecycle node with the specified options.
 
bool cycle_rt (std::shared_ptr< NavState > nav_state, bool trigger=false)
 Executes one cycle of real-time controller logic.
 
rclcpp::CallbackGroup::SharedPtr get_real_time_cbg ()
 Returns the real-time callback group.
 
CallbackReturnT on_activate (const rclcpp_lifecycle::State &state)
 Activates the ControllerNode node.
 
CallbackReturnT on_cleanup (const rclcpp_lifecycle::State &state)
 Cleans up the ControllerNode node.
 
CallbackReturnT on_configure (const rclcpp_lifecycle::State &state)
 Configures the ControllerNode node.
 
CallbackReturnT on_deactivate (const rclcpp_lifecycle::State &state)
 Deactivates the ControllerNode node.
 
CallbackReturnT on_error (const rclcpp_lifecycle::State &state)
 Handles errors in the ControllerNode node.
 
CallbackReturnT on_shutdown (const rclcpp_lifecycle::State &state)
 Shuts down the ControllerNode node.
 
 ~ControllerNode ()
 Destroys the ControllerNode object.
 

Detailed Description

ROS 2 lifecycle node that manages calculating speeds for the Easy Navigation system.

This node provides the interface between the controller module in EasyNav and the ROS 2 ecosystem. It handles lifecycle transitions, real-time scheduling of periodic tasks, and parameter setup.

Member Typedef Documentation

◆ CallbackReturnT

using CallbackReturnT = rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn

Constructor & Destructor Documentation

◆ ControllerNode()

ControllerNode ( const rclcpp::NodeOptions & options = rclcpp::NodeOptions())
explicit

Constructs a ControllerNode lifecycle node with the specified options.

Parameters
optionsNode options to configure the ControllerNode node.

◆ ~ControllerNode()

Destroys the ControllerNode object.

Member Function Documentation

◆ cycle_rt()

bool cycle_rt ( std::shared_ptr< NavState > nav_state,
bool trigger = false )

Executes one cycle of real-time controller logic.

This method is invoked periodically by a high-priority timer and is expected to compute control commands based on the current navigation state and input data.

Parameters
nav_stateShared pointer to the navigation state structure.
Returns
Bool value to indicate if trigger subsequent processes

◆ get_real_time_cbg()

rclcpp::CallbackGroup::SharedPtr get_real_time_cbg ( )

Returns the real-time callback group.

This callback group can be used to assign callbacks that require low latency or have real-time constraints.

Returns
Shared pointer to the real-time callback group.

◆ on_activate()

CallbackReturnT on_activate ( const rclcpp_lifecycle::State & state)

Activates the ControllerNode node.

This starts periodic navigation control cycles.

Parameters
stateThe current lifecycle state.
Returns
CallbackReturnT::SUCCESS if activation is successful.

◆ on_cleanup()

CallbackReturnT on_cleanup ( const rclcpp_lifecycle::State & state)

Cleans up the ControllerNode node.

Releases resources and resets the internal state.

Parameters
stateThe current lifecycle state.
Returns
CallbackReturnT::SUCCESS indicating cleanup is complete.

◆ on_configure()

CallbackReturnT on_configure ( const rclcpp_lifecycle::State & state)

Configures the ControllerNode node.

This is typically where parameters and interfaces are declared.

Parameters
stateThe current lifecycle state.
Returns
CallbackReturnT::SUCCESS if configuration is successful.

◆ on_deactivate()

CallbackReturnT on_deactivate ( const rclcpp_lifecycle::State & state)

Deactivates the ControllerNode node.

Control loops are stopped and interfaces are disabled.

Parameters
stateThe current lifecycle state.
Returns
CallbackReturnT::SUCCESS if deactivation is successful.

◆ on_error()

CallbackReturnT on_error ( const rclcpp_lifecycle::State & state)

Handles errors in the ControllerNode node.

This is called when a failure occurs during a lifecycle transition.

Parameters
stateThe current lifecycle state.
Returns
CallbackReturnT::SUCCESS indicating error handling is complete.

◆ on_shutdown()

CallbackReturnT on_shutdown ( const rclcpp_lifecycle::State & state)

Shuts down the ControllerNode node.

Called on final shutdown of the node's lifecycle.

Parameters
stateThe current lifecycle state.
Returns
CallbackReturnT::SUCCESS indicating shutdown is complete.

The documentation for this class was generated from the following files: