Wednesday, November 25, 2009

wiimote and gaming technology

Wiimote and gaming technology
[english version]

Of course, the Nintendo gaming peripheral inspired numerous gaming applications and studies. Now, gaming technology has widely covered the Wii Controller. This post just gives an overview of some published works about wiimote (Every game developers know how big and confidential, gaming industry is. So this presentation is not exhaustive at all.). Even if gaming technology is not a matter of subject for this blog, these studies and other applications deserve more interest (first of all, from mathematics and signal processing point of view) Below, several links and documentations can be explored for more information :


- Towards Tailoring Player Experience in Physical Wii Games: A Case.

- Customizing Games for Stroke Patients.
- Flying a Manta with Gesture and Controller : An Exploration of ...
- Final report for the Tangible Handimation project (media and gaming technology)
- wii punch (poster)
- Exergaming : A fusion of exercice and video gaming
- RGame: A Video Game for Interactive Robot Learning (maybe already presented,here)
- Accelerometer-based User Interfaces for the Control of a Physically Simulated Character .
Accelerometer-based User Interfaces for the Control of a Physically Simulated Character).
- Exergaming: A fusion of exercise and video gaming .



La Wiimote et les nouvelles technologies du jeu vidéo

La Wiimote et les nouvelles technologies du jeu vidéo
[version française]

Le périphérique de jeu de chez Nintendo a bien évidemment été utilisé par de nombreux jeux et, à ce titre,a fait l'objet d'études diverses dans l'industrie du jeu vidéo. A ce jour, la technologie de la wiimote est largement maitrisée. L'objet de ce post est de présenter quelques travaux publiés sur le sujet. (Vu les enjeux et la confidentialité dans l'industrie du jeu, il est facile de comprendre qu'on ne peut prétendre ici à l'exhaustivité.). Même si les technologies des jeux videos ne sont pas le coeur du sujet de ce blog, les études et applications suivantes méritaient d'être présentées (ne serait-ce que pour les connaissances auxquelles elles font appel : mathématiques, traitement du signal...) Plusieurs liens et documentation peuvent donc être explorées pour plus d'information :


- S'adapter à l'expérience du joueur dans les jeux de la Wii (trad.Towards Tailoring Player Experience in Physical Wii Games: A Case )
- Personnaliser les jeux pour les patients victimes d'AVC (trad. Customizing Games for Stroke Patients)
- Faire voler un Manta via la gestuelle (trad. Flying a Manta with Gesture and Controller: An Exploration of (gaming technology)
-Rapport final projet Handimation (trad. Final report for the Tangible Handimation project)
- wii punch (poster)
- Apprentissage interactive d'un robot [Certainement déjà présenté] RGame: A Video Game for Interactive Robot Learning
- Contrôler un personnage à partir d'interface à base d'accéléromètre (trad. Accelerometer-based User Interfaces for the Control of a Physically Simulated Character).
- Exergaming: fusion entre jeu vidéo et exercice (trad. A Fusion of Exercise and Video Gaming)



Wednesday, November 4, 2009

Wiimote and MotionPlus

[english version]
Motion Plus and the wiimote
[WMP/WM+ - so called Wii Motion Plus]
The Wii MotionPlus accessory is based on IDG 600(Invensense) dual axis gyroscope sensor and X3500W (EPSON) single-axis gyroscope sensor.

Since the beginning, a 1:1 motion control was not possible with accelerometer sensors, only.
So, Nintendo thought to a combination between tri-axial accelerometer and multi-axis gyroscope for the wiimote in order to improve playability.
[Sensor Fusion algorithms combine accelerometer and gyroscope data to cover a wider signal frequency range of motions - source]

Indeed, sensor fusion is the preferred solution for increasing accuracy. Such a use of gyroscope and accelerometer sensors became obvious for Nintendo's engineers (especially inspired from other domains as dead reckoning techniques).

From wiimote's point of view, the wmp is not acting as other external controllers (nunchuck, classic controller...). By the way, the data from 3 gyro sensors took some times to be described and understood . So, some developers made their own inertial input device to act as an extension for the wii controller : VR inertial input device 28

From WM+ and Nunchuck hacks ...
Then, the MotionPlus were available during summer 2009 but it was easier to hack gyro and accel data from Nunchuck and WM+ (through I²C serial communication) better than Wiimote and WM+. The following links gives an overview of some works with WM+ :

- Just How Noisy are Accelerometers and Gyros from Nunchuck and Wii Motion Plus? from
VoidBot Blog (Lang. English). Here, the WM+ is used as an interface for a robot (see more explanations about raw data from sensors)

- An other web site about robot and WM+ : PoBot (Lang. : French)
Below, see the video for more information :


...to Wiimote and WM+
Finally, some Wimote (open source) C++ libraries include WM+ now :
- WiiYourself v1.13 beta
- Wiimotelib v1.8 beta from Brian Peek <> (.NET library for Windows)
- CWiid for Linux
- Wiiuse (Here, temporary supported for Windows before official delivery and included in devkitpro toolkit, too )

Other links to browse
- SLiDA (System Logger with Intelligent Data Acquisition)
-
王様の耳はロバの耳 (http://ameblo.jp/akihiko) A blog and A Japanese book all about programming for the Wii Remote (MotionPlus, etc...)! (Lang. Japan)

- An other blog (Kako) dealing with Wiimote and WM+(Lang. Japan)
(-- update 2009/11/27 --)
- Integrating MEMS-based motion processing devices from InvenSense Inc. / Steve Nasiri, David Sachs, Michael Maia



Wiimote et MotionPlus

[version française]
Motion Plus et wiimote
[WMP/WM+ appelé plus communément Wii Motion Plus]
Le Wii MotionPlus est un périphérique à connecter sur la Wiimote. Il est conçu à partir de deux capteurs : IDG 600(Invensense) gyroscope bi-axial et X3500W (EPSON) gyroscope simple axe.

A l'origine, il n'était pas possible d'obtenir, avec une wiimote seulement, une représentation fidèle de la position 3D à partir des données capteurs de l'accéléromètre. Afin d'améliorer la jouabilité, Nintendo a fait le choix de combiner l'accéléromètre tri-axial à un capteur gyroscopique tri-axial.
[Les algorithmes de fusion de capteur permettent de combiner gyroscope et accéléromètre afin de couvrir un large gamme de fréquence et donc de mouvements - source]

La fusion de données provenant de plusieurs capteurs est, en effet, une solution souvent retenue. Ainsi, le choix des ingénieurs de Nintendo s'est rapidement porté sur l'usage combiné d'accéléromètre et de gyroscope. (Ce choix est aussi inspiré des techniques de navigation à l'estime" (trad. dead reckoning techniques) qui utilisent, entre autres, ce genre de capteur.)

Coté Wii remote, le wm+ n'est pas tout aussi bien interfaçable qu'un autre composant externe classique (nunchuk, classic controller...). Par ailleurs la compréhension et la description des données provenant des 3 gyroscopes a pris un certain temps.
Ainsi, certains développeurs décidèrent, dans un premier temps, de concevoir leur propre extension au wii controller et à base de gyroscope : VR inertial input device 28

Des débuts de l'utilisation détournée du WM+ avec le Nunchuck ...
Par la suite, le MotionPlus, disponible dans le commerce l'été 2009, fut utilisé de manière détournée avec le Nunchuck pour l'acquisition de données des accéléromètres et du gyroscope (via le bus I²C) avant de pouvoir faire cela avec une Wiimote et un WM+.

Les liens suivants donnent une idée des développements à base de WM+ :

- Estimation du bruit des capteurs du Nunchuk et du Wii Motion Plus (Trad. : Just How Noisy are Accelerometers and Gyros from Nunchuck and Wii Motion Plus?) de
VoidBot Blog (Lang. Anglais)
Sur ce site, le WM+ est analysé dans le cadre de la conception d'un robot(à voir pour plus d'explication sur les données brutes des capteurs)

- Un autre site web à propos de robot et WM+ : PoBot (Lang. : Français)
Voir la vidéo ci-dessous pour plus d'info :



...à la Wiimote avec le WM+

En définitive, quelques bibliothèques C++ (open sources) some Wimote C++ incluent dès à présent le WM+ :
- WiiYourself v1.13 beta
- Wiimotelib v1.8 beta de Brian Peek <> (Bib. .NET pour Windows)
- CWiid pour Linux
- Wiiuse (ici, temporairement hébergée et pour Windows avant la version officielle et ailleurs inclue dans le kit de developpement de jeux devkitpro)

Autres liens à voir

- SLiDA (Système d'acquisition)
-
王様の耳はロバの耳 (http://ameblo.jp/akihiko) Un blog et un livre en japonais entièrement dédié à la programmation avec la Wii Remote (MotionPlus, etc...)! (Lang. Japonais)- Un autre blog (Kako) traitant, entre autre, du WM+ (Lang. Japonais)
(-- mise à jour 27/11/2009 --)
- Integration de gyroscope (trad.: Integrating MEMS-based motion processing devices) - Article Invensense Inc. juil.2009 / Steve Nasiri, David Sachs, Michael Maia