Author: Sai Kishor Kothakota

Maintainer: Jordi Pages < >



(!) Please ask about problems and questions regarding this tutorial on Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

Create a map with gmapping

Description: This tutorial shows how to create a map of the environment using the range-finder on the base of PMB-2.

Keywords: Mapping, laser scan matching

Tutorial Level: INTERMEDIATE

Next Tutorial: Localization



This tutorial shows how to create a laser map of the environment with the public simulation of PMB-2 using gmapping. The map is required to use afterwards AMCL based localization to match laser scans with the map to provide reliable estimates of the robot pose in the map.


First make sure that the tutorials are properly installed along with the PMB-2 simulation, as shown in the Tutorials Installation Section.


First of all open two consoles and source PMB-2's public simulation workspace in each one

cd ~/pmb2_public_ws
source ./devel/setup.bash

In the first console launch the following simulation

roslaunch pmb2_2dnav_gazebo pmb2_mapping.launch public_sim:=true


Note that a rviz will also show up in order to visualize the mapping process.


In the second console launch the keyboard teleoperation node

rosrun key_teleop


By pressing the arrow keys on this console drive PMB-2 around the world. The map being created will be shown. When the world has been fully mapped, as in the below example


Press 'q' in the key_teleop console and save the map as follows

rosservice call /pal_map_manager/save_map "directory: ''"

The service call will save the map in the following folder:


Now PMB-2 is ready to do autonomous localization and path planning using the map. See next tutorial on how to make use of maps to perform autonomous navigation.

Wiki: Robots/PMB-2/Tutorials/Navigation/Mapping (last edited 2023-01-19 17:03:49 by thomaspeyrucain)