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

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

### 如何安装 GTSAM 库 #### 准备工作 在开始安装之前,需要确认系统环境已经满足依赖条件。通常情况下,GTSAM 的构建过程需要用到 CMake 和 Boost 等工具库[^1]。 #### 下载源码 可以通过 Git 获取指定版本的 GTSAM 源码。例如,在 zph 台式机上使用的稳定版本为 `v4.1.1` (Git Commit: 69a3a75),而在 wzy 台式机上的另一个可用版本则是基于 `commit 12aed1f`。以下是获取特定版本的方法: ```bash git clone https://github.com/borglab/gtsam.git cd gtsam git checkout tags/4.1.1 -b v4.1.1 # 或者 git checkout 69a3a75 ``` 对于其他机器,则可以切换到对应的提交记录: ```bash git checkout 12aed1f ``` #### 构建与安装 完成下载后,按照以下流程进行配置和编译操作: 1. 创建并进入构建目录: ```bash mkdir build && cd build ``` 2. 使用 CMake 配置项目参数: ```bash cmake .. ``` 如果遇到缺失依赖项提示,请先解决这些外部依赖再继续执行此命令。 3. 编译代码: ```bash make -j$(nproc) ``` 4. 安装至目标路径(可能需要管理员权限): ```bash sudo make install ``` 以上步骤适用于 Linux 平台下的典型安装方式;如果是在 Windows 上运行,则推荐借助 MSYS2 或 WSL 来模拟类 Unix 环境来简化跨平台差异处理。 #### 测试验证 为了确保安装成功无误,可尝试运行官方文档中的示例程序或者自行编写一小段测试脚本调用核心功能接口来进行初步检验。 ```cpp #include <gtsam/inference/Symbol.h> #include <iostream> int main() { char key = &#39;X&#39;; int index = 1; std::cout << gtsam::Symbol(key, index).toString() << "\n"; } ``` 保存上述内容为文件名如 test.cpp 后按常规方法编译链接即可。 ---
评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值