本文章用以记录一下LIO-SAM部署过程中遇到的一些问题和解决的方法,欢迎大家一起讨论遇到的问题和方法。持续更新~
LIO-SAM简单介绍:
LIO-SAM是Tixiao Shan在LeGO-LOAM的扩展,添加了IMU预积分因子和GPS因子:前端使用紧耦合的IMU融合方式,替代原有的帧间里程计,使得前端更轻量;后端沿用LeGO-LOAM,在此基础上融入了GPS观测。同时前端后端相互耦合,提高系统精度。
本人系统: Ubuntu18.04 + win10双系统 CPU:11代intel系列,GPU:3060
一、编译过程中的问题:
1. Opencv与PCL中Flann库的冲突问题:
针对这个问题,网上有两种解决方案,一个是说在编译错误的对应的函数中将include的pcl和opencv的顺序调整一下(不过我的不行);另一个是更改opencv中的flann库名:
参考该链接:PCL-OpenCV冲突的解决方案_正一番薯的博客-CSDN博客_ros memory corruption
我也是参考第二种方法,在Ubuntu系统下进行操作,先卸载自己下载下来的Opencv包中(即在Opencv包的build文件中sudo make uninstall),然后在Opencv包的modules中找到flann模块,然后进行以下几个更改:
1. 更改Cmakelist:
将ocv_define_module(flann opencv_core WRAP python)更改为:
ocv_define_module(flann2 opencv_core WRAP)
2. 更改include/opencv2/flann文件名为include/opencv2/flann2
3. 删除modules中的python模块
4. 在Opencv包中重建一个build然后重新安装,在make的时候针对报错的函数头文件中将flann更改为flann2即可。