{"id":14234946,"url":"https://github.com/koide3/interactive_slam","last_synced_at":"2025-10-24T22:07:48.175Z","repository":{"id":45250802,"uuid":"213639181","full_name":"koide3/interactive_slam","owner":"koide3","description":"Interactive Map Correction for 3D Graph SLAM","archived":false,"fork":false,"pushed_at":"2024-08-04T03:08:42.000Z","size":288,"stargazers_count":911,"open_issues_count":33,"forks_count":262,"subscribers_count":28,"default_branch":"master","last_synced_at":"2025-10-01T18:07:22.666Z","etag":null,"topics":["gui","hdl-graph-slam","lidar","point-cloud","ros","slam","velodyne"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/koide3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-08T12:41:44.000Z","updated_at":"2025-09-25T11:51:09.000Z","dependencies_parsed_at":"2024-11-12T22:00:33.746Z","dependency_job_id":"e8a84a60-41b5-4998-b858-79c2429066a2","html_url":"https://github.com/koide3/interactive_slam","commit_stats":null,"previous_names":["smrt-aist/interactive_slam"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/koide3/interactive_slam","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koide3%2Finteractive_slam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koide3%2Finteractive_slam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koide3%2Finteractive_slam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koide3%2Finteractive_slam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/koide3","download_url":"https://codeload.github.com/koide3/interactive_slam/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koide3%2Finteractive_slam/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280872423,"owners_count":26405704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gui","hdl-graph-slam","lidar","point-cloud","ros","slam","velodyne"],"created_at":"2024-08-20T21:00:51.767Z","updated_at":"2025-10-24T22:07:48.143Z","avatar_url":"https://github.com/koide3.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# New SLAM Package Released\n\nWe released [a new SLAM package GLIM](https://github.com/koide3/glim) that has [interactive map correction features](https://koide3.github.io/glim/quickstart.html#mapping-result).\n\n# interactive_slam\n***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:\n  - [Manual \u0026 Automatic] Loop closing\n  - [Manual] Plane-based map correction\n  - [Manual] Multiple map merging\n  - [Automatic] Pose edge refinement\n\n\n![Screenshot_20191016_182424](https://user-images.githubusercontent.com/31344317/66906208-3f2e0880-f042-11e9-8366-c178f9c00b65.png)\n[[video]](https://youtu.be/vAqo6YkbKpU)\n\n\nThis package is built on top of the ROS ecosystem. You can start building a map with a pose graph constructed by [hdl_graph_slam](https://github.com/koide3/hdl_graph_slam) or a customized [LeGO-LOAM](https://github.com/koide3/LeGO-LOAM-BOR), or odometry data generated by any ROS package.\n\nThis package has been tested on Ubuntu 18.04 \u0026 ROS melodic or later.\n\n[![Build](https://github.com/SMRT-AIST/interactive_slam/actions/workflows/build.yml/badge.svg)](https://github.com/SMRT-AIST/interactive_slam/actions/workflows/build.yml)\n\n## Installation\n***interactive_slam*** depends on the following libraries:\n\n  - [GL3W](https://github.com/skaslev/gl3w)\n  - [GLFW](https://www.glfw.org/)\n  - [Dear ImGui](https://github.com/ocornut/imgui)\n  - [portable-file-dialog](portable-file-dialog)\n  - [OpenMP](https://www.openmp.org/)\n  - [PCL](https://pointclouds.org/)\n  - [g2o](https://github.com/RainerKuemmerle/g2o)\n\n\n```bash\n# for ROS noetic\nsudo apt-get install libglm-dev libglfw3-dev\nsudo apt-get install libsuitesparse-dev libeigen3-dev\nsudo apt-get install ros-noetic-geodesy ros-noetic-pcl-ros ros-noetic-nmea-msgs \n```\n\n```bash\n# Install g2o from original source code\ngit clone https://github.com/RainerKuemmerle/g2o.git\ncd g2o\nmkdir build \ncd build\ncmake ../\nmake\nsudo make install\n```\n\n```bash\n# Install Ceres Library\ngit clone https://ceres-solver.googlesource.com/ceres-solver\n# Install all dependencies\n# CMake\nsudo apt-get install cmake\n# google-glog + gflags\nsudo apt-get install libgoogle-glog-dev libgflags-dev\n# Use ATLAS for BLAS \u0026 LAPACK\nsudo apt-get install libatlas-base-dev\n# Eigen3\nsudo apt-get install libeigen3-dev\n# SuiteSparse (optional)\nsudo apt-get install libsuitesparse-dev\ncd ceres-solver\nmkdir build \ncd build\ncmake ../\nmake\nsudo make install\n```\n\n```bash\ncd ~/catkin_ws/src\ngit clone https://github.com/koide3/ndt_omp\n# on melodic\n# git clone https://github.com/koide3/ndt_omp -b melodic\ngit clone https://github.com/koide3/hdl_graph_slam\ngit clone https://github.com/koide3/odometry_saver\ngit clone https://github.com/SMRT-AIST/fast_gicp --recursive\ngit clone https://github.com/SMRT-AIST/interactive_slam --recursive\n\ncd ~/catkin_ws\ncatkin_make -DCMAKE_BUILD_TYPE=Release\n```\n\n***ROS Kinetic users***  \nThis 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.\n\n```bash\nsudo apt install clang-6.0 lld-6.0\nsudo update-alternatives --install /usr/bin/ld ld /usr/bin/ld.lld-6.0 50\nsudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-6.0 50\nsudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-6.0 50\ncd ~/catkin_ws \u0026\u0026 rm -rf build devel    # be aware of that this command removes build and devel directories\nCC=clang CXX=clang++ catkin_make -DCMAKE_BUILD_TYPE=Release\n```\n\n## Examples\n\n### Example1 - Basic usage with hdl_graph_slam\n\nIn this example, we edit a map (pose graph) constructed by [hdl_graph_slam](https://github.com/koide3/hdl_graph_slam).  [See more](https://github.com/koide3/interactive_slam/wiki/Example1).\n![Screenshot_20191016_175924 png](https://user-images.githubusercontent.com/31344317/66904272-c11c3280-f03e-11e9-9420-078d75c5c0e9.jpg)\n\n### Example2 - Generating odometry with external ROS package\n\nIn this example, we create a map with odometry data generated from a rosbag file with LeGO-LOAM. [See more](https://github.com/koide3/interactive_slam/wiki/Example2).\n\n### Example3 - Plane-based map correction \u0026 Map merging\n\nIn this example, we correct a largely bent map with plane constraints and merge it with another map. [See more](https://github.com/koide3/interactive_slam/wiki/Example3).\n\n![Screenshot_20191016_182955 png](https://user-images.githubusercontent.com/31344317/66906642-fe82bf00-f042-11e9-9373-f810337f4d97.jpg)\n\n## Graph/Odometry file format\n\nYou can feed graph/odometry files generated by your program to ***interactive_slam***. [See more](https://github.com/koide3/interactive_slam/wiki/Format)\n\n## FAQ\n\n[FAQ](https://github.com/koide3/interactive_slam/wiki/FAQ)\n\n## License\n***interactive_slam*** is released under GPLv3 license.\n\n## Related packages\n\n- [hdl_graph_slam](https://github.com/koide3/hdl_graph_slam)\n- [hdl_localization](https://github.com/koide3/hdl_localization)\n- [hdl_people_tracking](https://github.com/koide3/hdl_people_tracking)\n\n## Papers\nKenji 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](https://doi.org/10.1109/LRA.2020.3028828)\n\n## Contact\n[発展版機能について](https://github.com/SMRT-AIST/interactive_slam/wiki/%E7%99%BA%E5%B1%95%E7%89%88%E6%A9%9F%E8%83%BD%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)\n\nKenji Koide, k.koide@aist.go.jp, https://staff.aist.go.jp/k.koide\n\nMobile Robotics Research Team  \nNational Institute of Advanced Industrial Science and Technology (AIST), Japan  [\\[URL\\]](https://unit.aist.go.jp/hcmrc/mr-rt/index.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoide3%2Finteractive_slam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoide3%2Finteractive_slam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoide3%2Finteractive_slam/lists"}