Robots : simulation de l'émotion, un exemple

Par Gérald Foliot, Septembre 1998
Dernière révision : Août 2008

Au cous des années 1995-1999, je me suis intéressé à la question de la simulation de l'émotion sur des robots. Ci-dessous un rapport technique sur des travaux conduits lors d'un stage au sein du laboratoire de micro-informatique de l'EPFL (LAMI). Ce stage a conduit à deux publications :

  • Foliot, G. (1998). An Algorithm Based on an Appraisal Theory to Control a Khepera Robot. In Cañamero, D. (Ed.), Emotional and Intelligent: Tangled Knot of Cognition : papers from the 1998 AAAI fall symposium, October 23-25, Orlando, Florida (pp. 82-83). Menlo Park, Calif: AAAI Press. [PDF]
  • Foliot, G., & Michel, O. (1998). Learning object significance with an emotion based process. In Numaoka, C., Cañamero, D. & Petta, P. (Eds.), Grounding Emotions in Adaptive Systems, SAB'98 (5th International Conference of the Society for Adaptive Behavior) Workshop (pp. 25-30). Zurich, Switzerland. [PDF]

Ce travail a été conduit sur un robot Khepera via son simulateur de robot Webots. A l'époque, il y avait une dizaine de modèles de simulation de l'émotion sur des machines, on peut trouver dans les deux documents suivants une comparaison de ses modèles :

  • Gerd Ruebenstrunk (1998) Emotional Computers : Computer models of emotions and their meaning for emotion-psychological research (copie local du document ici).
  • Clément Raïevsky (2004) Émotions artificielles pour la structuration sociale d'un groupe de robots. LABORIUS, Université de Sherbrooke. [PDF] (copie local du document ici).

Vers un modèle de simulation de l´Émotion (Rapport technique de recherche, 1998)

Il est de plus en plus courant en psychologie cognitive d´avoir recours à des modèles de simulation. La simulation permet d´exprimer de façon formelle les modèles et théories conçus à partir de l´observation de phénomènes cognitifs. Cette modélisation formelle peut intervenir à deux moments de l´observation :

  1. après l´observation :l´objet de la simulation est de reconstituer ce qui a été observé chez le sujet humain. Dans cette perspective, la simulation peut être conçue comme une méthode supplémentaire pour vérifier un modèle.
  2. avant l´observation : il faut alors considérer la simulation comme un outil de prédiction.

Dans ce travail, nous nous plaçons dans la seconde perspective : nous nous proposons de traduire de façon formelle un modèle explicatif de l´Émotion et de le simuler sur un agent autonome (un robot).

Ce document se compose de quatre parties. La première expose les caractéristiques du robot utilisé. La seconde partie expose le monde dans lequel les simulations auront lieu, ainsi que la tâche. La troisième est centrée sur l´algorithme. La dernière décrit les expérimentations et les résultats. Ce document se veut être la présentation d´une recherche effectuée sur quatre mois, et qui a débouché sur deux publications. Il est donc plus centré sur une description de la recherche que sur une discussion générale. Ce document est par conséquent très largement étoffé de captures d´écran du simulateur, afin de faciliter la clarté du rapport et d´en permettre une compréhension rapide. Pour avoir une vue plus générale sur les implications de cette recherche et une discussion, il est nécessaire de lire les deux publications, qui contiennent par ailleurs les références bibliographiques.

Le robot

KheperaOn peut concevoir un robot autonome comme un système sensori-moteur «plongé» dans un environnement réel. Toutes les sources d´information dont il dispose viennent de ses propres capteurs. Toute interprétation qu´il peut construire est fondée sur l´observation de causalité, soit entre Événements externes, soit entre ses actions et les phénomènes externes ou internes. L´objectif de cette recherche est de doter un robot autonome de capacités «Émotionnelles». Nous pensons que l´Émotion est impliquée dans l´adaptation, car pour ressentir une Émotion, il faut être à même de pouvoir évaluer et apprécier la pertinence de stimuli. En outre l´encapsulement Évaluation-rÉaction peut servir de premier système adaptatif en l´absence de toute connaissance ou représentation du monde.

Khepera 3DPour cette recherche, nous utilisons un robot autonome de type Khepera. Il est équipé d´une caméra simulée par le logiciel Webots. L´unité de base se compose de huit capteurs infrarouges et de deux moteurs pour la direction. Le robot a un diamètre de 55mm, pour un poids de 80g. Il peut être équipé de différentes tourelles d´extension comme une pince, un module de communication radio. Le logiciel Webots permet de simuler le comportement de ce robot. On peut y créer différents mondes en 3D, dans chacun desquels peuvent évoluer un ou plusieurs robots. En outre, le comportement général du monde et des robots peuvent être supervisés par un module externe.

Perceptions

Caméra

La caméra utilisée est une caméra couleur 2D, de résolution 160x120 pixels. Le traitement de l´image au sein de simulateur est nettement facilité par la pureté de la définition des images informatiques et par le fait qu‘elles ne sont pas bruitées par l´environnement. Il n´y a pas de modèle de bruit pour les images au sein de Webots.

Capteurs infrarouges

Le robot est équipé de huit capteurs infrarouges répartis autour de lui. Ces capteurs servent à indiquer la proximité des obstacles. La valeur retournée par les capteurs varie de 0 à 1023 (0, pas d´obstacles; 1023 obstacles). Ils ne peuvent pas détecter des obstacles avec fiabilité, d´une part parce qu´il existe des angles morts, et d´autre part à cause du mécanisme des capteurs, lequel est fondé sur la détection du taux de réflexion de signaux infrarouges émis par les capteurs. Ce taux de réfléchissement est très sensible au bruit (nature de l´obstacle, lumière ambiante, etc.). Un modèle de bruit est implémenté au sein du simulateur

Le monde

Aspect :

Khepera WorldL´environnement utilisé est une ville composée d´immeubles, d´une rivière et d´espaces verts. Il y a des Éléments particuliers en certains endroits, par exemple des arbres ou une plage, afin d´aider à la navigation. Chacun de ces Éléments a une couleur spécifique.

Superviseur :

Un module externe au monde contrôle le mouvement du robot. Il est interdit à ce dernier de se déplacer dans la rivière et sur la zone de gazon. S´il s´en approche, le module renvoie au contrôleur un message «alerte». De plus, il lui est également interdit de se mouvoir sur des pavés rouges. S´il s´en approche, le module ne renvoie aucun message au robot. Il faut remarquer que ces différents obstacles ne sont pas perçus par les capteurs infrarouges du robot.

La Tâches :

La tâche du robot est d´apprendre à éviter les différents obstacles au sein de ce monde. Au départ, le robot ne sait pas éviter un obstacle. Il n‘a que des réactions émotionnelles.

Landmarks
Landmarks
Landmarks
Landmarks
Landmarks
Landmarks
Landmarks
Landmarks

 

L´algorithme

L´algorithme se compose de deux niveaux : a) le bas niveau : il définit l´architecture des processus et la structure de données. Ce niveau gère et exécute les processus; b) le haut niveau : il définit les processus en eux-mêmes, c´est-à-dire le contenu des opérations à effectuer.

Le bas niveau :

Les réseaux de neurones se sont présentés depuis de nombreuses années comme une alternative à l´approche traditionnelle en intelligence artificielle. Remettant en cause l´approche logique et procédurale, le connexionisme propose une approche fondée sur une computation délocalisée et massivement parallèle. Si cette approche présente un intérêt certain, le problème soulevé par Minsky et Papert en 1969 sur l‘architecture de réseau reste toujours posé. Il est difficile de mettre en oeuvre des architectures complexes impliquant un ensemble de structures, si ce n‘est en les traçant à la main. Pour résoudre ce problème, Brooks, dans la lignée de Minsky, utilise des algorithmes parallèles. Nous nous sommes inspirés de ce modèle pour concevoir celui des processus et de la structure des données. L´adaptation que nous en faisons est tout à fait libre et ne reprend que peu d´Éléments du «Behavioral Language» de Brooks, d‘une part parce que son modèle de programmation est en Lisp et que le notre est en C, et d´autre part parce que le «Behavioral Language» est centré sur la programmation de buts multiples sur des robots autonomes, et que le problème exposé dans cette simulation est centré sur la modélisation de processus émotionnels.

Le haut niveau :

Nous avons choisi d´implémenter le modèle de l´Émotion de K.R. Scherer, et ceci pour plusieurs raisons

  • Tout d'abord parce qu‘il cherche à être compatible avec d´autres modèles (notamment, le modèle multi niveaux de H. Leventhal).
  • Ensuite, parce qu‘il cherche les processus nécessaires à l´apparition et à la différenciation de l´Émotion. Autrement dit, il a une approche fondamentale. Il cherche quels sont les composants nécessaires, et s‘ils sont suffisants pour déclencher une réaction émotionnelle).
  • En outre, ce modèle permet de prédire la réaction émotionnelle d´un sujet en fonction de l´Évaluation d´un stimulus.

Mais nous cherchons à aller plus loin que ce modèle. Si ce modèle définit cinq dimensions principales de l´évaluation, ce qui nous intéresse, c´est de savoir comment cette évaluation opère, et donc de pouvoir prédire à partir du stimulus quelle sera l´évaluation qui conditionnera la réaction émotionnelle.

Parallélisme

Structure de données:

Toutes les données sont représentées par des piles définies de la façon suivante:

Pile [ x , y , t ] = Données

Où: n représente le numéro de la pile considérée
x,y représentent la localisation de la donnée
t représente la longueur de la pile
Il y a différents types de piles: les piles à court terme et les piles à long terme. Dans les piles à court terme, les données sont déplacées le long de la pile. La tête contient l´élément le plus récent, la fin de la pile l’élément le plus ancien. Dans les piles à long terme, la longueur de la pile est de 1. Les éléments ne sont pas déplacés au cours du temps, mais ils peuvent être remplacés.

Processus

Chaque processus est défini par une règle et une valeur d´activation. Si l´activation dépasse un certain seuil, le processus est activé. Il y a quatre parties dans la règle :

  1. La condition: teste une condition entre ou sur des piles. Si la condition est vraie, le reste de la règle est exécuté. S´il n´y a pas de condition, elle est toujours considérée comme vraie.
  2. Exécution:contiens le calcul à effectuer
  3. Allocation: affecte dans les différentes piles le résultat de l´exécution
  4. Activation:augmente ou diminue la valeur d´activation des autres processus

Communication entre les processus

Nous imposons une condition sur l´Échange des données pour permettre à cet algorithme de tourner sur une machine séquentielle. Pour chaque pas de simulation, les processus ne peuvent lire que l´État des piles des itérations en cours et précédentes. Cependant, les modifications qu´ils imposent sur les piles et les valeurs d´activation des processus ne seront prises en compte qu´à l´itération suivante.

Entrée-sortie

Les entrées sont : a) les capteurs infrarouges, dont la valeur de chacun est transformée en un entier qui varie de 0 a 4; b) une valeur s´il y a eu ou non un choc; c) le message du superviseur (warning); d) les informations de la caméra (la densité de chaque couleur pour trois régions de la caméra (droite, milieu et gauche) est calculée). Les sorties sont une valeur de vitesse sur chaque moteur.

Les buts

La représentation des buts:

Il nous est apparu important d´avoir une structure unique qui organise la représentation des différents buts. En effet, si les processus reposent sur des structures organisées de la même façon, il est plus facile de procéder à des comparaisons. Nous avons donc défini une structure de représentation qui correspond à un schéma corporel (ici, c´est le schéma corporel du Khepera, c´est-à-dire une structure circulaire, avec une profondeur, mais pas de hauteur). Cette organisation est a priori,c´est-à-dire qu´elle n´est pas construite à partir des informations. Son intérêt est de fournir une première source d´organisation des connaissances reposant sur des catégories spatiales (droite, gauche, devant, etc.). Le lecteur ne pourrait manquer de remarquer que cette notion d´organisation a priori des connaissancesévoque le système philosophique de Kant. Nous ne pouvons nous permettre de discuter de la pertinence d´un tel système, mais remarquons d´une part qu´il permet d´expliquer la formation des connaissances à partir de ceta priori, et d´autre part que peu de systèmes philosophiques ont été à même de le remettre en question. Nous avons défini quatre structures de représentation : a) une représentation sensorielle externe; b) une représentation sensorielle interne; c) une représentation motrice externe, d) une représentation motrice interne.

Définition des buts

Les buts sont définis comme une direction souhaitée dans les différentes représentations. Nous avons défini des buts de bas niveau (aller tout droit, tourner, etc.) qui correspondent à la représentation motrice souhaitée (ils affectent une valeur dans la représentation externe motrice), et des buts de haut niveau (éviter les obstacles, longer les murs, etc.) qui correspondent à une direction souhaitée dans la représentation sensorielle (ils affectent une valeur dans la représentation sensorielle interne). C´est par les différents mécanismes qui composent ces différentes représentations que l´on procède au mécanisme d´Évaluation décrit dans la section suivante.

L'appraisal et les émotions

L´appraisal est une théorie qui cherche à expliquer l´apparition et la différenciation des États émotionnels par des processus d´Évaluation de la pertinence des stimuli par rapport au but, à la motivation, au bien-être, etc. Le modèle de Scherer propose cinq dimensions d´Évaluation enchaînées. Ces cinq dimensions sont la nouveauté, l´intrinsèquement plaisant, la gêne, le potentiel de maîtrise et le rapport aux normes sociales et personnelles. Dans la présente simulation, nous n´avons implémenté que les quatre premières dimensions. Suivant le modèle Leventhal-Scherer, il est possible de reproduire ces différentes dimensions à chacun des trois niveaux du système cognitif. Nous n´avons pas implémenté tous les niveaux possibles pour des questions de temps, mais les principes peuvent être reproduits à tous les niveaux, puisque nous avons une structure unique qui organise les représentations.

  1. Nouveauté : teste la différence entre les valeurs présentes et les valeurs précédentes. Si c´est une comparaison intra structurée, alors on peut interpréter cet appraisal comme une Évaluation de la nouveauté; si c´est une comparaison interstructurée, alors on peut interpréter cet appraisal comme une Évaluation de la familiarité.
  2. déplaisant:Corresponds à la perception d´un stimulus douloureux; par défaut, c´est plaisant.
  3. Gêne:teste la différence entre la représentation sensorielle et la représentation souhaitée. S´il y a une différence, alors c´est gênant.
  4. Potentielle de maîtrise: on définit deux copings : a) le premier teste la différence entre les entrées sensorielles et toutes les sorties motrices possibles b) le second compte combien de temps un stimulus négatif dure, tandis que des actions motrices sont produites (plus ce temps augmente, plus le potentiel de maîtrise diminue).

Émotions

Dans le modèle de l´appraisal, les Émotions sont des cibles que chaque appraisal cherche à activer ou inhiber. Chacune de ces cibles cherche à provoquer des orientations dans les processus cognitifs. Nous avons défini cinq cibles. Chacune provoque une orientation a priori:

  1. Joie: ramène l´attention sur le but courant.
  2. Peur: active un but moteur dans la direction opposée au stimulus.
  3. Colère: essaie de réaliser tous les buts possibles, sauf celui qui a provoqué la réaction de colère.
  4. Tristesse : supprime tous les buts.
  5. détresse : essaie de réaliser n´importe quel but

L'apprentissage

Les niveaux de l´apprentissage

Il y a deux niveaux d´apprentissage au sein de cette simulation: a) un apprentissage sensoriel, c´est-à-dire un apprentissage de la configuration des capteurs infrarouge; b) un apprentissage de la signification des objets. Ces deux apprentissages sont fondés sur les mêmes processus décrits ci-dessous.

Règle d´apprentissage

L´apprentissage que nous cherchons à implémenter ici est simplement un apprentissage associatif entre un stimulus qui est évalué comme étant important et une manière de réaction qui permet de revenir à un État stable. La règle d´apprentissage est décomposée en plusieurs processus indépendants, mais pour en permettre une meilleure compréhension, nous l´énonçons de façon déclarative :

Si nouveauté détectée alors
Garder le stimulus en mémoire
Si ce stimulus est plaisant
Oublier le stimulus et arrêter l´apprentissage
Sinon
Attendre et observer quelle réaction motrice est associée à ce stimulus par les réactions émotionnelles
Si l´État redevient plaisant alors
Associer le stimulus à la réponse motrice
Si l´attente se fait trop longue alors
Détruire le stimulus en mémoire et arrêter l´apprentissage

Reconnaissance

Deux processus sont dédiés à la reconnaissance: un premier pour la reconnaissance de la configuration des senseurs, un second pour la reconnaissance des objets de couleur. Quand il y a reconnaissance, ces deux processus imposent la réaction motrice en inhibant les autres processus qui pourraient affecter la motricité.

Remarque

L´apprentissage de la relation n´est pas toujours satisfaisant. Plutôt que de chercher à perfectionner l´apprentissage pour qu´il soit toujours efficace, il nous semble plus important de prévoir un mécanisme supplémentaire qui évalue si les relations apprises conduisent effectivement à des solutions appropriées (également fondées sur l‘appraisal).

Expérimentations

Dans cette section, nous nous proposons de montrer d´une part le bon fonctionnement des deux mécanismes suivants:

  1. La séquence d´appraisal que nous avons présentée
  2. Les réactions émotionnelles définies a priori

D´autre part, qu´à partir de ces deux mécanismes, le robot est à même de pouvoir apprendre, c´est-à-dire d´arriver à mémoriser des relations capteurs moteurs pertinentes, et de reconnaître celles qu´il a déjà apprises. Nous avons découpé la présentation de l´apprentissage en quatre sous-parties:

  1. L´apprentissage d'évitement d´obstacles perçus par les capteurs infrarouges
  2. L´apprentissage de la signification des objets
  3. La reconnaissance des configurations sensorielles
  4. La reconnaissance des objets

Les résultats des expérimentations seront présentés sous la forme de séquences d´images (captures d´Écran) mises en relation avec les informations renvoyées par le contrôleur.

La séquence d'appraisal

On peut voir ci-dessous la séquence d´appraisal se constituer au fur et à mesure. Chaque appraisal, dès son apparition, active le suivant. Le carré cyan indique la valeur des appraisals sur les capteurs infrarouges les carrés gris indiquent que l´appraisal présent est actif. Les carrés bleus indiquent les appraisals sur la caméra.

Cas expérimental 1

Réaction émotionnelle

Apprentissage


Cas expérimental 2

Réaction émotionnelle

 

 

Apprentissage

 

Situation d'apprentisage avec le robot Khepera

Conclusion

Pour conclure trois remarques :

Concernant le parallélisme

Comme il l´a été précédemment dit, même si les règles ont été exprimées de façon déclarative, leur implémentation se fait sous forme de processus parallèles indépendants. Par conséquent, ces processus vont se mélanger entre eux, ce qui ne va pas sans poser certains problèmes. Dans les expérimentations, nous avons montré l´efficacité de plusieurs groupes de processus (les réactions émotionnelles, les différentes formes d´apprentissage, etc.), mais jamais l´efficacité de la globalité du système. Son efficacité est par nature difficile à quantifier, mais nous avons remarqué l´existence de comportements émergents, par exemple une tendance à rechercher la nouveauté, ou la capacité à éviter des objets anguleux. On soupçonne la capacité du contrôleur de pouvoir s´adapter à des environnements dynamiques. Il serait intéressant de mener des expérimentations dans ce sens pour évaluer le comportement général, notamment en interaction avec d´autres robots, et avec de multiples buts de haut niveau. Un premier travail assez court a été mené dans cette direction (cf. le rapport concernant avoidance controller).

Concernant le modèle temporel

La difficulté à évaluer le parallélisme vient de l´absence d´une définition du concept de temps. De même que nous avons défini un système pour représenter les catégories spatiales, il serait nécessaire de définir un modèle temporel inter et intraprocessus (c´est-à-dire sur quelle période les processus s´influencent mutuellement, sur quelle durée ils restent actifs, et sur combien itérations écoulées ils peuvent utiliser des données). Mais il faudrait le faire autrement que par un simple empilement au cours du temps des données et de l´activation au sein de chaque pile. L´utilisation de catégories pour le temps semble difficilement applicable ici, car des notions comme le court terme ou le long terme sont difficilement quantifiables. Par exemple, cela n´aurait aucun sens de dire que trois itérations correspondent à du court terme, et qu´à partir de quatre itérations il s´agit de long terme. En revanche, dédier des processus uniquement à la gestion de l´activation et du maintien des informations permettrait d´une part d´introduire des notions comme la synchronisation/désynchronisation des processus, et d´autre part d´avoir une définition plus souple et plus relative de court terme et de long terme. Ceci revient en fin de compte à chercher à implémenter complètement les processus d´arousal au sein de cette modélisation de l´Émotion, processus que nous avons volontairement simplifiés dans cette recherche afin de déboucher rapidement sur un premier résultat.

Concernant la plausibilité psychologique

La situation d´apprentissage utilisée ici est difficilement transposable au sujet humain. Nous partons en effet d´une situation où le robot ne sait strictement rien de la situation dans laquelle il se trouve, tandis que le sujet humain, dans les mêmes conditions, se serait déjà fait une première représentation (vraie ou fausse) du monde dans lequel il se trouve. Sa manière d´évalué serait fondée sur cette représentation, tandis que pour le robot, l´Évaluation et l´apprentissage se font directement à partir des capteurs. Pour la suite de ce travail, il sera nécessaire d´une part de définir une tâche plus évoluée, et d´autre part implémenter la notion de modèles mentaux, et plus particulièrement de modèles contextuels.

Remerciements :

Je tenais à remercier tout spécialement le Professeur Jean-Daniel Nicoud, à la fois pour son accueil au sein de son laboratoire et pour son aide, sans laquelle cette recherche n´aurait pu avoir lieu. Je tenais en outre à remercier le Docteur Olivier Michel de me permettre d´utiliser pleinement Webots et de me faire profiter de son expérience au sein de la recherche. Je tenais également à remercier le Professeur Robert Martin et le Professeur Louis Frécon pour m´avoir toujours soutenu et guidé dans cette direction de recherche

© 2011/2013 - Gérald Foliot