• Stars
    star
    399
  • Rank 108,092 (Top 3 %)
  • Language
    C++
  • License
    BSD 3-Clause "New...
  • Created over 9 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Converts a 3D Point Cloud into a 2D laser scan.

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 the scan 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 a target_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 the cloud topic.

Parameters

  • queue_size (double, default: detected number of cores) - Input laser scan queue size.
  • 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 a target_frame is provided.

More Repositories

1

image_pipeline

An image processing pipeline for ROS.
C++
789
star
2

slam_gmapping

http://www.ros.org/wiki/slam_gmapping
C++
653
star
3

vision_opencv

C++
539
star
4

perception_pcl

PCL (Point Cloud Library) ROS interface stack
C++
417
star
5

depthimage_to_laserscan

Converts a depth image to a laser scan for use with navigation and localization.
C++
246
star
6

openslam_gmapping

C++
217
star
7

laser_filters

Assorted filters designed to operate on 2D planar laser scanners, which use the sensor_msgs/LaserScan type.
C++
166
star
8

perception_open3d

Open3D analog to perception_pcl, containing conversion functions from Open3D to/from ROS types
C++
158
star
9

vision_msgs

Algorithm-agnostic computer vision message types for ROS.
C++
155
star
10

laser_geometry

Provides the LaserProjection class for turning laser scan data into point clouds.
C++
153
star
11

slam_karto

ROS Wrapper and Node for OpenKarto
C++
147
star
12

open_karto

Catkinized ROS Package of the OpenKarto Library (LGPL3)
C++
131
star
13

image_common

Common code for working with images in ROS
C++
124
star
14

imu_pipeline

Transforms sensor_msgs/Imu messages into new coordinate frames using tf
C++
97
star
15

point_cloud_transport

Point Cloud Compression for ROS
C++
75
star
16

opencv_apps

http://wiki.ros.org/opencv_apps
C++
64
star
17

sparse_bundle_adjustment

Sparse Bundle Adjustment Library (used by slam_karto)
C++
59
star
18

image_transport_plugins

A set of plugins for publishing and subscribing to sensor_msgs/Image topics in representations other than raw pixel data.
C++
57
star
19

image_transport_tutorials

ROS 2 tutorials for image_transport.
C++
50
star
20

laser_assembler

Provides nodes to assemble point clouds from either LaserScan or PointCloud messages
C++
41
star
21

calibration

Provides a toolchain to calibrate sensors and URDF robot models.
Python
31
star
22

radar_msgs

A set of standard messages for RADARs in ROS
CMake
25
star
23

graft

UKF replacement for robot_pose_efk (still in development)
C++
11
star
24

pcl_conversions

[deprecated] pcl_conversions has moved to https://github.com/ros-perception/perception_pcl
C++
10
star
25

camera_pose

Python
9
star
26

laser_proc

Converts representations of sensor_msgs/LaserScan and sensor_msgs/MultiEchoLaserScan
C++
8
star
27

pcl_msgs

ROS package containing PCL-related messages
CMake
8
star
28

laser_pipeline

Meta-package for laser_assembler, laser_filters, and laser_geometry.
CMake
5
star
29

megatree

C++
4
star
30

slam_gmapping_test_data

Repo to contain data (like ROS bags) to use for testing and gmapping
3
star