TIAGo Base


ROS Software Maintainer: PAL Robotics

TIAGo Base is an indoor mobile robot designed with minimum footprint and maximum payload in mind. Its primary sensors are a laser range finder and an IMU, but optional additions include ultrasound sensors and microphones. TIAGo Base features built-in speakers so the robot can inform its surroundings of the completion of a task or ask you to rescue it from under a pile of objects. It also has already developed software for navigation. This robot runs on ROS Hydro internally, and uses state-of-the-art ros_control components.

If you wish to know more or request a quote, please send us a message or refer to the product page


  Show EOL distros: 

  • Not supported. Currently supported: indigo.

This is a temporary way to install the PMB-2 simulation. Soon it will be available through ROS Indigo binary packages. These instructions assume that you are comfortable with ROS and the catkin build system. Please familiarize yourself using the ROS and catkin tutorials.

For a source-based installation, first create an empty workspace:

  • mkdir ~/pmb2_public_ws
    cd ~/pmb2_public_ws

Download the rosinstall and copy it in ~/pmb2_public_ws. In order to clone the required repositories do as follows:

  • cd ~/pmb2_public_ws
    rosinstall src /opt/ros/indigo pmb2_public.rosinstall

Then run this command to make sure that all dependencies are installed.

  • sudo rosdep init
    rosdep update
    rosdep install --from-paths src --ignore-src --rosdistro indigo --skip-keys "pal_gazebo_plugins speed_limit sensor_to_cloud"

Finally you can build the workspace and source it:

  • catkin build
    source ./devel/setup.bash

and it is ready to go!

  • Coming soon! Currently supported: indigo.

Launching a Gazebo simulation

To launch the simulation of the TIAGo Base, execute:

  • roslaunch pmb2_gazebo pmb2_gazebo.launch public_sim:=true

With the simulation of TIAGo Base we are providing several pre-defined worlds which stress different aspects of navigation systems. You can find a list of these here.

Now let's launch the TIAGo Base simulation in a large corridor as follows:

  • roslaunch pmb2_gazebo pmb2_gazebo.launch public_sim:=true world:=large_corridor

The simulated TIAGo Base can provide the laser scan and sonar readings as depicted below. pmb2_gazebo_rviz.png

Control the robot

TIAGo Base supports a logitech joystick by default.


Controllers from other vendors may have different key mappings. In this case the joy_teleop.yaml file needs to be changed to reflect the different configuration.

If you had one plugged when you started up the (real or simulated) robot, now it can be used. Activate the joystick commands by pressing the 'X' button, and drive using the controllers. This activation behaviour comes in very handy when the robot is navigating autonomously but a rapid interruption is needed.

One can also use the rqt_robot_steering plugin to drive the robot by sending commands directly to /mobile_base_controller/cmd_vel

Library Overview

Basic Configuration


ROS package/stack

Robot model (URDF)


Robot controller configuration


Robot bringup files


Hardware Drivers and Simulation


ROS package/stack

Robot hardware simulation


Simulation-specifig controller config


Gazebo setup


High-Level Capabilities


ROS package/stack

Control over the source of movement commands


Joystick teleoperation interface


PAL Robotics GitHub organization

Wiki: Robots/PMB-2 (last edited 2018-04-27 14:36:35 by Jordi Pages)