Friday, February 13, 2009

fWIIne 0.3 - solution pour exemple spectrogramme et estimation de la distance entre la sensor bar et la wii remote

[version française]
fWIIne v0.3 - une solution au problème rencontré sur l'exemple de spectrogramme et une estimation de la distance entre la sensor bar et la wii remote

Des utilisateurs de fwiine ont déjà relevé des différences de comportement entre la nouvelle (0.3) et les anciennes versions. Malheureusement cela compromet l'utilisation du fichier d'exemple permettant de faire un spectrogramme à partir des acquisitions de l'accéléromètre "fwiine_accel_fft_wiimote.m".
En attendant la prochaine version, ce post vous permettra de contourner le problème. Puis, je reviendrai sur une application nécéssitant le capteur InfraRouge de la wiimote : estimation de la distance entre la wiimote et la sensor bar. Et pour finir vous trouverez une présentation de solutions destinées à résoudre les problèmes à l'installation de fWIIne avec Matlab pour Windows XP.


1. fwiine_accel_fft_wiimote.m - dernière mise à jour ici

La bibliothèque fWIIne a hérité de quelques propriétés inattendues de la bibliothèque wiiuse (et aussi du tutorial).Par exemple, un appui sur le bouton B active et désactive la fonction vibreur. Malheureusement, quelques problèmes sont aussi apparus : les premières valeurs provenant de l'accéléromètre ne sont pas disponibles et la bibliothèque renvoie la valeur "Inf".
Par conséquent le fichier .m ne fonctionne plus. Alors vous disposez ici de la toute dernière version corrigée de ce fichier : "fwiine_accel_fft_wiimote.m".
[Spectrogramme venant d'une expérience avec un caisson de basse fournissant des impulsions de 10Hz - aZ(pulse)=10Hz Ok]
stimuli "10Hz pulse" : fichier .wav


2. Distance entre wiimote et sensor bar (sensor bar sans fil)

Une estimation de la distance wiimote-sensor bar prend en considération la distance entre deux points IR : IR1(x1,y1) and IR2(x2,y2). La relation entre distance d (d=IR1 IR2) et la position z (z = distance entre la wiimote et la sensor bar) peut être comprise comme : d = zf*k/z
[schéma de l'expérience avec une wiimote et une " wireless sensor bar"]

Le résultat suivant a été observé avec plusieurs mesures :
[d=f(z) / 2 types d'enregistrements possibles selon l'acquisition du capteur IR]

Les mesures ci-dessus mettent en relief l'impact de la résolution du capteur IR sur le résultat.
Pour z en dessous de 60cm, la sensor bar peut potentiellement distinguer les LED sur le coté (gauche ou droit) de la sensor bar. Selon les LED sélectionnées et l'orientation de la wii remote, 2 différentes mesures sont éventuellement observables. Par conséquent, un problème de robustesse apparait ici. Pour finir sur le sujet, il est possible de revenir à une valeur de la position z en considérant les valeurs potentielles de d.
Source forum wiimoteproject : distance from sensor bar


3. Dépannage de fWIIne.mexw32 avec MATLAB pour Windows XP
[remerciements à Tzahi Menashe pour sa contribution durant les tests d'installation !]

La survenue d'un problème à l'installation de la bib. MEX peut provenir de multiples raisons :

- Votre version actuelle de Matlab : Il vous est nécessaire de recompiler le programme avec les bibliothèques du logiciel Matlab que vous avez l'intention d'utiliser. (Compatibilité Matlab : > à r2007a 7.1 - fWIIne notice )
- Bib. VS runtime (problème déjà exposé en commentaire, ici. manuel fWIIne)
- Compatibilité du Compilateur : Sous une fenêtre de commande Matlab, les commandes suivantes peuvent aider :
> mex -setup
> mbuild -setup
> rtwintgt -install

Selon les informations retournées, il vous faut ensuite sélectionner le compilateur utilisé pour le programme. fWIIne est généré à partir de Visual Studio Exp. edition donc une sélection du compilateur [visual studio c++] sera compatible. Il sera,certainement, utile d'installer Visual C++ sur votre ordinateur.

No comments: