Architecture réflexive pour le contrôle de robots modulaires Jacques Malenfant*

Architecture réflexive pour le contrôle de robots modulaires Jacques Malenfant*,** — Simon Denier** * Laboratoire d’informatique de Paris VI (LIP6), Thème OASIS U. Pierre et Marie Curie – CNRS (UMR 7606) 8 rue du Capitaine Scott, F-75015 Paris Jacques.Malenfant@lip6.fr ** Laboratoire VALORIA, Université de Bretagne sud Centre de recherche Yves Coppens — Tohannic, F-56000 Vannes {Jacques.Malenfant,Simon.Denier}@univ-ubs.fr RÉSUMÉ. Dans le cadre du projet MAAM, nous développons un robot modulaire constitué d’ato- mes homogènes capables de s’auto-assembler selon différentes morphologies en fonction de la tâche à accomplir. Ceci induit la nécessité de modifier dynamiquement le programme de contrôle réactif et réparti. Dans cet article, nous présentons la plate-forme réflexive, réactive et répartie ARM[GALS] développée pour contrôler les atomes MAAM. ARM[GALS] intègre plusieurs concepts innovants : réflexion asynchrone [MAL 03], approche GALS (globalement asynchrone mais localement synchrone), cohabitation d’objets actifs et réactifs avec synchroni- sation par valeurs futures, et utilisation d’un « framework » délibératif/réactif provenant de la robotique intelligente. Non seulement notre approche répond bien aux besoins de MAAM, elle se généralise à une importante famille de problèmes d’adaptation dynamique. ABSTRACT. In the context of the MAAM project, we develop a modular robot made of homoge- neous atoms capable to self-assemble according to different morphologies depending on the task at hand. This induces a need for dynamic modification of the control program. In this paper, we present the reflective, reactive and distributed platform ARM[GALS] developed to control MAAM atoms. ARM[GALS] integrates several innovative concepts: asynchronous reflection [MAL 03], the GALS (globally asynchronous but locally synchronous) approach, re- active and active objects living together and synchronizing with futures, and the use of a delib- erative/reactive framework borrowed from AI robotics. Not only does this approach meet the needs of MAAM, it generalizes to a large family of dynamic adaptation problems. MOTS-CLÉS : réflexion, programmation synchrone répartie, architecture hybride réactive/délibe- rative, adaptation dynamique. KEYWORDS: reflection, distributed synchronous programming, hybrid reactive/deliberative robo- tic architectures, dynamic adaptation. RSTI - L’objet – 10/2004. LMO’04, pages 17 à 30 18 RSTI - L’objet – 10/2004. LMO’04 1. Introduction Un robot modulaire est constitué d’entités homogènes capables de s’auto-assem- bler selon différentes morphologies en fonction de la tâche à accomplir. Dans le projet MAAM (Molécule = Atome | Atome + Molécule), nous concevons des atomes sphé- riques dotés de six pattes qui peuvent se joindre aux pattes d’autres atomes par un mécanisme d’emboitement mutuellement commandé. La morphologie d’une molé- cule (assemblage d’atomes) donne des capacités de mouvement adaptées à la situa- tion : avance sur terrain plat, franchissement d’obstacle, progression à l’intérieur de structures (tuyaux, entre des murs), etc. En robotique modulaire, la morphologie du robot définit sa fonction, en contrai- gnant les fonctions qu’il pourra accomplir. La reconfigurabilité morphologique du ro- bot devient donc essentielle, et elle doit nécessairement s’accompagner d’une reconfi- gurabilité logicielle. Dans le contexte des robots MAAM, le contrôle d’une molécule est assuré par l’ensemble de ses atomes qui se coordonnent pour réaliser la fonction requise. De plus, le contrôle robotique est une application typiquement réactive. Un système réactif a comme principal fonction de réagir continuement à des événements en produisant des réactions, le plus souvent sous la forme d’ordres donnés à des ac- tionneurs. Notre objectif est donc de proposer un modèle de programmation répartie et réactif se prétant à l’adaptabilité dynamique, sous les contraintes de MAAM. Pour atteindre cet objectif, nous avons développé une plate-forme intégrant et amé- liorant une large palette de concepts. Pour nous attaquer au problème de l’adaptabilité dynamique, nous utilisons l’approche réflexive, et plus particulièrement le modèle ré- flexif asynchrone ARM [MAL 03]. Pour nous attaquer au contrôle réparti et réactif des robots, nous avons défini et intégré un modèle d’objets réactifs fondés sur l’ap- proche synchrone [HAL 98], mais dans une forme de type globalement asynchrone mais localement synchrone (GALS) où le contrôle de chaque atome est confié à un objet réactif synchrone pouvant communiquer avec les autres par événements asyn- chrones. Pour la programmation des objets réactifs eux-mêmes, nous avons développé un « framework » dit délibératif/réactif inspiré des travaux en robotique et intelligence artificielle [ARK 98]. Nos objets GALS implantent le niveau réactif du « framework » et cohabitent avec des objets actifs implantant le niveau délibératif. Objets actifs et réactifs peuvent se synchroniser par valeurs futures [Hal 85, LIS 88], une première à notre connaissance dans cette approche. Un premier méta-modèle délibératif pour l’adaptation dynamique des robots moléculaires a également été développé. Dans le reste de cet article, nous définissons de manière plus complète les concepts mis en jeu et la manière dont nous les avons intégré et amélioré. Après avoir présenté le modèle ARM à la section 2, nous introduisons notre modèle de programmation GALS (§3). Nous abordons ensuite les architectures de contrôle en robotique intelli- gente pour en tirer notre « framework » de contrôle réactif (§4). Nous présentons enfin nos expérimentations dans le cadre du projet MAAM, puis nous terminons sur une comparaison avec les travaux connexes et nos conclusions. Contrôle réflexif pour robots modulaires 19 hérite−de instance−de méta−de Entity StructuralMeta basicBehavioralMeta BehavioralMeta Figure 1. Noyau du modèle ARM 2. Le modèle ARM 2.1. Les entités du noyau Le modèle ARM est un modèle réflexif générique, que l’on peut noter ARM[·], susceptible d’être appliqué à plusieurs types d’entités : objets séquentiels, objets répar- tis, objets réactifs, composants, agents, etc. Son noyau est largement inspiré du modèle ObjVlisp de Cointe et Briot [BRI 87, COI 87], auquel sont adjoints des méta-objets selon une approche de Ferber [FER 89]. Le noyau est conçu autour de trois classes, ✂✁☎✄✝✆✞✄✠✟, ✡ ✄✠☛✂☞✝✌✍✄✎☞☎☛☎✏☎✑✓✒✕✔✂✄☎✏et ✖ ✔✓✗✘✏✂✙✝✆✍✚✂☛✕✏☎✑✓✒☎✔✂✄✕✏, et d’un premier méta-objet de com- portement, nommé ✛ ✏✕✜☎✆✎✌ ✖ ✔✢✗✘✏✂✙✝✆✢✚✓☛✕✏☎✑✓✒✠✔✂✄✕✏, dont le rôle consiste à être le méta-objet de comportement de tous les objets du noyau, c’est-à-dire les trois classes et lui-même. La figure 1 reprend les principales relations d’héritage, d’instantiation et de « méta- de » comportemental du noyau d’ARM. Il faut comprendre ces relations en ARM avec une sémantique adaptée à la forme de réflexion employée, qui n’est pas procédurale en général. La relation « instance » s’entend donc comme « ayant pour méta-objet structurel », la relation « hérite » s’entend comme l’extension d’un méta-objet struc- turel, et la relation « méta-de » s’entend comme « est le méta-objet comportemental de ». À charge des noyaux spécifiques de définir plus précisément la sémantique de ces relations. 2.2. Généralisation de la notion de représentation réifiée La représentation réifiée est l’élément central du méta-niveau. On la décompose généralement entre une partie structurelle et une partie comportementale. Pour se don- ner des points de repères, en réflexion procédurale séquentielle la représentation réifiée est assurée par les classes (bien connues) et par les méta-objets de comportement. La représentation comportementale assurée par ces derniers comporte l’état d’exécution d’une entité de base représentée par la continuation et l’environnement courants. En réflexion procédurale répartie, la représentation comportementale comporte aussi des éléments propres à la concurrence et à la répartition, tels la file des messages, etc. 20 RSTI - L’objet – 10/2004. LMO’04 ARM est aussi un modèle générique par le choix de représentation réifiée pour les entités de base, plusieurs de ces choix pouvant éventuellement cohabiter dans une même application. ARM est conceptuellement un « framework » ARM[·](R) gé- nérateur de noyaux réflexifs spécifiques selon le choix de représentation réifiée R. Le noyau définit un ensemble de classes abstraites pour la représentation réifiée, imposant ainsi ses contraintes. ARM est donc un modèle paramétré par l’ensemble de classes concrètes dérivées des classes abstraites de représentation. ARM réifie les concepts de la représentation structurelle par les classes ✡ ✄☎✏✂✄✕✔, ✡ ✄✕✏✂✄✕✔ ✡✁✏✘✌✓✔, ✖ ✔✓✗✘✏✓✙✝✆✢✚✂☛, ✖ ✔✓✗✕✏✂✙✝✆✢✚✂☛ ✜et ceux de représentation comportementale par ✂ ✌✍✄✝✆✞✙✕✏✓✄✝✆✢✚✓✁. Dans le modèle ARM, les classes de représentation structurelle sont utilisées par ✡ ✄✠☛✎☞ ✌✍✄✎☞☎☛✕✏✠✑✓✒✕✔✂✄✕✏qui généralise le rôle classique des classes. La classe ✂ ✌✍✄✝✆✞✙✕✏✓✄✝✆✢✚✓✁décrit l’état dynamique d’une entité pendant son exécution. Elle est uti- lisée par la classe ✖ ✔✓✗✘✏✂✙ ✆✢✚✂☛✕✏☎✑✢✒✕✔✂✄✕✏dont les instances, les méta-objets de compor- tement, détiennent une instance d’ ✂ ✌✍✄ ✆✞✙✕✏✂✄✝✆✍✚✓✁ pour chaque entité dont ils sont le méta-objet. 3. Programmation localement synchrone et globalement asynchrone 3.1. Modèle de programmation synchrone L’approche synchrone pour la programmation réactive est fondée sur quelques hy- pothèses simples [HAL 98] : – les événements se produisent à des instants discrets appelés ici instants logiques synchrones, – le système prend en compte les événements à chaque instant, en calculant les ré- actions à l’ensemble des événements perçus à cet instant, – le calcul des réactions prend un temps négligeable par rapport à la durée entre deux instants successifs, et – la communication des événements perçus se fait de manière instantanée, comme une diffusion synchrone à l’ensemble des processus réactifs. L’adéquation de l’approche synchrone avec les besoins du contrôle robotique (voir §4) en fait un choix naturel pour les atomes MAAM. Peu de systèmes synchrones existent en Java (SugarCubes [SUS 99] est une exception notable, voir §6), le langage choisi pour le projet MAAM comme un compromis entre la nature embarquée mais aussi uploads/Finance/ architecture-reflexive-pour-le-controle.pdf

  • 19
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Apv 24, 2021
  • Catégorie Business / Finance
  • Langue French
  • Taille du fichier 0.1397MB