ALROB : Architectures Logicielles pour la ROBotique autonome et les systèmes auto-adaptables
Responsables :
Thématique scientifique
En robotique autonome et collective, l'architecture de contrôle capture l'ensemble des fonctions
logicielles ainsi que leur organisation spatiale et temporelle, en liaison avec les organes matériels,
donnant aux robots la capacité d'exécuter leur mission. Depuis une vingtaine d'années, la robotique
autonome fait face à une croissance rapide dans la complexité des besoins et des exigences pour des
robots chargés de missions multiples, capables de se coordonner, et fournissant des garanties de
sûreté et de sécurité puissent être vérifiées et certifiées en vue d'une utilisation dans un environnement
humain. En parallèle, une évolution similaire dans le domaine des systèmes temps-réel embarqués
répartis a justifié l'émergence du domaine des systèmes « cyber-physiques » reflétant une montée
similaire en complexité. D'autres domaines sont également apparus, comme l'informatique
autonomique, partageant les mêmes défis scientifiques dans la conception et la mise en oeuvre de
leurs architectures logicielles.
Ces architectures logicielles visent toutes, globalement, à intégrer un système informatisé de contrôle
avec d'autres traitements d'informations de plus en plus lourds (cartographie, planification, analyse de
données, apprentissage, etc.), et ce dans un contexte en prise constante avec le monde réel.
L'expérience de ces vingt dernières années en robotique autonome montre que dans ces domaines la
réalisation d'architectures logicielles correctes et sûres, facilement réutilisables et évolutives reste un
défi formidable car il est très difficile d'obtenir un bon découplage entre capteurs, contrôle, algorithmes
et actionneurs. La prise en compte du temps et des contraintes diverses a mené à des systèmes très
couplés, où les caractéristiques des capteurs et des actionneurs de même que le cahier des charges
des fonctionnalités attendues finissent par dicter des solutions spécifiques en termes d'algorithmes,
d'architectures, de configurations des intergiciels et du système, etc., solutions qui sont coûteuses à
développer et ensuite difficiles à valider, à vérifier et à faire évoluer.
L'apport des méthodes classiques, et mêmes récentes, de l'informatique, est important mais elles
restent en grande partie inopérantes face à ces défis. En effet, le problème du couplage est traité,
pour l'essentiel, par la modularité des données et des traitements et par l'abstraction des services
par rapport à leur implantation. L'informatique pousse toujours plus loin l'abstraction et l'indépendance
à l'égard du matériel et des ressources, mais ces approches ne permettent pas l'expression explicite
des propriétés temporelles et la dynamique de l'exécution : entrelacement et temporisation des tâches,
précision des mesures, des calculs, des commutations et des actions en fonction du temps contraint
intrinsèque à la robotique. Les intergiciels pour la robotique sont soit orientés vers l'exécution (par
exemple, Orocos), soit préoccupés par des considérations d'intégration (par exemple, ROS) qui
résolvent certes certains problèmes, comme la « standardisation » des données échangées, etc.,
mais qui restent encore loin de s'attaquer au coeur du défi.
En termes scientifiques, le défi principal est donc de trouver des modèles permettant de décrire les
fonctionnalités mais aussi le comportement dynamique de tous les éléments (capteurs, actionneurs,
noyau de contrôle, algorithmes en bibliothèques, etc.) de manière à concevoir et implanter des
architectures (robotiques ou autonomiques) par composition fine et explicite de ces modèles, dans le
respect des contraintes temporelles auxquelles ils sont soumis notamment par le contrôle et les
évolutions du monde physique. En effet, si une architecture de contrôle résulte du mariage délicat
entre des éléments interdépendants, ce est par l'explicitation de ces interdépendances et leur prise
en compte systématique dans la conception et l'implantation que ce domaine pourra atteindre un
niveau de maturité égal à celui des autres domaines, comme l'électronique par exemple.
L'action transversale ALROB anime une communauté de recherche, incluant des chercheurs du GDR
GPL et du GDR Robotique, s'intéressant aux défis soulevés par le développement de ces architectures
logicielles par le biais des thématiques suivantes (toujours comprises dans l'optique des architectures
logicielles pour la robotique autonome, les systèmes cyber-physiques et les systèmes auto-adaptables) :
Ces thèmes sont développés autour des défis scientifiques précédents et par les objectifs suivants :
La communauté ALROB émane de celle de la conférence nationale « Control Architectures of Robots »
qui a organisé des éditions annuelles depuis 2006. L'idée de créer un pont entre roboticiens et informaticiens était déjà à la base de l'organisation de CAR 2006 et de ses éditions subséquentes.
Avant même sa reconnaissance comme action transversale, la communauté ALROB a organisé une
première journée de travail au LIP6 le 1er décembre 2014. Des secondes journées ont été organisées
en marge de CAR 2015 les 29 et 30 juin 2015 au CITI à Lyon sur la thématique de la modélisation,
du contrôle et de la simulation, depuis la conception à la validation et à la vérification. Une troisième
édition est organisée le 7 décembre 2015 au LIP6 sur les modèles à l'exécution et leurs utilisations pour
la vérification, la simulation et l'auto-adaptabilité dynamiques.