orb-slam的安装/配置/运行

本人是slam小白,只是近来比较清闲,实习期间又稍有涉猎,希望有所总结,以备后日有需。接下来,首先会介绍如何安装/配置/运行orb-slam。

orb-slam的项目主页:https://github.com/raulmur/ORB_SLAM 。其实主页上关于orb-slam的安装和配置已经说的很清楚了,大家完全可以参考之并实践之。

本人安装实践平台是ubuntu14.04;ROS版本是ROS indigo版本。

1.orb-slam的依赖库
orb-slam依赖于若干库,需要依次安装,包括:Boost/ROS/OpenCV/g2o/DBoW2,针对这些库的安装将分别进行描述。

1.1 Boost
使用Boost库主要是用来管理多线程的,命令行执行下列语句即可,

sudo apt-get install libboost-all-dev

1.2 ROS
使用ROS主要是用来获取输入图像序列(可以是从摄像头直接获取,或者从已采集好的图像序列文件中获取数据,下面展示的例子属于后者)以及结果可视化。ROS的安装配置可参考链接:http://wiki.ros.org/indigo/Installation/Ubuntu 完成,这里不再赘述。

1.3 OpenCV
这里安装的opencv版本是opencv-2.4.13,安装配置的过程如下:
安装opencv之前需要事先安装一些软件,命令行执行下列命令:

sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev  

然后从opencv官网下载opencv2.4.13版本并解压缩,进入解压缩后目录,创建编译文件夹build,并进入该文件夹,

cd opencv-2.4.13
mkdir build
cd build

cmake编译opencv,

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

最后执行makesudo make install即可完成opencv-2.4.13的安装

1.4 g2o
g2o主要是用来进行优化计算的,编译g2o需要首先安装其他软件,

sudo apt-get install libblas-dev
sudo apt-get install liblapack-dev
sudo apt-get install libeigen3-dev

1.5 DBoW2
编译DBoW2不需要其他依赖库,直接进行下一步的编译即可。

2. ORB-SLAM的编译
2.1设置环境变量
从ORB-SLAM的github主页下载ORB-SLAM项目至目录ORB_SLAM下,

git clone https://github.com/raulmur/ORB_SLAM.git ORB_SLAM

如果ORB-SLAM项目的绝对路径为PATH_TO_PARENT_OF_ORB_SLAM,那么设置环境变量ROS_PACKAGE_PATH为,

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH_TO_PARENT_OF_ORB_SLAM

2.2 编译g2o
进入目录ORB_SLAM/Thirdparty/g2o/,并在命令行中执行命令,

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make

完成g2o的编译过程。

2.3 编译DBoW2
进入目录ORB_SLAM/Thirdparty/DBoW2/,并在命令行中执行命令,

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make

完成DBoW2的编译过程。

2.4 编译ORB-SLAM项目
进入目录ORB_SLAM项目根目录,并在命令行中执行命令,

mkdir build
cd build
cmake .. -DROS_BUILD_TYPE=Release
make

特别需要注意的是,如果ROS安装的版本是ROS Indigo,需要将根目录下的manifest.xml文件中的opencv2依赖一行的代码去掉!
完成ORB-SLAM的编译过程。

3. ORB-SLAM的测试
这里,使用测试用例 http://webdiis.unizar.es/~raulmur/orbslam/downloads/Example.bag.tar.gz. 进行测试,下载可得到Example.bag文件。

使用根目录下的launch文件启动程序,ORB_SLAM项目目录下包含两个launch文件:ExampleFuerte.launch和ExampleGroovyOrNewer.launch,对应不同的ROS版本,根据ROS的版本选择不同的launch文件。launch文件是一个脚本文件,包含启动程序的各个步骤。接下来,执行以下命令进行测试,

3.1 打开终端(快捷键ctrl+alt+t),执行命令启动ROS服务

roscore

3.2开启新的终端,进入launch所在目录,执行命令,

roslaunch ExampleGroovyOrNewer.launch

orb-slam的安装/配置/运行_第1张图片

3.3 开启新的终端,进入测试用例Example.bag所在的目录,执行下面的命令,启动后,按s键可以单步查看运行结果。

rosbag play --pause Example.bag

下面左图展示的是相机姿态的可视化结果,右图展示的是对应时刻的追踪特征点可视化结果。
orb-slam的安装/配置/运行_第2张图片

你可能感兴趣的:(计算机视觉,开发环境配置)