安装依赖

  • 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),我没试过不装这些依赖是什么效果,但应该问题不大。

2023.11.16更新:

有很多同学反应MKL装不上,原因是GPG key失效了,同时官网上也没有其他的安装方法(主要是不想折腾)。然后,我在GTSAM的项目下找到了这样一句话:

Optional dependent libraries:

  • If TBB is installed and detectable by CMake GTSAM will use it automatically. Ensure that CMake prints "Use Intel TBB : Yes". To disable the use of TBB, disable the CMake flag GTSAM_WITH_TBB (enabled by default) by providing the argument -DGTSAM_WITH_TBB=OFF to cmake. On Ubuntu, TBB may be installed from the Ubuntu repositories, and for other platforms it may be downloaded from GitHub - oneapi-src/oneTBB: oneAPI Threading Building Blocks (oneTBB)
  • GTSAM may be configured to use MKL by toggling GTSAM_WITH_EIGEN_MKL and GTSAM_WITH_EIGEN_MKL_OPENMP to ON; however, best performance is usually achieved with MKL disabled. We therefore advise you to benchmark your problem before using MKL.

意思是说,这MKL装不装无所谓,装了还可能影响执行效率(但是我没试过,实测MKL并不影响GTSAM的使用,可以不装!)。如果装不上就别装了,直接跳过这一步。在cmake的时候加上MKL=OFF相关的指令就行了(之后会有说明)。

安装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 

这里需要注意,如果你没有安装MKL,需要在上面cmake时加上以下参数,也就是:

cmake -GTSAM_WITH_EIGEN_MKL=OFF -DGTSAM_WITH_EIGEN_MKL_OPENMP=OFF ..

如果要运行LIO-SAM还要加上-DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF,也就是:

cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF -DGTSAM_WITH_EIGEN_MKL=OFF -DGTSAM_WITH_EIGEN_MKL_OPENMP=OFF ..

如果你连TBB也没有安装,那就自己再加上 -DGTSAM_WITH_TBB=OFF就行了。

至此,Ubuntu20.04 系统安装 GTSAM 4.0.3 完成。

LIO-SAM

 创建工作空间,下载代码

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

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

在 LIO-SAM-master/include/utility.h 中修改 #include <opencv/cv.h> 为 #include <opencv2/imgproc.hpp>

在 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

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐