Voilà quelques temps maintenant que le premier pilote pour utiliser le Kinect sur PC est disponible. Je vous propose ici de voir les différents pilotes qui existent, après quoi nous passerons à l’installation de l’un d’entre eux.
L’histoire du kinect sur pc remonte à quelques jours après la sortie de l’outil. Les membres de la team adafruit propose 1000$ au premier qui développera un driver pour utiliser le Kinect sur pc. Microsoft réagit à l’annonce, clamant que son produit “n’a pas vocation a être détourné de son usage strictement orienté jeux-videos sur Xbox 360″. La réaction de la team sera une multiplication par 3 de la récompense… et c’est hector, un jeune espagnol de 20 ans, qui développe, 3 heures après la sortie du Kinect en europe, de quoi récupérer sous linux les informations en provenance du kinect.

Hector, the winner
Par la suite, ce driver (dont vous trouverez une installation facile pour ubuntu sur la doc ubuntu-fr) est utilisé par une multitude de développeur donnant chacun libre cours à leur imagination (exemples ici ). J’ai pu tester différents projets, dont le prometteur Depthjs, visant à la navigation web via le kinect (au final, une installation fastidieuse et une méthode qui demande à évoluer, mais qui demeure sympa). Le driver est disponible sur Linux, Mac et Windows
La société PrimeSense, à l’origine du développement d’une partie du kinect, a quant à elle fournit un autre driver, visant à être utiliser avec ses softwares (OpenNI), et c’est celui que nous allons installer (sur windows, car mon but était de l’utiliser pour jouer et que je n’ai pas de jeux 3d sur ma distribution). Pour ma part, j’ai aussi acheté le Kinect dans une optique de “hack”, notamment pour faire des présentation PowerPoint.
Vous avez sans doutes vu sur le web des personnes jouant à WOW, call of duty ou encore max payne à l’aide du Kinect, et bien ils utilisaient la méthode que je vais décrire ci-dessous.
Commencez par télécharger et installer:
- OpenNI Unstable Build for Windows v1.0.0.25
- PrimeSense NITE Unstable Build for Windows v1.3.0.18
La clé de licence demandée par Nite à la fin de l’installation est publique : 0KOIk2JeIBYClPWVnMoRKn5cdY4=
(Le “=” de fin n’est pas une erreur mais bien un caractère de la clé !).
Enfin, on passe à l’installation du driver du kinect à proprement parlé :
- SensorKinect Module
A ce stade, vous devez brancher votre Kinect (usb et prise courant), et Windows vous propose d’installer successivement 3 nouveaux périphériques (une de ses trois installations ne marche pas, c’est normal). Vérifiez juste que la liste de vos périphériques inclue désormais un item “PrimeSensor”), composé de Kinect Camera et Kinect Motor. L’item “autres périphériques” doit indiquer un périphérique “Xbox Nui Audio” comme non reconnu (cf explication à la phrase précédente).
Rendez vous ensuite dans le dossier “Program Files\Prime Sense\NITE\Data” pour effectuer les modifications suivantes (après avoir sauvegardé les fichiers originaux) :
Remplacez le contenu du fichier Sample-user.xml par
<OpenNI>
<Licenses>
<License vendor=”PrimeSense” key=”0KOIk2JeIBYClPWVnMoRKn5cdY4=”/>
</Licenses>
<Log writeToConsole=”false” writeToFile=”false”>
<!– 0 – Verbose, 1 – Info, 2 – Warning, 3 – Error (default) –>
<LogLevel value=”3″/>
<Masks>
<Mask name=”ALL” on=”true”/>
</Masks>
<Dumps>
</Dumps>
</Log>
<ProductionNodes>
<Node type=”Image” name=”Image1″>
<Configuration>
<MapOutputMode xRes=”640″ yRes=”480″ FPS=”30″/>
<Mirror on=”true”/>
</Configuration>
</Node>
<Node type=”Depth” name=”Depth1″>
<Configuration>
<MapOutputMode xRes=”640″ yRes=”480″ FPS=”30″/>
<Mirror on=”true”/>
</Configuration>
</Node>
<Node type=”User” name=”User1″/>
<!–
<Node type=”Audio” name=”Audio1″>
</Node>
–>
</ProductionNodes>
</OpenNI>
Dans les deux autres fichiers (sample-scene.xml et sample-tracking.xml), remplacez les blocs Licences et MapOutputMode par :
<Licenses>
<License vendor=”PrimeSense” key=”0KOIk2JeIBYClPWVnMoRKn5cdY4=”/>
</Licenses>
et
<MapOutputMode xRes=”640″ yRes=”480″ FPS=”30″/>
avant de sauvegarder l’ensemble des modifications. Vous devriez pour lancer les différentes programmes de test (situés dans sample/bin/release).
Passons maintenant à la phase finale. Téléchargez FAAST , l’outil qui va permettre d’associer un mouvement avec une touche du clavier ou de la souris. Actuellement, FAAST est en version 0.06, il supporte un large panel de mouvement, permet d’émuler tout un clavier et d’utiliser sa souris (déplacements et boutons !). Une fois FAAST téléchargé, configuré les associations touches/mouvements dans l’onglet “Actions”.
Le site de FAAST liste les mouvements disponibles et les touches associables. Nous allons faire un exemple simple, celui que j’utilise pour faire des présentations PowerPoint (attention, sous Office ca ne marche pas, ce dernier semblant trop sensible; par contre sous OpenOffice, ca fonctionne parfaitement).
Pour une présentation simple, je veux utiliser deux touches (gauche et droite), et faire défiler mes slides par un mouvement de bras d’un coté à l’autre (a la manière d’un coup au tennis).
left_arm_across 15 key left_arrow
right_arm_across 15 key right_arrow
Les associations ci-dessus permettent un appui sur la “flèche gauche” quand je fais une “traversée” sur 15 pouces avec mon bras gauche, et la même chose avec mon bras droit, mais pour la touche “flèche droite”.
Une fois votre configuration de touche faite, cliquez sur “start emulation”, revenez sur l’onglet “Sensor” et appuyez sur “connect”. Au bout de quelques secondes (20 environ), vous verrez quelque chose comme ca :

Ici, FAAST me voit au travers du Kinect, mais ne m’a pas encore détecté pleinement. Il faut pour cela adopter la posture suivante :
et ne pas trop bouger (bougez quand même un peu pour être le plus “droit possible”). Idéalement, éloignez vous assez pour que le Kinect voit l’intégralité de votre corps. Trois secondes plus tard, vous devriez voir :

Vous n’avez plus qu’a tester vos mouvements. Restez sur l’onglet “Actions” pour voir quand ils sont pris en compte.
Il ne vous reste plus qu’a jouer, surfez (cf la doc de FAAST pour ce qui est de la souris) ou faire vos présentations…
Si vous avez un message d’erreur sur l’onglet Sensor, vérifiez que vous n’avez rien oublié (en particulier si l’installation des périphériques n’est pas automatique sous votre windows!). Notez que si vous aviez d’autres drivers Kinect installé avant, supprimez tout (y compris les fichiers des drivers dans system32/drivers), et retentez l’installation. Sachez aussi que plusieurs personnes sont détectables, mais seule la première semble être capable d’utiliser les mouvements.
[MAJ 13/11/2011]
Petite mise à jour suite à un commentaire; En effet, les liens sont périmés pour les téléchargements. Donc, il vous faudra aller à cette adresse (je ne mets pas de lien direct vu que les versions vont évoluer…)
- Pour le 1er téléchargement (module OpenNi), choisissez “OpenNi Binaries” “Stable” et selectionnez le paquet en “redist” qui correspond à votre architecture windows (X86 pour du 32bits et X64 pour du 64bits)
- Pour le 2ème téléchargement (Module PrimeSense Nite), choisissez “OpenNi Compliant Middleware Binaries”, “Stable” et à nouveau la “redist” de votre architecture windows (attention il y’a aussi des paquets Ubuntu dans le lot).
- Pour le 3ème téléchargement (Module Sensor), choisissez “OpenNi Compliant HardWare Binaries”, “Stable” et le “PrimeSensor Module Stable” (for windows) qui correspond à votre windows.
- Pour le driver , rendez vous ici et encore une fois choisissez l’archi de votre Windows
Enfin pour FAAST, le lien du téléchargement, la version 0.09 est dispo sur le site général (adresse plus haut!).
Il semble qu’il existe un package globale (dans la section “OpenNi Packages”) mais j’ai préféré reprendre les différents éléments comme évoqués dans le tuto original, je reteste le tout sous peu histoire de vérifier mes dires.
[MAJ 19/11/2011]
J’ai finalement essayé de refaire une install, et oups, j’ai oublié un petit quelque chose dans l’update précédent. En fait, il manque les drivers, car de mémoire le “Module Sensor” (téléchargement 3 de l’update du 13/11/2011) n’est pas le driver open source (de quoi s’agit-il alors? bonne question, je creuserais ca plus tard, mais songez quand même à l’installer je pense qu’il est nécessaire). Du coup, petite modification reportée quelques lignes au dessus…
Notez aussi que contrairement à ce qui était dit dans le tuto original, les 3 parties (audio, caméra et motor) du Kinect sont installées par le driver (mais ca ne change rien pour nous…)
Sources : http://www.cleoag.ru/2010/12/10/kinect-openni/ , http://projects.ict.usc.edu/mxr/faast/
Commentaires Récents