Microsoft Kinect unter Ubuntu Linux

Fast jeder hat inzwischen von der Microsoft Kinectkamera fuer die XBox gehoert.
Hierbei handelt es sich um ein System aus Tiefensensorkamera (http://de.wikipedia.org/wiki/TOF-Kamera, Farbkamera und 3D-Mikrofon. Da die Kamera verhaeltnismaessig guenstig auch einzeln ohne XBox erhaeltlich ist, eignet sie sich super zum Rumspielen im Bereich der 3D-Nutzerinteraktion.

Seit einiger Zeit gibt es Open Source Treiber fuer die Kamera. Gestern fand ich auf Heise.de die Information, dass es nun neuerdings auch vom Kamerahersteller unterstuetzte Kinecttreiber gibt: http://www.heise.de/open/meldung/Offizielle-Open-Source-Treiber-fuer-Kinect-1152510.html

Ich hab das ganze mal versucht unter einem Ubuntu 10.10-System zu installieren und bin irgendwann auch zu recht zufriedenstellenden Ergebnissen gekommen. Der Weg war allerdings lang, und da ich bisher nirgendwo eine komplette Installationsanleitung (Installation ueber die Sourcen - Die Binaries wollten bei mir nicht laufen) gefunden habe, gibts die nun hier.
Grundlage ist ein komplett frisches Ubuntu 10.10 in der Desktop Version. (Momentan versuche ich die Kamera in einem Ubuntu 10.04 in einer VirtualBox laufend zum Funktionieren zu bringen, bin bisher aber gescheitert. Die Installation klappt, die Verwendung der Kamera selbst allerdings nicht. Ich vermute die Probleme hier jedoch eher im Bereich der VirtualBox und dem Zugriff auf die USB-Ports und nicht beim System selbst.)



Bevor man wirklich anfangen kann, muessen einige Pakete installiert werden. Verwenden koennt Ihr einfach die folgenden Befehle:

- sudo apt-get install g++ (Compiler)
- sudo apt-get install libusb-1.0-0-0 (Bibliothek fuer den USB-Zugriff)
- sudo apt-get install git-core (Aehnlich zu SVN)
- sudo apt-get install freeglut3 freeglut3-dev (Tool/Erweiterung fuer openGL)


Nun gehts ans Bauen bzw. an die Installation openNI:

- Verzeichnis erstellen (z.B. mkdir Kinect). Ins Verzeichnis reinwechseln
- git clone https://github.com/OpenNI/OpenNI.git
- cd OpenNI/Platform/Linux-x86/Build
- make
- cd ../CreateRedist
- sudo python Redist_OpenNi.py
- - Hier koennte es zum Fehler sh: doxygen not found kommen.
- - In diesem Fall einfach doxygen ueber sudo apt-get install doxygen nachinstallieren
- - ODER In Zeile 194 im Script Redist_OpenNI.py finish_script(1); auskommentieren.
- - nun nochmal sudo python Redist_OpenNi.py ausfuehren.
- cd ../Build
- sudo make install


Der wichtigste Schritt waere jetzt geschafft. Weiter gehts mit 'Sensor':

- Ins Installationshauptverzeichnis (z.B. Kinect) zurueckwechseln
- git clone https://github.com/boilerbots/Sensor.git
- cd Sensor
- git checkout Kinect
- make && sudo make install


Eigentlich sollten die OpenNI-Samples nun zu starten sein. Aber um die wirklich coolen Sachen zum Laufen zu bringen (z.B. Erkennen von Personen bzw. hinterlegen von Personen durch Skelette um Gesten besser erkennen zu koennen) muesst Ihr noch NITE von http://www.primesense.com/?p=515 herunterladen. Benutzen koennt Ihr hierfuer folgenden Link:
- (32 Bit) http://downloads.primesense.com/NITE-Bin-Ubuntu-x64-1.3.0.17.tar.bz2 http://downloads.primesense.com/NITE-Bin-Ubuntu-x86-1.3.0.17.tar.bz2
- bzw. (64 Bit) http://downloads.primesense.com/NITE-Bin-Ubuntu-x64-1.3.0.17.tar.bz2

Nun kann der Tarball entpackt werden. Gebaut wird so:

- Ins NITE-Verzeichnis wechseln
- cd Data
- in den Dateien Sample-User.xml and Sample-Tracking.xml und Sample-Scene.xml die Lizenzzeile durch < License vendor="PrimeSense" key="0KOIk2JeIBYClPWVnMoRKn5cdY4="/> ersetzen
- In Sample-User.xml, Sample-Scene.xml und Sample-Tracking.xml die MapOutputMode Line durch < MapOutputMode xRes="640" yRes="480" FPS="30"/> ersetzen
- sudo niLicense PrimeSense 0KOIk2JeIBYClPWVnMoRKn5cdY4=
- cd ~/kinect/NITE/Nite-1.3.0.17/
- sudo ./install.bash
- sudo make


Jetzt koennen die Beispiele unter Nite-1.3.0.17/Samples/Bin gestartet werden. Viel Spass. Einen Grossteil dieser Anleitung habe ich uebrigens unter http://www.keyboardmods.com/2010/12/howto-kinect-openninite-skeleton.html gefunden. Die Anleitung dort war jedoch leider leicht unvollstaendig und setzte das Installieren einiger Bibliotheken voraus, ohne diese jedoch zu nennen.

Kommentare

Datum : 2011-08-31 Autor: Felix
http://openni.org/downloadfiles/opennimodules/openni-compliant-middleware-binaries/33-latest-unstable
Datum : 2011-08-30 Autor: Jochen vallter@gmx.de
Hallo, versuche gerade nach deiner Anleitung die Kinect unter Ubuntu zum laufen zu bewegen. Leider kann ich nirgends einen NITE Download finden. Auf der Primesense Page unter NITE -> Resources steht nur ´coming soon´ und auch sonst kann ich keinen funktionierenden Mirror finden. Hast du vielleicht noch eine Idee wo ich NITE herbekomme? Danke + Gruß Jochen
Datum : 2011-02-26 Autor: Felix
Der NITE Downloadlink hat sich veraendert. Die aktuelle Version laesst sich aber weiterhin ueber https://http://www.primesense.com/?p=515 herunterladen. Beim erneuten Durchlauf unter Ubuntu 10.04 64bit sind mir noch einige Dinge aufgefallen: - sudo apt-get install libusb-1.0-0-dev muesste in jedem Fall funktionieren - Nach dem Auschecken der Sensorgeschichten muss natuerlich vor dem kompilieren noch ins Build-Verzeichnis, z.B. Platform/Linux-x86/Build gewechselt werden
Datum : 2011-01-17 Autor: Paul Paul@world.gov
Gute Zusammenfassung! bei mir klappt der spannenste teil leider nicht, nite lässt sich nicht kompilieren, und die download links sind offline, tragisch!
Datum : 2011-01-17 Autor: Paul Paul@world.gov
Gute Zusammenfassung! bei mir klappt der spannenste teil leider nicht, nite lässt sich nicht kompilieren, und die download links sind offline, tragisch!

Neuer Kommentar

Name:

E-Mail:

Kommentar: