天天看点

关于orb_slam2的配置与安装(@童童同学)关于orb_slam2的配置与安装<Ubuntu16.04>1.官网介绍2.环境配置3.相关代码4.EXAMPLES

(@童童同学)关于orb_slam2的配置与安装<Ubuntu16.04>

1.官网介绍

orb_slam2的官网为 https://github.com/raulmur/ORB_SLAM2 ,其中介绍了orb_slam2的License,Prerequisites,Building ORB-SLAM2 library and examples.

2.环境配置

C++11 or C++0x Compiler

Pangolin(用于可视化和用户界面)

Pangolin官网: https://github.com/stevenlovegrove/Pangolin

下载Pangolin的最新版本

git clone https://github.com/stevenlovegrove/Pangolin.git
           

依赖项

  • 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
           
  • Python2 / Python3, for drop-down interactive console
sudo apt install libpython2.7-dev
           
  • Wayland

    pkg-config

    sudo apt install pkg-config

    Wayland and EGL

    sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols

Building

git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
cmake --build .

           

bindings

Python

sudo python -mpip install numpy pyopengl Pillow pybind11
git submodule init && git submodule update
           

The python module pypangolin must be on your python path, either through installation, or by setting it explicitly:

import sys
sys.path.append('path/of/pypangolin.so')
           

OpenCV

opencv官网:https://opencv.org/

也可以参考博客:https://www.cnblogs.com/fx-blog/p/8213704.html

从github中down下OPenCV + OpenCV_Contrib库,可以从https://github.com/opencv上下载(注意版本对应),也可以通过指令下载(建议使用):

git clone https://github.com/Itseez/opencv.git
git clone https://github.com/Itseez/opencv_contrib.git
           

这个过程需要等待一段时间,具体依赖与你的网速啦,下载成功后,可以在你的home目录下看见opencv和opencv_contrib两个文件夹,将opencv_contrib目录移到opencv目录下。

在下载的过程中,我们可以添加opencv所需要的依赖库:

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
           

以上步骤完成后,我们进入opencv目录,创建build目录:

cd opencv
mkdir build
           

进入build目录,开始编译,执行(注意后面的两个点不能少):

cd build
cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
           

接下来执行

make -j8
sudo make install
           

Eigen3

Eigen3官网:http://eigen.tuxfamily.org

安装Eigen3,它是一个开源线性库,可进行矩阵运算

sudo apt-get install libeigen3-dev
           

DBoW2 and g2o (Included in Thirdparty folder)

DBoW2是DBow库的改进版本,DBow库是一个开源的C++库,用于索引图像并将其转换为单词表示形式。

g2o是一个开源的C ++框架,用于优化基于图的非线性误差函数。

这两个库在ORB-SLAM2项目的第三方文件夹中,在此不单独编译,后续统一编译。

ROS (optional)

ROS安装教程,参见博客:https://blog.csdn.net/WY_star1/article/details/81564319

3.相关代码

安装ORB-SLAM2

克隆仓库,生成ORB_SLAM2文件夹

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
           

编译ORB-SLAM2,第三方库中的DBoW2和g2o,并解压ORB词典

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

4.EXAMPLES

单目实例

有TUM、KITTI、EuRoC三种数据集,本实验使用TUM数据集,从http://vision.in.tum.de/data/datasets/rgbd-dataset/download下载序列并解压缩。

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUMX.yaml PATH_TO_SEQUENCE_FOLDER
           

其中PATH_TO_SEQUENCE_FOLDER为数据集的存储路径,并将tumx.yaml与下载的数据集对应,比如TUM1.yaml,TUM2.yaml 和TUM3.yaml 分别对应 freiburg1, freiburg2 和 freiburg3。

下载的数据集能够运行的话,说明ORB_SLAM2安装成功.

(注意安装路径,有时候应该打开新的终端再输入代码,否则会出现找不到文件的结果)

继续阅读