Class PointCloudHandler

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class PointCloudHandler : public live_telemetry::TopicHandler

Specialized handler for PointCloud2 topics (e.g. raw LiDAR)

Processing pipeline:

  1. Temporal downsampling — skip N frames (reuses Downsampler<T>)

  2. Radius crop — discard points beyond max_radius

  3. Voxel grid filtering — PCL VoxelGrid to reduce spatial density

  4. Field stripping — keep only xyz (+ optional intensity)

  5. Protobuf conversion — pack as foxglove.PointCloud for native rendering

This prevents a single point-cloud panel in Foxglove from saturating the WebSocket link and starving other panels (camera, odometry, …).

Public Types

using PointCloud2Msg = sensor_msgs::msg::PointCloud2

Public Functions

PointCloudHandler(rclcpp::Node *node, const HandlerConfig &config, FoxgloveLogger *logger)
~PointCloudHandler() override
inline virtual std::string getName() const override

Get the handler name for logging and identification.

bool setDownsamplingRatio(int ratio)