pointcloud_to_laserscan
Converts a 3D Point Cloud into a 2D laser scan. This is useful for making devices like the Kinect appear like a laser scanner for 2D-based algorithms (e.g. laser-based SLAM).
Links
README
ROS 2 pointcloud <-> laserscan converters
This is a ROS 2 package that provides components to convert sensor_msgs/msg/PointCloud2
messages to sensor_msgs/msg/LaserScan
messages and back.
It is essentially a port of the original ROS 1 package.
pointcloud_to_laserscan::PointCloudToLaserScanNode
This ROS 2 component projects sensor_msgs/msg/PointCloud2
messages into sensor_msgs/msg/LaserScan
messages.
Published Topics
scan
(sensor_msgs/msg/LaserScan
) - The output laser scan.
Subscribed Topics
cloud_in
(sensor_msgs/msg/PointCloud2
) - The input point cloud. No input will be processed if there isn’t at least one subscriber to thescan
topic.
Parameters
min_height
(double, default: 2.2e-308) - The minimum height to sample in the point cloud in meters.max_height
(double, default: 1.8e+308) - The maximum height to sample in the point cloud in meters.angle_min
(double, default: -π) - The minimum scan angle in radians.angle_max
(double, default: π) - The maximum scan angle in radians.angle_increment
(double, default: π/180) - Resolution of laser scan in radians per ray.queue_size
(double, default: detected number of cores) - Input point cloud queue size.scan_time
(double, default: 1.0/30.0) - The scan rate in seconds. Only used to populate the scan_time field of the output laser scan message.range_min
(double, default: 0.0) - The minimum ranges to return in meters.range_max
(double, default: 1.8e+308) - The maximum ranges to return in meters.target_frame
(str, default: none) - If provided, transform the pointcloud into this frame before converting to a laser scan. Otherwise, laser scan will be generated in the same frame as the input point cloud.transform_tolerance
(double, default: 0.01) - Time tolerance for transform lookups. Only used if atarget_frame
is provided.use_inf
(boolean, default: true) - If disabled, report infinite range (no obstacle) as range_max + 1. Otherwise report infinite range as +inf.
pointcloud_to_laserscan::LaserScanToPointCloudNode
This ROS 2 component re-publishes sensor_msgs/msg/LaserScan
messages as sensor_msgs/msg/PointCloud2
messages.
Published Topics
cloud
(sensor_msgs/msg/PointCloud2
) - The output point cloud.
Subscribed Topics
scan_in
(sensor_msgs/msg/LaserScan
) - The input laser scan. No input will be processed if there isn’t at least one subscriber to thecloud
topic.
Parameters
queue_size
(double, default: detected number of cores) - Input laser scan queue size.target_frame
(str, default: none) - If provided, transform the laser scan into this frame before converting to a pointcloud. Otherwise, pointcloud will be generated in the same frame as the input laser scan.transform_tolerance
(double, default: 0.01) - Time tolerance for transform lookups. Only used if atarget_frame
is provided.