GT4 : Architectures de contrôle pour la robotique

News


1er ROSCON.fr ! Paris, 11-12 Juin 2019, http://roscon.fr
1-5 Juillet 2019 premier workshop TRUSTMEIA (Trust me I am autonomous), pendant les journées PFIA https://www.irit.fr/pfia2019/, Toulouse
Journées SHARC, Montpellier, 9-10 Juillet 2019, https://sharc2019.sciencesconf.org

Contexte et Positionnement du GT4



Les capacités grandissantes des robots en termes de perception, planification, navigation, manipulation et interactions, mènent à des systèmes dont les architectures de contrôle matérielles et logicielles sont toujours plus complexes à développer et valider. Ces architectures sont le creuset où sont intégrées les diverses fonctionnalités logicielles, telles que celles étudiées par les autres groupes de travail du GdR, exploitant des capacités matérielles (capteurs et actionneurs, réseaux, calculateurs et mémoire) en constante évolution. À titre d'exemple emblématique, les recherches menées dans le domaine des architectures de contrôle ont amené ces dernières années à l'adoption massive des middleware et des approches de développement basées sur les composants logiciels comme ROS, ce qui a significativement simplifié l'interopérabilité, l'intégration, la standardisation et la réutilisation des fonctionnalités robotique.

Malgré ces avancées récentes de nombreuses questions restent ouvertes, notamment celles de la confiance dans ces architectures et middleware, l'utilisation
des méthodes d'ingénierie permettant de gérer la complexité, ou l'interopérabilité des contrôleurs dans des environnements dynamiques.

L'élargissement rapide du champ d'application de la robotique et l'accélération de l'innovation technologique impactent inévitablement la conception et de mise en oe uvre des architectures de contrôle des robots. Il est donc important de synthétiser ces grandes tendances afin de pouvoir en extraire les enjeux scientifiques principaux.

L'immersion des robots dans des environnements massivement communicants devient une réalité dans de nombreux scénarios (Smart Home, Smart Cities, Industry 4.0, Hospital 4.0, etc.). Ces scénarios incluent par exemple : l'utilisation de groupes de robots hétérogènes pour réaliser certaines tâches (Multi-Agent robotic systems) ; l'exploitation par les robots des ressources de calcul, de mémoire et de données disponibles sur internet (Cloud Robotics) ; l'utilisation de robots dans un environnement incluant d'autres objets communicants et des infrastructures dédiées (L'Internet Of Things).

Ces mêmes scénarios supposent également l'interaction des robots avec des humains. Ces derniers, essentiellement non spécialistes, devront être capables de configurer ou piloter des systèmes complexes pour les assigner à de nouvelles tâches ou les aider ponctuellement à résoudre des problèmes spécifiques. Ils devront par exemple : programmer des missions complexes à partir de compétences et d'actions préprogrammées ou enseignées (Skill Learning) ; télé-opérer le système via des dispositifs de réalité virtuelle et/ou augmentée (Embodiment).

Dans d'autres scénarios, les systèmes robotiques évoluent dans des environnements isolés (spatial, sous-marin, nucléaire, etc.) dans lesquels l'intervention humaine est au mieux limitée et les communications sporadiques voire impossibles. Ces robots doivent réaliser des missions complexes avec un haut niveau d'autonomie décisionnelle et opérationnelle. Cette tendance, s'observe également maintenant pour des systèmes robotiques non isolés, mais à qui on délègue un ensemble de tâches sans intervention humaine (transport, agriculture, médical).

Ce développement de l'autonomie, s'accompagne également d'un besoin grandissant de capacités d'analyse et de résolution de situations complexes. Ces capacités peuvent se situer au niveau des couches de raisonnement (par ex., planification de tâches), de perception (par ex., vision), ou même d'actions (par ex., planification de chemin, optimisation du problème de contrôle). Les architectures de contrôle intègrent de plus en plus d'algorithmes issus de l'optimisation et de l'intelligence artificielle, s'appuyant sur l'amélioration continue de la puissance des calculateurs (CPU et GPU). En particulier un nouvel essor renaît autour des techniques basées sur l'apprentissage automatique (Machine Learning), que ce soit pour la perception ou pour l'apprentissage de gestes.

Défis et verrous scientifiques



Développer sur la base de modèles



Mots clés: cycle de vie, génie logiciel, développement basé modèles, middleware, ROS, ingénierie, génération de code.

Bien que l'utilisation des middleware tels que ROS ait simplifié significativement la réutilisation et que l'ingénierie dirigée par les modèles se répande en robotique, force est de constater que le processus de développement manque encore de formalisation ce qui nuit significativement à la simplicité de réutilisation des composants. En effet ces approches ne permettent pas à ce jour de capturer dans des descriptions informatiques toutes les contraintes imposées par l'utilisation d'un composant: sur son déploiement sur une infrastructure matérielle (par ex., présence d'un capteur, utilisation d'un processeur dédié, interface réseau, etc.) ou sur son exécution (par ex., contraintes d' ordonnancement, bande passante requise, etc.).

Ces éléments de formalisation sont la base sur laquelle une plus grande automatisation du cycle de vie sera possible. Cela recouvre d'une part l'évolution des middleware afin de fournir des services avancés (par ex., ordonnancement temps-réel, communication à garantie de service, gestion explicite des ressources matérielles) et d'autre part l'évolution des outils de développement afin qu'ils intègrent au plus tôt ces contraintes durant le cycle de développement. Fournir de tels outils suppose d'étudier : la description et la composition de contraintes (temporelles, matérielles, etc.) et leur traduction sous une forme exécutable ; la garantie de conformité entre modèles et code exécuté par la traçabilité du cycle de vie de l'architecture (raffinement de modèles, génération de code, déploiement et exécution).

Un dernier point concerne la gestion au sein du robot des différents modèles et données (modèles de l’environnement, des actions, du raisonnement…). La mémoire de l’ensemble de ces informations, connues a priori, acquises ou apprises, doit être gérée, organisée et structurée. Comme pour les modèles issus du développement, cette structuration a un impact fort sur l'architecture, ce qui est encore peu formalisé en robotique.

Améliorer la confiance dans les architectures



Mots clés: sûreté de fonctionnement, sécurité, vérification, validation, tolérance aux fautes, système critique autonome.

Un des freins majeurs au déploiement des robots est la confiance que l’on peut placer dans les contrôleurs de ces systèmes. Cela s'est particulièrement illustré dans le cas des applications robotique critiques (par ex. dans les domaines de la santé, ou du transport), où produire des garanties sur la sécurité est complexe. Et bien que de nombreux travaux en sûreté de fonctionnement (dependable robots) aient été initiés il y a une dizaine d'année (et permettrait de contribuer à l'amélioration de la sécurité et donc à la confiance), de nombreuses techniques comme la vérification formelle, la composition correcte par construction, le test en simulation (Software in the loop, Hardware in the loop), les mécanismes de tolérance aux fautes, restent encore peu exploitées par la communauté robotique.

De plus, certaines briques fonctionnelles utilisent des algorithmes issus de l'intelligence artificielle (IA) ou de l'optimisation, dont les caractéristiques les éloignent de ceux classiquement utilisés en robotique. Cela pose le problème de leur intégration et de leur validation. Par exemple, utilisés directement dans les boucles périodiques de perception-décision-réaction, les algorithmes de machine learning (par ex., en vision ou pour la planification), posent le problème de leur ordonnancement temps-réel du fait de la variabilité et même de l'absence de borne de leur temps d'exécution. Aussi, les algorithmes d'apprentissage agissent comme des boites noires, et il est très difficile d'anticiper le résultat ou d'avoir un modèle d'exécution ce qui limite l'utilisation de techniques classiques de test ou de vérification de modèles. L'intégration de l'IA dans les architectures robotique pose des problèmes spécifiques qui vont au delà du concept de confiance (par ex., les problèmes de performance, d'interfaçage, d'applicabilité). Cependant, c'est par le prisme de la confiance que l'on peut aborder les principaux problèmes pour les architectures de confiance.

Plus globalement, pour une application dans le contexte des systèmes robotique autonomes, il est nécessaire de reconsidérer les techniques issues de la sûreté de fonctionnement, utilisées jusqu'alors pour le développement et la certification des systèmes critiques.

Exploiter l'environnement connecté



Mots clés: IoT, big data, multi-robots, multi-agents, cloud-computing.

Une grande partie des applications futures impliquent une gestion du dialogue et de la coordination des robots participants à un environnement connecté hétérogène, notamment avec les infrastructures et objets connectés (dont d'autres robots). À l'heure actuelle ce dialogue est réalisé essentiellement de manière ad-hoc, ce qui nuit à la modularité et à l'évolutivité de ces environnements et à la réutilisation des sous-systèmes qui les composent. La coordination des robots fait face également à une distribution des services (tels que la perception ou la décision), et au delà du dialogue, ce sont des problématiques de répartition et synchronisation que les architectures doivent gérer.

Mieux exploiter l'environnement connecté passe par l'étude des standards, protocoles, ontologies et approches multi-agents permettant aux robots : de découvrir l'environnement numérique dans lesquels ils évoluent ; de dialoguer afin d'échanger des informations et des connaissances ; d'expliciter les actions qu'ils sont capables de réaliser, et de fournir les moyens à un tiers d'exploiter ces actions ; d'établir des consensus quant à la réalisation d'actions coordonnées entre agents ; de synchroniser leurs activités, et notamment lors de variations de la qualité des services (QoS) accessibles.

Maîtriser l'adaptation dynamique de l'architecture



Mots clés: architecture reconfigurable, adaptation, évolutivité, self-repair, planificateur, apprentissage, autonomic computing.

Parmi les défis liés à l'accroissement de l'autonomie, la prise en compte à l'exécution de phénomènes non prévus et/ou non désirés nécessite de travailler sur les capacités de reconfiguration autonomique des architectures de contrôle. En effet les applications futures requièrent des niveaux d'autonomie qui exigent que les robots soient capables d'adapter automatiquement leurs modes de fonctionnement de manière à répondre aux mieux aux exigences imposées par leur mission, par l'état de l'environnement physique ainsi et par l'ensemble de l'environnement numérique auxquels ils sont connectés.

Cette adaptation peut se situer à un niveau fonctionnel (par ex., la planification et la supervision autonome de missions ; l'autonomie adaptative) ou non-fonctionnel comme la performance (par ex., l'optimisation de critères de performance ; l'ordonnancement temps réel) ou la sûreté de fonctionnement (par ex., la résilience par rapport aux dysfonctionnements d'agents tiers ; la tolérance aux fautes). La maîtrise de ces différentes formes d'adaptation nécessite l'étude d'approches globales et des algorithmes autonomiques qu'elles exploitent.

Simplifier la programmation de missions complexes



Mots clés: programmation missions, interface humain-robot, ergonomie, skill based programming, skill/action learning.

La programmation de tâches et de missions reste peu accessible à des non spécialistes. Pourtant les applications futures vont demander à des utilisateurs de programmer des missions plus ou moins complexes, la facilité de programmation sera donc un enjeu essentiel qui nécessite l'étude des ontologies, modèles et langages permettant de décrire les actions à réaliser en fonction de l'évolution du contexte (états du robot, de l'environnement, de la mission). La traduction de ces plans sous la forme d'opérations réalisées sur l'architecture (par ex., reparamétrage d'algorithmes, reconfiguration du mode de fonctionnement courant) nécessite d'utiliser des méthodes de compilation, de transformation de modèles et/ou de génération de code adaptées. Ces dernières devront générer des plans exécutables par des services dédiés de l'architecture (par ex., planificateur et superviseur de mission).

Enfin, la méthode de programmation elle-même peut-être amenée à évoluer au delà de l'utilisation d'un seul langage textuel ou graphique. L'utilisation de techniques d'IA pour apprendre au système de nouvelles actions pourrait se baser par exemple sur l'interaction physique homme/robot ou sur des mécanismes de téléopération, et ainsi radicalement changer la manière dont sont programmées les missions.

Actions


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



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),
Angers (2013), Paris (2014), Lyon (2015), Brest (2016), Toulouse (2017), Saint-Tropez (2018), Montpellier (2019)

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) : https://sharc2019.sciencesconf.org/

Participation à des journées inter-GT



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.
Journées Nationales sur ROS
19-20 juin 2018 Toulouse (France) https://jonaros2018.sciencesconf.org

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