Ubuntu 16.04/18.04上配置ORB-SLAM2环境记录

最近做视觉SLAM时需要配置ORB-SLAM2,ORB-SLAM2是单目视觉SLAM算法中性能优越的解决方案之一,而且还能继续复习下Linux指令,为此做个记录。

一、ORB-SLAM2算法的系统结构

ORB-SLAM2算法将系统分为三个线程并行运行,分别为跟踪线程、建图线程与回环检测线程。跟踪线程实时定位相机,计算初始相机位姿与地图点,然后跟踪局部地图获得更多的匹配关系;建图线程接收跟踪线程的信息进行局部优化并构建局部地图;回环检测线程检测相机是否来过当前位置,消除累计误差,对全局地图进行维护与优化。

1、论文地址

https://arxiv.org/pdf/1610.06475.pdf

2、GitHub地址

https://github.com/raulmur/ORB_SLAM2

二、Ubuntu 16.04上环境搭建

1、编译器及git安装

sudo apt-get install build-essential
sudo apt-get install cmake

在这里插入图片描述
测试安装程序

gcc -v
g++ -v
cmake --version

在这里插入图片描述
安装Git

sudo apt-get install git

在这里插入图片描述

2、配置Pangolin的依赖库

(1)Pangolin 0.5安装

Pangolin是可视化的一个库,Pangolin的github地址
现在Pangolin已经更新到0.8,0.8会报错,所以选择0.5的版本
在这里插入图片描述
解压进行安装
在这里插入图片描述

(2)或者直接在命令行操作

安装OpenGL和GLEW

sudo apt-get install freeglut3-dev
sudo apt install libglew-dev
git clone https://github.com/stevenlovegrove/Pangolin-0.5.git
cd Pangolin-0.5 //进入源码文件目录
mkdir build  //创建build文件
cd build/ /进入build文件目录
cmake .. //编译
make -j  //编译   建议用make -j2 因为make -j是贪婪时进程,导致cpu压力大,-j2代表两个进程 -j1代表一个线程

在这里插入图片描述

3、安装OpenCV

(1)选择需要的版本下载source压缩包

OpenCV下载
在这里插入图片描述

(2)下载opencv_contrib,在Tags里找到相应版本下载,版本要与opencv一致

opencv_contrib下载地址
在这里插入图片描述

(3)下载好解压后,把opencv_contrib3.4.13放在opencv3.4.13目录下

在这里插入图片描述

(4)将两个文件夹分别命名为opencv和opencv_conrib

在这里插入图片描述

(5)OpenCV环境配置

添加下面的源

udo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt-get install build-essential 
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

在这里插入图片描述

(6)新建build目录

cd opencv
mkdir build

在这里插入图片描述

(7)在build路径下cmake

cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
#后面“../opencv_contrib-3.4.0/modules”为opencv_contrib的modules文件夹所在的路径

在这里插入图片描述

(8)在build路径下cmake

在这里插入图片描述

(9)fatal error: vgg_generated_120.i: No such file or directory 下载对应文件,拷贝至xfeatures2d/src目录下

xfeatures2d src相关文件
链接:https://pan.baidu.com/s/1SAeaoJBrMoo0WRuNQHZnSg?pwd=mxm0
提取码:mxm0

在这里插入图片描述

(10)fatal error: vgg_generated_120.i: No such file or directory下载对应文件,拷贝至xfeatures2d/src目录下

boostdesc_bgm.i相关文件.tar
链接:https://pan.baidu.com/s/11l3uADQz-7dFp7OEKNthRg?pwd=zjtt
提取码:zjtt

在这里插入图片描述

(11)编译完成

在这里插入图片描述

(12)opencv.conf添加路径

①打开文件

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

②添加以下路径

/usr/local/lib

在这里插入图片描述
vim安装

sudo apt install vim

输入:wq保存退出

③保存并生效

sudo ldconfig

(13)bash.bashrc添加路径

①打开文件

sudo vim /etc/bash.bashrc

②加入命令

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

在这里插入图片描述
③保存退出,在终端输入

source /etc/bash.bashrc

在这里插入图片描述

(14)测试

①进入opencv/samples/cpp/example_cmake目录下

cd /home/geekfanr/opencv/samples/cpp/example_cmake/

在这里插入图片描述
②编译

cmake .
make
./opencv_example

在这里插入图片描述
③opencv及opencv_contrib安装配置完成

4、配置 Eigen3

(1)下载Eigen3

Eigen官网链接下载
在这里插入图片描述

(2)切换到Eigen3目录下

cd eigen-3.2.10

在这里插入图片描述

(3)新建build目录并进入

mkdir build
cd build

在这里插入图片描述

(4)cmake

cmake..

在这里插入图片描述

(5)make

sudo make install

在这里插入图片描述

(6)将eigen文件复制到本地调用文件夹中(/usr/include)

sudo cp -r /usr/local/include/eigen3 /usr/include 

在这里插入图片描述

5、运行数据集

(1)下载依赖

sudo apt-get install libcanberra-gtk-module

(2)下载Computer Vision Group数据集

(3)解压缩目录

在这里插入图片描述

(4)运行实例

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/geekfanr/rgbd_dataset_freiburg1_xyz

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Prototype___/article/details/127739622