Can't Control Turtlebot Using (Generic) PS3 Controller
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 ...
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?
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.
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.