next up previous contents
suivant: Organisation de ce mémoire monter: Introduction précédent: Introduction   Table des matières

Présentation

La simulation décrite dans ce mémoire d'une équipe de football par un système multi-agents fait intervenir des agents autonomes et coopératifs, dont l'activité est tournée vers un but commun par l'accomplissement d'objectifs intermédiaires (nous parlerons en fait de plans intermédiaires). Le système multi-agents défini fait intervenir un mécanisme de coopération volontaire entre les agents d'une équipe, par le biais d'actions concertées.

Le cadre dans lequel cette simulation a lieu est celui d'un projet de recherche scientifique mondial: la Robocup. Le but de celle-ci est d'arriver à développer d'ici 2050 une équipe de football constituée de robots humanoïdes totalement autonomes et capable de battre l'équipe humaine championne du monde selon les règles de la fédération internationale de football.

Plusieurs catégories de rencontres existent actuellement: les robots de petite taille, les robots de taille moyenne, les robots quadrupèdes et enfin les programmes informatiques de simulation. Chaque catégorie fournit une base commune d'expérimentation pour toutes les équipes. Les trois premières catégories mettent en \oeuvre des robots autonomes et se focalisent principalement sur des problèmes physiques (robotiques). La dernière catégorie se focalise elle sur les problèmes d'intelligence artificielle et met les différents programmes informatiques concourant en relation au moyen d'un serveur de simulation et d'un protocole réseau de communication spécifique à la compétition.

Figure: Visualisation de l'exécution du plan « prendre la balle ».
Visualisation de l'exécution du plan « prendre la balle »

Les contraintes de l'implémentation (pour la RoboCup) d'une équipe simulée par des programmes informatiques restent proches de celles de l'implémentation d'une équipe de robots réels afin d'avoir la simulation la plus réaliste possible. En effet l'environnement dans lequel les programmes évoluent est fortement dynamique (il évolue de manière asynchrone par rapport à l'agent) et bruité (les capteurs de l'agent sont imparfaits et incomplets). L'équipe simulée est donc confronté aux mêmes problèmes d'imperfection et d'incomplétude des capteurs que l'équipe réelle. De même, la communication entre agents est coûteuse et non fiable. L'implémentation décrite dans ce mémoire prend en compte ces paramètres et propose un mécanisme de contournement des problématiques de communication.

La motivation de la mise en place d'une simulation de robots footballeurs est l'abstraction des contraintes matérielles (financières ou techniques) de conception et d'implémentation de robots. De même, l'utilisation d'une simulation logicielle de robots permet d'expérimenter des techniques d'intelligence artificielle plus profondément que ne le permet la technologie robotique actuelle.

Le choix de la RoboCup comme base d'expérimentation tient à ce que la RoboCup est un terrain d'application remarquable des technologies multi-agents. En particulier, elle offre de nombreuses possibilités d'expérimentation: la conception de paradigmes robustes de coopération en milieu dynamique, le développement de protocoles de tolérance de pannes, l'adoption d'un comportement consistant, etc. La simulation d'une équipe de football permet de se confronter notamment aux nombreuses contraintes dynamiques et aux forts besoins d'interactions entre agents logiciels se partageant une faible bande passante. Ces problèmes sont ceux auxquels nous nous intéressons dans cette implémentation.

L'architecture du système multi-agents détaillé dans ce mémoire est basée sur la coopération de plusieurs agents. Son implémentation repose sur les processus des systèmes d'exploitation de type UNIX: chaque agent sera contenu dans un processus UNIX différent et sera donc autonome et distinct. Les interactions entre processus sont assurés par le serveur de simulation, qui contient une référence de l'état réel du monde et qui gère les communications entre agents.

Le comportement des agents est basé sur l'exécution de plans. Un plan est un enchaînement d'actions atomiques exécutées par un agent dans le temps et dans un objectif précis. Chaque instance de plan fait partie d'une classe de plans et définit des tâches qui sont exécutées selon une heuristique de classe. Les plans sont dans notre architecture des modules distincts, placés dans un agenda. Ces plans sont des processus capables de contrôler leur exécution et d'invalider leur existence. L'exécution des plans est effectuée sur un mode asynchrone (c'est-à-dire non synchronisé avec l'exécution du programme). L'utilisation d'un agenda permet d'exécuter le plan le plus important (c'est-à-dire en première position dans l'agenda) à chaque cycle d'exécution de l'agent. De plus, chaque plan comporte des informations visuelles lui permettant de produire une représentation symbolique à destination de l'opérateur en se basant sur l'affichage des symboles utilisés pour l'exécution du plan. Cette représentation est rendue possible par la définition d'une couche graphique de haut niveau, indépendante du support d'affichage.

Prenons pour exemple un agent ayant le plan de prendre la balle. À chaque cycle d'exécution, il met à jour l'état du monde en fonction des informations reçues par le serveur de la RoboCup. Puis il exécute un plan, qui produit une action atomique le rapprochant de la balle, en utilisant un effecteur de déplacement (avancer d'un pas, par exemple). Enfin, il met à jour la visualisation de son plan à destination de l'opérateur.

Les instances de plans en cours permettent de plus à un agent d'estimer le comportement de ses coéquipiers par l'utilisation d'une heuristique de classe. Cette heuristique reproduit l'exécution réelle d'un plan tel que l'ensemble de l'équipe l'exécute. L'implémentation d'un tel mécanisme d'évaluation comportementale structurellement partagé permet l'économie de communications (coûteuses en milieu dynamique bruité) au profit d'une synchronisation implicite basée sur des connaissances déduites.

En outre, nous proposons un mécanisme de contrôle du comportement des agents implémentés par l'exécution de scripts administratifs. Ces scripts sont écrits en langage Scheme et sont évalués à l'initialisation de l'agent ainsi qu'à la demande de l'opérateur.


next up previous contents
suivant: Organisation de ce mémoire monter: Introduction précédent: Introduction   Table des matières
Benjamin DRIEU 2001-10-12