Easy Navigation
Loading...
Searching...
No Matches
PointPerception.hpp File Reference

Defines data structures and utilities for representing and processing sensor perceptions. More...

#include <string>
#include <vector>
#include <optional>
#include "pcl_conversions/pcl_conversions.h"
#include "pcl/point_types_conversion.h"
#include "pcl/common/transforms.h"
#include "pcl/point_cloud.h"
#include "pcl/point_types.h"
#include "pcl/PointIndices.h"
#include "sensor_msgs/msg/laser_scan.hpp"
#include "sensor_msgs/msg/point_cloud2.hpp"
#include "rclcpp/time.hpp"
#include "rclcpp_lifecycle/lifecycle_node.hpp"
#include "easynav_common/types/Perceptions.hpp"
Include dependency graph for PointPerception.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  hash< std::tuple< int, int, int > >
 Custom std::hash specialization for std::tuple<int, int, int>. More...
 
class  PointPerception
 Concrete perception class for 3D point cloud data. More...
 
class  PointPerceptionHandler
 PerceptionHandler implementation for sensors producing point-based data. More...
 
class  PointPerceptionsOpsView
 Provides efficient, non-destructive, chainable operations over a set of point-based perceptions. More...
 
struct  PointPerceptionsOpsView::VoxelKey
 Represents a discrete 3D voxel index for downsampling. More...
 
struct  PointPerceptionsOpsView::VoxelKeyHash
 Hash function for VoxelKey. More...
 

Namespaces

namespace  easynav
 
namespace  std
 

Typedefs

using PointPerceptions
 Alias for a vector of pointers to PointPerception objects.
 

Functions

void convert (const sensor_msgs::msg::LaserScan &scan, pcl::PointCloud< pcl::PointXYZ > &pc)
 Converts a LaserScan message into a point cloud.
 
PointPerceptions get_point_perceptions (std::vector< PerceptionPtr > &perceptionptr)
 
sensor_msgs::msg::PointCloud2 perception_to_rosmsg (const PointPerception &perception)
 Converts a PointPerception to a sensor_msgs::msg::PointCloud2 message.
 
sensor_msgs::msg::PointCloud2 points_to_rosmsg (const pcl::PointCloud< pcl::PointXYZ > &points)
 Converts a PCL point cloud to a sensor_msgs::msg::PointCloud2 message.
 

Detailed Description

Defines data structures and utilities for representing and processing sensor perceptions.

Defines data structures and utilities for representing and processing point-based sensor perceptions.

Includes conversion between ROS messages and PCL point clouds, fusion of data, and tools for creating filtered views.

This file includes:

  • PointPerception: a concrete class for point cloud data.
  • PointPerceptionHandler: a handler for LaserScan and PointCloud2 messages.
  • PointPerceptionsOpsView: an efficient view-based operator class for processing multiple perceptions.
  • Conversion utilities between ROS messages and PCL point clouds.