1 #ifndef LIDAR_INTERPRETER_HPP 2 #define LIDAR_INTERPRETER_HPP 5 #include "ISensorInterpreter.hpp" 6 #include <pcl/point_cloud.h> 7 #include <pcl/point_types.h> 49 using PointCloudWithId =
50 std::pair<pcl::PointCloud<pcl::PointXYZ>, std::uint32_t>;
52 static Object convert_cup_to_polyhedron(
const Cup& cup_in_robot_arm_space);
53 static Cup translate_lidar_to_robot_arm(
const Cup& cup_in_lidar_space);
54 static Cup get_centerpoint_from_contour(
55 const PointCloudWithId& point_cloud_with_id);
56 PointCloudWithId find_contour(
double angle);
57 static double translate_kinect_to_lidar(
58 const std::shared_ptr<cv::Mat>& frame,
59 const cv::Point& point);
A class for mapping the ROS::Object defined in msg/Object.msg.
Definition: Object.hpp:22
CGAL::Simple_cartesian< double >::Point_3 Point
Data type specifying a point in 3D space.
Definition: Object.hpp:27
std::vector< Object > get_objects(const HLR::Vision::CupDetection &detected_cups) override
Construct the objects in the given CupDetection.
Collection of detected cups Collection of detected cups where the location of the cups is described i...
Definition: ICupDetector.hpp:17
An abstract class responsible for reading and interpreting the data from a device interpreting the wo...
Definition: ISensorInterpreter.hpp:16
A class responsible for reading and interpreting the LiDAR data.
Definition: LidarInterpreter.hpp:17