1、配置环境介绍
系统:ubantu18.04
主要库版本:
opencv: 3.2.0
python: 2.7
eigen3: 3.3.4
查看库版本命令,以python为例。
pkg-config --modversion python
2、安装相关库
(1)、安装基本插件,安装cmake、git、gcc、g++。
sudo apt-get install cmake
sudo apt-get install git
sudo apt-get install gcc g++
(2)、安装pangolin
在安装pangolin之前,先安装依赖项。
sudo apt-get install libglew-dev
sudo apt-get install libpython2.7-dev
安装Pangolin
git clone https://github.com/stevenlovegrove/Pangolin.git
下载好后,进入Pangolin文件夹进行编译。
cd Pangolin
mkdir build
cd build
cmake ..
编译安装
sudo make
sudo make install
(3)、安装Eigen、opencv
sudo apt-get install libeigen3-dev
sudo apt-get install opencv3-dev
3、安装编译ORBSLAM
cd ~/catkin_ws/src/
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
最后编译执行以下命令,此时注意运行卡死的话,将build.sh文件下的make -j 改为 make;(电脑垃圾的带不动,就像我的哈哈)
./build.sh
(2)出现错误usleep(5000);
解决方案:
找到对应的System.cc文件的首部加入 头文件
#include<unistd.h>
需要增加unistd.h的文件还有:
Examples/Monocular/mono_euroc.cc
Examples/Monocular/mono_kitti.cc
Examples/Monocular/mono_tum.cc
Examples/RGB-D/rgbd_tum.cc
Examples/Stereo/stereo_euroc.cc
Examples/Stereo/stereo_kitti.cc
src/LocalMapping.cc
src/LoopClosing.cc
src/System.cc
src/Tracking.cc
src/Viewer.cc
(3)还有错误的话,把之前编译建立的builid删除,重新./build.sh,我的编译成功。
**删除的build文件有三部分,包括ORB_SLAM2下、g2o下和DBoW2下,**也就是在build.sh建立的build文件,重新编译的话记得删除。可以进入build.sh看看文件内容。
最终100%
4、运行实例
(1)、以单目为例
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUMX.yaml PATH_TO_SEQUENCE_FOLDER
(2)、需要根据自己下载的数据集和自己的路径,修改一下。tumx.yaml与数据集对应freiburgx、x根据自己下载的数据集改为1、2、或者3。PATH_TO_SEQUENCE_FOLDER为自己数据集的路径,可以进入文件,选择在终端中打开,pwd命令查看,例子:
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/xue/Downloads/datasets/rgbd_dataset_freiburg1_xyz
运行时图片:
难免有疏忽之处,如还有其他问题,欢迎交流讨论。
其他参考资料整理,在此感谢各位文章链接的作者们。
官网链接
ORBSLAM论文翻译链接
ORBSLAM2论文翻译链接
ORBSLAM2详细代码注释链接
ubantu18.04安装ORBSLAM2参考链接
源码解读
关注点赞,好运多多~