首先贴出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
“`
执行图片发布程序,执行后,按空格键开始
结果如下图所示