event_detector 1.0.0
|
Public Member Functions | |
EventDetector (rclcpp::NodeOptions options) | |
Constructor getting its options e.g. from ComposableNodeContainer. | |
std::vector< ClientConnection > | getConnectedClients () 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 > ¶ms) |
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< BufferManager > | buffer_manager_ | |
BufferManager component. | ||
std::shared_ptr< AnalysisManager > | analysis_manager_ | |
AnalysisManager component. | ||
std::vector< ClientConnection > | connected_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_ | |
Definition at line 49 of file EventDetector.hpp.
|
explicit |
Constructor getting its options e.g. from ComposableNodeContainer.
options | NodeOptions |
std::vector< ClientConnection > event_detector::EventDetector::getConnectedClients | ( | ) | const |
Returns client connection details.
|
protected |
Callback template for inserting data into the buffer.
Determines timestamp and passes it to buffer's insertion function.
T | supported data type as defined in datatypes.macro |
sample | data message |
client_id | client ID |
topic | ROS topic which triggers this callback |
stamp_override | will be used as buffer stamp if present |
|
protected |
Callback for tf2_msgs::msg::TFMessage
that groups the transforms by clients and passes them to the corresponding buffer insertion function.
transforms | message containing transforms |
topic | ROS topic which triggers this callback |
stamp_override | will be used as buffer stamp if present |
|
overrideprotected |
State transition callback for 'activate' transition.
state | state |
|
overrideprotected |
State transition callback for 'cleanup' transition.
state | state |
|
overrideprotected |
State transition callback for 'configure' transition.
state | state |
|
overrideprotected |
State transition callback for 'deactivate' transition.
state | state |
|
overrideprotected |
State transition callback for 'shutdown' transition.
state | state |
|
protected |
Sets up subscriptions for connected client.
Clients get assigned unique IDs.
|
protected |
AnalysisManager component.
Definition at line 239 of file EventDetector.hpp.
|
protected |
BufferManager component.
Definition at line 234 of file EventDetector.hpp.
|
protected |
Callback handle for onParameterSetCallback.
Definition at line 202 of file EventDetector.hpp.
|
protected |
client connection details
Definition at line 244 of file EventDetector.hpp.
double event_detector::EventDetector::default_period |
default analysis interval
Definition at line 228 of file EventDetector.hpp.
int event_detector::EventDetector::default_queue_size |
default subscriber queue size
Definition at line 219 of file EventDetector.hpp.
double event_detector::EventDetector::default_time |
default buffer time
Definition at line 218 of file EventDetector.hpp.
std::vector<std::string> event_detector::EventDetector::initialization_bags |
filepaths used for initializing buffer at startup
Definition at line 221 of file EventDetector.hpp.
|
protected |
Subscription to parameter events.
Definition at line 212 of file EventDetector.hpp.
|
protected |
Client for receiving parameter changes.
Definition at line 207 of file EventDetector.hpp.
|
mutableprotected |
mutex for connected clients vector
Definition at line 249 of file EventDetector.hpp.
|
protected |
ROS subscriber for static transforms
Definition at line 259 of file EventDetector.hpp.
|
protected |
ROS subscriber for transforms.
Definition at line 254 of file EventDetector.hpp.
bool event_detector::EventDetector::use_msg_stamp |
whether to use msg stamp for sorting if possible
Definition at line 220 of file EventDetector.hpp.