Notice: MediaWiki has been updated. Report any rough edges to marcan@marcan.st
Getting Started/fr
Langue: | English • français • italiano • português do Brasil |
---|
Veuillez svp lire ceci avant de débuter
Cette page détaille comment entreprendre l'utilisation d'OpenKinect. Les librairies sont en constante évolution et il y aura d'autres changements. Ceci signifie que les instructions qui suivent peuvent ne pas entièrement refléter les dernières mises à jour. Pour en savoir davantage, veuillez consulter:
- le fichier README à la racine du projet dans le dépôt sur github (n'oubliez pas les autres fichiers readme plus bas dans l'arborescence)
- la section Wrappers
- la liste de distribution OpenKinect
- la section FAQ
Assistance technique
Pour demander de l'aide dans la salle de discussion irc ou dans la liste de distribution OpenKinect, veuillez indiquer la nature du système que vous utilisez, la version du logiciel que vous essayez d'installer ou de compiler ainsi que le contexte tel qu'expliqué ici.
L'adaptateur
Le Kinect nécessite sa propre alimentation indépendamment de la connexion USB afin de fonctionner sur un ordinateur. La Xbox360 permet l'alimentation directe du Kinect mais les anciennes versions de la console nécessitent un adaptateur à cette fin. Conséquemment, le Kinect vendu avec la Xbox360 n'est pas livré avec l'adaptateur alors que c'est le cas pour celui qui est vendu séparément. On peut se procurer l'adaptateur ici. Ce dernier est requis afin de pouvoir utiliser le Kinect sur votre ordinateur avec libfreenect.
Fakenect
Il est aussi possible d'utiliser l'utilitaire Fakenect qui est un simulateur/interface de test libfreenect pour exécuter les démos même si l'on ne dispose pas du Kinect comme tel.
Merci!
Linux
Paquets binaires
Des paquets rpm et deb sont disponibles ici: http://livingplace.informatik.haw-hamburg.de/blog/?p=228
Veuillez noter qu'il n'y a pas de périphériques générés par udev et vous devrez par conséquent exécuter vos programmes sous root (utiliser sudo).
Ces paquets sont à jour au 19 novembre 2010.
Ubuntu
Une archive ppa Ubuntu pour Lucid(10.04) et Maverick (10.10) est disponible ici:
https://launchpad.net/~arne-alamut/+archive/freenect
pour l'utiliser, taper à la console:
$ sudo add-apt-repository ppa:arne-alamut/freenect
Resynchroniser la liste des paquets du dépôt:
$ sudo apt-get update
Une fois ceci accompli, vous pouvez procéder:
$ sudo apt-get install freenect
Ceci installera libfreenect0.0, libfreenect-demos et libfreenect-dev.
Par la suite, vous devez ajouter votre utilisateur au groupe "video" et vous fermer votre session puis vous connecter à nouveau. Le paquet incorpore les règles nécessaires pour le démon udev permettant ainsi aux utilisateurs du groupe "video" d'utiliser le périphérique.
$ sudo adduser UTILISATEUR video
assurez-vous de fermer puis rouvrir votre session. Vous n'avez pas besoin de redémarrer, branchez simplement le Kinect à ce moment (s'il est déjà branché, débranchez-le puis branchez-le à nouveau).
Pour lancer les applications en démonstration, taper:
$ freenect-glview
Vous trouverez ces applications en préfixées par freenect-.
Installation manuelle sous Ubuntu
Copier-coller ce groupe d'instructions pour un résultat instantané:
sudo apt-get install git-core 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/ sudo glview
Ceci devrait s'avérer un des moyens les plus rapides de faire fonctionner le Kinect avec OpenKinect sur Ubuntu. L'étape suivante est évidemment recommandée:
sudo adduser UTILISATEUR video cat << EOF >> /etc/udev/rules.d/51-kinect.rules # ATTR{product}=="Xbox NUI Motor" SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02b0", MODE="0666" # ATTR{product}=="Xbox NUI Audio" SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ad", MODE="0666" # ATTR{product}=="Xbox NUI Camera" SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ae", MODE="0666" EOF
Compiler à partir des sources sous linux
Ces instructions nécessitent des ajustements et proviennent pour l'essentiel du README.asciidoc
Installer les dépendances
Pour compiler, vous aurez besoin d'installer les programmes et librairies suivants:
* cmake * libusb-1.0-0 * libusb-1.0-0-dev * pkg-config * libglut3 * libglut3-dev
Notez que les noms de paquets ci-dessus ont une nomenclature adaptée à Ubuntu/Debian. Pour une système moins axé sur le développement comme RedHat/Fedora utilisant yum/rpms, la commande suivante devrait installer tous les paquets requis pour cloner, compiler et exécuter le démo glview:
$ yum install git cmake gcc gcc-c++ libusb1 libusb1-devel libXi libXi-devel libXmu libXmu-devel freeglut freeglut-devel
Pour ceux qui utilisent APT: (marche sous Ubuntu 10.10)
$ sudo apt-get install cmake libglut3-dev pkg-config build-essential libxmu-dev libxi-dev libusb-1.0-0-dev
Cloner le dépôt
$ git clone https://github.com/OpenKinect/libfreenect.git $ cd libfreenect
Cmake
$ mkdir build $ cd build $ cmake .. $ make $ sudo make install $ sudo ldconfig /usr/local/lib64/
Erreurs
Si vous rencontrez l'erreur suivante avec cmake:
$ CMake Error: The following variables are used in this project, but they are set to NOTFOUND. $ Please set them or make sure they are set and tested correctly in the CMake files: $ GLUT_Xi_LIBRARY (ADVANCED) $ linked by target "glview" in directory /home/user/libfreenect/examples $ GLUT_Xmu_LIBRARY (ADVANCED) $ linked by target "glview" in directory /home/user/libfreenect/examples
Vous devez alors installer libxi-dev et les entêtes(headers) pour libxmu-dev/libxmu. Si vous utilisez Ubuntu 10.04, tapez la commande:
$ sudo apt-get install libusb-1.0-0-dev libxmu-dev libxi-dev
Si au lancement de glview vous avez cette erreur de librairie partagée:
$ glview glview: error while loading shared libraries: libfreenect.so.0.0: cannot open shared object file: No such file or directory
Vous devez alors rafraîchir la cache ldconfig ainsi:
$ sudo ldconfig /usr/local/lib64/
ceci dépend évidemment de l'endroit où vous avez installé vos librairies partagées.
Python
Pour compiler les enveloppes(wrappers) Python, vous aurez besoin des paquets "python-dev" et cython. Le paquet cython inclus dans Ubuntu 10.10 semble brisé (voir ceci), obtenez-le ici ou essayez:
$ easy_install cython
Pour plus d'information sur Python voir cette page.
Accès utilisateur normal
Pour pouvoir accéder au périphérique Kinect vous devez ajouter votre utilisateur au groupe "video" et changer les permissions d'accès:
créer un fichier: /etc/udev/rules.d/66-kinect.rules
#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 #############################################################
ajoutez votre utilisateur au groupe "video":
$ sudo adduser UTILISATEUR video
Essais
Vous devez exécuter ceci sous root (via sudo) si vous n'avez pas procédé à l'étape "Accès utilisateur normal" donc soit:
$ bin/glview
ou
$ sudo bin/glview
OS X
Il est recommandé d'installer (au moins les prérequis) via un gestionnaire de paquet. Si vous n'utilisez pas déjà macports ou fink, essayez Homebrew puisque nous avons un paquet complet pour cette solution.
MacPorts
Les versions actuelles de MacPorts doivent supporter différentes versions de libusb. Nous avons ajouté une version portée libusb-devel qui comporte la version corrigée requise avec OpenKinect.
Après avoir installé MacPorts, tapez les commandes suivantes:
sudo port install git-core sudo port install libtool sudo port install libusb-devel
Puis allez à votre répertoire de travail et vous êtes prêt à procéder:
git clone https://github.com/OpenKinect/libfreenect.git
et continuez tel qu'indiqué dans la section Compiler à partir des sources sous OSX. La version de libusb qui sera détectée par le processus de cmake sera correcte et corrigée, ce qui simplifie grandement le processus de compilation!
Homebrew
Si vous n'avez pas encore Homebrew, il est très facile de l'installer.
Note: Même si vous avez déjà Homebrew installé, assurez-vous de mettre à jour vos formules (utilisez `brew update`), avant d'essayer d'installer libfreenect puisqu'il y a eu plusieurs correctifs apportés à cmake dernièrement.
Les formules
Comme le projet est encore à un stade de mises à jour régulières les paquets ne se trouvent pas dans le répertoire officiel de homebrew et il vous faudra donc manuellement les charger:
cd /usr/local/Library/Formula curl --insecure -O "https://github.com/OpenKinect/libfreenect/raw/master/platform/osx/homebrew/libfreenect.rb" curl --insecure -O "https://github.com/OpenKinect/libfreenect/raw/master/platform/osx/homebrew/libusb-freenect.rb"
Installation
brew install libfreenect
Et voilà, vous avez terminé! Une copie du démo glview devrait maintenant se trouver dans votre PATH et vous pouvez donc simplement lancer:
glview
afin de confirmer que tout a bien fonctionné.
Compiler à partir des sources sous OSX
Prérequis:
- git
- cmake (disponible via MacPorts ou à partir de http://www.cmake.org/cmake/resources/software.html)
Ensuite téléchargez le dépôt OpenKinect et libusb:
git clone https://github.com/OpenKinect/libfreenect.git git clone git://git.libusb.org/libusb.git
Vous n'avez pas à télécharger ni corriger libusb si vous avez déjà installé libusb-devel via MacPorts tel qu'indiqué ici!
Si vous avez cloné libusb du dépôt github voici comment appliquer le correctif pour la rendre fonctionnelle avec OpenKinect:
cd libusb ./autogen.sh patch -p1 < ../libfreenect/platform/osx/libusb-osx-kinect.diff ./configure LDFLAGS='-framework IOKit -framework CoreFoundation' make sudo make install
puis configurez OpenKinect:
cd ../libfreenect/ mkdir build cd build ccmake ..
Ne vous en faites pas si ccmake vous montre un message 'Empty Cache' au démarrage. Appuyez sur 'c' pour entamer la configuration. Si vous avez préalablement installé libusb via MacPorts ou Homebrew, cela fonctionnera correctement. Autrement, le processus sera un échec parce qu'il ne peut trouver libusb. Appuyez sur 'e' pour sortir et éditer manuellement le chemin vers libsub dans l'écran suivant afin de pointer vers /usr/local/include/libusb-1.0/ et continuez.
Lorsque vous avez terminé, compilez libfreenect:
cmake .. make
Si vous voulez compiler OpenKinect en projet sous Xcode faites plutôt:
cmake -G Xcode .. make
Et vous avez terminé! Il devrait maintenant y avoir un programme 'glview' dans libfreenect/build/bin. Branchez votre Kinect and et lancez glview! Si vous avez l'erreur 'ld: warning: in /usr/local/lib/libusb-1.0.dylib, missing required architecture x86_64' en utilisant make, vous devez corriger les chemins d'accès avec cmake: Ils doivent pointer vers /opt ... lorsque libusb a été installée via MacPorts.
Pour rendre les fichiers disponibles globalement sur votre Mac et les utiliser avec vos propres projets, vous pouvez les installer:
sudo make install
Utilisation en parallèle avec pyusb
Si vous voulez aussi utiliser pyusb avec le Kinect, vous allez vraisemblablement devoir installer libusb-1.0.8. Installez via homebrew et ensuite définissez la variable _lib avant de trouver le périphérique usb:
from ctypes import * import usb.core import usb.utils _lib = CDLL('/usr/local/Cellar/libusb/1.0.8/lib/libusb-1.0.dylib') # C'est l'endroit où homebrew mets les librairies libusb dev = usb.core.find(idVendor=0x045e, idProduct=0x02B0)
Windows
Il se peut que vous recherchiez une démonstration rapide de la richesse fonctionnelle du projet avant de le compiler. Dans ce cas vous devriez peut-être jeter un coup d'oeil à cette démonstration déjà compilée (les sources sont aussi disponibles) et qui utilise libfreenect et opencv.
Compiler à partir des sources sous Windows
Introduction
Compiler à partir des sources ne demande aucune expertise particulière mais peut s'avérer ardu pour certains. Cette introduction servira à fournir une vue d'ensemble à ceux qui le désire afin de comprendre le processus. En résumé, il faudra télécharger le code source le plus récent et les dépendances nécessaires. Ces dernières seront requises à deux reprises. Premièrement il faudra copier les fichiers librairies .dll et les rendre accessibles à votre système. Deuxièmement, il faudra lier les fichiers .lib et les fichiers entêtes aux sources du projet en utilisant cmake-gui afin de configurer le tout ainsi que pour générer les "makefiles" requis pour compiler. Finalement, il faudra charger le projet dans votre environnement de développement (ex. Visual Studio 2010) pour le compiler ou entreprendre votre propre développement. De ce résumé vous devriez retenir que votre système nécessite certaines librairies pour pouvoir exécuter les demos du projet, tout comme le nécessitent à peu près tous les logiciels (et des librairies .dll sont utilisées). Et avant que ceci ne soit possible, le projet lui-même demande que lui soient liés les librairies et entêtes requises pour qu'il puisse être compilé adéquatement Notez que libfreenect, une fois compilé, est lui aussi une librairie .dll que votre système devra atteindre afin de pouvoir exécuter le demo glview.exe qui en dépend, par exemple. Tout ceci devrait s'éclaircir au fur et à mesure...
Se procurer le code source
Il y a 2 façons de se procurer les sources les plus récentes:
- Aller sur le dépôt github du projet Openkinect, sélectionner la branche désirée (master ou unstable - voir plus bas pour des explications) et cliquer sur le bouton "Download" (ensuite extraire le tout dans un répertoire à portée) ou
- Utiliser Git pour créer et tenir à jour sur son système un répertoire permettant d'accéder à n'importe laquelle des branches disponibles et ce localement:
Utiliser Git
- Télécharger et installer Git avec ces paramètres:
- Accepter la licence etc.
- Choisir le niveau d'intégration au "shell" désiré
- Choisir "Run git from the Windows Command prompt"
- Choisir "Check out WIndows style, commits Unix-style line endings"
- Ouvrir une invite de commande, atteindre le répertoire où vous voulez créer le répertoire qui contiendra les sources (qui s'appellera /libfreenect) et taper:
$ git clone https://github.com/OpenKinect/libfreenect.git //télécharge le projet, créé local master $ cd libfreenect //cd vers la source $ git branch --track unstable origin/unstable //créé une branche local 'unstable' du dépôt distant $ git checkout master //consulte la branche 'master' ou 'unstable' $ ou $ git checkout unstable $ git pull //mise à jour du contenu de la branche sélectionnée
- Le contenu du répertoire libfreenect change interactivement lorsque vous consultez(checkout) une branche particulière (c'est magique!) ce qui vous évite d'avoir à chercher un répertoire particulier dans les répertoire source. Consultez simplement la branche que vous voulez configurer et utiliser le répertoire source dans le logiciel cmake par la suite. Cette approche permet de facilement passer d'une branche à l'autre et de garder à jour les sources localement pour ensuite configurer la branche que vous désirez compiler.
- La commande "git branch" vous montrera les différentes branches (master et unstable dans notre cas) ainsi que laquelle est sélectionnée à ce moment. Vous pouvez aussi consulter les journaux du développement pour la branche choisie avec la commande "git log" (utiliser shift-Q pour sortir).
Master ou unstable?
Si vous pensez altérer libfreenect, développer des enveloppes(wrappers) ou tester les plus récents développements, vous devriez vous attarder à la branche 'unstable'. Elle contient les plus récentes mises à jour qui n'ont pas encore été entièrement testées. Autrement veuillez sélectionner la branche 'master'.
- Veuillez prendre note que les branches 'master' et 'unstable' ont été synchronisées en date du 6 janvier 2011; voir ceci pour plus d'informations.
- Le 15 février, la capacité d'avoir de multiples résolutions ainsi que le mode 1280x1024 pour RGB et IR ont été intégrés à la branche 'unstable' tel que détaillé ici.
Après s'être procuré les sources, vous devriez télécharger les dépendances requises afin de configurer et compiler la libfreenect et installer les pilotes...
Dépendances
Pour chacune des dépendances, télécharger et installer les fichiers librairies (.dll) sur votre système et identifier les chemins menant aux fichiers librairies (.lib ou .a) et entêtes (.h) dont vous aurez besoin plus tard afin de configurer les sources avec le logiciel cmake-gui:
Dépendance | Installation | Librairie/includes à utiliser (voir saisie d'écran) |
---|---|---|
libusb-win32 - télécharger et extraire le plus récent libusb-win32-bin-x.x.x.x.zip | Ceci sera accompli lors de l'installation du pilote dans la prochaine section | Les répertoires /lib et /include contiennent les fichiers librairies et entêtes requis; selon le compilateur choisi, vous aurez à sélectionner une librairie spécifique:
Pour plus d'informations voir le 'readme' de libusb-win32 et leur wiki |
pthreads-win32 - télécharger et extraire le plus récent pthreads-w32-x-x-x-release.exe | Trouver le répertoire /lib et copier la librairie .dll appropriée vers /windows ou /windows/system32 (voir Libraries/includes à droite pour déterminer laquelle utiliser) | Les répertoires /lib et /include contiennent les fichiers librairies et entêtes requis; selon le compilateur choisi, vous aurez à sélectionner une librairie spécifique:
Pour plus d'informations voir le 'readme' de pthreads-win32 et leur FAQ |
Glut - télécharger et extraire le plus récent glut-x.x.x-bin.zip | Trouver le fichier librairie glut32.dll et le copier vers /windows/system ou tout autre répertoire inclus dans la variable d'environnement PATH (voir cette explication) |
Pour plus d'informations voir le 'readme' de glut. |
Installation du pilote de périphérique
Il y a deux composantes à libfreenect -- le pilote de bas-niveau basé sur libusb et libfreenect en soi, la librairie qui parle avec le pilote. Le pilote n'est installé qu'une seule fois.
Windows 7: étape par étape (devrait aussi fonctionner sous Windows XP!)
- Brancher le Kinest. Windows avertira qu'aucun pilote de périphérique n'a été trouvé (la LED du Kinect ne s'allumera pas). Si l'OS présente une boîte de dialogue demandant de rechercher un pilote, faire "annuler".
- Ouvrir le Gestionnaire de périphériques: Démarrer >> Panneau de configuration >> Système et Sécurité >> Système >> Gestionnaire de périphériques.
- Un périphérique identifié comme "Xbox NUI Motor" devrait s'y trouver quelque part (fort probablement sous "Other devices") avec un petit point d'exclamation au dessus. Faire un clic de droite sur le périphérique et sélectionner "Update Driver Software...", et cliquer ensuite sur "Browse my computer for driver software".
- "Parcourir" et sélectionner le répertoire où se trouve le fichier "XBox_NUI_Motor.inf" (/platform/windows/inf à l'intérieur de votre répertoire source libfreenect). Cliquer "Suivant" et si Windows se plaint de fait que le pilote à installer ne soit pas certifié, simplement demander qu'il soit installé de toutes façons.
- Après cela, la lumière LED du Kinect devrait être verte et clignoter. Maintenant se trouveront ajoutés au Gestionnaire deux nouveaux périphériques: "Xbox NUI Camera" et "Xbox NUI Audio". Répéter les instructions ci-haut pour ces deux éléments.
Vous êtes maintenant prêt à configurer libfreenect avant de le compiler...
Configuration avec cmake-gui
Voici les étapes requises pour configurer libfreenect avant de compiler:
- Télécharger Cmake (Cross-Platform Make) et s'assurer de disposer d'un compilateur C (Visual Studio 2010 ou MinGW)
- Lancer Cmake-GUI et sélectionner votre répertoire /libfreenect comme source, selectionner un répertoire de sortie, cocher "advanced" et "grouped" afin d'afficher plus d'éléments et qu'ils soient catégorisés puis cliquer sur le bouton "Configure"
- Sélectionner le compilateur C que vous souhaitez utiliser
- Sélectionner les options BUILD que vous désirez en prenant en considération ceci:
- À ce stade, ne sélectionner que les options EXAMPLES et C_SYNC. Les autres options de BUILD tel FAKENECT n'ont pas encore été adaptées pour Visual Studio
- Veuillez consulter ces notes si vous êtes intéressé à compiler l'enveloppe PYTHON
- Les dépendances non résolues apparaîtront en rouge dans CMake GUI. Fournir les chemins manquants vers les dépendances tel qu'indiqué plus haut, et cliquer à nouveau sur le bouton "Configure":
- Les variables de type *_LIBRARY doivent pointer vers le fichier .lib lui-même et non pas vers un répertoire
- Les variables de type INCLUDE doivent pointer vers les répertoires /include appropriés
- Lorsque toutes les erreurs ont été solutionnées, cliquer sur le bouton "Generate" afin de générer les 'makefiles' pour votre compilateur.
Compiler
Maintenant que le projet est configuré, charger le fichier libfreenect.sln à partir de votre répertoire de sortie avec Visual Studio. Faire "Build" puis lorsque le compilateur a terminé, rechercher vos fichiers compilés dans les répertoires /bin et /lib
- Les librairies freenect dans /lib sont compilées mais pas installées à ce stade. Pour les utiliser vous pouvez:
- Ajouter le chemin menant au répertoire /lib à votre variable d'environnement PATH ou
- Copier les librairies dans un répertoire qui fait déjà l'objet d'une entrée dans PATH comme /windows/system32 par exemple ou
- Copier les librairies dans le répertoire du programme que vous voulez exéctuer
Si vous éprouvez des difficultés à compiler, voir ce 'readme' dans le répertoire /libfreenect/platform/windows pour de plus amples informations.
Essai
Pour faire un essai rapide, lancer /bin/glview.exe
- Vous pouvez aussi jeter un coup d'oeil à la section enveloppes(wrappers) et à la liste de distribution du groupe pour différentes idées et solutions...