Notice: MediaWiki has been updated. Report any rough edges to marcan@marcan.st

Difference between revisions of "Getting Started/fr"

From OpenKinect
Jump to: navigation, search
m (Language bar correction {{Languages}} only.)
(Linux)
 
(7 intermediate revisions by 2 users not shown)
Line 25: Line 25:
  
 
== Linux ==
 
== Linux ==
 +
=== Ubuntu/Debian ===
 +
==== Paquets officiels ====
  
=== Paquets binaires ===
+
Ubuntu et Debian fournissent officiellement des paquets a partir des version Ubuntu 11.10 (Oneiric) et Debian 7 (Wheezy). Ils peuvent être facilement installés depuis la console:
 +
$ sudo apt-get install freenect
  
Des paquets rpm et deb sont disponibles ici:
+
Le kinect est accessible à tout utilisateur appartenant au groupe 'plugdev'. Par défaut, un utilisateur normal appartient au groupe. Cependant, s'il y a besoin de l'ajouter:
http://livingplace.informatik.haw-hamburg.de/blog/?p=228
+
$ sudo adduser $USER plugdev
 +
puis reconnecter l'utilisateur.
  
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.
+
Pour lancer les applications en démonstration, taper:
 +
$ freenect-glview
  
=== Ubuntu ===
+
Vous trouverez ces applications en préfixées par freenect-.
 
 
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:
+
==== Dépots NeuroDebian ====
+
Si une version recente de libfreenect est nécessaire quelle que soit votre version de Debian ou Ubuntu, des backports de la derniere version publiée de libfreenect sont disponible pour toutes les versions supportées de Debian et Ubuntu (à savoir Ubuntu Lucid(10.04), Maverick (10.10), Natty (11.04), Oneiric (11.10) et Debian Squeeze et Wheezy au moment d'écrire ces lignes) sur les dépots de NeuroDebian (http://neuro.debian.net). Ces paquets sont crées par les responsables des paquets officiels Debian de libfreenect et en cela suivent les normes de Debian/Ubuntu.
$ sudo add-apt-repository ppa:arne-alamut/freenect
 
  
Resynchroniser la liste des paquets du dépôt:
+
Pour activer les dépots NeuroDebian:
  
 +
$ wget -O- <nowiki>http://neuro.debian.net/lists/$(lsb_release -cs).us-nh</nowiki> | sudo tee /etc/apt/sources.list.d/neurodebian.sources.list
 +
$ sudo apt-key adv --recv-keys --keyserver pgp.mit.edu 2649A5A9
 
  $ sudo apt-get update
 
  $ sudo apt-get update
 
Une fois ceci accompli, vous pouvez procéder:
 
  
 +
Installez libfreenect de la même manière que précédemment:
 
  $ sudo apt-get install freenect
 
  $ sudo apt-get install freenect
  
Ceci installera libfreenect0.0, libfreenect-demos et libfreenect-dev.
+
Vérifiez que votre utilisateur appartient bien au groupe 'plugdev' pour accéder au matériel sans les privilèges du super-utilisateur. Si ce n'est pas le cas, ajouter le en tapant:
 
+
  $ sudo adduser $USER plugdev
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.
+
puis reconnecter l'utilisateur.
 
 
$ 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 ===
+
==== Installation manuelle sous Ubuntu/Debian ====
  
 
Copier-coller ce groupe d'instructions pour un résultat instantané:
 
Copier-coller ce groupe d'instructions pour un résultat instantané:
Line 84: Line 76:
 
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:
 
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
 
  cat << EOF >> /etc/udev/rules.d/51-kinect.rules
 
  # ATTR{product}=="Xbox NUI Motor"
 
  # ATTR{product}=="Xbox NUI Motor"
Line 93: Line 84:
 
  SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ae", MODE="0666"
 
  SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ae", MODE="0666"
 
  EOF
 
  EOF
 +
 +
 +
=== Autre distributions ===
 +
==== 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).
 +
 +
Il est déconseiller d'utiliser ces paquets sur une distribution Ubuntu ou Debian (Des paquets à jour et de meilleurs qualité sont disponibles).
 +
Ces paquets ne sont pas à jour (au jour du 26/03/12).
 +
  
 
=== Compiler à partir des sources sous linux ===
 
=== Compiler à partir des sources sous linux ===
Line 156: Line 160:
  
 
ceci dépend évidemment de l'endroit où vous avez installé vos librairies partagées.
 
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 [http://groups.google.com/group/openkinect/browse_thread/thread/f3dbf1c8000dc3fe/b28da021edd7bd68 ceci]), obtenez-le [http://cython.org/#download ici] ou essayez:
 +
  $ easy_install cython
 +
 +
Pour plus d'information sur Python voir cette [http://openkinect.org/wiki/Python_Wrapper page].
  
 
=== Accès utilisateur normal ===
 
=== Accès utilisateur normal ===
Line 171: Line 182:
 
ajoutez votre utilisateur au groupe "video":
 
ajoutez votre utilisateur au groupe "video":
  
  $ sudo adduser UTILISATEUR video
+
  $ sudo adduser $USER video
  
 
=== Essais ===
 
=== Essais ===
Line 286: Line 297:
  
 
== Windows ==
 
== Windows ==
*Voir [[Getting Started Windows/fr]]
+
 
 +
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 [http://nicolas.burrus.name/index.php/Research/KinectRgbDemoV4 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 [https://github.com/OpenKinect/libfreenect 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''
 +
 
 +
* [http://code.google.com/p/msysgit/downloads/list?can=3 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 [http://groups.google.com/group/openkinect/browse_thread/thread/55e3f82c38f196e2 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é [http://groups.google.com/group/openkinect/browse_frm/thread/813c998eaa866b2e 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 ====
 +
<div id="win_manual_dependencies"></div>
 +
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:
 +
 
 +
{|  class="wikitable"
 +
!Dépendance !! Installation !! Librairie/includes à utiliser ([http://img254.imageshack.us/img254/6277/26349211.png voir saisie d'écran])
 +
|-
 +
| [http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/ 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 configurer le projet pour MS Visual Studio 2010, choisir /lib/msvc/libusb.lib ou si vous prévoyez utiliser mingw, utiliser /lib/gcc/libusb.a comme chemin vers la librairie libusb dans cmake (LIBUSB_1_LIBRARY)
 +
* Selectionner le chemin pour atteindre le répertoire contenant les fichiers entêtes libusb, c'est à dire le répertoire /include de libusb dans cmake (LIBUSB_1_INCLUDE_DIR)
 +
Pour plus d'informations voir le 'readme' de libusb-win32 et leur [http://sourceforge.net/apps/trac/libusb-win32/wiki wiki]
 +
|-
 +
| [http://sourceware.org/pthreads-win32/ 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 configurer le projet pour MS Visual Studio 2010, choisir /lib/pthreadVC2.lib ou si vous prévoyez utiliser mingw, utiliser /lib/pthreadGC2.a comme chemin vers la librairie pthread dans cmake (THREADS_PTHREADS_WIN32_LIBRARY)
 +
* Dans les deux cas vous devez installer le fichier .dll correspondant dans /windows/system32 i.e. phtreadVC2.dll ou pthreadGC2.dll
 +
* Selectionner le chemin pour atteindre le répertoire contenant les fichiers entêtes pthread, c'est-à-dire le répertoire /include de pthread dans cmake (THREADS_PTHREADS_INCLUDE_DIR)
 +
Pour plus d'informations voir le 'readme' de pthreads-win32 et leur [http://sourceware.org/pthreads-win32/faq.html FAQ]
 +
|-
 +
| [http://www.xmission.com/~nate/glut.html 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 [[#win_manual_compiling|cette]] explication) ||
 +
* Avec MSVC, vous devriez copier l'entête glut.h vers le répertoire /include/GL et la librairie glut32.lib vers le répertoire /lib de votre arborescence VC(par exemple /Program Files/Microsoft Visual Studio 10.0/VC/) - si le répertoire GL n'existe pas, veuillez le créer et y mettre le fichier glut.h. Si vous avez compilé glut à partir des sources, les fichiers devraient déjà être là.
 +
* Dans cmake-gui, fournir le chemin vers le fichier entête jusqu'au sous-répetoire /include (ET NON PAS ../include/GL) ainsi que le chemin jusqu'à la librairie elle-même (../lib/glut32.lib) (GLUT_INCLUDE_DIR et GLUT_glut_LIBRARY respectivement)
 +
Pour plus d'informations voir le [http://www.xmission.com/~nate/glut/README-win32.txt '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 ====
 +
 
 +
[[Image:Windows_cmakegui.png|800px]]
 +
 
 +
Voici les étapes requises pour configurer libfreenect avant de compiler:
 +
 
 +
#  Télécharger [http://www.cmake.org/cmake/resources/software.html 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 [http://openkinect.org/wiki/Python_Wrapper_Windows 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é [[#win_manual_dependencies|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 ====
 +
<div id="win_manual_compiling"></div>
 +
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 certains éléments ne sont pas compilés du premier coup, simplement faire un clic de droite sur la solution à nouveau et choisir "Build" ou "Rebuild" pour vérifier si ils le seront cette fois-ci
 +
* Si vous éprouvez des difficultés à compiler, voir ce [https://github.com/OpenKinect/libfreenect/tree/master/platform/windows '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 [http://openkinect.org/wiki/Main_Page#Wrappers enveloppes(wrappers)] et à la [http://groups.google.com/group/openkinect/ liste de distribution] du groupe pour différentes idées et solutions...
  
 
== Contributions ==
 
== Contributions ==
  
 
* [[Installation/Compilation Guides]]
 
* [[Installation/Compilation Guides]]

Latest revision as of 17:21, 26 March 2012

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

Ubuntu/Debian

Paquets officiels

Ubuntu et Debian fournissent officiellement des paquets a partir des version Ubuntu 11.10 (Oneiric) et Debian 7 (Wheezy). Ils peuvent être facilement installés depuis la console:

$ sudo apt-get install freenect

Le kinect est accessible à tout utilisateur appartenant au groupe 'plugdev'. Par défaut, un utilisateur normal appartient au groupe. Cependant, s'il y a besoin de l'ajouter:

$ sudo adduser $USER plugdev

puis reconnecter l'utilisateur.


Pour lancer les applications en démonstration, taper:

$ freenect-glview

Vous trouverez ces applications en préfixées par freenect-.


Dépots NeuroDebian

Si une version recente de libfreenect est nécessaire quelle que soit votre version de Debian ou Ubuntu, des backports de la derniere version publiée de libfreenect sont disponible pour toutes les versions supportées de Debian et Ubuntu (à savoir Ubuntu Lucid(10.04), Maverick (10.10), Natty (11.04), Oneiric (11.10) et Debian Squeeze et Wheezy au moment d'écrire ces lignes) sur les dépots de NeuroDebian (http://neuro.debian.net). Ces paquets sont crées par les responsables des paquets officiels Debian de libfreenect et en cela suivent les normes de Debian/Ubuntu.

Pour activer les dépots NeuroDebian:

$ wget -O- http://neuro.debian.net/lists/$(lsb_release -cs).us-nh | sudo tee /etc/apt/sources.list.d/neurodebian.sources.list
$ sudo apt-key adv --recv-keys --keyserver pgp.mit.edu 2649A5A9
$ sudo apt-get update

Installez libfreenect de la même manière que précédemment:

$ sudo apt-get install freenect

Vérifiez que votre utilisateur appartient bien au groupe 'plugdev' pour accéder au matériel sans les privilèges du super-utilisateur. Si ce n'est pas le cas, ajouter le en tapant:

$ sudo adduser $USER plugdev

puis reconnecter l'utilisateur.


Installation manuelle sous Ubuntu/Debian

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:

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


Autre distributions

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).

Il est déconseiller d'utiliser ces paquets sur une distribution Ubuntu ou Debian (Des paquets à jour et de meilleurs qualité sont disponibles). Ces paquets ne sont pas à jour (au jour du 26/03/12).


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 $USER 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:

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:

  1. 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
  2. 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 configurer le projet pour MS Visual Studio 2010, choisir /lib/msvc/libusb.lib ou si vous prévoyez utiliser mingw, utiliser /lib/gcc/libusb.a comme chemin vers la librairie libusb dans cmake (LIBUSB_1_LIBRARY)
  • Selectionner le chemin pour atteindre le répertoire contenant les fichiers entêtes libusb, c'est à dire le répertoire /include de libusb dans cmake (LIBUSB_1_INCLUDE_DIR)

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 configurer le projet pour MS Visual Studio 2010, choisir /lib/pthreadVC2.lib ou si vous prévoyez utiliser mingw, utiliser /lib/pthreadGC2.a comme chemin vers la librairie pthread dans cmake (THREADS_PTHREADS_WIN32_LIBRARY)
  • Dans les deux cas vous devez installer le fichier .dll correspondant dans /windows/system32 i.e. phtreadVC2.dll ou pthreadGC2.dll
  • Selectionner le chemin pour atteindre le répertoire contenant les fichiers entêtes pthread, c'est-à-dire le répertoire /include de pthread dans cmake (THREADS_PTHREADS_INCLUDE_DIR)

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)
  • Avec MSVC, vous devriez copier l'entête glut.h vers le répertoire /include/GL et la librairie glut32.lib vers le répertoire /lib de votre arborescence VC(par exemple /Program Files/Microsoft Visual Studio 10.0/VC/) - si le répertoire GL n'existe pas, veuillez le créer et y mettre le fichier glut.h. Si vous avez compilé glut à partir des sources, les fichiers devraient déjà être là.
  • Dans cmake-gui, fournir le chemin vers le fichier entête jusqu'au sous-répetoire /include (ET NON PAS ../include/GL) ainsi que le chemin jusqu'à la librairie elle-même (../lib/glut32.lib) (GLUT_INCLUDE_DIR et GLUT_glut_LIBRARY respectivement)

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

Windows cmakegui.png

Voici les étapes requises pour configurer libfreenect avant de compiler:

  1. Télécharger Cmake (Cross-Platform Make) et s'assurer de disposer d'un compilateur C (Visual Studio 2010 ou MinGW)
  2. 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"
  3. Sélectionner le compilateur C que vous souhaitez utiliser
  4. Sélectionner les options BUILD que vous désirez en prenant en considération ceci:
    1. À 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
    2. Veuillez consulter ces notes si vous êtes intéressé à compiler l'enveloppe PYTHON
  5. 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":
    1. Les variables de type *_LIBRARY doivent pointer vers le fichier .lib lui-même et non pas vers un répertoire
    2. Les variables de type INCLUDE doivent pointer vers les répertoires /include appropriés
  6. 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 certains éléments ne sont pas compilés du premier coup, simplement faire un clic de droite sur la solution à nouveau et choisir "Build" ou "Rebuild" pour vérifier si ils le seront cette fois-ci
  • 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

Contributions