Précédent : Fondements scientifiques Remonter :
Fondements
scientifiques Suivant : Mouvement dans le monde
virtuel
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 :
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 :
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'').
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.
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.
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] :