注意:本文只适和速腾聚创激光雷达
主要适配型号: RS-16 、 RS-Ruby
教程作用:在速腾官方驱动中加入一个ROS节点,采集数据时使速腾激光雷达格式的点直接转换为Velodyne格式,可以直接使用录制数据。
使用国产激光雷达但是使用国外开源算法的小悲哀,笔在适用开源的3D-SLAM算法时基本所有的算法都是适配Velodyne雷达的,这是美国产的激光雷达,价格昂贵国内使用的基本是进口的。这就导致自己使用国产品牌的激光雷达采集的数据难以直接匹配算法,需要做一系列的滤波转化之类的工作,笔者之前很大一部分时间是在做这个工作,但是不是每一个算法都可顺利匹配,痛定思痛,选择找一种一劳永逸的办法解决这一问题,于是有了以下方法。
具体安装步骤以及注意事项参考笔者的另外一篇博客:链接: Ubuntu18.04 安装速腾聚创最新驱动RSLidar_SDK采集XYZIRT格式的激光点云数据
.
1.安装好最新的驱动之后,打开lidar_sdk工作空间/src/rslidar_sdk文件位置与rslidar_sdk并列新建workspace,再新建src,src安装rs_to_velodyne包,并编译。
git clone https://hub.fastgit.org/HViktorTsoi/rs_to_velodyne.git cd .. catkin_make
2.在与src并列的位置新建launch文件夹,在launch文件夹内新建rs2velodyne.launch文件用来启动节点,并在launch内写入
<launch> <node pkg="rs_to_velodyne" name="rs_to_velodyne" type="rs_to_velodyne" args="XYZIRT" output="screen"> </node> </launch>
3.注意args参数,采集XYZIRT格式的点输入XYZIRT,采集XYZI格式的点输入XYZI
4.可先启动launch文件测试一下,
source devel/setup.bash roslaunch rs_to_velodyne rs2velodyne.launch
大概是这个效果:看到Listening to /rslidar_points …就说明可以了
无误后打开/home/oprater/RS_SDK/src/rslidar_sdk/launch(SDK驱动的launch文件)
5.添加以下语句,将转化节点随激光雷达驱动一起启动
<!--- rs_to_velodyne --> <include file="$(find rs_to_velodyne)/launch/rs2velodyne.launch" />
6.添加节点以后,重新编译整个workspace,电脑连接激光雷达,启动激光雷达驱动的launch文件使用 rostopic list
catkin_make source devel/setup.bash roslaunch rslidar_sdk start.launch rostopic list
查看是否存在/velodyne_points话题,存在即转化成功,录制数据使用此话题数据即可。
成功了以后大概是这样吧:
可以看到转化节点都运行起来了。
不学无术的又一天,新手难免采坑,难免出错,对于以上内容欢迎大家交流指正