Tutoriel Kinect La programmer avec processing et/ou eclipse (plugin proclipsing) sur Ubuntu 12.04 Fabien Eloy Étudiant à Polytech Grenoble en RICM, 4ème année Stagiaire au Laboratoire LIG-GETALP Mai 2012 - Août 2012
Table des matières 0.1 Installation de la bibliothèque freenect... 40 0.2 Installation des bibliothèques OpenNI, Nite et du pilote Primesense... 40 0.2.1 Installation de OpenNI... 40 0.2.2 Installation de Nite... 40 0.2.3 Installation des pilotes... 41 0.3 Installation de l éditeur Processing (< v2.0) et de ses dépendances... 41 0.3.1 Installation de SimpleOpenNi... 41 0.3.2 Installation de OpenKinect... 41 0.3.3 Utilisation de Processing... 42 0.4 Installation d eclipse et du plugin proclipsing... 45 0.4.1 Installation d eclipse... 45 0.4.2 Installation du plugin proclipsing... 45 0.4.3 Utilisation du plugin Proclipsing... 50 38
Table des figures 1 Téléchargement de OpenNI... 40 2 Téléchargement de Processing... 41 3 Téléchargement de SimpleOpenNI... 42 4 Message possible au démarrage de Processing... 42 5 Emplacement du sketchbook de Processing... 43 6 Ouverture d un projet exemple dans Processing... 44 7 Résultat du programme User... 45 8 Saisie nom et URL Proclipsing... 46 9 Sélection des fichiers à installer... 47 10 Vérification puis suivant... 48 11 Acceptation de la licence... 49 12 Avertissement de sécurité... 50 13 Nouveau projet... 50 14 Nouveau projet... 51 15 Squelette de code à la création d un nouveau projet... 52 39
0.1 Installation de la bibliothèque freenect Il faut se reporter au tutoriel Kinect nommé "Récupérer un flux audio/video avec freenect sur Ubuntu 12.04" pour cette partie et le suivre entièrement avant de passer à la section suivante. 0.2 Installation des bibliothèques OpenNI, Nite et du pilote Primesense Télécharger le dossier "installer" : http://code.google.com/p/simple-openni/ downloads/detail?name=openni_nite_installer-linux64-0.26.zip&can= 2&q=Type%3DInstaller+OpSys%3DLinux Décompresser l archive (archive décompréssée nommée mondossier par la suite) sur votre espace personnel. 0.2.1 Installation de OpenNI Figure 1 Téléchargement de OpenNI cd./mondossier/openni-bin-linux64-v* (* selon la version de l archive) sudo./install.sh 0.2.2 Installation de Nite cd./mondossier/nite-* sudo./install.sh 40
0.2.3 Installation des pilotes cd./mondossier/sensorkinect-bin-linux64-v* sudo./install.sh cd./mondossier/kinect/sensor-bin-linux-x64-v* sudo./install.sh 0.3 Installation de l éditeur Processing (< v2.0) et de ses dépendances Rendez vous sur l espace de téléchargement du site de l éditeur, en sélectionnant la version pour Linux (figure 2):http://processing.org/download/ Figure 2 Téléchargement de Processing Créer l arborescence ~/skecthbook/libraries 0.3.1 Installation de SimpleOpenNi Télécharger le dossier d installation : http://code.google.com/p/simple-openni/ downloads/detail?name=simpleopenni-0.26.zip&can=2&q=simpleopenni Décompresser l archive dans le dossier libraries. 0.3.2 Installation de OpenKinect Télécharger le dossier d installation : www.shiffman.net/p5/libraries/ openkinect/openkinect.zip Décompresser l archive dans le dossier libraries. 41
Figure 3 Téléchargement de SimpleOpenNI 0.3.3 Utilisation de Processing À ce stade vous pouvez maintenant lancer proclipsing en vous rendant dans le dossier Processing* téléchargé et en le lançant comme un exécutable en ligne de commande :./processing Figure 4 Message possible au démarrage de Processing Il est possible que vous ayez ce message (figure 4) au lancement, OK si vous disposez d un environnement java (en e et, installer les paquets conseillés est devenu un véritable parcours du combattant avec Ubuntu 12.04) cela marchera tout de même, sinon installez-en un (sudo apt-get install openjdk-6-jdk openjdk-6-jre). 42
Il faut maintenant vérifier dans File > Preferences si le sketechbook de Processing (eg le répertoire de travail) est bien ~/skecthbook/. Si ce n est pas le cas, changez-le (figure 5). Figure 5 Emplacement du sketchbook de Processing Maintenant vous pouvez ouvrir un des projets exemples (figure 6) : File> Examples> Contributed Libraries> SimpleOpenNI> OpenNI> User Pour lancer le programme (skecth) User il su (play). t de cliquer sur le triangle Remarque : Bien que la kinect soit correctement branchée et installée il est possible que le programme ne se lance pas avec l erreur «Can t open the depthmap, maybe the camera is not connected!». Il faut déjà privilégier les ports USB 2.0 aux USB 3.0. Ensuite, pour résoudre ce problème, j ai d abord exécuté la librairie libfreenect. Pour cela : cd libfreenect/build sudo bin/glview 43
Figure 6 Ouverture d un projet exemple dans Processing Maintenant vous devez voir à gauche l image de la caméra infrarouge et à droite celle de la caméra RGB. Fermez maintenant cette fenêtre et essayez de relancer le programme user, le problème devrait être réglé. On peut voir (figure 7) le résultat du programme User qui dessine le squelette simplifié de l utilisateur après une pose de calibration de ce dernier. Bien sûr, quand l utilisateur bouge par la suite, le squelette suit. Maintenant, il vous est possible de programmer la kinect grâce à cet «éditeur». Ce dernier n o rant ni l autocomplétion, ni le soulignement d erreurs... Il n est pas très facile d y coder quelque chose. Je vous recommande fortement de passer par l interface d eclipse grâce à un plugin qui nous simplifie la vie (importation des librairies automatique, squelette de code...). 44
Figure 7 Résultat du programme User 0.4 Installation d eclipse et du plugin proclipsing 0.4.1 Installation d eclipse L IDE eclipse étant dans les dépots o ciels il su t de taper la commande sudo apt-get install eclipse 0.4.2 Installation du plugin proclipsing Dans eclipse on installe le gre on (plugin) nommé Proclipsing : Help> Install New Software> Add 45
Figure 8 Saisie nom et URL Proclipsing Entrer dans name : Proclipsing Entrer dans location : http ://proclipsing.googlecode.com/svn/tags/current_releases/proclipsingsite/ Valider par OK. 46
Figure 9 Sélection des fichiers à installer Maintenant cocher les deux lignes dans la section Name, puis Next > 47
Figure 10 Vérification puis suivant Encore une fois Next > 48
Figure 11 Acceptation de la licence Cocher «I accept...» puis Finish. 49
Figure 12 Avertissement de sécurité Cliquer sur OK. L installation du plugin est maintenant terminée. Nous allons maintenant voir comment créer un projet utilisant processing. 0.4.3 Utilisation du plugin Proclipsing Cliquer sur File> New> Project afin de créer un nouveau projet grâce à Proclipsing. Figure 13 Nouveau projet 50
Dans Processing sélectionner Processing Project puis cliquer sur Next > Figure 14 Nouveau projet Mon nom de projet ici est ProClips. Si le Processing Path n est pas reconnu, je vous conseille de faire Browse et de vous rendre dans le dossier d installation de processing (même si celui-ci est déjà marqué dans le chemin). Processing Sketch Path doit être votre dossier sketchbook (je rappelle qu il doit y avoir à l intérieur un dossier libraries contenant le dossier SimpleOpenNI). NB : vous pourrez toujours changer ces deux chemins dans eclipse : Window> Preferences> Proclipsing Pour les premiers projets, je vous conseille d importer toutes les librairies possibles par cette interface graphique, quitte à les supprimer par la suite dans l arborescence (car l ajout de librairies à posteriori peut-être une tâche di cile pour un néophyte). 51
Vous remarquerez qu à la création d un nouveau projet, un squelette de code (figure 15) est directement écrit, afin de faciliter la tâche du programmeur. Figure 15 Squelette de code à la création d un nouveau projet Pour l exécution : Clic Droit sur le programme : Run as> Java Applet (ou Application). Enfin, afin d avoir un exemple de programmation avec eclipse, vous pouvez importer le fichier java qui se trouve dans le dossier : ~/sketchbook/libraries/simpleopenni/examples/eclipse/ Il su t de le mettre dans le src de votre projet et pour exécuter un Clic droit> Run as> Java Applet. 52