Ubuntu14.04下的ORB_SLAM2方法安装与运行

主要对ORB-SLAM2进行编译运行。以及下载TUM上的数据集。

单目和RGB-D都可以在TUM的数据集上运行,但是双目的不可以,我是用的EuRoC数据集跑的双目。

系统环境

Ubuntu 14.04  安装好gcc  g++  cmake    git 

安装Ubuntu使用虚拟机的话方法如下:http://blog.csdn.net/u013142781/article/details/50529030

配置环境

安装cmake和git

sudo apt-get install cmake
sudo apt-get install git

安装Pangolin

我安装新版本的话出现了很多问题,所以装的是老版本。

$ sudo apt-get install libglew-dev   #安装Glew
$ sudo apt-get install cmake         #安装CMake
$ sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev  #安装Boost

下载、编译、安装Pangolin:
先要新建文件夹orbslam_ws和下属的src文件
$ cd ~/orbslam_ws/src
$ git clone https://github.com/zzx2GH/Pangolin.git
$ cd Pangolin
$ mkdir build
$ cd build
$ cmake -DCPP11_NO_BOOST=1 ..
$ make
$ sudo make install

安装OpenCV

从OpenCV官网下载OpenCV2.4.11然后解压。

然后安装依赖项:

sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config

解压后先在命令窗口使用cd命令进入到下载的opencv文件下:

例如:cd ~/opencv-2.4.11

然后安装

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install

安装Eigen3

我安装的高版本后面进行编译ORB_SLAM2的时候会有错误,这里推荐安装3.1.0版本。

在http://eigen.tuxfamily.org 下载Eigen3,下载后解压,然后cd到Eigen3的根目录下。

mkdir build
cd build
cmake ..
make
sudo make install

安装ORBSLAM2

还是先cd到自己想要下载ORBSLAM2的目录下面,接着执行:

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh

对了,如果执行./build.sh出现电脑卡顿,建议在执行该命令之前在ORB_SLAM2文件夹找到build.sh文件,打开后将最后一个make -j 改为 make -l ,如果还卡顿就将所有make -j 改为 make -l。保存后再运行上述命令就好了。

运行单目SLAM实例

在http://vision.in.tum.de/data/datasets/rgbd-dataset/download下载一个序列,并解压。

使用cd命令转到ORBSLAM2文件夹下,执行下面的命令。        执行前要将代码中的目录更改成自己的文件目录!!!

 

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUMX.yaml PATH_TO_SEQUENCE_FOLDER

其中的PATH_TO_SEQUENCE_FOLDER要改成解压的视频序列文件夹的路径。

例如我下载的“rgbd_dataset_freiburg1_teddy”,位置在 /home/lwl/tum/rgbd_dataset_freiburg1_teddy,那么我将要输入的命令是:

cd ~/home/lwl/tum/rgbd_dataset_freiburg1_teddy

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/lwl/tum/rgbd_dataset_freiburg1_teddy

运行结果截图:

Ubuntu14.04下的ORB_SLAM2方法安装与运行_第1张图片

运行RGBD的SLAM实例

使用的还是“rgbd_dataset_freiburg1_teddy”数据集,将其解压到你喜欢的目录.我放在了/home/lwl/tum目录下面。

下载associate.py.放在/ORB_SLAM2/Examples/RGB-D/目录下面.

https://svncvpr.in.tum.de/cvpr-ros-pkg/trunk/rgbd_benchmark/rgbd_benchmark_tools/src/rgbd_benchmark_tools/associate.py

打开终端,进入到associate.py所在目录,即/ORB_SLAM2/Examples/RGB-D/,之后运行

python associate.py PATH_TO_SEQUENCE/rgb.txt PATH_TO_SEQUENCE/depth.txt > associations.txt

这里的PATH_TO_SEQUENCE 是指的下载数据集的目录里面有depth.txt  和 rgb.txt,需要替换成自己的地址。

所以上述的我的输入:

cd ~/orbslam_ws/src/ORB_SLAM2/Examples/RGB-D

python associate.py /home/lwl/tum/rgbd_dataset_freiburg1_teddy/rgb.txt /home/lwl/tum/rgbd_dataset_freiburg1_teddy/depth.txt > associations.txt

运行之后在该目录中将会生成一个associations.txt文件.

最后回到ORB_SLAM2的文件夹下面执行:

./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUMX.yaml PATH_TO_SEQUENCE_FOLDER ASSOCIATIONS_FILE

其中:PATH_TO_SEQUENCE_FOLDER文件夹即为数据库所在文件夹,我的是在orbslam2工程下面,

           ASSOCIATIONS_FILE即为第3步中生成的associations.txt,给出他的制定目录位置。

我的是:

cd ~/orbslam_ws/src/ORB_SLAM2

./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml /home/lwl/tum/rgbd_dataset_freiburg1_teddy Examples/RGB-D/associations.txt

运行结果:

Ubuntu14.04下的ORB_SLAM2方法安装与运行_第2张图片

运行双目的SLAM实例

下载EuRoC数据集(上一条博客有链接),我下载的是EuRoc数据集下的“V1_03_difficult”数据子集。

下载后保存到自己喜欢的路径。运行下面代码,注意改为子集的路径。

./Examples/Stereo/stereo_euroc Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml V1_03_difficult包的路径 /mav0/cam0/data V1_03_difficult/mav1/cam1/data Examples/Stereo/EuRoC_TimeStamps/V10X.txt (X为1,2,3)

那么我的就是:

cd ~/orbslam_ws/src/ORB_SLAM2

./Examples/Stereo/stereo_euroc Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml /home/lwl/video/V1_03_difficult/mav0/cam0/data /home/lwl/video/V1_03_difficult/mav0/cam1/data Examples/Stereo/EuRoC_TimeStamps/V103.txt

运行结果:

Ubuntu14.04下的ORB_SLAM2方法安装与运行_第3张图片

 

你可能感兴趣的:(SLAM)