最近在配置ORB-SLAM2运行环境的时候踩了很多坑,在经过不断的尝试,终于成功安装,开心哈哈。在这期间查阅了很多博客,于是想对安装过程进行总结,以便自己查阅和避免其它人踩坑。查阅的博客链接将在文中列出。
1.介绍
ORB-SLAM2是一个用于单眼、立体和RGB-D相机的实时SLAM库,它计算相机的轨迹和稀疏的三维重建。它能够实时检测环路并重新定位摄像机。我们提供了在KITTI数据集中以立体或单眼方式运行SLAM系统的例子,在TUM数据集中以RGB-D或单眼方式运行,以及在EuRoC数据集中以立体或单眼方式运行。我们还提供了一个ROS节点来处理实时单眼、立体或RGB-D流。该库可以在没有ROS的情况下进行编译。
论文地址
https://arxiv.org/pdf/1610.06475.pdf
GitHub地址
https://github.com/raulmur/ORB_SLAM2
2.环境搭建
2.1 编译器及git安装
sudo apt-get install build-essential
sudo apt-get install cmake
测试
gcc -v
g++ -v
cmake --version
sudo apt-get install git
2.2 Pangolin
github地址;里边有详细的命令;
注意 : 安装v0.5版本,否则会出错
可能在ORB编译时候报Pangolin could not be found because dependency Eigen3 could not be found
https://githubmemory.com/repo/raulmur/ORB_SLAM2/issues/1015
https://github.com/stevenlovegrove/Pangolin
cd Pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOST=1 ..
make
sudo make install
2.3 Eigen3
https://eigen.tuxfamily.org/index.php?title=Main_Page
mkdir build
cd build
cmake ..
make
sudo make install
2.4 OpenCV(参考博客)
https://blog.csdn.net/bj233/article/details/113351023
3.安装编译ORB-SLAM2
编译命令(我们没有安装ROS版本,如果后续需要用到,在补充。)
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh
4.运行ORB-SLAM(kitti数据集)
4.1 下载kitti数据集
http://www.cvlibs.net/datasets/kitti/eval_odometry.php
4.2 运行命令
./Examples/Monocular/mono_kitti Vocabulary/ORBvoc.txt Examples/Monocular/KITTIX.yaml PATH_TO_DATASET_FOLDER/dataset/sequences/SEQUENCE_NUMBER
需要更改的参数
KITTIX.yaml
KITTI00-02.yaml, KITTI03.yaml or KITTI04-12.yaml 分别代表 0 to 2, 3, and 4 to 12序列
PATH_TO_DATASET_FOLDER
kitti数据集解压路径
SEQUENCE_NUMBER
00, 01, 02,…, 11
4.3 结果展示
5.问题总结
5.1 opencv 解决ippicv下载慢的问题
https://blog.csdn.net/tanmx219/article/details/101632917?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_ecpm_v1~rank_v31_ecpm-8-101632917.pc_agg_new_rank&utm_term=ippicv+%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85&spm=1000.2123.3001.4430
5.2 usleep未定义
https://blog.csdn.net/panxiying1993/article/details/61922162
总结
按了一个晚上和一个上午终于把环境配好了,还是很开心的。总结起来就是要多注意版本之间的兼容性,还要学习多看看官方提供的安装方式。另外特别感谢许多人分享自己的安装过程。虽说自己写了一个博客,但更像一个搬运工(哈哈),把各个优秀的博客融合到一起。希望能给后来的人一些帮助吧。欢迎大家指正交流。
科研苦乐,日久自悟。