Projet Sharp

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



Fondements scientifiques

Planification de mouvement

Résumé : En matière de planification de mouvement, l'un de nos objectifs reste la maîtrise de la complexité induite par des problèmes de planification en vraie grandeur. S'ajoute à cela notre volonté de prendre en compte de façon explicite des contraintes autres que les contraintes géométriques habituellement considérées, ceci, dans le but de produire des plans exécutables dans des environnments réels; ces contraintes découlent principalement de la nature physique du monde réel : évolutivité de l'environnement, cinématique et dynamique des systèmes considérés, incertitudes géométriques, contacts.


Environnements évolutifs et systèmes multi-robots

Dans le cas de tâches d'intervention (par exemple de maintenance ou de démantèlement dans des installations nucléaires, de manipulation ou manutention en milieux dangereux), plusieurs engins (autonomes ou opérés) sont utilisés et leur action sur leur environnement est importante et conduit très généralement à modifier la structure de celui-ci. Notre activité de recherche porte sur la prise en compte de l'évolutivité de l'environnement (i.e. changement de sa structure) dans la phase de planification de mouvement d'une flotte de robots afin d'assurer plus tard le bon déroulement des tâches à exécuter. Afin de développer une approche dans un cadre réel, nous avons considéré comme application majeure l'intervention dans une installation nucléaire, et plus particulièrement des tâches de manipulation/manutention en vue de la maintenance dans un générateur de vapeur.

Peu de travaux ont abordé le problème de la planification de mouvement dans un contexte de milieu évolutif. Parmi ceux-ci, nous pouvons citer les travaux de [HST94] et [ML96] qui ont considéré le cas d'un bras manipulateur évoluant dans un milieu encombré. La nature interactive et répétitive des tâches de programmation de missions nous porte à adopter une approche de planification de mouvement de type roadmap. Cela consiste à capturer dans un graphe une représentation discrétisée de la connectivité de l'espace libre des configurations des mobiles considérés pouvant être utilisée de manière intensive pour répondre à des requêtes de planification. Pour générer cette roadmap, nous utilisons une version adaptée de l'algorithme ``Fil d'Ariane'' qui est une méthode aléatoire générale de planification de mouvement [PJEE95]. A l'instar d'autres méthodes probabilistes émergentes dans le domaine telles que celle décrite dans [KSLO96], le Fil d'Ariane est particulièrement adapté à des problèmes de recherche dans des espaces à grande dimension. C'est cet algorithme qui a été utilisé à la base de l'approche développée dans [ML96] pour pallier au problème de l'évolutivité de l'environnement.

Contraintes cinématiques et dynamiques

  La problématique de la planification de mouvement, lorsqu'elle concerne des robots de type voiture, s'enrichit de plusieurs facteurs. En effet, un tel robot est soumis à différents types de contraintes, cinématiques (rayon de courbure limité, etc.) ou dynamiques (force motrice, adhérence, etc.). Par ailleurs, son environnement peut contenir des obstacles fixes et mobiles. Dans ce contexte, il est important d'intégrer toutes ces contraintes dans le processus de planification. Compte tenu de la difficulté intrinsèque du problème abordé, une réponse généralement adoptée consiste à décomposer le problème initial en deux sous-problèmes : on planifie d'abord un chemin géométrique (prise en compte des contraintes cinématiques et des obstacles fixes) puis la vitesse le long de ce chemin (prise en compte des contraintes dynamiques et des obstacles mobiles).

En ce qui concerne la planification de chemin, le problème des contraintes cinématiques dites non-holonomes intéresse tout particulièrement la communauté robotique depuis qu'il est apparut pour la première fois en 1986[Lau86]. Une contrainte cinématique est une liaison du premier ordre sur les paramètres de configuration du robot, i.e. une relation de la forme :  

\begin{equation}G(q, \dot{q}, t) \left[ \begin{array}{c} = \\ < \\ \leq \end{array} \right]0\end{equation}



$t$ dénote le temps, $q$ une configuration du robot et $\dot{q}$ le vecteur vitesse associé. Lorsque qu'une telle relation n'est pas intégrable, i.e. lorsqu'il est impossible de faire disparaître le terme $\dot{q}$, la contrainte, et partant le robot, est non-holonome. Une telle contrainte réduit l'ensemble des déplacements instantanés que peut effectuer le robot et affecte donc la forme géométrique des mouvements qu'il peut effectuer. Un robot de type voiture est un exemple typique de système non-holonome. Il est soumis à deux contraintes non-holonomes liées au fait qu'il est équipé de roues : (1) il doit de déplacer dans une direction perpendiculaire à l'axe de ses roues arrières (continuité de la direction tangente) et (2) son rayon de giration est limité (courbure bornée).

Depuis 1986, de nombreux travaux de recherche ont portés sur la planification de mouvement pour robot non-holonome en général, et de type voiture en particulier. Suite à un résultat établi en 1957[Dub57] sur la nature des plus courts chemins pour un mobile de type voiture, l'ensemble des travaux antérieurs calculent un chemin composé de segments connectés par des arcs de cercle tangents de rayon minimum. Ce type de chemin respecte les deux contraintes non-holonomes d'un robot de type voiture, mais il a l'inconvénient de présenter des discontinuités de courbure au niveau des transitions segment-arc de cercle. De telles discontinuités obligent le robot à s'arrêter pour réorienter ses roues directrices, ce qui n'est évidemment pas satisfaisant pour certaines applications.

Notre objectif sur ce point est de s'affranchir de telles contraintes afin de : (1) minimiser l'écart entre les chemins planifiés et les chemins exécutés par le robot, et (2) optimiser les profils de vitesse le long des chemins planifiés. Nous utilisons donc pour cela des chemins dont la courbure est continue et dont la dérivé de la courbure est bornée. La continuité de courbure correspond à la continuité de la variation de l'angle de braquage des roues avant du robot tandis que la borne sur la dérivé de la courbure correspond au fait que la vitesse de variation de l'angle de braquage des roues avant est limitée.

Incertitudes géométriques

Dans sa forme classique, la planification de mouvement consiste à calculer une séquence continue de configurations qui amène le robot à son but, tout en respectant des contraintes d'anti-collision et éventuellement des contraintes cinématiques ou dynamiques. Dans certains cas, et en particulier pour la navigation en robotique mobile, il est important que les chemins calculés soient aussi robustes, i.e. insensibles aux effets des incertitudes sur la position du robot et des obstacles, et à celles de la commande. Dans le cas, par exemple, d'un robot équipé d'un système de localisation relative, ex. odométrie, l'incertitude sur la position du robot, de par sa nature cumulative, peut devenir telle qu'elle rende impossible le suivi d'un chemin donné. Il est donc nécessaire de considérer ces incertitudes dès la planification, afin de pouvoir engendre des solutions robustes.

Les premiers travaux sur la planification de chemin sous contraintes d'incertitude ont été réalisés dans le domaine de l'assemblage de pièces mécaniques. Un premier type d'approche consiste à calculer une séquence d'assemblage en supposant l'incertitude nulle, puis à modifier la séquence ainsi obtenue afin de prendre en compte l'incertitude. Ce type d'approche se prête bien à l'assemblage dans la mesure où la structure du plan final est, en général, proche de celle du plan initial du fait de la présence de ``guides géométriques'' engendrés par les surfaces en contact. Ceci n'est généralement pas le cas en robotique mobile. Une autre approche consiste à utiliser le concept de préimage [LPMT84], i.e. l'ensemble des configurations à partir desquelles une commande donnée permet d'atteindre à coup sûr un objectif donné : la planification par chaînage arrière de préimages intègre l'incertitude directement dans le processus de planification mais elle pose des problèmes de complexité algorithmique tels que cela a limité son utilisation à des cas très simples.

Notre objectif est d'aborder la prise en compte de l'incertitude dans la planification de mouvement en considérant des cas plus réalistes (ex. robot non ponctuel, mouvements non rectilignes, modèles d'incertitude plus complexes), et en prenant simultanément en compte les contraintes cinématiques non-holonomes (cf. §[*]).

Manipulation dextre

Notre activité de recherche dans le cadre de la manipulation porte sur le développement d'outils informatiques (algorithmes et modèles) pour la planification de mouvement pour la manipulation dextre d'objets 3D par des préhenseurs mécaniques anthropomorphiques de type main articulée à plusieurs doigts. De tels outils sont importants si l'on se situe dans des applications de type manipulation d'objets dangereux (chimiques, irradiés, etc.), dans le cadre d'opérations de maintenance ou de démantèlement dans des sites sensibles ou éloignés (installation nucléaire, milieu sous-marin ou spatial). Deux aspects sont abordés dans le contexte de la manipulation dextre : la planification de mouvement et le contrôle/commande avec asservissement visuel.

Planification de mouvements dextres.

Le problème général en planification de mouvement pour la manipulation dextre par une main articulée consiste à trouver une trajectoire (incluant les forces de contact) à appliquer aux doigts permettant d'amener le système main-objet d'une prise initiale à une prise finale désirée (incluant la configuration de l'objet et la configuration des bouts des doigts sur l'objet). Ce problème est particulièrement complexe sachant que le robot (main articulée) est à grand nombre de degrés de liberté et que les interactions de contact main-objet ont une influence forte sur l'évolution du système. Ces deux facteurs enrichissent naturellement la problématique classique de la planification de mouvement avec des contraintes et paramètres supplémentaires liés à la cinématique et la dynamique du robot, les structures géométriques et les propriétés physiques des objets, et aux modes et interactions de contact.

A la revue des travaux menés en robotique dans le domaine de la manipulation dextre, nous pouvons constater que les principaux problèmes abordés ont concerné la configuration de la main en vue de la saisie [BLMB$^{+}$95], la synthèse de prises fermes pour la saisie (i.e., prises connues sous les noms anglo-saxons ``form-closure''et ``force-closure''), le contrôle de bas niveau pour la coordination des chaînes articulées des doigts, et l'analyse de la mécanique de la manipulation. La planification globale de manipulations dextres demeure un problème peu abordé. Les rares travaux existant ont abordé quelques instances simplifiées telles que: la réorientation de polyèdres dans le plan avec ou sans frottement, la réorientation dynamique de polyèdres en absence de frottement, et l'étude de l'impact de contraintes cinématiques non-holonomes (dues à des contacts de type roulement) sur la génération de mouvements quand la géométrie des objets en contact (objet manipulé et bouts des doigts) est réduite à des structures simples (e.g., sphériques et/ou planaires). Toutefois, ces travaux ont montré dans des contextes différents que le problème de la planification est complexe et que différents aspects doivent être pris en compte.

Contrôle/commande avec asservissement visuel en manipulation dextre.

On s'intéresse ici au contrôle d'exécution de tâches de manipulation dextre en présence d'incertitudes. On doit pour cela utiliser les informations sensorielles fournies pour les capteurs de force et plus particulièrement par la vision. Le schéma opératoire considéré consiste alors à contrôler les doigts de la main articulée afin de réaliser les mouvements spécifiés de l'objet manipulé (ces contraintes de mouvement pouvant être produites par un planificateur ou engendrées en téléopération). Le système de contrôle/commande doit alors assurer la ``bonne'' trajectoire de l'objet, tout en respectant certaines contraintes de forces pré-définies.

La plupart des travaux en manipulation dextre concernent la planification de mouvements dans une optique quasi-statique [Har95]. Ces travaux sont complets et de très bonne qualité, mais la présence inévitable d'incertitudes sur le contrôleur de bas niveau et son incapacité à mesurer les déplacements réels de l'objet rendent cette planification inapplicable en pratique. Depuis plusieurs années, la recherche pour des application concrètes tend vers l'utilisation croissante de capteurs pour superviser les tâches dans l'espace de travail. Jagersand [Jag97] explore la possibilité d'intégrer la vision dans la boucle de planification pour des tâches de manipulation dextre. Malheureusement rien ne prouve que le système puisse amener le robot vers son but avec une précision et une stabilité minimale. Li et al [LHS89] définissent des contrôleurs qui incluent la position et la vitesse de l'objet, mais rien n'est dit sur la façon d'obtenir ces données et sur la robustesse de cette approche en l'absence de ces informations.

Nous souhaitons contrôler une main articulée en utilisant la vision. La dynamique du système comprenant la main articulée et l'objet à manipuler peut être modélisée par un système d'équations différentielles sous contraintes algébriques. La nature de ces contraintes dépend de la nature de contact. Bien que le contact puisse être fixe au cours de la manipulation, la géométrie du bout du doigt permet aussi que le doigt glisse ou roule sur la surface. En même temps la commande doit être capable de générer et contrôler le mouvement désiré. Etant donné que nous voulons contrôler d'une façon globale l'objet et non plus chaque doigt, nous faisons l'hypothèse qu'un système d'asservissement visuel permettra implicitement de contrôler chacun des contacts. Etant donné que les problèmes liés à la manipulation avec roulement sont maîtrisés, nous nous sommes concentrés sur les aspects liés au contact fixe et de glissement.

Simulation dynamique

Résumé : Notre objectif est d'étendre la classe des modèles habituellement utilisés en robotique. Nous cherchons à prendre en compte les caractéristiques physiques des systèmes considérés afin de rendre les méthodes de planification mieux adaptées à des environnements réalistes. Les modèles et algorithmes développés à cet effet doivent satisfaire les contraintes suivantes: réalisme, interactivité, facilité de mise en oeuvre par l'identification des paramètres physiques des modèles.


L'essentiel des techniques de planification de mouvements actuellement utilisées en robotiques sont basées sur des modèles géométriques. Ces techniques permettent de résoudre la plupart des problèmes en environnement fortement structurés mais requièrent généralement des stratégies de contrôle en force pour résoudre les aspects dynamiques lors de l'exécution. Le but de nos recherches est de modéliser les phénomènes que les modèles géométriques ne peuvent pas représenter correctement, ex. collision, friction, déformation, etc., mais qui doivent être pris en compte dès la planification pour garantir le succès de certaines tâches.

Les recherches menées s'inspirent des travaux réalisés d'une part en mécanique des solides et résistance des matériaux, et d'autre part dans les domaines de l'animation graphique. Les modèles développés en mécanique présentent l'avantage d'être très réalistes et, ayant été utilisés pendant des décennies, sont associés à des tables qui permettent rapidement de restituer les propriétés physiques des matériaux. Pour la modélisation des déformations, la méthode dite des ``éléments finis'', satisfait les contraintes de réalisme et d'identification, mais convient peu, dans sa forme actuelle, pour les applications interactives car les temps de calculs interdisent la simulation en temps réel. En outre, cette méthode permet difficilement de combiner les calculs de mouvements et de déformations, ainsi que les changements de topologie (nécessaire pour représenter des opérations de découpe des matériaux).

Les modèles développés en animation graphique sont quant à eux rapides, mais pêchent par leur manque de réalisme physique et la difficulté qu'il y a à identifier les paramètres nécessaires au bon déroulement des processus d'animation (modèles masses-ressorts, surfaces implicites, etc.).

Compte tenu des besoins propres à la robotique (y compris les aspects liés aux applications médicales) et du constat précédent, nous nous sommes fixés les objectifs suivants : (1) spécification, développement et intégration de modèles répondants aux différentes caractéristiques des classes de simulations dynamiques à considérer (l'existence d'un modèle unique étant utopique), (2) développement d'algorithmes rapides et dont les résultats restent contrôlables en terme de réalisme (erreur tolérée), et (3) mise en oeuvre de procédures d'identification permettant de calculer aisément les paramètres du modèles afin d'assurer la cohérence physique (ex. propriétés physiques des matériaux) et de réduire les temps de calcul de la simulation; il faudra en particulier être en mesure d'utiliser des modèles CAO et des tables de propriétés des matériaux pour construire de manière aussi simple que possible les modèles physiques nécessaires à la simulation dynamique.

Autonomie de mouvement pour véhicules

Résumé : En matière d'autonomie de mouvements pour véhicules, notre objectif est le développement de petits véhicule urbains doté de capacités de déplacement autonome. Dans ce cadre, nous intervenons tant au niveau de l'architecture matérielle de contrôle/commande que de la structure logicielle décisionnelle de contrôle.


Conception-intégration d'architecture de contrôle distribuée

Ces dernières années, du fait des progrès de l'intégration des composants électroniques (microcontrôlleurs), de la diminution de leur coût et de l'apparition de bus de terrain de plus en plus fiables et performants, une nouvelle tendance est apparue pour les architectures matérielles de contrôle/commande des processus industriels complexes. Les capteurs et les actionneurs deviennent ``intelligents'' (on parle de composants mécatroniques) en prenant en charge une partie du traitement de l'information qui était auparavant fait par un calculateur central (boucles d'asservissement, prétraitements des informations capteurs). Ces composants dialoguent entre eux via un bus de terrain dans une architecture distribuée, ce qui simplifie le câblage, minimise les contraintes électromagnétiques et thermiques, et donc diminue les coûts du système tout en augmentant sa fiabilité. Ces concepts ont été retenus pour réaliser l'architecture matérielle de contrôle/commande pour les prototypes de petits véhicules urbains Cycab de l'Inria.

Structures décisionnelles pour l'autonomie

Pour contrôler les mouvements d'un véhicule autonome, il existe essentiellement trois types d'architecture de contrôle : l'approche hiérarchique privilégiant le raisonnement sur des modèles de l'environnement d'évolution[Nil84], l'approche réactive favorisant la réactivité du robot avec cet environnement[Bro90], et l'approche hybride essayant de coupler ces deux aspects[Pay86]. La philosophie hybride est de toute évidence celle qui correspond le mieux à la problématique du véhicule autonome en environnement dynamique partiellement structuré que nous abordons. Nous travaillons donc sur la conception et la réalisation d'une architecture décisionnelle qui intègre deux fonctionnalités : le planificateur de mouvement (niveau délibératif) proposant une trajectoire nominale que doit suivre le véhicule, et le contrôle d'exécution (niveau réactif) chargé d'exécuter, vérifier la validité, et éventuellement modifier cette trajectoire. Les problèmes inhérents à l'absence de trajectoire lorsque la trajectoire nominale proposée par le planificateur de mouvement n'est plus valide (par exemple, pour éviter un obstacle que le véhicule vient de détecter) nous ont conduits à intégrer le concept de ``manoeuvre générique'' dans l'architecture décisionnelle précédente. Le principe consiste à disposer d'un ensemble de ``schémas de contrôle'' associés à chaque contexte (ex. parking, évitement d'obstacle, etc.) et paramètrés par des informations capteurs (ex. vitesse du véhicule, distance des obstacles, etc.). Nous avons déjà étudié comment cela pouvait s'appliquer dans le cas du parking et du suivi/changement de file en environnement routier, et des validations expérimentales ont été réalisées. Cette approche permet en théorie d'intégrer correctement les différentes couches décisionnelles, tout en ayant un meilleur contrôle des mouvements exécutés par le véhicule (trajectoire, vitesses, accélérations).

Les efforts actuels portent d'une part sur l'amélioration des fonctionnalités des différents modules (y compris l'apprentissage des différents paramètres expérimentaux) et des schémas de contrôle mis en jeu, et d'autre part sur la résolution des problèmes d'intégration de l'ensemble. Il existe par exemple plusieurs modalités possibles de contrôle-commande qu'il faut correctement appliquer (en fonction du contexte) et correctement enchaîner.

De la géométrie aux probabilités

Résumé : Notre objectif est d'aborder le problème de l'incertitude en robotique en se plaçant dans le cadre formel fourni par le calcul bayésien afin de nous permettre de représenter les incertitudes et de calculer leurs propagations mais aussi de traiter dans un cadre unifié une large catégorie de problèmes inverses en robotique. Nous cherchons en particulier à nous doter d'outils de modélisation et de calcul probabiliste pour la géométrie.


La prise en compte des incertitudes est un des problèmes important de la robotique. Raisonner sur des informations incertaines pour programmer un robot constitue un des thèmes récurrents de cette discipline. En particulier on peut se référer aux travaux de Taylor, Lozano-Perez et Mason[LPMT84], ou ceux menés dans notre équipe[TP88,DlRLN96]. Pour des raisons de commodité de calcul, la plupart des auteurs cherchent à s'écarter de la théorie des probabilités en adoptant des simplifications parfois excessives : représentation ensembliste des erreurs ou filtre de Kalman. Dans ce travail nous cherchons au contraire à coller aux cadres fournis par les probabilités pour modéliser l'incertitude et plus spécialement à celui fourni par le calcul bayésien. Nous cherchons en particulier à nous doter d'outils de modélisation et de calcul probabiliste pour la géométrie. Les résultats attendus ne doivent pas seulement nous permettre de représenter les incertitudes et de calculer leurs propagations mais aussi de traiter dans un cadre unifié une large catégorie de problèmes inverses en robotique : cinématique inverse, calibration, positionnement de la base du robot, ou conception mécanique adaptée à une tâche. Mais c'est dans le domaine de l'interprétation des capteurs que cette approche peut se révéler extrêmement payante en permettant de combiner dans un même modèle de connaissance les informations préalables sur le système et le résultat des mesures capteurs.

Pour nous aguerrir à ce type de technique, nous avons commencé par construire un modeleur géométrique bayésien. Dans ce modeleur, la position des entités géométriques est représentée par des distributions de probabilité conditionnelles. Les connaissances préalables que nous avons sur une scène robotique nous permettent de fixer la forme de ces distributions. Ces connaissances peuvent exprimer la certitude (Dirac), l'incertitude de mesure (loi de Gauss) ou encore l'ignorance (loi uniforme). Elles concernent les relations mécaniques comme la position relative de deux entités ou les liaisons mécaniques. Mais elles peuvent aussi traduire les relations géométriques virtuelles introduites par les capteurs.

En utilisant cette modélisation, le calcul bayésien nous permet, en théorie, d'inverser tout problème se posant en terme des variables utilisées dans le modèle. En utilisant ces principes on peut résoudre des problèmes aussi variés que : la cinématique et la dynamique inverse, la calibration, le positionnement par fusion multi-capteurs ou la conception de mécanique adaptée à une tâche. Nous avons montré que l'on peut le faire aussi en pratique en utilisant la puissance de calcul des nouveaux ordinateurs et en utilisant des algorithmes d'intégration probabiliste basés sur la méthode de Monte-Carlo ou sur les algorithmes génétiques. Les implications industrielles de ce type d'approche sont importantes car elle permettraient de réduire les coûts de fabrication des machines en posant globalement le problèmes de la conception de la cellule, de l'utilisation des capteurs et celui de la programmation des robots.



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