Skip to content

Eurecat/rtabmap_ros

 
 

Repository files navigation

rtabmap_ros Build Status

RTAB-Map's ROS package.

For more information, demos and tutorials about this package, visit rtabmap_ros page on ROS wiki.

For the RTAB-Map libraries and standalone application, visit RTAB-Map's home page or RTAB-Map's wiki.

Installation

ROS distribution

RTAB-Map is released as binaries in the ROS distribution.

  • Kinetic
    $ sudo apt-get install ros-kinetic-rtabmap-ros
    
  • 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
    
    • Note that rtabmap_ros Hydro binaries are stuck at version 0.8.12. To use the latest version, see Build from source below.

When launching rtabmap_ros's nodes, if you have the error error while loading shared libraries..., add the next line at the end of your ~/.bashrc to fix it:

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ros/kinetic/lib/x86_64-linux-gnu

Build from source

This section shows how to install RTAB-Map ros-pkg on ROS Hydro/Indigo/Jade/Kinetic (Catkin build). RTAB-Map works only with the PCL >=1.7, which is the default version installed with ROS Hydro/Indigo/Jade/Kinetic (Fuerte and Groovy are not supported).

  • The next instructions assume that you have set up your ROS workspace using this tutorial. I will use kinetic prefix for convenience, but it should work with Hydro, Indigo and Jade. The workspace path is ~/catkin_ws and your ~/.bashrc contains:

    $ source /opt/ros/kinetic/setup.bash
    $ source ~/catkin_ws/devel/setup.bash
  1. Required dependencies

    • The easiest way to get all them (Qt, PCL, VTK, OpenCV, ...) is to install/uninstall rtabmap binaries:
      $ sudo apt-get install ros-kinetic-rtabmap ros-kinetic-rtabmap-ros
      $ sudo apt-get remove ros-kinetic-rtabmap ros-kinetic-rtabmap-ros
  2. Optional dependencies

    • If you want SURF/SIFT on Indigo/Jade/Kinetic (Hydro has already SIFT/SURF), 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.

      • On Indigo/Jade, I recommend to use latest 2.4 version (2.4.11) and build it from source following these instructions. RTAB-Map can build with OpenCV3+xfeatures2d module, but rtabmap_ros package will have libraries conflict as cv-bridge is depending on OpenCV2. If you want OpenCV3, you should build ros vision-opencv package yourself (and all ros packages depending on it) so it can link on OpenCV3.
      • On Kinetic, I recommend to use OpenCV3+xfeatures2d module. You can also install OpenCV2, but rtabmap_ros package will have libraries conflict as cv-bridge is depending on OpenCV3. Thus if you want OpenCV2 on Kinetic, you should build ros vision-opencv package yourself (and all ros packages depending on it) so it can link on OpenCV2.
    • ros-kinetic-g2o: latest g2o version built from source may be faster than the binaries (install libsuitesparse-dev before building g2o) and would be required to avoid some crashes.

    • GTSAM: Follow installation instructions from here. RTAB-Map needs latest version from source, it will not build with 3.2.1.

      git clone https://bitbucket.org/gtborg/gtsam.git
    • Freenect2: Follow installation instructions from here.

  3. Install RTAB-Map standalone libraries. Add -DCMAKE_INSTALL_PREFIX=~/catkin_ws/devel to cmake command below if you want to install in your Catkin's devel folder without sudo. Do not clone in your Catkin workspace.

    $ cd ~
    $ git clone https://github.com/introlab/rtabmap.git rtabmap
    $ cd rtabmap/build
    $ cmake ..  [<---double dots included]
    $ make
    $ sudo make install
  4. Install RTAB-Map ros-pkg in your src folder of your Catkin workspace.

    $ cd ~/catkin_ws
    $ git clone https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
    $ catkin_make -j1
    • Use catkin_make -j1 if compilation requires more RAM than you have (e.g., some files require up to ~1.8 GB to build).

Update to new version

$ cd rtabmap
$ git pull origin master
$ cd build
$ make
$ make install
# Do "sudo make install" if you installed rtabmap in "/usr/local"

$ roscd rtabmap_ros
$ git pull origin master
$ cd ~/catkin_ws
$ catkin_make -j1

Packages

No packages published

Languages

  • C++ 98.0%
  • CMake 1.6%
  • Other 0.4%