(记录)Ubuntu18.04安装ORB-SLAM3过程

Ubuntu18.04安装ORB-SLAM3过程记录

  • Pangolin安装
  • opencv安装
  • Eigen 3安装
  • Boost安装
  • ORB_SLAM3的编译和安装
  • 数据集测试

Pangolin安装

Pangolin主要用于可视化和用户界面。
官方教程在: https://github.com/stevenlovegrove/Pangolin.

//一些必要依赖
sudo apt install libglew-dev
sudo apt install cmake
sudo apt install libpython2.7-dev
//从git上将pangolin源码拷下来并安装
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
cmake --build .
sudo make install(这个也是需要的,网上很多教程没有这个命令)

opencv安装

opencv主要用于ORB特征点提取。
链接: http://opencv.org/releases.html.,选择sources版本。
我这边选择的版本是3.4.11,
本人第一次使用版本3.4.1时,在buildORB-SLAM3过程中遇到了运算符重载缺失的编译出错。

//安装依赖库
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
//下载opencv源码后解压压缩包并进入文件夹
unzip opencv-3.4.11.zip
cd opencv-3.4.11
mkdir build
cd build
cmake ..
make
sudo make install

将opencv的库添加到路径中

sudo gedit /etc/ld.so.conf.d/opencv.conf

打开文本编辑器后在末尾添加

/usr/local/lib

执行如下命令使得刚才的配置路径生效:

sudo ldconfig 

配置bash

sudo gedit /etc/bash.bashrc 

打开文本编辑器后在末尾追加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH

保存,执行如下命令使得配置生效:

source /etc/bash.bashrc
sudo updatedb

输入下列命令查看opencv版本是否正确

pkg-config --modversion opencv

Eigen 3安装

本人使用的是源码安装方式,后续未出现版本问题报错
在命令行界面输入下列命令即可
sudo apt-get install libeigen3-dev
如果后续在运行ORB-SLAM3时报错找不到Eigen 3则使用下列方法

#github 有个mirror,版本3.3.4 from 2017
git clone https://github.com/eigenteam/eigen-git-mirror
#安装
cd eigen-git-mirror
mkdir build
cd build
cmake ..
sudo make install
#安装后,头文件安装在/usr/local/include/eigen3/

Boost安装

网上的教程并没有说boost安装的事情,但是编译的时候会遇到这个错误,我们可以直接提前安装好
按照该博客说明进行安装 https://www.jianshu.com/p/4c621a34ba69.

ORB_SLAM3的编译和安装

见论文作者的Github: https://github.com/UZ-SLAMLab/ORB_SLAM3.
将源码zip包下载下来并解压
进入源码目录并依次执行下列命令

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

数据集测试

数据集下载位置
链接: https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets.
随意选择一个数据集的ASL Dataset Format下载,这边以Vicon Room 1 02为例
解压后将文件夹改名为V102
在ORB_SLAM3-master/Examples/euroc_examples.sh文件中找到以下命令,并将"$pathDatasetEuroc"改为数据集的位置,如/home/tony/workspace/V102
最终命令如下所示

./Monocular/mono_euroc ../Vocabulary/ORBvoc.txt ./Monocular/EuRoC.yaml /home/tony/workspace/V102 ./Monocular/EuRoC_TimeStamps/V102.txt

输入到命令行界面即可运行

你可能感兴趣的:(slam,ubuntu)