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
Derzeit gibt es kaum Software für 6DoF (six degress of freedom, sechs Freiheitsgrade)-Tracking, die sich erschwinglicher Off-the-Shelf-Hardware bedienen. Seit Konsolen-Hersteller in den letzten Jahren vermehrt Motion-Controller in ihre Systeme integriert haben, gibt es ausreichend Tracking-Hardware, aber keine vollständige Software-Lösung, um 6DoF-Tracking-Systeme zu entwickeln. Diese Diplomarbeit stellt das PS Move API vor, eine Cross-Platform Open Source Bibliothek für mehrere Programmierspachen, die es ermöglicht, mehrere PS Move Motion-Controller gleichzeitig per Bluetooth und einer USB 2.0 PS Eye-Kamera zu tracken. Die Bibliothek implementiert Sensor Fusion, um alle sechs Freiheitsgrade zu tracken: 3 Achsen der Position und 3 Achsen der Rotation. Die Bibliothek löst das Problem der Controller-Kommunikation per USB und Bluetooth mit Hilfe des HID (Human Interface Device)-Protokolls. Weiters wird auch das Pairing (Koppeln) des Controllers für Bluetooth-Verbindungen per USB und das Verbinden auf verschiedenen Betriebssystem-Plattformen unterstützt. Vision-Tracking wird mit Hilfe des frei verfügbaren OpenCV-Frameworks und einer PS Eye-Kamera implementiert - andere Kameras werden ebenfalls unterstützt. Der PS Move Motion-Controller hat eine leuchtende Kugel an der Spitze, die mit RGB-LEDs ihre Farbe verändern kann. Mit dieser Funktion kann man den Controller im Raum tracken, und eine Unterscheidung zwischen unterschiedlichen Controllern treffen. Das Tracken der Orientierung (Rotation) des Controllers ist mit Hilfe eines Open Source AHRS (attitude heading reference system, Lageanzeigesystem) Algorithmus implementiert, der die Informationen von Beschleunigungssensoren, Gyroskopen und des Magnetometers in eine Quaternion-Repräsentation umrechnet. Diese Quaternion-Repräsentation beschreibt die Rotation im 3D-Raum. Sensor Fusion kombiniert die Resultate von Vision- und Orientierungs-Tracking, um eine Controller-Position und -Orientierung relativ zur Kamera-Position in Welt-Koordinaten zu bekommen. Diese Daten können für verschiedenste Anwendungsgebiete, wie zum Beispiel Augmented oder Virtual Reality, verwendet werden. Das Hauptaugenmerk beim Design der Bibliothek liegt auf einer leicht zu verwendenden Programmierschnittstelle (API), mit der man schnelle Prototypen und effiziente Lösungen entwickeln kann, die den PS Move Motion Controller verwenden. Beispiel-Anwendungen und die Integration in bestehende Frameworks, wie zB TUIO und OpenTracker zeigen unterschiedliche Anwendungsfälle auf, und validieren die Ergebnisse der Implementierung.
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.
en
Additional information:
Zsfassung in dt. Sprache http://thp.io/2012/thesis/