event_detector 1.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
event_detector::EventDetector Class Reference
Inheritance diagram for event_detector::EventDetector:

Public Member Functions

 EventDetector (rclcpp::NodeOptions options)
 Constructor getting its options e.g. from ComposableNodeContainer.
 
std::vector< ClientConnectiongetConnectedClients () const
 Returns client connection details.
 

Protected Member Functions

rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn on_configure (const rclcpp_lifecycle::State &state) override
 State transition callback for 'configure' transition.
 
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn on_activate (const rclcpp_lifecycle::State &state) override
 State transition callback for 'activate' transition.
 
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn on_deactivate (const rclcpp_lifecycle::State &state) override
 State transition callback for 'deactivate' transition.
 
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn on_cleanup (const rclcpp_lifecycle::State &state) override
 State transition callback for 'cleanup' transition.
 
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn on_shutdown (const rclcpp_lifecycle::State &state) override
 State transition callback for 'shutdown' transition.
 
void registerClients ()
 Sets up subscriptions for connected client.
 
void insertTransformPassthrough (const std::shared_ptr< const tf2_msgs::msg::TFMessage > &transforms, const std::string &topic, std::optional< rclcpp::Time > stamp_override=std::optional< rclcpp::Time >())
 Callback for tf2_msgs::msg::TFMessage that groups the transforms by clients and passes them to the corresponding buffer insertion function.
 
void waitForTimeToStart ()
 Waits until the ROS 2 time has started.
 
void loadParameters ()
 Loads ROS parameters used in the node.
 
void loadClientParameters ()
 Loads ROS parameters for EventDetector clients.
 
void setup ()
 Sets up BufferManager, DatabaseInterface, subscribers and registers the clients.
 
void initializeBufferFromBag ()
 initializes buffer from bag
 
template<typename T >
void insertPassthrough (const std::shared_ptr< const T > &sample, const std::string &client_id, const std::string &topic, std::optional< rclcpp::Time > stamp_override=std::optional< rclcpp::Time >())
 Callback template for inserting data into the buffer.
 
template<typename T >
rclcpp::Time getSampleStamp (const T &sample)
 Function for retrieving a time stamp to associate with a received message depending on buffer parameters.
 
rcl_interfaces::msg::SetParametersResult onParametersSetCallback (const std::vector< rclcpp::Parameter > &params)
 Callback for validating parameter changes.
 
void postParameterSetCallback (rcl_interfaces::msg::ParameterEvent::UniquePtr event)
 Callback for acting upon parameter changes.
 

Protected Attributes

OnSetParametersCallbackHandle::SharedPtr callback_handle_
 Callback handle for onParameterSetCallback.
 
rclcpp::SyncParametersClient::SharedPtr parameters_client_
 Client for receiving parameter changes.
 
rclcpp::Subscription< rcl_interfaces::msg::ParameterEvent >::SharedPtr param_sub_
 Subscription to parameter events.
 
struct { 
 
   double   default_time 
 default buffer time More...
 
   int   default_queue_size 
 default subscriber queue size More...
 
   bool   use_msg_stamp 
 whether to use msg stamp for sorting if possible More...
 
   std::vector< std::string >   initialization_bags 
 filepaths used for initializing buffer at startup More...
 
buffer_config_ 
 buffer configuration
 
struct { 
 
   double   default_period 
 default analysis interval More...
 
analysis_config_ 
 analysis configuration
 
std::shared_ptr< BufferManagerbuffer_manager_
 BufferManager component.
 
std::shared_ptr< AnalysisManageranalysis_manager_
 AnalysisManager component.
 
std::vector< ClientConnectionconnected_clients_
 client connection details
 
std::shared_mutex reconfigure_mutex_
 mutex for connected clients vector
 
rclcpp::Subscription< tf2_msgs::msg::TFMessage >::SharedPtr transforms_subscriber_
 ROS subscriber for transforms.
 
rclcpp::Subscription< tf2_msgs::msg::TFMessage >::SharedPtr static_transforms_subscriber_
 

Detailed Description

Definition at line 49 of file EventDetector.hpp.

Constructor & Destructor Documentation

◆ EventDetector()

event_detector::EventDetector::EventDetector ( rclcpp::NodeOptions  options)
explicit

Constructor getting its options e.g. from ComposableNodeContainer.

Parameters
optionsNodeOptions

Member Function Documentation

◆ getConnectedClients()

std::vector< ClientConnection > event_detector::EventDetector::getConnectedClients ( ) const

Returns client connection details.

Returns
std::vector<ClientConnection> client connection details

◆ insertPassthrough()

template<typename T >
void event_detector::EventDetector::insertPassthrough ( const std::shared_ptr< const T > &  sample,
const std::string &  client_id,
const std::string &  topic,
std::optional< rclcpp::Time >  stamp_override = std::optional< rclcpp::Time >() 
)
protected

Callback template for inserting data into the buffer.

Determines timestamp and passes it to buffer's insertion function.

Template Parameters
Tsupported data type as defined in datatypes.macro
Parameters
sampledata message
client_idclient ID
topicROS topic which triggers this callback
stamp_overridewill be used as buffer stamp if present

◆ insertTransformPassthrough()

void event_detector::EventDetector::insertTransformPassthrough ( const std::shared_ptr< const tf2_msgs::msg::TFMessage > &  transforms,
const std::string &  topic,
std::optional< rclcpp::Time >  stamp_override = std::optional< rclcpp::Time >() 
)
protected

Callback for tf2_msgs::msg::TFMessage that groups the transforms by clients and passes them to the corresponding buffer insertion function.

Parameters
transformsmessage containing transforms
topicROS topic which triggers this callback
stamp_overridewill be used as buffer stamp if present

◆ on_activate()

rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn event_detector::EventDetector::on_activate ( const rclcpp_lifecycle::State &  state)
overrideprotected

State transition callback for 'activate' transition.

Parameters
statestate
Returns
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn success, failure, error

◆ on_cleanup()

rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn event_detector::EventDetector::on_cleanup ( const rclcpp_lifecycle::State &  state)
overrideprotected

State transition callback for 'cleanup' transition.

Parameters
statestate
Returns
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn success, failure, error

◆ on_configure()

rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn event_detector::EventDetector::on_configure ( const rclcpp_lifecycle::State &  state)
overrideprotected

State transition callback for 'configure' transition.

Parameters
statestate
Returns
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn success, failure, error

◆ on_deactivate()

rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn event_detector::EventDetector::on_deactivate ( const rclcpp_lifecycle::State &  state)
overrideprotected

State transition callback for 'deactivate' transition.

Parameters
statestate
Returns
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn success, failure, error

◆ on_shutdown()

rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn event_detector::EventDetector::on_shutdown ( const rclcpp_lifecycle::State &  state)
overrideprotected

State transition callback for 'shutdown' transition.

Parameters
statestate
Returns
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn success, failure, error

◆ registerClients()

void event_detector::EventDetector::registerClients ( )
protected

Sets up subscriptions for connected client.

Clients get assigned unique IDs.

Member Data Documentation

◆ analysis_manager_

std::shared_ptr<AnalysisManager> event_detector::EventDetector::analysis_manager_
protected

AnalysisManager component.

Definition at line 239 of file EventDetector.hpp.

◆ buffer_manager_

std::shared_ptr<BufferManager> event_detector::EventDetector::buffer_manager_
protected

BufferManager component.

Definition at line 234 of file EventDetector.hpp.

◆ callback_handle_

OnSetParametersCallbackHandle::SharedPtr event_detector::EventDetector::callback_handle_
protected

Callback handle for onParameterSetCallback.

Definition at line 202 of file EventDetector.hpp.

◆ connected_clients_

std::vector<ClientConnection> event_detector::EventDetector::connected_clients_
protected

client connection details

Definition at line 244 of file EventDetector.hpp.

◆ default_period

double event_detector::EventDetector::default_period

default analysis interval

Definition at line 228 of file EventDetector.hpp.

◆ default_queue_size

int event_detector::EventDetector::default_queue_size

default subscriber queue size

Definition at line 219 of file EventDetector.hpp.

◆ default_time

double event_detector::EventDetector::default_time

default buffer time

Definition at line 218 of file EventDetector.hpp.

◆ initialization_bags

std::vector<std::string> event_detector::EventDetector::initialization_bags

filepaths used for initializing buffer at startup

Definition at line 221 of file EventDetector.hpp.

◆ param_sub_

rclcpp::Subscription<rcl_interfaces::msg::ParameterEvent>::SharedPtr event_detector::EventDetector::param_sub_
protected

Subscription to parameter events.

Definition at line 212 of file EventDetector.hpp.

◆ parameters_client_

rclcpp::SyncParametersClient::SharedPtr event_detector::EventDetector::parameters_client_
protected

Client for receiving parameter changes.

Definition at line 207 of file EventDetector.hpp.

◆ reconfigure_mutex_

std::shared_mutex event_detector::EventDetector::reconfigure_mutex_
mutableprotected

mutex for connected clients vector

Definition at line 249 of file EventDetector.hpp.

◆ static_transforms_subscriber_

rclcpp::Subscription<tf2_msgs::msg::TFMessage>::SharedPtr event_detector::EventDetector::static_transforms_subscriber_
protected

ROS subscriber for static transforms

Definition at line 259 of file EventDetector.hpp.

◆ transforms_subscriber_

rclcpp::Subscription<tf2_msgs::msg::TFMessage>::SharedPtr event_detector::EventDetector::transforms_subscriber_
protected

ROS subscriber for transforms.

Definition at line 254 of file EventDetector.hpp.

◆ use_msg_stamp

bool event_detector::EventDetector::use_msg_stamp

whether to use msg stamp for sorting if possible

Definition at line 220 of file EventDetector.hpp.


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