lunedì 10 febbraio 2014

Kinect su Debian


Grazie ad un amico che e' passato su XBoxOne ho potuto provare la vecchia versione di Kinect da XBox360.

Per interagire con il dispositivo si deve usare (su computer non Windows) la libreria OpenKinect che ho compilato dai sorgenti mediante i comandi

apt-get install cmake libglut3-dev pkg-config build-essential libxmu-dev libxi-dev libusb-1.0-0-dev

git clone https://github.com/OpenKinect/libfreenect.git 
cd libfreenect
mkdir build
cd build
cmake .. 
make
sudo make install
sudo ldconfig /usr/local/lib64/

per verificare che il tutto funzioni si puo' lanciare il comando glview



Il sistema funziona ma l'aspetto piu' interessante e' quello delle interpretazioni delle gesture in modo da rendere veramente interattivo il kinect.
La soluzione piu' semplice e' quella di usare Processing con la libreria Simple OpenNI (che si installa dall'interno di Processing con il menu Sketch->Import Library->Add Library. Esistono molti esempi in questo campo ed anche un libro (sull'interazione tra Kinect ed Arduino) ma con la versione 2 della libreria gli sketch non sembrano funzionare ed e' bene usare gli esempi legati alla libreria scaricata)





Funziona tutto tranne il fatto che viene mostrato questo errore

Listening for transport dt_socket at address: 8276
libEGL warning: failed to create a pipe screen for i965
Smooth is not supported by this hardware (or driver)

per questo motivo non e' possibile vedere il tracking delle mani nel video sottostante (esempio Hands3D)