La robotique mobile autonome
Les travaux en robotique ont pour but de concevoir et de construire des machines capables d’évoluer et d’interagir avec un environnement physique de manière à accomplir les différentes tâches pour lesquelles elles ont été crées.
Un robot évoluant dans un environnement réel est confronté à de multiples problèmes. Citons : Le monde est vaste et dynamique. Un robot est susceptible d’évoluer dans un environnement vaste non contrôlé (présence d’obstacles). Cela signifie que les objets peuvent se déplacer, apparaître ou disparaître. L’ensemble des situations ne peut pas être prévu par avance. Le robot devra être muni de capteurs lui permettant d’acquérir des informations sur son environnement proche (caméras vidéo, télémètres ultrasonique ou infrarouge, etc.)
Le robot a une connaissance imparfaite de son propre fonctionnement. Un système automatique est un système complexe pour lequel il n’existe en général pas de modèle fiable. Le comportement du robot est décrit la plupart du temps par un système d’équations différentielles non linéaires (contrainte non holonome), dont les paramètres varient en fonction par exemple, du type de sol sur lequel le robot se déplace, de même, les capteurs ultrasons réagissent différemment en fonction des paramètres tels que l’humidité de l’air, la température, la forme des objets rencontrés et surtout leur constitution est susceptible de se modifier avec le temps (décalibration des capteurs due à des variations).
Perception et modélisation de l’environnement
Le robot doit être muni d’un système de perception capable de fournir des informations précises sur l’état de l’environnement qui l’entoure, afin de pouvoir identifier et regrouper des éléments utiles pour une représentation fiable et consistante de cet environnement.
Localisation : Le succès dans l’exécution d’une tâche associée à un déplacement est directement lié à la capacité des robots de se positionner par rapport à son environnement. Cette localisation doit être la plus précise possible, et dépend de la fiabilité de la représentation de l’environnement construite par le système de perception du robot.
Planification et exécution de mouvements : Le robot doit être capable de se déplacer de façon sûre à travers l’espace libre de l’environnement, en tenant compte de la présence d’éventuels obstacles statiques et dynamiques. Le problème de déplacement du robot dans l’environnement rencontre les mêmes difficultés que la localisation et la modélisation liées à la présence d’incertitudes qui font que le déplacement commandé ne sera pas de manière générale exécuté parfaitement.
Ces fonctions ne sont pas indépendantes. On note, bien évidemment, que la perception de l’environnement intervient dans toutes. La planification de mouvement s’intéresse au calcul automatique de chemins sans collision pour un robot quelconque (robot mobile, bras manipulateur, etc.) évoluant dans un environnement encombrés d’obstacles.
Parmi l’ensemble des robots existants, nous nous intéressons au cours de cette étude à une famille appelée robots autonomes.
Un robot est dit autonome si, moyennant une spécification externe de haut niveau de la tâche à accomplir, il est capable de la mener à bien sans intervention humaine. Le développement d’un robot autonome pose de nombreux problèmes fondamentaux dans des domaines variés et bien distincts.
Le problème posé est de déterminer à chaque instant quelle commande doit être envoyée aux effecteurs, connaissant d’une part le but à accomplir et d’autre part les valeurs retournées par les différents capteurs. Il s’agit de déterminer les liens existants entre la perception et l’action connaissant les buts à atteindre.
Architectures hiérarchiques de contrôle
Ces architectures ayant pour but de contrôler un système évoluant dans un environnement réel et dynamique, les contraintes de temps de réponse apparaissent clairement dans la perception de la plupart. Ces architectures fonctionnent selon un cycle rigide de modélisation de l’environnement, planifications des actions au sein de cette représentation, puis exécution du plan. Cette classification reprend celle proposée par [Sch.92]. L’essentiel des problèmes de ces architectures provient de l’utilisation d’un modèle interne central qui est le seul pris en compte pour guider le robot. Il faut noter que les systèmes réels ne sont bien souvent pas basés sur une seule catégorie de hiérarchique mais font appel à plusieurs d’entre elles de manière à exploiter les avantages respectifs.
De plus, ces architectures permettent peu de contrôle sur l’exécution des actions. En effet, une fois l’action choisie, elle est exécutée en supposant le modèle du monde correct et il n’y a pas de retour direct de la perception sur l’exécution de l’action. Les écarts modèles/environnement ne peuvent être pris en compte que via un nouveau cycle perception/modélisation/planification, ce qui, par définition, est très peu réactif et conduit rapidement à de graves problèmes.
La fréquence d’exécution des modules décroît au fur est à mesure que l’on monte dans la hiérarchie. Traditionnellement, le niveau le plus bas (et donc le plus rapide) est chargé du contrôle des moteurs. Le niveau le plus haut (le plus lent) est chargé de la planification. Afin d’éviter tout problème d’instabilité, la différence de fréquence entre chaque niveau doit être importante.
Contrôleurs hybrides
La plupart des contrôleurs actuellement utilisés choisissent une solution intermédiaire entre ces deux approches sous la forme d’une architecture hybride. Cette architecture se compose de deux niveaux. Le premier est chargé des tâches de navigation de haut niveau, telles que la localisation, la cartographie et la planification.
Pour cela, il s’appuie sur un second niveau réactif qui est chargé d’exécuter les commandes avec le plus de précision possible et de gérer les éléments non modélisés de l’environnement tels que les obstacles inconnus ou dynamiques. L’action conjointe de ces deux niveaux permet de réagir rapidement face aux variations imprévues de l’environnement, tout en permettant la réalisation d’actions planifiées à plus long terme. Le bas niveau de ces architectures peut être réalisé sous forme de comportements, tels que ceux utilisés dans les architectures réactives. Ces comportements sont des boucles sensorimotrices qui relient les actions aux perceptions avec une phase de décision très courte, qui assurent la réactivité. Dans le même temps, les informations sensorielles sont utilisées par le haut niveau dans une boucle sensorimotrice à une échelle de temps beaucoup plus longue. C’est la mise en parallèles de ces deux échelles de temps qui fait la force de ces architectures.
Complexité de la planification de mouvement
Notion de complexité : Un problème est dit décidable s’il existe une méthode algorithmique qui lui donne une solution en un temps fini. Une telle méthode est alors dite complète pour ce problème. Pour évaluer la complexité d’un algorithme on étudie son comportement en termes de temps d’exécution et d’espace mémoire nécessaires, en fonction de la taille du problème. Cette taille est un nombre M qui caractérise la quantité et la complexité des données d’entrée du problème. Complexité du problème de planification de mouvement : La complexité algorithmique de la planification de mouvement a surtout été étudiée pour le problème du déménageur de piano. Il a été prouvé par Schwartz et Sharir que le problème général de la planification de mouvements en présence de contraintes géométriques est décidable pour un système mobile quelconque et qu’il est résolvable pour un système donné en temps polynomial en le nombre d’inégalités algébriques définissant l’espace libre. Malheureusement le degré du polynôme montre une dépendance doublement exponentielle en la dimension de l’espace de configuration (Cs).
Table des matières
I Introduction générale
I.1 Introduction
I.2 La robotique mobile
I.3 Perception et modélisation de l’environnement
I.3.1 Localisation
I.3.2 Planification et exécution de mouvements
I.4 Les architectures de contrôle
I.4.1 Les architectures hiérarchiques de contrôle
I.4.2 Contrôleurs réactifs
I.4.3 Architecture de forçage / inhibition
I.5 Contrôleurs hybrides
I.6 Complexité de planification de mouvement
I.6.1 Notion de complexité
I.6.2 Complexité du problème de planification de mouvement
I.7 Navigation
I.7.1 Navigation en milieu intérieur
I.7.2 Navigation en milieu extérieur
I.8 Méthodes de suivi
I.9 Les champs de potentiels
I.9.1 Génération de commandes par potentiels
I.9.2 Génération de chemins par potentiels
I.10 Motivation et problématique
II Modélisation
II.1 Introduction
II.2 Modélisation géométrique
II.2.1 Modélisation géométrique directe
II.2.2 Modélisation géométrique inverse
II.3 Modèle cinématique
II.3.1 Introduction
II.3.2 Modèle cinématique direct
II.3.3 Modèle cinématique inverse
II.4 Modélisation dynamique
II.4.1 Introduction
II.4.2 Formalisme de Lagrange-Euler
II.5 Application du modèle dynamique pour un bras
II.6 Présentation de la chaise roulante
II.6.1 Modèle de la chaise roulante
II.6.2 Non holonomie de la chaise
II.6.3 Contrôlabilité de la chaise
II.7 Modèle de la roue
II.7.1 La roue fixe
II.7.2 La roue directrice
II.7.3 La roue folle
Conclusion
III Logique floue
III.1 Construction d’un contrôleur flou
III.2 Introduction à la logique floue
III.3 Structure d’un contrôleur flou
III.3.1 Opération de fuzzification
III.3.2 Règles d’inférence
III.3.3 Opération de défuzzification
III.4 L’apprentissage en logique floue
III.4.1 L’apprentissage des paramètres
III.4.2 L’apprentissage structurel
III.5 Méthode proposée
III.5.1 Procédure de commande
III.5.2 Méthode d’évitement
III.5.3 Contrôleur flou pour l’évitement d’obstacle
III.6 Contrôleur flou auto ajustable
III.6.1 Contrôleur de type Takagi-Sugeno
III.6.2 Fonction d’appartenance
III.6.3 Inférence
III.7 Méthode d’apprentissage
III.8 Algorithme général
III.9 Adaptation des paramètres
III.10 Résultats de simulation
Conclusion
IV Algorithme génétique
IV.1 Introduction
IV.2 Principe de fonctionnement des AG
IV.3 Principe des algorithmes génétiques
IV.4 Structure de l’algorithme génétique
IV.5 Le croisement
IV.5.1 Le croisement à un site
IV.5.2 Le croisement à n sites
IV.5.3 Le croisement uniforme
IV.6 La mutation
IV.7 Le principe de construction d’un contrôleur
IV.8 Apprentissage d’une base de règles floues
IV.8.1 Génération de règles floues
IV.5.2 Système flou et approximation universelle
IV.9 La modélisation floue
IV.9.1 Processus d’ajustement
IV.9.2 Ajustements des structures surfaces et profondes
IV.10 Processus d’ajustements génétiques
IV.10.1 Processus génétique
IV.10.2 Composantes génétiques
IV.10.3 L’interprétation de la méthode d’ajustement
IV.11 Etude et simulation du processus d’ajustement
IV.12 Résultats de simulation
Conclusion
Conclusion générale et perspective
Bibliographie