madosedesoma

Arriere Boutique

××××××××××××××××××××××××××××××××××××××××××××

18/02/2011

Kinect sous Ubuntu 10.04

Suite à une semaine de résidence de travail pour mettre en place un outil interactif de visualisation de contenu sur le thème suivant :.
Comment proposer une vitrine qui puisse montrer le travail d'une équipe d'architectes activistes, souvent absents, car en déplacements réguliers pour divers projets, workshops...?
Nous nous sommes interrogés sur différentes techniques toutes peu satisfaisantes pour l'application voulue. Puis est arrivée la kinect, camera 3D développé par Mee-kro-saw-ft et abondamment hackée dés sa sortie.
Toute une communauté de développeurs, hackers, bidouilleurs, s'est emparée rapidement de ce nouveau Graal de l'interactivité, revisitant complètement l'analyse vidéo.

kinect.jpg

Nous nous sommes donc attelés à la prise en main de la kinect afin d'expérimenter les possibilités liées à cet outil.
Après plusieurs heures de galères, nous avons pu réaliser une première application sommaire.

Suite aux nombreux écueils que nous avons pu rencontrer, je me décide à publier un HOWTO.
Nous avons travaillé avec OpenframeWorks, framework C++ sous licence MIT, ersatz de licence BSD :-/, avec l'addon ofxKinect, le tout avec CodeBlocks, sous Ubuntu 10.04.

Voici donc les différentes étapes qui nous ont été nécessaires au bon fonctionnement de la kinect:

---> Télécharger OpenFrameworks

---> Installer OpenFrameworks :

dans un terminal se rendre à cet emplacement :

cd /home/ofuser/Desktop/of_preRelease_v0.06_linux_cb_FAT/scripts/linux/ubuntu

une fois que l'on se trouve dans ce répertoire lancer les commandes suivantes :

sudo ./install_codeblocks.sh
sudo ./install_dependencies.sh

Nous avons maintenant Code::Blocks d'installé, l'IDE qui nous permettra de taper du code en utilisant OpenFrameworks, ainsi qu'openframeworks.

---> Installer l'addon ofxKinect

Il vous faudra pour cela avoir git d'installé sur votre pc... voici de quoi vous aider

une fois git installé, aller à l'emplacement de .../openFrameworks/addons/ofxKinect/ puis dans un terminal lancer la commande suivante :

git clone git://github.com/ofTheo/ofxKinect.git

---> En principe vous avez maintenant tout ce qu'il faut pour lancer votre exemple ofxKinect. Nous concernant, cela n'a pas été suffisant. Il nous a fallu faire quelques manipulations supplémentaires.
Tout d'abord, vérifier à bien connecter votre kinect sur un port USB directement relié à votre carte mère, ça vous évitera peut-être des heures de prises de tête.
Les ports en façade on parfois des imperfections d'alimentations qui peuvent être décisif pour le fonctionnement de la kinect à première vue.

---> Il nous a fallu installer la librairie libusb permettant de travailler avec les données entrantes et sortantes des ports USB.

sudo apt-get install libusb1.0.0-dev

---> installation de la librairie unicap également, pour travailler avec des dispositif video:

sudo add-apt-repository ppa:arne-datafloater/unicap

sudo apt-get install libunicap2 libunicap2-dev libunicap-2 libunicapgtk-2 libucil-2 libunicapgtk2 libucil2

---> Il faudra ensuite vérifier directement dans le fichier .cbp de votre exemple kinect, si les liens indiqués pour le compilateur sont les bons.
Les fichiers .cbp sont utilisés par codeblocks pour la compilation de notre programme, ils sont en XML et indiquent les chemins relatifs aux librairies par exemples, c'est ici que vous devez vérifier l'exactitude des infos.
Par exemple on peut trouver ce genre d'infos:

<Compiler>
...
<Add directory="../../libs/freeImage/include" />

En lieu et place de celle-ci par exemple :

<Compiler>
...
<Add directory="../../libs/linux/freeImage/include" />

Donc bien vérifier les chemins d'accès.

---> Dans ce même fichier .cbp, il faut parfois rajouter des liens manquant comme ofxkinectCalibration.cpp et ofxKinectCalibration.h par exemple.

---> Il faut ensuite créer le fichier 51-kinect.rules dans le dossier /etc/udev/rules.d/ avec le contenu suivant :

SUBSYSTEM=="usb", SYSFS{idVendor}=="045e", SYSFS{idProduct}=="02ae", MODE="0660", GROUP="plugdev"
SUBSYSTEM=="usb", SYSFS{idVendor}=="045e", SYSFS{idProduct}=="02ad", MODE="0660", GROUP="plugdev"
SUBSYSTEM=="usb", SYSFS{idVendor}=="045e", SYSFS{idProduct}=="02b0", MODE="0660", GROUP="plugdev"

---> ajouter l'user au groupe plugdev si c'est pas déjà le cas :

sudo adduser user plugdev

---> Il nous a fallu également créer un fichier bash clickToLaunchApp.sh dans .../openframeworks/export/linux/ avec le contenu suivant:

#!/bin/sh
echo $ (pwd)
export LD_LIBRARY_PATH = $(pwd)/libs/

---> voilà !
en principe vous devriez avoir accès à votre kinect et vous lancer dans la nouvelle tendance du détournement de matériel hacké !

NB : Travail co-réalisé avec Pierre Commenge.

Par ma dosedesoma at 10:58

24/01/2011

ampli DIY

ampi_DIY_1.jpg

Réalisation d'un amplificateur portatif, basé sur une puce LM386.

Travail inspiré de l'ouvrage de Nicolas Collins : "Handmade Electronic Music"

Vous pourrez trouver des vidéos en ligne sur son site, sous forme de tutoriaux exposant diverses techniques de bidouillage électro-sonique.

ampi_DIY_3.jpg

Ici les plans de réalisation du modèle avec les LEDs qui réagissent en fonction du volume (waouh !).
Attention ce schéma n'a été utilisé que pour la partie LED. J'ai utilisé le schéma disponible dans le livre de N.Collins pour la partie audio version "amplifier with gain of 200" p.247.

J'ai rajouté un condensateur de faible capacité entre la patte 4 et 6, car j'avais des problèmes de buzz.

Je publierai un schéma type fritzing bientôt, pour les curieux et pour ma mémoire aussi.

ampi_DIY_4.jpg

Par ma dosedesoma at 11:19

08/12/2010

Le french Baby de Casper

Voici un petit bending simple à partir d'une sorte de livre magique un peu cheap.

Modification du pitch, sortie jack coupure et bouton de glitch (avec un condo).
frenchbaby.jpg

Par ma dosedesoma at 09:38

01/12/2008

Open Ateliers

Tous les jeudis, ou presque, co-animation des open-ateliers du réseau Crealab au 38 rue du Breil, à Nantes.

openateliers.jpg

On y trouve, des artistes, des étudiants, des enseignants, des geeks, des ingénieurs, des techniciens, des musiciens, des bidouilleurs...tout ce beau monde se croisant pour échanger astuces, conseils, outils et points de vue sur la création multimédia libre.

On y cause donc de RepRap, de Circuit-Bending, de Pure-Data, d'Arduino, de ProcessingJS, de SuperCollider, de GNU/Linux, de GPL, d'économie liée au logiciels libres, de Google, de montage vidéo sous linux, de Tesla...

Ces ateliers sont ouverts à tous profitez en !

un clip vidéo des openateliers

Par ma dosedesoma at 18:40

page 2 de 2 -

Contrat Creative Commons
contenu de site by thomasBernardi est mis à disposition selon les termes de la licence Creative Commons Paternité - Pas d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique 3.0 Unported.