Réalisez des animations vidéos interactives

Le but de ce tutoriel est de présenter une façon de réaliser des animations vidéos interactives et facilement transportables avec une caméra Kinect, un Raspberry-Pi et Processing.

Objectifs :

Réaliser des animations vidéos interactives et transportables avec le trio Kinect, Raspberry et Processing.


Matériel :

  • un capteur Kinect

projet_kirap_kinect

Il existe deux modèles : le 1414 et le 1473. Le second modèle, le 1473 est plus souple en termes de fonctionnalités et est plus performant. Je n’avais à ma disposition que le modèle 1. Le capteur n’étant pas relié à la console de jeu, il faut ajouter un adaptateur secteur, muni d’un connecteur kinect femelle vers usb mâle, pour pouvoir le brancher sur un ordinateur.

  • Un Raspberry pi (protégé par un boitier)

J’ai utilisé un modèle 3 car les autres modèles ont du mal à faire tourner les animations.  De plus le Raspberry PI modèle 3 possède un adaptateur wifi intégré en cas de besoin…

projet_kirap_raspberrypi

  • Un écran le plus grand possible ou un vidéoprojecteur,

De manière à réaliser des animations à taille humaine (ou s’en rapprocher). J’ai utilisé un vidéoprojecteur et un tableau blanc pour la démo. Il est possible de remplacer le tableau par un grand drap blanc.


Voici l’installation complète :

projet_kirap_screen_1Dans le cas où on utilise une TV led (ou un grand écran d’ordinateur), on peut accrocher le Raspberry au dos de la télé et le relier avec un câble hdmi et un câble usb pour l’alimenter. L’un des objectifs du projet étant que l’installation soit transportable.


Logiciels  :

  • Le système d’exploitation est la distribution Raspbian Jessie (à noter qu’il existe une distribution Raspbian Jessie avec Processing déjà installé)
  • Divers utilitaires de compilation et librairies, le driver usb à jour.
  • Une couche d’abstraction permettant de dialoguer avec la Kinect (le driver libfreenect)
  • Le langage Processing
  • Ensuite, il faut ajouter dans Processing des bibliothèques supplémentaires. La librairie OpenKinect for Processing de Daniel shiffman est obligatoire pour programmer la Kinect avec Processing. Certains scripts nécessitent d’ajouter d’autre bibliothèques.

Mise en oeuvre :

Après avoir installé toutes les couches logicielles précédentes, la librairie OpenKinect for Processing propose des exemples de scripts Processing qui permettent de tester les fonctionnalités de la caméra et du capteur de la Kinect (RGBDepthTest.pde, PointCloud.pde, AveragePointTracking.pde, etc…)

Pour aller plus loin et comprendre ce qu’on peut obtenir de ce duo Kinect/Processing, le site de Daniel Shiffman, auteur d’un livre sur Processing et de la librairie OpenKinect_for_Processing, vous propose une série de vidéos qui permettent d’apprendre à utiliser les fonctionnalités du capteur. Il ne vous reste plus qu’à inventer vos propres démos.

projet_kirap_screen_2


Conclusion :

Un projet passionnant, en cours d’approfondissement, avec de nombreuses ramifications à découvrir. Cependant, de nombreux pièges émaillent notre parcours. On trouve pléthore de documentations mais elles ne sont pas forcément à jour, ni adaptées à notre configuration. Kinect est un produit Microsoft au départ et trouver des drivers pour Linux et l’architecture arm 64 bits n’a pas été évident tout de suite.

Ensuite, des tas de bugs sont apparus qui n’étaient pas mentionnés sur les exemples proposés (installations des bibliothèques pour processing, instructions obsolètes, dépendances incomplètes, périphérique non trouvé, etc.). Et là, il faut passer du temps sur des forums et faire marcher sa matière grise.


Webographie :


Vidéo du projet :