Loading

ORBSLAM3 安装及测试教程(Ubuntu20.04)

1. 准备工作

1.1 安装依赖

sudo apt install git cmake gcc g++ mlocate

1.2 下载 ORBSLAM3 源码

可以去 Github 下载源码:https://github.com/UZ-SLAMLab/ORB_SLAM3

或者终端内下载:git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git

⚠️ 如果需要使用 ROS2 的话,建议安装修改版的 ORBSLAM3:https://github.com/zang09/ORB-SLAM3-STEREO-FIXED

2. 安装 Eigen3

2.1 和 2.2 方法任选其一。

2.1 命令行安装

直接命令安装:sudo apt-get install libeigen3-dev

2.2 编译安装

可以去 Github 下载源码:https://github.com/eigenteam/eigen-git-mirror/tree/3.3.4

一定要下载 3.3.4 版本的。

解压下载好的压缩包:unzip eigen-git-mirror-3.3.4.zip

编译安装:

cd eigen-git-mirror-3.3.4
mkdir build
cd build
cmake ..
sudo make install

安装后,头文件安装在 /usr/local/include/eigen3/

3. 安装 Pangolin0.6

可以去 Github 下载源码:https://github.com/stevenlovegrove/Pangolin/tree/v0.6

一定要下载 0.6 版本的。

根据 Github 给的依赖挨个安装。

img

安装好依赖之后解压下载的 Pangolin 压缩包 unzip Pangolin-0.6.zip

编译安装(一行一行的输入):

cd Pangolin-0.6/
mkdir build
cd build
cmake ..
make -j4
sudo make install

测试效果:

cd Pangolin-0.6/examples/HelloPangolin
mkdir build
cd build/
cmake ..
make
./HelloPangolin

运行后,效果显示是一个红绿蓝立方体,表示即为安装成功。

4. 安装 OpenCV

去 OpenCV 官网下载 4.4.0 版本:https://opencv.org/releases/

img

点击 Sources 下载压缩包。

下载完成后解压:unzip opencv-3.4.3.zip

在 GitHub 下载 contrib 版本(下载 4.4.0 版本): https://github.com/opencv/opencv_contrib/tree/4.4.0

下载完成后解压:unzip opencv_contrib-4.4.0.zip

在你的主文件夹内(Home)新建 opencv 文件夹,把上面解压的 2 个文件夹放入 opencv 文件夹内。

img

下载缺少的文件:https://wwtt.lanzouw.com/if60o1cwvv4h 密码:d5fx

下载完成后解压,将里面的十几个文件放到 opencv_contrib-4.4.0/modules/xfeatures2d/src 文件夹内。

修改 opencv_contrib-4.4.0/modules/xfeatures2d/test/test_features2d.cpp 文件,将里面的第 51~52 行代码路径改为:

#include "../../../../opencv-4.4.0/modules/features2d/test/test_detectors_regression.impl.hpp"
#include "../../../../opencv-4.4.0/modules/features2d/test/test_descriptors_regression.impl.hpp"

img

修改 opencv_contrib-4.4.0/modules/xfeatures2d/test/test_rotation_and_scale_invariance.cpp 文件,将里面的第 7~8 行代码路径改为:

#include "../../../../opencv-4.4.0/modules/features2d/test/test_detectors_invariance.impl.hpp" // main OpenCV repo
#include "../../../../opencv-4.4.0/modules/features2d/test/test_descriptors_invariance.impl.hpp" // main OpenCV repo

img

打开终端输入:

sudo apt update && sudo apt install -y cmake g++ wget unzip
cd opencv
mkdir -p build && cd build
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.4.0/modules ../opencv-4.4.0
make -j4
sudo make install

5. 安装 ORBSLAM3

解压之前下载好的 ORBSLAM3 压缩包:unzip ORB_SLAM3.zip

5.1 打开 ORBSLAM3 可视化选项(可选)

打开 Examples/Monocular 文件夹下的 mono_euroc.cc 文件,找到第 83 行:

ORB_SLAM3::System SLAM(argv[1],argv[2],ORB_SLAM3::System::MONOCULAR, false);

将最后的 false 改为 true

⚠️ 如果这一节选择不做,后面想要再打开图形化显示功能的话,需要将 false 改为 true 之后再编译安装一下 ORBSLAM3 的文件,安装方法在 5.2 或 5.3。

5.2 第一种安装方法

⚠️ 该方法是直接执行 ORBSLAM3 官方给的安装指令,但是容易报错,推荐下面的 5.3 方法。

编译安装:

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

5.3 第二种安装方法

打开 ORBSLAM3 文件夹,找到 build.sh 这个文件,打开它。

然后打开终端,进入 ORBSLAM3 文件夹内

cd ORB_SLAM3

再按照 build.sh 里面的代码,一行一行的输入进终端里,直到完成。

终端可能会输出一些警告,不用管。

6. 数据集测试

数据集下载地址:https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets#downloads

把第一个 Machine Hall 01 数据集下载下来,下载 ASL 格式的。

img

下载完成后,解压压缩包,里面有一个 mav0 的文件夹。

然后在你的文件夹下(随便哪里,只要你能找到),创建一个文件夹叫 dataset。在 dataset 文件夹下再创建一个 MH01 文件夹,然后把刚才下载的 mav0 文件夹放到 MH01 里面去。

然后打开终端,进入 ORBSLAM3 文件夹内,执行测试:

⚠️ 将最后一行指令中的 /home/xiao/dataset/MH01 改成你的 MH01 文件夹的地址。

cd ORB_SLAM3
cd Examples
./Monocular/mono_euroc ../Vocabulary/ORBvoc.txt ./Monocular/EuRoC.yaml /home/xiao/dataset/MH01 ./Monocular/EuRoC_TimeStamps/MH01.txt

若出现:

img

则表示成功。

posted @ 2023-10-15 20:16  滑稽果  阅读(809)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end