Giter VIP home page Giter VIP logo

map-my-world's Introduction

Map My World

Udacity Robotics Software Engineer Nanodegree Program [Project 4]

An application of rtabmap-ros package for simultaneous localization and mapping (SLAM) of a mobile robot.

3D map
3D Map

Robot Mapping
3D Mapping

2D Map
2D Map

2D Map
2D Mapping

Description

The project consists of the following parts:

  1. A Gazebo world and a mobile robot from this project.
  2. ROS package: rtabmap-ros

Prerequisites

  1. ROS (Melodic or Kinetic), Gazebo on Linux
  2. CMake & g++/gcc
  3. Install rtabmap-ros package $ sudo apt-get install ros-${ROS_DISTRO}-rtabmap-ros

Build and Launch

Clone project and initialize a catkin workspace

$ mkdir catkin_ws && cd catkin_ws
$ git clone https://github.com/kennydukor/Map-My-World.git
$ mv Map-My-World src
$ cd src && catkin_init_workspace

Within the catkin_ws/src folder, clone the teleop project

$ git clone https://github.com/ros-teleop/teleop_twist_keyboard

Move back to catkin_ws\ and build

$ cd ..
$ catkin_make

Launch the world and robot

$ source devel/setup.bash
$ roslaunch kene_robot world.launch

Launch 'mapping.launch

Open another terminal (Ctrl+Shift+T), and launch the mapping.launch file. Here, the rtabmap-ros package will be launched.

$ source devel/setup.bash
$ roslaunch kene_robot mapping.launch

Launch Teleop

Open another terminal, and run the teleop node.

$ source devel/setup.bash
$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py

Generate database

Click on this terminal, type keyboard to navigate the robot around. Navigate the robot to scan its surrounding environment. The rtabmap-ros package will save the resulted map with the localized trajectory of the robot in a database file ~/.ros/rtabmap.db.

Saved database: https://drive.google.com/file/d/10YTLmTXb2l-LAwcrFoA6_5SuDn9RNiOE/view?usp=sharing

Launch Database

Open another terminal, and open up the database file using rtabmap-databaseViewer

$ rtabmap-databaseViewer ~/.ros/rtabmap.db
  • Choose View -> Constraints View and Graph View
  • To see 3D Map, Choose Edit -> View 3D Map ...

map-my-world's People

Contributors

kennydukor avatar

Stargazers

 avatar  avatar

Watchers

 avatar  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.