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.