Structures décisionnelles appliquées à la robotique mobile autonome

Notions de robotique

Avant d’entrer dans le cœur du sujet, il est important d’avoir une idée générale du fonctionnement d’un robot mobile afin de bien comprendre les interactions entre les différents modules auxquels nous faisons référence.
Composantes d’un robot : À la base, un robot mobile est constitué de composantes matérielles et logicielles. Parmi les composantes matérielles, on retrouve une plateforme mobile à laquelle sont rattachées toutes les autres composantes comme les capteurs, les actionneurs et une source d’énergie (batteries).
Capteurs : Les capteurs ont pour fonction d’acquérir des données provenant de l’environnement. Les capteurs typiquement installés sur un robot mobile sont des sonars à ultrasons, un capteur laser de proximité, des encodeurs de roues (odomètres), une ou deux caméras optiques et des microphones. Les types d’informations perçues ainsi que leur précision varient beaucoup d’un capteur à l’autre. Actionneurs: Pour bouger à l’intérieur de son environnement et interagir avec celui-ci, un robot est équipé d’actionneurs. Par exemple, un robot est muni d’un ou de plusieurs moteurs pouvant faire tourner ses roues afin d’effectuer des déplacements. Généralement, les roues du robot sont contrôlées par deux commandes motrices, soit une vitesse d’avancement et un taux de rotation. Habituellement, ces commandes s’expriment en mètres par seconde (m/s) et en degrés de rotation par seconde (deg/s).

Architectures décisionnelles

Un robot est donc composé d’un ensemble de modules, chacun étant responsable d’une ou de plusieurs capacités. L’un des premiers défis à résoudre est de déterminer comment relier efficacement les différents modules. Pour ce faire, il faut élaborer une architecture décisionnelle qui dicte les responsabilités de chacun des modules et comment l’information circule entre ces derniers. Depuis les débuts de la robotique, beaucoup d’architectures ont été proposées. Elles peuvent être généralement classées en trois grandes catégories : Délibérative, comportementale et hybride.
Architecteur délibérative : Les architectures délibératives sont les premières à avoir été proposées. Comme son nom l’indique, les architectures de ce type sont basées sur des processus complètement planifiés.
Par exemple, afin d’exécuter un déplacement, un robot basé sur ce type d’architecture calcule un plan complet, lui disant d’avancer de x mètres, ensuite de tourner de y degrés, et ainsi de suite. Lorsqu’un changement dans l’environnement est perçu, l’exécution est suspendue et un nouveau plan est généré. Ce type d’architecture souffre de plusieurs lacunes importantes. Premièrement, puisque les capteurs sont imprécis et que l’environnement est dynamique et partiellement observable, il est très difficile de tout prévoir à l’avance. Pour ces raisons, il n’est pas d’une très grande utilité de tout planifier à l’avance, puisque les plans seront constamment à refaire. Un autre problème avec ce type d’architecture est que la génération de plans précis demande beaucoup de ressources (temps de calcul et mémoire).
Architecture comportementale : L’architecture comportementale, proposée par Brooks, est inspirée par le comportement des insectes. L’idée générale est de développer plusieurs petits modules simples et indépendants les uns des autres et, une fois regroupés, un comportement plus intelligent émerge sans qu’il ait été spécifiquement programmé. Ce type d’architecture est complètement à l’opposé des architectures délibératives et ne fait aucune place à des processus raisonnés. Celle-ci est composée de plusieurs modules simples appelés comportements et d’un module d’arbitration. Dans sa conception, chaque comportement se limite à une seule fonctionnalité pour le contrôle du robot. Les comportements sont tous indépendants les uns des autres. Par exemple, on peut avoir des comportements pour l’évitement d’obstacles, le suivi de chemin, le suivi d’objets de couleur ou la manipulation d’objets. Les comportements sont exécutés parallèlement à une certaine fréquence (habituellement dix fois par seconde).
Lors d’une itération, chaque comportement calcule une ou plusieurs commandes motrices qui sont envoyées à un module d’arbitration. Ce dernier fusionne l’ensemble des commandes reçues et calcule les commandes finales devant être envoyées à chacun des actionneurs du robot.

Modules logiciels

Afin de faire fonctionner un robot mobile, plusieurs modules logiciels sont mis à contribution. Ces modules peuvent servir à interpréter les données perçues par les capteurs afin d’en extraire des informations, ou à traiter des commandes de haut niveau pour générer d’autres commandes à un niveau inférieur. Les modules les plus fréquemment utilisés sont les modules de localisation, de navigation, de vision, d’audio et de séquencement d’activités du robot.
Localisation : L’une des fonctions les plus importantes pour un robot est celle d’être capable de se localiser dans son environnement. À partir des données fournies par les capteurs, le module de localisation estime la position courante du robot. Typiquement, cette position est exprimée par un triplet (X, Y, ) représentant une position et une orientation sur un plan à deux dimensions. La localisation peut se faire à l’aide de techniques basées sur la théorie des processus de décisions markoviennes, à l’aide de techniques d’échantillonnage de Monte Carlo (filtres de particules) ou avec d’autres méthodes.
Vision : En analysant les images captées par les caméras, on peut extraire une multitude d’informations. Par exemple, à l’aide d’un algorithme de segmentation, on peut reconnaître des objets de couleur en plus d’estimer leurs positions relatives (angle) par rapport à la vue de la caméra. À l’aide de techniques de vision tridimensionnelle, il est aussi possible d’estimer certaines distances dans l’environnement. On peut aussi reconnaître des symboles, des caractères et lire des messages, comme des affiches dans un corridor, des signaux de direction, ou des badges de conférence.
Navigation : Un module de navigation est responsable du déplacement du robot de sa position courante vers une destination désirée de façon sécuritaire et efficace. En plus d’inclure des fonctions de perception de l’environnement et de localisation, le module de navigation a aussi la responsabilité de trouver un chemin reliant la position d’origine et de destination, formé d’une liste de points intermédiaires à atteindre, et de guider le robot à travers ce chemin.

Approche comportementale réactive

Origine : L’approche classique et l’architecture fonctionnelle associée possèdent quelques défauts particulièrement pénalisants dans le cadre des agents situés. L’approche comportementale présente une alternative intéressante. Son origine (la plus ancienne) est le courant psychologique du même nom (aussi appelé « behaviorisme »), né dans les années 20. Ce courant psychologique est particulièrement important puisqu’il est le premier à avoir abordé ce thème de manière scientifique. En effet, il est fondé sur l’étude des seules données observables : les comportements. L’approche comportementale tend à représenter l’intelligence par des ensembles de comportements, issus de conditionnements, et déclenchés par des stimuli indépendants d’états mentaux internes.
La psychologie cognitive a suivi l’approche comportementale. Elle date des années 50 et a largement inspiré l’IA puisque la métaphore qui la définit présente l’esprit comme un programme exécuté par une machine qui ne serait rien de moins que le cerveau humain.
L’approche comportementale a été reprise à la suite du relatif échec de l’IA en robotique. Elle a, en effet, inspiré la robotique de la fin des années 80 , ainsi que des théories sur l’intelligence. Les recherches menées dans ce sens ont donc introduit un renouveau dans le domaine en empruntant des idées relativement anciennes. Cela s’est traduit par des travaux sur des robots aux capacités de raisonnement symbolique réduites mais favorisant l’interaction avec le monde réel. C’est ce que Brooks nomme la «physical grounding hypothesis».

Table des matières

CHAPITRE 1. PROBLEMATIQUE 
1.1. INTRODUCTION
1.2. NOTIONS DE ROBOTIQUE 
1.2.1. Composantes d’un robot
1.2.2. Capteurs
1.2.3. Actionneurs
1.2.4. Modules logiciels
1.3. BOUCLE DE CONTROLE
1.4. ARCHITECTURES DECISIONNELLES 
1.4.1. Architecteur délibérative
1.4.2. Architecture comportementale
1.4.3. Architecture hybride
1.5. CONCLUSION 
CHAPITRE 2. LA SELECTION D’ACTION
2.1. INTRODUCTION
2.2. LE PROBLEME DE LA SELECTION D’ACTION 
2.2.1. Définition
2.2.2. la qualité d un modèle décisionnelle
2.3. APPROCHE CLASSIQUE COGNITIF
2.4. APPROCHE COMPORTEMENTALE REACTIVE
2.4.1. Origine
2.4.2. Principe
2.4.3. Comportement
2.4.4. Coordination des comportements
2.5. CONCLUSION 
PARTIE A
CHAPITRE 3. TECHNIQUE D’ARBITRAGE PAR HIERARCHISATION D’ACTIONS
3.1. INTRODUCTION
3.2. POLITIQUE DE PRIORITE
3.2.1. principe
3.2.2. Organisation pratique
3.3. POLITIQUE D’APPROCHES FONDEES SUR L’ETAT
3.3.1. Systèmes à événement discret
3.3.2. La décision bayesienne
3.3.3. L’apprentissage par renforcement
3.3.3.1. Introduction
3.3.3.2. Q learning
3.3.3.3. Q Learning hiérarchique
3.3.3.4. W learnig héirarchique
3.4. POLITIQUE DE« GAGNANT EMPORTE LA MISE »
3.4.1. Les réseaux d’activation
3.5. CONCLUSION SUR LA COORDINATION D’ACTION PAR HIERARCHISATION D’ACTION 
CHAPITRE 4. TECHNIQUES D’ARBITRAGE PAR FUSION D’ACTION
4.1. INTRODUCTION
4.2. FUSION D’ACTIONS PAR LE VOTE 
4.2.1. Poly sapient [Sukthankar]
4.2.2. DAMN [38]
4.2.3. Les groupes des piétons de [16]
4.2.4. SAMB
4.3. APPROCHES DE SUPERPOSITION 
4.3.1. Champs de potential
4.3.2. Les schemas moteur
4.3.3. L’approche des systèmes dynamique
4.3.4. Conclusion
PARTIE B
CHAPITRE 5. LA PLATEFORME LOGICIELLE UTILISEE
5.1. INTRODUCTION
5.2. HISTORIQUE 
5.3. C’EST QUOI LE NETLOGO
5.4. LES COMPOSANTS NETLOGO
5.4.1. Environnement
5.4.2. Patches
5.4.3. Turtles/breeds
5.5. QUELQUES APPLICATIONS NETLOGO
5.6. LES MODELES D’ENVIRONNEMENT UTILISES 
5.7. CONCLUSION 
CHAPITRE 6. SIMULATION ET RESULTATS 
6.1. INTRODUCTION
6.1.1. Comportement élémentaire
6.1.2. Notre architecture décisionnelle
6.1.3. Fonctionnement du processus de sélection d’action
6.1.4. Conclusion
6.2. DEFINITION D’UNE FONCTION FITNESS 
6.3. CONFIGURATION DE L’ENVIRONNEMENT
6.4. SIMULATION
6.4.1. La priorité (brooks 1986)
6.4.2. L apprentissage par renforcement
6.4.2.1. Le Q-Learning classique
6.4.2.2. Le Q-Learning hiérarchique
6.4.2.3. Le W-Learning
6.4.3. Le vote
6.4.4. Comparaison
CONCLUSION 
CONCLUSION ET PERSPECTIVES 
BIBLIOGRAPHIE

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *