Need help with interactive_slam?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

455 Stars 159 Forks GNU General Public License v3.0 86 Commits 15 Opened issues


Interactive Map Correction for 3D Graph SLAM

Services available


Need anything else?

Contributors list


interactive_slam is an open source 3D LIDAR-based mapping framework. In contrast to existing automatic SLAM packages, we aim to develop a semi-automatic framework which allows the user to interactively and intuitively correct mapping failures (e.g., corrupted odometry, wrong loop detection, distorted map, etc) with minimal human effort. This framework provides several map correction features: - [Manual & Automatic] Loop closing - [Manual] Plane-based map correction - [Manual] Multiple map merging - [Automatic] Pose edge refinement

Screenshot_20191016_182424 [video]

This package is built on top of the ROS ecosystem. You can start building a map with a pose graph constructed by hdlgraphslam or a customized LeGO-LOAM, or odometry data generated by any ROS package.

This package has been tested on Ubuntu 18.04 & ROS melodic or later.



interactive_slam depends on the following libraries:

# for ROS melodic
sudo apt-get install libglm-dev libglfw3-dev
sudo apt-get install ros-melodic-geodesy ros-melodic-pcl-ros ros-melodic-nmea-msgs ros-melodic-libg2o
cd ~/catkin_ws/src
git clone
# on melodic
# git clone -b melodic
git clone
git clone
git clone --recursive
git clone --recursive

cd ~/catkin_ws catkin_make -DCMAKE_BUILD_TYPE=Release

ROS Kinetic users
This package cannot be built using gcc and ld on Ubuntu 16. If you are on Ubuntu 16 and ROS kinetic, try the LLVM toolchain. Note: we recommend to use this package on melodic because we do only build-test but not run-test on kinetic.

sudo apt install clang-6.0 lld-6.0
sudo update-alternatives --install /usr/bin/ld ld /usr/bin/ld.lld-6.0 50
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-6.0 50
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-6.0 50
cd ~/catkin_ws && rm -rf build devel    # be aware of that this command removes build and devel directories
CC=clang CXX=clang++ catkin_make -DCMAKE_BUILD_TYPE=Release


Example1 - Basic usage with hdlgraphslam

In this example, we edit a map (pose graph) constructed by hdlgraphslam. See more. Screenshot_20191016_175924 png

Example2 - Generating odometry with external ROS package

In this example, we create a map with odometry data generated from a rosbag file with LeGO-LOAM. See more.

Example3 - Plane-based map correction & Map merging

In this example, we correct a largely bent map with plane constraints and merge it with another map. See more.

Screenshot_20191016_182955 png

Graph/Odometry file format

You can feed graph/odometry files generated by your program to interactive_slam. See more




interactive_slam is released under GPLv3 license.

Related packages


Kenji Koide, Jun Miura, Masashi Yokozuka, Shuji Oishi, and Atsuhiko Banno, Interactive 3D Graph SLAM for Map Correction, IEEE Robotics and Automation Letters (RA-L), 2020 DOI



Kenji Koide, [email protected],

Mobile Robotics Research Team
National Institute of Advanced Industrial Science and Technology (AIST), Japan [URL]

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.