当前位置:首页 » 《随便一记》 » 正文

Ubuntu18.04安装GTSAM库并验证GTSAM是否安装成功(亲测可用)

8 人参与  2024年03月31日 09:15  分类 : 《随便一记》  评论

点击全文阅读


在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-devsudo apt-get install cmakesudo 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.gitcd gtsam/mkdir build && cd buildcmake ..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库的!!!

b2d8bf6443074c1cb4b04fb778ad0c95.png

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的时候安装

5d8ecb6f08c149d9a66e5ad1477c650e.png

2580f3c1b7f14233ad3bac00b02a03e3.png

        通过遵循这些步骤,应该能够在Ubuntu 18.04系统上顺利安装GTSAM,并开始利用它进行高级的机器人学和计算机视觉项目。

 


点击全文阅读


本文链接:http://zhangshiyu.com/post/88403.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1