DonNTU   Masters' portal Université de Cergy-Pontoise Université de Versailles LISV  DFST

Aperçu

Sommaire

Introduction

Les réseaux neuronaux sont très populaires dans les domaines d’IA (intelligence artificielle ) et d'apprentissage automatique . Ils sont utilisés presque partout :

Les réseaux neuronaux sont particulierement utilisés pour résoudre des problèmes de classification, de prédiction, de reconnaissance des formes, de catégorisation, de mémoire associative et d'optimisation [1].

1. Buts et description

Notre but principal est mettre en place l'algo de classification et prédiction à l’aide de Echo State Network .

L'architecture de ESN est similaire à réseaux neuronaux recurrents et contient une couche d'entrée, une couche cachée, embrassée par les retroactions et aussi appelée "réservoir dynamique", et une couche de sortie qui lit les informations de la couche cachée. La caractéristique principale de ces réseaux neuronaux est ce que seulement les poids synaptiques de la couche de sortie sont accordable, pour lesquelles on peut utiliser les algorithmes adaptatifs d'identification linéaire qui sont assez optimals [2], [3]. Les poids de couche cachée sont fixés une fois pendant l'initialisation du réseau et ne changent pas au cours de son fonctionnement.

Quand le signal entre, il est fixé à la couche d'entrée. Après cela il y a quelques itérations dans la couche cachée jusqu’ au moment quand les signaux de sortie sont stabilisés . Dans la couche cachée on peut observer des états précédents du réseau affaiblis selon l'amplitude. D’ici vient le nom Echo State Network. Le signal de sortie se forme à l’aide de prise d’information de la couche cachée par la couche de sortie [4].

L'architecture de ESN peut être comme ça:

L'architecture de ESN

Animation: 5 cadres, durée de chaque cadre - 500 ms, 40 Êá

Cette séquence correspond à ce qui est réalisé pour un ESN et utilisé pour faire de la prédiction. C'est à dire qu'on dispose d'une série temporelle x(t), l'ESN reçoit en entrée x(t) et doit donner sur sa couche de sortie une prédiction pour la valeur x(t+1).

Donc pour réussir nous devons résoudre trois tâches posées .

2. Tâches principales

2.1 Interface de commande découplée pour fauteuil roulant à assistance hybride

La commande de fauteuil roulant est basée sur l’action de la personne sur les mains courantes fixées sur les roues. Ce type d’action peut être traumatisant après de nombreuses années.

Il est intéressant d’inclure un mode d’assistance hybride basée un apport d’un moteur électrique. Lors de l’action de la personne sur les roues, les moteurs sont automatiquement activés pour assister le déplacement, notamment lors denmontée. Cette assistance est donc souvent tout ou rien. De plus, la personne conserve une part des efforts lors des démarrages et des freinages du fauteuil.

 Le fauteuil  roulant

Figure 1 – Le fauteuil roulant

Notre intention est de proposer un découplage des mains courantes vis à vis des roues. L’action de la personne est donc réalisée sur une roue intermediaire libre qui joue le rôle d’interface pour l’activation du moteur en charge de la rotation de la roue du fauteuil.

Deux aspects doivent être identifiés :

Il est important d’adapter ces deux parties afin d’optimiser le déplacement du fauteuil roulant. Cette optimisation repose sur une identification des capacités d’action de la personne et sur une adaptation par un algorithme d’apprentissage de la commande à réaliser.

Figure 2 - La commande du fauteuil doit être une fonction qui d&eacutepend de la nature de la pente

Figure 2 - La commande du fauteuil doit être une fonction qui dépend de la nature de la pente

Le travail de cette partie se composera de plusieurs points :

2.2 Canne pour l’aveugle

Le laboratoire LISV m’a envoyé des données faites avec la canne pour l’aveugle. Ils sont en train de travailler sur une version améliorée de la canne mais c'est données sont intéressantes pour s'entrainer. Il y a trois dossiers qui contiennent les enregistrements effectues sur du sol en bois, en bitume (un trottoir) et en lino ( à l'interieur d'une salle).

Figure 3 - Une personne aveugle, qui marche sur bitume

Figure 3 - Une personne aveugle, qui marche sur bitume

Dans le fichier, il y a 5 colonnes : la première indique les valeurs enregistrées par le capteur piézo qui permet de capter les vibrations au niveau de la main de la personne qui tient la canne. Ce sont les données qui nous intéressent le plus. La colonne suivant contient des données issues d'un capteur optique que nous n'utilisons pas pour l'instant. Les trois dernières colonnes indiquent les accélérations en X, Y et Z enregistrées au bout de la canne. La fréquence d'échantillonnage de ces trois capteurs est de 800 Hz.

On a analisé des données sur différents types de sols. Voici des rérsultats pour le bitume.

Figure 4- Les donnees de 5 colonnes dans le fichier

Figure 4 - Les données de 5 colonnes dans le fichier

 Figure 5 - Les  donnees de l'acc&eacutel&eacuterometre

Figure 5 – Les données de l'accélérometre, ñ'est à dire les valeurs instantanées de l’ accélération sur les trois axes X , Y et Z et leurs composantes spectrales

Donc on doit utiliser ces données pour entrainer un ESN, en mettant en entrée les valeurs du piézo et celles des accélérations. Comme il y a trois classes, une solution possible est de faire du "one-versus-the-rest". L'idée est d'entrainer un ESN à reconnaître les données enregistrées sur du bois, ainsi les données du lino et du bitume sont considérées comme étant des données non-bois. Ensuite, on recommence avec un nouvel ESN entrainé à reconnaître le lino contre du bois ou du bitume, puis on termine avec un ESN qui apprend à reconnaître le bitume contre le bois et le lino. On a ainsi trois ESN, chacun entraine à reconnaître un cas possible (bois, bitume ou beton). Si on donne au nouveau signal qu'on cherche à classifier, il suffit de faire un vote en regardant le résultat de chacun des 3 ESN.

2.3 Robot humanoïde Nao

Les progrès de la robotique font qu’il est possible, aujourd’hui, d’avoir des robots humanoïdes, qui integrent de nombreuses fonctions interactives : reconnaissance et synthèse vocale, yeux lumineux, capteurs "tactiles", infrarouges... Il est alors intéressant d’imaginer, dans un dispositif d’aide aux personnes, que l’on puisse demander à ce "compagnon" d’aller chercher un objet et de l’apporter quelque part [5].

 Figure 6 - NAO

Figure 6 – Le robot NAO

Mais qu’en est-il des fonctions de ce fameux robot NAO ? Il s’agit en fait d’une plateforme hardware ouverte, autrement dit une plateforme d’expérimentation sur laquelle il est possible de programmer différentes réactions en fonction du capteur active. Il est possible de définir le comportement d’une très grande variété de moteurs correspondant aux articulations du robot via ces capteurs.

L’androide miniature dispose entre autres d’une caméra embarquée, d’un sonar lui permettant d’estimer la distance entre un objet et lui-meme, d’un bumper d’arret situé au bout de ses pieds signalant toute éventuelle collision, d’une connexion Wi-fi, de LED sur le visage lui permettant d’afficher diverses expressions en fonction de la demande de l’utilisateur et d’autres capteurs lumineux situés au sommet de sa tête.

Nous pensons que le travail sur Nao est très bien car c'est intéressant et complémentaire. En plus il y a un lien entre les poussées de nao qui perturbent son equilibre et les poussées de la personne sur le fauteuil qui perturbent sa direction et son inclinaison. C'est une bonne chose de partir sur Nao et éffectivement il y a un lien avec l'assistance tierce personne.

Le laboratoire LISV a une équipe de Nao pour la Robocup.

 Figure 7 - RoboCup

Figure 7 – La RoboCup des robots NAO

La RoboCup est un tournoi international de robotique, dont l'un des buts attendus est d'arriver à créer une équipe de football robotisée capable de battre l'équipe de football « humaine » championne du monde. Ces robots tombent facilement quand on les pousse. Des collègues du laboratoire sont en train de travailler pour donner des mouvements reflexés à Nao qui lui permettent de rester debout. Ils travaillent pour l'instant sur la détection des chocs qui font tomber Nao et des chocs qui le laissent debout. Ces collègues ont à la fois des données expérimentales et un modèle matlab de l'influence des chocs. Ils peuvent nous transmettre ces données, qui permettent de connaître le centre de gravité du Nao. L'intérêt est ce que nous pourront d'abord utiliser l'ESN pour faire de la prédiction temporelle et ensuite mettre en place de la classification pour détecter la chute.

Conclusions et prochaines étapes du travail.

On a éffectivement des difficultés par rapport à la classification. Encore on a une tâche nouvelle c’est un robot NAO. Nous devons étudier tout ce qui concerne ce robot pour bien travailler avec lui. Nous pensons que le travail sur Nao est très bien car c'est intéressant et complémentaire. On doit mettre en place l'algo de classiffication et prédiction pour tous les cas.

Bibliographie

  1. Site officiel de L'institut d'électronique et d'informatique Gaspard-Monge/ [Åëåêòðîííèé ðåñóðñ]. – Ðåæèì äîñòóïó:
    http://www-igm.univ-mlv.fr/~dr/XPOSE2002/Neurones/index.php?rubrique=Accueil
  2. Ðàéáìàí Í.Ñ., ×àäååâ Â.Ì. Ïîñòðîåíèå ìîäåëåé ïðîöåññîâ ïðîèçâîäñòâà. – Ì.: Ýíåðãèÿ, 1975. – 376 ñ.
  3. Ëüþíã Ë. Èäåíòèôèêàöèÿ ñèñòåì. Òåîðèÿ äëÿ ïîëüçîâàòåëÿ: Ïåð. ñ àíãë. / Ïîä ðåä. ß.Ç. Öûïêèíà. – Ì.: Íàóêà, 1991. – 432 ñ.
  4. Áàáåíêî À.Â., Áîäÿíñêèé Å.Â., Ïîïîâ Ñ.Â. Íåéðî-ôàççè ýõî ñåòü äëÿ ïðîãíîçèðîâàíèÿ ñîñòîÿíèé è äèàãíîñòèêè ýëåêòðîýíåðãåòè÷åñêèõ ñèñòåì [Åëåêòðîííèé ðåñóðñ]. – Ðåæèì äîñòóïó:
    http://archive.nbuv.gov.ua/portal/natural/Ikszt/2009_4/4_2009_5.pdf
  5. Site officiel de Nicolas TEXIER/ [Åëåêòðîííèé ðåñóðñ]. – Ðåæèì äîñòóïó:
    http://www.nicolas-texier.net/fr/projet-nao-d%C3%A9tecter-et-suivre-une-balle