将 3D 点云转换为 2D 激光扫描。这对于使 Kinect 等设备看起来像基于 2D 算法(例如基于激光 SLAM)的激光扫描仪非常有用。
如果您尝试从 RGBD 设备创建虚拟激光扫描,并且您的传感器是前向的,您会发现depthimage_to_laserscan会更加简单和高效,因为它对图像数据而不是庞大的点云进行操作。但是,如果您的传感器是有角度的,或者您有其他一些深奥的用例,您可能会发现此节点非常有帮助!
目录
-
节点
-
点云到激光扫描节点
-
pointcloud_to_laserscan_node采用点云并根据提供的参数生成 2D 激光扫描。
订阅的主题
cloud_in ( sensor_msgs/PointCloud2 )
- 输入点云。
发布的主题
- 输出激光扫描。
参数
~min_height (双精度, 默认值: 0.0)
- 点云中采样的最小高度(以米为单位)。
~max_height (双精度, 默认值: 1.0)
- 点云中采样的最大高度(以米为单位)。
~angle_min ( double,默认值:-π/2)
- 最小扫描角度(以弧度为单位)。
~angle_max ( double,默认值:π/2)
- 最大扫描角度(以弧度为单位)。
~angle_increment ( double,默认值:π/360)
- 激光扫描的分辨率,以每条射线的弧度为单位。
~scan_time ( double,默认值:1.0/30.0)
- 扫描速度(以秒为单位)。
~range_min(双精度,默认值:0.45)
- 返回的最小范围以米为单位。
~range_max(双精度,默认值:4.0)
- 返回的最大范围以米为单位。
~target_frame ( str,默认值:无)
- 如果提供,请在转换为激光扫描之前将点云转换为该帧。否则,激光扫描将在与输入点云相同的帧中生成。
~concurrency_level ( int,默认值:1)
- 用于处理点云的线程数。如果为 0,则自动检测核心数量并使用等效数量的线程。点云的输入队列大小与此参数相关。在 Nodelet 形式中,线程数受 Nodelet 管理器配置的限制。
~use_inf(布尔值,默认值:true)
- 如果禁用,则将无限范围(没有障碍物)报告为range_max + 1。否则将无限范围报告为+inf。与costmap_2d障碍层的inf_is_valid参数关联。
-
节点
与节点相同的 API,可用作pointcloud_to_laserscan/pointcloud_to_laserscan_nodelet。
参考链接:pointcloud_to_laserscan - ROS Wiki