GT4 : Architectures de contrôle pour la robotique

Objectifs


L’objectif de ce groupe de travail est de réunir et d’animer au niveau national, la partie de la communauté robotique s’intéressant aux problématiques des architectures de contrôle des robots : les aspects logiciels et matériels sont tous deux considérés, traitant des différentes problématiques relatives tant à l’architecture elle-même qu’aux fonctions supportées par cette architecture.

Cette animation s’inscrit dans une réflexion pluridisciplinaire, fondée notamment sur une collaboration étroite avec des membres de la communauté génie de la programmation et du logiciel (contact J. Malenfant, LIP6) afin de pouvoir s’enrichir mutuellement de nos connaissances, approches et résultats réciproques. Dans cette optique, le groupe de travail s’attache notamment à organiser des journées annuelles, favorisant les échanges pluridisciplinaires, autour de la conférence nationale "Control Architectures of Robots (SHARC anciennement CAR)". Conduits depuis 2006, ces échanges sont scientifiquement très enrichissants et même indispensables pour relever les défis complexes posés par les architectures de contrôle des robots (cf. Actions).

Un des objectifs est également de créer un espace d'échange et de partage d’expertises dans le cadre des architectures matérielles (capteurs par ex.) et des logiciels d'infrastructure (drivers, middleware, communication, codes, etc.). Il s’agit d’une "face cachée" mais indispensable tant dans la conception que la réalisation des architectures de contrôle. Ces retours d’expériences, ces regards pragmatiques peuvent faciliter et accélérer l'accès aux expérimentations, et constituer une aide intéressante notamment peut-être pour les centres de robotique peu dotés en ressources (cf. Actions).

Positionnement


La robotique de nouvelle génération, souvent qualifiée de robotique de service, au sens de robots « interventionnels », revêt des enjeux scientifiques et commerciaux considérables. Loin des robots manufacturiers, ces robots d’intervention (exploration, assistance, maintenance, sécurité et défense) ont atteint un niveau de complexité considérable. Dans tous les domaines, terrestre, marin, aérien voire spatial, cette complexité provient notamment de l’intégration de fonctionnalités multiples : perception avancée (fondée par exemple sur la fusion multi-capteurs), planification, navigation, commande, comportements autonomes, etc., sans omettre celles relatives à la téléopération et à la coopération de robots. Les travaux récents sur ces différents thèmes ont permis, mais souvent indépendamment, d'accroître les performances et d'envisager la réalisation de missions toujours plus difficiles.
Sous-jacente à ces nombreuses fonctionnalités dont doivent être dotés les robots, tant pour leur autonomie opérationnelle que décisionnelle, se cache l’architecture de contrôle, matérielle et logicielle. L'ingénierie des robots autonomes et de leurs architectures de contrôle fait donc actuellement face à des défis très complexes. La puissance de calcul embarquées sur les robots croît très rapidement, pour s'attaquer à un spectre de plus en plus large de missions toujours plus délicates devant être exécutées avec toujours plus d'autonomie, mais souvent aussi en coordination avec d'autres robots autonomes. Le résultat est une forte croissance en complexité de l'architecture logicielle. Couplée aux problématiques particulières de la robotique, comme l'intégration avec du matériel en perpétuel changement, et même reconfigurable à chaud, le besoin de définition de principes durables dans l'ingénierie de ces systèmes pose des problèmes formidables, qui nécessitent indiscutablement la coopération entre différents domaines, de la mécanique à l'informatique, en passant par l'automatique et la microélectronique.
Du point de vue architecture logicielle, les architectures de contrôle des robots autonomes présentent un ensemble de caractéristiques qui ne se retrouvent dans aucun autre contexte d'applications : obéir à des contraintes temps-réel dures, mélanger des calculs très gourmands avec ces tâches temps-réel, prendre en compte un spectre de plus en plus large de senseurs, d'actuateurs et d'autres matériels cruciaux à la mission des robots, et permettre la coordination avec d'autres robots dans une forme de programmation répartie très spécifique. Bien sûr, c'est avant tout l'interaction avec son environnement qui rend la programmation des robots autonomes à la fois différente et où le défi qu'elle pose prend tout son sens. De plus, les robots autonomes sont des engins complexes et coûteux qui sont de plus en plus conçus pour effectuer des missions très différentes dans des scénarios où la reconfiguration matérielle est chose nécessaire et rapide. Un défi supplémentaire des architectures de contrôle consiste donc à mettre en parallèle une reconfigurabilité logicielle rapide et devant bien sûr produire un logiciel correct. A l’image de cette reconfiguration logicielle et/ou matérielle, la répartition dynamique de la décision entre l’homme et le robot, l’autonomie ajustable, est également une problématique importante.

Thèmes


Le thème des architectures de contrôle des robots regroupe l’étude des modèles d’architecture, des modèles et langages de description de l’architecture, des modèles comportementaux, etc. sans omettre les besoins de modélisation de méthodologies de développement ainsi que d’analyse et de vérification. Le thème aborde logiquement aussi la prise en compte des fonctions supportées par l’architecture dont, entre autres, la commande, la coordination, la planification de mission, etc. en considérant notamment l’impact de l’autonomie décisionnelle sur le plan architectural. Enfin, la dimension matérielle et technologique des architectures de contrôle doit également être considérée.
Il s’agit dans ce GT de considérer conjointement différentes problématiques ayant un impact sur l’architecture de contrôle des robots. Quelques mots clefs, souvent reflets de la pluridisciplinarité intrinsèque au thème abordé (robotique / automatique / informatique / électronique), mais clairement situés dans le contexte particulier de la robotique : Ingénierie dirigée par les modèles, Langages de description d’architectures, Modèles d’organisation des architectures (réactives, délibératives, mixtes, bio-inspirées), Approches basées sur les composants logiciels, Langage de programmation de robots, Frameworks ou patterns de conception, Middleware pour la communication et/ou l’intégration des entités physiques, Approches multi-agents, Architectures distribuées, Architectures matérielles, Systèmes temps réel, Validation et vérification, Autonomie ajustable, Interactions homme-robot, Coordination multirobot, Aspects architecturaux de la planification, Méthodologie de développement, etc. La description des aspects considérés dans ce thème laisse apparaître de nombreuses problématiques, parfois spécifiquement traitées dans d’autres groupes de travail ou actions d’autres GDR. L’ambition du GT serait réduite s’il ne considérait pas ces problématiques mais il s’intéressera plus spécifiquement à leur impact dans le cadre particulier des architectures de contrôle en robotique, en cherchant par exemple à identifier les modèles architecturaux ou de programmation facilitant la prise en compte de ces différents aspects. L’activité du GT n’a donc pas pour but de couvrir l’ensemble des problématiques, mais plutôt de s’inscrire dans une complémentarité thématique avec les groupes ou actions existants, en reposant sur des interactions croisées. L’activité et les travaux du GT doivent donc s’appuyer sur des échanges et s’ouvrir sur ces disciplines connexes.

Les orientations du GT seront structurées selon quatre grands thèmes principaux, complémentaires et étroitement corrélés :

Modèles de conception des architectures logicielles de contrôle des robots


Les architectures logicielles pour le contrôle des robots autonomes se distinguent par le besoin de prendre en compte tout un spectre de fonctions allant de calculs délibératifs très gourmands en temps et en espace jusqu’au contrôle en temps réel de dispositifs physiques comme les capteurs et actionneurs. Le robot dans son environnement est sujet à des relations homme-robot, robot-robot ou encore robot-environnement actif qui, déclinées ici sur le plan des architectures de contrôle, nécessitent de considérer les modes de téléopération, l'enjeu de l'autonomie décisionnelle partagée avec un opérateur (partage d'autorité, autonomie ajustable), la coopération au sein d’une flottille potentiellement hétérogène (scénarios aéroterrestres - robots terrestres et drones, et aéromaritimes - engin sous-marin autonome, engin de surface autonome et drone). Quel que soit le type de relation, homme-robot ou robot-robot, le « travail en équipe » requiert la prise en compte des compétences, le partage de tâches et l’intégration de manière cohérente du contrôle automatique et du contrôle humain. Les modèles architecturaux classiquement admis sont encore soumis à évolution pour intégrer ces variétés de schémas relationnels qui donnent une dimension unique à ces architectures. Cela est renforcé par les relations dynamiques qui peuvent s’instaurer entre le robot et les capteurs portés par l’environnement (habitat et route intelligents par ex.), amenant à considérer l’impact des réseaux de capteurs et/ou actionneurs non portés par le robot lui-même. Ces aspects conduisent à une réflexion sur l’apport potentiel de l’informatique « auto-régulée » (« autonomic computing ») et ses paradigmes, dans la capacité à s’adapter au contexte au sens large (environnement, activités, interactions).

Génie logiciel et méthodologie de développement


Avec la croissance de la complexité des architectures logicielles pour les robots et l’explosion du marché s’accompagnant d’une diversité toujours plus grande des missions, le coût de développement d’architectures logicielles performantes et correctes devient un enjeu majeur du domaine. Un génie du logiciel adapté à ce domaine d’application doit voir le jour, intégrant la capitalisation des connaissances, la mutualisation des outils et des composants développés, etc. sans parler de standardisation mais plutôt mutualisation et bonnes pratiques. Outre le développement logiciel en tant que tel, les sujets importants à aborder dans ce thème sont la simulation et le test des architectures robotiques (logicielles et matérielles) de même que la vérification et la validation, essentielles à l’adoption de la robotique dans de nombreux domaines (circulation en environnement partagé avec les humains, domaines critiques comme l’aviation, etc.).

Architecture matérielle et technologie


Les architectures logicielles pour les robots sont confrontées à la prise en compte de contraintes provenant de la plate-forme sous-jacente, tant sur le plan de l’infrastructure (middleware robotique) que de l’architecture matérielle. Construire des architectures pérennes et réutilisables dans le contexte de l’existence d’une très grande variété d’infrastructures et de composants physiques (capteurs, actionneurs, mais aussi processeurs, réseaux, et autres matériels parfois spécifiques à la robotique et aux systèmes temps réel) constitue l’un des défis importants des équipes du futur groupe de travail. L’objectif est donc d’arriver à concevoir et mettre en œuvre des architectures facilement adaptables à des plates-formes de déploiement variées, et même à des modifications de ces plates-formes sur le terrain par le remplacement de composants juste à temps pour effectuer une nouvelle mission. L’objectif à long terme pourrait être l’intégration des aspects matériels et logiciels dans une démarche de co-conception matérielle et logicielle, allant des aspects informatiques aux aspects technologiques.

Grandes thématiques spécifiques aux architectures de contrôle des robots


Les spécificités des divers domaines d’application et des grandes catégories de robots (robotique terrestre, marine, sous-marine, aérienne), doivent également être prises en compte tant leur impact est conséquent. En effet, certaines problématiques peuvent être spécifiques ou donner lieu à des solutions différentes selon le domaine d'application, comme par exemple commander un bras médical, un humanoïde, un rover d'exploration, coordonner des robots sous-marin, superviser le travail en équipe de robots hétérogènes  (dispositifs aéroterrestres, aéromaritimes), etc. Certains vont requérir une réactivité importante et des capacités décisionnelles moindres, d’autres auront des besoins de planification importants, etc. Les architectures et algorithmes, éventuellement partagés, ne seront pas les mêmes selon les contraintes. Considérer ces spécificités est source de problématiques et potentiellement source de "benchs" pour juger de l’adéquation des solutions proposées. La multitude des situations peut conduire à une différentiation dans les solutions architecturales et les concepts/mécanismes associés.

Actions


Journées nationales SHARC (Conference on Software and Hardware Architectures for Robots Control)


Lien vers la dernière édition : https://sharc2017.sciencesconf.org
Les journées SHARC sont organisées une fois par an sur 2 jours. L’organisation de ces journées « tourne » entre les différents membres (laboratoires) impliqués dans cette communauté, offrant l’opportunité à chaque laboratoire d’être acteur dans l’animation et permettant également aux participants de découvrir les différents laboratoires impliqués sur ce thème. Les journées ont eu lieu à : Montpellier (2006), Paris (2007), Bourges (2008), Toulouse (2009), Douai (2010), Grenoble (2011), Nancy (2012), CAR 2013 was held in Angers 2013), Paris (2014), Lyon (2015), Brest (2016), Toulouse (2017).

Ces journées concernent tous les aspects architecturaux du contrôle de robots, tels qu’évoqués précédemment. Néanmoins, des thèmes « principaux » sont définis pour chaque conférence ; les thèmes des journées de l’année suivante sont définis lors de la table ronde qui clôt les journées courantes. Il s’agit fondamentalement de favoriser les échanges, notamment avec les doctorants, de croiser les regards sur les problématiques souvent complémentaires et enfin de permettre la mise en relation des différents acteurs concernés par ces problématiques. Chaque manifestation donne lieu à la réalisation d’un site web au sein duquel sont archivés les articles, et parfois les présentations.
Site (web, archives des journées) : http://www.lirmm.fr/gtcar/index.php/sites-web-workshop-car

Participation à des journées inter-GT


La réunion annuelle du GT4 a été réalisée à travers le workshop SHARC qui s'est tenu les 29 et 30 juin 2017 au LAAS (Toulouse). A cette occasion 2 chercheurs du GdR MACS (automatique) ont été invités à présenter leurs travaux sur les CPS (cyber-physical systems): Laurent Fribourg (CNRS, LSV, ENS Paris-Saclay, INRIA) et Alexandre Chapoutot (U2IS, ENSTA ParisTech, Université Paris-Saclay). Il s'agissait de premiers échanges visant à mettre en place, à plus long terme, des collaborations entre le GT4 et le futur GT du GdR MACS dédié aux CPS.

Deux journées ont été organisées en commun avec le réseau métier des mécatroniciens et roboticiens:
Journée ROS (Lille, 29 Septembre 2017): journée visant à réunir la communauté des utilisateurs de ROS en France. L'objectif était d'échanger des retours d'expérience quant à l'utilisation de ROS et également de préparer une future ROSCON française (pour 2018).
Journées "Simulateurs de robot" (Toulouse, 19-20 Octobre 2017): présentations et discussions visant les utilisateurs et concepteurs de simulateurs de robots.

Contacts


Robin Passama (LIRMM, Montpellier) et Jérémie Guiochet (LAAS, Toulouse) assurent la co-animation du GT4.
passama @ lirmm.fr et jeremie.guiochet @ laas.fr