Files
rtabmap_ros/README.md
T

87 lines
3.4 KiB
Markdown
Raw Normal View History

2014-11-25 17:51:23 -05:00
rtabmap_ros
===========
2014-11-28 10:15:17 -05:00
RTAB-Map's ROS package.
2014-11-25 17:51:23 -05:00
2014-11-27 13:57:06 -05:00
For more information, demos and tutorials about this package, visit the [rtabmap_ros](http://wiki.ros.org/rtabmap_ros) page on the ROS wiki.
2014-11-25 17:51:23 -05:00
2014-11-26 11:01:55 -05:00
For the RTAB-Map libraries and standalone application, visit the [RTAB-Map's home page](http://introlab.github.io/rtabmap) or the [RTAB-Map's wiki](https://github.com/introlab/rtabmap/wiki).
2014-11-25 17:51:23 -05:00
2014-11-27 13:51:23 -05:00
## Installation
### ROS distribution
2015-01-09 13:38:09 -05:00
RTAB-Map is released as binaries in the ROS distribution.
2015-07-09 12:26:20 -04:00
* Jade
```
$ sudo apt-get install ros-jade-rtabmap-ros
```
2014-12-10 13:47:17 -05:00
* Indigo
2015-05-13 15:12:34 -04:00
```
2014-12-10 13:47:17 -05:00
$ sudo apt-get install ros-indigo-rtabmap-ros
2014-11-27 13:51:23 -05:00
```
2014-12-10 13:47:17 -05:00
* Hydro
2015-05-13 15:12:34 -04:00
```
2014-12-10 13:47:17 -05:00
$ sudo apt-get install ros-hydro-rtabmap-ros
2014-11-27 13:51:23 -05:00
```
### Build from source
2015-07-09 12:26:20 -04:00
This section shows how to install RTAB-Map ros-pkg on **ROS Hydro/Indigo/Jade** (Catkin build). RTAB-Map works only with the PCL 1.7, which is the default version installed with ROS Hydro/Indigo/Jade (**Fuerte and Groovy are not supported**).
* **Note for ROS Indigo/Jade**: If you want SURF/SIFT, you have to build OpenCV from source to have access to *nonfree* module. Install it in `/usr/local` (default) and the rtabmap library should link with it instead of the one installed in ROS.
2014-11-27 13:51:23 -05:00
2015-10-06 09:29:50 -04:00
* The next instructions assume that you have setup your ROS workspace using this [tutorial](http://wiki.ros.org/catkin/Tutorials/create_a_workspace). I will use indigo prefix for conveninence, but it should work with hydro and jade. The workspace path is `~/catkin_ws` and your `~/.bashrc` contains:
2014-11-27 13:51:23 -05:00
2015-05-13 15:12:04 -04:00
```bash
2015-10-06 09:29:50 -04:00
source /opt/ros/indigo/setup.bash
2014-11-27 13:51:23 -05:00
source ~/catkin_ws/devel/setup.bash
```
2015-10-06 09:29:50 -04:00
0. Optional dependencies
* ROS (Qt, dc1394, OpenNI, OpenNI2, Freenect, g2o, Costmap2d, Rviz, Octomap):
```bash
$ sudo apt-get install libqt4-dev libdc1394-dev ros-indigo-openni-launch ros-indigo-openni2-launch ros-indigo-freenect-launch ros-indigo-costmap-2d ros-indigo-octomap-ros ros-indigo-g2o ros-indigo-rviz
```
Note that I've found that [latest g2o version](https://github.com/RainerKuemmerle/g2o) built from source is faster.
* [GTSAM](https://collab.cc.gatech.edu/borg/gtsam): Follow installation instructions from [here](https://collab.cc.gatech.edu/borg/gtsam/#quickstart). RTAB-Map needs latest version from source, it will not build with 3.2.1.
* [cvsba](http://www.uco.es/investiga/grupos/ava/node/39): Follow installation instructions from [here](http://www.uco.es/investiga/grupos/ava/node/39). Their installation is not standard CMake, you need these extra steps so RTAB-Map can find it:
```bash
$ mkdir /usr/local/lib/cmake/cvsba
$ mv /usr/local/lib/cmake/Findcvsba.cmake /usr/local/lib/cmake/cvsba/cvsbaConfig.cmake
```
* Freenect2: Follow installation instructions from [here](https://github.com/OpenKinect/libfreenect2#debianubuntu-1404-perhaps-earlier).
1. Install the RTAB-Map standalone libraries (**don't checkout in the Catkin workspace** but install in your Catkin's devel folder).
2014-11-27 13:51:23 -05:00
2015-05-13 15:12:04 -04:00
```bash
$ cd ~
2014-11-27 13:55:12 -05:00
$ git clone https://github.com/introlab/rtabmap.git rtabmap
2014-11-27 13:51:23 -05:00
$ cd rtabmap/build
$ cmake -DCMAKE_INSTALL_PREFIX=~/catkin_ws/devel .. [<---double dots included]
$ make -j4
$ make install
```
2015-10-06 09:29:50 -04:00
2. Install the RTAB-Map ros-pkg in your src folder of your Catkin workspace.
2014-11-27 13:51:23 -05:00
2015-05-13 15:12:04 -04:00
```bash
2014-11-27 13:51:23 -05:00
$ cd ~/catkin_ws
2014-11-27 13:55:12 -05:00
$ git clone https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
2014-11-27 13:51:23 -05:00
$ catkin_make
```
#### Update to new version
2015-05-13 15:12:04 -04:00
```bash
2014-11-27 14:49:14 -05:00
$ cd rtabmap
$ git pull origin master
$ cd build
$ make
$ make install
2014-11-27 13:51:23 -05:00
2014-12-02 09:44:08 -05:00
$ roscd rtabmap_ros
2014-11-27 14:49:14 -05:00
$ git pull origin master
$ cd ~/catkin_ws
$ catkin_make
2014-11-27 13:51:23 -05:00
```