Projet : Sharp

previous up next contents
Précédent : Fondements scientifiques Remonter : Fondements scientifiques Suivant : Mouvement dans le monde virtuel


Sous-sections


   
Mouvement dans le monde réel

Il semble maintenant acquis que l'autonomie de mouvement dans le monde réel doit passer par le couplage de deux types de fonctions : des fonctions délibératives, dotées de capacités de modélisation et de raisonnement à différents niveaux d'abstraction, et des fonctions réactives, qui privilégient le temps de réaction à un évènement donné (l'impératif temps-réel implique souvent des capacités de raisonnement plus réduites, voire nulles). Ceci nous amène à aborder les deux problématiques suivantes :

Niveau délibératif :

nous travaillons sur le problème de la planification de mouvement, i.e. le calcul préalable d'un mouvement nominal tenant compte des connaissances a priori sur l'environnement.

Niveau réactif :

outre le développement des fonctions réactives requises, se pose surtout le problème de la gestion des interactions entre les fonctions délibératives et réactives au sein d'une structure décisionnelle capable d'assurer effectivement l'autonomie de mouvement.

   
Planification de mouvement

La planification de mouvement est un problème fondamental en Robotique. A ce titre, il a fait et continue de faire l'objet d'un nombre important de travaux de recherche (cf. [Lat90]). Du fait de la complexité intrinsèque du problème général de la planification de mouvement, de nombreux travaux ne considèrent que l'aspect géométrique de la planification de mouvement et calculent un chemin géométrique sans collision avec les obstacles (généralement fixes) de l'environnement. Notre volonté de produire des plans exécutables dans des environnements réels nous amène à prendre en compte de façon explicite des contraintes autres que la simple contrainte géométrique de non-collision habituellement considérée. Ces contraintes découlent d'une part de la nature physique (et pas seulement géométrique) du monde réel (cinématique et dynamique des systèmes considérés, interaction de contacts, incertitudes), et d'autre part de la nature des environnements considérés (systèmes multi-robots, obstacles mobiles, environnements évolutifs, etc.). Ces différentes contraintes posent des problèmes particuliers pour lesquels nous nous attachons à trouver des solutions. Dans chaque cas, l'un de nos objectifs reste la maîtrise de la complexité additionnelle. Nos efforts se portent principalement sur les aspects suivants :

Systèmes multi-robots.

Dans la problématique générale de planification de mouvements, la planification pour systèmes multi-agents est une instance particulièrement ardue. De nombreux cas existent : les agents peuvent être en compétition pour les ressources ou en collaboration pour réaliser une mission commune, des moyens de communication entre agents peuvent être envisagés ou pas, la topologie de l'espace de travail peut être fixe ou modifiable par les agents, etc. De plus, les méthodes de planification sont tout aussi variées que les cas considérés. Une des spécificités de la planification multi-agents réside dans sa complexité algorithmique. En effet, on peut considérer l'ensemble des agents comme un seul robot à plusieurs corps, mais la complexité de cette approche la rend inutilisable en pratique, quand le nombre d'agents augmente. Plus précisément, en ajoutant des bornes sur la vitesse des agents, le problème de planification est alors NP-complet par rapport au nombre d'agents. La seule approche raisonnable est donc l'établissement de protocoles de coordination et de coopération prenant en compte les spécificités de l'application.

Dans nos activités antérieures, nous avons abordé le problème de planification pour un système composé de plusieurs bras articulés. L'approche consistait à planifier itérativement et incrémentalement les trajectoires de chaque agent (portion de bras) après avoir effectué la mise à jour du modèle d'environnement due au déplacement élémentaire de l'agent précédent [ML96]. Plus récemment, nous avons abordé le problème de redistribution spatiale d'un grand ensemble d'objets par une flotte réduite de robots. Les robots se déplaçant dans le même environnement, notre solution consiste à pré-calculer un réseau de chemins (appelé roadmap) utilisable par les différents robots (avec ou sans les objets qu'ils doivent transporter), et couvrant toutes les positions atteignables avec une précision donnée. Actuellement, nous nous intéressons au problème posé par les manoeuvres de formation et déformation, ainsi que la navigation, en trains de véhicules à accrochages immatériels, que ce soit dans un environnement protégé (où tous les véhicules sont automatisés) ou non (les autres véhicules et les piétons ont alors un comportement ``imprévisible'').

Contraintes cinématiques.

La planification de mouvement pour des robots de type voiture, s'enrichit de plusieurs facteurs. En effet, de tels robots sont soumis à différents types de contraintes : cinématiques (rayon de courbure limité, etc.) ou dynamiques (force motrice, adhérence, etc.). Le problème des contraintes dites non-holonomes intéresse tout particulièrement la communauté robotique depuis qu'il est apparu pour la première fois en 1986[Lau86]. Une contrainte non-holonome 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 de système non-holonome : il doit se déplacer dans une direction perpendiculaire à l'axe de ses roues arrières et son rayon de braquage est limité.

Depuis 1986, de nombreux travaux ont porté sur la planification de chemin pour robot non-holonome en général, et de type voiture en particulier (cf. [LE98]). La majorité de ces travaux calcule un chemin composé de segments connectés par des arcs de cercle tangents. Ce type de chemin a l'inconvénient de présenter des discontinuités de courbure au niveau des transitions segment-arc de cercle, ce qui soit oblige le robot à s'arrêter pour réorienter ses roues directrices, soit nécessite l'utilisation d'un niveau réactif permettant de revenir vers le chemin initialement prévu (l'évitement de collision peut alors nécessiter des manoeuvres[*], et donc des arrêts, non prévus). Notre objectif 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) d'augmenter les vitesses autorisées 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[*] [[5]].

D'autre part, la majorité des travaux actuels présente des planificateurs dits ``locaux'', qui prennent en compte les contraintes non-holonomes de déplacement mais pas l'évitement d'obstacles, et qui sont intégrés à des schémas algorithmiques dits ``globaux'' pour permettre l'évitement des obstacles. Parmi ces schémas, on distingue une grande famille reposant sur le pré-calcul d'un chemin non nécessairement faisable pour le système, mais géométriquement sans collisions. Ce chemin géométrique est ensuite approché par une concaténation de sous-chemins faisables et sans collisions, calculés par le planificateur local. Les algorithmes de ce type sont, à ce jour, les plus efficaces pour les systèmes non-holonomes de grande dimension [LE98, chapitre premier]. Néanmoins, la difficulté de la phase d'approximation, ainsi que la complexité du chemin final obtenu, dépendent fortement de la ``qualité'' du premier chemin géométrique. Nous nous sommes donc intéressés au problème de calcul d'un ``bon'' chemin géométrique.

Incertitudes géométriques.

Dans certains cas, et notamment pour la navigation en robotique mobile, il est important que les chemins calculés soient robustes, i.e. qu'ils puissent être suivis malgré les incertitudes sur la position du robot et des obstacles, et celles dues à la commande. En particulier, dans le cas d'un robot équipé d'un système de localisation relative (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 d'engendrer des solutions robustes.

Les premiers travaux dans ce domaine 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 : la structure du plan final est, en général, proche de celle du plan initial, grâce à la présence de ``guides géométriques'' engendrés par les surfaces en contact. Ce 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 des cas plus réalistes (robot non ponctuel, mouvements non rectilignes, etc.), ce qui nous amène à développer des modèles d'incertitude plus complexes et de nouvelles techniques de planification.

Manipulation dextre.

On s'intéresse ici à la manipulation d'objets à l'aide de préhenseurs mécaniques anthropomorphiques, de type main articulée à plusieurs doigts. Le schéma opératoire considéré consiste à contrôler les doigts de la main articulée, afin de réaliser les mouvements spécifiés (par un planificateur ou par téléopération) pour l'objet manipulé. Dans ce contexte, nous nous penchons particulièrement sur les problèmes liés à l'exécution de tâches de manipulation dextre en présence d'incertitudes. 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 applications concrètes tend vers l'utilisation croissante de capteurs pour superviser les tâches dans l'espace de travail [Jag97,LHS89]. Nous souhaitons contrôler une main articulée en utilisant des informations sensorielles, fournies d'une part par des capteurs de force et d'autre part par des systèmes de vision. L'approche en cours de développement pour la manipulation dextre a pour but l'intégration du système de la main articulée avec des méthodes d'asservissement visuel. Cette recherche est menée en collaboration avec les projets Bip et Movi de l'Inria Rhône-Alpes.

   
Structure décisionnelle pour l'autonomie de mouvement

Dans ce domaine, notre objectif est de développer une architecture de contrôle visant à doter un véhicule de type voiture de la capacité de se déplacer de façon autonome. Comme indiqué précédemment, l'autonomie de mouvement dans le monde réel passe par le couplage de deux types de fonctions : des fonctions délibératives utilisant des modèles et des raisonnements de complexités variées, ainsi que des fonctions réactives qui se basent uniquement sur les données des capteurs (sans construire de modèle) pour calculer rapidement un résultat (à l'aide de raisonnements simples). Ce couplage se réalise par le biais d'une structure décisionnelle (ou architecture de contrôle) qui gère les interactions entre ces différentes fonctions. On peut distinguer trois grandes classes de structure décisionnelle pour l'autonomie de mouvement : les architectures délibératives et réactives qui privilégient respectivement les fonctions délibératives [Nil84] et réactives [Bro90], et les architectures hybrides qui tentent d'intégrer ces deux types de fonctions. Cette intégration peut se faire de multiples manières, cependant les travaux les plus récents en matière d'architectures hybrides s'orientent vers des architectures à trois composantes [ACF+98] :

1.
la composante fonctionnelle regroupe un ensemble de fonctions temps-réel de base liées à la commande et aux moyens de perception du système ;
2.
la composante exécutive gère et coordonne l'exécution des fonctions de la composante fonctionnelle compte tenu de la situation courante et de la tâche à réaliser ;
3.
la composante décisionnelle produit des plans pour la réalisation de la tâche et supervise la composante exécutive.
La composante exécutive constitue l'interface entre les niveaux réactifs et délibératifs. L'architecture que nous développons s'inscrit dans cette philosophie. L'originalité de notre approche réside dans la notion de ``manoeuvre type'' adaptée à un objectif et à un type de situation donnés (un ``contexte''). Le principe consiste à disposer d'un ensemble de schémas de contrôle (ou manoeuvres type) associés à chaque contexte (par exemple parking, évitement d'obstacle, etc.) et paramétrés par des informations capteurs (par exemple vitesse du véhicule, distance aux obstacles, etc.) [[16]]. Cette approche permet d'intégrer correctement les différentes couches décisionnelles, tout en assurant un meilleur contrôle des mouvements exécutés par le véhicule (trajectoire, vitesses, accélérations). Par ailleurs, cela permet d'améliorer l'efficacité de la composante décisionnelle du système.

Footnotes

... manoeuvres[*]
En planification, une manoeuvre est un passage de la marche avant à la marche arrière, ou réciproquement.
... bornée[*]
La continuité de courbure correspond à la continuité de la variation de l'angle de braquage des roues avant, tandis que la borne sur la dérivée de la courbure correspond au fait que la vitesse de variation de l'angle de braquage est limitée.


previous up next contents
Précédent : Fondements scientifiques Remonter : Fondements scientifiques Suivant : Mouvement dans le monde virtuel