Publié par : Richard Santoro | 0+02:00 22 janvier 2011

Utiliser le Kinect sur son pc, tuto !

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/


Réponses

  1. bien c’est bien !!!! mais esque apres cette operation kinect marchera toujour avec la 360 et ses jeux d’origine ou elle ne marchera qu’avec pc ?

  2. bien c’est bien !!!! mais esque apres cette operation kinect marchera toujour avec la 360 et ses jeux d’origine ex(kinect sport) ?

  3. Bonjour

    je suis nouveau sur kinect

    j ai installe les drivers mais Xbox Nui Audio ne marche pas

    en plus si je lance le hack FAAST, il me montre vite fait un ecran noir et apres plus rien

    si vous avez aussi d autres infos sur kinect et opencv

    je suis prenant

    je reste a votre ecoute

    merci d avance

  4. […] https://richardsantoro.wordpress.com/2011/01/22/utiliser-le-kinect-sur-son-pc-tuto/ […]

  5. J’adore votre présentation ne step by step… ça a l’air tellement simple.. mais lorsqu’on va télécharger LE driver… il y en a beaucoup et on ne sais pas lequel choisir et en plus, ce ne sont pas des .inf (je parle pour Windows), on a pas de .exe etc… Est-ce possible de donner LE lien Windows x64 Win7 et non un lien générique ? Encore autre chose… Vous n’avez pas aussi 1 fichier avec toutes les modifications manuelles au lieu que tout le monde se trompe à supprimer des lignes dans le code ? Si je maîtrise comme vous… je ferai des étapes encore plus simplifiées et il ne pourra pas avoir d’erreur possible. Encore bravo pour les efforts.

    • Bonjour,

      J’ai mis à jour le tuto, j’ai pas encore eu le temps de re-tester les différentes opérations, mais tu devrais t’en sortir avec les liens fournis en bas du tuto.

      Merci de me tenir au courant de tes avancés.

      Cordialement,

      RS

  6. Bonjour / Bonsoir,

    J’ai un petit souci.

    J’en suis à la phase «vous devez brancher votre Kinect (usb et prise courant)».

    Quand je branche Kinect, j’ai bien le son de Windows comme quoi il l’a détecté, mais il ne me propose pas d’installer des drivers. Que dois-je faire?

    PS: J’ai Windows 7.

    Cordialement,

    Miiyukii

  7. merci mec si ca marche c’est la folie, imaginer les applications!surf etc

  8. J’ai télécharger les 3 programme adéquate et quand je vais dans “Program Files\Prime Sense\NITE\Data » je n’est pas le fichier DATA et moi ce n’est pas Xbox NUI Audio qui est manquant mais Xbox NUI Motor et je n’est pas l’item PrimeSense dans mon Gestionnaire de périphérique AIDEZ MOI SVP.

  9. bonjour
    je n’arrive pas a modifier les fichier xml avec Notepad

    merci ne m’aider

  10. xnvnite-1-5-2.dll ne trouve pas ce fichier ou le trouver


Répondre à Richard Santoro Annuler la réponse.

Catégories