JumpingRift

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche

Das Projekt Jumping Rift hat sich mit der Interaktion zwischen einer AR Drone und einer Oculus Rift befasst. Damit konnten die Bewegungssensoren der Rift verwendet werden, um die Drohne zu steuern. Des Weiteren wurde der Video-Stream der Drohne auf der Oculus Rift angezeigt. Dazu wurde die vorhandene Kamera der AR Drone verwendet, zur Kommunikation mit dieser kam der integrierte WiFi-Hotspot zum Einsatz.

Idee

Das Konzept des Projekts sieht vor, dass die in der Oculus integrierten Bewegungssensoren einerseits zur Steuerung der Drohne und andererseits zur Steuerung zweier Kameras verwendet werden. Die beiden Kameras, welche auf der Drohne platziert werden, sind erforderlich, um ein dreidimensionales Bild auf der Oculus zu generieren. Der Video-Stream, der von den Kameras aufgezeichnet wird, soll demnach auf den beiden Bildschirmen der Oculus Rift angezeigt werden und dem Piloten das Gefühl geben, sich innerhalb der Drohne zu befinden.

Hardware

Oculus Rift

Die Oculus Rift ist eine Virtual Reality Brille, welche von Oculus VR - 2014 übernommen von Facebook Inc. - entwickelt wurde. Die Entwickler-Version (Developer Kit 1) welche im Praktikum verwendet wurde, erschien bereits Anfang 2013, seit 2016 ist außerdem die erste Consumer Version verfügbar.

Technische Daten

  • Developer Kit 1
  • Auflösung 1280x800 Pixel (Consumer Version 1: 2160x1200)
  • Sichtfeld von 110°
  • 3-Achsen-Gyrometer
  • Beschleunigungssensoren (Abtastfrequenz 1kHz)
  • Magnetometer

Jumping Sumo

Die verwendete Parrot AR Drone ist ein Roboter, der ähnlich einem ferngesteuerten Auto, jedoch weitaus präziser, zu steuern ist. Neben einfachen Bewegungen wie vor, zurück, links und rechts können auch komplexere Bewegungsabläufe wie Sprünge, Drehungen und Bewegungsfolgen ausgeführt werden. Die Steuerung der Drohne erfolgte mithilfe der App AR.FreeFlight 2.

Spezifikation

  • Jumping Sumo
  • Geschwindigkeit 7km/h
  • max. Sprunghöhe 80cm
  • 20 min. Akku-Laufzeit
  • Integrierte Kamera mit einer Auflösung von 640x480px (15fps)
  • Integrierter Beschleunigungssensor + Gyroskop
  • Kommunikation über WiFi-Netzwerk

Jumping sumo.jpg

Screenshot AR.FreeFlight 2

System-Übersicht

Das nachfolgende Blockschaltbild dient zur Visualisierung der einzelnen System-Komponenten und deren Kommunikation untereinander.

Parrot.png

Realisierung

Ursprüngliche Planung

Hinsichtlich des ursprünglichen Konzepts war anfänglich geplant, die Steuerung seitens des Jumping Sumo mit dem ParrotARDroneSDK 3 zu realisieren. Dieses SDK wird von Parrot zur Entwicklung von Apps zur Verfügung gestellt. Obwohl die Entwicklung auf und für Linux-Geräte möglich ist, ist das SDK für Android und iOS Applikationen optimiert.

Nachdem die Zusammenführung von Parrot SDK und Oculus SDK nur auf dem Betriebssystem Linux im Rahmen des Praktikums denkbar war, entschieden wir uns für das inzwischen veraltete Oculus SDK + Runtime 0.5.0.1b. Auch dieses SDK wird inzwischen nicht mehr gewartet, da der Hauptaugenmerk auf Gaming-Anwendungen an Windows Rechnern liegt.

- Link zu Parrot Developer

- Link zu Oculus Developer

Tatsächliche Realisierung

Aufgrund der Schwierigkeiten im Bezug zu den SDKs auf Linux, entschieden wir uns, von der ursprünglichen Realisierung abzuweichen, wenngleich die Realisierung - mit hohem Aufwand verbunden - möglich wäre.

Zur tatsächlichen Realisierung wurde die im App Store frei erhältliche Desktop App AR.FreeFlight 2 für Jumping Sumo verwendet. Die App ermöglicht die Steuerung der Drohne über Pfeiltasten, Sprünge und Drehungen werden in AR.FreeFlight 2 mit der Tastatur nicht unterstützt.

Weiterhin kam Oculus Runtime 0.8.0.0 zum Einsatz, welche als Treiber für die Oculus Rift DK1 fungiert. Auch die Auslesung der Sensorik wird mit der Runtime durchgeführt.

Außerdem griffen wir zur Steuerung der Drohne auf ein Python Script zurück, welche die Tastatur-Steuerung emuliert. Zur Emulation wurde das Tool FreePIE verwendet, welches dem Tool GlovePIE gleicht, jedoch die Oculus Rift unterstützt.

- Link zu FreePie

Ausblick

Als zukünftiger Ausblick hinsichtlich des Projekts wäre eine Erweiterung bezüglich der Erkennung von Gesten, wie z.B. Sprüngen, denkbar.

Außerdem wäre ein direkter Zugriff auf den Video-Stream der Drohne wünschenswert, um die Darstellung auf den beiden Bildschirmen der Oculus Rift zu vereinfachen. Grundsätzlich sollte der Zugriff auf den Video-Stream mit dem Parrot SDK möglich sein, die App AR.FreeFlight 2 bietet hierfür leider keine Schnittstelle.

Links

- Programmcode
- Video