Simulation of ORB-SLAM2 on Ubuntu 14.04
步骤不难也不复杂,就是首次搭建可能会遇到很多坑,我就把我的成功经验贡献出来。
硬件:VMware虚拟机
操作系统:Ubuntu 14.04.5 LTS,64位
内存:4GB
硬盘:50GB
0.更新源
安装完系统,一定要把源/etc/apt/sources.list更新到国内的服务器,比如阿里云。
可以参考这个帖子:https://blog.csdn.net/wang725/article/details/79902004
如果会操作,可以直接复制下面的源列表:
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
1.安装git和cmake
sudo apt-get install git
sudo apt-get install cmake
2.安装Pangolin
这一步直接参考官方提供的命令行,可能会遇到问题,至少我就没有编译通过。而且由于ORB-SLAM是要调用这个库的,所以一定要确保正确编译之后再进行下一步。
2.1 安装依赖库
sudo apt-get install libglew-dev libpython2.7-dev
2.2 下载源码并切换分支
git clone https://github.com/stevenlovegrove/Pangolin.git
git checkout 7bab0ae6b3e0971ae16e872ef8f5637d571ac2ac
2.3 编译安装
cd Pangolin
mkdir build
cd build
cmake ..
cmake --build .
如果顺利的话,就可以通过了。
3.安装OpenCV 2.4.11
3.1首先也是依赖库
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
sudo apt-get install libavcodec-dev
sudo apt-get install libavformat-dev
sudo apt-get install libswscale-dev
3.2下载源码
在OpenCV官网(http://opencv.org)下载OpenCV 2.4.11的source版本,然后解压到本地
3.3编译安装
mkdir build
cd build
cmake ..
make
sudo make install
4.安装Eigen
4.1下载源码
在http://eigen.tuxfamily.org 下载Eigen3的最新版本,一般是一个压缩文件,下载后解压。
4.2编译安装
mkdir build
cd build
cmake ..
make
sudo make install
如果到这一步都没有问题,那么应该说准备工作都做完了。下一步就是编译ORB_SLAM2。
5.玩转ORB-SLAM2
5.1克隆仓库
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
源码down下来之后,先不要急着编译,为了避免浪费时间和精力,建议先把.cc文件的头都加入下列头文件:
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
不然在编译的时候,会遇到usleep()无法找到的错误。
5.2编译
chmod +x build.sh
./build.sh
5.3数据集仿真
有TUM、KITTI、EuRoC三种数据集,本实验使用TUM数据集,从http://vision.in.tum.de/data/datasets/rgbd-dataset/download下载序列并解压缩。
第一次可以选择https://vision.in.tum.de/rgbd/dataset/freiburg1/rgbd_dataset_freiburg1_xyz.tgz,30.09s时长。
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUMX.yaml PATH_TO_SEQUENCE_FOLDER
如果不出意外,就可以看到两个窗口,分别显示特征点和关键帧等信息。
后续就可以进行其他数据集的测试和仿真。