可支持Livox固态激光雷达的slam算法LILI-OM实测

目录

源码编译:

实际测试:


LILI-OM是一种紧耦合的IMU和激光雷达融合SLAM方案,可支持固态激光雷达和机械激光雷达。前端匹配采用基于特征的轻量级激光雷达里程计,可以自适应地提取关键帧进行快速运动估计。后端通过边缘化执行基于关键帧的分层滑动窗口优化方法,用于直接融合IMU和激光雷达测量数据。论文已发,代码开源,先列在下面。

paper:Li K, Li M, Hanebeck U D. Towards high-performance solid-state-lidar-inertial odometry and mapping[J]. IEEE Robotics and Automation Letters, 2021, 6(3): 5167-5174.

github:https://github.com/KIT-ISAS/lili-om

源码编译:

Readme中其实已经介绍的很详细了,这里只做一些补充。

算法运行在ROS下的,支持Melodic和Noetic,因为依赖PCL1.8,而Kinetic默认安装PCL1.7,可能不能很好支持,这点还没有测试,后面可能会重装PCL1.8测试一下,本文都是基于Melodic实现的。

依赖库中的Ceres正常安装就好,gtsam要注意下,如果用的是新版本的gtsam(我用的4.0.3),可能在运行lili-om时报错,报错原因是找不到libmetis-gtsam.so文件,默认是安装在“/usr/local/lib” 目录下,而程序搜索的路径是“/usr/lib”,所以没有找到,直接简单粗暴地把他复制过来就行了。

$ sudo cp /usr/local/lib/libmetis-gtsam.so /usr/lib/

lili-om用的激光雷达是Livox,型号horizon,点云数据也采用了Livox自定义的格式,所以需要安装Livox的ROS驱动,版本推荐2.5.0,我用的也是这个版本,还需要安装下Livox SDK。驱动具体的安装方法可以参考下其它博客。

然后按照代码readme中编译源码,编译完成后跑下demo确认编译OK。

实际测试:

我手上有一台Livox Horizon激光雷达,直接装在我心爱的小机器人上,实际测试下lili-om的效果。测试场地就是一般的办公楼,源码中许多参数是根据室外场景设置的,所以和尺度相关的参数可以适当调小一些。建完的点云地图效果是这样的:

尝试调了一些参数,并改了rivz的可视化效果。不得不吐槽下源码的可视化,视角调不动,点云地图显示也不清楚,当然这都不关键。

整体的建图效果还是不错的,回环的匹配也很准。因为室内的过道比较窄,拐弯处点云邻帧匹配退化严重,定位会有一点漂,但也没有差太多,回环基本可以把误差拉回来。

后面看完论文和代码再做整理,因为最近在做固态激光雷达slam,其它如loam livox和fast lio也会逐步分享。

 

你可能感兴趣的:(slam,人工智能,linux,传感器)