Description de l'action ALROB


ALROB : Architectures Logicielles pour la ROBotique autonome et les systèmes auto-adaptables

Responsables :

  • Jacques Malenfant
  • David Andreu
  • Noury Bouraqadi
  • Serge Stinckwich

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) :

  • définition d'architectures logicielles ;
  • langages de programmation, abstractions de programmation, et patrons de conception ;
  • spécification, modélisation, validation et vérification, en fonction de leur impact et contraintes sur
    les architectures logicielles ;
  • l'ensemble des aspects du génie logiciel directement liés aux architectures logicielles : conception,
    développement, tests, validation, gestion du cycle de vie, etc. ; et
  • la composition, coordination, inter-connexion de ces systèmes.

Ces thèmes sont développés autour des défis scientifiques précédents et par les objectifs suivants :

  • proposer de nouveaux concepts architecturaux supportant toujours plus de fonctionnalités et
    de possibilités,
  • abstraire les différents éléments des architectures de contrôle du système à contrôler, de manière
    à réduire le temps nécessaire pour l'adoption de nouveaux matériels (capteurs, actionneurs,
    adaptations, ressources à allouer, etc.), tout en exprimant explicitement leurs différentes
    contraintes (temporelles, etc.),
  • réduire la durée et rationaliser le processus de développement d'architectures de contrôle
    correctes et efficaces,
  • permettre de valider par des tests systématiques et de vérifier formellement ces architectures de
    manière à pouvoir assurer les garanties de fonctionnement qui seront exigées pour les
    autorisations d'utilisation dans la société,
  • rendre plus robustes les architectures de contrôle par un méta-contrôle durant l'exécution et des
    adaptations logicielles aux pannes et variations dans les conditions de fonctionnement du
    système à contrôler,
  • permettre d'exposer les fonctionnalités et le comportement des entités auto-adaptables
    autonomes d'une manière régulière et complète pour faciliter leur intégration dans un environnement
    ouvert de systèmes de systèmes à grande échelle,
  • développer et adapter des méthodes et des outils propres au génie logiciel des architectures de
    contrôle : élicitation des besoins, modélisations comportementale et architecturale, modèles de
    composants et langages de programmation, intergiciels, réseaux, systèmes, etc.

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.