rtabmap_ros repository

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version galactic-devel
Last Updated 2021-11-08
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rtabmap_ros 0.20.15

README

rtabmap_ros Build Status

RTAB-Map's ROS2 package (branch ros2). ROS2 Foxy minimum required: currently most nodes are ported to ROS2, however they are not all tested yet. The interface is the same than on ROS1 (parameters and topic names should still match ROS1 documentation on rtabmap_ros).

rtabmap.launch is also ported to ROS2 with same arguments. If you see ROS1 examples like this:

$ roslaunch zed_wrapper zed_no_tf.launch

$ roslaunch rtabmap_ros rtabmap.launch \
    rtabmap_args:="--delete_db_on_start" \
    rgb_topic:=/zed/zed_node/rgb/image_rect_color \
    depth_topic:=/zed/zed_node/depth/depth_registered \
    camera_info_topic:=/zed/zed_node/rgb/camera_info \
    frame_id:=base_link \
    approx_sync:=false \
    wait_imu_to_init:=true \
    imu_topic:=/zed_node/imu/data

The ROS2 equivalent is (with those lines set to false to avoid TF conflicts):

$ ros2 launch zed_wrapper zed.launch.py

$ ros2 launch rtabmap_ros rtabmap.launch.py \
    rtabmap_args:="--delete_db_on_start" \
    rgb_topic:=/zed/zed_node/rgb/image_rect_color \
    depth_topic:=/zed/zed_node/depth/depth_registered \
    camera_info_topic:=/zed/zed_node/rgb/camera_info \
    frame_id:=base_link \
    approx_sync:=false \
    wait_imu_to_init:=true \
    imu_topic:=/zed/zed_node/imu/data \
    qos:=1

qos (Quality of Service) argument should match the published topics QoS (1=RELIABLE, 2=BEST EFFORT). ROS1 was always RELIABLE.

Installation

  • RTAB-Map ROS2 package:
    $ cd ~/ros2_ws
    $ git clone https://github.com/introlab/rtabmap.git src/rtabmap
    $ git clone --branch ros2 https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
    $ export MAKEFLAGS="-j6" # Can be ignored if you have a lot of RAM (>16GB)
    $ colcon build --symlink-install

  • To build with rgbd_cameras>1 support and/or subscribe_user_data support:
    $ colcon build --symlink-install --cmake-args -DRTABMAP_SYNC_MULTI_RGBD=ON -DRTABMAP_SYNC_USER_DATA=ON

Example with Turtlebot3

  1. Launch Turtlebot3 simulator:
    $ export TURTLEBOT3_MODEL=waffle
    $ ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py

    $ export TURTLEBOT3_MODEL=waffle
    $ ros2 run turtlebot3_teleop teleop_keyboard

  1. Launch RTAB-Map:
    $ ros2 launch rtabmap_ros turtlebot3_scan.launch.py

    # OR with rtabmap.launch.py
    $ ros2 launch rtabmap_ros rtabmap.launch.py \
       visual_odometry:=false \
       frame_id:=base_footprint \
       subscribe_scan:=true depth:=false \
       approx_sync:=true \
       odom_topic:=/odom \
       scan_topic:=/scan \
       qos:=2 \
       args:="-d --RGBD/NeighborLinkRefining true --Reg/Strategy 1" \
       use_sim_time:=true

See launch/ros2 subfolder for some other ROS2 examples with turtlebot3 in simulation and a RGB-D camera.

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version foxy-devel
Last Updated 2021-11-08
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rtabmap_ros 0.20.15

README

rtabmap_ros Build Status

RTAB-Map's ROS2 package (branch ros2). ROS2 Foxy minimum required: currently most nodes are ported to ROS2, however they are not all tested yet. The interface is the same than on ROS1 (parameters and topic names should still match ROS1 documentation on rtabmap_ros).

rtabmap.launch is also ported to ROS2 with same arguments. If you see ROS1 examples like this:

$ roslaunch zed_wrapper zed_no_tf.launch

$ roslaunch rtabmap_ros rtabmap.launch \
    rtabmap_args:="--delete_db_on_start" \
    rgb_topic:=/zed/zed_node/rgb/image_rect_color \
    depth_topic:=/zed/zed_node/depth/depth_registered \
    camera_info_topic:=/zed/zed_node/rgb/camera_info \
    frame_id:=base_link \
    approx_sync:=false \
    wait_imu_to_init:=true \
    imu_topic:=/zed_node/imu/data

The ROS2 equivalent is (with those lines set to false to avoid TF conflicts):

$ ros2 launch zed_wrapper zed.launch.py

$ ros2 launch rtabmap_ros rtabmap.launch.py \
    rtabmap_args:="--delete_db_on_start" \
    rgb_topic:=/zed/zed_node/rgb/image_rect_color \
    depth_topic:=/zed/zed_node/depth/depth_registered \
    camera_info_topic:=/zed/zed_node/rgb/camera_info \
    frame_id:=base_link \
    approx_sync:=false \
    wait_imu_to_init:=true \
    imu_topic:=/zed/zed_node/imu/data \
    qos:=1

qos (Quality of Service) argument should match the published topics QoS (1=RELIABLE, 2=BEST EFFORT). ROS1 was always RELIABLE.

Installation

  • RTAB-Map ROS2 package:
    $ cd ~/ros2_ws
    $ git clone https://github.com/introlab/rtabmap.git src/rtabmap
    $ git clone --branch ros2 https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
    $ export MAKEFLAGS="-j6" # Can be ignored if you have a lot of RAM (>16GB)
    $ colcon build --symlink-install

  • To build with rgbd_cameras>1 support and/or subscribe_user_data support:
    $ colcon build --symlink-install --cmake-args -DRTABMAP_SYNC_MULTI_RGBD=ON -DRTABMAP_SYNC_USER_DATA=ON

Example with Turtlebot3

  1. Launch Turtlebot3 simulator:
    $ export TURTLEBOT3_MODEL=waffle
    $ ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py

    $ export TURTLEBOT3_MODEL=waffle
    $ ros2 run turtlebot3_teleop teleop_keyboard

  1. Launch RTAB-Map:
    $ ros2 launch rtabmap_ros turtlebot3_scan.launch.py

    # OR with rtabmap.launch.py
    $ ros2 launch rtabmap_ros rtabmap.launch.py \
       visual_odometry:=false \
       frame_id:=base_footprint \
       subscribe_scan:=true depth:=false \
       approx_sync:=true \
       odom_topic:=/odom \
       scan_topic:=/scan \
       qos:=2 \
       args:="-d --RGBD/NeighborLinkRefining true --Reg/Strategy 1" \
       use_sim_time:=true

See launch/ros2 subfolder for some other ROS2 examples with turtlebot3 in simulation and a RGB-D camera.

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version rolling-devel
Last Updated 2021-11-08
Dev Status DEVELOPED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rtabmap_ros 0.20.15

README

rtabmap_ros Build Status

RTAB-Map's ROS2 package (branch ros2). ROS2 Foxy minimum required: currently most nodes are ported to ROS2, however they are not all tested yet. The interface is the same than on ROS1 (parameters and topic names should still match ROS1 documentation on rtabmap_ros).

rtabmap.launch is also ported to ROS2 with same arguments. If you see ROS1 examples like this:

$ roslaunch zed_wrapper zed_no_tf.launch

$ roslaunch rtabmap_ros rtabmap.launch \
    rtabmap_args:="--delete_db_on_start" \
    rgb_topic:=/zed/zed_node/rgb/image_rect_color \
    depth_topic:=/zed/zed_node/depth/depth_registered \
    camera_info_topic:=/zed/zed_node/rgb/camera_info \
    frame_id:=base_link \
    approx_sync:=false \
    wait_imu_to_init:=true \
    imu_topic:=/zed_node/imu/data

The ROS2 equivalent is (with those lines set to false to avoid TF conflicts):

$ ros2 launch zed_wrapper zed.launch.py

$ ros2 launch rtabmap_ros rtabmap.launch.py \
    rtabmap_args:="--delete_db_on_start" \
    rgb_topic:=/zed/zed_node/rgb/image_rect_color \
    depth_topic:=/zed/zed_node/depth/depth_registered \
    camera_info_topic:=/zed/zed_node/rgb/camera_info \
    frame_id:=base_link \
    approx_sync:=false \
    wait_imu_to_init:=true \
    imu_topic:=/zed/zed_node/imu/data \
    qos:=1

qos (Quality of Service) argument should match the published topics QoS (1=RELIABLE, 2=BEST EFFORT). ROS1 was always RELIABLE.

Installation

  • RTAB-Map ROS2 package:
    $ cd ~/ros2_ws
    $ git clone https://github.com/introlab/rtabmap.git src/rtabmap
    $ git clone --branch ros2 https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
    $ export MAKEFLAGS="-j6" # Can be ignored if you have a lot of RAM (>16GB)
    $ colcon build --symlink-install

  • To build with rgbd_cameras>1 support and/or subscribe_user_data support:
    $ colcon build --symlink-install --cmake-args -DRTABMAP_SYNC_MULTI_RGBD=ON -DRTABMAP_SYNC_USER_DATA=ON

Example with Turtlebot3

  1. Launch Turtlebot3 simulator:
    $ export TURTLEBOT3_MODEL=waffle
    $ ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py

    $ export TURTLEBOT3_MODEL=waffle
    $ ros2 run turtlebot3_teleop teleop_keyboard

  1. Launch RTAB-Map:
    $ ros2 launch rtabmap_ros turtlebot3_scan.launch.py

    # OR with rtabmap.launch.py
    $ ros2 launch rtabmap_ros rtabmap.launch.py \
       visual_odometry:=false \
       frame_id:=base_footprint \
       subscribe_scan:=true depth:=false \
       approx_sync:=true \
       odom_topic:=/odom \
       scan_topic:=/scan \
       qos:=2 \
       args:="-d --RGBD/NeighborLinkRefining true --Reg/Strategy 1" \
       use_sim_time:=true

See launch/ros2 subfolder for some other ROS2 examples with turtlebot3 in simulation and a RGB-D camera.

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version noetic-devel
Last Updated 2021-09-30
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rtabmap_ros 0.20.14

README

rtabmap_ros Build Status docker

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

ROS2 distribution

Under construction: see ros2 branch.

ROS distribution

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

    $ sudo apt install ros-noetic-rtabmap-ros

  • Melodic
    $ sudo apt install ros-melodic-rtabmap-ros

  • Kinetic
    $ sudo apt-get install ros-kinetic-rtabmap-ros

  • Indigo
    $ sudo apt-get install ros-indigo-rtabmap-ros

* For armhf architecture, `ros-indigo-rtabmap-ros` is not available. Install `ros-indigo-rtabmap` and build from source `rtabmap_ros` using the `indigo-devel` branch.
        $ cd catkin_ws
        $ git clone -b indigo-devel https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
        $ catkin_make -j1

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

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

Docker

  • Go to docker directory for an example.

Build from source

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

  • The next instructions assume that you have set up your ROS workspace using this tutorial. I will use noetic prefix for convenience, but it should work with Hydro, Indigo, Jade, Kinetic, Lunar and Melodic. The workspace path is ~/catkin_ws and your ~/.bashrc contains:
    $ source /opt/ros/noetic/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 install ros-noetic-rtabmap ros-noetic-rtabmap-ros
          $ sudo apt remove ros-noetic-rtabmap ros-noetic-rtabmap-ros

  1. Optional dependencies
    • If you want SURF/SIFT on Indigo/Jade/Melodic/Noetic (Hydro/Kinetic has already SIFT/SURF), you have to build OpenCV from source to have access to xfeatures2d and nonfree modules (note that SIFT is not in nonfree anymore since OpenCV 4.4.0). Install it in /usr/local (default) and rtabmap library should link with it instead of the one installed in ROS.
      • On Indigo, 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 vision-opencv package yourself (and all ros packages depending on it) so it can link on OpenCV3+.
      • On Kinetic/Melodic/Noetic, build from source with xfeatures2d module (and nonfree module if needed) the same OpenCV version already installed on the system. You will then avoid breaking cv_bridge with rtabmap_ros. If you want to install a more recent OpenCV version, I recommend to uninstall libopencv* libraries (with all ros packages depending on it) and rebuild all those ros packages in your catkin workspace (to make sure cv_bridge is linked on the OpenCV version you just compiled).
* [g2o](https://github.com/RainerKuemmerle/g2o): Should be already installed by `ros-noetic-libg2o`.

* [GTSAM](https://gtsam.org/get_started/): Install via PPA to avoid building from source. If you install from source, make sure to build with `cmake  -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF -DGTSAM_USE_SYSTEM_EIGEN=ON`.

* [libpointmatcher](https://github.com/ethz-asl/libpointmatcher): **Recommended** if you are going to use lidars. Follow their [instructions](https://github.com/ethz-asl/libpointmatcher#quick-start) to install.
  1. 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

  1. 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 ~2 GB to build depending on gcc version).
* Options:
    * Add `-DRTABMAP_SYNC_MULTI_RGBD=ON` to `catkin_make` if you plan to use multiple cameras.
    * Add `-DRTABMAP_SYNC_USER_DATA=ON` to `catkin_make` if you plan to use user data synchronized topics.

Build from source for Nvidia Jetson

These instructions are for Jetpack 3 (Ubuntu 16.04 with ROS Kinetic). For Jetpack 4 (Ubuntu 18.04 with ROS Melodic), see this post.

To use rtabmap_ros on Jetson, you can follow the instructions above if you don't care if OpenCV is built for Tegra. However, if you want rtabmap to use OpenCV 4 Tegra, we must re-build vision_opencv stack from source too to avoid conflicts with vision_opencv stack binaries from ros (which are linked on a not optimized version of OpenCV). Here are the steps: 1. Install JetPack with OpenCV on the Jetson. 2. Do steps 1.2 and 1.3 from http://wiki.ros.org/kinetic/Installation/Ubuntu 3. Install non-opencv dependent ros packages: * Jetpack 3: sudo apt-get install ros-kinetic-ros-base ros-kinetic-image-transport ros-kinetic-tf ros-kinetic-tf-conversions ros-kinetic-eigen-conversions ros-kinetic-laser-geometry ros-kinetic-pcl-conversions ros-kinetic-pcl-ros ros-kinetic-move-base-msgs ros-kinetic-rviz ros-kinetic-octomap-ros ros-kinetic-move-base libhdf5-openmpi-dev libsuitesparse-dev 4. Do step 1.6 from http://wiki.ros.org/kinetic/Installation/Ubuntu 5. Create your catkin workspace 6. Optional: Install g2o and/or GTSAM dependencies as above (increase visual odometry and graph optimization accuracy). 7. To avoid libGL undefined errors:

     $ cd /usr/lib/aarch64-linux-gnu/
     # Jetpack 3:
     $ sudo ln -sf tegra/libGL.so libGL.so
     # Jetpack 4:
     sudo ln -sf libGL.so.1.0.0 libGL.so

  1. To avoid libvtkproj4 errors:
    $ sudo ln -s /usr/lib/aarch64-linux-gnu/libvtkCommonCore-6.2.so /usr/lib/libvtkproj4.so
    $ sudo ln -s /usr/lib/aarch64-linux-gnu/libvtkCommonCore-6.2.so /usr/lib/aarch64-linux-gnu/libvtkproj4-6.2.so.6.2.0

  1. 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

  1. Clone vision_opencv, image_transport_plugins and rtabmap_ros packages in your catkin_ws:
    $ cd ~/catkin_ws
    $ git clone https://github.com/ros-perception/vision_opencv src/vision_opencv
    $ git clone https://github.com/ros-perception/image_transport_plugins.git src/image_transport_plugins
    $ git clone https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
    $ catkin_make -j2

Update to new version

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

###########
# rtabmap_ros
###########
$ roscd rtabmap_ros
$ git pull origin master
$ roscd
$ cd ..
$ catkin_make -j1 --pkg rtabmap_ros

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version melodic-devel
Last Updated 2021-09-30
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rtabmap_ros 0.20.14

README

rtabmap_ros Build Status docker

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

ROS2 distribution

Under construction: see ros2 branch.

ROS distribution

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

    $ sudo apt install ros-noetic-rtabmap-ros

  • Melodic
    $ sudo apt install ros-melodic-rtabmap-ros

  • Kinetic
    $ sudo apt-get install ros-kinetic-rtabmap-ros

  • Indigo
    $ sudo apt-get install ros-indigo-rtabmap-ros

* For armhf architecture, `ros-indigo-rtabmap-ros` is not available. Install `ros-indigo-rtabmap` and build from source `rtabmap_ros` using the `indigo-devel` branch.
        $ cd catkin_ws
        $ git clone -b indigo-devel https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
        $ catkin_make -j1

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

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

Docker

  • Go to docker directory for an example.

Build from source

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

  • The next instructions assume that you have set up your ROS workspace using this tutorial. I will use noetic prefix for convenience, but it should work with Hydro, Indigo, Jade, Kinetic, Lunar and Melodic. The workspace path is ~/catkin_ws and your ~/.bashrc contains:
    $ source /opt/ros/noetic/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 install ros-noetic-rtabmap ros-noetic-rtabmap-ros
          $ sudo apt remove ros-noetic-rtabmap ros-noetic-rtabmap-ros

  1. Optional dependencies
    • If you want SURF/SIFT on Indigo/Jade/Melodic/Noetic (Hydro/Kinetic has already SIFT/SURF), you have to build OpenCV from source to have access to xfeatures2d and nonfree modules (note that SIFT is not in nonfree anymore since OpenCV 4.4.0). Install it in /usr/local (default) and rtabmap library should link with it instead of the one installed in ROS.
      • On Indigo, 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 vision-opencv package yourself (and all ros packages depending on it) so it can link on OpenCV3+.
      • On Kinetic/Melodic/Noetic, build from source with xfeatures2d module (and nonfree module if needed) the same OpenCV version already installed on the system. You will then avoid breaking cv_bridge with rtabmap_ros. If you want to install a more recent OpenCV version, I recommend to uninstall libopencv* libraries (with all ros packages depending on it) and rebuild all those ros packages in your catkin workspace (to make sure cv_bridge is linked on the OpenCV version you just compiled).
* [g2o](https://github.com/RainerKuemmerle/g2o): Should be already installed by `ros-noetic-libg2o`.

* [GTSAM](https://gtsam.org/get_started/): Install via PPA to avoid building from source. If you install from source, make sure to build with `cmake  -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF -DGTSAM_USE_SYSTEM_EIGEN=ON`.

* [libpointmatcher](https://github.com/ethz-asl/libpointmatcher): **Recommended** if you are going to use lidars. Follow their [instructions](https://github.com/ethz-asl/libpointmatcher#quick-start) to install.
  1. 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

  1. 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 ~2 GB to build depending on gcc version).
* Options:
    * Add `-DRTABMAP_SYNC_MULTI_RGBD=ON` to `catkin_make` if you plan to use multiple cameras.
    * Add `-DRTABMAP_SYNC_USER_DATA=ON` to `catkin_make` if you plan to use user data synchronized topics.

Build from source for Nvidia Jetson

These instructions are for Jetpack 3 (Ubuntu 16.04 with ROS Kinetic). For Jetpack 4 (Ubuntu 18.04 with ROS Melodic), see this post.

To use rtabmap_ros on Jetson, you can follow the instructions above if you don't care if OpenCV is built for Tegra. However, if you want rtabmap to use OpenCV 4 Tegra, we must re-build vision_opencv stack from source too to avoid conflicts with vision_opencv stack binaries from ros (which are linked on a not optimized version of OpenCV). Here are the steps: 1. Install JetPack with OpenCV on the Jetson. 2. Do steps 1.2 and 1.3 from http://wiki.ros.org/kinetic/Installation/Ubuntu 3. Install non-opencv dependent ros packages: * Jetpack 3: sudo apt-get install ros-kinetic-ros-base ros-kinetic-image-transport ros-kinetic-tf ros-kinetic-tf-conversions ros-kinetic-eigen-conversions ros-kinetic-laser-geometry ros-kinetic-pcl-conversions ros-kinetic-pcl-ros ros-kinetic-move-base-msgs ros-kinetic-rviz ros-kinetic-octomap-ros ros-kinetic-move-base libhdf5-openmpi-dev libsuitesparse-dev 4. Do step 1.6 from http://wiki.ros.org/kinetic/Installation/Ubuntu 5. Create your catkin workspace 6. Optional: Install g2o and/or GTSAM dependencies as above (increase visual odometry and graph optimization accuracy). 7. To avoid libGL undefined errors:

     $ cd /usr/lib/aarch64-linux-gnu/
     # Jetpack 3:
     $ sudo ln -sf tegra/libGL.so libGL.so
     # Jetpack 4:
     sudo ln -sf libGL.so.1.0.0 libGL.so

  1. To avoid libvtkproj4 errors:
    $ sudo ln -s /usr/lib/aarch64-linux-gnu/libvtkCommonCore-6.2.so /usr/lib/libvtkproj4.so
    $ sudo ln -s /usr/lib/aarch64-linux-gnu/libvtkCommonCore-6.2.so /usr/lib/aarch64-linux-gnu/libvtkproj4-6.2.so.6.2.0

  1. 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

  1. Clone vision_opencv, image_transport_plugins and rtabmap_ros packages in your catkin_ws:
    $ cd ~/catkin_ws
    $ git clone https://github.com/ros-perception/vision_opencv src/vision_opencv
    $ git clone https://github.com/ros-perception/image_transport_plugins.git src/image_transport_plugins
    $ git clone https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
    $ catkin_make -j2

Update to new version

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

###########
# rtabmap_ros
###########
$ roscd rtabmap_ros
$ git pull origin master
$ roscd
$ cd ..
$ catkin_make -j1 --pkg rtabmap_ros

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version lunar-devel
Last Updated 2018-09-29
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rtabmap_ros 0.17.6

README

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. * Lunar

    $ sudo apt-get install ros-lunar-rtabmap-ros

  • 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](https://github.com/introlab/rtabmap_ros#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/Lunar (Catkin build). RTAB-Map works only with the PCL >=1.7, which is the default version installed with ROS Hydro/Indigo/Jade/Kinetic/Lunar (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, Jade and Lunar. 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

  1. Optional dependencies
    • If you want SURF/SIFT on Indigo/Jade (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/Lunar, I recommend to use OpenCV3+xfeatures2d module already installed by ROS. 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/Lunar, you should build ros vision-opencv package yourself (and all ros packages depending on it) so it can link on OpenCV2.
* g2o: Use directly the binaries `ros-kinetic-libg2o`. However, [this g2o version](https://github.com/felixendres/g2o/tree/c++03) (c++03 branch) built from source may be faster than the binaries (install `libsuitesparse-dev` before building `g2o`) and would be [required to avoid some crashes](http://official-rtab-map-forum.67519.x6.nabble.com/ROS-2D-occupancy-grid-tp1204p1215.html). To build RTAB-Map against [latest official g2o version](https://github.com/RainerKuemmerle/g2o) built from source, g2o should be built with `-DBUILD_WITH_MARCH_NATIVE=OFF` to avoid some segmentation faults caused by Eigen.

* [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. Set cmake variable `GTSAM_USE_SYSTEM_EIGEN=ON` to make sure the same Eigen version is used across all dependencies to avoid crashes.
        git clone https://bitbucket.org/gtborg/gtsam.git

  1. 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

  1. 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).

Build from source for Nvidia Jetson with OpenCV 4 Tegra

To use rtabmap_ros on Jetson, you can follow the instructions above if you don't care if OpenCV is built for Tegra. However, if you want rtabmap to use OpenCV 4 Tegra, we must re-build vision_opencv stack from source too to avoid conflicts with vision_opencv stack binaries from ros (which are linked on a not optimized version of OpenCV). Here are the steps: 1. Install JetPack with OpenCV on the Jetson. 2. Do steps 1.2 and 1.3 from http://wiki.ros.org/kinetic/Installation/Ubuntu 3. Install non-opencv dependent ros packages:

* `sudo apt-get install ros-kinetic-ros-base ros-kinetic-image-transport ros-kinetic-tf ros-kinetic-tf-conversions ros-kinetic-eigen-conversions ros-kinetic-laser-geometry ros-kinetic-pcl-conversions ros-kinetic-pcl-ros ros-kinetic-move-base-msgs ros-kinetic-rviz ros-kinetic-octomap-ros ros-kinetic-move-base libhdf5-openmpi-dev libsuitesparse-dev`
  1. Do step 1.6 from http://wiki.ros.org/kinetic/Installation/Ubuntu
  2. Create your catkin workspace
  3. Optional: Install g2o and/or GTSAM dependencies as above (increase visual odometry and graph optimization accuracy).
  4. To avoid libGL undefined errors:
     $ cd /usr/lib/aarch64-linux-gnu/
     $ sudo ln -sf tegra/libGL.so libGL.so

  1. To avoid libvtkproj4 errors:
    $ sudo ln -s /usr/lib/aarch64-linux-gnu/libvtkCommonCore-6.2.so /usr/lib/libvtkproj4.so
    $ sudo ln -s /usr/lib/aarch64-linux-gnu/libvtkCommonCore-6.2.so /usr/lib/aarch64-linux-gnu/libvtkproj4-6.2.so.6.2.0

  1. 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

  1. Clone vision_opencv, image_transport_plugins and rtabmap_ros packages in your catkin_ws:
    $ cd ~/catkin_ws
    $ git clone https://github.com/ros-perception/vision_opencv src/vision_opencv
    $ git clone https://github.com/ros-perception/image_transport_plugins.git src/image_transport_plugins
    $ git clone https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros src/rtabmap_ros
    $ catkin_make -j2

Update to new version

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

###########
# rtabmap_ros
###########
$ roscd rtabmap_ros
$ git pull origin master
$ roscd
$ cd ..
$ catkin_make -j1 --pkg rtabmap_ros

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version jade-devel
Last Updated 2016-07-20
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rtabmap_ros 0.11.8

README

rtabmap_ros

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. For latest binaries, use ros-shadow-fixed repository. * 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

  • Make sure you don't have the binaries installed too (if you tried them before):
$ sudo apt-get remove ros-kinetic-rtabmap

  1. 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. 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.
  • ROS (Qt, PCL, dc1394, OpenNI, OpenNI2, Freenect, g2o, Costmap2d, Rviz, Octomap, CvBridge). Note that I've found that latest g2o version built from source is faster (install libsuitesparse-dev before building g2o) and would be required to avoid some crashes.
$ sudo apt-get install libqt4-dev libpcl-1.7-all-dev libdc1394-dev ros-kinetic-openni-launch ros-kinetic-openni2-launch ros-kinetic-freenect-launch ros-kinetic-costmap-2d ros-kinetic-octomap-ros ros-kinetic-g2o ros-kinetic-rviz ros-kinetic-cv-bridge

  • GTSAM: Follow installation instructions from here. RTAB-Map needs latest version from source (git clone https://bitbucket.org/gtborg/gtsam.git), it will not build with 3.2.1.

  • cvsba: Follow installation instructions from here. Their installation is not standard CMake, you need these extra steps so RTAB-Map can find it:

$ mkdir /usr/local/lib/cmake/cvsba 
$ mv /usr/local/lib/cmake/Findcvsba.cmake /usr/local/lib/cmake/cvsba/cvsbaConfig.cmake

  1. 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 -j4
$ sudo make install

  1. 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

Update to new version

$ cd rtabmap
$ git pull origin master
$ cd build
$ make
$ make install

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

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version indigo-devel
Last Updated 2018-09-29
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rtabmap_ros 0.17.6

README

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. * Lunar

    $ sudo apt-get install ros-lunar-rtabmap-ros

  • 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](https://github.com/introlab/rtabmap_ros#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/Lunar (Catkin build). RTAB-Map works only with the PCL >=1.7, which is the default version installed with ROS Hydro/Indigo/Jade/Kinetic/Lunar (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, Jade and Lunar. 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

  1. Optional dependencies
    • If you want SURF/SIFT on Indigo/Jade (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/Lunar, I recommend to use OpenCV3+xfeatures2d module already installed by ROS. 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/Lunar, you should build ros vision-opencv package yourself (and all ros packages depending on it) so it can link on OpenCV2.
* g2o: Use directly the binaries `ros-kinetic-libg2o`. However, [this g2o version](https://github.com/felixendres/g2o/tree/c++03) (c++03 branch) built from source may be faster than the binaries (install `libsuitesparse-dev` before building `g2o`) and would be [required to avoid some crashes](http://official-rtab-map-forum.67519.x6.nabble.com/ROS-2D-occupancy-grid-tp1204p1215.html). To build RTAB-Map against [latest official g2o version](https://github.com/RainerKuemmerle/g2o) built from source, g2o should be built with `-DBUILD_WITH_MARCH_NATIVE=OFF` to avoid some segmentation faults caused by Eigen.

* [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. Set cmake variable `GTSAM_USE_SYSTEM_EIGEN=ON` to make sure the same Eigen version is used across all dependencies to avoid crashes.
        git clone https://bitbucket.org/gtborg/gtsam.git

  1. 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

  1. 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).

Build from source for Nvidia Jetson with OpenCV 4 Tegra

To use rtabmap_ros on Jetson, you can follow the instructions above if you don't care if OpenCV is built for Tegra. However, if you want rtabmap to use OpenCV 4 Tegra, we must re-build vision_opencv stack from source too to avoid conflicts with vision_opencv stack binaries from ros (which are linked on a not optimized version of OpenCV). Here are the steps: 1. Install JetPack with OpenCV on the Jetson. 2. Do steps 1.2 and 1.3 from http://wiki.ros.org/kinetic/Installation/Ubuntu 3. Install non-opencv dependent ros packages:

* `sudo apt-get install ros-kinetic-ros-base ros-kinetic-image-transport ros-kinetic-tf ros-kinetic-tf-conversions ros-kinetic-eigen-conversions ros-kinetic-laser-geometry ros-kinetic-pcl-conversions ros-kinetic-pcl-ros ros-kinetic-move-base-msgs ros-kinetic-rviz ros-kinetic-octomap-ros ros-kinetic-move-base libhdf5-openmpi-dev libsuitesparse-dev`
  1. Do step 1.6 from http://wiki.ros.org/kinetic/Installation/Ubuntu
  2. Create your catkin workspace
  3. Optional: Install g2o and/or GTSAM dependencies as above (increase visual odometry and graph optimization accuracy).
  4. To avoid libGL undefined errors:
     $ cd /usr/lib/aarch64-linux-gnu/
     $ sudo ln -sf tegra/libGL.so libGL.so

  1. To avoid libvtkproj4 errors:
    $ sudo ln -s /usr/lib/aarch64-linux-gnu/libvtkCommonCore-6.2.so /usr/lib/libvtkproj4.so
    $ sudo ln -s /usr/lib/aarch64-linux-gnu/libvtkCommonCore-6.2.so /usr/lib/aarch64-linux-gnu/libvtkproj4-6.2.so.6.2.0

  1. 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

  1. Clone vision_opencv, image_transport_plugins and rtabmap_ros packages in your catkin_ws:
    $ cd ~/catkin_ws
    $ git clone https://github.com/ros-perception/vision_opencv src/vision_opencv
    $ git clone https://github.com/ros-perception/image_transport_plugins.git src/image_transport_plugins
    $ git clone https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros src/rtabmap_ros
    $ catkin_make -j2

Update to new version

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

###########
# rtabmap_ros
###########
$ roscd rtabmap_ros
$ git pull origin master
$ roscd
$ cd ..
$ catkin_make -j1 --pkg rtabmap_ros

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version hydro-devel
Last Updated 2015-05-10
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rtabmap_ros 0.8.12

README

rtabmap_ros

RTAB-Map's ROS package.

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

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

Installation

ROS distribution

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

$ sudo apt-get install ros-indigo-rtabmap-ros

  • Hydro
$ sudo apt-get install ros-hydro-rtabmap-ros

Build from source

This section shows how to install RTAB-Map ros-pkg on ROS Hydro/Indigo (Catkin build). RTAB-Map works only with the PCL 1.7, which is the default version installed with ROS Hydro/Indigo (Fuerte and Groovy are not supported). * Note for ROS Indigo: 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.

  • The next instructions assume that you have setup your ROS workspace using this tutorial. The workspace path is ~/catkin_ws and your ~/.bashrc contains:
source /opt/ros/hydro/setup.bash
source ~/catkin_ws/devel/setup.bash

  1. First, you need to install the RTAB-Map standalone libraries (don't checkout in the Catkin workspace but install in your Catkin's devel folder).
$ git clone https://github.com/introlab/rtabmap.git rtabmap
$ cd rtabmap/build
$ cmake -DCMAKE_INSTALL_PREFIX=~/catkin_ws/devel ..  [<---double dots included]
$ make -j4
$ make install

  1. Now install the 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

Update to new version

$ cd rtabmap
$ git pull origin master
$ cd build
$ make
$ make install

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

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version kinetic-devel
Last Updated 2021-07-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rtabmap_ros 0.20.7

README

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

ROS2 distribution

Under construction: see ros2 branch.

ROS distribution

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

    $ sudo apt install ros-noetic-rtabmap-ros

  • Melodic
    $ sudo apt install ros-melodic-rtabmap-ros

  • Kinetic
    $ sudo apt-get install ros-kinetic-rtabmap-ros

  • Indigo
    $ sudo apt-get install ros-indigo-rtabmap-ros

* For armhf architecture, `ros-indigo-rtabmap-ros` is not available. Install `ros-indigo-rtabmap` and build from source `rtabmap_ros` using the `indigo-devel` branch.
        $ cd catkin_ws
        $ git clone -b indigo-devel https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
        $ catkin_make -j1

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

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

Docker

  • Go to docker directory for an example.

Build from source

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

  • The next instructions assume that you have set up your ROS workspace using this tutorial. I will use noetic prefix for convenience, but it should work with Hydro, Indigo, Jade, Kinetic, Lunar and Melodic. The workspace path is ~/catkin_ws and your ~/.bashrc contains:
    $ source /opt/ros/noetic/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 install ros-noetic-rtabmap ros-noetic-rtabmap-ros
          $ sudo apt remove ros-noetic-rtabmap ros-noetic-rtabmap-ros

  1. Optional dependencies
    • If you want SURF/SIFT on Indigo/Jade/Melodic/Noetic (Hydro/Kinetic has already SIFT/SURF), you have to build OpenCV from source to have access to xfeatures2d and nonfree modules (note that SIFT is not in nonfree anymore since OpenCV 4.4.0). Install it in /usr/local (default) and rtabmap library should link with it instead of the one installed in ROS.
      • On Indigo, 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 vision-opencv package yourself (and all ros packages depending on it) so it can link on OpenCV3+.
      • On Kinetic/Melodic/Noetic, build from source with xfeatures2d module (and nonfree module if needed) the same OpenCV version already installed on the system. You will then avoid breaking cv_bridge with rtabmap_ros. If you want to install a more recent OpenCV version, I recommend to uninstall libopencv* libraries (with all ros packages depending on it) and rebuild all those ros packages in your catkin workspace (to make sure cv_bridge is linked on the OpenCV version you just compiled).
* [g2o](https://github.com/RainerKuemmerle/g2o): Should be already installed by `ros-noetic-libg2o`.

* [GTSAM](https://gtsam.org/get_started/): Install via PPA to avoid building from source. If you install from source, make sure to build with `cmake  -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF -DGTSAM_USE_SYSTEM_EIGEN=ON`.

* [libpointmatcher](https://github.com/ethz-asl/libpointmatcher): **Recommended** if you are going to use lidars. Follow their [instructions](https://github.com/ethz-asl/libpointmatcher#quick-start) to install.
  1. 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

  1. 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 ~2 GB to build depending on gcc version).
* Options:
    * Add `-DRTABMAP_SYNC_MULTI_RGBD=ON` to `catkin_make` if you plan to use multiple cameras.
    * Add `-DRTABMAP_SYNC_USER_DATA=ON` to `catkin_make` if you plan to use user data synchronized topics.

Build from source for Nvidia Jetson

These instructions are for Jetpack 3 (Ubuntu 16.04 with ROS Kinetic). For Jetpack 4 (Ubuntu 18.04 with ROS Melodic), see this post.

To use rtabmap_ros on Jetson, you can follow the instructions above if you don't care if OpenCV is built for Tegra. However, if you want rtabmap to use OpenCV 4 Tegra, we must re-build vision_opencv stack from source too to avoid conflicts with vision_opencv stack binaries from ros (which are linked on a not optimized version of OpenCV). Here are the steps: 1. Install JetPack with OpenCV on the Jetson. 2. Do steps 1.2 and 1.3 from http://wiki.ros.org/kinetic/Installation/Ubuntu 3. Install non-opencv dependent ros packages: * Jetpack 3: sudo apt-get install ros-kinetic-ros-base ros-kinetic-image-transport ros-kinetic-tf ros-kinetic-tf-conversions ros-kinetic-eigen-conversions ros-kinetic-laser-geometry ros-kinetic-pcl-conversions ros-kinetic-pcl-ros ros-kinetic-move-base-msgs ros-kinetic-rviz ros-kinetic-octomap-ros ros-kinetic-move-base libhdf5-openmpi-dev libsuitesparse-dev 4. Do step 1.6 from http://wiki.ros.org/kinetic/Installation/Ubuntu 5. Create your catkin workspace 6. Optional: Install g2o and/or GTSAM dependencies as above (increase visual odometry and graph optimization accuracy). 7. To avoid libGL undefined errors:

     $ cd /usr/lib/aarch64-linux-gnu/
     # Jetpack 3:
     $ sudo ln -sf tegra/libGL.so libGL.so
     # Jetpack 4:
     sudo ln -sf libGL.so.1.0.0 libGL.so

  1. To avoid libvtkproj4 errors:
    $ sudo ln -s /usr/lib/aarch64-linux-gnu/libvtkCommonCore-6.2.so /usr/lib/libvtkproj4.so
    $ sudo ln -s /usr/lib/aarch64-linux-gnu/libvtkCommonCore-6.2.so /usr/lib/aarch64-linux-gnu/libvtkproj4-6.2.so.6.2.0

  1. 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

  1. Clone vision_opencv, image_transport_plugins and rtabmap_ros packages in your catkin_ws:
    $ cd ~/catkin_ws
    $ git clone https://github.com/ros-perception/vision_opencv src/vision_opencv
    $ git clone https://github.com/ros-perception/image_transport_plugins.git src/image_transport_plugins
    $ git clone https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
    $ catkin_make -j2

Update to new version

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

###########
# rtabmap_ros
###########
$ roscd rtabmap_ros
$ git pull origin master
$ roscd
$ cd ..
$ catkin_make -j1 --pkg rtabmap_ros

CONTRIBUTING

No CONTRIBUTING.md found.