LIO-SAM在Ubuntu20.04下编译和运行的问题
- 一、安装依赖项
- 1. Boost >= 1.65
- 2. CMake >= 3.0
- 3. gcc大于4.7.3就行
- 4. 安装 TBB
- 5. 安装 MKL
- 二、安装GTSAM
- 三、OpenCV 版本问题
- 四、pcl问题
-
- 五、/usr/bin/ld问题
- 六、运行报错
- 七、数据集
- 八、运行效果
建议运行LIO-SAM前,先在电脑上编译运行LeGO-LOAM,很多依赖项都属于继承关系,出现相关问题参考我的另一个博客Ubuntu20.04下的编译与运行LeGO-LOAM【问题解决】,对库的修改自行对照博客,对源码的修改请参照此处。
一、安装依赖项
1. Boost >= 1.65
sudo apt-get install libboost-all-dev
2. CMake >= 3.0
sudo apt-get install cmake
3. gcc大于4.7.3就行
查看版本
gcc --version
之后的依赖(TBB、MKL)是可选安装(Optional prerequisites - used automatically if findable by CMake),我没试过不装这些依赖是什么效果,但应该问题不大。
4. 安装 TBB
sudo apt-get install libtbb-dev
5. 安装 MKL
这一步首先要进入到 root 权限,进入root之后,步骤如下:
sudo bash
cd /tmp
wget https:
apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
exit
之后关闭root终端,重开一个终端 :
sudo wget https:
sudo sh -c 'echo deb https:
如果是32位系统,还要加上这句,64位跳过
sudo dpkg --add-architecture i386
紧接着:
sudo apt-get update
选择安装版本,选比较新的应该问题不大,给的示例是:
sudo apt-get install intel-mkl-2018.2-046
我安装的是2020.4-912,也就是:
sudo apt-get install intel-mkl-2020.4-912
二、安装GTSAM
这里需要注意,ubuntu20.04的需要选择GTSAM >= 4.0.3 的版本,否则会报“The “debug” argument must be followed by a library.”之类的错误。目前网上的解决方法都是说注释掉报错的部分,但这种操作本身风险就很大,在之后的cmake 和 install 时又会出现其他错误。因此,只要选择这时间之后的版本基本上都没问题。
三、OpenCV 版本问题
由于20.04自带的是OpenCV4,所以要对LIO-SAM代码做一点改动:
找到utility.h中的:#include<opencv/cv.h>,修改为#include <opencv2/imgproc.hpp>。即可成功编译。
四、pcl问题
C++14环境
错误如下(示例):
主要是让LIO-SAM支持C++14,所以只需要修改下载下来的源码中CMakeList.txt:
修改如下:
set(CMAKE_CXX_FLAGS "-std=c++14")
五、/usr/bin/ld问题
错误如下(示例):
在CMakeLists中加入:
find_package(Boost REQUIRED COMPONENTS timer thread serialization chrono)
六、运行报错
错误如下(实例):
解决办法:在新的终端执行以下指令
sudo apt-get install ros-noetic-fake-localization
sudo apt-get install ros-noetic-robot-localization
七、数据集
lio-sam配套数据集
八、运行效果
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)