Saturday, August 30, 2008

Wiimote and Auto Power Spectrum (en)

[english version]

Wiimote and Auto Power Spectrum


[Auto Power Spectrum |AZ(f)|² from a 2Hz-pulse]

Modal analysis is used to obtain Power Spectrum from accelerometer. Quickly (see the tech. note for more info.), the aim of this analysis is an identification of frequencies from a recorded signal. The wiimote's accelerometer is able to record signal with a range of frequency between [0Hz 25Hz]. This range is useful for mechanical constraints of human body. (Soldering skills can allow you to extend this range but this is not the purpose of this post). Then, some notions from signal processing need to be described.

1. Sampling

Theorically, the bluetooth connection allows an acquisition of 100 frames per second. But the bluetooth stack management, the Operating System, applications and other peripherals are very disturbing for the acquisition chain Wiimote-Matlab :

Theor., acquisition step is around 0.01s.

A Gaussian distribution with a short standard deviation centered around 0.01s is tolerated. However, this
statistical distribution is not temporally-granted. So, a re-sampling is necessary without too much information losses. Here, an acquisition step of 0.02s (25Hz) were chosen. Well, thoughtful by Nintendo engineers, capacitor limitations of accelerometer range (max. 25Hz) can be considered as an anti-aliasing filter. (Be aware of anti-aliasing if re-sampling period is up to 0.02s.)





[right picture : Distribution of acquisition steps /
Recording Wiimote data with fWIIne ]


2. Fast Fourier Transform (FFT)

One example of an application of FFT to wiimote measurements :


[FFT of signals ax(t), ay(t), az(t) - repetitive arm movements ]

Auto Power Spectrum (APS) comes from FFT computation and provides signal power for a given frequency.
It was necessary to compare Power Spectrum of Both signals before and after re-sampling in order to control efficiency of the re-sampling :



[Zoom of range 8.5-11.5Hz : Auto Power Spectrum from a 10Hz-pulse - Re-sampled signal indicates 10Hz, properly, whereas first signal was erroneous
with a peak frequency of 10.2Hz]












[The Power Spectrum (left side : 2Hz pulse) is in accordance with theorical spectrum of pulses - right side]

3. Experiment - Technical aspects :

Steps :

Pulses were produced at a defined frequency - 1Hz, 2Hz, 10Hz - from a subwoofer (from a computer). The wiimote is located on the top of the subwoofer, horizontally. Recording the values with fWIIne v0.2 for Matlab/Windows XP :

- 1st step : Data Acquisition. At the end, a filename is asked in order to save a txt file.
- 2nd step : Data analysis. In the same directory, loading the file.


N

Comment

Matlab file

Example Stimulus / Measure

1

Data acquisitionwith fWIIne

fwiine_recording_experiment.m

test_#Hz.wav

2

Spectrum analysis

accel_fft_wiimote.m

Acquis#Hz_1.txt

Then some stimuli and measures were performed :


Frq

Stimulus

Measurement files of Wii Remote accel. sensor

1 Hz

test_1Hz.wav

acquis1Hz_1.txt

2 Hz

test_2Hz.wav

acquis2Hz_1.txt

10 Hz

test_10Hz.wav

acquis10Hz_1.txt



NB: Using an older release fWIIne v0.1 for Matlab/WinXP, the user will have to adapt the acquisition file, slightly.

In spite of a restricted frequency range, the wiimote allows recording data and Power Spectrum analysis for given experiments and for educational purposes.

Wiimote et Spectre de Puissance (fr)

[version française]

Wiimote et Spectre de Puissance


[Spectre de Puissance |AZ(f)|² d'un train d'impulsion de de 2 Hz]

L'étude du spectre de puissance du signal provenant d'un accéléromètre est courante en analyse modale. Pour faire simple (voir cette note technique), cette étude revient à identifier les fréquences présentes dans le signal enregistré. L'accéléromètre de la wiimote présente l'intérêt de pouvoir enregistrer des signaux comportant des fréquences comprises entre [0Hz 25Hz]. Cette plage convient parfaitement pour des contraintes mécaniques humaines comme les mouvements du corps et des bras (une modification technique de la wiimote permet de l'étendre. Ce n'est pas l'objet de ce post). Pour poursuivre, il est nécessaire de détailler certaines
notions de traitement du signal.


1. Echantillonnage

Pour une connection Bluetooth, la fréquence d'acquisition de la Wiimote est de 100 trames/s. Or le traitement de la pile Bluetooth, le Système d'Exploitation, les applications, les autres périphériques font que la chaine de mesure perturbe cette fréquence d'acquisition :

La période d'acquisition théorique est de 0.01s.

Une tolérance peut être permise si la distribution statistique des pas d'acquisition est une gaussienne centrée sur 0.01s. avec un écart-type restreint. Or dans le cas d'une connection Bluetooth, cette distribution n'est pas garantie.
En revanche, il est possible de ré-échantillonner le signal sans perdre trop d'information. Ici nous choisissons le pas d'acquisition de 0.02s (25Hz).
Bien pensées par les ingénieurs de Nintendo, les limitations dues au capacités de l'accéléromètre (max. 25Hz) peuvent faire office de filtre anti-aliasing. (Penser à reconsidérer cela pour des pas de ré-échantillonnage supérieurs à 0.02s)


[image de droite : Distribution des pas d'acquisition /
enregistrement des données de la wiimote avec fWIIne]


2. Transformée de Fourier Rapide (FFT)

Un exemple de FFT appliqué à un enregistrement avec la wiimote :


[FFT des enregistrements de ax(t), ay(t), az(t) lors de mouvements saccadés du bras]

Cet outil mathématique de traitement des signaux numériques permet d'obtenir le spectre de puissance (APS) du signal.
Afin de contrôler que l'efficacité du ré-échantillonnage, il suffit de comparer le spectre des signaux avant et après ré-échantillonnage :



[Zoom sur la zone 8.5-11.5Hz du spectre de puissance d'un train d'impulsion de 10Hz - le signal ré-échantillonné indique 10Hz correctement alors que le signal initial indique une composante erronée à 10.2Hz ]











[Le spectre obtenu - fig. de gauche : pulsations de 2Hz - est effectivement le spectre d'un train d'impulsion - fig. de droite]

3. Aspect techniques de l'expérimentation :

Etapes de l'expérimentation :

Des pulses sont produits à une fréquence fixe de 1Hz, 2Hz ou 10Hz à l'aide d'un subwoofer
(haut parleur fréquence basse d'ordinateur). La wiimote est posée horizontalement sur le subwoofer et l'enregistrement se fait avec fWIIne v0.2 pour Matlab/Windows XP :

- 1ère étape : Enregistrement des données. A la fin de l'acquisition un enregistrement du fichier de mesure est demandé.
- 2ème étape : Analyse des données. L'application demande de charger le fichier d'acquisition (fichier devant être disponible dans le même répertoire courant)


N

Commentaire

Fichier Matlab

Exemple Fichier Stimulus / Mesure

1

Acquisition du signal avec fWIIne

fwiine_recording_experiment.m

test_#Hz.wav

2

Analyse Spectrale

accel_fft_wiimote.m

Acquis#Hz_1.txt

Pour finir quelques mesures effectuées :

Frq

Stimulus

Fichier de mesure des capteurs d'accélérations de la Wii Remote

1 Hz

test_1Hz.wav

acquis1Hz_1.txt

2 Hz

test_2Hz.wav

acquis2Hz_1.txt

10 Hz

test_10Hz.wav

acquis10Hz_1.txt



Rappel : les utilisateurs de fWIIne v0.1 pour Matlab/WinXP devront légèrement adapter le fichier d'acquisition du signal.

En dépit de la plage de fréquence restreinte, la Wiimote permet, en conclusion, l'enregistrement
de données et une exploitation du Spectre de Puissance pour des expérimentations adaptées ou à des fin pédagogiques.

Friday, August 22, 2008

Re-engineered applications with a wiimote - one way of innovation

[english version]

Re-engineered applications with a wiimote and DIY projects - one way of innovation

As a concrete result of an idea, innovation does not follow a defined process. It is possible to accelerate or delay innovation, only.

Here, I would like to get back, to introduce and to show some analysises of re-engineered applications of the wiimote. The innovation in area of video games has spread in other knowledge areas. It is interesting to observe how.

Improvising a new way of use of an object is in human nature. The following article describes hacking - I prefer speaking about DIY projects or diverted use - as a spontaneous life form of innovation and especially in area of "pervasive computing" as hacking the wiimote.

Hacking is pervasive [1]

Of course, first, Nintendo innovated with a new game peripheral. Basically, composed of several buttons, a tri-axial accelerometer, an IR sensor device, a bluetooth communication and a comprehensive communication protocol, the device became interesting, soon. The following article describes technical characteristics and some surprising applications :

Hacking the Nintendo Wii Remote [2]

A constant emulation between searchers/developpers, DIY projects, spreading ideas through the web and research are the cause of new applications and new devices.

In the same way, Johnny Chung Lee provides us his own feedback about his activities with the Wii Remote in the following document :


Teaching statement [3]

(picture source : Wii-Spray)

Vidéo 1 :



[TED video – YouTube]


As noticed in the article from Newsweek, "The Tom Sawyer of Innovation" (spanish version), Open Source developments allowed emerging applications. Furthermore, this phenomenon was supported by latest web-tools.

Indeed, developing and spreading ideas are facilitated by network tools as forums (Link 1, Link 2) , wiki (description, drivers), blogs(Link 1, Link 2 ), forges (Link 1, Link 2, Link 3) and Online Videos sites. It can be noticed that "Web 2.0" tools are used as a media, here. Then, a link was simply established with "classical" tools (sites, downloading), providing contents (drivers, sources, exe).

New applications with a wii controller met 3 conditions in order to exist :
- Mass production of an innovative peripheral (with wireless communication and several sensors and "actuators").
- Open Source development (scripts, drivers or applications).
- Communication : Emulation searchers/developers and Internet.

And so, these conditions are exactly the cause of several critics as :
- Use of a device out of a granted process and without warranty.
- Specific development constraints and no warranty from and for a firm or an institution.
- Interest/Fashion/Geek hobby ?

Finally, we must keep in mind that a lot of applications with the wiimote are for few people. But, nowadays, Open source and internet contributed to prove the "long tail" theory and provided content to interested people.

Let's go through the way of innovation...



References :

[1] Hacking is pervasive – Guest's editor introduction
IEEE CS - July-September 2008
Joseph A. Paradiso (MIT Media Laboratory), John Heidemann (USC Information Sciences Institute), Thomas G. Zimmerman (IBM Almaden Research Center) – U.S.A.

[2] Hacking the Nintendo Wii Remote
IEEE CS - July-September 2008
Johnny Chung Lee (Carnegie Mellon University – U.S.A.)

[3] Teaching Statement
Johnny Chung Lee – personal web site



Other articles and videos to browse :

- Modders take control of Wiimote

- Wii and iPhone to help military control freaks - New Scientist 03/27/2008

- Serious Games & Conventional Simulation Convergence: Game-Based Simulation
From blog "futur-making serious game" 02/10/2008

- Kinetic User Interfaces for Flexible Mobile Collaboration

- Motion Sensing with Accelerometers – Present and future


- Video 2 : (conducting a virtual orchestra with a wiimote)


[Wii conductor Hero - video of tcnjwebmaster - YouTube]


An example of innovation with a presenter application :

- Wiimote Presenter - Jason Smith's webpage

Video 3 :



[Wiimote Presenter - 05/10/2008 - YouTube]


Thursday, August 21, 2008

Utilisation détournée de la wiimote – un chemin vers l'innovation

[version française]

Utilisation détournée de la wiimote – un chemin vers l'innovation

L'innovation, comme résultat concret d'une création, ne suit pas de processus défini. Il est seulement possible d'accélérer ou de retarder son apparition.

Dans ce post, je voudrais revenir, présenter et citer les analyses de l'utilisation détournée de la wiimote et ces conséquences et applications possibles. Il est intéressant d'observer comment les innovations dans le domaine du jeu video se sont diffusées dans d'autres sphères de connaissance.
Innover en détournant des objets de leur fonctions initiales n'est pas nouveau.
L'article suivant présente le hacking - plus joliment nommé bidouillage ou bricolage - comme une forme spontanée de l'innovation et plus particulièrement dans le champ de l"Informatique ambiante" au travers du hacking de la wiimote.

Hacking is pervasive [1]

Biensur, à la base se trouve Nintendo et sa manette de jeu innovante. Dotée de multiples boutons, un accéléromètre tri-axial, un système de capteur infrarouge, une connectivité Bluetooth et un format de données intelligibles, ce périphérique innovant devient vite un objet d'étude intéressant. L'article suivant décrit les caractéristiques techniques de l'appareil ainsi que des applications originales :

Hacking the Nintendo Wii Remote [2]

L'apparition d'application et de composants est aussi le fruit de la recherche, est catalysé par le rôle d'internet dans la diffusion des idées et enfin la conséquence heureuse d'une émulation croisée entre mouvement "Do-It-Yourself" et chercheurs/développeurs. Dans l'article suivant, l'auteur – Johnny Chung Lee – nous fait profiter de son retour d'expérience afin de comprendre l'utilisation de ce périphérique de jeu comme nouvelle interface Homme-Machine :


Teaching statement [3]

(source image : Wii-Spray)

Vidéo 1 :



[TED video – YouTube]


En parallèle, un phénomène, noté dans l'article "The Tom Sawyer of Innovation" de Newsweek, a permis l'émergence et la diffusion de nouvelles applications : le développement des logiciels Open Source (version espagnole) a profité des derniers outils du Net.

En effet, le développement et la diffusion des idées ont été catalysés par les outils du web comme les forums (Lien 1, Lien 2) , wiki (description, drivers), blogs(Lien 1, Lien 2 ) forges (Lien 1, Lien 2, Lien 3) et sites Vidéos. Chose notable : les applications dites "web2.0" ont servi majoritairement de médium de diffusion. Un lien naturel entre celles-ci et les applications plus classiques (sites, téléchargements, forums) fournissant le contenu (drivers, sources, executables) s'est établi naturellement.

Pour conclure, trois conditions réunies caractérisent les applications innovantes à partir de la wiimote :
- la production de masse d'un périphérique innovant (doté d'un système de communication et d'une variété de capteurs et actionneurs).
- la conception Open Source (scripts, drivers ou applications).
- la communication : l'émulation chercheurs/développeurs et la diffusion de contenus sur Internet.

Et les critiques sont souvent les conséquences de cette conjoncture :

- Utilisation d'un matériel sans garantie en dehors de sa fonction principale.
- Contrainte de développement logiciel spécifique et sans garantie d'une entreprise ou d'une institution.
- Intérêt / Effet de mode ?

Il faut garder à l'esprit que la majorité des applications détournant la wiimote s'adresse à un public restreint. Toutefois, le développement Open-Source et Internet contribue à prouver la théorie de la "longue traine" et à trouver un public toujours intéressé.

Les chemins de l'innovation ne demandent qu'à être empruntés...




Références :

[1] Hacking is pervasive – Guest's editor introduction
IEEE CS - Juillet-Septembre 2008
Joseph A. Paradiso (MIT Media Laboratory), John Heidemann (USC Information Sciences Institute), Thomas G. Zimmerman (IBM Almaden Research Center) – U.S.A.

[2] Hacking the Nintendo Wii Remote
IEEE CS - Juillet-Septembre 2008
Johnny Chung Lee (Carnegie Mellon University – U.S.A.)

[3] Teaching Statement
Johnny Chung Lee – site web personnel



Autres articles et vidéos à feuilleter :

- Modders take control of Wiimote

- Wii and iPhone to help military control freaks - New Scientist 27/03/2008

- Serious Games & Conventional Simulation Convergence: Game-Based Simulation
From blog "futur-making serious game" 10/02/2008

- Kinetic User Interfaces for Flexible Mobile Collaboration

- Motion Sensing with Accelerometers – Present and future


- Vidéo 2 : (Conduire un orchestre virtuel à la wiimote)


[Wii conductor Hero - video de tcnjwebmaster - YouTube]


Un exemple d'application innovante avec une wiimote pour réaliser des présentations :

- Wiimote Presenter - Jason Smith's webpage

Vidéo 3 :



[Wiimote Presenter - 10/05/2008 - YouTube]