ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Can't Control Turtlebot Using (Generic) PS3 Controller

asked 2013-01-04 15:49:07 -0500

DS gravatar image

updated 2014-01-28 17:14:44 -0500

ngrennan gravatar image

Hello. I'm relatively new to ROS and Turtlebot, so please forgive me if I don't know where to find what might be (hopefully!) a simple answer.

I have a Turtlebot that came fully assembled, packaged with an Asus netbook running Ubuntu. I'm trying to use a (generic—although I don't know if that makes a difference) PS3 controller to control Turtlebot, but it's not working.

Following the instructions on the Teleoperation Tutorials page, I can control Turtlebot using the keyboard. Yay!

Since the Asus netbook has no bluetooth antenna, I have connected an Inland USB adapter. Following the instructions on the Joystick Teleoperation page, the adapter and controller seem to have paired (my output is similar to that shown in Section 3.6. When I run the PS3 teleop command, the service begins, and I see what looks like normal output:

... logging to /home/turtlebot/.ros/log/dba035be-56d2-11e2-b19a-485d60330871/roslaunch-turtlebot-0184-27774.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server h..p://10.32.51.32:45752/

SUMMARY
========

PARAMETERS
 * /rosdistro
 * /turtlebot_teleop_joystick/axis_angular
 * /turtlebot_teleop_joystick/axis_deadman
 * /turtlebot_teleop_joystick/scale_angular
 * /turtlebot_teleop_joystick/axis_linear
 * /rosversion
 * /turtlebot_teleop_joystick/scale_linear

NODES
  /
    turtlebot_teleop_joystick (turtlebot_teleop/turtlebot_teleop_joy)
    joystick (joy/joy_node)

ROS_MASTER_URI=h..p://10.32.51.32:11311

core service [/rosout] found
process[turtlebot_teleop_joystick-1]: started with pid [27793]
process[joystick-2]: started with pid [27794]

The only problem is that nothing's happening. I tried following along with the Pow to pair a PS3 Joystick with a Bluetooth Dongle page, but get stuck at section 1.3, where I see the following output:

No inactivity timeout was set. (Run with --help for details.)
error(98, 'Address already in use')
Error binding to socket, will retry every 5 seconds. Do you have another ps3joy.py running? This error occurs on some distributions (such as Ubuntu Karmic). Please read h..p://www.ros.org/wiki/ps3joy/Troubleshooting for solutions.
error(98, 'Address already in use')

Following the recommendations on the Karmic Instructions page didn't change anything. I tried viewing the direct output of the joystick:

sudo jstest /dev/input/js0

But everything was 0/off. (By the way, these values didn't change when I pressed keys on the controller.) I even tried plugging the PS3 controller directly into the USB hub (where it showed up as /dev/input/js1), but everything at device js1 was also 0/off:

Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0  8:     0  9:     0 10:     0 11:     0 12:     0 13:     0 14:     0 15:     0 16:     0 17:     0 18:     0 19:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:off 11:off 12:off 13:off 14:off

I did notice that js0 was still listed as a device, even when I unplugged the USB adapter, which seems strange.

So ... (more)

edit retag flag offensive close merge delete

Comments

I don't have your hardware so I can't test this myself, but 'Address already in use' and 'Error binding to socket' suggest that there's a config error.. does that happen after a cold boot? Also are you able to successfully pair up the Netbook with other devices?

SL Remy gravatar image SL Remy  ( 2013-01-05 11:14:38 -0500 )edit

Thank you for the commend trinighost. The error does still happen after a reboot. If it is a config error, I don't know how to find/diagnose/repair it (suggestions in addition to those I've tried are welcome). I don't have another bluetooth device, but can ask around for a mouse or something.

DS gravatar image DS  ( 2013-01-06 10:04:43 -0500 )edit

Thank you for the answer dbworth. The link you provide is the page I mentioned in my question (about getting stuck at section 1.3). I found a list of supported adapters at: https://wiki.ubuntu.com/HardwareSupportComponentsBluetoothUsbAdapters and don't see mine, so maybe I'll try to borrow another.

DS gravatar image DS  ( 2013-01-09 07:19:32 -0500 )edit

1 Answer

Sort by » oldest newest most voted
3

answered 2013-01-08 06:36:11 -0500

dbworth gravatar image

Wireless teleop is nice, but can be a pain to setup. I had to try two USB bluetooth dongles. It can be difficult to get Linux to pair with the PS3 joy over bluetooth, if you don't have the "right" adapter.

I think I saw a list of suggested brands somewhere...?

Did you try this tutorial? http://www.ros.org/wiki/ps3joy/Tutorials/PairingJoystickAndBluetoothDongle

First get your joystick paired, then rostopic echo /joy, then test the turtle packages or whatever :-)

edit flag offensive delete link more

Question Tools

Stats

Asked: 2013-01-04 15:49:07 -0500

Seen: 2,616 times

Last updated: Jan 08 '13