Author: Jordi Pages

Maintainer: Jordi Pages < jordi.pages@pal-robotics.com >

Support: tiago-support@pal-robotics.com

Source: https://github.com/pal-robotics/tiago_tutorials.git

(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. 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 TIAGo.

Keywords: Mapping, laser scan matching

Tutorial Level: INTERMEDIATE

Next Tutorial: Localization

navigation_tutorial.jpg

Purpose

This tutorial shows how to create a laser map of the environment with the public simulation of TIAGo 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.

Pre-Requisites

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

Execution

Starting TIAGo simulation

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

cd /tiago_public_ws/
source ./devel/setup.bash

In the first console launch the following simulation

roslaunch tiago_2dnav_gazebo tiago_mapping.launch public_sim:=true

mapping_gazebo.jpg

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

mapping_rviz_01.jpg

Starting TIAGo OMNI simulation

Alternatively, TIAGo could be launched with its omnidirectional base with the option base_type set to omni_base, by default this parameter is set to pmb2 and launch the simulation above.

To launch the simulation for TIAGo OMNI:

roslaunch tiago_2dnav_gazebo tiago_mapping.launch public_sim:=true base_type:=omni_base

TIAGo_OMNI_Gazebo.png

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

TIAGo_OMNI_rviz_mapping.png

In the second console launch the keyboard teleoperation node

Mapping

rosrun key_teleop key_teleop.py

key_teleop.jpg

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

navigation_map_ready.jpg

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

~/.pal/tiago_maps/config

Now TIAGo 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/TIAGo/Tutorials/Navigation/Mapping (last edited 2022-09-16 10:47:09 by thomaspeyrucain)