Ubuntu20.04安装GTSAM,运行LIO-SAM

安装依赖:

  • Boost >= 1.65 
  • sudo apt-get install libboost-all-dev
  • CMake >= 3.0 
  • sudo apt-get install cmake
  • gcc 4.7.3 on Linux.一般都有,查下版本,大于4.7.3就行。

之后的依赖(TBB、MKL)是可选安装(Optional prerequisites - used automatically if findable by CMake),我没试过不装这些依赖是什么效果,但应该问题不大。

  • 安装 TBB
  • sudo apt-get install libtbb-dev
  • 安装 MKL 这一步首先要进入到 root 权限,进入root之后,步骤如下:
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

至此,依赖安装完毕。

安装GTSAM

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 完成。

发个截图表示我真的装成功了。。。

Ubuntu20.04安装GTSAM,运行LIO-SAM_第1张图片

LIO-SAM

 创建工作空间,下载代码

cd ~/liosam_ws/src
git clone https://github.com/TixiaoShan/LIO-SAM.git

如果是安装了opencv4的同学,需要修改源码:

在 LIO-SAM-master/include/utility.h 中修改 #include 为 #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

你可能感兴趣的:(ubuntu,linux)