Class ThreadedNode

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class ThreadedNode : public rko_lio::ros::BaseNode

Subclassed by rko_lio::ros::OfflineNode, rko_lio::ros::OnlineNode

Public Functions

ThreadedNode() = delete
ThreadedNode(const std::string &node_name, const rclcpp::NodeOptions &options)
void imu_callback(const sensor_msgs::msg::Imu::ConstSharedPtr &imu_msg)
void lidar_callback(const sensor_msgs::msg::PointCloud2::ConstSharedPtr &lidar_msg)
void registration_loop()
~ThreadedNode()
ThreadedNode(const ThreadedNode&) = delete
ThreadedNode(ThreadedNode&&) = delete
ThreadedNode &operator=(const ThreadedNode&) = delete
ThreadedNode &operator=(ThreadedNode&&) = delete

Public Members

std::jthread registration_thread
std::mutex buffer_mutex
std::condition_variable sync_condition_variable
std::atomic<bool> atomic_can_process = false
std::queue<core::ImuControl> imu_buffer
std::queue<LidarFrame> lidar_buffer
size_t max_lidar_buffer_size = 50