mémoire dea en aia a informatique appliquée

53
Mémoire Pour obtenir le diplôme de DEA en AIA Automatique et Informatique Appliquée Equipe : Modèles et Systèmes Dynamiques Thème : Réalité virtuelle et robotique Action : Apprentissage pour la robotique Présenté et soutenu publiquement par Oussama DERBALI le 30 septembre 2005 Titre Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » JURY De l’Université d’Angers Michel ALSABA Doctorant Jean-louis BOIMOND Professeur François CHAPEAU-BLONDEAU Professeur Jean-Louis FERRIER Professeur, Directeur du LISA Laurent HARDOUIN Professeur Philippe LUCIDARME Maître de Conférences Paul RICHARD Maître de Conférences Bertrand VIGOUROUX Professeur, Responsable de DEA Université d’Angers Laboratoire d' Ingénierie des Systèmes Automatisés FRE 2656 CNRS

Upload: others

Post on 13-Jan-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mémoire DEA en AIA A Informatique Appliquée

Mémoire

Pour obtenir le diplôme de

DEA en AIA Automatique et Informatique Appliquée

Equipe : Modèles et Systèmes Dynamiques

Thème : Réalité virtuelle et robotique

Action : Apprentissage pour la robotique

Présenté et soutenu publiquement par

Oussama DERBALI

le 30 septembre 2005

Titre

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing »

JURY

De l’Université d’Angers

Michel ALSABA Doctorant Jean-louis BOIMOND Professeur François CHAPEAU-BLONDEAU Professeur Jean-Louis FERRIER Professeur, Directeur du LISA Laurent HARDOUIN Professeur Philippe LUCIDARME Maître de Conférences Paul RICHARD Maître de Conférences Bertrand VIGOUROUX Professeur, Responsable de DEA

Université d’Angers

�Laboratoire d'Ingénierie des Systèmes Automatisés

FRE 2656 CNRS

Page 2: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 2

��������������������������������� �������������� ����

Page 3: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 3

Remerciements Tout d’abord, je tenais à remercier le laboratoire LISA (Laboratoire d'Ingénierie des Systèmes Automatisés), qui m’a accueilli durant mon stage de DEA, en la personne de son directeur Monsieur Jean-Louis Ferrier. Je souhaite également témoigner toute ma reconnaissance à :

Monsieur Philippe Lucidarme, Maître de conférence à l’Université d’Angers, pour m’avoir encadré tout le long de ce stage, le remerciant pour les conseils et les connaissances dont il a su me faire profiter.

Monsieur Paul Richard, Maître de conférence à l’Université d’Angers et responsable

de l’axe de réalité virtuel au sein du laboratoire, pour sa bonne humeur et son co-encadrement. Monsieur Bertrand Vigouroux, Professeur à l’Université d’Angers et responsable de

mon DEA, pour sa compréhension des diverses difficultés que j’ai eu au cours de cette année. Mes remerciements s’adressent ensuite aux membres du jury, pour avoir accepté de

juger mon travail. Je tiens aussi à exprimer ma profonde gratitude à tous les membres du LISA, et en

particulier les doctorants pour leur soutien moral. Enfin, je dédie ce travail à mes parents qui m’ont soutenu durant toute cette année

moralement et financièrement.

Page 4: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 4

Tables des matières

Remerciements………………………………………………………………………………..3 Tables des matières…………………………………………………………………………...4 Tables des figures……………………………………………………………………………..6 Introduction générale…………………………………………………………………….8

Chapitre 1 : Les méthodes d'apprentissage…………………………………………9

1.2. Introduction………………………………………………………………………..9 1.3. Les Réseaux neuronaux……………………………………………………….10

1.3.1. Introduction…………………………………………………………………...10 1.3.2. Composant (le neurone artificiel)……………………………………………..11 1.3.3. Modèle mathématique………………………………………………………..11 1.3.4. Comportement………………………………………………………………...12 1.3.5. Architecture des réseaux de neurones………………………………………...12 1.3.6. Paradigme de l’apprentissage…………………………………………………13 1.3.7. Conclusion…………………………………………………………………….14

1.4. Les algorithmes évolutionnistes……………………………………………...15 1.4.1. Introduction…………………………………………………………………...15 1.4.2. Squelette de l’algorithme……………………………………………………..16 1.4.3. Le codage……………………………………………………………………..16 1.4.4. Fonction d'évaluation et fonction fitness……………………………………...17 1.4.5. La procédure de sélection……………………………………………………..18 1.4.6. Les opérateurs génétiques……………………………………………………..18 1.4.7. Conclusion…………………………………………………………………….20

1.5. Estimation de la performance………………………………………………..20 1.6. Conclusion………………………………………………………………………...21

Chapitre 2 Application a la robotique……………………………………….22

2.2. Introduction………………………………………………………………………22 2.3. Pilotage d’un véhicule autonome à l’aide de réseaux de neurones…23

2.3.1. Le robot REMI de la SAGEM………………………………………………...23 2.3.2. Problèmes posés par le pilotage de robots mobiles en tout-terrain…………...23 2.3.3. Définition de la tâche de pilotage……………………………………………..24 2.3.4. La modélisation et la commande par réseaux de neurones…………………...24

2.3.4.1. Modélisation de processus…………………………………………….25 2.3.4.2. Commande de processus………………………………………………26

2.3.4.2.1. Phase d’apprentissage…………………………………………26 2.3.4.2.2. Phase d’utilisation……………………………………………..27

2.3.5. Performances obtenues et comparaison avec le système classique…………...28

Page 5: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 5

2.4. Algorithmes évolutionnistes pour les systèmes multi-robots………...28 2.4.1. Introduction…………………………………………………………………...28 2.4.2. Description de l’expérience…………………………………………………...28 2.4.3. Résultats………………………………………………………………………30 2.4.4. Conclusion…………………………………………………………………….31

2.5. Reproduction de comportements intelligents primitif………………...31 2.5.1. comportement du robot………………………………………………………..31 2.5.2. Coévolution de deux robots…………………………………………………...32

2.6. Conclusion………………………………………………………………………..33 Chapitre 3 : Apprentissage d’un robot mobile sur une tache ___________de « grazing »………………………………………………………..34

3.1. Introduction……………………………………………………………………...34 3.2. Description du robot « Type1 »……………………………………………..35 3.3. Formulation du problème…………………………………………………….36

3.3.1. Structure du contrôleur………………………………………………………..36 3.3.2. Modèle géométrique…………………………………………………………..38 3.3.3. L’algorithme génétique……………………………………………………….38

3.4. Simulation………………………………………………………………………...39 3.4.1. Modélisation et simulation de l’environnement virtuel……………………….39 3.4.2. Choix du simulateur…………………………………………………………..40 3.4.3. Programmation avec NovodeX……………………………………………….41

3.5. Résultats de simulation……………………………………………………….41 3.5.1. Première expérience…………………………………………………………..41 3.5.2. Deuxième expérience…………………………………………………………43 3.5.3. Troisième expérience…………………………………………………………44

3.6. Analyses…………………………………………………………………………..45

Conclusion générale……………………………………………………………………..46 Bibliographie……………………………………………………………………………...47 Annexe

A. Robot « TYPE 1 »…………………………………………………………………49 B. Modèle géométrique……….……………………………………………………...51

Page 6: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 6

Tables des figures, équations et tableaux

Figures Figure 1 : Mise en correspondance neurone biologique / neurone artificiel (D’après [Touzet 92]) Figure 2 : Schéma générale d’un neurone artificiel (D’après [Rivals 96]) Figure 3 : Différents types de fonctions de transfert pour le neurone artificiel (D’après [Touzet 92]) Figure 4 : Exemple de réseaux de neurones bouclés Figure 5 : Exemple de réseau de neurones non bouclé Figure 6 : L’apprentissage supervisé Figure 7 : L’apprentissage non supervisé Figure 8 : ( i ) le neurone amont, ( j ) le neurone aval et ( Wij) le poids de la connexion. Figure 9 : Représentation schématique de l’AE Figure 10 : Représentation schématique du croisement en 1 point. Les chromosomes sont bien sûr généralement beaucoup plus longs Figure 11 : Représentation schématique du croisement en 2 points. Figure 12 : Représentation schématique d’une mutation dans un chromosome Figure 13 : Le robot REMI (D’après [Rivals 96]) Figure 14 : Architecture d’un robot mobile autonome piloté par réseaux de neurones. (D’après [Rivals 96]) Figure 15 : Système d’apprentissage d’un modèle neuronal. Figure 16 : Système d’apprentissage d’un correcteur neuronal. Figure 17 : Système de commande en simple bouclage. Figure 18 : Système de commande avec modèle interne. Figure 19 : Le robot mobile Khepera Figure 20 : L’environnement de l’expérience (D'après [Floreano 94]) Figure 21 : Performance moyenne de la population et du meilleur individu en fonction des générations (D'après [Floreano 94]) Figure 22 : Evolution de chacun des paramètres de la récompense au fil des générations (D’après [Floreano 94]) Figure 23 : Robot “ prédateur ” et robot “ proie ” lors d’une expérience de coévolution Figure 24 : Le robot mobile Type 1 Figure 25 : Disposition des capteurs et actionneurs Figure 26 : Décomposition basée sur le comportement d'accomplissement de tâches (D'après [Brooks 86]) Figure 27 : Le contrôleur neuronal Figure 28 : Influence de chaque capteur sur le comportement global Figure 29 : Les poids de notre meilleur individu obtenu Figure 30 : Exemple d’application sur NovodeX Figure 31 : L’environnement « Env 1 » où le robot effectue son apprentissage Figure 32 : Performance moyenne de la population en fonction des générations Figure 33 : Environnement « Env 2 » Figure 34 : Environnement « Env 3 » Figure 35 : Environnement « Env 4 » Figure 36 : Environnement « Env 5 » Figure 37 : Comparaison de la performance du meilleur individu dans des environnements différents Figure 38 : Evolution de la performance moyenne durant la troisième expérience

Page 7: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 7

Equations Equation 1 : Fonction de sortie d’un neurone Equation 2 : Fonction de sélection par la roue de la fortune Equation 3 : Fonction de sélection par Rang de classement Equation 4 : Fonction d’estimation de performance (coût) Équation 5 : Récompense instantanée attribuée à l’agent (D'après [Floreano 94]) Equation 6 : Evaluation du capteur Equation 7 : Calcul des vitesses angulaires des roues du moteur Equation 8 : Vitesse linéaire du robot Equation 9 : Vitesse des roues en fonction des vitesses angulaires Equation 10 : Vitesse moyenne du centre des roues Equation 11 : Calcul des vitesses en coordonnées cartésiennes Equation 12 : Fonction d’évaluation

Tableaux Tableau 1 : Codage des chiffres dans la chaîne chromosomique Tableau 2 : Codage des opérateurs dans la chaîne chromosomique Tableau 3 : Exemple de chaîne chromosomique pour le problème du juste chiffre Tableau 4 : La sélection par roulette

Page 8: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 8

Introduction générale

Longtemps, les chercheurs et les ingénieurs ont cherché à optimiser le trajet d'un robot se rendant du point A au point B en lui fournissant une carte et un plan exhaustif de son environnement et de son chemin. Tant qu'aucun évènement particulier ne survenait, la capacité de prise de décision n’était pas menacée. Mais dés qu'un imprévu survenait (chute d'un objet en travers de son chemin, par exemple) et le robot ne savait plus aller de A à B.

Aujourd'hui, on cherche à faire des robots autonomes, c’est-à-dire capables de se mouvoir de façon indépendante dans un environnement imprévisible. Pour se faire ils sont dotés de sens afin de pouvoir percevoir leur environnement et mesurer les effets de leurs actions sur celui-ci.

Dans ce manuscrit, nous allons nous intéresser à l’auto-apprentissage. Au lieu de programmer un robot pour qu'il effectue une mission, nous allons le laisser apprendre seul sa propre stratégie. Dès lors qu’il apparaît concevable qu’une machine soit capable de modifier son propre comportement, son propre programme, il ne semble plus y a voir de limite à son développement.

La structure de ce mémoire est la suivante : Le Premier chapitre s’intéresse aux méthodes d’apprentissage. Les principales

techniques sont présentées et détaillées : réseaux de neurones et algorithmes évolutionnistes. Le Deuxième chapitre est dédié à l’étude de quelques exemples d’application de

l’apprentissage sur des robots réels. Nous allons nous intéressé essentiellement à deux implémentations d’apprentissage : l’une par des réseaux de neurones à travers le robot « REMI » et l’autre par les algorithme évolutionnistes suivant les expériences sur le robot « khepera ».

Le troisième chapitre est consacré à la description de notre manipulation .Afin de

valider les méthodes proposées dans des circonstances réelles, nous avons simuler un robot mobile dont la tâche consiste à couvrir la plus grande surface possible dans un panel d’environnements différents.

Enfin, nous conclurons sur l’ensemble de notre manipulation présenté dans le dernier

chapitre.

Page 9: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 9

Chapitre 1

Les méthodes d’apprentissage

1.1 Introduction

Chacun de nous est un magnifique exemple de ce que la nature sait faire de mieux en matière d’apprentissage et d’adaptation. Nous sommes capables de résoudre une grande diversité de problèmes, de nous déplacer, de voir, d’analyser des situations inconnues etc. Pourtant, nous ne sommes pas obligés de calculer des changements de repères complexes pour nous déplacer. Plusieurs travaux de recherche avaient pour but de s’inspirer de la puissance de l’être humain à travers des méthodes d’apprentissage artificiel implémenté sur des machines.

Page 10: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 10

Il existe différentes techniques d'apprentissage en robotique possédant chacune leurs propres spécifications. Leur classification la plus didactique, cependant, est une liste non exhaustive comprenant deux groupes:

o L’apprentissage par l’exemple : Dit par les réseaux de neurones, qui peuvent apprendre à mimer des fonctions mathématiques à partir d'une base d'exemples. Comme son nom l’indique cette technique est directement inspirée de l’étude du cerveau. L’objectif consiste à montrer une série d’exemples, chaque exemple étant associé à un stimulus d’entrée. Après cette phase d’apprentissage, si le réseau est stimulé avec une configuration d’entrées, alors il saura automatiquement de quel exemple il s’agit. Les domaines d’application des réseaux de neurones sont nombreux, notamment en classification de données ou en reconnaissance vocale.

o Les algorithmes évolutionnistes : Sont inspirés de l'étude du vivant et plus précisément de l'évolution darwinienne. Le principe général consiste à disposer d'une population d'individus possédant chacun une chaîne chromosomique dans laquelle est codé son comportement. Les algorithmes évolutionnistes semblent particulièrement bien indiqués pour l'apprentissage des systèmes multi agents. En premier lieu, il faut disposer d'une population d'individus, ce qui est le cas dans tout système multi-robots. Ensuite, la possibilité de coder toutes sortes de comportements dans la chaîne chromosomique ouvre un grand nombre de possibilités.

1.2. Les Réseaux neuronaux

1.2.1 Introduction

L’apprentissage par réseau de neurones est une méthode statistique qui peut être utilisée pour toute application nécessitant de trouver une relation entre des données. Ce type de méthode va donc permettre de résoudre certaines classes de problème tel que l’approximation de fonctions, la modélisation de phénomènes, la classification de données, la commande de processus...

Traditionnellement, on fait remonter les travaux sur les réseaux de neurones à ceux de Mc Culloch et Pitts (1943), qui essaient de comprendre les propriétés du système nerveux à partir de ses constituants élémentaires : les neurones. Ceux-ci sont idéalisés en neurones logiques, car ne connaissent que les réponses binaires (0 ou 1).

Un peu plus tard, Donal Hebb (1949), psychologue canadien, tentait d'expliquer les effets d'apprentissage, de mémoire et de conditionnement à partir d'un groupe de cellules. Pour expliquer les effets d'apprentissage en fonction de l'expérience, il propose que les cellules apprennent à modifier l'intensité des connexions qui les relient en fonction de leur activité simultanée. C'est la ``loi de Hebb’’.

Minsky (1951) construit ce qui fut le premier modèle réel de réseaux de neurones Snarl qui fut l'ancêtre de Mark I le premier perceptron créé par Rosenblatt dans les années (1960). Le but du perceptron est d'apprendre des catégorisations perceptives. Dans la même période Widrow, dans le cadre du traitement du signal, analyse une loi d'apprentissage proche de celle du perceptron (loi de Widrow-Hoff) et construit Adaline qui sera utilisée -- Nilsson (1965) publie machine learning qui construit les fondements mathématiques de l'apprentissage.

Page 11: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 11

Les travaux ralentissent considérablement jusqu’aux années 80. En 1982, Hopfield démontre l’intérêt des réseaux entièrement connectés [Hopfield 82]. Parallèlement, Werbos conçoit un mécanisme d’apprentissage pour les réseaux multicouches de type perceptron: la rétropropagation (Back-Propagation). Cet algorithme, qui permet de propager l’erreur vers les couches cachées sera popularisé en 1986 dans un livre " Parallel Distributed Processing " par Rumelhart et al [Rumelhart 86].

Depuis ces travaux, les applications des réseaux de neurones n’ont cessé de croître. Il a

d’ailleurs été démontré qu’un réseau MLP (Multi Layer Perceptron) avec seulement deux couches peut approximer n’importe quelle fonction de Rn dans Rm avec une précision arbitraire. 1.2.2 Composant (le neurone artificiel)

La figure 1 montre la structure d'un neurone artificiel. Chaque neurone artificiel est un processeur élémentaire. Il reçoit un nombre variable d'entrées en provenance de neurones amont. A chacune de ces entrées est associée un poids w abréviation de « weight » (poids en anglais) représentatif de la force de la connexion. Chaque processeur élémentaire est doté d'une sortie unique, qui se ramifie ensuite pour alimenter un nombre variable de neurones avals. A chaque connexion est associée un poids.

Figure 1 : Mise en correspondance neurone biologique / neurone artificiel

(D’après [Touzet 92])

1.2.3 Modèle mathématique

Un réseau de neurones n’est finalement qu’une représentation conviviale de fonctions mathématiques. En effet, chaque réseau peut s’écrire sous la forme d’une équation. La fonction de transfert de base des réseaux est donnée par l’Équation 1(ci-dessous). La fonction de sortie des neurones est principalement utilisée pour mettre en forme les signaux de sortie des neurones.

Figure 2 : Schéma général d’un neurone artificiel (D’après [Rivals 96])

Equation 1 : Fonction de sortie d’un neurone

Page 12: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 12

Avec • xj le stimulus d'entrée. • Cij la valeur du poids synaptique

reliant le stimulus i au neurone j. • f() la fonction de sortie du neurone. • yi la sortie du neurone.

1.2.4 Comportement

A partir du calcul de la somme pondérée des entrées (yi) selon l’équation de la figure 2 une fonction de transfert calcule la valeur de l'état du neurone. C'est cette valeur qui sera transmise aux neurones avals. Il existe de nombreuses formes possibles pour la fonction de transfert. Les plus courantes sont présentées sur la figure 3. On remarquera qu'à la différence des neurones biologiques, la plupart des fonctions de transfert sont continues, offrant une infinité de valeurs possibles comprises dans l'intervalle [0, +1] (ou [-1, +1]).

Figure 3 : Différents types de fonctions de transfert pour le neurone artificiel,

a : fonction à seuil (S , la valeur du seuil), b : linéaire par morceaux, c : sigmoïde. (D’après [Touzet 92])

Nous constatons que les équations décrivant le comportement des neurones artificiels

n’introduisent pas la notion de temps. En effet, la plupart des modèles actuels de réseaux de neurones sont des modèles à temps discret, synchrone, dont le comportement des composants ne varie pas dans le temps.

1.2.5 Architecture des réseaux de neurones

Un réseau de neurones est un système constitué de neurones interconnectés, qui reçoit des informations de l’environnement. On distingue deux familles de réseaux de neurones :

• les réseaux bouclés, dont le graphe des connexions contient des cycles (voir

Figure 4) ; ce sont des systèmes dynamiques, utilisés comme filtres non linéaires, ainsi que pour la modélisation et la commande de processus ; l’opérateur réalisé par un réseau bouclé est un ensemble d’équations aux différences couplées.

Page 13: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 13

Figure 4 : Exemple de réseaux de neurones bouclés

• Les réseaux non bouclés, dans lesquels l’information circule des entrées vers les sorties, sans bouclage (voir Figure 5) ; ce sont des systèmes statiques, utilisés principalement pour effectuer des tâches de classification, ou de modélisation statique de processus ; L’opération réalisée par un réseau de neurones non bouclé (relation entrées-sorties) est une fonction algébrique. Ce type de réseaux peut être mono-couche ou multicouche.

Figure 5 : Exemple de réseau de neurones non bouclé (Dit à une couche de neurones cachés).

1.2.6 Paradigme de l’apprentissage

L'apprentissage est une phase du développement d'un réseau de neurones durant laquelle le comportement du réseau est modifié jusqu'à l'obtention du comportement désiré. L'apprentissage neuronal fait appel à des exemples de comportement.

On distingue deux grandes classes d’algorithmes d’apprentissage :

• L’apprentissage supervisé :�on présente au réseau des entrées, et au même temps les sorties que l'on désirerait pour cette entrée.

Figure 6 : L’apprentissage supervisé

superviseur

Réseau

sortie désirée

sortie obtenue

erreur

EN

TRE

ES

Page 14: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 14

• L’apprentissage non supervisé :�on présente une entrée au réseau et on le laisse évoluer librement jusqu'à ce qu'il se stabilise

Figure 7 : L’apprentissage non supervisé

Dans un réseau de neurones, les connaissances sont stockées dans les poids synaptiques. Ainsi l’apprentissage consiste à modifier le poids des connections entre les neurones selon une certaine règle.

Figure 8 : ( i ) le neurone amont, ( j ) le neurone aval et ( wij) le poids de la connexion.

Il existe plusieurs règles de modification :

Loi de Hebb : � wij =Rai aj

Règle de Widrow-Hoff (delta rule) : � wij =R(di - ai )aj

Règle de Grossberg : � wij =R(aj - wij )ai

1.2.7 Conclusion

Aujourd'hui, les nouvelles technologies du multimédia comme le traitement de l'image et du son demandent une rapidité de plus en plus grande. Les ordinateurs séquentiels s'approchent de leurs limite et l'on cherche à paralléliser les microprocesseurs et à trouver les algorithmes pouvant les utiliser à pleine puissance. Or les réseaux de neurones artificiels permettent, par leur conception même, cette parallélisation : ce sont un ensemble d'entités élémentaires travaillant en simultané. Bien que l'on soit encore très loin des neuro-ordinateurs, d'ores et déjà les ordinateurs actuels pourraient s'équiper de modules spécialisés (cartes son, vidéo) s'inspirant de la technologie des réseaux neuromimétiques. Les liens des réseaux de neurones avec les algorithmes génétiques (pour la modification des poids synaptique, par exemple), la théorie du chaos (modélisation d'un attracteur étrange), le besoin d'algorithmes parallèles, et l'association avec l'IA cognitive permettent d'augurer du développement de la technologie neuromimétique. Bref, il faudra compter avec les réseaux de neurones

réseau sortie obtenueEN

TRE

ES

Page 15: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 15

1.3. Les algorithmes évolutionnistes :

1.3.1 Introduction : Cette citation résume à elle seule le principe général de la méthode : " J’ai donné le nom de sélection naturelle ou de persistance du plus apte à cette

conservation des différences et des variations individuelles favorables à cette élimination des variations nuisibles "

Charles Darwin, L’origine des espèces

Les algorithmes génétiques (AG), plus généralement regroupés sous le nom d'algorithmes évolutionnistes (AE), sont des méthodes adaptatives généralement utilisées dans les problèmes d’optimisation. Ils sont basés sur le processus d’évolution génétique des organismes biologiques à travers des générations selon la théorie de l’évolution de Darwin.

[Holland, 1975] a découvert que le processus de l'évolution naturelle proposé par [Darwin, 1859] pouvait être simulé pour une population d'individus (de longueur fixe) où chaque individu représente une solution possible d'un problème.

Figure 9 : Représentation schématique de l’AE

Au temps zéro, une population est générée aléatoirement. Chaque individu est évalué selon une valeur correspondant à sa performance. Les meilleurs individus auront plus de chance que les moins bons de devenir les parents de la génération suivante. L'algorithme boucle sur un cycle - Sélection des meilleurs individus - Croisements stochastiques entre individus et/ou mutation stochastique, ce qui génère de nouveaux individus appelés "enfants" - re-sélection des meilleurs, etc. Le critère d'arrêt dépend de l'implémentation, le plus simple est d'arrêter lorsqu'une performance donnée est atteinte par au moins un individu.

Parmi les AE que nous venons de citer, nous avons choisi de traiter des Algorithmes Génétiques (AG). En effet, ils nous paraissaient concilier au mieux puissance, généralité et facilité de programmation. Leur particularité est qu’ils sont fondés sur le Néo-Darwinisme, c’est-à-dire l’union de la théorie de l’évolution et de la génétique moderne. Ainsi, les variables sont généralement codées en binaire (par analogie avec les quatre lettres de l’alphabet génétique) sous forme de gènes dans un chromosome. Des opérateurs génétiques (croisement, mutation) sont appliqués à ces chaînes binaires que sont les chromosomes [Bäck, 1996 et Goldberg, 1994].

Page 16: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 16

0. Définir un codage du problème 1. Créer une population initiale P0 de q individus{X1, X2, …,Xq} i := 0 ; 2. Evaluation des individus. Soit F la fonction d’évaluation. Calculer F(Xi) pour chaque individu Xi de Pi 3. Sélection : Sélectionner les meilleurs individus (au sens de F) et les grouper par paire. 4. Application des opérateurs génétiques a - Croisement : Appliquer l’opération de croisement aux paires sélectionnées b - Mutation : Appliquer la mutation aux individus issus du croisement Ranger les nouveaux individus obtenus (de 1 et 2) dans une nouvelle génération Pi+1

Répéter les étapes 2,3 et 4 jusqu’à l’obtention du niveau de performance souhaité.

1.3.2 Squelette de l’algorithme Le principe général de la méthode est décrit sur l’algorithme 1 issus de [Mitchell 97] :

Algorithme 1 : Principe générale des AE

Le but des AG est de déterminer les extrêmes d'une fonction

où X est un ensemble quelconque appelé espace de recherche et f est appelée fonction d'adaptation ou fonction d'évaluation ou encore fonction fitness. La fonction agit comme une «boite noire»pour l'AG. Aussi des problèmes très complexes peuvent être approchés par programmation génétique sans avoir de compréhension particulière du problème.

1.3.3 Le codage

Le premier pas dans l'implantation des algorithmes génétiques est de créer une population d'individus initiaux. En effet, les algorithmes génétiques agissent sur une population d'individus, et non pas sur un individu isolé. Par analogie avec la biologie, chaque individu de la population est codé par un chromosome ou génotype [Holland, 1975]. Une population est donc un ensemble de chromosomes. Chaque chromosome code un point de l'espace de recherche. L'efficacité de l'algorithme génétique va donc dépendre du choix du codage d'un chromosome. Exemple : [Lucidarme 03]

Prenons pour exemple le problème du juste chiffre : nous disposons de quatre nombres et le but est de s’approcher le plus près possible d’un cinquième nombre en réalisant des opérations arithmétiques avec les 4 premiers. Nous supposerons que les opérateurs sont : l’addition, la multiplication, la soustraction et la division. Nous émettrons également comme hypothèse que l’opération arithmétique doit être constituée de trois opérateurs sans priorité (il n’y a pas de parenthèse dans l’opération).

Page 17: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 17

Par exemple, si les chiffres sont : 24 25 30 et 7 et que le résultat doit être 142, une bonne solution sera : 24 * 25 = 600 / 30 = 20 * 7 = 140. Si un algorithme génétique est utilisé pour résoudre ce problème, la chaîne chromosomique pourra être constituée de 14 bits : 8 bits pour les 4 nombres (Tableau 1) et 6 bits pour les 3 opérateurs (Tableau 2). Un exemple de chaîne chromosomique est donné sur le Tableau 3.

1.3.4 Fonction d'évaluation et fonction fitness

Pour calculer le coût d'un point de l'espace de recherche, on utilise une fonction d'évaluation. L'évaluation d'un individu ne dépendant pas de celle des autres individus, le résultat fournit par la fonction d'évaluation va permettre de sélectionner ou de refuser un individu pour ne garder que les individus ayant le meilleur coût en fonction de la population courante : c'est le rôle de la fonction fitness. Cette méthode permet de s'assurer que les individus performants seront conservés, alors que les individus peu adaptés seront progressivement éliminés de la population.

La fonction de fitness:

• Dépend des critères que l'on veut maximiser ou minimiser. • Est une boîte noire dont l'entrée est le phénotype et la sortie est la valeur du fitness. • Peut changer de façon dynamique pendant le processus de recherche. • Peut être si compliquée qu'on ne peut calculer que sa valeur approchée. • Devrait attribuer des valeurs très différentes aux individus afin de faciliter la sélection.

Page 18: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 18

• Doit considérer les contraintes du problème. S'il peut apparaître des solutions invalides, la fonction de fitness doit pouvoir attribuer une valeur proportionnelle à la violation des contraintes.

• L'environnement peut présenter du bruit dans les évaluations (partielles). • La valeur de la fonction de fitness peut être aussi attribuée par l'utilisateur (ex. valeur

esthétique [Gritz95]).

1.3.5 La procédure de sélection

Comme dans la sélection naturelle, un caractère stochastique est introduit dans la probabilité de sélection qui est toujours basée sur la fonction de fitness. Les individus sélectionnés sont placés dans un bassin de reproduction dans lequel auront lieu des opérations de croisement et de mutation. Plusieurs procédures de sélections existent tels que:

• Sélection par la Roulette (Roulette Wheel Selection) : Dans cette méthode de

sélection, les chromosomes sont choisis avec une probabilité proportionnelle à leur fitness, par exemple un individu avec un fitness de 2 aura deux fois plus de chance que celui qui n'en a que 1 d’être sélectionnée comme géniteur . Ainsi, les individus ayant la plus grande valeur de fitness auront plus de chance d'être choisis [Goldberg89]. Dans une population de N individus, la fonction de sélection est la suivante:

Equation 2 : Fonction de sélection par la roue de la fortune

• Sélection par Rang de Classement : Dans ce schéma de sélection, les

individus d'une population sont classés dans une liste selon l'ordre croissant de leur fitness, ensuite la sélection est proportionnelle à leur rang dans la liste de la population [Davis91]. Cette méthode est utilisée pour une fonction de fitness faible ou quand les valeurs de fitness sont très proches. Le classement permet de calculer le nouveau fitness basé sur le rang :

Equation 3 : Fonction de sélection par Rang de classement

1.3.6 Les opérateurs génétiques

Les opérateurs génétiques sont utilisés pour générer la population suivante. On distingue deux types d’opérateurs : les opérateurs de croisement, qui réalisent une opération sur deux individus et les opérateurs de mutation, qui n’opèrent que sur un seul individu.

Page 19: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 19

Opérateur croisement

L’opérateur croisement favorise l’exploration de l’espace de recherche. Considérons deux gènes A et B pouvant être améliorés par mutation. Il est peu probable que les deux gènes améliorés A’ et B’ apparaissent par mutation dans un même individu. Mais l’opérateur de croisement permettra de combiner rapidement A’ et B’ dans la descendance de deux parents portant chacun un des gènes mutants. Il est alors possible que la présence simultanée des deux gènes produise un individu encore plus adapté [Dessales, 1996]. L’opérateur de croisement assure donc le brassage du matériel génétique et l’accumulation des mutations favorables. En termes plus concrets, cet opérateur permet de créer de nouvelles combinaisons des paramètres des composants.

Le phénomène de croisement est une propriété naturelle de l’ADN. C’est par analogie qu’ont été conçus les opérateurs de croisement dans les AG. Il existe deux méthodes classiques de croisement :

• " Croisement en un point " : on choisit au hasard un point de croisement, pour chaque couple (Figure 10). Notons que le croisement s’effectue directement au niveau binaire, et non pas au niveau des gènes. Un chromosome peut donc être coupé au milieu d’un gène.

Figure 10 : Représentation schématique du croisement en 1 point. (Les chromosomes sont bien sûr généralement beaucoup plus longs.

• " Croisement en deux points " : on choisit au hasard deux points de croisement (Figure 11). Par la suite, nous avons utilisé cet opérateur car il est généralement considéré comme plus efficace que le précédent [Beasley, 1993b]. Néanmoins nous n’avons pas constaté de différence notable dans la convergence de l’algorithme.

Figure 11 : Représentation schématique du croisement en 2 points.

Notons que d’autres formes de croisement existent, du croisement en k points jusqu’au cas limite du croisement uniforme…

Page 20: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 20

Opérateur mutation

Nous définissons une mutation comme étant l’inversion d’un bit dans un chromosome (Figure 12). Cela revient à modifier aléatoirement la valeur d’un paramètre du dispositif. Les mutations jouent le rôle de bruit et empêchent l’évolution de se figer. Elles permettent d’assurer une recherche aussi bien globale que locale, selon le poids et le nombre de bits mutés. De plus, elles garantissent mathématiquement que l’optimum global peut être atteint.

Figure 12 : représentation schématique d’une mutation dans un chromosome.

D’autre part, une population trop petite peut s’homogénéiser à cause des erreurs stochastiques: les gènes favorisés par le hasard peuvent se répandre au détriment des autres. Cet autre mécanisme de l’évolution, qui existe même en l’absence de sélection, est connu sous le nom de dérive génétique. Du point de vue du dispositif, cela signifie que l’on risque alors d’aboutir à des dispositifs qui ne seront pas forcément optimaux. Les mutations permettent de contrebalancer cet effet en introduisant constamment de nouveaux gènes dans la population [Beasley, 1993b].

1.3.7 Conclusion

L'efficacité des algorithmes évolutionnistes sur un petit ensemble est compétitive avec les autres méthodes développées. Comme l’AG doit maintenir une population de solutions et doit maintenir toutes les formes dans le chromosome pour les faire évoluer en parallèle, la solution qu'il fournit est une solution globale avec le placement de tout l'ensemble. Selon la taille de la population, il peut exiger un temps plus long avant qu'une solution acceptable soit obtenue. Mais il est capable de trouver une solution globale. Cependant, il ne peut pas fournir de sous-solution en cours de la recherche au préjudice d'altérer la structure du chromosome. Toutefois, ceci ne devrait pas constituer de réel problème puisque les interactions entre gènes sont faibles; en enlevant un gène du chromosome, la longueur du chromosome change. On peut alors faire une recherche avec les chromosomes à taille évolutive. On peut considérer le cas où l’AG doit s'adapter à un environnement changeant [Collard94].

1.4 Estimation de la performance

Il était impossible de clôturer ce chapitre sans discuter d’un point clef de toute

méthode d’apprentissage : l’estimation de la performance. Appelée différemment selon les méthodes (« fitness » pour les algorithmes génétiques ou encore « erreur » pour les réseaux de neurones artificiels) l'estimation de la performance est un paramètre essentiel de l'apprentissage.

Page 21: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 21

Le principal intérêt de l'apprentissage est de laisser l'agent trouver par lui-même la meilleure stratégie pour maximiser la récompense. Si la récompense est trop contrainte, l'apprentissage ne présente aucun avantage par rapport aux méthodes traditionnelles.

Les différents types d'estimations de la performance en 4 catégories [ Lucidarme 03]:

L'erreur : Utilisée dans les réseaux de neurones, l'erreur donne une information proportionnelle à la différence entre la sortie désirée et la sortie obtenue. De plus lorsque la sortie du système est un vecteur, l'erreur est également un vecteur de même dimension. Cette estimation de la performance est la plus contraignante car elle exige un modèle de comportement connu et fait tendre l'apprentissage à copier ce modèle. Les récompenses instantanées : Les récompenses instantanées donnent une estimation de la performance correspondant à la stratégie courante. Contrairement à l'erreur, même si la sortie du système est un vecteur. Les récompenses retardées : Une récompense retardée est attribuée à la fin d'une séquence d'actions. Elle estime la performance de l'ensemble de ces actions. Le coût : La plupart des méthodes d'apprentissage sont présentées comme cherchant à maximiser la récompense. L'objectif de la tâche peut aussi être de minimiser un critère, par exemple une consommation d'énergie ou un temps de déplacement. Dans ces cas, on parle de coût et non de récompense. Mathématiquement, minimiser une fonction de coût peut toujours se ramener à maximiser une récompense. 1.5 Conclusion : Nous avons présenté différentes techniques d'apprentissage possédant chacune leurs propres spécifications : les réseaux de neurones peuvent apprendre à mimer des fonctions mathématiques à partir d'une base d'exemples. Les algorithmes évolutionnistes peuvent faire évoluer des comportements afin d'en améliorer les performances.

Les techniques présentées dans ce chapitre représentent pour nous des outils qui permettent d’appliquer l’apprentissage sur nos systèmes. Comme nous le verrons par la suite, aucune de ces techniques ne peut être appliquée tel quel afin de répondre notre problématique C’est pourquoi nous allons, dans les chapitres suivants, présenter des versions améliorées, voire combiner les deux techniques afin de répondre aux critères imposés. Afin de tester et valider les techniques proposées nous disposons d’une plate-forme expérimentale sur laquelle les méthodes sont testées. Cette plate-forme est présentée dans le chapitre suivant.

Page 22: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 22

Chapitre 2

Application à la robotique

2.1. Introduction Les travaux sur l'apprentissage n'étaient pas toujours appliqués à la robotique ; de plus les premiers travaux appliqués à la robotique, étaient simulés sur un ordinateur. Rapidement, des différences notables entre le monde simulé et l'environnement réel ont empêché une transposition exacte des résultats simulés vers de véritables plates-formes.

C'est pour cette raison que la nécessité d'expérimenter de nouvelles méthodes sur de

véritables robots mobiles s'est faite ressentir. Parmi les contraintes imposée : les temps d'apprentissage doivent être inférieurs aux temps de décharge des accus, les méthodes doivent être robustes vis-à-vis des pannes, de la décharge des batteries et du bruit, qu'il s'agisse aussi bien de celui des capteurs, que celui des actionneurs. Ainsi un algorithme d'apprentissage performant dans sa version simulée pourra être moins efficace dans sa version réelle. On peut citer l'exemple d'un robot chargé d'une tâche d'exploration, dont l'algorithme rétribue l'action suivant la distance parcourue sans rencontrer d'obstacle. La version simulée sur ordinateur se montre très performante alors que dans le cas pratique, le robot ne fait que tourner sur lui-même, la distance étant calculée par le nombre de tours de roue l'algorithme récompense cette action pensant que le robot parcourt une grande distance sans rencontrer d'obstacle. Dans ce contexte nous allons étudier dans ce chapitre quelques exemples d’application de l’apprentissage sur des robots réels. Nous allons nous intéresser à deux implémentations d’apprentissage : l’une par des réseaux de neurone à travers le robot « REMI » et l’autre par les algorithme évolutionnistes suivant les expériences sur le robot « khepera » .

Page 23: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 23

2.2. Pilotage d’un véhicule autonome à l’aide de réseaux de neurones Les résultats présentés dans cette partie ont été publiés en 1996 par revue de l’Association

amicale Les Ingénieurs SUPÉLEC. L’ensemble des résultats et figures présentées ici est extrait d'un article de Isabelle Rivals.

2.2.1. Le robot REMI de la SAGEM [Rivals 96]

L’unité de recherche en Automatique de la Division Navigation et Défense de

SAGEM a équipé REMI (Robot Evaluator for Mobile Investigations), un 4x4 Mercedes de série, des actionneurs nécessaires au pilotage, et de capteurs pour la localisation du robot et des obstacles éventuels (voir Figure 13). Le robot REMI n’est pas destiné à être commercialisé, mais les résultats de l’étude ont permis de poser les jalons d’applications industrielles futures, telles que l’automatisation de véhicules se déplaçant dans des forêts, des exploitations agricoles ou des chantiers de construction, de robots anti-incendie ou de déminage, afin d’éviter au maximum l’intervention humaine dans des tâches fastidieuses ou dangereuses. On peut également envisager dans un futur proche la réalisation en série de certaines fonctions de pilotage sur les automobiles, comme les régulateurs de vitesse, déjà largement répandus aux États-Unis.

2.2.2. Problèmes posés par le pilotage de robots mobiles en tout-terrain

Les robots mobiles à roues ont fait l’objet de nombreux travaux : conception mécanique, systèmes de vision et de localisation, planification du déplacement, et commande proprement dite. L’élaboration de cette dernière pose en effet de grandes difficultés : un véhicule à roues est un système intrinsèquement non linéaire de par sa cinématique et ses caractéristiques dynamiques (actionneurs, moteur thermique) ; de plus, et particulièrement en tout-terrain, il peut être soumis à de nombreuses perturbations, tels que des changements d’adhérence du terrain ou de pente, des coups de vent, etc. La commande d’un tel système est donc un problème qui, pour être résolu de façon satisfaisante, doit prendre ces non-linéarités et ces perturbations en considération.

Figure 13 : Le robot REMI (D’après [Rivals 96])

Page 24: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 24

2.2.3. Définition de la tâche de pilotage

La mission du robot, définie au départ par un opérateur humain, consiste en une destination finale et des contraintes temporelles. À bord du robot se trouve un module de planification qui, en fonction de la position du robot, de son environnement et de sa mission, élabore une liste de points de passage assortis d’une vitesse moyenne. Cette liste est transmise à un module de guidage qui la transforme en une séquence de positions, d’attitudes, et de vitesses de consigne. La fonction de pilotage consiste en l’élaboration des commandes des actionneurs de la direction (le volant) et de la vitesse (l’accélérateur et les freins) de manière à respecter ces consignes. Or, dans toutes les études précédemment effectuées par la SAGEM, le pilotage du véhicule était réalisé de façon classique, c’est-à-dire principalement à l’aide de techniques linéaires : le but de la collaboration avec le Laboratoire d’Électronique de l.ESPCI était l’évaluation des méthodes de modélisation et de commande non linéaires neuronales pour réaliser les lois de commande du pilotage (voir les correcteurs neuronaux représentés Figure 11).

Figure 14 : Architecture d’un robot mobile autonome piloté par réseaux de neurones. (D’après [Rivals 96])

2.2.4. La modélisation et la commande par réseaux de neurones

La démarche neuronale consiste tout d’abord à modéliser le comportement du

processus à l’aide d’un réseau de neurones bouclé. Le but est d’obtenir un modèle aussi précis que possible, c’est-à-dire éventuellement meilleur que les modèles généraux répertoriés dans la littérature, et prenant en compte les non-linéarités et caractéristiques du robot particulier étudié (saturations, dynamique des actionneurs.).

Page 25: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 25

À l’aide de ce modèle, on peut alors effectuer l’apprentissage d’un réseau de neurones correcteur de manière à ce que le comportement dynamique du robot respecte le cahier des charges. Comme le pilotage concerne à la fois la direction et la vitesse du robot (ainsi qu’il apparaît sur la Figure 11), nous avons en fait élaboré deux modèles, un modèle du comportement latéral et un modèle du comportement longitudinal, et mis au point les deux correcteurs correspondants.

2.2.4.1. Modélisation de processus Il s’agit de réaliser l’apprentissage d’un modèle dynamique neuronal du processus, un

réseau bouclé de coefficients Cm. Les séquences d’entrées et de sorties désirées définissant la tâche de modélisation sont la séquence des entrées de commande {u(k)} appliquées au robot et les sorties du processus {yp(k)} mesurées pendant le fonctionnement (voir Figure 12).

Figure 15 : Système d’apprentissage d’un modèle neuronal.

Le but de l’apprentissage est d’ajuster les coefficients Cm du réseau modèle de manière telle que ses sorties {y(k)} soient aussi proches que possible des sorties désirées {yp(k)}. Pour cela, on définit une fonction de coût Jm, qui est la somme des carrés des différences entre les sorties du réseau et les sorties désirées :

Equation 4 : Fonction d’estimation de performance (coût)

On modifie itérativement les coefficients Cm de manière à minimiser la fonction de

coût Jm selon �Cm = µ D, où D est une direction de descente, et µ un scalaire (le pas dans la direction de descente) ; en général, on calcule le gradient de la fonction de coût à l’aide de l’algorithme dit de rétro propagation, et on l’utilise soit directement comme direction de descente, soit plus efficacement comme ingrédient d’une méthode du second ordre (méthode de quasi-Newton par exemple). Application au véhicule REMI

Dans le cas du modèle latéral, l’entrée est la commande du volant et la sortie le cap du véhicule. Le modèle neuronal obtenu a l’avantage sur son homologue classique, un simple modèle « bicyclette », de modéliser précisément le comportement dynamique de l’actionneur du volant, un moteur à courant continu sur la colonne de direction (qui présente des saturations en vitesse angulaire et en position), ainsi que la non-linéarité géométrique du mécanisme de direction.

Page 26: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 26

Dans le cas du modèle longitudinal, les entrées sont les commandes du frein et de

l’accélérateur, et la sortie, la vitesse. Nous avons élaboré un modèle longitudinal qui présente des performances analogues à celles du modèle utilisé habituellement, mais offre l’avantage d’une plus grande simplicité et d’une compacité remarquable (les modèles latéraux et longitudinaux ne comportent que cinq neurones chacun).

Notons que, contrairement à une idée largement répandue selon laquelle la modélisation neuronale ne permet de mettre au point que des modèles .boîte noire., c’est-à-dire dont les paramètres n’ont aucune signification physique, la démarche neuronale peut, comme les approches classiques, tirer profit de l’étude des phénomènes physiques mis en jeu, et intégrer ces connaissances dans les modèles (en mêlant aux neurones standards - à tangente hyperbolique – des « neurones » réalisant des fonctions déterminées, en fixant les valeurs de certains coefficients.) ; nous avons de cette manière utilisé avec profit les modèles mathématiques disponibles.

2.2.4.2. Commande de processus

La mise au point d’un système de commande non adaptatif suppose deux phases, une

phase préalable d’apprentissage au cours de laquelle sont estimés les coefficients du réseau correcteur, et une phase d’utilisation, où le correcteur, dont les coefficients sont fixés, est mis en oeuvre avec le processus.

2.2.4.2.1. Phase d’apprentissage

Il s’agit de réaliser l’apprentissage d’un correcteur neuronal à l’aide du modèle précédemment établi. Les séquences d’entrées et de sorties désirées définissant la tâche de commande sont la séquence des entrées de consigne {r(k)} et les sorties {yr(k)} d.un modèle de référence définissant le comportement dynamique désiré pour le système de commande, conformément au cahier des charges (voir Figure 13).

Figure 16 : Système d’apprentissage d’un correcteur neuronal.

De manière similaire à la modélisation, le but de l’apprentissage est d’ajuster les

coefficients Cc du réseau correcteur de manière telle que les sorties du modèle neuronal {y(k)} soient aussi proches que possible des sorties désirées {yr(k)}. Pour cela, on définit une fonction de coût Jc, (Equation 4).

Page 27: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 27

De même, on modifie itérativement les coefficients Cc de manière à minimiser la fonction de coût Jc. Ici, le modèle neuronal est nécessaire pour évaluer la valeur du gradient par rapport aux coefficients Cc du correcteur.

2.2.4.2.2. Phase d’utilisation

Après la phase d’apprentissage, le correcteur est utilisé avec le processus. La solution

la plus simple consiste en un simple bouclage avec ce dernier (voir Figure 14). Dans ces systèmes de commande, le signal de rétroaction est la sortie mesurée yp du processus.

Figure 17 : Système de commande en simple bouclage.

Si le processus est susceptible de subir des perturbations importantes, ou si le modèle

est peu fidèle, nous avons montré qu’il est intéressant de mettre en oeuvre le correcteur neuronal dans un système de commande avec modèle interne, qui est le modèle neuronal utilisé pour l’apprentissage du correcteur (voir Figure 15). Le principal signal de rétroaction est ici la différence emi entre la sortie du modèle interne et celle du processus. Cette différence est représentative des défauts de modélisation et de l’effet de perturbations, et sa prise en considération rend le système de commande robuste vis-à-vis de ces défauts et des perturbations. Ce type de système de commande n’est pas particulier aux réseaux de neurones, mais l’utilisation de ces derniers permet d’améliorer considérablement les performances de la commande avec modèle interne dans le cas de processus non linéaires.

Figure 18 : Système de commande avec modèle interne.

Application au véhicule REMI

Pour la commande latérale, l’entrée est constituée de la position et de l’attitude de consigne. Nous avons exprimé le problème de l’asservissement latéral comme un problème de commande optimale au sens d’un coût quadratique, méthode qui se prête donc bien à l’élaboration d’un correcteur neuronal selon les principes présentés plus haut. La recherche ab initio d’une loi de commande optimale, étendue à des modèles non linéaires et à l’utilisation d’un correcteur neuronal, est une généralisation de la commande linéaire quadratique. Le modèle latéral étant très précis, ce système a été mis en oeuvre en simple bouclage.

Page 28: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 28

Pour la commande longitudinale, l’entrée est la consigne de vitesse. Le problème de la poursuite de la consigne de vitesse était plus délicat en raison de la moindre précision du modèle longitudinal du véhicule. Nous avons donc développé un système de commande neuronal avec modèle interne, afin de pallier les imperfections du modèle longitudinal, ainsi que l’effet des perturbations de pente ou de changements de terrain. À l’instar des modèles, les correcteurs ne mettent en oeuvre qu’une dizaine de neurones, et ne posent aucun problème de portabilité (ils ont été implantés en langage C sur un processeur 68030).

2.2.5. Performances obtenues et comparaison avec le système classique

Le module de pilotage neuronal a été testé à grande vitesse sur route (jusqu’à 72 km/h), ainsi qu’en tout-terrain sur des pistes d’essais de caractéristiques calibrées de l’ETAS (Établissement Technique d’AngerS). Les trajets présentaient de fortes variations de courbure (courbure maximale de 0,1 m-1), des pentes allant jusqu’à 40%, et des dévers maximaux de 30%, sur bitume et en tout terrain.

Les performances du système de commande du cap se sont révélées excellentes, avec

une erreur latérale n’excédant jamais 40 cm. Le système de commande de la vitesse avec modèle interne garantit une erreur statique nulle, même en présence de perturbations importantes (pente de 40%), et un écart-type de l’erreur de l’ordre de 0.3 m/s en tout-terrain.

La supériorité du système neuronal sur son homologue classique est due

principalement à la prise en considération des non-linéarités du véhicule via le modèle : celle de l’actionneur du volant (saturations en vitesse et en position) et du moteur thermique (aux grandes accélérations et ouvertures du papillon des gaz). Toutefois, si la performance du système de commande du volant est supérieure à celle du correcteur classique, celle du système de commande de la vitesse est équivalente. Cependant, le système neuronal avec modèle interne est potentiellement mieux adapté au pilotage en tout-terrain, car il est plus robuste vis-à-vis des perturbations de terrain de par sa conception même.

2.3. Algorithmes évolutionnistes pour les systèmes multi-robots

2.3.1. Introduction

Les résultats présentés dans cette partie ont été publiés en 1994 par Dario Floreano et Franscesco Mondada. Les résultats et figures présentées ici sont extraites d'un article de Dario Floreano [Floreano 94]. L’expérience consiste à faire apprendre un comportement réactif à un robot mobile, il s’agit en l’occurrence d’une tâche d’évitement d’obstacles. La méthode d’apprentissage utilisée est basée sur les algorithmes génétiques.

2.3.2. Description de l’expérience Un seul robot sera utilisé pour l’expérience. Afin de pouvoir expérimenter de grandes populations d’individus, les comportements des 80 individus sont testés successivement sur le même robot. Il s’agit du robot mobile Khepera [Mondada 89] montré sur la Figure 35. Ce robot est de forme cylindrique, son diamètre est de 55 mm. Sa petite taille permet de faire évoluer plusieurs robots dans des environnements de taille restreinte. Ici l’unique robot évolue dans un environnement de 80x50 cm, montré sur la Figure 36.

Page 29: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 29

L’objectif est donc d’évoluer en sécurité dans cet environnement c'est-à-dire d’éviter les obstacles et d’avancer le plus rapidement possible. La récompense instantanée attribuée à l’agent est donnée par l’Équation 5. Ce type de récompense instantanée a été discuté dans le chapitre 1.

Figure 19 : Le robot mobile Khepera

Figure 20 : L’environnement de l’expérience (D'après [Floreano 94])

Équation 5 : Récompense instantanée attribuée à l’agent (D'après [Floreano 94])

Où :

• V est la vitesse moyenne de rotation des deux roues, • �v est la différence signée de la vitesse des deux roues, • i est une valeur proportionnelle à la quantité d'obstacles proches du robot.

Le comportement de l’agent (en 300ms) est régi par un contrôleur neuronal. Le but de

l’apprentissage est donc de déterminer les poids synaptiques optimaux de ce réseau de neurones. Les poids sont codés dans la séquence chromosomique de chaque agent. Voici les paramètres utilisés pour l’algorithme génétique : Taille de la population : 80 individus ; Nombre de générations : 100 Probabilité de croisement : 0.1 ; Probabilité de mutation : 0.2 Intervalle de mutation : ± 0.5 ; Intervalle initial des poids : ± 0.5 Intervalle final des poids : non borné ; Durée de vie d’un individu : 80 actions

Page 30: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 30

2.3.3. Résultats

Le robot mobile Khepera a été capable d’apprendre une stratégie d’évitement d’obstacles en moins de 100 générations. L’évolution de la performance est montrée sur la Figure 37. L’estimation d’une génération dure environ 39 minutes. Après 50 générations environ, les meilleurs individus ont développé une stratégie proche de l’optimale, leurs trajectoires sont fluides et ils évitent les obstacles. Ce qui leur permet de faire le tour complet du corridor. La disposition des capteurs n’est pas symétrique sur un robot Khepera. L’avant du robot dispose de six capteurs et l’arrière seulement deux. La fonction de récompense ne prenant pas en compte la vitesse signée du robot, aucun sens de déplacement n’est imposé au robot. Et pourtant, une direction prioritaire émerge au fil des générations, le robot se déplace dans la direction la mieux représentée par les capteurs.

Figure 21 : Performance moyenne de la population et du meilleur individu en fonction

des générations (D'après [Floreano 94])

Figure 22 : Evolution de chacun des paramètres de la récompense au fil des générations

(D’après [Floreano 94])

Les trois composantes de la récompense ont été découplées afin de pouvoir étudier l’évolution de l’apprentissage (Figure 19). Chaque point représente la position dans l’espace d’état du meilleur agent de la génération. Dans un premier temps, les agents cherchent à diminuer le nombre de collisions. En réalité le contrôleur neuronal sait de mieux en mieux discriminer les obstacles des zones libres. Une fois que l’agent sait se déplacer en évitant les obstacles, il incrémente progressivement la vitesse de déplacement en conservant ses propriétés d’évitement d’obstacles.

Page 31: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 31

D’autres résultats montrent également la stabilité du système. L’expérience consiste à écarter les comportements du point d’adaptation et à observer la réaction du système: les agents retournent automatiquement dans la position initiale d’équilibre.

2.3.4. Conclusion

Nous venons de présenter des travaux et résultats antérieurs, qui démontrent déjà la

possibilité d’appliquer des méthodes évolutionnistes sur des ensembles de robots mobiles. Bien que ces résultats expérimentaux n’aient été obtenus que sur un seul robot mobile, cela n’enlève en rien aux conclusions scientifiques relatives aux systèmes multi-robots. D’ailleurs, disposer de 80 robots évoluant en parallèle dans des environnements différents ne changerait pas les résultats.

Ces résultats montrent qu’une population d’agents peut apprendre un jeu de stratégies et de comportements en s’adaptant à sa propre structure et à son environnement. Deux critères principaux ont émergé : la sélection naturelle d’un sens de déplacement et l’adaptation automatique de la vitesse de l’agent. L’agent a naturellement déterminé la vitesse optimale de déplacement permettant de maximiser la récompense, sans pour autant percuter d’obstacles. A la vue de ces résultats, l’analogie avec le vivant se fait clairement ressentir. Et c’est une fois de plus le vivant qui va nous inspirer la suite de ses travaux. Afin de pouvoir appliquer ces méthodes sur des systèmes multi-robots, une version distribuée des algorithmes évolutionnistes est proposée dans la deuxième partie de ce chapitre.

2.4. Reproduction de comportements intelligents primitifs

L’EPFL (Ecole Polytechnique Fédérale de Lausanne) a créé un robot baptisé Khepera (figure 16) , aujourd’hui distribué par la société suisse K-Team. Il possède un corps circulaire de 6 cm de diamètre et est doté de deux roues et huit capteurs lumineux (6 à l’avant et 2 à l’arrière). Il est relié à un ordinateur par l’intermédiaire d’un câble. Les réseaux de neurones lui dictant son comportement sont simulés par informatique dans l’ordinateur. L’architecture du réseau et la valeur des poids attribués aux connexions entre les neurones est codée par ce que l’on appelle le chromosome du robot. Et c’est l’ordinateur qui produit de façon aléatoire, une première population de chromosomes artificiels. Chaque configuration est ensuite testée sur le robot pendant quelques minutes, au cours desquelles l’ordinateur évalue ses performances.

2.4.1. Comportement du robot

Il a été question de développer la capacité des robots à avancer en ligne droite et à éviter les obstacles. Il a donc fallu demander à l’ordinateur de sélectionner les individus dont les roues tournaient dans le même sens (mouvement en ligne droite) et dont les capteurs étaient peu activés (ce qui reflète l’éloignement des obstacles). On peut comparer ce principe à la sélection naturelle. Après avoir testé chaque chromosome, les plus performants sont sélectionnés, pour être ensuite mélangés au hasard deux par deux : le chromosome 8 est par exemple apparié au chromosome de l’individu 67. De plus, pour recréer les mutations du monde vivant, la valeur de chaque bit du nouveau chromosome a une probabilité très faible d’être inversée (0 à 1 ou 1 à 0). On effectue ainsi plusieurs fois cette opération.

Page 32: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 32

Au bout de 50 générations, il a été observé un individu capable de faire le tour du labyrinthe de test, sans jamais heurter un obstacle. De plus, cet individu se déplaçait toujours dans la direction correspondant au plus grand nombre de capteurs. Les individus se déplaçant dans la direction ayant le moins de capteurs, ont disparus de la population car ils avaient tendance à rester bloqué dans les coins qu’ils ne percevaient pas bien.

2.4.2. Coévolution de deux robots

Figure 23 : Robot “ prédateur ” et robot “ proie ” lors d’une expérience de coévolution

Un robot prédateur et un robot proie ayant des morphologies différentes. Le robot prédateur a un champs visuel de 36 degrés et le robot proie, s’il est muni seulement de capteurs simples capables de déceler un objet distant de 2 centimètres, peut se déplacer deux fois plus vite que le prédateur. Chaque paire proie - prédateur va coévoluer dans une enceinte carrée et pouvoir se déplacer librement durant deux minutes. Le critère de sélection est le délai précédant la collision.

Au bout de 20 générations, le prédateur a acquis la capacité de rechercher la proie et de la poursuivre pendant que celle-ci s’échappe dans toute l’enceinte. Cependant comme la proie est plus rapide que lui, cette stratégie n’est pas toujours payante. Après 25 générations supplémentaires, il repère la proie à distance, puis finit par l’attaquer en anticipant sur sa trajectoire. Dès lors, la proie se met à se déplacer si vite le long des parois que le prédateur la manque souvent et va s’écraser sur une paroi. Encore 25 générations plus tard, le prédateur a mis au point la “ stratégie de l’araignée ”. Il se déplace lentement jusqu’à une paroi et attends la proie, qui bouge trop vite pour déceler attends le prédateur et donc pour l’éviter. Cependant lorsqu’on laisse évoluer les deux espèces de robots plus longtemps, nous avons constaté qu’elles redécouvraient de vieilles stratégies possibles pour les deux espèces de robots est en effet limité. Même dans la nature, on observe que des hôtes et des parasites évoluant ensemble (par exemple, des plantes et des insectes) recyclent au fil des générations de vieilles stratégies.

Page 33: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 33

2.5. Conclusion L’une des problématiques majeures de la recherche actuelle en Intelligence Artificielle

l’introduction de techniques d’apprentissage automatique dans les systèmes robotiques dans le but d’obtenir des robots adaptatifs à leur environnement. C’est-à-dire des robots où les agents apprennent à se comporter, à interagir ou à s’organiser pour améliorer leurs performances collectives dans la réalisation d’une tâche. Cependant on se heurte encore à des obstacles importants.

Le premier obstacle est le problème du choix de la bonne technique d’apprentissage, qui nécessite de pouvoir évaluer sa pertinence par rapport à la tâche et par rapport au niveau (individuel ou collectif) auquel elle est censée s’appliquer. Ce choix implique de pouvoir comparer simplement les performances, sur un même problème d’un certain nombre de techniques qui différent par leur formalisme de représentation et leurs algorithmes. Le second obstacle, méthodologique et empirique, réside dans le choix du protocole d’apprentissage à utiliser (qui apprend, à quel rythme, dans quel contexte, etc.). Ce choix nécessite de disposer d’un environnement d’expérimentation robuste dans lequel il est possible de changer ce protocole sans avoir à modifier la technique d’apprentissage utilisée.

Dans les deux cas, conduire et comparer des expériences successives qui diffèrent, soit par le choix de la technique, soit par celui du protocole, sont des activités qui vont jouer un rôle capital dans la conception et le déploiement de robot autonome.

C’est ce que nous avons essayé de faire à travers l’apprentissage d’un robot selon un

réseau de neurone combiné à un algorithme évolutionnistes. Dans le prochain chapitre, nous traiterons le cas de la réalisation d’une tâche précise par un robot mobile.

Page 34: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 34

Chapitre 3

Apprentissage d’un robot mobile sur une tâche de « grazing »

3.1 Introduction Dans ce chapitre, nous allons présenter les travaux que nous avons réalisés sur l’apprentissage non supervisé sur une tache de « grazing » par un robot mobile. Le but de cette tâche consiste à couvrir la plus grande surface possible dans un environnement clôturé (Tondre une pelouse ou passer l’aspirateur dans une pièces sont des exemples typiques de ce genre de tâche).Durant ce stage nous avons concentré nos efforts sur deux aspects :

- L’étude de l’apprentissage du robot selon une méthode combinée entre les réseaux de neurones et les algorithmes évolutionnistes.

- La simulation en 3D du comportement du robot, que nous avons espérer le plus proche possible de son comportement réel, en utilisant les techniques des équipes de réalités virtuelles.

Apres avoir formulé mathématiquement le problème nous exposerons les résultats de

l’apprentissage obtenu par la simulation, que nous avons conçus, des différentes expériences.

Page 35: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 35

3.2 Description du robot « Type1 » (Annexe A) Les principales caractéristiques du robot Type 1 (figure 24) ont été tirées de la thèse de son créateur, Philippe Lucidarme [Lucidarme 03].

Type 1 est un robot mobile autonome de forme cylindrique, d’environ 13 cm de diamètre et 12 cm de hauteur (sans bras manipulateur). Son châssis est équipé de deux roues différentielles montées sur des moteurs à courant continu ainsi que de billes porteuses assurant sa stabilité. Il dispose d’une autonomie d’environ 45 minutes et sa vitesse peut atteindre les 1m.s-1.

Figure 24 : Le robot mobile Type 1

Les capteurs infrarouges du robot Type 1 sont utilisés pour la détection d'obstacles. Il

sont de 2 types : 16 émetteurs et 8 récepteurs infrarouges sont régulièrement espacés sur la périphérie. La disposition des capteurs est décrite sur la Figure 25. Ces capteurs sont modulés à 40KHz pour garantir une bonne insensibilité au bruit. La portée des communications infrarouges peut être ajustée. Elle est typiquement de 0,5 m.

Figure 25 : Disposition des capteurs et actionneurs

L’acquisition des capteurs et l’asservissement des moteurs sont gérés grâce à une carte

PC 486DX2x66 MHz au format PC104, avec 8 Mo de RAM. Le système d’exploitation est DOS. Bien que ce système ne soit pas qualifie de temps réel, nous avons l’assurance que le programme en cours d’exécution est le seul `a utiliser le processeur. Il est possible de garantir l’exécution cyclique d’une tache par l’intermédiaire une interruption synchrone facilement programmable.

Page 36: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 36

3.3 Formulation du problème Les expériences précédentes ont montres que le résultat de l’apprentissage était très dépendant du contexte. Par exemple, si le robot apprend toujours dans un environnement carré, il optimisera sa stratégie pour ce type d’environnement et ne sera pas performant dans un environnement complexe. Or, nous souhaitons réaliser des robots génétiques, c'est-à-dire qui soient capable d’évoluer dans tout type d’environnement. Une solution consiste à tester chaque individu de chaque génération sur un panel d’environnement différent, mais cette solution alourdie grandement les durées d’apprentissage. Pour réaliser notre tâche, selon une architecture appelée " subsomption ", cette architecture consiste à paralléliser les tâches. La Figure 26 décrit les différentes couches comportementales d’un agent.

Figure 26 : Décomposition basée sur le comportement d'accomplissement de tâches

(D'après [Brooks 86])

Le robot doit optimiser sa performance en couvrant la plus grande surface possible en un minimum de temps de navigation .Cette méthode de navigation peut être apprise grâce à l’implémentation d’un contrôleur neuronal que nous verrons dans le paragraphe suivant : chaque sortie du moteur est alors entièrement commandée par les entrées du capteurs. 3.3.1 Structure du contrôleur Le contrôleur est une fonction mathématique, statistique ou logique qui lie les entrées du système (les capteurs du robot) aux sorties (les actionneurs). Nous avons choisi d’utiliser un contrôleur neuronal car les réseaux de neurones peuvent modéliser la plupart des fonctions de Rn dans Rm. Nous avons utilisé un réseau sans couche cachée, inspiré du véhicule de Braitenberg [Brainteberg 84]. Ce réseau est constitué de deux perceptrons dont les entrées sont les informations directement issues des capteurs et les sorties les consignes appliquées aux moteurs. Le schéma du réseau est montré sur la Figure 27. Le réseau possède 9 entrées et deux perceptrons, il y a aura donc 18 poids synaptiques, ce sont ces 18 paramètres que l’apprentissage du robot permettra d’optimiser. Les travaux antérieurs (dont ceux de Braintenberg) ont montré qu’un réseau sans couche cachée permettait de résoudre ce problème d’évitement d’obstacles. Afin de ne pas allonger les temps d’apprentissage, nous avons choisi de conserver cette structure, mais l’utilisation d’un réseau multi-couches est envisageable pour des problèmes plus complexes.

Page 37: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 37

Figure 27 : Le contrôleur neuronal

Où :

��Vd et Vg sont respectivement les vitesses angulaires des roues gauche et droite. ��C0,C1,…..C7 : sont les coefficients associés aux 8 capteurs du robot tel que :

0 si le capteur ne détecte pas une collision i=0..7, Ci =

1 si le capteur détecte une collision

Equation 6 : Evaluation du capteur

Nos fonctions de transfert sont alors :

�=

+=7

0

1)(*)(i

iWgiCVg Et �=

+=7

0

1)(*)(i

iWdiCVd

Equation 7 : Calcul des vitesses angulaires des roues du moteur

Avec, Wg et Wd sont les poids synaptiques de notre réseau de neurones

Remarque :Nous avons ajouté 1 à ces sommes, correspondant à un 9éme capteur (voir figure..), pour que les vitesses ne soient pas nuls dans le cas où il n’y aucune collision.

Pour homogénéiser l’ensemble du système, toutes les valeurs ont été ramenées à

l’échelle unitaire. Les informations des capteurs et les commandes appliquées aux moteurs sont comprises entre 0 et 1, les valeurs des poids synaptiques sont bornées dans l’intervalle [-1, 1].selon le modèle suivant :

Figure 28 : Influence de chaque capteur sur le comportement global

Vg Vd

Page 38: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 38

3.3.2 Modèle géométrique (Annexe B) La vitesse linéaire du robot est : VrdVrgVl +=

Equation 8 : Vitesse linéaire du robot

Où VgrVrg .= et VdrVrd .= Equation 9 : Vitesse des roues en fonction des vitesses angulaires

Nous pouvons en déduire la vitesse moyenne du centre des roues :

2VrdVrg

Vmoy+=

Equation 10 : Vitesse moyenne du centre des roues En ramenant cette vitesse dans le repère (O, X, Y) on obtient :

Equation 11 : Calcul des vitesses en coordonnées cartésiennes

Avec

• 2.l : distance entre les roues • r : rayon de la roue • Vd, Vg : vitesse des roues droite et gauche • x, y : position du robot • Psi : orientation du robot • apsi la vitesse angulaire du robot

Le problème se résume donc à un problème multicritère, à savoir comment déterminer les valeurs des poids synaptiques du réseau de neurones de manière à satisfaire les contraintes pressement établies.

3.3.3 L’algorithme génétique Codage : La chaîne chromosomique que nous allons adopter, est une représentation des poids synaptiques de notre réseau de neurones pour un individu. Les générations du robot vont évoluer selon les transformations de ces chaînes embarquées sous l’action des opérateurs génétiques.

Page 39: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 39

Exemple : chaîne de notre meilleur individu -0.47 -0.12 -0.79 0.48 0.83 -0.58 -0.24 0.47 -0.59 0.53 -0.50 0.72 0.12 -0.78 0.57 0.05

Figure 29 : Les poids de notre meilleur individu obtenu

Initialisation : Au début, les différentes chaînes chromosomiques peuvent être remplies aléatoirement ou toutes initialisées à la même valeur. Dans les expériences décrites dans le présent chapitre, les chaînes sont initialisées aléatoirement. Evaluation des individus : L’evaluation de nos individus sera proportionnel pourcentage de la surface parcourue par le robot par rapport à la surface totale de l’environnement en question.

TotaleSurfaceParcourueSurface

ePerformenc =

Equation 12 : Fonction d’évaluation Sélection : Nous avons opté pour une sélection par roulette dont le principe est déjà décrit au chapitre 1. Pour notre expérience nous allons tracer une table de performance des individus pour chaque génération, ensuite affecter une probabilité pour chacune des performances (voir figure…). Enfin on tire au hasard un individu, qui, forcement aura plus de probabilité d’avoir une bonne performance.

Individu 1 Perf_1 Prob_1 Prob_1 Individu 1 Perf_2 Prob_2 Prob_1 + Prob_2

. . . .

. . . .

. . . .

Individu k Perf_k psomkPerf

kob__

_Pr = �k

kob1

_Pr

Somme �=k

kPerfpsom1

__

1 1

Tableau 4 : La sélection par roulette Opération génétique : on effectue des « croisements en un point » entre les individus (voir chapitre 1). Ensuite nous réaliserons des mutations sur 10% des individus descendants de la génération. 3.4 Simulation

3.4.1 Modélisation et simulation de l’environnement virtuel Le principe de la réalité virtuelle est d’appréhender un monde abstrait, mathématique,

de la même façon que le monde réel. Cette appréhension du virtuel, et de façon générale toute interface entre l’homme et la machine, passe obligatoirement par les capteurs du corps humain, à savoir les sens. Pour la vision, il suffit de présenter une image 3D (voire deux

Page 40: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 40

images dans le cas de la vision stéréoscopique) pour pouvoir exciter ce sens de façon parfaitement analogue au réel.

L’environnement virtuel ne se contente pas de fournir des images et du son, mais également des forces. Il faut donc que les objets simulés soient caractérisés par des propriétés mécaniques.

Nous avons opter pour une simulation en 3D de nos expériences pour divers raisons Ce

programme est un simulateur 3D utilisant les librairies OpenGL ayant deux objectifs principaux:

• Représenter les actions demandées au robot afin de pouvoir travailler sur le code informatique indépendamment de l'électronique en mode simulation pure • Mieux comprendre les actions effectuées par le robot en mode réel

3.4.2 Choix du simulateur Choix du système d’exploitation : en premier lieu, il a fallu choisir le système d’exploitation Et, étant donné les contraintes imposées par nos applications, nous avions la possibilité d’utiliser les systèmes suivants : Linux, Windows ou le DOS. ���� Un système de type Windows permet principalement de disposer d’une interface homme machine conviviale. Nous avons alors choisis ce système d’exploitation. Compilateur : il existe un grand nombre de compilateurs sous DOS, les plus connus étant le BASIC, le Turbo Pascal et le C/C++. Afin d’assurer la portabilité des programmes du robot vers d’autres plate-formes, nous avons opté pour un compilateur C/C++. ���� Notre choix s’est révélé le Visual Studio (C#) NET.2003 : pour des raison de compatibilité avec différentes machines et pour essayer profiter de son interface qui permet une bonne compréhension du problème. Choix du moteur physique : Un moteur physique est un outil de développement qui permet la modélisation des objets en réalité virtuelle essentiellement en 3D (trois dimensions). ���� Nous avons choisi NovodeX pour les raisons suivantes :

��La disponibilité de documentation et de connaissances pour ce type d’outils de programmation au sein de l’équipe réalité virtuel.

��La puissance de ce moteur physique (voir figure 30). ��Il existe en version gratuite, vu que les autres moteurs physiques sont très chers.

Page 41: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 41

Figure 30 : Exemple d’application sur NovodeX 3.4.3 Programmation avec NovodeX

Novodex est un moteur très puissant dont les principes internes restent les mêmes que ceux des autres moteurs du genre, il décompose les objets du jeu en 2 grandes catégories : les corps (body) et les géométries (geom).

Avant de positionner une simple caisse dans un environnement, il faut passer par deux

étapes. Avant tout, il faut donner une forme à l'objet pour pouvoir déterminer comment les autres objets entreront en contact avec lui. C'est la partie "détection de collision" qui s'occupe de ça, en utilisant donc des geoms. En général, les moteurs physiques offrent des (formes) primitives : sphère, boite, cylindre à bords plats, cylindre à bords arrondis, rayon. Pour en revenir à notre caisse, nous utiliserons évidemment le gemo de la boîte.

Nous avons utilisé principalement les formes primitives (qui peuvent être declare de

deux facon statique ou dynamiques) suivants : Les cubes : CreateBox(………..) Un cylindre : CreateTriangleMesh(………) Pour créer une simulation avec NovodeX, il faut en premier lieu définir une « scène », puis rattacher tous les autres acteurs à cette scene : NxScene* gScene = NULL gScene->createActor(Acteur)

Le but du jeu maintenant est de détecter les collisions, ce que Novodex facilite beaucoup avec la classe : SensorReport : public NxUserTriggerReport

La programmation de notre simulateur SARA (Simulateur d'Apprentissage d'un Robot Autonome)est basée essentiellement sur ces éléments . ce simulateur permet la gestion des collision entre les capteurs du robots et les différents obstacles qui existe dans l’environnement en question. 3.5 Résultats de simulation Nous avons simulé un robot mobile et construit un panel d’environnements différents qui servirons aux expériences suivantes. 3.5.1. Première expérience C’est une expérience de contrôle. Le robot apprend toujours dans le même environnement. Nous allons cet environnement « Env 1 » (Figure 31).Voici les paramètres figé pour la simulation de cette expérience :

• Taille de la population : 50 individus • Nombre de génération : 40

Page 42: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 42

• Duré de vie d’un individu : 30 seconde • Intervalle initiale des poids : [-1,1]

Figure 31 : L’environnement « Env 1 » où le robot effectue son apprentissage Résultats : Le robot « Type 1 » a été capable d’apprendre une stratégie de couverture de la surface en moins de 40 générations. L’évolution de la performance est montrée sur la Figure 32. L’estimation d’une génération dure environ 25 minutes. Après 30 générations environ, les meilleurs individus ont développé une meilleure stratégie, leurs trajectoires sont fluides et couvre une plus grande surface en un minimum de temps.

0

10

20

30

40

50

60

70

80

90

100

1 6 11 16 21 26 31 36 41

Génération

Per

form

ence

Mo

yen

ne

( en

%)

Figure 32 : Performance moyenne de la population en fonction des générations

Page 43: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 43

Figure 35 : Environnement « Env 4 »

3.5.2 Deuxième expérience A la fin de l’apprentissage de la première expérience, on met le robot obtenu, à savoir notre meilleur individu dans d’autres environnements (Figure 33, 34, 35, 36) et ses performances sont mesurés.

Figure 33 : Environnement « Env 2 »

Figure 34 : Environnement « Env 3 »

Figure 36 : Environnement « Env 5 »

Page 44: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 44

Résultats : À la fin de cette phase de manipulation le robot a adopté plusieurs comportements. Il a gardé une performance satisfaisante pour certains environnements à savoir « Env 3 », « Env 4 » et « Env 5 » (Figure 37), mais pour d’autres comme « Env 2 » le robot n’a pas eu la même faculté d’adaptation.

68

70

72

74

76

78

80

Performence Moyenne

(en %)

1 2 3 4 5

Environnement

Figure 37 : Comparaison de la performance du meilleur individu dans des

environnements différents 3.5.3 Troisième expérience

Tous les individus d’une génération apprennent sur le même environnement, mais cet environnement est renouvelé après chaque génération. Notons que nous avons gardé les même paramètres de la première expérience : Taille de la population, nombre de génération, duré de vie d’un individu, intervalle initiale des poids.

0

20

40

60

80

100

120

1 6 11 16 21 26 31 36 41

Génération

Per

fom

ence

Moy

enne

(en

%)

Figure 38 : Evolution de la performance moyenne durant la troisième expérience

Résultats : Nous avons obtenu au bout de 30 générations un individu représentant le robot « Type1 » avec une performance moyenne stable est satisfaisante. L’évolution de la performance est montrée sur la Figure 38. L’estimation d’une génération dure environ 25 minutes.

Page 45: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 45

3.6 Analyses Pour l’ensemble de ces simulations, nous avons pu constater qu’au fil des générations, l’algorithme génétique convergeait vers une valeur fixe, et ce, quelque soit l’environnement (Figure 36 et 30). La différence était donc au niveau du temps d’adaptation. C’est à dire le temps qu’à consommé le robot « Type 1 » pour aboutir à une stratégie optimale. Au début de la première expérience, une petite progression constante s’est fait ressentir au niveau de la valeur de la performance. Ce qui témoigne du bon fonctionnement de notre méthode d’apprentissage. On a constaté après la 26 génération une nette augmentation de la surface couverte par le robot. Ensuite la performance s’est stabilisée vers une valeur moyenne proche de 80%, ce qui très satisfaisant pour une tâche comme la tâche de « grazing » vu la contrainte temporelle que nous avons imposé. La troisième expérience s’est révélée très intéressante pour montrer que le choix de l’environnement est primordial pour l’auto apprentissage d’un robot. L’algorithme génétique a convergé vers une valeur moyenne, mais la progression de la valeur de performance moyenne des populations n’était aussi flagrante que celle de la première expérience. Ceci est dû à ce que le robot s’est retrouvé confronter à un environnement, dont la couverture était plus difficile, c’est l’environnement « Env 2 » (Figure 2). D’où l’importance du choix de l’environnement. C’est dans ce contexte que notre deuxième expérience à montré que le meilleur individu d’un apprentissage n‘était pas toujours capable de s’adapter à d’autres environnement. La structure du milieux, dont lequel le robot doit trouver une stratégie de couverture minimisant le temps, possède une très grande influence sur les résultats de la manipulation. Nous constatons que la stratégie adopter par le robot était suffisante pour des environnement qui privilégie des parcours circulaire tel que « Env 3 » et « Env 4 (Figure 33et 34) et (Figure 35) . Tandis que pour l’ « Env 2 » le comportement de notre machine était différent et qu’elle avait du mal à couvrir toute la surface.

Page 46: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 46

Conclusion générale

Nous nous sommes intéressés, durant ce stage, à l’apprentissage non supervisé d’une tâche de « grazing ». La tâche consiste en une phase de navigation ou le robot, sans connaissance préalable de son environnement, doit, de manière totalement autonome, couvrir la plus grande surface possible dans un environnement clôturé. Nous avons vu que chacune de cette tâche pouvait se ramener à un problème d’optimisation pour lequel nous recherchons la valeur des poids synaptiques à appliquer sur un contrôleur neuronal et ce, de manière à maximiser un certain nombre de critères de performance. De même, nous avons vu que ce type de problème pouvait être résolu par un algorithme génétique. Parmi les résultats obtenus lors des simulations, nous avons pu observer l’émergence d’une stratégie commune à plusieurs simulations et qui offre les meilleures performances sur les critères à optimiser. Nous proposons de faire un rapide bilan de chaque chapitre avant d’en évoquer les conclusions et les perspectives : Dans le premier chapitre, deux des principales techniques d’apprentissage sont décrites. Le parallèle avec le vivant est omniprésent et ces méthodes d’apprentissage sont généralement inspirées du vivant à commencer par les réseaux de neurones. Puis, est présentée une autre méthode d’apprentissage inspirée elle-aussi du vivant : les algorithmes évolutionnistes. Ces méthodes, directement inspirées de l’évolution darwinienne, semblent parfaitement indiquées à notre problématique. Le deuxième chapitre présente quelques exemples d’application de l’apprentissage sur des robots réels. Nous allons nous intéresser à deux implémentations d’apprentissage : l’une par des réseaux de neurone à travers le robot « REMI » et l’autre par les algorithme évolutionnistes suivant les expériences sur le robot « khepera ». Afin de pouvoir expérimenter les méthodes et techniques proposées une simulation a été construite. Cette manipulation est décrite en détails dans le quatrième chapitre. Dans ce chapitre, nous avons présenté les travaux que nous avons réalisés sur l’apprentissage non supervisé sur une tache de « grazing » par un robot mobile. Comme résultats de notre travail, le robot est parvenu à adopter une stratégie convenable et adaptable à l’environnement où il effectue son apprentissage. Mais cette stratégie n’est pas toujours satisfaisante pour tout type d’environnement. Pour consolider nos résultats expérimentaux de simulation, nous avons comme perspective :

��L’implémentation de résultats trouvé sur le robot réels et comparer les différence entre simulation en réalité virtuel et expérience dans le monde réel.

��Elargir nos paramètres de manipulation, à savoir la taille d’une population, le panel d’environnement et le temps de vie d’un individu.

Page 47: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 47

Bibliographie [Bäck T.] Evolutionary Algorithms in Theory and Practice. Oxford: Oxford University

Press, 1996. [Beasley93b] D. Beasley, D.R.Bull, R.R.Martin, "An Overview of Genetic Algorithms:

Part 2, Research Topics", Techn. Report of Univ. of Cardiff, UK, University Computing, 15(4), 1993, pp. 170-181.

[Brainteberg 84] V. Braitenberg, "Vehicule experiments in synthetic psychology", MIT

Press, Cambridge, MA, 1984. [Brooks 86] R. A. Brooks, "A robust layered control system for a mobile robot", IEEE

Journal of Robotics and Automation, p. 14-23, 1986. [Collard94] Ph. Collard and J-Ph. Aurand and J. Biondi, "De l’Intérêt des Sosies dans un

Système Autonome", Actes des journées de Rochebrune, Jan. 17-21, 1994. [Davis91] L. Davis, The Genetic Algorithm HandBook, Ed. New York: Van Nostrand

Reinhold, ch. 17, 1991. [Darwin, 1859] C. Darwin, "The Origin of Species by Means of Natural Selection, or The

Preservation of Favoured Races in the Struggle for Life", 1859 [Dessales J.-L] L’ordinateur génétique. Paris: Hermès, 1996. [Floreano 94] D. Floreano et F. Mondada, " Autonomic creation of an autonomous agent : _____________Genetic evolution of a neural-network driven robot ", Simulation of Adaptive _____________Behavior, from animals to animats 3, 1994. [Gritz95] L. Gritz and J. K. Hahn, Genetic Programming Evolution of Controllers for a

3-D Character Animation, Proc. of Genetic Programming'97 Conference, Jul. 1997.

[Goldberg89] D.E. Goldberg, Genetic Algorithms in Search, Optimization and Machine

Learning. Addison Wesley, Jan.1989. [Goldberg D.E.] Goldberg ,Algorithmes génétiques, exploration, optimisation et

apprentissage automatique. Paris: Addison-Wesley, 1994. [Holland, 1975] Holland, "Adaptation in Natural and Artificial Systems", University of

Michigan Press, 1975 [Hopfield 82] J.J. Hopfield, "Neural Networks and Physical Systems with Emergent

Collective Computational Abilities", Proceedings of the National Academy of Sciences, p. 460-464, 1982.

Page 48: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 48

[Lucidarme (2003)] P.Lucidarme, « Apprentissage et adaptation pour des ensembles de _________________robots réactifs coopérants », Thèse de doctorat, LIRMM, Université _________________Montpellier II. [Mitchell 97] T. M. Mitchell, "Machine learning", Livre, Mc Graw-Hill International __________________Editions, 1997. [Mondada 89] D. Mondada, E. fanzi et P. Ienne, " Mobile robot miniaturization: A tool _________________for investigation in control algorithms " In proceedings of the third _________________International Symposium on experimental Robotics, Kyoto, Japan, 1993. [Touzet 92] C. Touzet, “ Les réseaux de neurones artificiels, introduction au

_____connexionisme ”, livre de Touzet (cours exercices et travaux pratiques), _____p.22-23 ,1992 .

[Rivals 96] I. Rivals, ‘‘Les réseaux de neurones formels pour le pilotage de robots

_____mobiles’’, FLUX, revue de l'Association amicale Les Ingénieurs _____SUPÉLEC : La robotique mobile ; la fonction achats - logistique, No _____178, septembre octobre 1996, ISSN 0766-3536. Laboratoire _____d’Électronique de l’ESPCI, 1996.

[Rumelhart 86] D.E. Rumelhart and J.L. Mc Clelland, "Parallel Distributed Processing", _________________T he MIT Press, vol. 1 et 2, Cambridge, 1986. Site web : [www 1] http://www.ancr.org/

Page 49: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 49

Annexe A : Robot « TYPE 1 »

Ces figures et paramètres sont tirés du site web [www 1]

Voici Type 1, le premier robot de l'association ANCR. Nous l'utilisons principalement pour tester nos algorithmes, et dans les concours, quand il rentre dans les critères du règlement. Il a participé à la coupe E=M6 en 2001 et a obtenu une honorable 18ème place. Nous avons commencé à le programmer le lundi midi alors que la coupe commençait le mercredi.

Vous trouverez sur cet annexe toutes les caractéristiques de ce robot : les plans du châssis, les schémas des deux cartes, et quelques informations sur le PC embarqué. Il possède deux cartes : la première gère les moteurs et les codeurs magnétiques. La seconde gère les transmissions infrarouges. Cette deuxième carte permet de faire communiquer les robots et aussi de détecter les obstacles avec le même système.

A l'origine, le châssis a été construit pour servir de PMI à la coupe E=M6, puis au fil du temps, ses applications se sont multipliées. A la coupe, il a d'ailleurs été utilisé comme robot principal.

Caractéristiques

Microprocesseur 486 DX2 66

HD HD Flash 8 Mo

RAM 8 Mo

Moteurs 2 moteurs 17N78 (Portescap)

Réducteur 1/22

Codeur Codeur magnétique 16 imp./tour

Vitesse 1 m/s

Dimensions Diam. 130 mm, Haut. 110mm

Capteurs 8 capteurs IR

Extensions Ajout de modules supplémentaires

Page 50: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 50

Schémas électroniques

Voici les plans des deux cartes. Les deux images de gauche correspondent à la carte moteur et les deux images de droite à la carte infrarouge. Pour gérer la puissance sur les moteurs, nous avons utilisé un 89C2051 d'ATMEL, qui nous produit les signaux PWM. Schéma MOTEURS. Pour récupérer l'information des codeurs, une bascule nous donne le sens et un compteur permet de stocker les informations entre deux lectures. Schéma CODEURS. Le robot est contrôlé par un PC, il faut donc interfacer le bus ISA pour pouvoir piloter les cartes. C'est le rôle du schéma BUS ISA. Il faut également utiliser une alimentation à découpage, c'est le schéma ALIM. Nous utilisons des capteurs infrarouges pour la détection d'obstacles et les communications.

Page 51: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 51

ANNEXE B : Modèle géométrique

Ces figures et paramètres sont tirés du site web [www 1]. Modèle géométrique, derrière ce nom vulgaire, ce cache la méthode de localisation la

plus courante. Généralement pour géométrique sa position, un robot compte ses tours de roues (odométrie) et estime sa position à partir de cette information. Le modèle géométrique donne la transformation qui permet de passer des vitesses angulaires des roues à la vitesse instantanée du robot. Cette fiche technique présente le modèle géométrique d'un robot différentiel (type char ou pelleteuse). Cette transformation se passe en 3 étapes. Nous allons calculer la vitesse du milieu des deux roues. Ensuite, nous calculerons la vitesse de n'importe quel point du robot, et enfin, à partir des vitesses nous calculerons la position. B.1 Modèle géométrique du milieu des roues

Voici deux schémas du robot, respectivement vue de dessus et vue de côté :

Avec :

• 2.l : distance entre les roues • r : rayon de la roue • Vd, Vg : vitesse des roues droite et gauche • x, y : position du robot • Psi : orientation du robot

Pour commencer, nous allons calculer la vitesse linéaire des roues (Vrd et Vrg) :

Page 52: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 52

Nous pouvons en déduire la vitesse moyenne du centre des roues :

Ensuite, pour ramener cette vitesse dans le repère (O,X,Y), nous allons la décomposer en X et en Y :

Il ne nous reste plus qu'a calculer la vitesse angulaire du robot. Elle nous est donnée par la relation suivante :

Avec Psi pris dans le sens trigonométrique et a psi la vitesse angulaire du robot. En isolant a psi on obtient la relation suivante :

Nous avons donc notre modéle géométrique, il ne nous reste plus qu'a le mettre sous forme matricielle :

Page 53: Mémoire DEA en AIA A Informatique Appliquée

Etude et simulation de l’apprentissage d’un robot mobile sur une tâche de « grazing » 53

ETUDE DE L’APPRENTISSAGE D’UN ROBOT MOBILE SUR UNE TÂCHE DE « GRAZING »

Résumé : Ce travail de recherche se place dans le contexte de l’apprentissage pour la robotique. L’objectif est l’étude de méthodes d’auto-apprentissage appliquées à un robot mobile sur une tache de « grazing ». Le but de cette tache consiste à couvrir la plus grande surface possible dans un environnement clôturé. La méthode, à laquelle nous nous sommes intéressé, est basée sur les réseaux de neurones et les algorithmes génétiques, inspirés de l’évolution darwinienne. C’est pour cette raison que nous avons imaginé et conçu un simulateur en 3D (trois dimensions) composé d’un robot mobile et plusieurs environnements. Cette étude se décompose en deux parties. La première est l’implémentation d’une méthode d’auto-apprentissage adaptée à notre tâche permettant l’optimisation d’un réseau de neurones via l’algorithme génétique. La deuxième est l’interprétation des résultats de notre simulation à travers trois expériences :

��Le robot apprend toujours dans le même environnement. ��Puis il est mis dans d’autres milieux et ces performances sont mesurées. ��Tous les individus d’une génération apprennent dans le même environnement, mais

cet environnement est renouvelé après chaque génération.

Mots clefs : Apprentissage, robotique, réseau de neurone, algorithmes génétique, simulation

LEARNING OF A MOBILE ROBOT:

APLLICATION TO A GRAZING TASK Abstract: This research work take place in the context of robotic learning. The aim is to study the methods of self-learning applied on mobile robot on a “grazing” task. This task consists on covering the most possible area in a closed environment. The method we considered is based on artificial neural network and evolutionist algorithms inspired from Darwinian evolution. That’s why we have imagined and build a 3D simulator (three dimensional) composed by a robot and some environments. This study is consisted of two parts. The first is the implementation of an self-learning method adapted on our task optimising an artificial neuronal network by way of evolutionist algorithm. The second is the interpretation of simulation’s results through three experiences:

��The robot learns always in the same environment. ��Then he was put in others environments and his performances are measured. ��All individuals of one generation learn in the same environment, but this environment

is renewed after each generation. Keywords: Learning, robotic, artificial neural network, evolutionist algorithms, simulation