使用系统:ubuntu20.04 + noetic
一.安装pointcloud_to_laserscan包
方法:源码安装
GitHub链接httpsgithub地址:https://github.com/ros-perception/pointcloud_to_laserscan/tree/indigo-devel
注意:不可以使用git clone , 应使用压缩包的形式,解压后放置于自己的src文件下。
注意:ROS1一般下载indigo_devel或者lunar_devel 我最开始下载的是indigo_devel一直无法编译,改成lunar_devel就可以成功编译。
二. 编写自己的launch文件
<?xml version="1.0"?>
<launch>
<!-- run pointcloud_to_laserscan node -->
<node pkg="pointcloud_to_laserscan" type="pointcloud_to_laserscan_node" name="pointcloud_to_laserscan">
<remap from="cloud_in" to="/velodyne_points"/>
<rosparam>
#target_frame: camera_link # Leave disabled to output scan in pointcloud frame
transform_tolerance: 0.01
min_height: 0.0
max_height: 1.0
angle_min: -3.1415926 # -M_PI
angle_max: 3.1415926 # M_PI
angle_increment: 0.003 # 0.17degree
scan_time: 0.1
range_min: 0.2
range_max: 100
use_inf: true
# Concurrency level, affects number of pointclouds queued for processing and number of threads used
# 0 : Detect number of cores
# 1 : Single threaded
# 2->inf : Parallelism level
concurrency_level: 1
</rosparam>
</node>
</launch>
需要注意的是:
1.
因为激光雷达节点发布的信息是/velodyne_points,因此需要将pointcloud_to_laserscan的订阅信息从默认的cloud_in改为/velodyne_points。
2.angle_min、angle_max、angle_increment的设置
github上下载的launch文件是针对深度相机的,所以角度范围是 [ − π / 2 , π / 2 ] [-\pi/2,\pi/2][−π/2,π/2] ,也就是只有相机前方有点。由于多线激光雷达是360 ° 360\degree360°均可探测的,角度范围设置为[ − π , π ] [-\pi,\pi][−π,π]
三.结果展示
这是点云数据
这是转换的二维雷达数据