在利用lio-sam代码运行自己的数据包时,若自己的雷达是速腾雷达,一定会遇到一个问题:那就是采集到的数据不可以直接用,因为速腾的点云数据与Velodyne有一定的不同。然后对于lio-sam,它对激光雷达的数据格式有要求,考虑到与IMU时间同步问题,源码中会检查激光雷达的ring通道和时间戳是否符合要求。即x, y, z, intensity, ring, timestamp格式。下面是自己在转换点云格式遇到的种种问题的总结,希望能帮助到大家。
环境:ubuntu18.04,速腾RS-16
一、雷达驱动下载
对于rslidar_sdk的下载与连通速腾雷达的教程,可以看这篇文章。
Ubuntu测试使用速腾RS-Lidar-16_冈部伦太郎.的博客-CSDN博客
当速腾雷达驱动安装成功后,在确认一些东西,就可以开始解决点云数据转换的问题了。
①进入你下载好的rslidar_sdk功能包里,打开CMakeLists,查看set(POINT_TYPE XYZIRT)与set(COMPILE_METHOD CATKIN)后面的格式是否已经改成XYZIRT 和 CATKIN了
② 将rslidar_sdk工程目录下的package_ros1.xml文件重命名为package.xml。若有了就不需要做这步
ok,现在可以开始做点云数据转换了。
二、安装rs_to_velodyne转化节点
进入安装速腾雷达驱动的功能包的src目录中,输入
git clone https://github.com/HViktorTsoi/rs_to_velodyne.git
这里注意一下,如果之前你一直跟着我推荐的链接步骤做的话,那么你现在就是需要在 ~/lidar/src目录下输