Note: This tutorial assumes that you have completed the previous tutorials: Keyboard Teleop.
(!) 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.

Joystick Teleop

Description: Joystick teleoperation of a turtlebot.

Keywords: joystick teleop

Tutorial Level: BEGINNER

Next Tutorial: Qt Teleop

Use a joystick and take your robot places in style!


Goal

Use a joystick to teleoperate the robot. Note that several joystick configurations are supported - currently playstation3, xbox360 and logitech's rumblepad2. These example nodes are simple and depending on your joystick you may just need to remap the keys.

Setting up the Joystick

For the most part, this tutorial assumes you have already got your joystick plugged in and its ready to go. Some more detailed information for specific joysticks:

Execute

Roslaunch

# Playstation 3
> roslaunch turtlebot_teleop ps3_teleop.launch --screen
# Xbox360 (use the left stick while keeping the right stick pressed in)
> roslaunch turtlebot_teleop xbox360_teleop.launch --screen
# Logitech joysticks (general configuration for all logitech joysticks)
> roslaunch turtlebot_teleop logitech.launch --screen

OR

Remocon

Start the remocon and fire up the PC Pairing/PS3 Teleop interaction (not all joysticks currently enjoy an interaction configuration).


joystick.png


Unsupported Joysticks

If your joystick is not listed above, it is a simple matter remapping the keys. Use the ps3_teleop.launch as a starting point and configure the buttons (working out which button you want for the deadman_axis is the most important) appropriately. Echo the /joy topic to help observe the id's of the various buttons getting pressed.

<launch>
  <!--  smooths inputs from cmd_vel_mux/input/teleop_raw to cmd_vel_mux/input/teleop -->
  <include file="$(find turtlebot_teleop)/launch/includes/velocity_smoother.xml"/>

  <node pkg="turtlebot_teleop" type="turtlebot_teleop_joy" name="turtlebot_teleop_joystick">
    <param name="scale_angular" value="1.5"/>
    <param name="scale_linear" value="0.5"/>
    <param name="axis_deadman" value="10"/>
    <param name="axis_linear" value="1"/>
    <param name="axis_angular" value="0"/>
    <remap from="turtlebot_teleop_joystick/cmd_vel" to="cmd_vel_mux/input/teleop_raw"/>
  </node>
  <node pkg="joy" type="joy_node" name="joystick"/>
</launch>

Once you've finalised the launcher for your custom joystick, send it to us and we'll integrate it with the official software!

Need More Help?

Show other Joystick Tutorials   

  1. Teleoperate a Turtlebot with the PS3 Joystick

    Teleoperate a Turtlebot with the PS3 Joystick

  2. Joystick Teleop

    Joystick teleoperation of a turtlebot.

  3. TurtleBot Teleoperation

    How to teleoperate your TurtleBot with a keyboard, joystick, or rviz.

  4. ジョイスティック・テレオペレーション

    turtlebotのジョイスティック・テレオペレーション.

  5. Joystick Teleop

    Joystick teleoperation of a turtlebot.

  6. How to Use a SpaceNavigator with the spacenav_node

    This tutorial is an introduction to using the 3DConnexion SpaceNavigator connected to a desktop. After reading this, you should be able to bring up the spacenav_node and display the data.

  7. Writing a Teleoperation Node for the SpaceNavigator

    This tutorial covers how to write a teleoperation node and use it to drive the turtle in the turtlesim.

  8. How to Pair the PS3 Joystick with a Bluetooth Dongle

    This tutorial is an introduction to using the PS3 DualShock 3 Joystick connected via bluetooth to a desktop computer. After reading it, you should be able to bring up the ps3joy node and display the data coming from the joystick.

  9. Writing a Teleoperation Node for the PS3 Joystick

    This tutorial covers how to write a teleoperation node and use it to drive the turtle in the turtlesim.

  10. Joystick Teleop

    Joystick teleoperation of a turtlebot.

  11. Configuring and Using a Linux-Supported Joystick with ROS

    This tutorial is an introduction to using the joystick connected to a desktop computer. After reading it, you should be able to bring up the joy node and display the data coming from the joystick over ROS.

  12. Writing a Teleoperation Node for a Linux-Supported Joystick

    This tutorial covers how to write a teleoperation node and use it to drive the turtle in the turtlesim.

  13. PS3を使ったTurtlebotのテレオペレーション

    PS3を使ったTurtlebotの遠隔操作の説明

  14. ジョイスティック・テレオペレーション

    turtlebotのジョイスティック・テレオペレーション

  15. Writing a Teleoperation Node for the Wiimote

    This tutorial covers how to write a teleoperation node and use it to drive the turtle in the turtlesim.

  16. How to Recharge the PS3 Joystick

    This tutorial explains how to recharge the PS3 DUALSHOCK 3 or SIXAXIS Joystick. The tutorial includes details on how to simultaneously use the joystick over Bluetooth and recharge it.

  17. Connecting the PS3 Joystick to the PR2

    This tutorial is an introduction to using the PS3 DualShock 3 Joystick connected via bluetooth to a PR2.

  18. No Title

    No Description

  19. How to Write a Generic Teleoperation Node

    This tutorial goes over generic teleoperation code that is used as an example in many of the teleoperation tutorials.

What Next?

Wiki: turtlebot_teleop/Tutorials/indigo/Joystick Teleop (last edited 2015-03-18 02:22:25 by jihoonl)