SAW wrapper for PS Move Controllers (PlayStation) based on the psmmoveapi library: https://github.com/thp/psmoveapi. This code compile on Linux. This repository provides a core component as well as:
- Example application with Qt based GUI
- ROS node (also with Qt based GUI)
- License: http://github.com/jhu-cisst/cisst/blob/master/license.txt
- JHU-LCSR software: http://jhu-lcsr.github.io/software/
- cisst libraries: https://github.com/jhu-cisst/cisst
- psmoveapi: https://github.com/thp/psmoveapi
- Qt for user interface
- ROS and ROS CRTK (optional) - works with ROS 1 and ROS 2!
You will first need to download, compile and install the
psmoveapi. You can git clone the code from
https://github.com/thp/psmoveapi. Then configure the build with
ccmake or cmake-gui , set the build type to Release and the
install prefix to /usr/local. Build with make and install with
sudo make install.
git clone https://github.com/thp/psmoveapi.git
cd psmoveapi
mkdir build
cd buildcmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/localmake -j$(nproc)sudo make installThe psmoveapi headers, libraries and
executables will be install under /usr/local.
You might need to change your BlueTooth configuration, see
https://psmoveapi.readthedocs.io/en/latest/pairing.html (summary, edit
/etc/bluetooth/input.conf to set ClassicBondedOnly=false).
-
Headers:
ls /usr/local/include/psmoveapi/
Expected output:
psmove.h psmove_config.h psmove_tracker.h ... -
Executables:
which psmove
Expected output:
/usr/local/bin/psmove
To pair the controllers, since psmove should be installed in
/usr/local/bin, you can type psmove pair and psmove register.
See https://github.com/jhu-saw/vcs for download and build instructions. Use the VCS files for ps-move.
The main example provided is sawPSMoveQtExample. The command line options are:
sawPSMoveQtExample:
-j <value>, --json-config <value> : json configuration file (optional)
-m, --component-manager : JSON files to configure component manager (optional)
-D, --dark-mode : replaces the default Qt palette with darker colors (optional)If you also want to use the ROS node for ROS 1, run:
rosrun ps_move ps_moveFor ROS 2, run:
ros2 run ps_move ps_moveBesides ROS, the PSMove component can also stream data to your application using the sawOpenIGTLink or sawSocketStreamer components. See: