Art embarqué
Sommaire
- 1 Cahier des charges
- 2 Avancement du Projet
- 2.1 Semaine 1 (26/01/2015)
- 2.2 Semaine 2 (02/02/2015)
- 2.3 Semaine 3 (09/02/2015)
- 2.4 Semaine 4 (16/02/2015)
- 2.5 Semaine 5 (23/02/2015)
- 2.6 Semaine 6 (09/03/2015)
- 2.7 Semaine 7 (16/03/2015)
- 2.8 Semaine 8 (23/03/2015)
- 2.9 Semaine 9 (30/03/2015)
- 2.10 Semaine 10 (06/04/2015)
- 2.11 Semaine 11 (13/04/2015)
- 2.12 Semaine 12 (20/04/2015)
- 3 Fichiers Rendus
Cahier des charges
Présentation générale du projet
Contexte
La création artistique peut être enrichie par l'apport des nouvelles technologies.
Objectif du projet
L'objectif de ce projet est de créer un système permettant de générer des œuvres d'art qui viennent compléter la performance d'un danseur.
Cette œuvre sera visuelle et potentiellement agrémentée de sons suivant l'avancement du projet.
Le but est de projeter cette œuvre en direct sur le fond de la scène où évoluera le danseur.
Description du projet
Un arduino intégré sur le costume de l'artiste transférera les données d'un accéléromètre vers un PC par le biais un transmission sans fil.
Une Kinect placée au plafond récupérera les positions du danseur sur la piste (2D plan au sol).
Nous traiterons les données récupérées par l'arduino et la Kinect sur le PC afin de créer l'œuvre visuelle.
L'oeuvre à réaliser sera dans un premier temps un cercle qui se déplacera dans une zone en X,Y en fonction de la position détecté par le kinect.
La couleur et la taille évoluera en fonction des données renvoyés par accéléromètre.
Choix techniques : matériel et logiciel
- Un Arduino lilypad [fourni le 28/1/2015], utilisé sur le danseur, avec :
- alimentation autonome (batterie + régulateur? pour une bonne autonomie) [fourni le 28/1/2015]
- un module Xbee pour la communication vers le PC [Platine de support Xbee] [fourni le 28/1/2015]
- un accéléromètre [de ce type] [fourni le 28/1/2015]
- PC avec :
- Kinect branché en USB ( peut être une rallonge à prévoir) [fournie le 28/1/2015]
- récepteur Xbee [platine USB de ce type] [fourni le 28/1/2015]
- Traitement des données et création du visuel via le logiciel Processing
Étapes du projet
Étape 1
- Capture et récupération des données de la Kinect et de l'arduino
Étape 2
- Envoi et réception des données par Xbee
Étape 3
- Traitement des données via "Processing"
Étape 4
- Finalisation de l'œuvre et projection sur scène en live
Avancement du Projet
Semaine 1 (26/01/2015)
- Mise en place du cahier des charges, discussions avec les enseignants
- Recherche du matériel envisageable
- Prêt du matériel par les enseignants après validation du cahier des charges(kinect, arduino et modules Xbee)
- Documentation sur le fonctionnement de la Kinect
- Essais de fonctionnement avec processing sous windows :
- Recherche des librairies
- Recherche de codes sous processing
--> Pas encore de fonctionnement
Semaine 2 (02/02/2015)
- Prise en main de la Kinect :
Installation du SDK Kinect et fonctionnement de la Kinect sous windows via processing
- Premiers test sous windows, on se rend compte qu'on pourrait plutot le faire sur Linux : demande avis des enseignants
- Essais de communication entre les modules Xbee
- CONFIGURATION des Xbee sur minicom: réseau 1111, ID 1 et 2 (voir photos)
- utilisation de la librairie OpenNI sous processing, compatible avec linux et Windows.
- Recuperation des données "depthMap" réalisation d'un simple code de tracking d'objets présents dans une plage de distance donnée.
Semaine 3 (09/02/2015)
- Branchement de l'accelero sur le lilypad, transmission des données d'un des axes par Xbee.
- Récupération des données sur processing, code simple sur processing pour faire varier la couleur du cercle de tracking
On constate donc sur la vidéo que la détection d'une personne fonctionne (ici la main remplace la tête du danseur).
Le code sous processing est simpliste, on modifie la couleur en rouge et bleu de façon opposé, avec le canal x de l'accéléromètre.
La transmission se fait via Xbee à 9600 bauds.
Semaine 4 (16/02/2015)
Reflection sur l'evolution du projet:
- Ajout d'un 2nd accéléromètre afin de récupérer les données provenant de chaque bras du danseur.
- Verrouiller la position du point s'il y a pas/peu de mouvement.
- Agrandir la taille du cercle en fonction du nombre de points détectés (par la kinect) dans la plage de distance
- Fluidifier la transition de couleurs, et attribuer une couleur par voie (X,Y,Z) ou par main ?
Passage en code C pour la programmation du lilypad, avec synchronisation de l'envoi :
1) L'arduino fait l'aquisition des valeurs de l'accéléro et attend un message de l'appli pc.
2) L'aplication processing envoie 'd' à l'arduino.
3) L'arduino répond en envoyant les 3 octets de chaque canal de l'accelero. Il refait ensuite les 3 acquisitions pour être prêt à les envoyer.