Projet : Sharp

previous up next contents
Précédent : Résultats nouveaux Remonter : Résultats nouveaux Suivant : Mouvement dans le monde virtuel


Sous-sections


   
Mouvement dans le monde réel

   
Systèmes multi-robots



Participants : Laurent Caponi, Moëz Cherif, Frédéric Large, Christian Laugier, Sepanta Sekhavat.

Nos derniers résultats de recherche concernant les systèmes multi-robots portent d'une part sur la redistribution spatiale de plusieurs objets par une flotte de robots, et d'autre part sur les protocoles de coordination de mouvements pour un système multi-agents, dans le cadre du trafic aérien et dans celui des entrées/sorties dans un train de véhicules.

Le premier problème, appelé aussi problème de dépôt, consiste à trouver des trajectoires sans collision permettant à un groupe d'objets d'être déplacés et déposés par une flotte d'engins mobiles dans un environnement de type installation nucléaire. En tenant compte du fait que toutes les opérations de dépôt se déroulent dans le même environnement, notre solution consiste à pré-calculer un réseau de chemins (appelée roadmap) représentant toutes les possibilités (à un niveau de précision donné) de déplacements pour les différents engins mobiles (seuls et avec les objets qu'ils doivent transporter). Ce réseau capture en un graphe la connectivité de l'environnement $\cal W$ pour chacun des robots. La particularité de notre ``roadmap'' est qu'elle est construite de manière à pouvoir être utilisée localement par plusieurs engins et objets de tailles différentes, ce qui permet de factoriser les informations concernant la topologie des espaces libres des nombreux mobiles. Nous parlons alors de roadmap étiquetée, une étiquette indiquant pour chaque chemin les robots qui peuvent l'emprunter (avec ou sans charge). Sachant que $\cal W$ est évolutif, la ``roadmap'' est mise à jour localement de manière à maintenir une représentation valide dans la suite de la résolution du problème de dépôt. Le planificateur a été implanté dans le cadre d'un projet de collaboration avec EDF[*] et les résultats de simulation sont très prometteurs [[22]].

Notre deuxième contribution concernant les systèmes multi-agents porte sur la conception de protocole de coordination de mouvements pour les systèmes à grand nombre d'agents. En effet, pour des systèmes de grande taille, les approches classiques de la planification dans l'espace des configurations sont impraticables. Ce genre de problèmes ne peut se régler que par l'établissement d'une sorte de ``code de la route''. Un tel travail a été effectué dans le cadre de la gestion du trafic aérien mais il est généralisable à d'autres flottes de robots et d'autres types d'environnements [[36],[37]]. Le protocole proposé est cohérent, sûr et cherche l'optimalité dans l'ordonnancement et la synchronisation des plans d'exécution des différents agents. La cohérence est assurée par respect des principes de protocoles d'insertion de plans. Pour la sécurité, l'espace libre autour des trajectoires est décomposé en cellules considérées comme ressources non partageables. L'utilisation des cellules conflictuelles est synchronisée suivant des processus d'optimisation prenant en compte des critères énergétiques et temporels (respect des horaires).


  
Figure 1: Manoeuvre d'entrée simulée, zone d'échange aménagée.
\begin{figure} \centerline{ \psfig{figure=multi-res-a.ps,height=33mm} \psfig{figure=multi-res-b.ps,height=40mm} } \end{figure}

Des études ont également été réalisées, dans le cadre de la route automatisée (cf. § [*]), sur des trains de voitures électriques reliées entre elles par accrochage immatériel. Des protocoles de collaboration entre ces véhicules ont été étudiés pour permettre des manoeuvres d'entrées/sorties du train en milieu urbain. Deux approches ont été proposées et validées sur simulateur pour des vitesses réduites. La première considère des manoeuvres ayant lieu dans des zones d'échange spécialement aménagées [[38]], tandis que la seconde utilise une topologie à deux voies ou à voie large, moins dépendante de l'environnement [[40]] mais difficilement utilisable à vitesse élevée dans l'état actuel des choses, en raison de la faible portée des capteurs en place. L'utilisation de caméras et d'outils de vision stéréoscopique est envisagée, et des recherches sont en cours sur ce sujet au sein de l'Autonomous Vehicle Laboratory de Singapour dans le cadre d'une collaboration (cf. § 8.4.3). Contrairement aux protocoles rencontrés dans la littérature, les solutions présentées ici tiennent compte des contraintes particulièrement hostiles que pose l'environnement urbain, tout en conservant l'architecture à trois niveaux déjà en place sur les véhicules expérimentaux qu'a développé l'INRIA (cf. § 3.1.2). Des travaux visant à rendre plus robuste la navigation dans un environnement à forte composante dynamique sont en cours, concernant notamment une meilleure prise en compte des véhicules non-contrôlés et des piétons.

   
Contraintes cinématiques



Participants : Thierry Fraichard, Christian Laugier, Alexis Scheuer, Sepanta Sekhavat.

Nous avons défini un nouveau problème de planification de chemin pour robot mobile de type voiture. En plus des contraintes cinématiques usuelles, qui sont la continuité de la direction tangente et une borne de la courbure, ce problème prend en compte deux nouvelles contraintes : la continuité de la courbure et une borne sur la dérivée de la courbure par rapport à l'abscisse curviligne. 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ée de la courbure correspond au fait que la vitesse de variation de l'angle de braquage des roues avant est limitée.

Nous avons d'abord démontré la contrôlabilité du robot mobile vérifiant ces quatre contraintes. Autrement dit, nous avons montré que les contraintes précédentes ne limitent pas les positions atteignables par le robot : l'existence d'un chemin holonome, i.e. qui ne respecte pas les contraintes, est équivalente à celle d'un chemin respectant les contraintes, quels que soient les obstacles de l'espace de travail. Dans la lignée des travaux de Boissonnat et al. [BCL94], nous avons déterminé ensuite la nature des plus courts chemins dans notre problématique : ceux-ci sont constitués de segments de droite, d'arcs de cercle et de portions de clothoïde (courbe dont la courbure est une fonction linéaire de l'abscisse curviligne). Ces chemins optimaux ont cependant l'inconvénient d'être formés d'une infinité de morceaux dans le cas général.


  
Figure 2: Chemins à courbure continue en présence d'obstacles.
\begin{figure} \centerline{ \psfig{figure=cinem-res-a.ps,height=40mm} \hspace{3mm} \psfig{figure=cinem-res-b.ps,height=40mm} } \end{figure}

Ce résultat nous a amené à planifier des chemins sous-optimaux formés seulement d'un nombre fini de segments de droite, d'arcs de cercle et de portions de clothoïde. Dans le cas d'un robot de type voiture se déplaçant en marche avant uniquement, nous avons proposé un algorithme de planification de chemin sous-optimal. Cet algorithme s'appuie sur une extension de la méthode de Dubins [Dub57], les arcs de cercle de courbure maximale y étant remplacés par des virages à courbure continue formés d'une portion de clothoïde de dérivée maximale de la courbure, d'un arc de cercle de courbure maximale et d'une seconde portion de clothoïde de dérivée maximale de la courbure. L'évitement de collision est obtenu par l'utilisation, en plus de ce planificateur local, d'un schéma algorithmique global nommé ``Probabilistic Path Planner''[SO95]. Nous avons ainsi obtenu un planificateur dont le temps de calcul est, au pire, le double de celui du planificateur usuel équivalent (produisant des chemins sans continuité de la courbure), le suivi (par une méthode classique de suivi [KKMN91]) des chemins obtenus étant amélioré plus de dix fois. Les résultats les plus récents obtenus en 1998 se trouvent dans [[35]]. L'ensemble des résultats obtenus dans ce domaine sont regroupés dans une thèse [[7]].

Ce travail ouvre de nombreuses perspectives et notamment celles concernant le cas d'un robot de type voiture se déplaçant en marche avant et en marche arrière (nature des chemins optimaux, caractérisation de chemins sous-optimaux, mise au point d'un algorithme de planification, etc.).

De plus, les chemins sous-optimaux proposés ci-dessus peuvent être intégrés dans d'autres techniques de planification globales. Une technique classique consiste à calculer d'abord un chemin sans collision non nécessairement faisable par le système, puis à l'approcher ensuite par une concaténation de sous-chemins faisables et sans collision. Afin de réduire la complexité de la phase d'approximation, nous avons développé un planificateur géométrique intégrant comme critère la facilité de l'approximation postérieure. Ce planificateur est basé sur la construction d'un champ de potentiel, qui attire le robot vers son but à travers les obstacles tout en privilégiant les directions de mouvement qui sont plus faciles à suivre pour le système géométrique augmenté de ses contraintes cinématiques. Les premiers résultats concernant cette approche sont présentés dans [[43]].

   
Incertitudes



Participants : Thierry Fraichard, Raphaël Mermond.

Le problème de la planification de mouvement en présence d'incertitude consiste à déterminer des mouvements robustes, i.e. insensibles aux effets des incertitudes (incertitudes sur la position du robot ou des obstacles, sur le résultat d'une commande appliquée au robot, etc.). Dans ce cadre, notre objectif principal est d'aborder la prise en compte de l'incertitude dans la planification de mouvement en s'intéressant à des cas plus réalistes que ceux considérés habituellement, comme par exemple un robot ponctuel, des déplacements rectilignes, etc. Nous nous sommes donc intéressés au cas d'un robot de type voiture qui est soumis à des contraintes cinématiques dites non-holonomes qui affectent la forme géométrique des mouvements qu'il peut effectuer.


  
Figure 3: Le chemin planifié utilise les zones d'influence des balises (cercles réguliers) pour réduire l'incertitude.
\begin{figure} \centerline{ \psfig{figure=incert-res-a.ps,height=40mm} \hspace{3mm} \psfig{figure=incert-res-b.ps,height=40mm} } \end{figure}

Un pré-requis à tout processus de planification en présence d'incertitude est de modéliser cette incertitude, ainsi que son évolution lorsque le robot se déplace. Nous avons pour cela développé un modèle d'incertitude pour robot non-holonome de type voiture. Ce modèle, de nature ensembliste, porte sur la position et l'orientation du robot. Nous avons fait l'hypothèse qu'il dépendait directement de deux sources d'incertitudes, le couple (direction, vitesse) qui contrôle les déplacements du robot et que nous représentons par les variables ``angle des roues'' et ``distance parcourue''. Sous ces hypothèses, nous avons proposé une fonction d'évolution de l'incertitude qui permet de déterminer la variation de l'incertitude le long de chemins vérifiant les contraintes cinématiques non-holonomes du robot considéré. Il s'agit en l'occurrence de chemins composés de segments reliés par des arcs de cercle tangents (chemins dits de Dubins ou de Reeds et Shepp). Partant de ce modèle d'incertitudes, nous avons développé un planificateur local (i.e. non complet) de chemin robuste, puis nous l'avons intégré dans une structure algorithmique générique de planification de mouvement de façon à obtenir un planificateur complet qui prenne en compte à la fois la non-holonomie et l'incertitude [[24],[25]]. Les perspectives incluent la généralisation de la fonction d'évolution à d'autres types de chemins et notamment les chemins à courbures continues qui sont étudiés par ailleurs dans le projet (cf. § 6.1.2), ainsi que le passage à d'autres types de modèles d'incertitudes (modèles probabilistes, cf. § [*]).

   
Manipulation dextre



Participants : Christian Laugier, Luis Alberto Muñoz.

Nous cherchons à intégrer les techniques d'asservissement visuel dans la manipulation d'objets à l'aide d'une main articulée. Les informations visuelles sont utilisées pour remédier aux limitations liées à l'incertitude sur la position de l'objet à manipuler. Dans ce but, il est nécessaire d'estimer l'état courant de la tâche (objet, main) pour le système d'asservissement.

Deux types d'approches ont été explorées : l'une ``basée image'' et l'autre ``basée position''. Dans l'approche basée image, l'asservissement est effectué en utilisant directement l'information visuelle (on cherche à amener un point de l'image à une position but exprimée dans le repère image). Dans l'approche basée position, l'asservissement est effectué dans un repère global, l'image est utilisée pour déterminer la position de l'objet dans le repère de référence.

Dans le but de mieux appréhender la problématique générale de l'asservissement visuel, nous avons commencé par aborder le cas d'une main simplifiée à deux doigts qui manipule un objet sur un espace plan. L'approche basée image a été explorée et testée dans ce cas [[31]]. La tâche de manipulation y est exprimée par un vecteur déplacement désiré pour chaque cible placée sur l'objet et apparaissant dans l'image. En utilisant une approche énergétique, nous avons proposé une loi de commande pour l'ensemble de système, main et objet, dont nous avons pu démontrer la stabilité asymptotique.

Cette expérience a fait apparaître les limites de cette approche notamment en ce qui concerne l'extension en dimension trois (problème de la disparition des cibles de l'image, présence de contraintes holonome et non-holonomes). Nous nous sommes alors orientés vers une approche basée position [[32]]. Connaissant la position finale à atteindre pour l'objet, on détermine sa position courante en utilisant la vision et on commande son déplacement vers le but en utilisant le planificateur de mouvement développé précédemment [MBN95]. La vision est utilisée tout au long du mouvement pour déterminer la position courante de l'objet. Les temps de calcul deviennent alors importants. Ce travail a été réalisé en collaboration avec les projets Bip et Movi de l'Inria Rhône-Alpes, et en collaboration avec l'Université de Karlsruhe dans le cadre d'un projet PROCOPE (cf. § 8.4.1). Une étude sur le couplage des techniques précédentes avec un mécanisme de balayage laser, destiné à augmenter la précision et la rapidité du processus de localisation, est en cours dans le cadre du projet PROCOPE.

   
Structure décisionnelle pour l'autonomie de mouvement



Participants : Laurent Caponi, Philippe Garnier, Éric Gauthier, Frédéric Large, Christian Laugier, Igor Paromtchik, Sepanta Sekhavat.

Nous développons une architecture de contrôle visant à doter un robot de type voiture de la capacité de se déplacer de façon autonome. Nos travaux antérieurs nous ont permis de constater qu'il est difficile d'obtenir un comportement réactif générique. Pour pallier ce problème, nous avons commencé à explorer une voie alternative consistant à identifier des situations types (par exemple créneau, suivi de route, changement de voie, dépassement, etc.) et à définir, pour chaque situation, une réaction spécifique en terme de lois de commande à appliquer aux actionneurs du véhicules, les paramètres de chaque loi de commande étant instanciés en fonction de la situation courante. Ceci nous a amené à reconsidérer la structure de notre architecture de contrôle. En effet, nos travaux précédents reposaient sur le découpage `planification-exécution', i.e. l'enchaînement séquentiel de la fonction de planification et de la fonction de contrôle d'exécution. Nos travaux les plus récents visent à une meilleure intégration des fonctions délibératives et réactives au sein d'une architecture à trois composantes (cf. figure 4 [[41],[16]]) :

Un PMP est composé d'une trajectoire nominale et d'un ensemble de MRC ; il est calculé au niveau de la composante décisionnelle par un planificateur de trajectoires, à partir d'un modèle structuré de l'environnement et d'une estimation de l'évolution de celui-ci. Il est ensuite exécuté au niveau de la composante exécutive soit directement dans le cas des MRCs (manoeuvre de parking automatique, manoeuvre de dépassement, etc.), soit par l'utilisation des ECs (suivi de trajectoire, évitement d'obstacles, etc.), les paramètres de chacun étant réactualisés selon les données capteurs (provenant de la composante fonctionnelle). Les MRCs et les ECs utilisent les fonctions temps-réel élémentaires définies au niveau de la composante fonctionnelle. Cette architecture a été implantée à l'aide des fonctionnalités du système Orccad[*]. La mise au point de cette architecture a déjà donné de bons résultats expérimentaux dans les situations de suivi de route et de manoeuvre de parking automatique. Cette manoeuvre a été perfectionnée durant l'année 1998 : elle est maintenant plus rapide, et peut prendre en compte des obstacles mobiles (véhicules et piétons) [[18],[44]]. D'autre part, de nouvelles manoeuvres ont été étudiées, en particulier l'insertion et la sortie automatique d'un train constitué de véhicules reliés par accrochage immatériel (cf. § 6.1.1) [[40]].


  
Figure 4: Schéma de l'architecture utilisée.
\begin{figure} \psfrag{planificateur}[][]{\scriptsize Planificateur} \psfrag{bib... ...capteurs} \centerline{ \psfig{figure=archi_sharp.eps,height=90mm} } \end{figure}

De plus, au niveau de la composante fonctionnelle, nous avons pu montrer que les équations dynamiques linéarisées d'un véhicule non-holonome vérifient les critères permettant l'application de la théorie des régulateurs optimaux universels pour le développement d'algorithmes de contrôle [Yak95]. On peut alors obtenir une classe de régulateurs qui garantissent le suivi d'une trajectoire faisable, tant que les imprécision sur les paramètres restent dans un intervalle de tolérance [lya98]. Dans notre cas, les imprécision portent sur la dynamique du véhicule (vitesse et accélération), à la fois sur les valeurs à chaque instant et sur les valeurs limite. Malgré ces imprécisions, le contrôleur que nous avons mis au point converge asymptotiquement vers la trajectoire de référence. Cette convergence est obtenue en calculant à l'aide du modèle cinématique le braquage optimum, puis en choisissant selon le modèle dynamique les paramètres de contrôle qui stabilisent le mouvement. Ce contrôleur a été expérimenté avec succès sur un véhicule expérimental de type Ligier, a des vitesses permettant de négliger la dynamique du véhicule [[26],[34]].


  
Figure 5: Apprentissage du dépassement d'un véhicule.
\includegraphics[width=8cm]{archi-res.eps}

Enfin, en collaboration avec l'équipe Réseaux d'Automates du laboratoire Leibniz, nous avons utilisé la logique floue et des réseaux de neurones pour identifier les paramètres des fonctions temps-réel de la composante fonctionnelle. Ainsi, nous tirons parti des capacités d'apprentissage des réseaux neuronaux pour affiner le comportement du véhicule, celui-ci étant spécifié dans un premier temps sous forme de règles floues. Plus précisément, nous utilisons un type de réseau ``neuro-flou'' dont la structure initiale (nombre et organisation des unités) est fixée de manière à reproduire le fonctionnement des différents constituants d'un contrôleur flou. L'amélioration apportée par l'apprentissage du réseau neuronal est clairement visible dans la figure 5, qui représente le dépassement d'un véhicule à la vitesse de 5 mètres par secondes. La trajectoire inférieure correspond à l'utilisation du contrôleur flou initial. La trajectoire supérieure correspond au même contrôleur ayant subi un apprentissage à partir d'exemples collectés lors de trois manoeuvres de dépassement. Cette approche à été appliquée dans un premier temps sur simulateur, pour exécuter plusieurs types de mouvements simples (par exemple, le dépassement d'un autre véhicule) à partir des données capteurs du robot. Des tests sur les véhicules expérimentaux sont actuellement en cours.


Footnotes

... EDF[*]
Électricité de France.
... Orccad[*]
Open Robot Controller Computer Aided Design, développé par l'Inria.


previous up next contents
Précédent : Résultats nouveaux Remonter : Résultats nouveaux Suivant : Mouvement dans le monde virtuel