天天看点

ORB_SLAM 编译过程详解

首先贴出github地址:http://webdiis.unizar.es/~raulmur/orbslam/

ORB_SLAM是相对来说比较新的一种SLAM,2015年开发出来,也许很多初学者比较想先运行出效果,然后慢慢理解,所以在这里贴出编译运行的过程。

博主的运行环境Ubuntu14.04+ROS(indigo),首先,这种搭配最为常见,遇到问题也一般都能搜索出答案出来,所以建议大家使用博主这个环境。

1、首先ros工作空间,博主的ROS工作空间为~/catkin_ws/src

首先要把以下两行写进你的 .bashrc 里面(gedit ~/.bashrc 然后复制下面两行进去,条件是,你的工作空间设置的名字跟我的一样的话)

source /opt/ros/indigo/setup.bash
source ~/catkin_ws/devel/setup.bash
           

2、安装boost库

3、安装opencv2.4(博主安装的是2.4.13版本)这个网上有大量的教程,搜索即可。

4、 下载ORB_SLAM 到ROS工作空间(catkin_ws/src 目录下),并解压

https://github.com/raulmur/ORB_SLAM
           

或者进入~/catkin_ws/src/ 然后终端执行

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

下载数据集,(同样放在上述目录)约800M,解压得到Example.bag文件(约1G)

5、在ORB_SLAM 文件夹下移除 manifest.xml 文件中对opencv的依赖,(把含有opencv的那行删除,否则第九步会出错)

6、安装eigen3,这是安装g2o的必要条件

7、编译g2o

进入 Thirdparty/g2o/ 文件夹 终端执行

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

8、同样方式编译DBoW2

进入 Thirdparty/g2o/

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

9、进入ORB-SLAM文件夹进行编译

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

10、

(1)启动roscore

(2)新终端执行

rosrun ORB_SLAM ORB_SLAM PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE
           

其中PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE分别是ORBvoc.txt和Settings.yaml的相对路径,以本例为说明即为:

11、新终端执行

启动图片查看程序,到时可以看到特征点跟踪情况

12、新终端执行

rosrun rviz rviz -d Data/rviz.rviz
           

启动地图视图窗口,显示轨迹及特征点地图

13、新终端执行(先进入ORB_SLAM 文件夹

roslaunch ExampleGroovyOrNewer.launch
、新终端先进入数据集文件夹,执行
           

rosbag play –pause Example.bag

“`

执行图片发布程序,执行后,按空格键开始

结果如下图所示

ORB_SLAM 编译过程详解