-
 

Package Summary

Tags No category tags.
Version 1.14.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-drivers/joystick_drivers.git
VCS Type git
VCS Version melodic-devel
Last Updated 2020-07-19
Dev Status MAINTAINED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Playstation 3 SIXAXIS or DUAL SHOCK 3 joystick driver. Driver for the Sony PlayStation 3 SIXAXIS or DUAL SHOCK 3 joysticks. In its current state, this driver is not compatible with the use of other Bluetooth HID devices. The driver listens for a connection on the HID ports, starts the joystick streaming data, and passes the data to the Linux uinput device so that it shows up as a normal joystick.

Additional Links

Maintainers

  • Jonathan Bohren

Authors

  • Blaise Gassend
  • pascal pabr.org
  • Melonee Wise

PlayStation 3 Joystick Driver for ROS

This package provides a driver for the PS3 (SIXAXIS or DUALSHOCK3) bluetooth joystick.

This driver provides a more reliable connection, and provides access to the joystick’s accelerometers and gyroscope. Linux’s native support for the PS3 joystick does lacks this functionality.

Additional documentation:

Dependencies

  • joystick
  • libusb-dev
  • bluez-5.37

Pairing instructions

  1. If you can connect the joystick and the bluetooth dongle into the same computer connect the joystick to the computer using a USB cable.

  2. Load the bluetooth dongle’s MAC address into the ps3 joystick using:

sudo bash
rosrun ps3joy sixpair

If you cannot connect the joystick to the same computer as the dongle, find out the bluetooth dongle’s MAC address by running (on the computer that has the bluetooth dongle):

hciconfig

If this does not work, you may need to do

sudo hciconfig hci0 up

and retry

hciconfig

  1. Plug the PS3 joystick into some other computer using a USB cable.

  2. Replace the joystick’s mac address in the following command:

sudo rosrun ps3joy sixpair 01:23:45:67:89:ab

Starting the PS3 joystick

  1. Run the following command
rosrun ps3joy ps3joy.py

  1. Open a new terminal and reboot bluez and run joy with:
sudo systemctl restart bluetooth 
rosrun joy joy_node  

  1. Open a new terminal and echo the joy topic
rostopic echo joy

  1. This should make a joystick appear at /dev/input/js?

  2. You can check that it is working with jstest /dev/input/js? (replace ? with the name of your joystick)

Command-line Options

ps3joy.py

usage: ps3joy.py [--inactivity-timeout=<n>] [--no-disable-bluetoothd] [--redirect-output] [--continuous-output]=<f>
<n>: inactivity timeout in seconds (saves battery life).
<f>: file name to redirect output to.

--inactivity-timeout This may be useful for saving battery life and reducing contention on the 2.4 GHz network.Your PS3 controller will shutdown after a given amount of time of inactivity.

--no-disable-bluetoothd ps3joy.py will not take down bluetoothd. Bluetoothd must be configured to not handle input device, otherwise you will receive an error saying “Error binding to socket”.

--redirect-output This can be helpful when ps3joy.py is running in the backgound. This will allow the standard output and error messages to redirected into a file.

--continuous-output This will output continuous motion streams and as a result this will no longer leave extended periods of no messages on the /joy topic. ( This only works for ps3joy.py. Entering this parameter in ps3joy_node.py will result in the parameter being ignored.)

Limitations

This driver will not coexist with any other bluetooth device. In future releases, we plan to allow first non-HID and later any bluetooth device to coexist with this driver. The following devices do coexist:

  • Non-HID devices using a userland driver, such as one written using pybluez.
  • Keyboards or mice running in HID proxy mode, which appear to the kernel as USB devices.
CHANGELOG

Changelog for package ps3joy

1.14.0 (2020-07-07)

  • Make sure to import struct where it is used. (#162)
  • roslint and Generic Clean-Up (#161)
  • Contributors: Chris Lalancette, Joshua Whitley

1.13.0 (2019-06-24)

  • Merge pull request #128 from ros-drivers/fix/tab_errors
  • Cleaning up Python indentation.
  • Merge pull request #123 from cclauss/modernize-python2-code
  • Modernize Python 2 code to get ready for Python 3
  • Merge branch 'master' into indigo-devel
  • Contributors: Joshua Whitley, Matthew, cclauss

1.12.0 (2018-06-11)

  • Addressed numerous outstanding PRs.
  • Created bluetooth_devices.md
  • Created testing guide for ps3joy.
  • Create procedure_test.md
  • Let ps3joy_node not quit on inactivity-timeout.
  • Refine diagnostics message usage in ps3joy_node
  • Improve ps3joy_node with rospy.init_node and .is_shutdown
  • Remove quit on failed root level check, part one of issue #53
  • Create README
  • Changed package xml to format 2
  • Contributors: Alenso Labady, Felix Kolbe, Jonathan Bohren, alab288, jprod123

1.11.0 (2017-02-10)

  • Update dependencies to remove warnings
  • Contributors: Mark D Horn

1.10.1 (2015-05-24)

  • Remove stray architechture_independent flags
  • Contributors: Jonathan Bohren, Scott K Logan

1.10.0 (2014-06-26)

  • First indigo reelase
  • Update ps3joy/package.xml URLs with github user ros to ros-drivers
  • Prompt for sudo password when required
  • Contributors: Felix Kolbe, Jonathan Bohren, dawonn

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ps3joy at Robotics Stack Exchange