../_images/tiagopro-icon.png ../_images/tiago-head-icon.png ../_images/kangaroo-icon.png ../_images/tiago-icon.png ../_images/triago-icon.png ../_images/ari-icon.png ../_images/talos-icon.png ../_images/mobile-bases-icon.png

Gamepad#

Your robot might come with a wireless gamepad. It allows you to perform simple teleoperation such as moving the mobile base, moving the head and the torso. The gamepad communicates with the robot through a USB dongle, which is connected to the robot. The gamepad is powered by 2 AA batteries.

Note

A gamepad is included with the TIAGo base, TIAGo and TIAGo Pro robot packages. For other robots, you can use your own controller. Any wireless game controller compatible with the ROS package joy should work.

Controls#

Note

Before moving the robot, press START in order to give command

priority to the gamepad.

This section gives you key mappings of the controller and their actions

Torso up Torso down Modifier key(BACK) Enable gamepad(START) Safety button (RB) Head left Increase angular velocity Head up Increase linear velocity Head right Decrease angular velocity Head down Decrease linear velocity Rotate base Move base

(coloured commands indicate that you have to press 2 keys at a time in order to perform the action.)

Instruction

Gamepad keys

Move

RB + Left Joystick (toggle navigation with START)

Rotate

RB + Right Joystick (toggle navigation with START)

Move Head (up, right, down, left)

Y, B, A, X

Modify linear velocity (increase , decrease)

BACK+Y, BACK+A

Modify angular velocity (increase , decrease)

BACK+X, BACK+B

Reset settings

stick-press Press Right Joystick or Left Joystick

Troubleshoot#

If the robot is not responding as expected to the gamepad, the following steps can be followed to troubleshoot the problem.

1. Gamepad battery: Press the vibration button on the gamepad. If the joystick does not vibrate, the batteries of the gamepad have to be changed (2X AA battery).

2. USB dongle: Check if the USB dongle is plugged in the robot. The dongle is not always plugged in an easily accessible place. By using the following command you can check if the dongle is connected to the robot:

ll /dev/joystick
# expected output:
# /dev/joystick -> input/js0

If an input device is found, this means the USB dongle is correctly plugged in the robot.

3. Gamepad diagnostics: Open the diagnostics tab in the WebGUI and check under Diagnostics->Hardware->Gamepad. Ensure the diagnostics are OK.

  1. Gamepad module: Use the following command to show the log of the gamepad module.

pal module log jostick cat

4. Gamepad connection: Check if robot is receiving commands by from the gamepad by listening to the topic /joy while pressing buttons on the joystick:

ros2 topic echo /joy

If no output is shown, the gamepad might be out of reach of the robot.

See also#