5

RoboSense速腾雷达运行Lego-Loam踩坑小记

 1 year ago
source link: https://zhuanlan.zhihu.com/p/486051530
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

RoboSense速腾雷达运行Lego-Loam踩坑小记

最近有一个项目需要用Lego-Loam方法复现一下建图流程,Lego-Loam方法本身作为一种轻量化的激光雷达建图定位开源算法没有什么好说的,但是运行RoboSense雷达bag数据的时候遇到了一些问题,在这里记录一下做一个备忘。

跑过Lego-Loam开源框架的兄弟都知道本身Lego-Loam是基于VLP-16雷达开发的,在默认参数里面虽然有几种参数但也都是VLP系列的雷达。而我手里的这个bag是用RoboSense雷达记录的,我本身以为没有什么区别,但是运行算法之后在Rviz里面无论怎么调都是一片黑,然后我就稍微研究了一下,发现RoboSense雷达记录的bag信息有一定区别,先rosbag info一下:

v2-9d4df341943cc12ff151c9b421aaee90_720w.webp

可以看到里面话题名为rslidar_points,而VLP雷达的为velodyne_points,这个可以直接在Lego-Loam文件里面改,但是我担心直接运行可能会出问题,所以参考了一下这个博客:在用robosense的rslidar(16线)运行lego-loam遇到的问题总结_这道题太难了!的博客-CSDN博客_robosense跑loam,嗯找到了一个开源的方法可以将rslidar_points转成velodyne_points格式:https://github.com/HViktorTsoi/rs_to_velodyne

v2-8ecfcc4e3dea4585991eea72506c9c0e_720w.webp

我的雷达类型是RS-Helios,按理说是可以转换的,但是实际操作过程中我发现,手里这个bag包采集的是点云的XYZ信息,而不是开源方法的XYZI信息或者XYZIRT信息,所以这个方法根本跑不了。不过这时我又想到,如果只是采集的XYZ信息,那么按理说两种点云应该都是没什么区别的,所以我也懒得改本体程序,直接修改rosrun命令:rosbag play *.bag --clock /rslidar_points:=/velodyne_points,当然在此之前记得把头文件里面是否使用ring信息设置为false(只有XYZIR或者XYZIRT点云有ring信息),然后就可以跑了:

v2-56500d8a16a530f252a0988e7dfa0109_720w.webp

当然这个从头到尾都是个小问题,不过却折腾了好一会儿,留此作为一个备份免得再踩坑了。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK