sudo apt-get install libboost-all-dev
sudo apt-get install cmake
之后的依赖(TBB、MKL)是可选安装(Optional prerequisites - used automatically if findable by CMake),我没试过不装这些依赖是什么效果,但应该问题不大。
sudo apt-get install libtbb-dev
sudo bash
cd /tmp
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
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://apt.repos.intel.com/setup/intelproducts.list -O /etc/apt/sources.list.d/intelproducts.list
sudo sh -c 'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list'
如果是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
至此,依赖安装完毕。
Clone源码或者直接下载安装包:
这里提供直接下载安装包的下载连接:
Releases · borglab/gtsam · GitHub 可以选择自己需要的版本,每个版本的最后都有Assets,可以直接下载安装包(.zip或者.tar.gz)。
这里需要注意,ubuntu20.04的需要选择GTSAM >= 4.0.3 的版本,否则会报“The "debug" argument must be followed by a library.”之类的错误。目前网上的解决方法都是说注释掉报错的部分,但这种操作本身风险就很大,在之后的cmake 和 install 时又会出现其他错误。而我查阅了GTSAM中的issue发现这个错误在2020年6月(18 Jun)的更新中已经得到了解决。因此,只要选择这时间之后的版本基本上都没问题。
之后的步骤按照官网的指引基本上没问题,这里我复制粘贴一下:
#!bash
$ cd gtsam-1.X.X #替换成自己的目录
$ mkdir build
$ cd build
$ cmake ..
$ make check
$ sudo make install
这是一般的安装过程,若之后要运行LIO-SAM则cmake步骤要稍微调整,如下所示:
#!bash
$ cd gtsam-1.X.X #替换成自己的目录
$ mkdir build
$ cd build
$ cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..
$ make check
$ sudo make install
至此,Ubuntu20.04 系统安装 GTSAM 4.0.3 完成。
发个截图表示我真的装成功了。。。
创建工作空间,下载代码
cd ~/liosam_ws/src
git clone https://github.com/TixiaoShan/LIO-SAM.git
如果是安装了opencv4的同学,需要修改源码:
在 LIO-SAM-master/include/utility.h 中修改 #include
在 LIO-SAM-master/CMakeList.txt 中将 set(CMAKE_CXX_FLAGS "-std=c++11") 修改为set(CMAKE_CXX_STANDARD 14)
catkin_make
运行launch文件
roslaunch lio_sam run.launch
播放rosbag
rosbag play your-bag.bag -r 3