• Aucun résultat trouvé

Problèmes rencontrés

Dans le document Mémoire de fin d études (Page 59-0)

CHAPITRE 3 – Application au contrôle d’un moteur par la

3.5 Problèmes rencontrés

Lorsque du stage pratique, nous avons rencontré quelques inconvénients auxquels nous avons pu remédier grâce à l’expérience du technicien qui a codirigé les tests.

Le plus gros problème que nous avons rencontré concerne les parasites, et cela était dû au mauvais contact entre l’électrode et le scalp. Les solutions apportées sont les suivantes :

 Vérifier l’emplacement de l’électrode, et appuyer dessus afin de créer un meilleur contact.

 Ajouter de la pâte conductrice entre l’électrode sur lequel est apparu le parasite et le scalp.

Si le parasite persiste, le problème est alors dû à l’électrode elle-même, qui doit être défectueuse, ou alors la conduction du signal est parasitée par des résidus de pâte qui,

avec le temps, a perdu de sa vertu conductrice et à l’inverse empêche la bonne conduction du signal, pour palier a cet inconvénient les solutions suivantes s’offrent à nous :

 Placer un fil conducteur directement entre l’électrode défectueuse et le scalp et le relier à l’entrée correspondante sur la boite têtière.

 Filtrer le signal obtenu sur l’électrode défectueuse directement sur le logiciel, pour cela il suffit de sélectionner le nom de l’électrode, de cliquer dessus et de choisir un filtre correspondant. (À utiliser en dernier recours)

Nous avons rencontré un artefact très important sur le montage monopolaire qui a perturbé le signal sur toutes les autres électrodes (Figure 44). Nous y avons remédié en arrêtant l’enregistrement des

électrodes affectées, c’est-à-dire que nous avons supprimé les tracés correspondants aux électrodes en question. Ce que

n’apparaissent pas systématiquement, et ne sont pas toujours situés sur la même électrode.

3.6 Réactions en temps réel sur l’enregistrement :

Dans cette partie nous allons décrire les réactions obtenues pour chaque méthode décrite précédemment, en gardant à l’esprit que tous les tracés obtenus dans ces tests ont été réalisés sur un montage monopolaire.

Ouverture et fermeture des yeux :

Le tracé obtenu est exactement celui que nous attendions, car cette réaction physiologique est bien connue. Nous avons donc obtenu lors de la fermeture des yeux

Figure 44 : Artefact important lors de l’examen

l’apparition des ondes alpha, un signal facilement reconnaissable grâce à son rythme plutôt régulier et d’amplitude plus élevée comme il est montré sur la figure 45.

Nous avons remarqué un retard de quelques secondes sur l’apparition de ces ondes sur notre sujet entre le moment où les yeux ont été fermés et l’apparition de l’onde, ceci est dû à un état de stress ou de réflexion, comme nous l’avons dit précédemment on peut faire disparaitre l’onde alpha avec une perturbation extérieur ou une réflexion intense.

Hpn yeux fermés et ouverts :

Ces deux méthodes n’ont donné aucun résultat concluant à l’œil nu, un neurologue en dira certainement le contraire, mais pour un œil non expérimenté comme le nôtre, il n’y a pas de changement suffisamment discriminant afin d’être exploité pour une interface cerveau machine.

Yeux ouverts Yeux fermés

Figure 45 : Tracé test yeux ouverts / fermés

SLI yeux ouverts :

Dans ce test, nous remarquons que l’activité réagit à la stimulation lumineuse en essayant de suivre le rythme des flash lumineux. Là ou nous voyons une réponse visible c’est lors de la stimulation avec une frequence de 12 Hz, nous voyons apparaitre un signal plutôt régulier un cours instant. Il faut dire que les résultat ont été moins concluants avec les fréquences bases (Figure 46).

Figure 46: Tracé du test SLI yeux ouverts

SLI yeux fermés :

Nous voyons apparaitre au début de l’enregistrement des ondes alpha, car ce test s’effectue les yeux fermés, et au moment où la SLI a commencé à émettre des flashs lumineux, nous remarquons une très forte diminution du signal alpha sur un laps de temps, puis une disparition du rythme alpha lors des stimulations à de plus hautes fréquences (Figure 47).

Figure 47: Tracé du test SLI yeux fermés

Remémoration yeux fermés :

Cette méthode nous a donné des résultats concluants. Au début de l’enregistrement comme ce test s’effectue les yeux fermés, il y a apparition des ondes alpha, et au moment où nous avons demandé au sujet de se remémorer un cours, nous avons remarqué la disparition des ondes alpha pour laisser apparaitre des ondes non symétriques et de moindre amplitude, preuve de la présence d’une activité cérébrale empêchant les ondes alpha de se manifester.

Lorsque le sujet s’est arrêté de se remémorer son cours, nous avons remarqué la réapparition des ondes alpha (Figure 48).

Figure 48 : Tracé obtenu lors de la remémoration Y.F

Remémoration yeux ouverts :

Les résultats obtenus avec la remémoration des mots yeux ouverts, sont moins concluants que ceux obtenus avec la précédente méthode basée sur le même procédé (la remémoration) avec les yeux fermés.

Nous remarquons sur le tracé représenté dans la figure 49 un changement peu remarquable car on ne distingue pas de changement fréquentiel, mais une légère distorsion du signal en amplitude.

Ce résultat est difficilement exploitable, suite à son caractère peu discriminant.

Figure 49 : Tracé obtenu lors de la remémoration yeux ouverts

Calcul mental :

Au début des tests, lorsque le sujet effectue les 4 premiers calculs qui sont limpides, aucun changement n’est remarqué sur le tracé sauf quelques artefacts oculaires. En revanche, lorsque les calculs demandent un minimum de réflexion, nous remarquons un changement d’activité sur le tracé, des ondulations plus régulières avec une plus grande amplitude font leur apparition avant de disparaitre une fois le calcul résolu.

Lorsque la difficulté des calculs a encore augmenté, nous avons remarqué une succession d’ondulations régulières faisant leur apparition tout au long du calcul en cours de traitement. On remarque aussi l’apparition de plusieurs artefacts oculaires qui ne sont pas à prendre en considération (Figure50).

Figure 50 : Tracé obtenu avec les calculs complexes

Mouvements volontaires :

Nous remarquons l’apparition d’ondes régulières lorsque le sujet effectue un mouvement, celles-ci correspondent à l’onde « Mu », témoins de l’activité de la zone motrice du cerveau, nous avons étudié plusieurs mouvements et avons décidé de nous focaliser sur la contraction du biceps, et nous avons obtenu le tracé présent sur la figure 51.

Figure 51 : Tracé de la contraction du biceps

Imagerie motrice :

C’est la réaction la plus utilisée dans les ICM de type asynchrone.

Nous avons demandé au sujet juste après avoir contracté son biceps réellement, de repositionner sans bras, et de penser à refaire le même geste. Le résultat n’a pas été obtenu immédiatement car le sujet n’est pas familier avec cet exercice mental, mais suite à plusieurs efforts, nous avons obtenu une courte réaction sur le tracé, une ondulation de rythme régulier et discriminante comme le montre la figure 52.

Figure 52 : tracé de l’imagerie motrice

3.6.1 Conclusion

Certaines méthodes ont donné des résultats concluants, des tracés exploitables mais pas forcément adaptés à toute utilisation, comme les résultats nécessitant de garder les yeux fermés. Il n’est donc pas concevable de les utiliser pour guider un fauteuil roulant, car le sujet risquerait de faire un accident. D’autres méthodes n’ont pas donné de résultats satisfaisants, mais nous avons essayé de faire une gamme de tests dans le but de trouver justement les méthodes les plus avantageuses.

Nous pouvons dire que le tracé obtenu avec l’imagerie motrice est un résultat très concluant. Au début, nous ne savions pas si un tel résultat allait être possible, mais nous avons par la suite réussi à obtenir une activité cérébrale motrice par la seule force de la pensée. C’est un résultat important dans le domaine des Interfaces Cerveau-Machine et c’est sur ce tracé que nous allons développer notre interface, qui sera donc de type asynchrone et qui pourra être utilisée afin d’actionner un moteur, ce qui ouvre un large champ de possibilités comme par exemple, piloter un fauteuil roulant.

3.7 Organigramme du traitement du signal EEG avec Matlab

Une fois les tests effectués, les résultats ont été exportés sur support USB sous format ASCII, afin d’être lus, traités et analysés.

Une fois que les résultats obtenus sont importés sur notre ordinateur sous format ASCII, il nous reste donc à trouver le moyen de les traiter, et à définir les critères sur lesquels nous baser. Deux solutions nous sont apparues : Travailler sur les changements d’amplitude du tracé, ou sur les changements de fréquence.

Travailler sur les changements d’amplitude est sans doute la méthode la plus facile, car il aurait suffi de fixer un seuil d’amplitude et analyser les amplitudes de l’électroencéphalogramme, mais avec cette méthode on se retrouve confronté à des problèmes assez récurrents, qui sont les artefacts. Ces artefacts dans la majorité du temps ayant une amplitude bien plus élevée que le signal utile, on se retrouvera donc à enclencher le moteur de manière aléatoire, échappant à la volonté du sujet.

Néanmoins cette méthode peut se révéler utile si l’on veut exploiter les artefacts comme signal de commande pour une quelconque fonction.

Travailler sur la détection des changements de fréquence, est une tâche un peu plus complexe, nécessitant l’utilisation de logiciels de traitement de signal, dont il faut connaitre les instructions, et donc nous devons passer par un ordinateur avant d’arriver au microcontrôleur. Mais cette méthode à l’avantage de se focaliser expressément sur les signaux utiles. En effet cette méthode est plus adaptée à notre travail car nous cherchons à retrouver spécifiquement les ondes relatives à l’activité motrice nommée « MU » ayant une fréquence située entre 7 et 11Hz, et cette méthode fait abstraction des artefacts ayant une grande amplitude.

Nous avons donc opté pour la seconde méthode, qui consiste en l’analyse fréquentielle du tracé. Pour cela nous avons utilisé MATLAB 2015, un logiciel très pratique possédant une boite à outil parmi tant d’autres spécialisée dans le traitement du signal. Ce logiciel étant l’un des plus anciens et les plus utilisés par les ingénieurs a fourni au fur des années, des facilités afin d’aider ses utilisateurs à réaliser leur projet et c’est dans ce cadre, et en étant alerte des moyens qu’utilisent les ingénieurs pour leurs travaux que MATLAB fut doté d’un support hardware pour tous types de cartes électroniques disponibles sur le marché comme la

« Raspberry pi » et la carte la plus utilisé et celle que nous utiliserons la carte « ARDUINO ».

La technique d’approche étant choisie, la description du fonctionnement du programme est assez simple.

Une fois MATLAB 2015 ouvert, les données sont importées par la fonction « import data » situé sur l’interface « HOME » (Figure 53).

Figure 53: Interface d’accueil de MATLAB

Après avoir indiqué le chemin d’accès, les données sont chargées dans le workspace de Matlab.

L’idée du programme utilisé pour traiter le signal EEG obtenu, est d’analyser le signal tranche par tranche, et de lui appliquer une transformé de fourrier à chaque tranche. Nous avons choisi de prendre des tranches d’une seconde sur un tracé de vingt secondes. Ainsi, nous obtenons toutes les fréquences présentes à chaque seconde du tracé avec leur nombre d’apparition, ce qui nous renseigne sur le type d’ondes dominantes à chaque instant du signal.

Nous testerons les fréquences obtenues, à chaque analyse du signal correspondant aux fréquences recherchées, c’est-à-dire entre 7 et 11 Hz. Si ce test est négatif, la boucle est relancée, si ce test est positif un graphe représentant l’amplitude de la transformé de fourrier est affiché et un ordre moteur est envoyé au microcontrôleur, afin de faire tourner un moteur, avant de réexécuter la boucle autant de fois que nécessaire jusqu’à la fin du signal (Figure 54).

Figure 54 : Organigramme du programme utilisé

Si Si

C>20

Non

freq[7,11]

3.8 Description du programme

Une fois les données importées, nous pouvons commencer à les traiter avec les boites à outils disponibles sur Matlab, voici comment nous avons procédé :

Dans ce programme, l’instruction qui permet d’analyser le tracé seconde par seconde est intégrée dans la boucle « for ». Une variable nommée « F77 » récupère une partie du signal d’origine grâce à l’instruction F77=F7(1+(256*i):256+(256*i));.

La variable F77 reçoit donc les 256 premiers échantillons du signal, ce qui correspond à une seconde dans le tracé, cette fonction imbriquée dans une boucle « for » continue de se réexécuter jusqu’à arriver à la fin du tracé. Lors de la réexécution de cette boucle, la variable reçoit les 256 échantillons suivants, ce qui fait avancer le tracé d’une seconde à chaque réitération.

Un test est effectué sur les résultats de la transformée de fourrier obtenus sur chaque seconde du tracé, afin de détecter les fréquences associées à l’imagerie motrice. Si cette condition est satisfaite une commande est générée sur la carte « Arduino » afin d’activer le moteur auquel elle est reliée, sinon le programme continu d’analyser la suite du tracé jusqu’à la fin.

Voici le programme dans son intégrité présenté dans la figure 55 :

%D'abord importer les données de l'électrode F7

%Création d'une connexion série avec Arduino a = arduino('COM3','UNO');

%Initialisation du port 8 de Arduino à zero writeDigitalPin(a,8,0);

%Déclaration de la variable utilisée pour l'affichage des tracés j=2;

%Création de d'une variable contenant 1s du tracé F77=F7(1+(256*i):256+(256*i));

%Application de la transformé de fourrier à la partie sélectionnée du signal

xf=fft(F77);

xfa=abs(xf);

%Variable de localisation de la tranche du tracé étudié w=1+(256*i);

subplot (4,1,j),plot (xfa,'linewidth',2),grid on,title(str);

axis ([0 100 0 900])

3.9 Etude du tracé sur MATLAB :

Tout au long du tracé (Figure 56), le sujet imagine qu’il contracte son biceps. Sur le tracé de l’électrode « F7 » l’activité « Mu » n’est pas visuellement apparente, sauf à deux intervalles de temps où l’on peut constater une symétrie du signal qui est périodique. C’est à la 8e seconde exactement que nous obtenons lors du traitement du signal avec la transformée de Fourier un pic maximum aux fréquences 10-11 Hz, correspondant à l’onde « Mu » témoin de la synchronisation neuronale de la région motrice du cerveau appelé ERS.

Mais il se trouve qu’en analysant le signal en sur son ensemble, les fréquences de l’onde

« Mu » sont présentes quasiment sur tout le tracé, mais de manière désynchronisée et noyée dans d’autres fréquences (Figure 57), témoins que le sujet pense au mouvement mais que les neurones ne travaillent pas encore de manière synchronisée à créer le mouvement, ce qui correspond à l’ERD. En d’autres termes le sujet n’arrive pas à se concentrer suffisamment sur le geste afin que son cerveau puisse créer une image nette du mouvement, et ainsi activer la région motrice du cerveau pour obtenir une ERS.

%Incrémentation de la variable d'affichage

Figure 56 : Tracé obtenu sur l’électrode F7 Figure 55 : Programme utilisé sur Matlab

On retrouve sur certaines régions frontales et pariétales une activité dominante des ondes « Mu » sur la totalité du tracé, preuve que les neurones actifs ne se situent pas que dans une seule région et qu’un geste induit l’activité de plusieurs régions du cerveau.

3.10 Commande du moteur par Arduino

Voici quelques détails permettant de réaliser la commande motrice à partir sur Arduino à partir de Matlab :

Carte utilisée pour la commande du moteur :

La carte utilisée pour ce mémoire est la carte Arduino Uno, dotée d’un microcontrôleurs ATMELATMega328 de 8 bits

Création de liaison série avec Arduino :

Une liaison série a été créée entre l’ordinateur et la carte Arduino grâce à un support hardware disponible sur Matlab et en utilisant l’instruction :

a = arduino('COM3','UNO');

Programme d’activation du moteur :

Cette instruction a directement été insérée dans le programme principal sur Matlab avec l’instruction : writeDigitalPin(a,13,1);

Il n’est pas utile d’introduire des lignes de commande sur le logiciel de Arduino.

Schéma de commande du moteur :

La sortie 8 de Arduino est reliée à un transistor afin d’amplifier le courant, car la carte Arduino ne délivre que 40 mA, ce signal sert de commande au transistor, ceci est expliqué dans le schéma illustré sur la Figure 58, accompagné du montage réalisé (Figure 59).

Figure 57 : fréquences obtenues sur un intervalle quelconque du signal – présence de fréquence « Mu »

Figure 58 : Schéma électronique de la commande du moteur

Figure 59 : Montage réalisé en pratique

3.11 Perspectives :

La prochaine étape de ce travail consistera à travailler en temps réel et de faire la commande du moteur en même temps que le sujet créera une image motrice. Pour cela il faudra utiliser un logiciel adapté à cette situation, c’est-à-dire un logiciel qui fera l’acquisition des signaux EEG et en même temps une analyse fréquentielle afin de pouvoir détecter les fréquences « Mu » dans le but d’envoyer une commande électronique.

On peut aussi penser à utiliser un casque EEG plus adapté afin de se concentrer sur la région motrice, et tenter de récupérer la situation exacte de l’activité cérébrale, ainsi que son intensité afin de pouvoir effectuer plus de commande suivant le membre contracté ainsi que l’espace de son apparition pour avoir un plus grand choix sur les mouvements à utiliser en fonction de la région (C’est à dire suivant l’électrode sur laquelle il apparait), en exploitant une méthode algorithmique qui désignera les électrodes offrant le meilleur résultat.

Nous pouvons aussi tenter d’adapter cette interface afin de commander deux moteurs reliés aux roues d’un fauteuil roulant, afin de pouvoir le diriger dans plusieurs directions.

Certains artefacts comme le mouvement oculaire, qui est une donnée inutile pour un diagnostic médical, et même un bruit gênant, peut-être exploité dans une Interface Cerveau-Machine, car c’est une apparition dans le tracé systématique lorsque ce dernier est produit, et possède la caractéristique d’être très discriminant compte tenu de sa grande amplitude. Ces artefacts sont faciles à faire apparaitre, cela ne nécessite aucun apprentissage de la part du sujet, et signaux peuvent être exploités par exemple pour l’allumage de phares sur un fauteuil roulant.

Exploiter les boites à outil Matlab afin de développer une interface visuelle pour voir en temps réel les zones actives du cerveau.

Travailler sur les bases de données reconnues sur le domaine contenant les signaux de sujets entrainés à manipuler leurs signaux corticaux.

Tenter d’exploiter d’autres caractéristiques en plus de la fréquence pour la commande d’un appareil, telle que l’amplitude du signal, la variance, la valeur moyenne, la densité spectrale, etc.

3.12 Conclusion :

A travers cette étude nous sommes parvenus à montrer deux résultats :

Il est possible de faire apparaitre une activité motrice dans le cerveau, sans pour autant effectuer un mouvement réel, la seule force de la pensée étant suffisante pour parvenir à générer des ondes cérébrales motrices. Nous avons également montré qu’il est possible d’exploiter les tracés EEG représentant l’activité cérébrale afin de générer des commandes sur un appareil électronique.

Suivant les résultats obtenus, nous avons donc réalisé une Interface Cerveau-Machine de type asynchrone basée sur l’imagerie motrice et nous avons pu faire tourner un moteur à partir de ces signaux, ce qui peut être adapté à un fauteuil roulant que l’on pourra donc diriger de manière unidirectionnelle par la pensée.

Conclusion générale

L’expérimentation faite dans ce mémoire a consisté dans un premier temps à observer les changements d’activité cérébrale chez un sujet sain et volontaire auquel nous avons demandé d’effectuer des tâches mentales. Ensuite, nous avons traité ces signaux à l’aide d’un outil de traitement de données (Matlab), qui nous a permis de détecter l’activité cérébrale recherchée. Celle-ci a été exploitée comme signal de commande pour un moteur à courant continu qui pourrait être adapté sur un fauteuil roulant afin de redonner une certaine autonomie de déplacement à une personne physiquement handicapée.

Dans cette recherche, nous nous sommes initié aux Interfaces Cerveau-Machine.

L’objectif étant de répondre à notre problématique qui consiste à savoir s’il était possible de contrôler un objet par la pensée ? La démarche, lors de notre étude s’est déroulée sur quatre étapes avant d’obtenir des résultats.

La première étape a consisté à étudier le mode de fonctionnement des ICM et l’anatomie du

La première étape a consisté à étudier le mode de fonctionnement des ICM et l’anatomie du

Dans le document Mémoire de fin d études (Page 59-0)

Documents relatifs