{"id":16162458,"url":"https://github.com/sunsided/robond-mapmyworld","last_synced_at":"2025-03-18T22:31:06.428Z","repository":{"id":141992987,"uuid":"268861719","full_name":"sunsided/RoboND-MapMyWorld","owner":"sunsided","description":"RGB-D based SLAM via RTAB-Map","archived":false,"fork":false,"pushed_at":"2022-02-12T01:32:28.000Z","size":28860,"stargazers_count":14,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-28T12:32:39.202Z","etag":null,"topics":["rgbd","ros","ros-kinetic","rtab","rtab-map","slam","udacity","udacity-nanodegree","udacity-robotics-nanodegree"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sunsided.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":"2020-06-02T17:10:25.000Z","updated_at":"2024-06-11T02:24:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"cb205b62-bf9e-4c53-8689-5d373beeed20","html_url":"https://github.com/sunsided/RoboND-MapMyWorld","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2FRoboND-MapMyWorld","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2FRoboND-MapMyWorld/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2FRoboND-MapMyWorld/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2FRoboND-MapMyWorld/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sunsided","download_url":"https://codeload.github.com/sunsided/RoboND-MapMyWorld/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243950927,"owners_count":20373664,"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","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":["rgbd","ros","ros-kinetic","rtab","rtab-map","slam","udacity","udacity-nanodegree","udacity-robotics-nanodegree"],"created_at":"2024-10-10T02:30:14.191Z","updated_at":"2025-03-18T22:31:06.423Z","avatar_url":"https://github.com/sunsided.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RGB-D based SLAM via RTAB-Map\n\nThis project is about performing SLAM using RGB-D based \nReal-Time Appearance-Based Mapping via the RTAB-Map algorithm.\nIt utilizes ROS' [`rtabmap`](http://wiki.ros.org/rtabmap) and\n[`rtabmap_ros`](http://wiki.ros.org/rtabmap_ros) packages and\nis developed against ROS Kinetic.\n\n![](.readme/rgbd-sweep.webp)\n\nTo build the project, you can try executing `./run-nvidia.sh` to drop\ninto an X11 aware Docker container with NVIDIA GPU support.\n\n---\n\nThe following three pictures show the simulation environment and SLAM results of\nthe [RTAB-Map](http://wiki.ros.org/rtabmap_ros) node, as well as the map generated by it.\nFor more information about RTAB-Map, see also the [offical website](http://introlab.github.io/rtabmap/).\n\n**The simulated environment:**\n\n![The Gazebo environment](.readme/gazebo.jpg)\n\n**Nodes of the graph** generated by RTAB-Map (after \n111 rounds of global loop closure):\n\n![The RTAB-Map graph](.readme/rtab-map.jpg)\n\n**The occupancy grid** generated by RTAB-Map:\n\n![The RTAB-Map map](.readme/generated-map.jpg)\n\n## Environment and Robot Control\n\nTo run, execute:\n\n```bash\nroslaunch map_my_world world.launch\n```\n\nWe can use keyboard teleop to control the bot manually:\n\n```bash\nrosrun teleop_twist_keyboard teleop_twist_keyboard.py\n```\n\n## SLAM\n\nTo perform mapping (thereby deleting any already existing map) we can run\n\n```bash\nroslaunch map_my_world mapping.launch\n```\n\nThis will create or overwrite the database file in `~/.ros/rtabmap.db`.\n\n![](.readme/mapping.webp)\n\nIf a map already exists, we can also choose to enter localization mode\nby running\n\n```bash\nroslaunch map_my_world localization.launch\n```\n\nTo obtain an instance of the required `rtabmap.db` (usually in `~/.ros/rtabmap.db`; \nsee the `localization.launch` file for different paths), see the [0.0.0 release](https://github.com/sunsided/RoboND-MapMyWorld/releases/tag/0.0.0).\nThis file was generated during the development of this project.\n\n![](.readme/localization.webp)\n\nTo inspect the created map, run\n\n```bash\nrtabmap-databaseViewer ~/.ros/rtabmap.db\n```\n\n![](.readme/rtabmap-databaseViewer.jpg)\n\n## Papers\n\n- [RTAB-Map as an Open-Source Lidar and Visual\n   SLAM Library for Large-Scale and Long-Term Online\n   Operation](papers/Labbe18JFR_preprint.pdf) (Mathieu Labbé, François Michaud; 2019)\n\n\u003e Distributed as an open source library since 2013, RTAB-Map started as an appearance-\n  based loop closure detection approach with memory management to deal with large-scale\n  and long-term online operation. It then grew to implement Simultaneous Localization and\n  Mapping (SLAM) on various robots and mobile platforms. As each application brings\n  its own set of contraints on sensors, processing capabilities and locomotion, it raises the\n  question of which SLAM approach is the most appropriate to use in terms of cost, accuracy,\n  computation power and ease of integration. Since most of SLAM approaches are either\n  visual or lidar-based, comparison is difficult. Therefore, we decided to extend RTAB-Map\n  to support both visual and lidar SLAM, providing in one package a tool allowing users to\n  implement and compare a variety of 3D and 2D solutions for a wide range of applications\n  with different robots and sensors. This paper presents this extended version of RTAB-Map\n  and its use in comparing, both quantitatively and qualitatively, a large selection of popular\n  real-world datasets (e.g., KITTI, EuRoC, TUM RGB-D, MIT Stata Center on PR2 robot),\n  outlining strengths and limitations of visual and lidar SLAM configurations from a practical\n  perspective for autonomous navigation applications.\n\n## Building with CLion IDE\n\n**Note:** This does not _really_ work, as CLion will be unable to find generated headers. It's still a bit\n          better than doing everything the hard way.\n\nThe full requirements for setting up CLion are given in the [sunsided/robond-ros-docker](https://github.com/sunsided/robond-ros-docker)\nrepository. In short, run SSHD in Docker, configure a Remote Host build to connect to it, then configure\nthe your build settings for ROS. For this repo and the included Dockerfile, this configuration will do:\n\n**CMake options:**\n\n```\n-DCATKIN_DEVEL_PREFIX:PATH=/workspace/devel -DCMAKE_PREFIX_PATH=/workspace/devel;/opt/ros/kinetic;/opt/ros/kinetic/share\n```\n\n**Environment:**\n\n```\nROS_ROOT=/opt/ros/kinetic/share/ros;ROS_PACKAGE_PATH=/workspace/src:/opt/ros/kinetic/share;ROS_MASTER_URI=http://localhost:11311;ROS_PYTHON_VERSION=2;ROS_VERSION=1;ROSLISP_PACKAGE_DIRECTORIES=/workspace/devel/share/common-lisp;ROS_DISTRO=kinetic;ROS_ETC_DIR=/opt/ros/kinetic/etc/ros;PYTHONPATH=/opt/ros/kinetic/lib/python2.7/dist-packages;PKG_CONFIG_PATH=/workspace/devel/lib/pkgconfig:/opt/ros/kinetic/lib/pkgconfig:/opt/ros/kinetic/lib/x86_64-linux-gnu/pkgconfig;LD_LIBRARY_PATH=/workspace/devel/lib:/opt/ros/kinetic/lib:/opt/ros/kinetic/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH;PATH=/opt/ros/kinetic/bin:$PATH\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunsided%2Frobond-mapmyworld","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsunsided%2Frobond-mapmyworld","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunsided%2Frobond-mapmyworld/lists"}