• Stars
    star
    986
  • Rank 46,429 (Top 1.0 %)
  • Language
    C++
  • License
    BSD 3-Clause "New...
  • Created over 10 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

RTAB-Map's ROS package.

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.

CI Latest

ROS 1 Build Status
Build Status
ROS 2 Build Status

ROS Binaries

ROS 1 Noetic Build Status
ROS 2 Humble Build Status
Iron Build Status
Rolling Build Status
Docker rtabmap_ros Docker Pulls

Installation

ROS2 distribution

Under construction: see ros2 branch.

ROS distribution

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

sudo apt install ros-$ROS_DISTRO-rtabmap-ros

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 Noetic (Catkin build).

  • The next instructions assume that you have set up your ROS workspace using this tutorial. The workspace path is ~/catkin_ws and your ~/.bashrc contains:

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

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

    • If you want SURF/SIFT on Noetic, you have to build OpenCV from source to have access to xfeatures2d and nonfree modules. Install it in /usr/local (default) and rtabmap library should link with it instead of the one installed in ROS.

      • On 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: Should be already installed by ros-$ROS_DISTRO-libg2o.

    • GTSAM: Should be already installed by ros-$ROS_DISTRO-gtsam.

    • libpointmatcher: Recommended if you are going to use lidars. Should be alread installed by ros-$ROS_DISTRO-libpointmatcher (Official install instructions).

  3. Install RTAB-Map standalone libraries. 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 -j6
    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 -j4
    • 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

  • For latest jetpack, see this post to use docker (you will save a lot of time using the already built docker images).
  • For Jetpack 4 (Ubuntu 18.04 with ROS Melodic), see this post.
  • For Jetpack 3 (Ubuntu 16.04 with ROS Kinetic), see this post.

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

More Repositories

1

rtabmap

RTAB-Map library and standalone application
C++
2,776
star
2

odas

ODAS: Open embeddeD Audition System
C
782
star
3

find-object

Find-Object project
C++
447
star
4

OpenIMU

Open Source Analytics & Visualisation Software for Inertial Measurement Units
Python
268
star
5

manyears

ManyEars Sound Source Localization, Tracking and Separation
C++
184
star
6

odas_web

A desktop visualization GUI for the ODAS library
JavaScript
138
star
7

16SoundsUSB

16 Synchronized Inputs USB (UAC2) Sound Card Based on XMOS xCORE-200
98
star
8

ros_for_ios

How to build the Robot Operating System for the iOS platform.
C
67
star
9

OpenIMU-MiniLogger

OpenIMU - Open Hardware Mini Logger based on ESP32
C++
41
star
10

odas_ros

ODAS ROS package
Python
39
star
11

opentera-webrtc

WebRTC JavaScript, C++ and Python libraries and signaling server for the OpenTera project with hardware acceleration with GStreamer
C++
32
star
12

webrtc-native-build

Native build of Google's webrtc library.
Dockerfile
30
star
13

introlab-ros-pkg

IntRoLab's ROS packages
C++
30
star
14

dotmask

Python
28
star
15

securbot

Security robot prototype
Rich Text Format
25
star
16

rendezvous

Next generation videoconference system
C
24
star
17

opentera

OpenTera - Open TeleRehabilitation Server and Micro-Services
Python
16
star
18

opentera-webrtc-ros

ROS package for OpenTera WebRTC signaling server.
C++
15
star
19

mars

Microphone Array Real-time System
12
star
20

audio_utils

ROS node and utilities for audio streams.
C++
12
star
21

WISS

Speaker recognition system for mobile robots
MATLAB
7
star
22

MusicBeatDetector

TableTop - MusicBeatDetector
C++
7
star
23

t-top

T-Top is a tabletop robot designed with advanced audio and vision sensors, deep learning perceptual processing and telecommunication capabilities to provide richer interaction modalities and develop higher cognitive abilities from interacting with people.
Python
7
star
24

xSoundsMicrophones

Microphones for 8SoundsUSB and 16SoundsUSB
6
star
25

uimvdr

Python
6
star
26

opentera-webrtc-teleop-frontend

OpenTera VUE3.js Frontend to be used with opentera-webrtc signaling server (local or on the Internet)
Vue
4
star
27

opentera-teleop-service

OpenTera Service handling teleoperation sessions based on webrtc.
JavaScript
4
star
28

opentera-webportal-service

Portal for users / participants
TypeScript
2
star
29

openteraplus

OpenTeraPlus
C++
2
star
30

MOvITPlus

AGEWELL - MOvIT+ Sensor Platform
Shell
2
star
31

egonoise

Python
2
star
32

demo_integration

Projet démonstration pour intégration continue avec Git, GitHub Actions
Python
1
star
33

opentera_messages

Protobuf messages for OpenTera
CMake
1
star
34

github-stats-action

Get GitHub project stats
Python
1
star
35

rtabmap_ros-release

1
star
36

find_object_2d-release

1
star
37

hbba_lite

Hybrid Behavior Based Architecture Lite Library
C++
1
star
38

IRL-1

Code and simulation models for the IRL-1 robot.
C++
1
star