参考
- 修改源文件即可避免兼容问题
- 实验环境
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
- 下载
git clone https://github.com/raulmur/ORB_SLAM2.git
- 修改源文件, 很重要, 适配 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<std::pair<const KeyFrame*, g2o::Sim3> > > KeyFrameAndPose; +Eigen::aligned_allocator<std::pair<KeyFrame* const, g2o::Sim3> > > KeyFrameAndPose; c、include/ORBextractor.h // 解决opencv头文件引用问题 -#include <opencv/cv.h> +#include <opencv2/imgproc/imgproc_c.h> +#include <opencv2/highgui/highgui_c.h> d、include/System.h +#include<opencv2/imgcodecs/legacy/constants_c.h> // 解决找不到CV_LOAD_IMAGE_UNCHANGED问题 +#include<unistd.h> // 解决usleep函数不存在问题
- 编译
cd ORB_SLAM2 ./build.sh
- 下载
测试数据集
https://cvg.cit.tum.de/data/datasets/rgbd-dataset/download
Tips:下载的数据需要解压成文件夹,作为参数.