Ubuntu18 安装ROS节点解决----速腾聚创雷达点云格式转换为Velodyne雷达点云格式 --SLAM不学无术小问题

注意:本文只适和速腾聚创激光雷达
主要适配型号: RS-16 、 RS-Ruby

教程作用:在速腾官方驱动中加入一个ROS节点,采集数据时使速腾激光雷达格式的点直接转换为Velodyne格式,可以直接使用录制数据。

背景

  使用国产激光雷达但是使用国外开源算法的小悲哀,笔在适用开源的3D-SLAM算法时基本所有的算法都是适配Velodyne雷达的,这是美国产的激光雷达,价格昂贵国内使用的基本是进口的。这就导致自己使用国产品牌的激光雷达采集的数据难以直接匹配算法,需要做一系列的滤波转化之类的工作,笔者之前很大一部分时间是在做这个工作,但是不是每一个算法都可顺利匹配,痛定思痛,选择找一种一劳永逸的办法解决这一问题,于是有了以下方法。

一、安装速腾聚创官方最新驱动lidar_sdk

  具体安装步骤以及注意事项参考笔者的另外一篇博客:链接: Ubuntu18.04 安装速腾聚创最新驱动RSLidar_SDK采集XYZIRT格式的激光点云数据
.

二、安装rs_to_velodyne转化节点

1.安装好最新的驱动之后,打开lidar_sdk工作空间/src/rslidar_sdk文件位置与rslidar_sdk并列新建workspace,再新建src,src安装rs_to_velodyne包,并编译。

git clone https://github.com/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 …就说明可以了
Ubuntu18 安装ROS节点解决----速腾聚创雷达点云格式转换为Velodyne雷达点云格式 --SLAM不学无术小问题_第1张图片

无误后打开src/rslidar_sdk/launch/start.launch(SDK驱动的launch文件)
5.添加以下语句,将转化节点随激光雷达驱动一起启动

 <!--- rs_to_velodyne -->
  <include file="$(find rs_to_velodyne)/launch/rs2velodyne.launch" />

6.添加节点以后,重新编译整个workspace,电脑连接激光雷达,启动激光雷达驱动的launch文件

catkin_make

source devel/setup.bash

roslaunch rslidar_sdk start.launch

rostopic list 

使用 rostopic list 查看是否存在/velodyne_points话题,存在即转化成功,录制数据使用此话题数据即可。

成功了以后大概是这样吧:
Ubuntu18 安装ROS节点解决----速腾聚创雷达点云格式转换为Velodyne雷达点云格式 --SLAM不学无术小问题_第2张图片

可以看到转化节点都运行起来了。下面的ERRCODE…报错是因为笔者么有连接激光雷达,正常连接以后没有这个报错,出现红圈地方标注的提示就可以了。

不学无术的又一天,新手难免采坑,难免出错,对于以上内容欢迎大家交流指正

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42141088/article/details/117222678

你可能感兴趣的:(slam)