Abstract

There is a lack of software for 6DoF (six degrees of freedom) tracking using affordable off-the-shelf hardware. With the introduction of motion controllers in game consoles, the hardware is easily available these days, but no fully-featured software solutions for 6DoF tracking exist.
This thesis introduces the PS Move API, a cross-platform open source library for multiple programming languages that can be used to track multiple PS Move Motion Controllers via Bluetooth and a USB 2.0 PS Eye camera. The library implements sensor fusion to track all six degrees of freedom: 3-axis position and 3-axis rotation.
The library solves the problems of communicating with the controller via USB and Bluetooth using the HID (Human Interface Device) protocol, pairing the controller with the host computer (for Bluetooth connections) and connecting to the controller in a cross-platform manner.
Vision tracking is implemented using the freely available OpenCV framework and a PS Eye camera (other cameras are supported as well). The PS Move Motion Controller has a sphere at its top that can change its color using RGB LEDs - this is used to track the controller and to distinguish between multiple controllers.
Orientation tracking is implemented using an open source AHRS (attitude heading reference system) algorithm, integrating inertial sensor readings from accelerometers, gyroscopes and magnetometers into a quaternion representation, which describes rotations in 3D space.
Sensor fusion combines data from the visual and orientation tracking to get the controller position and orientation relative to the camera position in world coordinates. This data can then be used for different input mechanisms, such as augmented or virtual reality applications.
An easy-to-use API (application programming interface) is provided as part of the library design, allowing quick prototyping and efficient implementation of solutions incorporating the PS Move Motion Controller.
Example applications and integrations into existing frameworks such as TUIO and OpenTracker demonstrate different API use cases and validate the results of the implementation.

Reference

Perl, T. (2012). Cross-platform tracking of a 6DoF motion controller using computer vision and sensor fusion [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/160414