PMB-2

pmb2.png

ROS Software Maintainer: PAL Robotics

PMB-2 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. PMB-2 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

Installation

  • 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

Click on the pmb2_public.rosinstall link and press get button in order to download the file. Then 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 PMB-2, execute:

  • roslaunch pmb2_gazebo pmb2_gazebo.launch public_sim:=true

With the simulation of PMB-2 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 PMB-2 simulation in a large corridor as follows:

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

The simulated PMB-2 can provide the laser scan and sonar readings as depicted below. pmb2_gazebo_rviz.png

Control the robot

PMB-2 supports a logitech joystick by default.

logitech-joystick.png

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

Component

ROS package/stack

Robot model (URDF)

pmb2_description

Robot controller configuration

pmb2_controller_configuration

Robot bringup files

pmb2_bringup

Hardware Drivers and Simulation

Component

ROS package/stack

Robot hardware simulation

pmb2_hardware_gazebo

Simulation-specifig controller config

pmb2_controller_configuration_gazebo

Gazebo setup

pmb2_gazebo

High-Level Capabilities

Component

ROS package/stack

Control over the source of movement commands

twist_mux

Joystick teleoperation interface

joy_teleop

PAL Robotics GitHub organization

Wiki: Robots/PMB-2 (last edited 2016-11-16 11:28:16 by Jordi Pages)