ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ORB-SLAM3 安装过程

2021-03-14 18:57:57  阅读:320  来源: 互联网

标签:ORB sudo dev opencv SLAM3 install DWITH 安装


ORB-SLAM3 安装过程

0 环境

ubuntu 18.04

1下载源码

https://github.com/UZ-SLAMLab/ORB_SLAM3

2 第三方库安装

2.1 安装Pangolin

2.1.1 下载安装包

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

2.1.2 安装依赖(Required Dependencies):

C++11(编译器要有对这个特性的支持)
安装依赖Glew: sudo apt-get install libglew-dev
安装Cmake:sudo apt-get install cmake (一般这个都会有,有的话就不用安装了)
(建议的依赖)Recommended Dependencies:
  安装Python2/Python3(for drop-down interactive console):

sudo apt-get install libpython2.7-dev
如果还有其他的需求,可以参考REANDEME.txt文档中对应依赖的安装。

2.1.3 编译安装Pangolin:

cd [path-to-pangolin(Pangolin路径)]//打开解压后的Pangolin文件夹
mkdir build
cd build
cmake ..
make(或者用cmake --build .)
sudo make install (.h默认安装到了/usr/local/include)

安装过程可能会出现的问题以及解决办法:http://blog.csdn.net/u012986684/article/details/52860849

2.2 安装opencv

2.2.1 开始安装

cd opencv-3.3.11
mkdir release

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/opencv3 -DOPENCV_EXTRA_MODULES_PATH=**/home/finer/WORKSPACE/SLAM/thirdparty/opencv-3.4.11/opencv_contrib-3.4.11/modules** -DWITH_TBB=ON -DWITH_QT=ON -DWITH_GTK=ON -DWITH_CUDA=ON -DWITH_CUBLAS=ON -DWITH_CUFFT=ON -DWITH_V4L=ON -DWITH_LIBV4L=ON -DWITH_OPENGL=ON -DWITH_FFMPEG=ON -DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON -DINSTALL_C_EXAMPLES=ON -DCUDA_GENERATION=Auto -DCUDA_ARCH_BIN=7.5 -DCUDA_ARCH_PTX=7.5 -DPYTHON_EXECUTABLE=/usr/bin/python -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python2.7 -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so -DPYTHON_NUMPY_INCLUDE_DIRS=/usr/lib/python2.7/dist-packages/numpy/core/include/ ..

sudo make -j4
sudo make  install

2.2.2 问题解决

  • OpenCv依赖包libjasper-dev出现unable to locate libjasper-dev的解决办法

sudo add-apt-repository “deb http://security.ubuntu.com/ubuntu xenial-security main”
sudo apt update
sudo apt install libjasper1 libjasper-dev

  • error:change source address
    Couldn’t find any package by glob ‘libgstreamer0.10-dev’
    E: Couldn’t find any package by regex ‘libgstreamer0.10-dev’
    E: Unable to locate package libgstreamer-plugins-base0.10-dev
    E: Couldn’t find any package by glob ‘libgstreamer-plugins-base0.10-dev’
    E: Couldn’t find any package by regex ‘libgstreamer-plugins-base0.10-dev’
    解决方案:
    1)wget http://ftp.ca.debian.org/debian/pool/main/g/gstreamer0.10/libgstreamer0.10-0_0.10.36-1.5_amd64.deb

2)wget http://ftp.ca.debian.org/debian/pool/main/g/gst-plugins-base0.10/libgstreamer-plugins-base0.10-0_0.10.36-2_amd64.deb

3)sudo dpkg -i libgstreamer0.10-0_0.10.36-1.5_amd64.deb

4)sudo dpkg -i libgstreamer-plugins-base0.10-0_0.10.36-2_amd64.deb

python3支持
sudo apt install python3-dev python3-numpy
streamer支持
sudo apt install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
可选的依赖
sudo apt install libpng-dev libopenexr-dev libtiff-dev libwebp-dev

  • Ubuntu系统opencv编译错误:Makefile:162:recipe for target ‘all‘ failed make:*** [all] Error 2

主要是2个位置的文件下载有问题:
①opencv/.cache/xfeatures2d/boostdesc
②opencv/.cache/xfeatures2d/vgg
cd到对应文件夹下,里面的文件是0K,然后用下载好的文件覆盖即可。
在https://github.com/opencv/opencv_contrib/issues/1301中寻找leaf918用户,他提供了patch_.zip文件

cd xxx/opencv-3.4.11/.cache/xfeatures2d

rm -rf  *  (删除boostdesc vgg 文件夹)

unzip patch__.zip

2.3 安装Eigen3

Eigen是一个C++开源线性代数库。它提供了快速的有关矩阵的线性代数运算及求解方程等功能。

git clone https://github.com/eigenteam/eigen-git-mirror

#安装
cd eigen-git-mirror
mkdir build
cd build
cmake ..
sudo make install

2.4 DBoW2 and g2o

DBoW2主要用于回环检测,g2o(General Graph Optimization)主要用于图优化。
ORB-SLAM3的源码包自带DBoW2 and g2o,编译时会自动安装。

2.5 安装boost库

到boost官网安装一个boost库的压缩包,我下的是1.69.0版本
https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0.tar.gz

*执行下面的命令解压
tar -xzvf boost_1_69_0.tar.gz
解压出来以后,进入解压出来的文件夹,执行下面的命令
sudo ./bootstrap.sh
sudo ./b2 install
文件默认安装在/usr/local/include文件下,库文件默认安装在/usr/local/lib下

3 运行ORB-SLAM3

3.1 编译

cd ORB-SLAM3/
chmod +x build.sh
sudo ./build.sh

3.2 测试数据集下载

双目测试数据的下载地址:

https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets

找到Downloads下面的data链接,下载一个ASL格式的序列(例如:Machine Hall 01)

3.3 测试

./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml $dateSet/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt dataset-MH01_mono

将上面指令 $dateSet/MH01改成自己数据集的路径,Enjoy~

标签:ORB,sudo,dev,opencv,SLAM3,install,DWITH,安装
来源: https://blog.csdn.net/FANGUOHAO/article/details/114797877

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有