Kinect - Einbindung in verschiedene Systemumgebungen

Aus toolbox_interaktion
Version vom 20. Mai 2016, 10:42 Uhr von Fxpo (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

In diesem Artikel wird dokumentiert, wie die Kinect in verschiedene Systemumgebungen eingebunden werden kann.

Linux

libfreenect

Die libfreenect ist ein OpenSource Treiber für die Kinect. Er kann unter Linux, Apple und Windows verwendet werden. Weitere Informationen gibt es unter: http://openkinect.org/wiki/Main_Page

Abhängigkeiten

Zum Compilieren des Treibers werden folgende Programme benötigt:

 git
 cmake
 build-essential
 libusb-1.0-0
 libusb-1.0-0-dev
 libglut3
 libglut3-dev
 libxmu
 libxmu-dev
 libxi
 libxi-dev

Für Leute mit einer APT basierten Distribution (bsp. Debian oder Ubuntu) kann man die Pakete mit folgenden Befehl installieren.

 sudo apt-get install cmake libglut3-dev build-essential libxmu-dev libxi-dev libusb-1.0-0-dev libxi-dev git

Quellcode herunterladen

 git clone https://github.com/OpenKinect/libfreenect.git
 cd libfreenect

Compilen

 mkdir build
 cd build
 cmake ..
 make
 sudo make install
 sudo ldconfig /usr/local/lib64/

Errors

Beim Starten von Programmen kann folgender shared library fehler auftauchen (hier starten von glview):

 glview: error while loading shared libraries: libfreenect.so.0.0: cannot open shared object file: No such file or directory

Mann muss dann nur den ldconfig cache auffrischen:

 sudo ldconfig /usr/local/lib64/

Kinect als nicht root user nutzen

Damit man als nicht root user die Kinect nutzen kann muss man eine udev regel anlegen:

Datei /etc/udev/rules.d/66-kinect.rules mit folgendem Inhalt anlegen

 #Rules for Kinect ####################################################
 SYSFS{idVendor}=="045e", SYSFS{idProduct}=="02ae", MODE="0660",GROUP="video"
 SYSFS{idVendor}=="045e", SYSFS{idProduct}=="02ad", MODE="0660",GROUP="video"
 SYSFS{idVendor}=="045e", SYSFS{idProduct}=="02b0", MODE="0660",GROUP="video"
 ### END #############################################################

Den User muss auch noch zur Gruppe video hinzufügen werden.

 sudo adduser YOURNAME video

Kinect Testen

 bin/glview

sollte man nicht den Schrit "Kinect als nicht root user nutzen" gemacht haben:

 sudo bin/glview

fakenect

Mit dem fakenect Treiber kann das Videobild und Tifenbild der Kinect aufgenommen werden. Mit einer Aufnahmen kann dann eine Kinect simuliert werden. Der fakenect Treiber ist bei der libfreenect enthalten.

Video Aufnehmen

Zum aufnehmen der Videos dient das Programm record

 /usr/local/bin/record RECORDING_DIRECTORY

Aufnahme Nutzen

Zum nutzen der Aufnahme mit einem Programm muss der ort der libfakenect und der Aufnahme Ordner angegeben werden. Bei einem 64Bit system benötigt man hierfür folgenden aufruf:

 LD_PRELOAD="/usr/local/lib64/fakenect/libfreenect.so" FAKENECT_PATH="RECORDING_DIRECTORY" PROGRAMM

Windows

OpenNI

OpenNi ist ein closed source Treiber für die Kinect.

Installation

  • Kinect-Treiber von dieser Internetseite (https://github.com/avin2/SensorKinect) herunterladen und entpacken.
    • In den Ordner Platform/Win32/Driver gehen und dpinst-x86.exe ausführen.
  • Aktuellen unstable OpenNI Treiber von dieser Seite (http://www.openni.org/downloadfiles/2-openni-binaries) installieren.
  • Von derselben Seite den aktuellen unstable NITE-Treiber installieren.
    • Als PrimeSense key 0KOIk2JeIBYClPWVnMoRKn5cdY4= eingeben.
  • Den aktuellen unstable OpenNI Compliant Hardware Binaries Treiber herunterladen und installieren.
  • Kinect-Treiber herunterladen, entpacken.
    • In den Bin-Ordner gehen und SensorKinect-Win32-5.0.0.exe ausführen.
  • Kinect an den Computer anschließen.
    • Warten bis die Treibersoftware gefunden und angewendet ist.
  • Die KinektXML Dateien herunterladen (http://www.studentguru.gr/blogs/vangos/how-to-successfully-install-kinect-windows-openni-nite/KinectXMLs.zip) und entpacken. Die vier in der Zip-Datei enthaltenen Dateien werden die von OpenNI installierten Dateien ersetzen.
    • Kopie der SampleConfig.xml Datei aus dem KinectXMLs\OpenNI Ordner der Zip Datei. In den Ordner C:\Program Files\OpenNI\Data gehen und die SampleConfig.xml mit der kopierten Datei ersetzen.
    • Kopie der Sample-Scene.xml, Sample-Tracking.xml und Sample-User.xml Dateien des KinectXMLs\NITE Ordners. Die entsprechenden Dateien im C:\Program Files\Prime Sense\NITE\Data ersetzen.

Um die NI Mate Software in Blender zu verwenden und damit die game-engine zu steuern, muss der treiber in Blender frei gegeben werden.

  • Blender starten
  • unter dem Reiter "File" die "user preferences" öffnen
  • in den user preferences auf den Reiter Add-Ons gehen und in der linken Spalte "Animation" auswählen
    • in der unteren Leiste befindet sich ein button: Install Add-Ons, bei dem sich ein Fenster öffnet in dem man zur Speicheradresse des Add-Ons
 navigieren kann.

falls das Add-On nicht im NI mate Download enthalten gewesen sein sollte kann man es auf der Homepage herunterladen: http://www.ni-mate.com/documentation/

  • anschließend den Hacken hinter das Add-On setzen um es zu aktivieren und den button "save as default" betätigen.
  • Nach dem schließen der user preferences befindet sich auf der linken Seite von Blender "Delicode NI mate" wieder. der eingestellte Port ist 7000
  • Jetzt muss NI mate gestartet werdet um die Skelett-Daten zu konfigurieren oder um Testprogramme von der homepage: http://www.ni-mate.com/documentation/ ablaufen zu lassen.
  • unter Einstellungen/logicEditor lassen sich verschiedene Sensortypen einstellen. Dies wird z.B. benötigt, um die OSC Daten der Kinect für andere Aufgaben zu verwenden.


Kinect Testen

Demos im C:\Program Files\OpenNI\Samples\Bin\Release und C:\Program Files\Prime Ordner ausprobieren.


EyesWeb (unter Windows)

In der EyesWeb Version XMI 5.2.1 ist nun die Kinect verfuegbar!

Installation der Kinect und Verwendung in EyesWeb wurde unter Win XP (32bit) und Win 7 Ultimate (64bit) erfolgreich getestet!

WICHTIG: Es muessen die richtigen Versionen der Kinect-Treiber installiert sein, wie in (http://forum.eyesweb.org/viewtopic.php?f=26&t=664#p1540) beschrieben!

Weitere Informationen sind auch im internen Bereich zu finden

Ein trivialer EyesWeb-Patch zur Anzeige des Tiefenbildes ist hier zu finden.

Ein trivialer EyesWeb-Patch zur Anzeige des Skeletts ist hier zu finden. (Zur Kalibrierung muss zu Beginn die "Psi-Pose" eingenommen werden)

Anwendungen

Kinect Hand Tracking