1 #ifndef POINT_CLOUD_NODE_HPP     2 #define POINT_CLOUD_NODE_HPP     6 #include <HLR/FullWorld.h>      8 #include <sensor_msgs/LaserScan.h>     9 #include <std_msgs/Header.h>    10 #include <tf/transform_listener.h>    12 #include "ObjectInterpreter.hpp"    13 #include <Vision/ICupDetector.hpp>    14 #include <laser_geometry/laser_geometry.h>    15 #include <pcl/PCLPointCloud2.h>    16 #include <pcl/conversions.h>    17 #include <pcl/point_types.h>    18 #include <pcl_conversions/pcl_conversions.h>    19 #include <pcl_ros/transforms.h>    23 #include <condition_variable>    68     const ros::Rate update_rate;
    71     ros::ServiceServer service;
    72     ros::Publisher publisher;
    75     tf::TransformListener transform_listener;
    78     std::unique_ptr<HLR::Vision::ICupDetector> cup_detector;
    81     pcl::PointCloud<pcl::PointXYZ> latest_point_cloud;
    83     void publish_world(
const ros::TimerEvent& event);
    85     bool service_callback(HLR::FullWorld::Request& request,
    86                           HLR::FullWorld::Response& response);
    87     void scan_callback(
const sensor_msgs::LaserScan::ConstPtr& scan);
    95     std::atomic_bool shutdown{
false};
    97     bool callback_called{
false};
    98     std::mutex callback_mutex;
    99     std::condition_variable callback_cv;
 Class responsible for merging the world data from the Kinect and the LiDAR. 
Definition: ObjectInterpreter.hpp:21
void run()
Run the pipeline reading data from the Kinect and LiDAR, interpreting it and publishing it on a ROS t...
PointCloudNode(ros::Rate update_rate)
Initialize PointCloudNode. 
Collection of detected cups Collection of detected cups where the location of the cups is described i...
Definition: ICupDetector.hpp:17
This class is the main class for the PointCloud namespaces. 
Definition: PointCloudNode.hpp:39