Jeu NeuroTrain: Piloter un train avec le cerveau


L’objectif du jeu Neurotrain que j'ai créé est de pouvoir piloter un train par la pensée en utilisant les possibilités offertes par le casque à électro-encéphalogramme (EEG) MindWave Mobile 2 de la société Neurosky. Ce casque possède une interface Bluetooth capable d’échanger avec un module à base d'Arduino. Par l’action de la pensée (penser au fait d’avancer, de s’arrêter) ce casque récupère les signaux cérébraux qui sont transmis au module Arduino pour ensuite être envoyés, via Bluetooth, après traitement du signal, au train qui se déplacera par la suite selon l’action qui lui aura été ordonnée.

Pour réaliser ce jeu, il faut le matériel suivant:
- un casque EEG MindWave Mobile 2 de la société Neurosky qui transmet les signaux cérébraux en Bluetooth
- un module de traitement des signaux cérébraux constitué d'un module Bluetooth HC-O5, d'un ARDUINO UNO et d'un deuxiéme module HC-O5
- un smartphone ou une tablette Android
- un train piloté en Bluetooth par le smartphone

La photo ci-dessous montre le matériel utilisé:



1. Casque MindWave Mobile 2

Ce casque plaçé sur la tête possède un capteur EEG qui capte les ondes cérébrales et les transmet en Bluetooth à un module de traitement à base d'Arduino, connecté soit à un ordinateur via un cable USB, soit à un smartphone en Bluetooth.



Voici la description des fonctions réalisées par le casque selon son fabricant.

Le Mindwave Mobile de NeuroSky, est un casque EEG qui mesure et transfert sans aucun risque les données spectrales de puissance (ondes alpha, ondes beta, etc) via Bluetooth pour communiquer sans contact avec votre ordinateur ou appareil avec iOS ou Android.

Il suffit de positionner le casque sur votre tête pour pouvoir observer les changements de vos ondes cérébrales en temps réel.

Avec le Mindwave Mobile, vous pouvez contrôler votre niveau d'attention ou de relaxation et mieux comprendre comment votre cerveau régit à votre musique préférée.

Ce casque est une excellente introduction au monde de l'interfaçage cerveau-ordinateur.

Le Mindwave Mobile consiste simplement d'un casque, d'un écouteur et d'un extension capteur. La référence et les électrodes de masse sont sur l'oreillette tandis que le capteur EEG est situé sur l'extension capteur situé juste au dessus des yeux.

Ce qui est vraiment sympa avec le Mindwave c'est qu'il dispose de plus d'une centaine de jeux, applications éducatives et d'outils de développement disponibles sur les NeuroSky, iOS, et Android stores.

Caractéristiques:
Dispose d'un module Bluetooth v2.1 Class 2 TGAM1 (jusqu'à 10m)
Appairage sans contact automatique
Alimenté par une seule pile LR6 (AAA) non incluse
8 heure d'autonomie
Identifiant statique du casque
Supporte iOS et Android


Dans la pratique, les résultats ne sont pas aussi brillants qu'annonçés. La connexion directe en bluetooth entre le casque et le smartphone avec l'application Neurosky est longue à s'établir et parfois celà ne marche pas. Ce casque ne possède qu'un seul capteur EEG et la mesure du niveau d'attention de l'utilisateur n'est pas très précise et surtout n'est pas très reproductible. Dans la littérature, les résultats obtenus avec des casques à plusieurs capteurs (au moins 4) sont bien meilleurs mais le prix de ces casques sort de cette application ludique. Cependant, il faut noter que ce casque a été utilisé pour réaliser une prothèse médicale.

2. Boitier de traitement des signaux cérébraux

Ce boitier est constitué d'un module Bluetooth HC-05 relié au casque et d'un module Arduino Uno. Ces deux composants suffisent pour se connecter à un ordinateur.

Dans le jeu Neurotrain, le train est commandé par un smartphone (ou une tablette) et il faut un deuxième module HC-05 relié en Bluetooth au smartphone.

Voici les photos du boitier réalisé.



Un ordinateur est indispensable pour programmer l'Arduino et visualiser les résultats.

2.1 Configuration du module Bluetooth HC-05 en mode "maître"

Le premier module Bluetooth HC-05 connecté au casque doit être configuré en mode "maître". Dans ce mode, le module a besoin de l'adresse MAC du casque. Pour l'obtenir, il faut allumer le casque (interrupteur sur ON) puis utiliser un smartphone android. Aller dans les paramètres et appuyer sur Bluetooth puis sur recherche d'un nouvel appareil. Le casque devrait s'afficher sous le nom MindWave Mobile et l'adresse MAC doit s'afficher sous la forme d'une suite de 12 chiffres Hexa. Par exemple l'adresse affichée pour mon casque est C4:64:E3:EA:71:CB Pour entrer cette adresse MAC dans le module HC-05, il faut l'écrire sous la forme suivante C4C3,E3,EA71CB. Une autre façon de connaître l'adresse MAC d'un appareil connecté en Bluetooth est d'utiliser l'application "NextGen Bluetooth" à télécharger sur le PlayStore.

Puis, il faut connecter le module HC-05 à l'ARDUINO. La broche RX du module doit être connectée à la broche 11 de l'ARDUINO et la broche TX du module HC-05 doit être connectée à la broche 10 de l'ARDUINO, la broche Vcc est à relier au +5V de l'ARDUINO et la broche GND du module est à relier à la masse de l'ARDUINO.
L'ARDUINO doit être connecté en USB à un PC.
Le schéma à réaliser est le suivant:



Charger sur l'ARDUINO le programme hc05_maitre qui permet d'envoyer les commandes AT pour configurer le module HC-05 en mode maître. Vous pouvez télécharger ce programme en cliquant ici.

Débrancher l'alimentation 5V du module HC-05, appuyer sur le bouton situé sur le module, rebrancher l'alimentation du module et relacher le bouton.
La diode du module HC-05 doit clignoter lentement, ce qui indique que le module est prêt à recevoir les commandes AT
Ouvrir le moniteur série (en cliquant sur Outils puis sur moniteur série). Régler le débit sur "38400 baud" et dans la fenêtre fin de ligne choisir "Les deux, NL et CR".
Taper dans la console "AT" puis envoyer. Le module doit répondre "OK"
Puis taper les commandes suivantes:
1. AT+NAME=”PANTECH”
2. AT+UART=”57600,0,0”
3. AT+ROLE=”1” (ceci passe le module en maître)
4. AT+PSWD=”0000”
5. AT+CMODE=”0”
6. AT+BIND=”XXXX,YY,ZZZZZZ”(adresse MAC du casque))
7. AT+IAC=”9E8B33”
8. AT+CLASS=”0”
9. AT+INQM=”1,9,48”
Débrancher le module. C'est terminé.
Rebrancher ensuite ce module HC-05 en connectant la broche TX du module sur l'entrée RX de l'Arduino. La broche RX du module n'a pas besoin d'être connectée à l'Arduino.

2.2 Configuration finale et chargement du programme de traitement des données

Il faut ajouter un deuxième module bluetooth HC-05 qui permet de se connecter à un smartphone (ou une tablette) sur lequel est installée l'application Neurotrain. La broche RX de ce deuxième module doit être connectée à la broche 11 de l'ARDUINO conformément au schéma ci-dessous.



Le programme de l'ARDUINO qui effectue le traitement de signal peut être téléchargé en cliquant ici.

Ce programme doit être téléchargé dans l'ARDUINO (ne pas oublier de débrancher le cable connecté à la broche RX pendant le téléchargement).
Le premier module Bluetooth HC-05 reçoit les données spectrales de puissance (ondes alpha, ondes beta, etc) du casque EEG et les transfère à l'Arduino. A partir de ces données, le programme de l'Arduino calcule et affiche deux paramètres:
- la qualité du signal qui indique que le casque est correctement fixé sur la tête (la valeur "poor quality" doit être égale à zéro et la diode LED verte doit être allumée.
- la concentration mentale (appelée attention) comprise entre 1 et 100. Sur cette échelle, une valeur comprise entre 40 et 60 à un moment donné est considérée comme «neutre» , et sa notion est similaire aux «lignes de base» établies dans les techniques de mesure EEG conventionnelles (bien que la méthode de détermination d'une ligne de base ThinkGear soit propriétaire et puisse différer de l'EEG conventionnel). Une valeur de 60 à 80 est considérée comme «légèrement élevée», et peut être interprétée comme des niveaux pouvant être plus élevés que la normale pour une personne donnée. Les valeurs comprises entre 80 et 100 sont considérées comme «élevées», ce qui signifie qu'elles indiquent des niveaux élevés de la concentration. De même, à l'autre extrémité de l'échelle, une valeur comprise entre 20 et 40 indique des niveaux «réduits» de la concentration, tandis qu'une valeur comprise entre 1 et 20 indique des niveaux «fortement abaissés» . Ces niveaux peuvent indiquer des états de distraction, d'agitation ou d'anomalie. Pour afficher les résultats sur le PC, il faut ouvrir le moniteur série (en cliquant sur Outils puis sur moniteur série). Régler le débit sur "57600 baud" et dans la fenêtre fin de ligne choisir "Les deux, NL et CR".

Les deux paramètres qualité du signal et concentration mentale (appelée "attention") sont alors affichés dans la fenêtre du moniteur série comme on peut le voir sur la photo ci-dessous:



Le deuxième module Bluetooth HC-05 transmet à un smartphone ou une tablette la valeur de la concentration sous la forme d'un octet émis chaque seconde.

3. L'application Neurotrain pour Android

L'application Neurotrain est un mini-jeu qui utilise le casque NeuroSky MindWave pour vous donner le pouvoir de piloter un train avec vos pensées. Il faut se concentrer sur le jeu pour accélérer. Vous pouvez choisir entre deux versions:
- Commande par la pensée d'un train virtuel Il s'agit de parcourir la distance la plus grande possible en 30 secondes
- Commande par la pensée d'un train réel Il s'agit de minimiser le temps de parcours pour arriver en face d'un batiment qui contient un détecteur de passage.

J'ai réalisé cette application à l'aide du logiciel en ligne intitulé MIT App Inventor 2 que l'on peut trouver à l'adresse suivante:
http://ai2.appinventor.mit.edu/

Ce logiciel est très facile à utiliser et permet de créer une application ANDROID très rapidement sans connaître le language Java.

Cette application appelée Neurotrain doit être installée dans un smartphone ou une tablette Android et et se connecte en Bluetooth au boitier de traitement des signaux du casque Neurosky et peut aussi se connecter en Bluetooth à une locomotive et à un détecteur de passage.

Il faut noter que lorsqu'on utilise un smartphone, le boitier de traitement des signaux n'a pas besoin d'être connecté à un ordinateur. L'Arduino est alimenté par une batterie externe pour smartphone qui fournit le 5V sur un connecteur USB.

Voici la page qui s'affiche lorsque l'application est lancée



On peut choisir entre deux modes de jeu: commande d'un train virtuel ou d'un train réel

3.1 Commande par la pensée d'un train virtuel

Voici une copie de l'écran qui s'affiche sur le smartphone ou la tablette:



Il s'agit de faire parcourir au train la distance maximale en 30 secondes. La vitesse du train est proportionnelle à votre niveau de concentration mentale. Plus il est élevé et plus le train ira vite.

3.2 Commande par la pensée d'un train réel

Voici une copie de l'écran qui s'affiche sur le smartphone ou la tablette:



Maintenant, on pilote en Bluetooth un train réel.
J'ai utilisé un petit locotracteur Berliet non motorisé et attelé à un wagon motorisé et piloté en Bluetooth. Vous trouverez une description de ce matériel roulant en cliquant ici.

Le wagon est équipé d'un module HC-05 qui communique avec le smartphone.

De plus, j'utilise aussi un détecteur de passage à ulta-sons équipé aussi d'un module HC-05 qui communique avec le smartphone et envoie un signal lorsque le train passe en face du détecteur.

Comme ci dessus, la vitesse du train est proportionnelle au niveau de concentration mentale et le but du jeu consiste à mettre le temps minimal pour atteindre le détecteur de passage.

Voici une vidéo qui montre le locotracteur Berliet commandé par le casque Neurosky.



3.3 Téléchargement de l'application Neurotrain

Vous pouvez télécharger cette application en cliquant ici.

Le dossier intitulé neurotrain_android.zip comprends:
- le fichier neurotrain_v1.apk qui est l'application ANDROID à télécharger et installer sur le smartphone
- un dossier nommé neurotrain à télécharger sur le smartphone
- le fichier neurotrain_v1.aia qui est le code source à ouvrir avec le logiciel MIT App Inventor 2 pour effectuer des modifications

Le dossier neurotrain contient 3 fichiers txt qui contiennent les addresses du boitier, de la locomotive et du détecteur de passage. Si vous utilisez l'application Neurotrain, il faudra changer ces adresses et les remplacer par les adresses MAC de modules Bluetooth HC-05 que vous utilisez.

Page précédente


Retour page d'accueil