Giter Site home page Giter Site logo

map-my-world's Introduction

Map My World

This project aims to perform mapping using RGB-D based RTAB-Map (Real-Time Appearance-Based Mapping) Algorithm.

Alt text
Robot mapping the environment

Directory Tree

.Map My World                                     # Map My World  Project
├── assets                                        # simulation media
│   ├── mapinspection.png
│   ├── Rviz.gif
│   ├── Rviz.mp4
│   └── SimulatedEnvironment.jpg
├── Readme.md                                     # project info
├── robot_mapping                                 # robot_mapping package
│   ├── CMakeLists.txt                            # compiler instructions
│   ├── launch                                    # launch folder for launch files
│   │   ├── floorplan.launch
│   │   ├── localization.launch
│   │   ├── mapping.launch
│   │   └── robot_description.launch
│   ├── meshes                                    # meshes folder for sensors
│   │   ├── bases
│   │   │   └── burger_base.stl
│   │   ├── hokuyo.dae
│   │   ├── kinect.dae
│   │   ├── kinect.png
│   │   ├── sensors
│   │   │   ├── astra.dae
│   │   │   ├── astra.jpg
│   │   │   ├── lds.stl
│   │   │   ├── r200.dae
│   │   │   └── r200.jpg
│   │   └── wheels
│   │       ├── left_tire.stl
│   │       └── right_tire.stl
│   ├── package.xml                               # package info
│   ├── rtabmap.db                                # .db file for inspecting the created map
│   ├── urdf                                      # urdf folder for xarco files
│   │   ├── common_properties.xacro
│   │   ├── my_robot.gazebo
│   │   └── turtlebot3_burger.urdf.xacro
│   └── worlds                                    # world folder for world files
│       ├── model.config
│       ├── model.sdf
│       ├── model.world
│       └── office.world
└── rtabmap_ros                                   # rtabmap_ros package (subfolders not included)

95 directories, 455 files

Simulated Environment

To implement the project create a simulation environment such that it is easy to extract features for the robot.

Alt text
Simulated Environment

Prerequisites

For this project following packages are required.

The rtabmap_ros package should be built from source. In case of errors please check Migration Guide New Interface Noetic/ROS2 and make changes to the mapping.launch file accordingly.

Launch the Project

To launch the project, clone the github repository under src folder is your ros workspace by

git clone https://github.com/navoday01/Map-My-World.git

Clone the teleop_twist_keyboard and rtabmap_ros package.

launch the robot in the environment to simulate in Gazebo by

roslaunch robot_mapping floorplan.launch

Open another terminal to run teleop twist keyboard package by

roslaunch robot_mapping teleop.launch

Mapping

To map the environment in RTAB-Map, open a new terminal and run

roslaunch robot_mapping mapping.launch

Go to the teleop terminal and start navigating the robot around your environment which will result in the 3D and 2D mapping.

Alt text
Alt text
3D pointcloud created during mapping
Alt text
Alt text
2D occupancy grid created during mapping

Inspecting Simulated Environment

To inspect the generated map, run

rtabmap-databaseViewer ~/robot_mapping/rtabmap.db
Alt text
Inspecting Created Environment

Localization

If map already exists, localization can be performed by running

roslaunch robot_mapping localization.launch

map-my-world's People

Contributors

navoday01 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.