welcome: please sign in
location: rtslam / Installation

Installing RT-SLAM

RT-SLAM is currently provided as-is and is not standalone, and is not advised to people who don't feel very comfortable with manual installation from source. Installation will be more simple when the first release will be made. Currently you need to install our modular development environment Jafar, and the required dependencies.

Installation is possible with all Linux flavors and MacOS X.


Standard development tools

  1. gcc-c++

  2. make

  3. cmake

  4. git

External libraries

When you install these libraries with your system package manager, you have to also install the development packages (in general named package-devel or package-dev).

  1. boost >= 1.40

  2. boost-sandbox/numeric-bindings:

    svn co http://svn.boost.org/svn/boost/sandbox/numeric_bindings boost-sandbox/
  3. lapack

  4. opencv >=2.1

  5. qt4 (optional, for 2D display)

LAAS libraries

  1. gdhe (optional, for 3D display)

  2. viam (optional, for live use of firewire cameras)

  3. MTI driver (optional, for live use of XSens MTi IMU)

Jafar Installation


git clone git://trac.laas.fr/git/robots/jafar/jafar.git

We will later refer to the directory where you cloned jafar as $JAFAR_DIR.

Configure the build system

Jafar uses cmake.

   1  mkdir $JAFAR_DIR/build
   2  cd $JAFAR_DIR/build
   3  cmake ../ -DENABLE_TCL=OFF -DENABLE_RUBY=OFF -DCMAKE_BUILD_TYPE=release <options>

{i} If you need to modify RT-SLAM, you may want to create two directories build_debug and build_release and run cmake in each of them with the appropriate -DCMAKE_BUILD_TYPE option.

The additional common options you may want to pass to cmake are:

  1. -DPATH_TO_BOOST_SANDBOX=/path/to/boost-sandbox to tell cmake where to find boost-sandbox (such that $PATH_TO_BOOST_SANDBOX/boost/numeric/bindings exists and is an absolute path)

  2. -DBOOST_ROOT=/path/to/boost to tell cmake which boost installation to use, if there are several of them or if it is in a non-standard path (such that $BOOST_ROOT/include/boost exists and is an absolute path)

  3. -DOpenCV_ROOT_DIR=/path/to/opencv to tell cmake where to find opencv (such that $OpenCV_ROOT_DIR/include/opencv exists and is an absolute path)

  4. -DCMAKE_BUILD_TYPE=debug or -DCMAKE_BUILD_TYPE=release to choose a compilation profile, you can have both in two different build dirs at the same time, to easily switch between them

You may want to save the cmake command with its arguments in some file $JAFAR_DIR/cmake-command.txt in case you have to do it again from the beginning.

{i} If you have some trouble making it find the right dependencies, sometimes it is useful to remove the CMakeCache.txt file in the build directory before running the cmake command again.

RT-SLAM installation

   1 cd $JAFAR_DIR
   2 bin/jafar_checkout rtslam
   3 bin/jafar_checkout qdisplay
   4 bin/jafar_checkout gdhe
   5 cd build
   6 make

/!\ don't fetch the jafar module gdhe for 3D display with bin/jafar_checkout gdhe if you didn't install the gdhe library or are not willing to, as the project won't compile. If you fetched it by mistake, you can remove it by simply deleting the $JAFAR_DIR/modules/gdhe folder.

If you want to compile faster, you can do make -jn instead of make with n the number of real CPU cores on your system plus one (-j3 for dualcore, -j5 for quadcore).

RT-SLAM update

bin/jafar_update stash
cd build
make rebuild_cache

If you made some modifications, you may want to get an overview of them with bin/jafar_status.

OpenrobotsWiki: rtslam/Installation (last edited 2015-01-14 07:29:26 by croussil)