RAPPORT DE STAGE DE MAGISTERE



Documents pareils
Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image

Pourquoi l apprentissage?

Introduction au maillage pour le calcul scientifique

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

LE PROBLEME DU PLUS COURT CHEMIN

Module 16 : Les fonctions de recherche et de référence


Par : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct (ajout de la section 3 et augmentation de la section 1)

NOTIONS DE PROBABILITÉS

Analyse des trajectoires acceptables en approche de virage assistance aux conducteurs

Chapitre 2 : Caractéristiques du mouvement d un solide

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Chaînes de Markov au lycée

Traitement bas-niveau

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

LES TOUT PREMIERS PAS

Probabilités Loi binomiale Exercices corrigés

C.F.A.O. : Conception et Fabrication Assistées par Ordinateur.

Continuité et dérivabilité d une fonction

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

modélisation solide et dessin technique

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

FÊTE DE LA SCIENCE 2005 (Village des Sciences)

Modélisation multi-agents - Agents réactifs

Big Data et Graphes : Quelques pistes de recherche

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

MATHÉMATIQUES APPLIQUÉES S4 Exercices

FONCTION DE DEMANDE : REVENU ET PRIX

Cours Excel : les bases (bases, texte)

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

TP SIN Traitement d image

Projet Robot Centaure

LES LOIS PHYSIQUES APPLIQUÉES AUX DEUX-ROUES : 1. LA FORCE DE GUIDAGE

LibreOffice Calc : introduction aux tableaux croisés dynamiques

Environnement Architecture de controle. Décisions

L apprentissage automatique

Comparer des surfaces suivant leur aire en utilisant leurs propriétés géométriques Découverte et manipulation

Image d un intervalle par une fonction continue

Apprendre à résoudre des problèmes numériques. Utiliser le nombre pour résoudre des problèmes

Dimensionnement d une roue autonome pour une implantation sur un fauteuil roulant

PROBABILITÉS CONDITIONNELLES

Robot de Téléprésence

Problèmes de dénombrement.

Ebauche Rapport finale

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

LA PUISSANCE DES MOTEURS. Avez-vous déjà feuilleté le catalogue d un grand constructeur automobile?

Cours d électricité. Circuits électriques en courant constant. Mathieu Bardoux. 1 re année

Infolettre #18 : Les graphiques avec Excel 2010

LES NOUVEAUTÉS DE ARCON 15 PRO

Indications pour une progression au CM1 et au CM2

CHAPITRE VIII : Les circuits avec résistances ohmiques

Transmission d informations sur le réseau électrique

chapitre 4 Nombres de Catalan

Paris et New-York sont-ils les sommets d'un carré?

Chp. 4. Minimisation d une fonction d une variable

Notice de fonctionnement DVR H Méthode de Visionnage ESEENET

Celestia. 1. Introduction à Celestia (2/7) 1. Introduction à Celestia (1/7) Université du Temps Libre - 08 avril 2008

Les 10 grands principes de l utilisation du data mining pour une gestion de la relation client réussie

Raisonnement probabiliste

Problèmes sur le chapitre 5

uc : Cas d utilisation Top-Chair [Utilisation normale] Fauteuil Top-Chair Déplacer le fauteuil sur tous chemins «include» «include» «extend»

Big Data et Graphes : Quelques pistes de recherche

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

OPTIMISATION À UNE VARIABLE

APPORT DES RESEAUX BAYESIENS DANS LA PREVENTION DE LA DELINQUANCE

Réussir et traiter ses photos sous UV avec Photoshop

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

Notion de fonction. Série 1 : Tableaux de données. Série 2 : Graphiques. Série 3 : Formules. Série 4 : Synthèse

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

S8 - INFORMATIQUE COMMERCIALE

Les algorithmes de base du graphisme

Jean Dubuffet AUTOPORTRAIT II

Thème 17: Optimisation

Savoir lire une carte, se situer et s orienter en randonnée

- Les équipements. Route à accès réglementé. Autoroute

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

TP Blender n 2 : Importation d un modèle SketchUp et animation

Algorithmes pour la planification de mouvements en robotique non-holonome

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

315 et 495 sont dans la table de 5. 5 est un diviseur commun. Leur PGCD n est pas 1. Il ne sont pas premiers entre eux

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Programme scientifique Majeure INTELLIGENCE NUMERIQUE. Mentions Image et Réalité Virtuelle Intelligence Artificielle et Robotique

COURS SYRRES RÉSEAUX SOCIAUX INTRODUCTION. Jean-Loup Guillaume

Logiciel SCRATCH FICHE 02

EXPLOITATIONS PEDAGOGIQUES DU TABLEUR EN STG

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Aide : publication de décisions VS

Formats d images. 1 Introduction

Voyez la réponse à cette question dans ce chapitre.

Manipulateurs Pleinement Parallèles

Baccalauréat Professionnel. Microtechniques. Session 2012 DOSSIER TECHNIQUE (DT)

Chapitre 0 Introduction à la cinématique

TUTORIAL 1 ETUDE D UN MODELE SIMPLIFIE DE PORTIQUE PLAN ARTICULE

Transcription:

RAPPORT DE STAGE DE MAGISTERE Julien BURLET Coopération entre méthodes de planification probabiliste et méthodes de planification géométrique Effectué au laboratoire : GRAVIR IMAG Equipe CYBERMOVE - Tuteurs : Olivier Aycard, Thierry Fraichard Date : 15 septembre 2003

Sommaire Sommaire SOMMAIRE --------------------------------------------------------------------------------------------------------------------3 REMERCIEMENTS ----------------------------------------------------------------------------------------------------------4 1. INTRODUCTION ------------------------------------------------------------------------------------------------------5 1.1. PRESENTATION DE L EQUIPE--------------------------------------------------------------------------------------5 1.2. SUJET DE RECHERCHE ---------------------------------------------------------------------------------------------6 1.3. PLAN DU RAPPORT -------------------------------------------------------------------------------------------------7 2. PRESENTATION DU ROBOT --------------------------------------------------------------------------------------8 2.1. LE KOALA ----------------------------------------------------------------------------------------------------------8 2.2. COMMUNICATION--------------------------------------------------------------------------------------------------8 3. BASE DE TRAVAIL : PRESENTATION DE DEUX METHODES DE PLANIFICATION--------- 10 3.1. INTRODUCTION--------------------------------------------------------------------------------------------------- 10 3.2. PRESENTATION D UNE METHODE DE PLANIFICATION GEOMETRIQUE-------------------------------------- 10 3.2.1. Introduction----------------------------------------------------------------------------------------------- 10 3.2.2. Espace des configurations ------------------------------------------------------------------------------ 10 3.2.3. Principe de décomposition cellulaire de l espace libre --------------------------------------------- 12 3.2.4. Décomposition cellulaire approchée ------------------------------------------------------------------ 13 3.2.5. Incertitudes et exécution de plans---------------------------------------------------------------------- 15 3.2.6. Conclusion sur les méthodes géométriques----------------------------------------------------------- 15 3.3. PRESENTATION D UNE METHODE DE PLANIFICATION PROBABILISTE -------------------------------------- 16 3.3.1. Introduction----------------------------------------------------------------------------------------------- 16 3.3.2. Définition d un PDM ------------------------------------------------------------------------------------ 16 3.3.3. Calcul d un plan------------------------------------------------------------------------------------------ 20 3.3.4. Exécution d un plan-------------------------------------------------------------------------------------- 21 3.3.5. Conclusion sur la méthode probabiliste -------------------------------------------------------------- 21 3.4. CONCLUSION ----------------------------------------------------------------------------------------------------- 22 4. RESOLUTION -------------------------------------------------------------------------------------------------------- 23 4.1. INTRODUCTION--------------------------------------------------------------------------------------------------- 23 4.2. IMPLANTATION D UN SIMULATEUR ---------------------------------------------------------------------------- 24 4.3. DECOMPOSITION EN QUADTREE-------------------------------------------------------------------------------- 24 4.4. CHOIX DES ETATS------------------------------------------------------------------------------------------------ 26 4.5. ACTIONS ET TRAJECTOIRES PLUS NATURELLES -------------------------------------------------------------- 27 4.6. FONCTION DE TRANSITION-------------------------------------------------------------------------------------- 28 4.6.1. Introduction----------------------------------------------------------------------------------------------- 28 4.6.2. Principe de calcul de la fonction de transition------------------------------------------------------- 28 4.6.3. Fonction définissant l incertitude après une action ------------------------------------------------- 31 4.6.4. Etapes de calcul de la fonction de transition --------------------------------------------------------- 35 4.6.5. Cas des rotations sur place ----------------------------------------------------------------------------- 36 4.7. CALCUL D UN PLAN --------------------------------------------------------------------------------------------- 37 4.8. PREMIERS RESULTATS ------------------------------------------------------------------------------------------ 38 5. CONCLUSION ET PERSPECTIVES---------------------------------------------------------------------------- 41 5.1. CONCLUSION SUR LA METHODE DE RESOLUTION ------------------------------------------------------------ 41 5.2. POURSUITES ET PERSPECTIVES--------------------------------------------------------------------------------- 42 BIBLIOGRAPHIE----------------------------------------------------------------------------------------------------------- 43 ANNEXE----------------------------------------------------------------------------------------------------------------------- 44 ALGORITHMES DE CALCUL DE PLAN-------------------------------------------------------------------------------------- 44 PRESENTATION DE L INTERFACE------------------------------------------------------------------------------------------ 47 EXEMPLES DE DECOMPOSITION D ENVIRONNEMENT ------------------------------------------------------------------- 49 STATISTIQUES SUR LE GAIN DE CASES------------------------------------------------------------------------------------ 52 EXEMPLES DE PLANS ------------------------------------------------------------------------------------------------------- 55

Remerciements Remerciements Je tiens à remercier mes tuteurs, Olivier Aycard et Thierry Fraichard pour leurs conseils, pour leur disponibilité tout au long de ce stage et pour m avoir donné la chance d effectuer un travail sur un sujet très intéressant où j ai pu bénéficier d une certaine marge de manœuvre. Je remercie également le laboratoire GRAVIR et l INRIA Rhône-Alpes de m avoir accueilli, ainsi que les membres de l équipe Cybermove pour l aide qu ils m ont apporté.

1 Introduction 1. Introduction 1.1. Présentation de l équipe L équipe Cybermove s intéresse au problème du mouvement et de l action de systèmes artificiels évoluant dans des environnements dynamiques complexes «partagés» avec l homme. Par système artificiel, nous entendons aussi bien des machines physiques douées de capacités d autonomie et d interaction avec l homme (robots divers, voitures équipées de systèmes d assistance, prothèses à contrôle partagé ), que des entités virtuelles possédant des capacités analogues dans un monde de synthèse dynamique (concept d agent virtuel naturel pour des applications de l audiovisuel). Le principal défi auquel l'équipe s'attaque consiste à développer des modèles et des techniques informatiques permettant de construire des systèmes artificiels dotés de capacités de perception, de décision et d action suffisamment évoluées et robustes pour autoriser un fonctionnement de ceux-ci dans des environnements ouverts et dynamiques, peu ou pas structurés. Sur le plan applicatif, le pari à long terme est de pouvoir développer des systèmes qui possèdent des propriétés fortes telles que la robustesse, la réactivité sous des contraintes temporelles strictes, la capacité de réaliser de manière autonome des mouvements et actions paraissant naturels pour un observateur humain, ou encore la capacité d avoir des interactions naturelles avec l homme. Il existe deux types d approches pour résoudre les problèmes cités, les approches géométriques et les approches probabilistes. Les approches fondées sur la géométrie ont montré leurs limites vis-à-vis de ce type de problème, en particulier sur les volets qui concernent la maîtrise de la «complexité» et la prise en compte de «l incomplétude» : la taille et la multiplicité des données à prendre en compte (complexité), ainsi que la non disponibilité de certaines informations (incomplétude) représentent deux caractéristiques essentielles du monde réel que l on ne peut ignorer. L équipe suit une approche scientifique qui vise à combiner et parfois à intégrer des méthodes géométriques et probabilistes lors de la résolution des problèmes. L action de l équipe s inscrit alors sur deux volets : la définition d outils fondamentaux, et la validation de ces outils dans le cadre d applications de la robotique (véhicules automatisés en particulier) et dans une moindre mesure de certaines applications de l audiovisuel (agents virtuels autonomes). Notre stage s inscrit dans cette optique en tentant de combiner des approches géométriques et probabilistes pour la planification d action d un robot mobile. 5

1 Introduction 1.2. Sujet de recherche «Coopération entre méthodes de planification géométrique et méthodes de planification probabiliste.» La planification est une des nombreuses branches de l Intelligence Artificielle, elle s intéresse à l élaboration de systèmes capables de générer de manière automatique une séquence d actions permettant de passer d un état initial à un état final (cette séquence est appelée un plan). La robotique moderne utilise la planification pour pouvoir rendre ses robots «intelligents». Pour cela, le robot doit posséder quelques capacités humaines : perception de l environnement, déplacement, acquisition de connaissances, prise de décision Les robots actuels se doivent d êtres mobiles, autonomes, de planifier leurs actions et de réagir aux stimulis de l environnement. Dans le cadre de notre sujet, nous nous sommes intéressés à la planification d actions pour un robot mobile, le Koala (que nous présenterons dans le chapitre suivant). Plus précisément, notre étude s est portée sur la planification de trajectoires, c est-à-dire la planification des déplacements du robot. Celle-ci consiste à générer un plan permettant au robot placé dans un environnement connu (ou partiellement connu) de rejoindre un but en évitant les obstacles. Le plan doit permettre au robot d atteindre le but en faisant un compromis entre différents critères d'optimalité qui peuvent être la distance à parcourir, la sûreté des actions (éviter les collisions avec des obstacles par exemple), l'énergie consommée La planification est une phase de génération de plan, qui est effectuée au préalable en se basant sur un modèle représentant l environnement réel du robot, consistant à calculer un chemin dans l espace libre de l environnement. Une fois cette phase terminée, il faut exécuter le plan, ce qui consiste à faire en sorte que le robot emprunte correctement ce chemin, de contrôler l exécution en s adaptant à la situation réel. L exécution de ce plan ne consiste pas seulement à effectuer la séquence d actions générée, il faut aussi prendre en compte toutes les incertitudes liées à l environnement du robot et à l incertitude du modèle choisi pour le calcul du chemin. En effet, le robot évoluant dans un environnement réel et dynamique, l exécution d un plan est soumise à de nombreuses incertitudes : - Incertitude du modèle. L environnement réel est représenté par un modèle, et celui-ci présente évidemment des incomplétudes : obstacles mal représentés, géométrie du robot non exacte. La présence d'obstacles inconnus lors de la génération du plan peut elle aussi fortement perturber la bonne exécution du plan. Par exemple, une personne se déplaçant dans l environnement du robot ne peut être prise en compte lors de la planification et pourtant il faudra que le robot évite la collision avec celle-ci. - Incertitude dans les effets des actions. Suivant la structure du sol, les roues d'un robot peuvent patiner et de ce fait parcourir une distance moins grande que prévue. Le robot s'éloigne progressivement de la position prévue lors de la planification, et la suite des actions envisagée pour rejoindre le but sera faussée. - Incertitude des données des capteurs. Dans une application réelle de robotique mobile, le robot perçoit son environnement grâce à ses capteurs. Ceux-ci sont généralement plus ou moins bruités, et nécessitent une interprétation. 6

1 Introduction Ces incertitudes, même si elles ne sont pas significatives à court terme le seront à long terme: les imprécisions résultantes introduisent un problème de localisation. En effet, il est difficile de connaître exactement la position réel du robot au sein de son environnement, si on ne peut pas connaître l effet exacte des actions planifiées et si ses facultés de perceptions ne permettent pas une localisation absolue dans l environnement. Il est donc nécessaire de procéder à la détection de repères, de lieux spécifiques dans l environnement qui permettre dans une certaine mesure de localiser le robot. L'ensemble de ces incertitudes fait que l'exécution d'un plan ne se déroulera jamais comme prévue. A la différence d un environnement de simulation où toutes les modifications de celui-ci sont connus ou prévisibles, un environnement réel reste incertain quant aux modifications qu il pourrait subir. Un des objectifs du stage est donc d intégrer ces incertitudes au niveau de la planification pour augmenter les chances de succès lors de l exécution du plan. Il existe deux types de technique pour la planification d action pour un robot mobile, une géométrique et l autre probabiliste, possédant chacune des avantages et des inconvénients. Lors de ce stage, nous avons étudié les différentes méthodes appartenant aux deux types de technique pour ensuite extraire les avantages et les inconvénients de chacune d elles. Ensuite, cette étude nous a permis d orienter une réflexion qui a abouti à l élaboration d un plan pour développer une méthode possédant les avantages des deux techniques. Enfin, nous avons définie et implanté notre méthode, pour ensuite l évaluer. 1.3. Plan du rapport La suite du rapport est organisée comme suit : - Dans le chapitre 2, nous présenterons le robot que nous allons utiliser pendant notre stage comme base de test ainsi que les problèmes techniques qui sont liés à celui-ci. - Dans le chapitre 3, nous poursuivrons par la présentation de deux méthodes de planifications, une géométrique et une probabiliste. Bien que plusieurs méthodes géométriques et probabilistes aient été étudiées, nous expliquerons en détail seulement deux d entre elles car ce sont les deux méthodes qui nous ont servi de base pour élaborer la résolution du sujet. - Dans le chapitre 4, nous exposerons les choix que nous avons fait pour répondre au sujet et présenterons le plan de résolution que nous avons élaboré. Ensuite nous expliquerons en détail comment nous avons traité chaque point du plan. Nous finirons ce chapitre en exposant et commentant les résultats obtenus. - Le dernier chapitre est consacré à la conclusion de notre rapport ainsi qu à un bilan des poursuites et perspectives qui pourraient êtres développées par la suite. 7

2 Présentation du robot 2. Présentation du robot 2.1. Le Koala Figure 1 : Le robot Koala Le Koala est le robot mobile sur lequel nous nous sommes basés pour développer notre prototype. Il nous servira pour la suite de base de test pour la méthode que nous avons implanter. Le Koala est produit par K-team une société suisse. Il possède des capacités de perception qui correspondent à 16 capteurs sensibles à la proximité et à la lumière, répartis sur sa périphérie ainsi qu une caméra (qui ne nous servira pas dans le cadre de ce stage). Il possède des actionneurs qui lui permettent de se déplacer dans son environnement : deux moteurs indépendant (un de chaque côté) qui actionnent chacun 3 roues. 2.2. Communication Le traitement des données et les différents calculs à effectuer pour permettre au Koala d interagir avec son environnement sont coûteux, et le robot dispose de très peu de ressources. C est pour cette raison que tous les traitements sont effectués par une machine externe. Il est donc nécessaire que le robot transmette des données (valeurs des capteurs, position des roues) et que l ordinateur transmette les ordres de mouvement au robot. Données sensorielles Ordres moteurs Calculs + contrôle du robot Figure 2 : Communication entre le robot et une machine externe 8

2 Présentation du robot Il a donc été nécessaire de se familiariser avec le protocole de communication et les différentes fonctionnalités du robot. En effet, plusieurs commandes peuvent être envoyées au Koala : mettre compteur de tours de roues à zéro, positionner les roues sur une certaine valeur (faire tourner les roues jusqu'à ce que le compteur soit à une certaine valeur), donner une vitesse au moteur droit, Envoyer une demande de lecture des proximétres ou des luminométres A chaque commande envoyée, le robot donne une réponse qui peut être un ensemble de valeurs (proximétre), une confirmation ou un code erreur. De plus, comme nous travaillons avec plusieurs versions de Koalas et quelques fois avec d autres systèmes d exploitation, nous avons passé une partie du stage à résoudre des problèmes techniques liés à la communication qui ne fonctionnait pas dans certains cas. Il a donc fallu implanter diverses interfaces qui nous permettent maintenant de communiquer correctement avec les Koalas par le biais de fonctionnalités simples (lecture des capteurs, gestion de la vitesse des roues, ), nous permettant de manipuler aisément le Koala à travers les programmes. 9

3 Base de travail : Présentation de deux méthodes de planification 3. Base de travail : Présentation de deux méthodes de planification 3.1. Introduction Pour répondre au sujet, nous avons commencé par étudier les différentes méthodes de planifications existantes dans les deux axes de recherche (géométriques et probabilistes). Nous allons donc commencer par présenter une méthode de planification géométrique, puis une méthode de planification probabiliste. Dans chacune de ces parties, après avoir expliqué le principe de chaque méthode nous allons décrire brièvement les techniques qui existent pour traiter les incertitudes liées à l'exécution d'un plan. Enfin, une synthèse sera faite pour dégager les avantages et les inconvénients de chaque méthode. 3.2. Présentation d une méthode de planification géométrique 3.2.1. Introduction Il existe de nombreuses méthodes de planification géométriques [Latombe, 1991]. Pour la plupart de ces méthodes, le principe est de se placer et de raisonner dans un espace particulier : l espace des configurations, puis de générer un graphe dans la partie libre de cet espace (i.e l espace des configurations autorisées) où deux de ces sommets sont la position initiale et la position finale (le but à atteindre). Ensuite, un chemin est extrait du graphe et une trajectoire est calculée à partir de ce chemin. Nous allons tout d'abord introduire la notion d'espace des configurations qui est un outil nécessaire pour s intéresser à la planification de mouvements. Ensuite, nous détaillerons le principe d'un type de méthode de planification géométrique : la décomposition cellulaire de l espace libre. Puis, nous expliquerons plus précisément la technique de décomposition de l'une de ces méthodes : la décomposition cellulaire approchée décrite dans [Latombe, 1991]. 3.2.2. Espace des configurations La notion d'espace des configurations est fondamentale pour la planification de mouvement par des méthodes géométriques. Une configuration d'un système robotique est un ensemble indépendant de paramètres spécifiant la position et l'orientation de tous les composants d'un système robotique par rapport à un système fixe de coordonnées. Donc, dans ce système de coordonnées, un point correspond à une configuration du robot. Nous allons illustrer cette notion à travers un exemple s'éloignant un peu de notre sujet mais permettant une meilleure compréhension de cette notion. Il s'agit de la planification de mouvement pour un bras articulé planaire se composant de deux parties (bras et avant bras) reliées par des articulations permettant des rotations (de type épaule et coude) (voir figure de gauche cidessous qui présente le bras dans deux configurations différentes et au milieu d obstacles colorés). 10

3 Base de travail : Présentation de deux méthodes de planification Figure 3 : illustrations de la notion d espace des configurations Le problème de planification est ici le déplacement du bras articulé entre les obstacles de couleurs. Le bras articulé peut effectuer des rotations selon deux axes paramétrés par deux valeurs angulaires (rotations d angles x0 et x1). Ces deux valeurs angulaires correspondent aux configurations du robot, et nous permettent de définir l espace des configurations de topologie équivalente à la surface d un tore (figure de droite). L espace des configurations peut être ici représenté comme un plan (figure du milieux) en introduisant un repère sur lequel l angle x0 est en abscisse (variant de 0 à 2 U) et l angle x1 en ordonné (variant de 0 à 2 U). Les zones colorées sur la figure du milieux correspondent aux positions dans lesquelles le robot se trouve en collision avec les obstacles (les couleurs des zones correspondent avec celles des obstacles). Le problème étant ici le déplacement du bras de la position Aa à la position Ab (représentés sur la figure de gauche), il est aisé en observant l'espace des configurations qu'il n'y a pas de solutions à ce problème. En effet, il n'existe pas de chemin pouvant relier les états qa et qb dans l'espace des configurations (figure du milieu) correspondant aux positions Aa et Ab (figure de gauche), donc il n'existe pas de mouvement permettant au bras articulé de passer de la position Aa à la position Ab. De la même manière, pour la planification d'un robot mobile, la construction de l'espace des configurations permettra de limiter le problème à la recherche d'un chemin permettant de passer d'un état initial à un état final dans un repère où chaque position possible du robot est représentée par un point, et donc de s'abstraire de la forme géométrique du robot. 11

3 Base de travail : Présentation de deux méthodes de planification libre 3.2.3. Principe de décomposition cellulaire de l espace Espaces des configurations C q init, q goal Décomposition cellulaire de l'espace libre de C Recherche dans le graphe d'une solution Graphe de connectivité Start Goal Construction d'un chemin Channel Figure 4 : Les différentes étapes de la méthode de décomposition cellulaire La figure ci-dessus illustre le principe de la méthode de décomposition cellulaire de l espace libre. La première étape de la méthode consiste à décomposer l espace libre de l espace des configurations en cellules. La décomposition peut se faire de différentes manières, par exemple en reliant les sommets des obstacles, ou en découpant l'espace libre en trapèzes ou en cellules de formes fixes. Cette décomposition nous permet de construire un graphe représentant les relations de contiguïté entre les cellules. Ensuite, connaissant l'état (correspondant à la position pour un robot mobile et éventuellement l'orientation) initial et final (q init et q goal ), donc l'état de départ dans le graphe et l'état d'arrivée, une recherche de chemin est faite dans le graphe (par exemple en appliquant l'algorithme A* avec une heuristique). Ce chemin permet alors de définir une chaîne de cellules dans l espace libre (appelée "channel", en rouge sur le schéma) qui correspond à la séquence de cellules que devra emprunter le robot pour atteindre le but. La dernière étape consiste à transformer cette séquence en chemin dans l espace libre que pourra suivre le robot sans risque de collisions, en reliant la configuration initiale au but en passant par les points clefs appartenant aux cellules de la séquence obtenue. Ensuite, la trajectoire peut être lissée pour obtenir un déplacement plus naturel (pour éviter les changements brusques de direction). 12

3 Base de travail : Présentation de deux méthodes de planification La figure ci-contre montre le résultat de la méthode de décomposition cellulaire de l espace libre après une décomposition obtenue en reliant les sommets des obstacles et en construisant le chemin en reliant les milieux de chaque cellule appartenant à la chaîne calculée. Figure 5 : Illustration de la méthode de décomposition cellulaire. 3.2.4. Décomposition cellulaire approchée La décomposition peut se faire de plusieurs manières, la méthode utilisée dans l exemple précédent (figure 5) est dite de décomposition exacte car l union de l ensemble des cellules correspond exactement à l espace libre. Une variante consiste à décomposer l espace en cellules de forme prédéfinie (rectangulaire dans la majorité des cas) et d étiqueter celles-ci selon leurs appartenances à l espace libre. Dans ce cas, l union de l ensemble des cellules étiquetées libres est inclus dans l espace libre et ne lui correspond pas exactement, cette méthode se nomme décomposition cellulaire approchée. La figure suivante illustre cette décomposition : Figure 6 : Illustration de la méthode de décomposition cellulaire approchée 13

3 Base de travail : Présentation de deux méthodes de planification Sur cet exemple (figure 6), l espace libre est délimité par le rectangle R et trois polygones (figure de gauche). La technique consiste ici à décomposer en carrés de taille variable l environnement, pour obtenir (figure droite) des cellules étiquetées : les cellules blanches correspondent à un étiquetage libre (la totalité de la cellule est dans l espace libre), les cellules noires à pleine (la totalité de la cellule est dans un obstacle) et les cellules grises à mixte (elles contiennent de l espace libre et une partie d obstacle). La suite de la méthode reste la même que celle décrite précédemment : la séquence de cellules optimale que le robot devra emprunter pour atteindre son but figure en gras sur le schéma de droite. La décomposition est obtenue en divisant récursivement l'environnement en quatre parties: Comme le montre les figures 7 et 8, les cellules peuvent êtres étiquetées de trois valeurs différentes : vide (Empty) si la cellule est entièrement dans l espace libre, pleine (Full) si la cellule est entièrement dans un obstacle, et mixte (Mixed) si l intérieur de la cellule contient à la fois de l espace libre, et une partie d un obstacle. La racine de l arbre (sur la figure 7) correspond donc à la totalité de l environnement est comme celui-ci contient des obstacles, la cellule est étiquetée «Mixed». Ensuite, l environnement est divisé en quatre parties égales qui constituent les filles de la racine. Ces quatre cellules sont à leurs tours étiquetées, puis si une de ces cellules est étiquetée Mixed, elle est divisée à son tour en quatre parties et ainsi de suite jusqu à ce que toutes les cellules feuilles soit étiquetées «Empty» ou «Full», ou jusqu à une certaine profondeur d arbre. La représentation finale de l environnement correspond à l ensemble des cellules feuilles de l arbre. Nous obtenons par cette décomposition des cellules de taille variable qui permettent une représentation précise jusqu à un niveau de résolution donné de l environnement. Figure 7 : Arbre de subdivision en quadtree Figure 8 : Premières étapes de subdivision de l'environnement par quadtree 14

3 Base de travail : Présentation de deux méthodes de planification 3.2.5. Incertitudes et exécution de plans Pour que l exécution d'un plan se passe correctement, il faut prendre en compte les incertitudes liées aux mouvements et aux lectures des capteurs. Dans la plupart des techniques de planification géométrique, les incertitudes ne sont pas prises en compte et ce problème d incertitude est renvoyé au niveau de l'exécution d'un plan. La position réelle du robot est souvent obtenue à l'aide d'éléments extérieurs comme des balises placées à des positions fixes et connues (selon le nombre de balises observées, et leurs positions, la position exacte du robot peut être obtenue). Toutefois, certains travaux ont été menés visant à intégrer des informations sur les incertitudes lors de la création de plan [Takeda et al.,1994] et [Lambert et al.,2000], ou à définir différentes stratégies consistant à créer un chemin dans l espace libre en prenant comme repère des spécifications de l environnement (souvent une configuration spécifique des obstacles qui n est observable par le robot qu à un endroit précis de l environnement) pour vérifier ou réajuster la position réelle du robot. Mais ces techniques ont une approche algorithmique complexe ou un champ d application trop restreint, et les résultats des expérimentations utilisant ce type de méthodes sont peu concluants. 3.2.6. Conclusion sur les méthodes géométriques Nous avons vu que les méthodes géométriques tendent à modéliser de façon précise l environnement du robot. Il en résulte que les chemins planifiés par ces méthodes sont continus et très précis. Aussi, cette représentation précise de l environnement permet de générer des trajectoires naturelles et continues sans risque de collisions avec les obstacles. Mais ces méthodes ne prennent pas en compte les incertitudes liées aux actions du robot. En effet, le robot peut déraper et glisser selon la texture et la structure du sol et ainsi sortir de la trajectoire qui a été planifiée et donc ne jamais atteindre le but. Même si des techniques existent pour essayer de prévenir ces erreurs, elles ne permettent pas de gérer ces incertitudes correctement. Aussi, modéliser de façon précise l environnement réel du robot prend beaucoup de temps et n est pas toujours chose aisée du fait de sa complexité. 15

3 Base de travail : Présentation de deux méthodes de planification 3.3. Présentation d une méthode de planification probabiliste 3.3.1. Introduction Pour l étude de la planification probabiliste notre base de travail à été le projet de DEA d Adriana Tapus [Tapus, 2002] qui a réalisé un simulateur de planification et d exécution de plan basée sur le Koala utilisant uniquement les méthodes probabilistes et la thèse de Pierre Laroche [Laroche, 2000]. Nous avons vu qu'il existe des incertitudes liées aux actions du robot lors de l'exécution d'un plan (roues qui patinent, position réelle difficile à connaître, capteurs bruités). L'approche probabiliste consiste à modéliser ces incertitudes sous la forme de probabilités. Nous allons décrire une méthode de planification probabiliste où les incertitudes vont êtres gérés en utilisant les Processus Décisionnel de Markov Parfaitement Observé (que nous désignerons par la suite par le terme de PDM), qui peut être défini comme une formalisation mathématique de problèmes dans lesquels le robot doit décider comment agir afin de maximiser une fonction de gain. En utilisant le PDM, l hypothèse prise est que le robot connaît à chaque instant sa position exacte au sein de l environnement. Cette hypothèse de complète observabilité de l état courant peut sembler à priori très restrictive, mais celle-ci sera supprimée lors de l exécution du plan, nous expliquerons dans la suite par quel procédé. Cette simplification permet le calcul d un plan sur un espace d état fini réduisant considérablement la complexité des algorithmes. Nous partons du principe que la position et l orientation initiales du robot au sein de son environnement sont connues avec certitude avant l exécution du plan, ce qui nous permet de connaître l état initial dans lequel se trouve le robot. 3.3.2. Définition d un PDM Définition générale : Ainsi un PDM est défini par un tuple «S,A,T,R» : - S : ensemble fini d états de l environnement parfaitement identifiables ; - A : ensemble fini d actions ; - T : fonction de transition entre états selon l action effectuée : T : S A S [0,1] On note T(s,a,s ) la probabilité de passer de l état s à l état s en effectuant l action a. - R : fonction de gain qui permet de déterminer le(les) but(s) à atteindre et les éventuelles zones dangereuses de l environnement. R : S Nous allons montrer comment sont définis les différents paramètres du PDM pour l appliquer à la planification des actions du robot : 16

3 Base de travail : Présentation de deux méthodes de planification Définition des états : Le robot doit se déplacer efficacement et rapidement au sein de son environnement pour atteindre une position précise de celui-ci, le but. De ce fait, les états définissent les positions géographiques du robot. Dans le travail d Adriana Tapus, l environnement réel est discrétisé en cases de taille fixe ou chaque case représente un état alors que dans la thèse de Pierre Laroche chaque case donne lieu à quatre états (un pour chaque point cardinaux). Dans l exemple ci-dessous les cases avec un disque noir représentent les obstacles, la case avec un disque jaune le but, et en couleur de fond les cases libres. Ainsi, les obstacles sont considérés comme des carrés de taille fixe. Figure 9 : L'environnement discrétisé en cases représentées par des états. Définition des actions : Les actions discrètes définies dans le PDM sont : avancer (d une longueur égale à une case), effectuer une rotation de 90 sur la droite, effectuer une rotation de 90 sur la gauche (voir figure 9). Ces actions permettent de transiter entre les états. Avancer Rotation 90 gauche Rotation 90 droite Figure 10 : Actions discrètes du robot Sur la figure ci-dessus, avant l action (quadrillage du haut), le robot se trouve dans la case centrale du bas, orienté face au nord. Les trois autres quadrillages du dessous montrent les positions du robot après chacune des actions. 17

3 Base de travail : Présentation de deux méthodes de planification Fonction de transition : C est la fonction de transition qui permet de modéliser les incertitudes liées aux actions du robot. Elle constitue donc un élément fondamental dans l utilisation d un PDM. Une fonction de transition exprime la probabilité de passer d un état E à un état E par une certaine action. la figure ci-après (figure 10) représente la fonction de transition pour les actions «avancer», «pivoter à gauche» et «pivoter à droite»: Avancer 0,05 Pivoter Droite 0,1 0,85 0,05 0,14 0, 57 0,14 0,01 0,01 Pivoter Gauche 0,01 0,05 0,01 0,1 0,005 0,005 0,85 0,05 Figure 11 : Fonction de transition comme définie dans [Laroche, 2000] 1 2 3 Nord 4 5 6 Ouest Est Sud 7 8 9 Figure 12 : Numérotation des cases et boussole 18

3 Base de travail : Présentation de deux méthodes de planification Nous allons expliquer cette fonction de transition en utilisant la figure 12: Supposons qu à l instant t (avant l action), le robot se situe dans la case numéro 8 avec l orientation Nord. Si l action qu il effectue est «avancer», le résultat espéré après avoir réalisé cette action ( i.e à l instant t+1) est donc que le robot se situe en 5 avec l orientation Nord. A l instant t+1 (après l action), la probabilité que le robot se trouve effectivement dans la case 5 avec l orientation Nord est de 0,57 ; la probabilité que le robot se trouve dans la case 2 avec l orientation Nord (donc que le robot soit allé plus loin que prévue) est de 0,05 ; la probabilité que le robot se trouve dans la case 4 avec l orientation Ouest ( par exemple en dérapant et déviant de sa trajectoire) est de 0,01 ; la probabilité pour que le robot se trouve dans la case 9 avec l orientation Sud est nulle ; Le même raisonnement s applique aux autres cases et autres orientations en regardant simplement la fonction de transition. Si nous prenons un autre exemple, le robot se situant à l instant t dans la case 4 avec l orientation Est avec l action à effectuer «pivoter à gauche», la probabilité pour qu il se trouve dans la case 4 avec l orientation Nord ( donc que l on obtienne le résultat désiré) est de 0,85, la probabilité pour que le robot se trouve dans la case 4 avec l orientation Est (donc qu il n ait pas changé d orientation) est de 0,1, la probabilité pour qu il se trouve dans la case 1 est nulle Cette fonction de transition est le plus souvent obtenue expérimentalement. Elle correspond à une moyenne sur un grand nombre d actions et permet d exprimer les répercutions de toutes les petites erreurs de déplacement s accumulant après une série d actions. Il est évident qu elle est directement liée aux fonctions motrices du robot et à l environnement dans lequel il évolue (en particulier à la texture du sol), aussi, elle doit être paramétrable pour s adapter à différents environnements et robots. La fonction de gain et le critère d optimalité: Cette fonction permet de désigner le but à atteindre et de spécifier les zones dangereuses de l environnement. Les états constituant une zone dangereuse se voient attribuer une «punition» et l état contenant le but une récompense. Cette fonction de gain permet lors du calcul d un plan d assigner à chaque état une valeur dépendant de sa proximité avec l état but et avec les obstacles. Le plan optimal est donc calculé en fonction de la fonction de gain : il s agit d optimiser les récompenses possibles. On introduit un critère dit critère d optimalité qui correspond à un coefficient compris entre zéro et un. Celui-ci permet de faire un compromis entre la récompense à court terme et la récompense à long terme, et donc d accorder plus ou moins d importance aux gains futurs. Plus est proche de un, plus l importance sera accordée aux gains futurs; et inversement, plus est proche de zéro, plus l importance sera donnée aux gains immédiats. Si vaut 1, l action choisie à chaque étape sera celle qui rapproche le plus possible du but, et si vaut 0, une transition sera faite vers l état voisin ayant le plus grand gain (souvent l état qui permet au robot de s éloigner le plus possible des obstacles). Donc, lors du calcul d un plan, pour un raisonnable (assez grand et différent de 1), les états permettant d accéder à l état but en une action auront une valeur forte, les états voisins de ces derniers une valeur un peu moins forte et ainsi de suite. Les états contenant un obstacle obtiennent un gain négatif ce qui permet de les prendre en compte et donc de les rendre repoussant. 19

3 Base de travail : Présentation de deux méthodes de planification 3.3.3. Calcul d un plan Le calcul d un plan consiste à assigner à chaque état une action qui est l action optimale que devra effectuer le robot se trouvant dans cet état pour se rapprocher du but. L action optimale est déterminée par le calcul d une fonction de valeur associée à chaque état (V t (s)). Il existe plusieurs algorithmes permettant de calculer un plan dans le cadre des PDM. Les deux plus connus sont : Value Iteration, décrit dans [Bellman, 1957] et Policy Iteration introduit trois ans plus tard par [Howard, 1960]. Ces deux algorithmes sont itératifs, ils fournissent donc une réponse à chaque étape de calcul, où la réponse est supposée s améliorer à chaque étape de calcul. Les deux algorithmes complets figurent en Annexe ainsi que leur complexité. On note tout de même que les deux algorithmes ont des fonctionnements très différents : Value Iteration procède par de petites améliorations successives de la fonction de valeur. En pratique, cet algorithme nécessite un grand nombre d'itérations pour converger, mais chaque itération est très rapide. Alors que Policy Iteration améliore beaucoup la fonction de valeur à chaque itération. Généralement, le nombre d itérations nécessaires à la convergence est faible, mais chaque itération est très coûteuse car elle se compose d une phase d évaluation (coûteuse : voir annexes) et une phase d amélioration. On note egalement que ces algorithmes sont NP-complets. Voici un exemple de plan calculé par Policy iteration : Figure 13 : illustration d'un plan Comme décrit précédemment, les états en noirs sont les obstacles, le jaune est le but, les états correspondant aux zones libres sont ici en blanc (ou en une autre couleur). Les flèches assignées à chaque état dénotent les actions que devra effectuer le robot (rotation et/ou avancer) pour se rapprocher du but (et en fait passer à un autre état).le robot, en fonction de son orientation devra effectuer, avant de passer d un état à un autre, une ou plusieurs rotations (flèches circulaires sur les états). La succession d états bleus est un exemple de chemin que le robot tentera de suivre pour atteindre le but (en jaune) en démarrant de l état bleu en haut à gauche. 20

3 Base de travail : Présentation de deux méthodes de planification Cet exemple montre clairement l avantage de cette méthode sur les méthodes déterministes comme «shortest way» par exemple: Par «shortest way», il n y aurait pas de différence entre le chemin bleu et le chemin vert (ayant sa première partie commune avec les 12 premiers états qui composent la première partie du bleu) ayant tous deux le même nombre d états à parcourir pour atteindre le but. Or, ici les flèches montrent que le robot préférera emprunter le bleu. Et de plus, même si il se retrouve sur les trois premiers états verts, il «préférera faire demi-tour» même si la distance qu il a à parcourir pour atteindre le but est beaucoup plus grande. Le chemin défini par la succession d états verts à été «jugé» trop dangereux lors de la planification. En effet, en empruntant le chemin vert, le robot passera très prés des obstacles et devra tourner pour progresser à travers le couloir formé par les obstacles, ce qui implique un risque de collision élevé. Nous pouvons aussi remarquer que les actions tendent à maximiser la distance entre le robot et les obstacles comme nous pouvons le voir en observant le chemin bleu (le deuxième tiers du chemin): le robot préfère passer au milieu du couloir plutôt que près d un obstacle et donc minimiser le risque de collision. 3.3.4. Exécution d un plan Lors de l exécution d un plan, la position courante du robot est très rarement connue avec certitude, à cause des incertitudes liées aux actions. Le robot est muni de capteurs qui lui permettent de percevoir son environnement. Mais ces capteurs sont souvent bruités, ce qui rend la localisation incertaine, de plus, pour une observation faite, il peut correspondre plusieurs positions dans l environnement (si le robot observe un mur devant lui, on ne peut dire de quel mur de l environnement il s agit). Pour pallier à ce problème, il existe une technique appelée la localisation Markovienne [Dieter et al., 1999] (utilisant les processus décisionnels de Markov), qui calcule au fur et à mesure de l exécution du plan, une distribution de probabilité sur les états de l environnement en fonction de l observation faite par le robot et de l état où se trouvait celui-ci avant d effectuer sa dernière action. Dans la plupart des cas, le choix est que le robot exécutera après l observation l action optimale correspondant à l état ayant la plus forte probabilité. 3.3.5. Conclusion sur la méthode probabiliste Nous avons vu que la méthode probabiliste décrite précédemment présente le grand intérêt de permettre la prise en compte des diverses incertitudes dégradant la localisation du robot. La méthode calcule un plan prenant en compte le risque d'échec, et essayant de le minimiser, trouve un compromis entre l'efficacité et la sécurité. De plus, comme une action est associée à chaque état de l'environnement, le robot ne sera jamais dans une situation d inaction, ce qui n est pas le cas lorsqu un chemin est planifié et lorsque le robot sort de celui-ci. La méthode est donc robuste. 21

3 Base de travail : Présentation de deux méthodes de planification En revanche, l environnement est fortement discrétisé. Le fait de représenter l environnement réel par des cases de taille fixe donne une représentation sommaire des obstacles et il est certain qu une telle représentation «grossière» entraînera des problèmes lors de l exécution du plan pour un grand nombre d environnements réels, soit au niveau de la localisation (si on considère la case pleine alors qu elle contient une grande portion d espace libre, le robot observant normalement un obstacle peut se retrouver à observer de l espace libre et donc ne pas percevoir l obstacle), soit entraînant des risques de collisions (si on considère la case comme libre bien qu elle contienne une petite portion d obstacle). Le deuxième point est que cette discrétisation (des états et des actions) oblige forcément le robot à effectuer des actions non naturelles et basiques : succession de rotations sur lui même et de marche avant sur une courte distance. Ainsi, si le robot évolue dans une portion de l environnement libre de tous obstacles, aura une trajectoire en «escalier» alors qu il suffirait pour traverser cette zone libre, d effectuer une rotation pour bien s orienter, puis d avancer sur une certaine distance. On note aussi le fait que le temps de calculs des algorithmes utilisés pour la résolution des PDM devient très important pour des environnements de taille complexe. Les algorithmes peuvent même devenir inutilisables sur de grands environnements car ils sont exponentiels (voir annexes). 3.4. Conclusion Cette étude nous a permis de mettre en évidence les avantages et les inconvénients de chaque méthode (géométriques et probabilistes). Par la suite, une réflexion a été menée sur le moyen de combiner ces deux méthodes de façon à réunir les avantages de chacune d elles tout en éliminant les inconvénients. Le chapitre suivant explique quels sont les choix qui ont été faits et quels objectifs ont été fixés. 22

4 Résolution 4. Résolution 4.1. Introduction La méthode probabiliste présentée précédemment possède le grand avantage de prendre en compte les incertitudes, mais présente des inconvénients liés à une discrétisation rendant la représentation de l environnement réel peu précise et les trajectoires du robot peu naturelles. Les plans calculés sont plus adaptés à des environnements de types couloir avec très peu d espace libre. Cette méthode n est pas appropriée pour planifier des chemins dans de grands espaces contenant peu d obstacles. En effet, la complexité des algorithmes restreint énormément le nombre d états et les déplacements dans de grands espaces sont peu naturels et décomposés en rotation et translation sur de faible distance. Aussi, nous avons vu que les plans calculés par cette méthode tendent à maximiser la distance entre le robot et les obstacles. Si ceci permet des déplacements plus surs dans un couloir, ce n est pas le cas dans des environnements où les obstacles peuvent êtres très éloignés les uns des autres : Les capteurs du robot n étant pas très précis et ayant une courte portée, si celui-ci, lors de l exécution du plan, se trouve dans un grand espace libre, il sera incapable de se localiser alors que s il longe un obstacle (de façon sûre, en respectant une distance de sécurité ou en effectuant les actions les plus sûres possibles), il pourra facilement se localiser. L idée a donc été de garder l utilisation des processus décisionnels de Markov mais de l appliquer sur une représentation de l environnement plus adaptée et de trouver un moyen d obtenir des actions et des trajectoires naturelles tout en facilitant au préalable la localisation opérée lors de l exécution du plan. En d autres termes, il s agit de définir un modèle prenant en compte le plus d incertitudes possibles lors de la planification, augmentant de ce fait les chances de succès de la phase d exécution. Nous avons donc repris le principe de la technique probabiliste présentée précédemment, dans laquelle nous avons intégré des techniques utilisées habituellement dans les approches géométriques : Nous avons choisi la méthode de décomposition cellulaire approchée pour la décomposition de l environnement car elle permet un découpage de l environnement suivant une forme fixe de taille variable, le carré. A notre connaissance, l application des PDM sur un ensemble d états représentant des cases de taille variable n a jamais été réalisé. Aussi, nous avons intégré des trajectoires plus naturelles dés le calcul du plan pour que le modèle soit plus proche de la réalité. Ainsi, nous avons pu dégager de l étude précédente et de cette réflexion différents objectifs pour la résolution du sujet et donc pour paramétrer notre PDM: - Décomposition de l environnement selon la méthode de décomposition approximative : division en «quadtree», nous permettant de définir les états. - Définition des actions : intégration de trajectoires plus naturelles définies par des méthodes géométriques. - Définition de la fonction de transition : prise en compte des incertitudes liées aux déplacements et à la localisation. - Calcul du plan : implantation et comparaison des algorithmes de résolution. - Evaluation des plans obtenus et donc de la qualité du modèle. - Exécution du plan obtenu en utilisant la Localisation Markovienne. Nous allons détailler dans la suite les cinq premier points. Le dernier point n a été traité qu en partie, et constitue la poursuite logique du stage. 23

4 Résolution 4.2. Implantation d un simulateur Il nous a été nécessaire d implanter un simulateur comportant une interface homme machine pour vérifier et valider les différentes étapes de notre travail. Tous d abord, pour vérifier visuellement la décomposition cellulaire, et pour définir les environnements (nous avons ajouté à notre logiciel un petit éditeur de texte pour nous permettre de changer plus rapidement et facilement les environnements qui sont définis sous la forme de fichiers). Ensuite, il nous permet d observer la pertinence des plans calculés et d expérimenter les différents choix de modèles d actions et de fonctions de transition. Enfin, il nous servira dans la suite pour suivre l exécution temps réel d un plan (notamment les observations du robot) et diverses fonctionnalités pourront lui êtres rajoutés. Une présentation et un manuel utilisateur figurent en annexe. 4.3. Décomposition en quadtree Comme nous l'avons vu dans le chapitre 3, la méthode de décomposition utilisée dans la décomposition cellulaire approchée est une division dite en «quadtree». Il s agit de construire un arbre en divisant récursivement l espace de l environnement en quatre parties et d étiqueter chacune de ces parties (qui correspondent à un nœud de l arbre) suivant sa nature. Dans l objectif de définir les états de notre modèle, nous avons implanté cette méthode. Dans notre programme, un environnement est pris en entrée sous la forme d un fichier. Ce fichier comporte : la taille de l environnement, la taille du robot dans cet environnement, la position du but, le nombre d obstacles et la liste de ces obstacles. Un obstacle est un polygone caractérisé par son nombre de sommet et la liste des coordonnées de chaque sommet données dans le sens trigonométrique. La principale difficulté est l étiquetage des cellules. Pour l implémenter nous avons utilisé l algorithme de Pavlidis décrit dans [Hégron, 1985] prenant en paramètre un polygone et un segment et renvoyant les intersections de celui-ci par le polygone (donc il renvoie les coordonnées d un segment ou vide). Donc en utilisant cet algorithme, nous avons implanté une fonction d étiquetage qui teste l intersection d une fenêtre (délimitant la cellule) et d une liste de polygones (l ensemble des obstacles). Ensuite, la construction de l arbre ne pose pas de réelle difficulté. Nous pouvons faire remarquer que la décomposition (la création de l arbre) s arrête quand toutes les feuilles ne sont pas mixtes ou quand la taille des cellules filles va devenir inférieure à la taille du robot dans l environnement. Aussi, la cellule contenant la position but est décomposée jusqu'à la taille minimale (la taille du robot), ce qui permet une définition plus précise du but à atteindre L ensemble du programme effectuant la division en «quadtree» a été testé en visualisant les environnements entrant (correspondant au fichier d entrée) et résultant (les feuilles de l arbre) par l intermédiaire du simulateur que nous avons implanté. Un exemple de décomposition d environnement figure ci-dessous (figure 14) et quelques exemples de fichier d environnement ainsi que le résultat de la décomposition affichée par notre logiciel figurent en annexe. 24