Une architecture d'agents

Dominique LUZEAUX, André DALGALARRONDO, Éric AMRAM, Philippe SELLEM,Alexandre BOUILLOT
  GIP (Geographie-Imagerie-Perception), Délégation Générale Pour l'Armement, Arcueil .
DGA/DCE/CTA/GIP -16 bis, av. Prieur de la Cote d'Or
94114 Arcueil Cedex
Contact: luzeaux@etca.fr




La robotique militaire est caractérisée par un emploi de matériels en milieux fortement contraints voire hostiles. C'est dans ce contexte qu'a été développée une architecture de contrôle d'un robot mobile basée sur l'approche multi-agents (thèse DALGALARRONDO). Cetteapproche, basée sur l'utilisation d'agents autonomes et communiquants, permetd'obtenir un système fortement réactif.
La plate-forme multi-agents est par ailleurs appliquée à d'autres contextes, comme l'interprétation d'images aériennes ou satellites, où elle permet d'envisager des systèmes distribués pouvant traiter de grandes quantités de données en parallèle, voire en mode asynchrone.

Caractéristiques générales

L'architecture proposée (thèse DALGALARRONDO) : l'architecture de basecomporte différents types d'agents : des agents de perception et d'action,des agents de liaison avec le matériel, un agent gestionnaire d'attention et un autre sélecteur de comportement. Le système est pleinement distribué et ne comporte aucun superviseur. Les agents peuvent communiquer directement entre eux au moyen de messages (boîte aux lettres) ou bien par la mise à disposition de données (représentations ou variables d'état) à la communauté des agents.
Extension de l'architecture (thèse SELLEM) : l'objectif de ce travail est l'étude et la mise en place d'une perception coopérative au sein de groupes de robots. L'approche initiée est la mise en place de systèmes multi-agents(architectures des robots) fonctionnant en parallèle et pouvant communiquer entre eux. Ceci peut être vu comme un super SMA :chaque agentautonomeappartient à un groupe, chaque groupe constitue une plate-forme SMA et chaque plate-forme peut communiquer et échanger des données avec un autre SMA indépendamment de sa localisation informatique. L'ensemble de ces interactions vise à permettre à un robot de prendre en compte ou d'utiliser les moyens de perception d'autres robots dans le choix des actions qu'il meten ?uvre.
Evolution de l'architecture (thèse AMRAM) : l'architecture initiale est fortement orientée robotique mais n'interdit pas son utilisation dans d'autres domaines. Une nouvelle version est en cours de développement. Cette version se veut indépendante de tout type d'application (robotique, image, IHM...). Elle se présente sous la forme d'une librairie conçue pour fonctionner sur une seule machine, avec mémoire partagée. Elle est totalement générique, programmée en C++, et est profondément orientée objet dans le sens où un message n'est plus une simple série d'informations, mais une série d'informations plus l'action à accomplir pour traiter ces données.

Modèles multi-agents disponibles

Caractéristiques physiques du système multi-agents

Les agents d'une même application peuvent être conçus soit avec les techniques de Synergic, soit réalisés de manière totalement indépendante. Ainsi, les agents peuvent être hétérogènes au sein d'une même application. Leur granularité et leur nombre qui est non limité, sont fonction de l'application.
* Les agents qui utilisent les techniques de raisonnement disponibles dans Synergic sont des modules de connaissances dont la forme externe de la connaissance correspond à des règles de production. Chaque agent est structuré en niveaux d'organisation en nombre variable permettant d'exprimer et raisonner avec des connaissances stratégiques, tactiques et opérationnelles. L'expression des connaissances est sous forme déclarative.
* Les autres agents : "agent programme" sont du type boîte noire. La représentation des problèmes ainsi que les techniques utilisées pour les résoudre ne sont pas connues de Synergic. Dans cette catégorie on trouve: des capteurs, des programmes mathématiques, des programmes d'affichages d'images... Pour un agent programme qui dépend du concepteur, il n'y a aucune contrainte sur l'expression de la compétence de l'agent par la plate-forme. La connaissance de l'agent peut être exprimée de manière procédurale ou déclarative.

Description matérielle

Le formalisme multi-agents permet de réaliser des modules informatiques relativement indépendants et fonctionnant en parallèle sur des machines mono ou multi-processeurs. Le code est écrit en C++, pour l'encapsulation des compétences. Il utilise des threads POSIX pour le parallélisme et fonctionne en temps-réel. Ces caractéristiques font de l'architecture un outilportable et utilisable sur de nombreux types de calculateur. Chaque agent dérive ainsi d'un agent de base générique et peut devenir de plus en plus spécialisé.L'architecture est utilisée de manière effective pour le contrôle de robots autonomes ou encore pour le développement d'algorithmes de traitement d'images.

Modèles des agents


L'ensemble des agents fonctionnent en parallèle. Certains sont actifs en permanence d'autres uniquement sur demande. Chaque agent a la capacité de communiquer par message, de récupérer une représentation issue d'unautre agent ou encore de connaître l'existence des autres agents.
Les différents types d'agents sont :
- Agent de Perception : il crée une représentation de l'environnement à partir de données issues de capteurs ou bien d'une autre représentation. Il peut donc posséder un haut niveau de raisonnement.
- Agent d'Action : il établit une loi de commande destinée au contrôle du robot. Cette commande est réalisée à partir d'une représentation d'un agent de perception qui lui a été désigné par le sélecteur de comportement.
- Agent d'Attention : agent asynchrone, il a le pouvoir de demander à un autre agent de s'inhiber ou de s'activer en fonction des motivations et des ressources du système.
- Agent de Sélection d'Action : il génère l'enchaînement des boucles sensorimotices (un comportement résulte de la coopération entre perception et action) en relation avec l'attention.
- Agent de Liaison Matériel : ce type d'agent a pour objectif la liaison entre les couches matérielles et logicielles de l'architecture. Ils peuvent être de plusieurs types : acquisition d'images en continue, transmission de consignes au micro-controleur du robot, communication entre robots...
L'architecture globale est une architecture hybride : elle possède une couche de haut niveau délibérative grâce à l'emploi de la gestion de l'attention asynchrone avec le reste des processus, et du sélecteur de comportement, mais également une couche bas niveau réactive basée sur des couples d'agents Perception/Action.

Publications

[1]Dalgalarrondo, D. Luzeaux. Dynamic selection of perception process on an autonomous robot. SPIE's 13th Annual International Symposium on Aerospace/Defence Sensing Simulation and Controls, Orlando, Florida, USA,
April 1999.
[2]Dalgalarrondo, Thèse de l'université Paris XI. Approche ascendante de la conception d'une architecture de contrôle de robot mobile autonome. (à paraître début 2000)
[3]P. Sellem, A. Dalgalarrondo. Extension d'une architecture de contrôle de robot mobile à un système distribué de robots autonomes. Journées des Jeunes Chercheurs en robotique (JJCR'11), Lausanne, Suisse, avril 1999.