一、前言
RTAB-Map (Real-Time Appearance-Based Mapping)是一种基于全局贝叶斯闭环检测的RGB-D Graph SLAM方法。它可以用kinect的深度信息结合kinect变换得到的激光数据进行即时定位与建图(gmapping算法志只用到了kinect转换得到的激光数据,而把深度信息丢弃了)。
官网地址:http://introlab.github.io/rtabmap/
ROS下面安装请看:https://github.com/introlab/rtabmap_ros#rtabmap_ros
教程请看:https://github.com/introlab/rtabmap/wiki/Tutorials
在机器人上使用RTAB-Map:Setup RTAB-Map on Your Robot!
二、deb方式安装
嫌麻烦采用deb方式安装
Jade: $ sudo apt-get install ros-jade-rtabmap-ros
Indigo: $ sudo apt-get install ros-indigo-rtabmap-ros
Hydro: $ sudo apt-get install ros-hydro-rtabmap-ros
三、源码安装
请看github上的安装说明:https://github.com/introlab/rtabmap_ros#rtabmap_ros
简单的安装方法是:
indigo:
$ sudo apt-get install libsqlite3-dev libpcl-1.7-all libfreenect-dev libopencv-dev
hydro:
$ sudo apt-get install libsqlite3-dev libpcl-1.7-all ros-hydro-libfreenect ros-hydro-opencv2
然后下载RTAB-Map源码编译安装:
$ git clone https://github.com/introlab/rtabmap.git rtabmap
$ cd rtabmap/build
$ cmake ..
$ make -j4
$ make install
安装完之后插上Kinect在终端运行命令:
$ rtabmap
出现GUI,然后选择“File”——“New database”,再点击开始按键就可以出现图像了
在catkin工作空间中安装RTAB-Map ros-pkg
$ cd ~/catkin_ws
$ git clone https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
$ catkin_make
1、安装可选的依赖项
(1)如果你需要用到SURF/SIFT那就装一下opencv吧
请看:http://blog.csdn.net/u013453604/article/details/49781771
由于cv-bridge依赖的是opencv2,所以装opencv3的话rtabmap_ros里面有些库会冲突,这里建议装opencv 2.4.11。
(2)安装g2o,这是在闭环检测中实现图优化的包
先安装依赖项
$ sudo apt-get install cmake libeigen3-dev libsuitesparse-dev
下载源码编译安装
$ cd
$ git clone https://github.com/RainerKuemmerle/g2o.git
$ cd g2o/
$ mkdir build
$ cd build/
$ cmake ../
$ make
安装完之后库文件在/usr/