____ _____ __ ___ ___ ____ ____ / __ \/ ___/ / |/ /___ _ _____ / | / __ \/ _/ / /_/ /\__ \ / /|_/ / __ \ | / / _ \ / /| | / /_/ // / / ____/___/ / / / / / /_/ / |/ / __/ / ___ |/ ____// / /_/ /____/ /_/ /_/\____/|___/\___/ /_/ |_/_/ /___/ http://thp.io/2010/psmove/ The PS Move API is an open source[1] library for Linux, Mac OS X and Windows to access the Sony Move Motion Controller via Bluetooth and USB directly from your PC without the need for a PS3. Tracking in 3D space is possible using a PS Eye (on Linux and Windows), an iSight camera (on Mac OS X) or any other suitable camera source. The PS Move API is used as the library implementation of the MoveOnPC[2] project, and has successfully participated in Google Summer of Code 2012[3]. Detailed documentation can be found in my master's thesis[4] about sensor fusion. Core Features ------------- * Pairing of Bluetooth controllers via USB * Setting LEDs and rumble via USB and Bluetooth * Reading inertial sensors and buttons via Bluetooth * Tracking up to 5 controllers in 3D space via OpenCV * 3D orientation tracking via an open source AHRS algorithm * Sensor fusion for augmented and virtual reality applications Supported Languages ------------------- * Core library written in C for portability and performance * SWIG-based bindings for Python, Java, Processing and C# Need Help? ---------- * Free community-based support via the PS Move Mailing List[5] * Professional support and custom development upon request[6] Building and Installation ------------------------- * See the INSTALL and README.* files for details on building and installing the PS Move API on your system * Build scripts that we use for building binary releases can be found in the contrib/ folder * A debian/ folder is provided for building .deb packages * Contributions (.spec files, etc..) for other distributions welcome Hacking the Source ------------------ * See the LAYOUT file for information on how the source tree is laid out * Coding style: No strict rules; keep consistent with the surrounding code * Patches should be submitted on Github as pull request[7] * Bug reports and feature requests can be added to the issue tracker[8] Environment Variables --------------------- PSMOVE_TRACKER_CAMERA If set, this is the camera that will be used when using psmove_tracker_new() instead of using auto-detection Example: export PSMOVE_TRACKER_CAMERA=2 # Will use the 3rd camera PSMOVE_TRACKER_FILENAME If set, this will use a video file to playback instead of capturing from a camera. Any camera settings are ignored. Example: export PSMOVE_TRACKER_FILENAME=demo.avi # Will play demo.avi PSMOVE_TRACKER_ROI_SIZE If set, this controls the size of the biggest (initial) ROI that will be used to track the controller. Bigger means slower in general, but recovery from tracking loss might be faster. Example: export PSMOVE_TRACKER_ROI_SIZE=200 PSMOVE_TRACKER_WIDTH, PSMOVE_TRACKER_HEIGHT If set, these variables control the desired size of the camera picture. Example: export PSMOVE_TRACKER_WIDTH=1280 export PSMOVE_TRACKER_HEIGHT=720 More Information ---------------- * License: Simplified BSD-style license (see COPYING) * Maintainer: Thomas Perl <m@thp.io> * Website: http://thp.io/2010/psmove/ * Git repository: https://github.com/thp/psmoveapi * Mailing list: psmove@lists.ims.tuwien.ac.at (see [5] for details) This README file was last updated on 2012-12-12 by thp [1] https://github.com/thp/psmoveapi/blob/master/COPYING [2] http://code.google.com/p/moveonpc/ [3] http://www.google-melange.com/gsoc/homepage/google/gsoc2012 [4] http://thp.io/2012/thesis/ [5] https://lists.ims.tuwien.ac.at/mailman/listinfo/psmove [6] http://thp.io/about [7] https://github.com/thp/psmoveapi/pulls [8] https://github.com/thp/psmoveapi/issues