Files
rtabmap_ros/rtabmap_demos
matlabbe e9ca237e11 icp_odometry IMU deskewing (#1463)
* icp_odometry IMU deskewing

* Refactored odom pending imu tf transform

* Adjusted imu_to_tf queue size and wait time

* using default imu_to_tf wait duration everywhere

* netherdrone demo: configurable frame_id

* netherdone demo: record inter_odom_info

* Netherdrone demo: enable auto gravity estimation

* fixing queue size ofr ci tests

* flushing imu when processing new frame

* added euroc (stereo vo + imu) test

* testing imu flushing

* fixing stereo test kilted

* updated comment

* fixing deprecated static_transform_publisher arguments

* removed wait for transform duration for intermediate ground truth

* getTransform: dont wait for duration if requested stamp is older than the tf buffer cache

* test: refactored collector weak ptr

* fixing returned ptr discarded

* missing collect

* Adjusting netherdrone test expectation
2026-10-12 18:40:18 -07:00
..
2026-10-12 18:40:18 -07:00
2026-10-12 18:40:18 -07:00
2026-10-10 12:23:49 -07:00

rtabmap_demos

Ready-to-run demos of RTAB-Map. Each launch file sets up a complete pipeline for one of the demo bags or one simulated robot, so you can watch RTAB-Map map, close loops and navigate without any hardware. The bags can be downloaded from the 0.23.13 release.

Outdoor Stereo VSLAM

stereo_outdoor_demo.launch.py (Video)

Peek 2024-11-29 10-52

Indoor 2D LiDAR and RGB-D SLAM

robot_mapping_demo.launch.py (Videos: rtabmap_viz, rviz)

Peek 2024-11-29 11-07

Multi-Session Indoor 2D LiDAR and RGB-D SLAM

multisession_mapping_demo.launch.py (Video)

Peek 2024-11-29 11-48

Find-Object with SLAM

find_object_demo.launch.py (Video)

Peek 2024-11-29 12-01

Netherdrone 3D LiDAR SLAM

netherdrone_lidar3d_demo.launch.py

Peek 2026-10-10 12-12

Turtlebot4 Nav2, 2D LiDAR and RGB-D SLAM

turtlebot4_sim_demo.launch.py

Peek 2024-11-29 12-19

Turtlebot3 Nav2 and 2D LiDAR SLAM

turtlebot3_sim_scan_demo.launch.py

Peek 2024-11-29 12-23

Turtlebot3 Nav2 and RGB-D SLAM

turtlebot3_sim_rgbd_demo.launch.py

Peek 2024-11-29 14-22

Turtlebot3 Nav2, 2D LiDAR and RGB-D SLAM

turtlebot3_sim_rgbd_scan_demo.launch.py

Peek 2024-11-29 13-41

Turtlebot3 Nav2, Fake 2D LiDAR and RGB-D SLAM

turtlebot3_sim_rgbd_fake_scan_demo.launch.py

  • Red: Scan generated from camera's depth.
  • Orange: Locally assembled scans used for proximity detection.
  • Yellow: The map.

Peek 2025-07-04 16-57

Turtlebot3 Nav2, 2D LiDAR SLAM with FusionCore (IMU + wheel UKF)

turtlebot3_sim_fusioncore_icp_demo.launch.py (Jazzy + Gazebo Harmonic)

FusionCore (wheel + IMU UKF) and icp_odometry run in a feedback loop: FusionCore's stable odom frame seeds scan matching via guess_frame_id, and the ICP result feeds back into FusionCore as a second velocity source. See README for architecture details.

FusionCore icp_odometry demo

Champ Quadruped Nav2, Elevation Map and VSLAM

champ_sim_vslam.launch.py

Peek 2024-11-29 15-00

Clearpath Husky Nav2, 2D LiDAR and RGB-D SLAM

husky_sim_scan2d_demo.launch.py

Peek 2024-11-29 15-30

Clearpath Husky Nav2, 3D LiDAR and RGB-D SLAM

husky_sim_scan3d_demo.launch.py

Peek 2024-11-29 15-36

Clearpath Husky Nav2, 3D LiDAR Assembling and RGB-D SLAM

husky_sim_scan3d_assemble_demo.launch.py

Peek 2024-11-29 16-16

Isaac Sim Nav2 and Stereo SLAM

isaac_sim_vslam_demo.launch.py

Peek 2024-11-29 17-49

Isaac Sim Nav2 and RGB-D VSLAM

isaac_sim_vslam_demo.launch.py stereo:=false vo:=rtabmap

Peek 2024-11-30 13-22

Tests

colcon test --packages-select rtabmap_demos runs two tests:

  • test_launch_files loads every launch file of this package, with its default arguments and with each of its switches flipped, without starting anything. It checks that the files, executables, components and included launch files exist, that the arguments passed to our own launch files are declared, and that RTAB-Map's parameters exist in the installed library. Packages that are not installed (simulators, robots) are stubbed and named in a warning.
  • test_demo_playback replays demo bags through the demo launch files and compares the resulting graphs with the golden ones in test/golden (number of nodes and of loop closures, and the trajectory error rtabmap computes against the golden trajectory, replayed as ground truth). It is skipped unless the bags were downloaded first (a few GB):
rtabmap_demos/test/fetch_test_data.sh   # or set RTABMAP_DEMOS_TEST_DATA to download elsewhere

The bags are replayed in lockstep with the demo's nodes: each sensor message is published only once every node is idle, so results do not depend on how loaded the machine is. A replay takes a few minutes per bag. To keep a run's graph, database and log, set RTABMAP_DEMOS_TEST_RESULTS to a directory. After a change that is expected to change the results, regenerate the golden graphs with RTABMAP_DEMOS_UPDATE_GOLDEN=1 and commit them.