ORB-SLAM2 安装

参考

  • 修改源文件即可避免兼容问题
  • 实验环境
    Ubuntu 20.04
    ROS noetic
  • https://zhuanlan.zhihu.com/p/640795165
  • https://blog.csdn.net/qq_46107892/article/details/128922813
  • https://blog.csdn.net/MRZHUGH/article/details/131658528

安装相关依赖

  • 通用依赖
    sudo apt install -y libboost-all-dev libglew-dev libgtk2.0-dev \
    libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev \
    libtiff-dev libopenexr-dev libxi-dev libxrandr-dev libx11-dev \
    libglu1-mesa-dev libgl1-mesa-dev libusb-1.0-0-dev libudev-dev doxygen \
    doxygen-doc libxkbcommon-dev wayland-protocols
    
  • 安装 eigen3, Ubuntu 一般默认已经安装
    sudo apt install libeigen3-dev
    
  • 安装 Pangolin,源码编译
    • 需要先安装 libxkbcommon-dev, wayland-protocols, libglew-dev
    • 选择版本 0.6
    # 安装依赖库, 前面装了就不用再重复了
    sudo apt-get update
    sudo apt-get install libxkbcommon-dev
    sudo apt-get install wayland-protocols
    sudo apt install libglew-dev
    # 进入到Pangolin下载文件夹目录,新开终端,这里以0.6版本为例
    unzip Pangolin-0.6.zip
    cd Pangolin-0.6/
    mkdir build
    cd build
    # cmake
    cmake ..
    # make
    make -j4
    # install
    sudo make install
    
  • 安装 opencv
    • 源码编译时间较长, 且麻烦. 使用apt进行安装
    • 安装时默认 4.x
    sudo apt install libopencv-dev libopencv-highgui-dev libopencv-contrib-dev	
    
  • 安装 ORB_SLAM2
    1. 下载 git clone https://github.com/raulmur/ORB_SLAM2.git
    2. 修改源文件, 很重要, 适配 opencv4.X
    a、ORB_SLAM2/CmakeLists.txt 和 ORB_SLAM2/Thirdparty/DBoW2/CmakeLists.txt 2处
    # 修改opencv版本
    -find_package(OpenCV 3.0 QUIET)
    +find_package(OpenCV 4.2 QUIET)
    b、include/LoopClosing.h
    // 解决类别定义问题
    -Eigen::aligned_allocator > > KeyFrameAndPose; 
    +Eigen::aligned_allocator > > KeyFrameAndPose; 
    c、include/ORBextractor.h
    // 解决opencv头文件引用问题
    -#include 
    +#include 
    +#include 
    d、include/System.h
    +#include // 解决找不到CV_LOAD_IMAGE_UNCHANGED问题
    +#include // 解决usleep函数不存在问题
    
    1. 编译
     cd ORB_SLAM2
    ./build.sh
    

测试数据集

https://cvg.cit.tum.de/data/datasets/rgbd-dataset/download
Tips:下载的数据需要解压成文件夹,作为参数.

ORB-SLAM2 安装_第1张图片

你可能感兴趣的:(SLAM,python,opencv)