Université Montpellier > LIRMM > Rob

Architecture tolérante aux fautes

  • Architecture de contrôle

 
Notre objectif est le développement d’un cadre de modélisation et d’implémentation des Architectures de Contrôle Robotiques (ACR) devant répondre à un ensemble de propriétés non fonctionnelles (modularité, flexibilité, réutilisabilité, fiabilité, etc..). Ces propriétés favorisent l’intégration des contributions des différents acteurs des projets robotiques, comme ceux d’EXPLORE.  L’ACR doit nécessairement prendre en compte les aspects temps-réel (contraintes d’exécution temporelle des modules) et critiques (réactions prioritaires à certains événements), intrinsèques aux applications robotiques.

La méthodologie ContrACT (CONTRol Architecture Creation Technology) proposée est supportée par un environnement de développement et un middleware permettant de réifier la gestion des contraintes temps réel. C’est une des originalités de notre solution qui, au niveau exécutif, procure à la fois les leviers de contrôle de l’activité des modules (contenant les algorithmes de commande, perception, etc.) et de leurs interactions et enchaînements, et les mécanismes d’observation de leur exécution. Au niveau décisionnel, nous avons défini le langage Cactal (ContrACT Architecture Language) qui permet une description très élaborée du comportement des superviseurs, grâce à une syntaxe et une sémantique claire faisant appel aux notions de règle, de pré et post conditions, et de persistance d’événements. L’ensemble de ces travaux a été porté sur le robot Pioneer et est en cours de portage sur le robot Jack, et ils ont été expérimentés dans le cadre de plusieurs projets ANR (Prosit, Assist, Icaro).

décomposition_logicielle

Décomposition logicielle avec ContrACT
  • Tolérance aux fautes

La tolérance aux fautes est une nouvelle thématique au sein d’EXPLORE, qui complète les travaux sur les architectures de contrôle. Cet aspect, encore peu abordé dans le domaine de la robotique, est incontournable face à la nature et la complexité des applications de robotique autonome actuelles et futures. Nous avons décidé de l’intégrer dès la conception de nos solutions de contrôle, et avons mis au point une méthodologie permettant le développement d’ACR tolérantes aux fautes avec, et c’est essentiel, une adaptation du niveau d’autonomie face à l’évolution du contexte. Après une analyse préalable des différentes fautes pouvant affecter le système et de leurs effets potentiels (AMDEC – Diagrammes d’Ishikawa), nous avons intégré à l’ACR chacune des étapes de la tolérance aux fautes à savoir : détection des dysfonctionnements (logiciel, matériel), localisation et diagnostic de la (des) faute(s) (analyse de signature, résidus) et enfin recouvrement par reconfiguration ou adaptation des schémas de commande, ou ajustement du niveau d’autonomie. Cette contribution est directement intégrée à notre plate-forme logicielle ContrAct, exploitant tant les mécanismes d’observation que les leviers de réaction.

ArchiTF

Intégration de mécanismes de tolérance aux fautes au sein de l’architecture de contrôle

Intégrer la tolérance aux fautes ne se substitute pas à la validation amont, des processus décisionnels notamment. Les méthodes et outils de validation formelle basés sur la modélisation par machines à états (model checking) sont à l’heure actuelle difficilement utilisables dans le contexte de la validation des systèmes embarqués, critiques et temps réel à l’image de la complexité de l’architecture de contrôle embarquée dans un robot mobile. La prise en compte des contraintes temporelles du système, et la considération de paramètres pour refléter le dimensionnement ou les contraintes de l’architecture entraîne en effet des problèmes de complexité combinatoire. Nous avons proposé une approche outillée (Little Parametric Tool) permettant une validation formelle efficace d’un modèle paramétré.

  • Coopération de robots

Enfin, en collaboration avec l’équipe SMILE du Département Informatique, nous avons développé une approche de coopération de robots sous-marins en flottille basée sur les systèmes multi-agents et plus particulièrement sur le concept Agent Groupe Rôle associé au modèle satisfaction-altruisme. Ce travail se situe dans la problématique des architectures décisionnelles réactives. Notre principal apport est l’introduction d’une surcouche «sociale» conférant une attitude à rechercher un but commun, selon une spécification très abstraite des buts qui n’implique pas l’échange de données complexes comme le font les approches par HTNi ou réseaux de Petri (une réduction des besoins de communication, si contraignante en sous-marin notamment, ANR CFLAM).

ArchiSocialLayer

Couche sociale ajoutée comme sur-couche dans l’architecture de contrôle