• Aucun résultat trouvé

Vers une architecture multi-robots

9.2 Perspectives

9.2.4 Vers une architecture multi-robots

L’utilisation d’une flotte de robots plutôt qu’un robot unique apporte beaucoup dans de nom-breux contextes opérationnels, pour améliorer le temps d’exécution d’une mission et ses chances

de réussite. On peut donc se demander si il est possible de faire évoluerroarpour contrôler non

seulement un robot mais une flotte de robots. Notons d’abord que roar a plusieurs atouts de

base pour le contrôle multi-robots. Sa décomposition en agents-ressources permet de modéliser

facilement l’hétérogénéité des différents robots, chaque robot déployant uniquement les agents

correspondant à ses propres capacités. La décision se fait de manière distribuée, chaque agent

n’ayant qu’une vue partielle du système. La modélisation décentralisée de roar passe bien à

l’échelle multi-robots, d’autant plus qu’elle est basée sur des messages asynchrones.

Communication Ceci étant dit, il existe évidemment des difficultés pour passer d’un modèle

mono-robot à un modèle multi-robots. L’une de ces difficultés est la communication. Au sein

d’un robot, on peut faire l’hypothèse d’une communication sans problème de délai, perte de messages ou limites de bande passante : ce n’est évidemment pas le cas au sein d’un système multi-robots. Il est donc nécessaire d’introduire explicitement un agent gérant la communication au niveau de l’architecture (et pas simplement au niveau instanciation). Cet agent aura alors des

9.2. PERSPECTIVES 125 en réponse contraindre d’autres agents (en particulier la position du robot, afin de garantir que la communication reste possible).

Choix des agents impliqués Une des autres questions qui se pose est de savoir quels agents

choisir quand plusieurs agents sur différents robots correspondent aux spécifications d’une

re-cette. Différentes approches sont possibles ici. Le choix peut se faire unilatéralement, au niveau

de l’agent exécutant la recette : celui-ci décide arbitrairement, ou à partir d’une information haut

niveau présente sur les différents agents, quels agents sur quels robots il va utiliser et essayer.

En cas d’échec, il tentera une autre combinaison d’agents, et les contraintes automatiques sur les communications vont alors implicitement créer des coalitions. Cette extension serait dans l’esprit de la synthèse automatique de tâche de ASyMTRe (Tang and Parker, 2005). Comme il

s’agit de problèmes d’affectation (ou d’allocation), une autre approche possible est d’utiliser des

approches de négociations, comme par exemple CNP (“Contract Net Protocol”) (Smith, 1980), pour décider entre ces agents celui qui est le mieux adapté pour résoudre actuellement une

cer-taine contrainte, dans l’esprit de ASyMTRe-D (Tang, 2007). Bien que probablement plus efficace

sur des cas complexes, cette approche soulève deux types de problèmes, qui devront être finement analysés. D’un côté, la décision de choisir un agent plutôt qu’un autre dépend aussi généralement des autres activités courantes du robot, et donc d’une information “globale” sur le système. De l’autre, cela a un impact non négligeable sur la formalisation et pourrait rendre certains résultats

Annexes

Annexe A

Liste des publications

Publications en cours d’évaluation

Degroote, A. and Lacroix, S. (2012a). A control architecture for autonomous robots founded

on resource agents. Submitted to International Journal of Robotics Research.

Echeverria, G., Lemaignan, S., Degroote, A., Lacroix, S., Karg, M., Koch, P., Lesire-Cabaniols, C., and Stinckwich, S. (2012). User Driven Improvements to Robotics Simulation in MORSE. InSubmitted to Simulation, Modeling, and Programming for Autonomous Robots.

Publications dans des conférences internationales

Degroote, A. and Lacroix, S. (2011a). Roar : Resource oriented agent architecture for the

autonomy of robots. InInternational Conference on Robotics and Automation, Shangai (China).

Degroote, A. and Lacroix, S. (2011b). Roar : Resource oriented agent architecture for the

autonomy of robots. In 9th International Conference on Practical Applications of Agents and

Multi-Agent Systems (PAAMS), Salamanca (Spain).

Echeverria, G., Lassabe, N., Degroote, A., and Lemaignan, S. (2011a). Modular open

ro-bots simulation engine : Morse. In Robotics and Automation (ICRA), 2011 IEEE International

Conference on, pages 46 –51.

Boumghar, R., Roussillon, C., Degroote, A., Cox, P., Vandeportaele, V. D. B., Herrb, M.,

and Lacroix, S. (2011). Over the hill and far away : aerial/ground cooperation for long range

navigation. In International Workshop on Robotics for risky interventions and Environmental

Surveillance-Maintenance, Leuwen (Belgique).

Publications dans des conférences nationales

Degroote, A. and Lacroix, S. (2012b). Roar : une architecture orientée agents pour

l’autono-mie des robots. In 18ème congrès francophone sur la Reconnaissance des Formes et

gence Artificielle, Lyon (France).

Degroote, A. and Lacroix, S. (2012c). Une architecture pour l’autonomie des robots basée

sur des agents-ressources. In 6ème Conférence francophone sur les architectures logicielles,

Montpellier (France).

Degroote, A. and Lacroix, S. (2012a). A resource-agents robot control architecture : design

and formalization. In 7ème Conférence francophone sur les architectures logicielles, Nancy

(France).

Degroote, A. and Lacroix, S. (2010). Structuring processes into abilities : an

information-oriented architecture for autonomous robots. In5th National Conference on Control

Annexe B

MORSE

morse(“Modular OpenRobots Simulator Engine”) (Echeverria et al., 2011) est un simulateur

libre orienté robotique initié au LAAS, au développement duquel nous avons beaucoup participé,

et qui est maintenant co-développé par de nombreux universitaires1. Il est basé sur

l’environne-ment de modélisation libre Blender2et son mode jeu reposant sur le moteur physiquebullet3.

Cela permet de construire des simulations relativement réalistes dans des modèles d’environne-ments complexes (voir un exemple figure B.1). Blender, aussi bien la partie modélisation que la

partie jeu, est entièrement programmable via une interface Python4 : il est alors facile de créer

des comportements de haut niveau ou de développer de nouveaux capteurs à partir des données exportées par Blender.