Projet : ICARE

previous up next contents
Précédent : Perception et autonomie Remonter : Fondements scientifiques Suivant : Domaines d'applications


Sous-sections


   
Programmation de systèmes hybrides



Participants : Soraya Arias, Jean-Jacques Borrelly, Ève Coste-Manière, Daniel Simon, Nicolas Turro.

Mots clés : architecture de contrôle, contrôle/commande, système embarqué, programmation orientée domaine, vérification formelle, environnement de programmation, temps réel .

Les systèmes robotiques appartiennent à une classe plus large : celle des systèmes dynamiques (continus) dont l'évolution dans le temps est régie (séquencée) par la production, l'enregistrement, et la prise en compte d'événements discrets. On parle aussi de systèmes dynamiques réactifs. On conçoit bien que la programmation de tels systèmes requiert un cadre cohérent pour décrire l'évolution dynamique des deux composantes -- continue et discrète -- de ces systèmes. Ceci implique, entre autres choses, d'intégrer différents formalismes existants (de l'automatique, de l'informatique temps-réel,...) traditionnellement spécialisés et déconnectés les uns des autres. Les études sur les architectures de contrôle-commande, menées conjointement par les projets Bip et Icare depuis plusieurs années, s'inscrivent dans une tentative d'unification de ces formalismes dans le but de développer de nouveaux concepts, méthodes, et outils permettant de gérer efficacement la complexité de la programmation des systèmes hybrides continus/discrets. L'approche par fonctions de tâches pour la commande des bras manipulateurs, développée à la fin des années 80 par des chercheurs de ces deux projets, a constitué le point de départ de notre réflexion sur le sujet et conduit la conception du système ORCCAD, dont la version récente 3.0 est gratuitement mise à disposition de tout laboratoire qui en fait la demande (voir le site web http://www.inrialpes.fr/iramr/pub/Orccad/ pour plus de détails à ce sujet).

Cette année a vu une importante reconfiguration du groupe de chercheurs du projet directement impliqué dans le développement d' ORCCAD et des outils qui s'y rattachent. D'une part, la Direction de l'U.R. de Sophia-Antipolis a confié à E. Coste-Manière (CR) -- conceptrice du langage de programmation de missions MAESTRO [[3]] -- et les deux doctorants (S. Arias, N. Turro) dont elle encadre le travail, la mission de démarrer une action prospective dans le domaine de la robotique médicale. D'autre part, la volonté de regrouper dans le futur les « forces » de développement du système ORCCAD sur un seul site, dans le but notamment de démarrer une phase d'industrialisation, a motivé le transfert de D. Simon -- un des concepteurs d' ORCCAD -- à l'U.R. INRIA de Rhône-Alpes, dans le projet Bip dirigé par B. Espiau -- l'autre concepteur du système. Le projet Icare continuera cependant de participer à l'effort de recherche dans ce domaine, en particulier via la mise en oeuvre d' ORCCAD pour la programmation de la plateforme mobile Anis utilisée par le projet pour intégrer et tester expérimentalement les résultats de recherche dans les domaines de l'algorithmique de commande, de la perception, et du contrôle d'exécution. Le projet aura à ce niveau un rôle de « beta-testeur » averti, offreur de suggestions pour améliorer les fonctionnalités d' ORCCAD. Il sera également partenaire des futures évolutions et du transfert industriel d' ORCCAD en participant à la réalisation d'objectifs définis en commun avec les autres acteurs impliqués dans le développement du système.

Le système ORCCAD

Un contrôleur de robots doit être capable de traiter une grande diversité d'actions, allant par exemple de la commande d'une cellule flexible d'assemblage en milieu industriel au contrôle d'un véhicule autonome opérant en milieu hostile. La diversité des applications potentielles en robotique et la mise en oeuvre d'algorithmes de commande sophistiqués impliquent une ouverture du système de programmation. D'un point de vue industriel, les contrôleurs actuels restent le plus souvent des machines fermées, dotées d'un langage limité ne permettant pas d'exécuter des actions complexes telles que des commandes référencées capteurs. Outre leurs limitations fonctionnelles, ils ne permettent pas de traiter correctement les aspects temps-réel sous-jacents à toute application robotique, même simple. L'architecture de contrôle ORCCAD [[1]] propose actuellement deux niveaux : le niveau fonctionnel, où les aspects commande en temps discrétisé sont prépondérants, et le niveau contrôle, qui gère principalement les aspects réactifs. Au niveau fonctionnel, les actions élémentaires sont définies sous forme de TÂCHES-ROBOT : ce concept clé spécifie dans la même entité une partie algorithmique (loi de commande) et une partie logique réactive. Il s'agit d'un objet informatique hybride, à l'interface des aspects temps continu et discret. Au niveau contrôle, les actions complexes sont spécifiées sous la forme de PROCÉDURES-ROBOT par composition structurée et hiérarchique de TÂCHES-ROBOT et de traitements d'exception. Nous proposons ainsi, dans un environnement cohérent, un ensemble d'outils intégrés permettant de programmer, de valider et de générer, de manière transparente pour l'utilisateur, ces méthodes et concepts bien formalisés.

   
Programmation de missions

Cette activité concerne principalement le développement de l'environnement de spécification, validation et implémentation du langage MAESTRO [[3]] basé sur le langage synchrone ESTEREL dans le but de faciliter la programmation de missions robotiques. Elle implique la définition, d'une part, des entités manipulées (lois de commande, algorithmes de vision, de génération de trajectoires...), et, d'autre part, de la sémantique et de la syntaxe des primitives de manipulation de ces entités. Elle se positionne au niveau d'abstraction où l'on raisonne en termes d'actions. La vérification des programmes spécifiés dans cet environnement est également abordée au même niveau d'abstraction. L'objectif est de rendre la programmation et la validation des applications robotiques accessibles à des utilisateurs non spécialistes des méthodes théoriques sous-jacentes et de faciliter ainsi leur diffusion.

La généricité de cette approche étant pressentie, son adéquation à d'autres types d'applications implique une adaptation spécifique aux domaines envisagés : traitement du signal, vision [ACMGV97].

De plus, afin d'étudier la portabilité des outils associés à cette méthodologie, des implémentations standards (utilisation de la norme POSIX conforme à différents systèmes d'exploitation) des entités manipulées sont analysées et réalisées.



previous up next contents
Précédent : Perception et autonomie Remonter : Fondements scientifiques Suivant : Domaines d'applications