Précédent : Résultats nouveaux Remonter :
Résultats nouveaux
Suivant : Mouvement dans le monde virtuel
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 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
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).
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.
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.
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]].
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.
![]() |
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. § ).
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.
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]].
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]].
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.