Projet Icare

previous up next contents
Précédent : Présentation générale et objectifs Remonter : Projet ICARE, Instrumentation, Commande et Suivant : Grands domaines d'application



Fondements scientifiques

Robots et commande



Participants : Claude Samson ,  Pascal Morin ,  David Lizarraga-Navarro ,  Dimitris Tsakiris


Mots-clés : système holonôme, système nonholonôme, bras manipulateur, robot mobile, robot à pattes


  Les mécaniques de robots sont généralement conçues en fonction des applications et tâches auxquelles on les destine. Une première classification permet de distinguer trois grandes catégories, à savoir : i) les bras manipulateurs, avec une forte représentation en milieu manufacturier dans les domaines de l'assemblage et de la manutention, ii) les robots mobiles sur roues, dont la mobilité permet d'aborder des applications plus diversifiées (robotique manufacturière, mais aussi de service et de transports), et iii) les robots à pattes, dont la complexité et l'étude plus récente et inachevée expliquent qu'ils soient encore largement cantonnés aux expérimentations de laboratoire. Cette classification, bien qu'usuelle, ne suffit pas à entièrement rendre compte de la variété des mécanismes robotiques. Il faudrait par exemple y ajouter tous les mécanismes hybrides, résultant de l'association bras manipulateur/base mobile, ainsi que les véhicules marins robotisés (de surface et sous-marins).

Chaque catégorie de robots induit des caractéristiques de mouvement ainsi que des problèmes de commande spécifiques. Les formalismes mathématiques (de Newton, d'Euler-Lagrange,...) universellement utilisés pour écrire les équations de la dynamique, génériquement non-linéaires, de ces systèmes sont classiques et relativement bien maîtrisés. À ce niveau, les différences entre bras manipulateurs et véhicules sur roues résultent principalement de l'existence de deux grands types de liaisons cinématiques. De façon générale, ces liaisons (ou contraintes) sont exclusivement holonômes, c'est-à-dire complètement intégrables, dans le cas des bras manipulateurs, alors que la liaison roue-sur-plan qui caractérise les robots mobiles est nonholonôme (i.e. non complètement intégrable). Pour cette raison, il est usuel de dire que les bras manipulateurs sont des systèmes mécaniques holonômes, et que les robots mobiles (sur roues) sont nonholonômes. Une propriété structurelle immédiate d'un mécanisme holonôme est l'égalité de la dimension de l'espace de configuration et du nombre de degrés de liberté (i.e. la dimension de l'espace des vitesses instantanées) du système. Le fait que la dimension de l'espace de configuration d'un système nonholonôme soit, quant à elle, strictement supérieure au nombre de degrés de liberté est, de façon bien compréhensible, source d'une plus grande difficulté à commander ce type de système.

L'application de théorèmes classiques de géométrie différentielle, repris dans le cadre de la Théorie de la Commande, permet toutefois de déduire une propriété fonctionnelle importante, commune aux deux types de systèmes lorsque ceux-ci sont complètement actionnés (i.e. possèdent un actionneur par degré de liberté), à savoir la propriété d'être localement commandables en temps petit en tout point de l'espace d'état. Il s'agit d'une propriété de commandabilité forte puisqu'elle signifie essentiellement que tout point voisin peut être atteint en un temps arbitrairement court --à condition de ne pas imposer de limitations sur les actionneurs-- tout en maintenant l'état transitoire du système dans le voisinage du point initial.

Le cas de systèmes sous-actionnés, pouvant correspondre à un fonctionnement nominal pour lequel la stabilité naturelle de certaines composantes de l'état (le roulis d'un navire, par exemple) permet de faire l'économie d'un ou plusieurs actionneurs, ou encore à un mode de fonctionnement dégradé (panne d'actionneur), est beaucoup plus complexe, et a jusqu'à présent résisté aux tentatives --encore peu nombreuses, il est vrai-- de classification basée sur les différentes notions de commandabilité. Tout juste est-il possible de dire que certains de ces systèmes restent commandables dans le sens évoqué précédemment, alors que d'autres perdent cette propriété tout en étant commandables en un sens plus faible, et que d'autres encore deviennent non commandables.

La commandabilité d'un système robotique complètement actionné n'implique pas pour autant que la synthèse de lois de commande appropriées soit simple. Le cas le plus favorable est celui des bras manipulateurs holonômes dont les équations sont linéarisables par retour d'état statique. Cette propriété permet de dire que ces systèmes sont «faiblement» non-linéaires. La transposition des techniques classiques de commande des systèmes linéaires, pour la réalisation d'objectifs de commande élémentaires (tel que le suivi de trajectoires articulaires), constitue une alternative viable, d'ailleurs largement utilisée dans la pratique. À contrario, le modèle linéarisé d'un robot mobile nonholonôme, déterminé en une configuration d'équilibre quelconque, n'est pas commandable. La linéarisation des équations de ce robot par retour d'état dynamique, lorsqu'elle est possible, présente toujours aussi des singularités aux points d'équilibre. Le point peut-être le plus marquant, de par ses implications sur les plans pratique et théorique, est qu'il n'existe pas de retour d'état continu, fonction uniquement de l'état du système, capable de stabiliser asymptotiquement une posture désirée. Il souligne le caractère fondamentalement non-linéaire de ce type de système et la nécessité de recourir à des techniques de commande se démarquant profondément des méthodes classiquement utilisées dans le cadre des systèmes linéaires ou linéarisables.

Le cas des robots à pattes, et de la locomotion articulée en général, est encore très différent en ce que ces systèmes échappent, pour la plupart, à la classification holonôme/nonholonôme évoquée précédemment. Leur mise en équations requiert de décomposer le mouvement en plusieurs phases (selon le nombre de pattes en appui sur le sol), celles de vol balistique (lorsqu'aucune patte ne touche le sol) impliquant souvent des liaisons nonholonômes de par la conservation du moment cinétique, ainsi que la modélisation de phénomènes d'impact intervenant aux instants où une patte rencontre le sol. L'analyse du fonctionnement de ces systèmes mécaniques est étonnamment complexe, même pour les plus simples d'entre eux (tels que le compas --bipède-- marcheur et le monopode --unijambiste-- sauteur). Elle augmente encore à mesure que l'on cherche à pousser la correspondance entre certains fonctionnements nominaux de ces systèmes et les allures des systèmes biologiques (telles que la marche, la course, le trot, le galop,...) de structure comparable. Il est maintenant communément admis, bien qu'imparfaitement compris, que l'existence de telles allures (pseudo-périodiques), et les mécanismes de transition entre elles, sont étroitement liés à des considérations de consommation énergétique. Dans cette optique, la commande a pour rôle premier «d'identifier» les trajectoires pour lesquelles cette consommation est minimale, et de les stabiliser.

Un des objectifs de recherche du projet ICARE est de faire progresser les solutions de commande de ces différents systèmes robotiques. Cette recherche est fédératrice de collaborations (passées, présentes, et futures) avec plusieurs projets de l'Inria, les projets MIAOU (Jean-Baptiste Pomet), et BIP (Bernard Espiau, Ambarish Goswami), en particulier.

Commande des systèmes non-linéaires



Participants : Claude Samson ,  Pascal Morin ,  David Lizarraga-Navarro ,  Dimitris Tsakiris


Mots-clés : système non-linéaire, stabilisation par retour d'état, commande robuste


Les mécaniques robotisées, ou «robotisables», étant structurellement des systèmes non-linéaires qu'il s'agit en pratique de commander de façon efficace et robuste, le projet ICARE a naturellement une activité dans le domaine de l'Automatique ayant trait à la théorie de la commande des systèmes non-linéaires. Au niveau des développements fondamentaux et méthodologiques réalisés de par le monde dans ce domaine, l'étude des systèmes mécaniques et de leur automatisation, constituant l'axe central du champ multidisciplinaire qu'est la Robotique, a eu, et continue d'avoir, un rôle privilégié [19]. Ceci s'inscrit d'ailleurs dans la continuité historique, puisqu'on peut dire que l'Automatique, en tant que science de l'ingénieur, a sa genèse dans la régulation de systèmes mécaniques (depuis le régulateur centrifuge de Watt au 18ème siècle, les pilotes automatiques de navires de Minorsky en 1922, et les problèmes de guidage et de stabilisation d'engins aériens ou spatiaux après la seconde guerre mondiale). Plus récemment, les bras manipulateurs ont servi de modèle pour illustrer l'intérêt de la théorie de la linéarisation par retour d'état. Les études de robustesse aux erreurs de modélisation (résultant d'incertitudes sur les paramètres mécaniques, sur les paramètres des capteurs extéroceptifs, ou sur l'environnement observé par ces capteurs) ont permis d'affiner les analyses de stabilité à base de fonctions de Lyapunov et d'illustrer l'intérêt des approches utilisant les propriétés structurelles de passivité associées aux systèmes hamiltoniens. Plus récemment encore, l'étude de la commande des robots mobiles nonholonômes a servi de point de départ au développement de nouvelles approches, telles que la caractérisation de la propriété différentielle de platitude [RFLM93], utilisée pour résoudre des problèmes de planification de trajectoires, ou encore les techniques de commande par retour d'état continu instationnaire [Cor92], utilisées pour résoudre le problème de stabilisation asymptotique en un point.

Dans ce contexte, les travaux menés au sein du projet ICARE sont principalement axés sur les aspects de stabilisation par retour d'état. Dans le cas des bras manipulateurs, ils ont abouti à l'approche dite par fonctions de tâche [4] qui représente aujourd'hui le cadre standard utilisé pour aborder les problèmes de commande référencée capteurs. Nos études de commande de robots mobiles [5] sont, quant à elles, à l'origine de la théorie naissante de la stabilisation des systèmes non-linéaires par retour d'état continu instationnaire.

Perception et autonomie



Participants : Patrick Rives ,  Jean-Jacques Borrelly ,  Laurence Pelletier ,  Jose-Luis Carrilho-Sequeira


Mots-clés : perception de l'environnement, capteur extéroceptif, commande référencée capteurs


  Lors de la réalisation d'une tâche, un système robotique est amené à interagir avec son environnement local. Cette interaction peut prendre différents aspects : actions de la part du robot sur son environnement (assemblage, manutention...), réactions vis-à-vis d'événements provenant de cet environnement (évitement d'obstacles, coopération avec d'autres systèmes automatisés...). Une des clés de l'autonomie en robotique réside dans le contrôle de cette interaction entre robot et environnement à tous les niveaux de la tâche. En premier lieu, lors de la planification de la tâche, cela se fera par l'acquisition, la modélisation et la manipulation des connaissances sur l'environnement et sur la tâche. Enfin, durant l'exécution où il s'agira d'exploiter les données perceptuelles pour adapter au mieux le comportement du système aux conditions de la tâche qu'il réalise.

Perception et planification de tâches

La modélisation d'environnement en vue de la planification des actions robotiques est un thème majeur en robotique. Il se décline en de nombreuses variantes suivant la connaissance a priori dont on dispose : d'une connaissance complète permettant la planification hors ligne de la tâche jusqu'à une absence totale de connaissance nécessitant une acquisition en ligne du modèle durant une phase d'exploration. On a coutume de distinguer différentes problématiques en fonction du but de la perception : i) percevoir pour planifier un déplacement, ii) percevoir pour se localiser. Dans le premier cas, on fera une distinction supplémentaire entre la construction de modèles géométriques destinés à la planification de trajectoires continues libres d'obstacle et la construction de modèles topologiques destinés à la planification de chemins dont l'ensemble constitue le graphe des points de passage permettant d'aller d'un lieu à un autre. Concernant les modèles géométriques, ils seront fréquemment réduits, dans le cas d'environnements d'intérieurs, à une représentation polygonale des obstacles obtenue grâce à un balayage horizontal d'un télémètre (laser ou ultrason). Malgré cette apparente simplicité, la construction et la mise à jour de tels modèles demeurent difficiles notamment au niveau de la gestion des incertitudes lors de la fusion de plusieurs acquisitions durant le déplacement du robot. Les modèles topologiques sont des représentations plus abstraites pouvant être construites par une structuration des modèles géométriques (segmentation en régions connexes définissant des lieux). Leur utilisation ouvre sur une autre problématique qui est la recherche et la reconnaissance des points de passage entre différents lieux (par exemple des portes dans une scène d'intérieur) avec la mise en oeuvre de techniques de reconnaissance des formes.

Dans le cas de la perception dans un but de localisation, la problématique est un peu différente. Il s'agit alors de maintenir une estimée de l'état du robot, (en général, sa position et son orientation) durant son déplacement. Les techniques utilisées sont celles du filtrage. Afin de compenser les dérives introduites par la plupart des capteurs proprioceptifs (odomètres, centrales inertielles...), la majorité des approches, qualifiées d'hybrides, utilise des données acquises sur l'environnement par le biais de capteurs extéroceptifs pour effectuer un recalage sur des structures caractéristiques de la scène (amers). La mise en oeuvre de ce type d'approche soulève de nombreux problèmes quant à la sélection, l'extraction fiable et l'identification de ces amers dans le cas d'environnements non connus a priori.

Nous essayons actuellement d'appréhender dans un même formalisme le problème de la localisation et celui de la modélisation géométrique de l'environnement en relaxant au maximum les hypothèses sur la connaissance a priori disponible sur l'environnement. Celà nécessite de briser le cycle mauvaise localisation $\Rightarrow$ mauvaise reconstruction $\Rightarrow$ mauvaise localisation. Les approches mises en oeuvre s'appuient sur deux idées : i) faire coopérer au mieux les différentes modalités sensorielles (proprio et extéroceptives) par le biais de stratégies de perception active, ii) utiliser des lois de commande référencée capteurs pour imposer des contraintes sur les problèmes de localisation et de modélisation géométrique et, de ce fait, les rendre mieux conditionnés. Des études sont également menées, toujours en s'appuyant sur des stratégies de perception active, dans le domaine de la reconnaissance des formes afin d'identifier des structures caractéristiques de l'environnement (portes, fenêtres) pouvant servir d'amers ou caractériser des points de passage entre lieux d'un modèle topologique.

Perception et contrôle d'exécution

De même qu'il est important de prendre en compte le processus de perception très tôt au niveau de la planification de la tâche, il est tout aussi indispensable de contrôler l'interaction entre le robot et son environnement lors de son exécution. Celà se traduit par la prise en compte explicite d'informations perceptuelles, d'une part dans la constitution de boucles de commande robustes (aspect continu), et d'autre part dans la détection d'événements externes nécessitant une modification du comportement du système (aspect réactif). Dans les deux cas, il s'agit de pouvoir robustifier le comportement du système face à une certaine variabilité des conditions d'exécution de la tâche. Cette variabilité peut provenir d'erreurs de mesures ou de modèle dues aux capteurs ou aux systèmes commandés, mais elle peut également provenir de l'environnement qui peut être mal connu ou incertain. Au niveau des lois d'asservissement, il s'agit de synthétiser des schémas de commande en boucle fermée sur les informations perceptuelles traduisant au mieux les objectifs de la tâche. L'utilisation de lois de commande référencée capteurs et du formalisme des fonctions de tâche, permet de traduire ces objectifs en termes de régulation d'une fonction de sortie qui pourra, suivant la tâche, être exprimée soit dans l'espace de configuration du système commandé soit, directement, dans l'espace de perception. L'aspect réactif vis-à-vis d'événements extérieurs perturbant le déroulement de la tâche requiert, d'une part, la détection de ces événements et, d'autre part, d'associer à leur détection un nouveau comportement du système. Dans le cas de la perception, ces deux aspects peuvent être élégamment réalisés en utilisant le formalisme des capteurs logiques introduits par Henderson.

Un axe de recherche est consacré à l'analyse et la synthèse de lois de commande référencées capteurs. Les formalismes utilisés (fonctions de tâche, liaisons virtuelles) permettent de définir ces lois à tous les niveaux de la spécification jusqu'à l'implémentation effective. En associant à ces lois de commande un comportement logique, il est alors possible de définir des actions élémentaires référencées capteurs (par exemple, suivi de mur) pouvant être manipulées au niveau de la planification tout en garantissant une bonne robustesse au niveau de l'exécution. La généricité des formalismes permet d'envisager leur application à différents capteurs utilisés en robotique (odométrie, capteurs d'effort, centrale inertielle, proximétrie, vision locale,...).

Programmation de systèmes hybrides



Participants : Soraya Arias ,  Jean-Jacques Borrelly ,  Ève Coste-Manière ,  Konstantinos Kapellos ,  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


 

Un des problèmes principaux de la programmation des systèmes robotiques est d'aborder dans un cadre cohérent la description de l'évolution dynamique des deux composantes --continue et discrète-- de ces systèmes. Ceci nécessite d'intégrer différents formalismes, trop souvent spécialisés dans un domaine précis et déconnectés les uns des autres. L'étude des architectures de contrôle [CME98] est primordiale pour développer concepts et méthodes permettant de gérer la complexité de la spécification et de l'analyse de la globalité du système. Nous menons cette étude en collaboration avec B. Espiau (projet BIP) et R. Pissard-Gibollet (SERVICE ROBOTIQUE) de l'U.R. Rhône-Alpes.

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 [2] basé sur le langage synchrone ESTEREL [Ber96] 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 [11].

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 : Présentation générale et objectifs Remonter : Projet ICARE, Instrumentation, Commande et Suivant : Grands domaines d'application