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: Interactive Markers Teleop
Joystick
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:
On the TurtleBot
Now ssh (ssh help) into the TurtleBot and start the joystick and teleop nodes
To ssh in to a TurtleBot from a workstation computer:
determine the IP_OF_TURTLEBOT by using ifconfig (Need more help)
To determine a computer's IP address and network interface in linux:
ifconfig
You will see something like:
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:6658055 errors:0 dropped:0 overruns:0 frame:0 TX packets:6658055 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:587372914 (587.3 MB) TX bytes:587372914 (587.3 MB) wlan1 Link encap:Ethernet HWaddr 48:5d:60:75:58:90 inet addr:10.0.129.17 Bcast:10.0.129.255 Mask:255.255.254.0 inet6 addr: fe80::4a5d:60ff:fe75:5890/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:101983 errors:0 dropped:0 overruns:0 frame:0 TX packets:37244 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:49326141 (49.3 MB) TX bytes:7588044 (7.5 MB)
the network interface for the wireless card is wlan1
the IP address of the computer is 10.0.129.17
use ssh to connect to the TurtleBot
ssh turtlebot@IP_OF_TURTLEBOT
# Playstation 3 > roslaunch turtlebot_teleop ps3_teleop.launch # Xbox360 (use the left stick while keeping the right stick pressed in) > roslaunch turtlebot_teleop xbox360_teleop.launch # Logitech joysticks (general configuration for all logitech joysticks) > roslaunch turtlebot_teleop logitech_teleop.launch
Unsupported Joystick
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.launch"/> <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?
- Teleoperate a Turtlebot with the PS3 Joystick
Teleoperate a Turtlebot with the PS3 Joystick
- Joystick Teleop
Joystick teleoperation of a turtlebot.
- TurtleBot Teleoperation
How to teleoperate your TurtleBot with a keyboard, joystick, or rviz.
- ジョイスティック・テレオペレーション
turtlebotのジョイスティック・テレオペレーション.
- Joystick Teleop
Joystick teleoperation of a turtlebot.
- 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.
- 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.
- 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.
- 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.
- Joystick Teleop
Joystick teleoperation of a turtlebot.
- 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.
- 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.
- PS3を使ったTurtlebotのテレオペレーション
PS3を使ったTurtlebotの遠隔操作の説明
- ジョイスティック・テレオペレーション
turtlebotのジョイスティック・テレオペレーション
- 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.
- 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.
- 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.
- No Title
No Description
- 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?
Interactive Markers Teleop or return to TurtleBot main page.