Leap Motion Clone

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche
Praktikumsarbeit des Studiengangs Elektro- und Informationstechnik im SS2013. 
Leap Motion

Projektgruppe

Die Bearbeitungsgruppe bestand aus 3 Studenten:

  • Georg Peßler
  • Mehmet Hayti
  • Christopher Habermann

Idee des Projekts

Unsere Idee bestand in einem einfachen Nachbau der Leap Motion (www.leapmotion.com). 

Die Grundidee hinter dieser Aufgabe ist, durch eine 3D-Kamera die Bewegung des Bedieners auf die Eingabestrukturen des PC's zu übertragen.

Hardware

Folgende Komponenten wurden verwendet:

ASUS Xtion PRO

Die ASUS Xtion PRO (Asus Xtion PRO) ist eine 3D-Kamera die ein Tiefenbildstrom bereitstellt.

Computer

Computer mit folgenden Betriebssystemen wurden für die Umsetzung benutzt:

  • Windows
  • Mac
  • Linux

Realisierung

Inbetriebnahme

Die ASUS Xtion PRO bietet kein eigenes Source Development Kit (SDK), sondern stützt sich voll und ganz auf ein Open Framework namens OpenNI (www.openni.org).

Dieses Framwork stellt verschiedene Module bereit um mit Hardware zu kommunizieren, Daten zu verarbeiten und auszugeben. Dabei wird die Middleware NITE benötigt,

die ein Application Programming Interface (API) bereitstellt um die Kamera anzusprechen.


Anmerkung: Folgende Umsetzungsversuche wurden sowohl auf den vom Professor bereitgestellten Computern, als auch auf privaten (Mac, Linux) mit dem gleichen Ergebnis durchgeführt.

Code::Blocks, OpenNI 1.5, NITE 1.5

Bei der Umsetzung mit der Code::Blocks IDE (www.codeblocks.org) stießen wir auf mehrere Probleme:

  • Compiler Fehler
  • Linker Fehler
  • Mangelnde Dokumentation

Während die Compiler Fehler schnell behoben werden konnten, haben die Linker Fehlermeldungen weder über Ursprung des Fehlers noch über die Lösbarkeit auskunft gegeben.

Nach zeitaufwändiger Recherche und Versuchen die Fehler zu beheben, haben wir uns entschlossen auf Microsofts Visual Studio umzusteigen, da es dafür eine halbwegs brauchbare

Dokumentation gab.

Microsoft Visual Studio 2010, OpenNI 1.5, NITE 1.5

Nach den Problemen mit Code::Blocks erhofften wir uns ein schnelles erstes Ergebnis mit Visual Studio.

Die Einbindung der externen Bibliotheken und Header-Dateien war recht einfach und sah vielversprechend aus.

Doch auch hier stießen wir auf Fehler:

  • Compiler Fehler
  • Linker Fehler

Im Gegensatz zu Code::Blocks konnten mit Visual Studio nicht einmal die Compiler Fehler behoben werden.

Abbruch

Nachdem die oben genannten Umsetzungsversuche und die dazugehörige Fehlersuche viel Zeit in Anspruch genommen haben, wurde die Notbremse gezogen.

Wir haben ein anderes Thema zur Bearbeitung erhalten, welches schon nach kurzer Einarbeitungsphase erste Erfolge erzielt hat.

Aufgrund der kurzen Zeit die zur Bearbeitung blieb, konnte das neue Thema leider nicht fertiggestellt werden.

Fazit

Interaktion ist ein interessantes und forderndes Fach. Leider mussten wir feststellen, dass eine Vorreiterrolle im interaktiven Bereich oft eine etwas frustrierende Erfahrung ist.

Dadurch, dass unsere Zusammensetzung aus Hard- und Middleware nicht dem oft benutzten Standard (Kinect) entsprach, haben wir nur wenige Beispiele und Hilfestellungen im Internet gefunden.


Durch die zeitintensive Fehlersuche musste das Projekt leider abgebrochen werden, ohne einen Erfolg erzielt zu haben.

Aufgrund des neuen Projekts, dass uns nach Abbruch zugewiesen wurde, durften wir jedoch auch noch eine positive Erfahrung im Bereich Interaktion mit nach Hause nehmen.