首页 > 系统相关 >ubuntu 16.04 ORB-SLAM3安装

ubuntu 16.04 ORB-SLAM3安装

时间:2022-09-01 11:15:37浏览次数:82  
标签:16.04 ORB Pangolin SLAM3 build https 安装

目录

1.安装依赖库

1.1 安装Pangolin

注意:

在github: https://github.com/stevenlovegrove/Pangolin
上下载的Pangolin安装时会出现缺少Eigen3问题,这是因为github上是最新的Pangolin,参照如下网址,下载安装Pangolin0.5
https://blog.csdn.net/qq_33950926/article/details/121129028

1.Pangolin0.5的依赖,参考下载下来的Pangolin包里的README.md

  • C++11

  • OpenGL (Desktop / ES / ES2)

sudo apt install libgl1-mesa-dev
  • Glew
sudo apt install libglew-dev
  • CMake (for build environment)
sudo apt install cmake

2.编译安装方法: 参考https://blog.csdn.net/qq_32507255/article/details/115445932

$ cd Pangolin
// 创建编译文件夹(在Pangolin文件夹下)
$ mkdir build && cd build
// 配置编译选项
$ cmake ..
// 开始编译代码
$ cmake --build .
// 安装
$ sudo make install

注意安装后的位置:
头文件: /usr/local/include/pangolin/
库文件: /usr/local/lib/libpangolin.so
额外的文件:
/usr/local/lib/cmake/Pangolin/

3.卸载方法:

1.进入编译时的文件夹cd build
2.执行卸载命令sudo make uninstall,此命令会删除安装时添加的所有文件,但是不处理文件夹
3.根据上一个命令的回显,删除目的文件夹的与该软件有关的空文件夹

1.2 安装Opencv

参照
https://www.cnblogs.com/vivian187/p/14109111.html

1.3 安装Eigen3

建议用Eigen 3.2版本,因为3.3版本中取消了 AlignedBit(deprecated)

在ubuntu16.04中提前安装了

// 方法
sudo apt install libeigen3-dev

// 查看版本方法: 3.2.92
$ cat /usr/include/eigen3/Eigen/src/Core/util/Macros.h

...
#define EIGEN_WORLD_VERSION 3
#define EIGEN_MAJOR_VERSION 2
#define EIGEN_MINOR_VERSION 92
...

否则,可以参考https://blog.csdn.net/weixin_43192983/article/details/119149611

// 根据官方文档 ,下载Eigen即可,不需要build。
wget https://gitlab.com/libeigen/eigen/-/archive/3.2.10/eigen-3.2.10.tar.gz
tar -zxvf eigen-3.2.10.tar.gz

1.4 其他依赖

DBoW2 和 g2o library项目源代码已经包含在 Thirdparty 文件夹下。build.sh里面自动build了两个libraries。

2 安装ORB-SLAM3

1.下载地址:
https://github.com/UZ-SLAMLab/ORB_SLAM3

2.编译方法: 参照…/ORB-SLAM3/README.md

$ cd ORB_SLAM3
$ chmod +x build.sh
$ ./build.sh

3.编译ORB_SLAM3遇到的问题

(1) fatal error: boost/serialization/serialization.hpp: No such file or directory

解决方案:
$ sudo apt install libboost-filesystem-dev

(2) Eigen3版本问题
接下来需要对ORB-SLAM3中的“CMakeLists.txt”文件进行修改,防止版本与其默认3.1.0不同而无法编译(如下所示),其实高版本如果差的不是很多,“CMakeLists.txt”更改之后应该没有影响

  1. 对路径为 …/ORB-SLAM3/CMakeLists.txt的41行,进行修改
find_package(Eigen3 3.1.0 REQUIRED)
改为
find_package(Eigen3 REQUIRED)
  1. 同时对路径 …/ORB_SLAM3/Thirdparty/g2o/CMakeLists.txt的第72行,进行修改
FIND_PACKAGE(Eigen3 3.1.0 REQUIRED)
改为
FIND_PACKAGE(Eigen3 REQUIRED)

(3) Opencv版本问题
对路径为 …/ORB-SLAM3/CMakeLists.txt的33行,进行修改

find_package(OpenCV 4.4)
改为
find_package(OpenCV 3 REQUIRED)

参考
https://blog.csdn.net/weixin_43192983/article/details/119149611

安装遇到的问题参考
https://blog.csdn.net/qq_38204686/article/details/114639824
https://blog.csdn.net/ly869915532/article/details/107899708

标签:16.04,ORB,Pangolin,SLAM3,build,https,安装
From: https://www.cnblogs.com/vivian187/p/16645792.html

相关文章

  • ubuntu 16.04 cmake升级
    ubuntu16.04默认安装的cmake版本为3.5,但有时编译一些包时需要更高的版本,需要升级cmake。千万别执行下面的命令,这样会把之前用cmake编译好的包都给卸载掉,包括ros。......
  • Ubuntu 16.04 LTS内核更新!
    Canonical发布了2016年4月21日Ubuntu16.04LTS公布以来的首次内核更新,此次更新修补了由不同开发人员、Linux 黑客和安全研究人员发现的共15个安全漏洞。在此我......
  • gpio的porbe操作
    dts描述gpio1:gpio@0209c000{ compatible="fsl,imx6ul-gpio","fsl,imx35-gpio"; reg=<0x0209c0000x4000>; interrupts=<GIC_SPI66IRQ_TYPE_LEVEL_HIGH>, ......
  • CF1455G Forbidden Value 题解
    CF1455GForbiddenValue已知初始值\(x=0\),给定下面2种命令:set\(y\)\(v\),令\(x=y\),或花费\(v\)元钱删除该命令;if\(y\)...end,如果\(x==y\),执行if...end中的命令,否......
  • ubantu16.04,docker-ce-17.09,docker runc容器逃逸漏洞(CVE-2021-30465)修复
    背景ubantu16.04TLSdocker-ce-17.09.1(比较老的版本可能都有这个漏洞,而且dockerversion查不到runc版本,也没有runc文件,只有docker-runc一个文件)解决方案下载对接系统......
  • ubuntu16.04安装python3.5
    今天用了下阿里云的云服务器,装个python3真是各种踩坑。记录下吧:ubuntu自带了2.7。想要装3.5并设置为默认python版本。安装python3.5  sudoadd-apt-repository......
  • Ubuntu16.04安装python3.5并设置为默认版本
    综述:ubuntu16.04版本之后,系统会自带python2.7版本,如果需要下载新版本的python3.5,需要进行更新安装一、下载python3.5 首先在ubuntu的终端ternimal输入命令:sudoapt-get......
  • Ubuntu 16.04 LTS 安装后的配置
    1.设置主板时间为本地时间,默认为UTC时间,与Windows不同,如果双系统,时间有时差sudotimedatectlset-local-rtctrue2.移除无用软件sudoaptremove--purgesnapdwebbrowser......
  • Apache+负载均衡+会话保持(解决csrftoken报错问题,forbidden 403问题)
     本文章是对网络上处理apache负载均衡及会话保持的文章, 1、技术栈 django、apache、负载均衡、会话保持2、apache负载均衡https://www.php.cn/apache/424495.html......
  • Ubuntu 16.04 LTS如何使用Snap软件包
    Ubuntu16.04LTS为用户带来了众多新功能特性,其中非常受关注的就有对Snap软件包的支持。据Canonical官方消息称,Snap软件包拥有更加稳定和安全的特性,本文我们就一......