在SLAM(Simultaneous Localization and Mapping)和SFM(Structure from Motion)这些复杂的估计问题中,因子图算法以其高效和灵活性而脱颖而出,成为图模型领域的核心技术。GTSAM(Georgia Tech Smoothing and Mapping)库,作为因子图算法的一个杰出代表,由佐治亚理工学院的团队开发,是机器人学和计算机视觉领域里数据平滑和地图构建的重要工具。本文旨在指导读者在Ubuntu 18.04系统上安装GTSAM库。详细介绍安装步骤和必要的配置,以确保读者能够顺利地在其Linux环境中集成GTSAM。
1. 安装依赖项
首先,需要安装GTSAM运行所需的依赖项。可以通过执行以下命令来完成:
sudo apt-get install libboost-all-dev cmake libtbb-dev
或
sudo apt-get install libboost-all-dev
sudo apt-get install cmake
sudo apt-get install libtbb-dev
这些命令将会安装Boost库(用于C++程序的标准库)、CMake(一个跨平台的安装(构建)工具)和TBB(Intel Threading Building Blocks,用于支持并行计算的库)。
如果需要,您还可以按照官网的指示安装MKL(Math Kernel Library,一种高性能的数学库)。
2. 克隆和安装GTSAM
接下来,不是从官方网站下载GTSAM的压缩包,而是从一个特定的代码仓库克隆。这个仓库可能包含了一些特定的优化或更新。您可以通过以下命令来克隆并构建GTSAM:
git clone https://bitbucket.org/gtborg/gtsam.git
cd gtsam/
mkdir build && cd build
cmake ..
make -j6 ( long time to wait !!! )
sudo make install
这些命令会从指定的Git仓库中克隆GTSAM代码,创建一个构建目录,并在该目录中构建GTSAM。make check
是一个可选步骤,用于运行一些测试以确保库正确编译。最后,sudo make install
将GTSAM安装到系统中。
3. 验证GTSAM是否安装成功
一定要注意:target_link_libraries(Test4 gtsam) 用的是 gtsam 连接到 GTSAM库的!!!
CMakeLists.txt 里面的内容
cmake_minimum_required(VERSION 3.27)
project(Test4)
# 设置C++标准
set(CMAKE_CXX_STANDARD 17)
# 找到GTSAM库
find_package(GTSAM REQUIRED)
# 添加可执行文件
add_executable(Test4 main.cpp)
# 链接GTSAM库
target_link_libraries(Test4 gtsam)
main.cpp 里面的内容
#include <gtsam/geometry/Pose3.h>
int main() {
gtsam::Pose3 pose;
return 0;
}
4. 注意事项
- 确保在执行这些步骤之前,您的系统已经更新到最新状态。
- 如果在安装过程中遇到问题,请仔细检查错误信息,它们通常会提供关于如何解决问题的线索。
- make check 的时候会报错,但是不影响你 make -j6的时候安装
通过遵循这些步骤,应该能够在Ubuntu 18.04系统上顺利安装GTSAM,并开始利用它进行高级的机器人学和计算机视觉项目。