Développement d’algorithmes d’évitement d’obstacles ... · Chapitre I Généralités sur la...
Transcript of Développement d’algorithmes d’évitement d’obstacles ... · Chapitre I Généralités sur la...
REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE
MINISTERE DE L'ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE
SCIENTIFIQUE
Université Kasdi Merbah–Ouargla
Faculté des Sciences de Technologies et Sciences de Matières
Département de génie électrique
PROJET DE FIN D’ETUDES
En vue d’obtention du
Diplôme de Master en Automatique
Filière : Génie électrique Spécialité : Automatique
Présenté par :
MECHALIKH Youcef MILOUDDI Ali
Thème
Présenté devant le jury composé de :
Nom et Prénom Grade Qualité Université
Z. TIDJANI. MAA Président UKMO
A.MEKHMOUKH MAA Examinateur UKMO
G.ZIDANI MAB Examinateur UKMO
W. BENZAOUI MAB Encadreur UKMO
N.OUADAH Attaché de
recherche
Co-encadreur CDTA
Année universitaire : 2011/2012
Développement d’algorithmes d’évitement d’obstacles statiques et dynamiques
Remerciements
Nous remercions notre promoteur Mr
N.OUADAH attaché de recherche au centre de
Développement des technologies avancées, qui nous a fait
bénéficier de ses connaissances, son expérience et son
soutien afin d’effectuer ce travail précieux.
Nous tenons à remercier aussi notre
promotrice Melle W.BENZAOUI enseignante à
l’Université KASDI Merbah Ouargla, pour l'aide
compétente qu'elle nous a apportée, pour ses conseils et son
encouragement.
Nous remercions toutes les personnes qui
ont collaboré à la réalisation de ce mémoire.
Sommaire
Introduction Générale...…...…………………......................................................................01
Chapitre I Généralités sur la Robotique Mobile
1. Introduction …………………………………………………..…………………………..03
2. Architecture du système de commande……………………………….……………….…03
2.1. Généralité sur l’architecture………………………………………………………….03
2.1.1. Niveau interface homme-machine……………………………..……………..03
2.1.2. Générateur de plan ou planificateurs de tâche………………….……….……04
2.1.3. Le contrôleur d’exécution ……………………………………..……………..05
2.1.4. Le niveau fonctionnel………………………………………….……………...05
3. La structure mécanique……………………………………………………...……….…...06
3.1.1. Les mobiles à roues…………………………………………………….…….....07
3.1.2. Les mobiles à chenilles…………………………………………………………07
3.1.3. Les mobiles à pattes…………………………………………………………….08
4. La non-holonomie et la holonomie………………………………………...……………..08
4.1. La non-holonomie …………………………………………………………………...08
4.2. La holonomie …………………………………………...…………….……………..09
5. Environnement dynamique et incertain…………………………..……..………..………09
5.1. Notion d’environnement dynamique……………………............…………...………09
5.2. Notion d’incertitude…………………………………………………………….……09
6. La navigation.……………………………………………………………………..………10
6.1.La localisation ………………………………………………………………….…….10
6.1.1. La localisation à l’estime (relative)……………………………...……………10
6.1.2. La localisation absolue ….……………………………………………………11
6.2.La perception………………………………………………………………….............11
6.2.1. Les capteurs passifs……………....…………………………………………….12
6.2.2. Les capteurs actifs ………..………...…………………………………………..12
6.2.3. Les capteurs utilisés dans les systèmes de robotique mobile…….…………..…13
6.2.3.1.Capteurs proprioceptifs……………………………………….....…….….13
6.2.3.1.1. Les odomètres……………………………………………………..14
6.2.3.1.2. Les accéléromètres…………………………….…………….....…..14
6.2.3.1.3. Radars Doppler ……………………………..…………………....14
6.2.3.1.4. Les gyroscopes……………………………..…………………..…14
6.2.3.2.Capteurs extéroceptifs………………….………..……………..…………14
6.2.3.2.1. Les télémètres………………………..…………………....……...15
6.3.Raisonnement et décision……………………………..………………………………15
7. Conclusion ……………………………………………..……………………..….………15
Chapitre II Etat de l'art
1. Introduction ………………………………………………...……………………………16
2. Méthodes délibératives…………………………….…………………....……………….16
2.1. Graphe de visibilité ………………………..……………..….….......…….…..……16
2.2.décomposition cellulaire …………………………..………….…...…….………….17
2.3.Cartes de routes probabilistes……………………………..………………………...18
3. Méthodes de replanification ……………………………………..…………………...…..20
3.1.Rapidly-exploring Random Trees…………………………….….……………….…20
3.2.Le fil d’Ariane…………………………………………...………….…………….…21
4. Approches réactives……………………………………………………………...……….22
4.1. Approches par champs de potentiel…………….………..……..……………………22
4.2. Histogramme de champs de vecteurs…………………………..…………………….23
4.3. Navigation par diagrammes de proximité………………….………...………………24
4.4. Méthode de navigation courbure-vélocité ……………………….…….……………25
4.5. Fenêtres dynamiques (D.W)…… ……………………………...………….……...…26
4.6. Représentation des obstacles dans l’espace des vitesses………...…..………………27
4.7. Navigation basée sur les états de collisions inévitables…………..………………….28
4.8. Planification de mouvement partiel……………………………..……..………….…29
4.9. Déformation de trajectoire….......................................................................................30
5. Conclusion……………………………………………………………………………..…30
Chapitre III La logique floue
1. Introduction……………………………………………………………………………….31
2. Définition d’un ensemble flou ……………………………………….……………….….31
3. Définition des variables linguistiques………………………………………….…………34
4. Les fonctions d’appartenance ……………………………………………………….……34
5. Opérations sur les ensembles flous ………………………………...……………………36
6. Décision par logique flou ……………………………………………………………..…36
7. Fuzzyfication. ……………………………………………………………………………37
8. Règles (inférences) ………………………………………………………………………37
6. Défuzzyfication …………………………………………………………………………39
7. Conclusion ………………………………………………………………………………40
Chapitre IV Simulation et implémentation
1. Introduction………………………………………………………………….…………….41
2. Modèle géométrique……………………………………………………………………….41
2.1. Notion d’espace de configuration…………………………………….………………41
2.2. Les contraintes mécaniques, cinématiques, et non holonomie….………………….…42
2.2.1. Contraintes mécaniques…………………………………….…………………..42
2.2.2. Contraintes cinématiques…………………………………….…………………42
2.2.3. Conséquences de ces contraintes …………………………………..…………..43
3. Principe de notre méthode……………………………………………….……..………….43
4. Processus de navigation…………………………………………………...……………….45
4.1.Etape 1 : Le robot reçoit la trajectoire à suivre……………………………………..45
4.1.1. Les clothoïdes……………………………………………………..………..…..45
4.2.Etape 2 : Discrétisation de la trajectoire ……………………………...……………47
4.3.Etape 3 : Localisation du robot et perception de l’environnement…………………48
4.4.Etape 4 : Choix d’un comportement……………………………………...………...48
4.5.Etape 5 : L’exécution de la décision choisie……………………………………….49
A). 1er
situation………………………………………………………..……...…….49
A.1). Les fonctions d’appartenance…………………………….….……………….50
A.2) les règles d’inférence……………………………………………………….....52
A.3) Méthode de défuzzyfication…………………………………………………..52
A.4). Expérimentation de régulateur…………………………………...…………..53
B). 2eme
situation………………………………………….……………………...…56
C). 3eme
situation ……………………………………….……………..…………....57
C.1). E.C.A ………………………………………….………………..…………....57
C.2). Evitement d’obstacle dynamique………….……………………………….…58
5. Notre implémentation……………………………………………………….…..…………59
6. Conclusion………………………………………………………..……….…………….…62
Conclusion Générale.…….…………………….……………………………………………63
Références bibliographiques
Annexes
Liste des figures
***************************************************************************
Chapitre I
***************************************************************************
Figure 1.1 : Architecture d’un robot mobile. Le block regroupe les différents niveaux d’un
robot mobile……………………………………………………………..……………..06
Figure 1.2 : Les différentes configurations des roues possibles……………..…………….07
Figure 1.3 : Les robots à chenilles………………………………………………………08
Figure 1.4 : Les robots à pattes………………………………………….………………08
Figure 1.5: Le robot XR4000 de la société Nomadic…………………….………………09
***************************************************************************
Chapitre II
***************************************************************************
Figure 2.1 : Chemin déterminé entre deux configurations q0 et qf à partir d’un graphe de
visibilité…………………………………………………………….…….…………....17
Figure 2.2 : Chemin déterminé entre deux configurations q0 et qf à partir d’une
décomposition cellulaire…………………………………………………..…………….17
Figure 2.3 : Chemin planifié pour un robot de type différentiel à partir d’une roadmap
calculée dans l’espace de configuration du robot mobile………………………………….19
Figure 2.4 : Rapidly Exploring Random Trees : Etapes successives de construction de l’arbre
de recherche dans l’espace des configurations du système robotique mobile…..…………..20
Figure 2.5 : le fil d’Arian : l’évolution de l’algorithme de planification alternant les deux
étapes pour la planification d’un chemin……………………………………...………….21
Figure 2.6 : Calcul d’un chemin vers la cible par la méthode de champs de potentiels….…23
Figure 2.7 : Histogramme de champs de vecteurs (a) Fenêtre active autour du robot dans
laquelle sont mise à jour les probabilités d’occupation par les obstacles, (b) Histogramme
polaire calculé à partir de la grille d’occupation. Les vallées libres d’obstacles sont
déterminées afin de choisir une direction à suivre…………………………………..……24
Figure 2.8 : Navigation par Diagrammes de Proximité (ND), (a) Représentation de
l’environnement autour du robot, (b) Caractérisation des vallées disponibles en repérant les
discontinuités du graphe de proximité des obstacles…………………………………..….25
Figure 2.9 : Méthode de navigation courbure-vélocité, (a) Trajectoires candidates
représentées dans l’espace de travail, (b) Contrôles correspondant aux trajectoires candidates
dans l’espace des vitesses linéaire et angulaire…………………………………………...26
Figure.2.10 : la fenêtre dynamique, calcule de la commande candidate situé à l’intersection
des vitesses admissibles et les vitesses respectant la contrainte dynamique et l’ensemble des
vitesses qui permet au robot de s’arrêter avant d’entrer en collision avec les obstacles……..27
Figure 2.11 : Minimum local, les déplacements 1 et 2 sont tous deux libres pour le robot.
Localement, le déplacement 2 étant dans la direction du but, il est meilleur, pourtant, il
conduit à un blocage…………………………………………………………………….27
Figure 2.12: Représentation des obstacles dans l’espace des vitesses (V.O), (a) calcule de
cône des vitesses interdites pour un horizon temporel infini, (b) calcule de cône des vitesses
pour un horizon temporel limité..…………………………………………………….….28
Figure 2.13: navigation basé sur la planification de mouvement partiel, la méthode consiste à
calculer à chaque pas de temps un point à atteindre en rapprochant le plus possible à la cible
sans entrer en collusion avec les obstacles…………………………………………….....29
***************************************************************************
Chapitre III
***************************************************************************
Figure 3.1: Comparaison entre un ensemble classique et un ensemble floue……………..32
Figure 3.2: La fonction caractéristique (a) et la fonction d’appartenance (b)……………..33
Figure 3.3: Sous ensembles fous définis sur la variable linguistique « température »…......33
Figure 3.4: Fonction d’appartenance trapézoïdale………………………………………..35
Figure 3.5: Caractéristique d’un sous ensemble floue………………………………...….35
Figure 3.6: Structure d’un contrôleur floue…………………………………………..….37
Figure 3.7: Agrégation des règles……………………………………………………....38
Figure 3.8: défuzzyfication par la méthode de centre de gravité………………………….39
Figure 3.9: Défuzzyfication par la méthode de maximum………………………..………40
***************************************************************************
Chapitre IV
***************************************************************************
Figure 4.1 : modèle géométrique d’un robot mobile……………………………………..41
Figure 4.2 : Le séquencèrent des différant étapes de la navigation par déformation de
trajectoire. ………………………………………………………………………..…....44
Figure 4.3 : (a) Tronçon routier droite-cercle-droite, (b) taux de courbure……………..….46
Figure 4.4 : (a) Tronçon routier droite-cercle-cercle-cercle-droite, (b) taux de courbure...…46
Figure 4.5 :(a) Tronçon routier droite-clothoïde-cercle- clothoïde -droite, (b) taux de
courbure…………………………………………………………….……………….…47
Figure 4.6 : Discrétisation de la trajectoire…………………………………………....…48
Figure 4.7 : Schéma de principe de la technique………………………………………...50
Figure 4.8 : Fonctions d’appartenance de l’erreur de position……………………………51
Figure 4.9 : Fonctions d’appartenance de l’erreur angulaire…………………………...…51
Figure 4.10 : variable de sortie: la vitesse de translation du robot………………………...51
Figure 4.11 : variable de sortie : l’angle de braquage de robot……………………………51
Figure 4.12 : Trajectoire du robot dans un espace libre…………………………………..53
Figure 4.13 : Les sorties de régulateur. (a) la vitesse. (b) l’angle de braquage. ……………53
Figure 4.14 : 2eme
test du robot dans un espace libre……………………………………...54
Figure 4.15: Les sorties de régulateur (2eme
test)…………………………………...….…54
Figure 4.16 : Trajectoire de robot dans un espace de type route…………………….…....…54
Figure 4.17 : Devisions d’une trajectoire à des sous cibles…………………………..…...…55
Figure 4.18 : Les nouvelles fonctions d’appartenance de l’erreur de position………………55
Figure 4.19 : l’exécution de la trajectoire divisée à des sous cibles…………………………55
Figure 4.20 : Procédure de la technique de dépassement d’un obstacle statique (2eme
situation).…………………………………………………………………………….…56
Figure 4.21 : Expérimentation de la 2eme
situation…………………………………….…57
Figure 4.22 : Procédure de la technique de dépassement d’un obstacle dynamique (2eme
situation). …………………………………………………………………………...…58
Figure 4.23 : Expérimentation de la 3eme
situation (évitement d’obstacle dynamique)…...…59
Figure 4.24 : l’espace de navigation proposé. Le robot se déplace d’un point initial vers un
point final en suivant une trajectoire…………………………………………………….60
Figure 4.25 : Insertion des obstacles…………………………………………………....60
Figure 4.26 : Evolution de la simulation………………………………………………...61
***************************************************************************
Liste des tableaux
Table 1 : les règles d’inférences proposées...………………………………………………...52
Résumé
La navigation de robot mobile dans un environnement dynamique représente un défi
important pour la recherche en robotique. Le point essentiel du problème est que le robot doit
suivre sa trajectoire tout en évitant les obstacles que soient statiques ou dynamiques.
Dans ce mémoire nous abordons le problème de la navigation d’un robot à roues, non
holonome et soumis à des contraintes cinématiques dans un environnement dynamique de
type route.
Nous avons en premier lieu utilisé un régulateur flou pour la navigation. En deuxième
lieu, et en présence des obstacles statiques ou dynamiques, la méthode de déformations de
trajectoires est appliquée, pour pouvoir éviter ces obstacles.
La méthode présentée a montré sa robustesse dans différentes situations.
Mots clés : robot mobile, navigation autonome, obstacle, déformation de trajectoire,
régulateur flou
Abstract
The navigation of mobile robot in a dynamic environment is a challenge in the
robotic's research. The key of the problem is that the robot has to follow its trajectory
avoiding static and dynamic obstacles.
In this work we deal with the problem of navigation of wheeled mobile robots subject
to non holonomic kinematic constraints.
First, a fuzzy controller is used in navigation. Then, in presence of static and dynamic
obstacles, the trajectory deformation method is applied to avoid these obstacles.
The method presented has shown its robustness is different situations.
Key words: mobile robot, autonomous navigation, obstacle, trajectory deformation, fuzzy
controller.
:الملخص
تتبع إشكالیةتحد صعب، وتطرح ثابت الذاتیة التحرك في محیط غیر یةلیمثل سیر السیارة اآل
.المسار وذلك بتجنب المعیقات المتحركة منھا والثابتة
نا في مذكرتنا ھذه متحكم غامض لیتتبع المسار استعملمن أجل السیر الذاتي للسیارة اآللیة
.المقترح، واعتمدنا على طریقة تحریف المسار من أجل تجنب المعیقات
.السیارة اآللیة، السیر الذاتي، المعیق، تحریف المسار، المتحكم الغامض: الكلمات الدالة
Introduction générale
UKMO 2012 1
Introduction Générale
Les années 70 et 80 ont vu émerger un domaine dans la science de l’automatique : la
robotique. Les premiers robots ont été caractérisés par leur aptitude de manipulation d’objets ce
qui a permis de les intégrer dans des unités de production pour réaliser des tâches répétitives. Le
premier objectif de leurs conceptions a été atteint : remplacer l’homme dans des tâches pénibles.
L’évolution des robots de type manipulateur a permis d’accroitre leur vitesse, d’augmenter
les charge transportées, de fiabiliser les structures mécaniques et de les rendre de plus en plus
adaptables aux tâches demandées. Ces premiers robots ont tous été reliés à un référentiel fixe et
planés dans un environnement parfaitement structuré. Les progrès technologiques ont conduit vers
la réalisation d’un robot tout à fait différent dans sa conception et dans le type de tâche à
accomplir : le robot mobile.
Ce dernier se caractérise par l’absence de lien mécanique avec un objet de référence ce qui
ouvre magistralement la porte aux applications potentielles. La liberté de mouvement lui confère
une autonomie qui lui permet de trouver d’autres utilisations que manufacturière.
Ces applications sont légion : le transport, l’exploitation d’environnement hostile, le
domaine agricole, le génie civil, la lutte contre les incendies ou le terrorisme, l’inspection, le
domaine militaire, l’aide aux handicapés … Cette liste est loin d’être exhaustive et si des besoins
de manipulations sont utiles, alors un manipulateur va être monté sur une base mobile pour
associer les deux types de robots et rendre le tout plus efficace.
L’une des problématiques dans le domaine de la robotique mobile est la navigation du
robot tout en évitant les obstacles. Le problème devient plus dur dans la présence des obstacles
dynamiques car différentes variables doivent être prises en considération telles que la position de
l’obstacle, sa vitesse, l’état de la route…etc.
Notre travail s'intéresse à la navigation d'un robot mobile à roues non-holonome soumis à des
contraintes de roulement sans glissement dans un environnement de type route en évitant les
obstacles statique et dynamique.
Plus précisément la problématique abordée est l'exécution de trajectoires planifiées pour de
tels robots, lors de la présence des obstacles que soient des obstacles statiques ou obstacles
dynamiques.
Introduction générale
UKMO 2012 2
Le projet est réalisé au sein de l’unité de Productique et Robotique au centre de
Développement des Technologies Avancées d’Alger CDTA.
Le mémoire est organisé de la manière suivante.
Dans le premier chapitre, nous présenterons les différentes notions qui permettent la
compréhension de la robotique mobile, de l’organisation du système de commande et ces différents
niveaux ainsi que la structure mécanique des robots et leurs divers types.
La nécessité de la connaissance de certaines notions comme la notion de la holonomie et la
non-holonomie, l’environnement dynamique et l’incertitude nous à mené a les introduire dans ce
chapitre ainsi que le principe de la navigation. Cette dernière se base essentiellement sur la
localisation, la perception et le raisonnement aussi que la décision.
Le deuxième chapitre décrira les différentes méthodes utilisées pour la navigation des
robots mobiles. Nous présenterons un état de l’art sur ces méthodes, en les classant en deux
grandes familles les méthodes délibératives et les méthodes réactives. Nous essayons de montrer
les avantages de chaque méthode ainsi que ses limites.
Un troisième chapitre est consacré à la logique floue et ses diverses notions comme la
définition d’un ensemble flou et la définition des variables linguistiques, les fonctions
d’appartenance et les opérations sur les ensembles floues, ainsi que la décision par logique floue.
Cela est dû à la nécessité d’utiliser un régulateur flou pour générer les commandes qui permettent
le suivi de trajectoire. La conception de ce régulateur se fait en passant par les étapes suivantes : la
fuzzyfication, la construction des règles d’inférences et la défuzzyfication.
Le dernier chapitre présente la partie simulation que nous avons réalisée au sein du Centre
de Développement des Technologies Avancées. Nous commencerons par une modélisation
géométrique pour donner une affectation mathématique de chaque état du robot. Puis nous
présenterons les contraintes mécaniques et cinématiques ainsi que leurs conséquences sur la
navigation d’un robot mobile. Ensuite nous détaillerons le principe de notre méthode, dans un
dernier lieu nous détaillons le processus de navigation que nous avons utilisé.
Cette navigation se base fortement sur un régulateur floue construis pour le calcul de la
commande nécessaire pour le suivi de trajectoire, pour cela on a expliqué le principe de la
conception de ce régulateur.
1. Introduction
2. Architecture du système de commande
3. La structure mécanique
4. La non-holonomie et la holonomie
5. Environnement dynamique et incertain
6. La navigation
7. Conclusion
Chapitre I Introduction à la robotique mobile
Chapitre I Généralités sur la Robotique Mobile
UKMO 2012 3
1. Introduction
Tous d’abord et avant de commencer l’étude dans ce vaste domaine, il est nécessaire
de mentionner quelques notions et définitions essentielles à sa compréhension, à savoir
l’architecture de système de commande, la structure mécanique des robots, ainsi que la notion
de la non-holonomie et la holonomie, on terminera par les différents types des robots.
2. Architecture du système de commande [Pet et Fra, 05b ]
L’objectif principal d’un robot mobile consiste à réaliser un mouvement en reliant un
point source à un point destination. L’exécution de cette tâche avec un certain degré
d’autonomie nécessite l’utilisation d’un ensemble de ressources et d’une structure assurent
une coopération efficace entre elles, les performances et capacités du robot dépendent à la fois
de la qualité des ressources et à leur gestion.
2.1. Généralités sur l’architecture
L’architecture du robot décrit l’organisation des divers modules qui le compose ainsi
que leurs interactions. Les modules sont à retirer en permanence ou encore pour une tâche
définie à un instant donné. En général, l’informatique à bord est distribuée, permettant ainsi
un fonctionnement indépendant et parallèle des modules.
Nous pouvons décomposer un robot mobile en quatre niveaux :
Ø Niveau interface homme-machine.
Ø Niveau planification de tâches.
Ø Niveau contrôle.
Ø Niveau fonctionnel.
2.1.1. Niveau interface homme-machine
Ce niveau d’architecture gère les communications avec le programmeur ou
l’ordinateur de tâche. L’opérateur décrit selon le mode de communication (écran/clavier,
écran/souris…) la tâche que doit exécuter le robot. Celle-ci sera soumise selon une forme
adéquate aux générateurs de plan.
La communication machine-homme transite également par ce niveau. Des accusés de
réception des résultats de traitement ou éventuellement des précisions sur la tâche demandée
sont transférés vers l’homme selon toute forme de support visuel ou sonore.
Chapitre I Généralités sur la Robotique Mobile
UKMO 2012 4
2.1.2. Générateur de plan ou planificateurs de tâche
À ce niveau de l’architecture se construit le plan de la tâche défini au niveau supérieur.
Le générateur de plan va déterminer une suite séquentielle d’actions en utilisant les ressources
disponibles et en définissant les modes d’activation. La génération de plan repose sur
plusieurs notions:
Ø La connaissance de la situation initiale.
Ø La stabilité des connaissances en cours d’exécution.
Ø La connaissance parfaite de l’impact des actions.
Si ces trois notions sont valides, alors le plan d’action est généralement simple. La
planification est nettement plus délicate lorsque une ou plusieurs des notions ci-dessus n’est
plus vérifiée. Dans ce cas, le déroulement du plan ou encore l’élaboration du plan doit subir
des modifications par rapport d’informations supplémentaires en cours d’exécution par
reconnaissance de situation.
Cette dernière est établie selon deux types d’applications :
Ø Si le robot en télé-opérer, alors l’opérateur intervient pour interpréter les informations
en sa possession et de prendre les décisions concernant la modification du plan.
Ø Si le robot possède une forte autonomie, alors la reconnaissance de situation consiste à
identifier des propriétés courantes de l’environnement utiles à la mission.
Les réactions du robot autonome sont trois types : l’action réflexe, la récupération
d’anomalies, la replanification.
L’action réflexe consiste à faire appel à une ressource sans qu’elle soit prévue par le
plan original. Cet appel est réalisé au vue d’une situation particulière. L’exécution de cette
action à pour objet de se dégageait des situations locale en espérant se rapprocher au plan
initial. L’exemple le plus typique et le contournement des obstacles.
La conséquence de l’introduction de cette action est double : soit la réaction permis de
se dégager de problème, soit elle conduit vers une situation non récupérable. Le plan d’origine
devient alors caduc.
La non-récupération du plan est souvent due à un manque de connaissance de la
situation. Il Est nécessaire d’utiliser toutes les ressources disponibles afin d’analyser la
Chapitre I Généralités sur la Robotique Mobile
UKMO 2012 5
situation courante. Une bonne connaissance de la situation accroît fortement les chances de
récupération de l’anomalie. On parle de récupération ou de planification locale.
La troisième méthode de réaction concerne la replanification. Le robot se trouve dans
le cas extrême ou le plan initial a échoué.
Les actions réflexes et la récupération d’anomalies sont inopérantes. Dans ce cas, si la
situation courante est connue, il est possible de replanifier la mission.
2.1.3. Le contrôleur d’exécution
Le contrôle d’exécution orchestre la mise en œuvre du plan établi au niveau du
planificateur. Lors du déplacement, il adapte le comportement du robot aux situations
instantanées. Ainsi, si les situations successives concordent avec le plan établi, celui-ci se
déroule comme prévu, dans le cas contraire, le contrôleur applique la méthode convenue.
Les informations nécessaires à la réactivité, c’est-à-dire l’application des
comportements face à une situation, sont issu d’un module de surveillance de
l’environnement. Ce dernier se compose de plusieurs sous modules travaillant en parallèle.
Ce module a pour rôle de fournir un ensemble d’informations binaires ou numérique
sur l’état de l’environnement, afin de garantir la sûreté des informations et l’exécution du
comportement qui en est la conséquence, le contrôleur d’exécution possède un module
proposant un diagnostic du fonctionnement global.
Ces informations permettent de réagir face à une situation donnée grâce aux
potentialités matérielles et fonctionnelles disponibles à l’instant donné. Une telle opération est
possible à condition d’avoir une certaine redondance des fonctionnalités du robot.
2.1.4. Le niveau fonctionnel
Le niveau fonctionnel et le plus bas dans la hiérarchie de l’architecture. Il se compose
de modules capteurs, effecteurs et actions de base. Les modules capteurs sont organisés en
plusieurs niveaux : les éléments de détection, c’est-à-dire les capteurs physiques, l’élément de
traitement de signal élémentaire (ex : extraction de primitives de titres droite).
L’utilisation d’information s’effectue selon les besoins. Pour l’évitement d’obstacles,
l’information télémétrique est suffisante alors que la mobilisation dynamique trouvera plus
d’informations dans un ensemble de droites.
Chapitre I Généralités sur la Robotique Mobile
UKMO 2012 6
Un module effecteur assure la réalisation du mouvement du robot. Comme pour le
module précédent, celui-ci se décompose en plusieurs niveaux selon le degré de complexité
de la consigne (ex : garder une orientation constante, suivre la droite défini par deux point…).
Le module des actions de base se compose d’un ensemble de primitives dans l’usage
est fréquent. Nous pouvons citer notamment l’évitement d’obstacles ou le suivi de murs (dans
notre cas le suivi de la route).
Figure 1.1 : Architecture d’un robot mobile. Le block regroupe les différents niveaux d’un robot
mobile.
3. La structure mécanique
L’acte principal du robot mobile constitue le mouvement afin, soit de réaliser une
tâche par le mouvement lui-même et par le transport d’un outil (ex : nettoyage), soit par le
transport d’un objet d’un lieu vers un autre (ex : caméras de surveillance), le mouvement de
masse est obtenu en combinant deux aspects :
Ø La propulsion.
Ø L’appui sur le milieu.
Les modes de propulsion sont variées selon le type de mobile. Cela s’étend du moteur
thermique ou électrique au moteur hydraulique pneumatique.
Le milieu dans lequel évolue le mobile oriente très fortement la mécanique mise en
œuvre pour le mouvement.
Chapitre I Généralités sur la Robotique Mobile
UKMO 2012 7
3.1.1. Les mobiles à roues.
Les robots mobiles à roues sont les plus répandues actuellement. La raison est
essentiellement la simplicité de la conception du mécanisme. La plupart des robots mobiles
opérationnels jusqu’à présent, évoluent sur sites aménagés : environnement intérieur ou sites
industriels. Ces robots comportent soit trois, soit quatre roues.
Dans les cas marginaux, ils peuvent prendre six roues voire plus, dans le cas d’un train
de chariots. Les rangs sont disposés sur les sommets soit d’un rectangle. Soir d’un triangle.
On dénombre plusieurs fonctions des roues (Figure.1.2) :
Ø Roues motrices.
Ø Roues motrices directrices.
Ø Roues libres.
Ø Roues libres directrices.
Ø Roues folles.
Les différentes combinaisons des roues assurent une diversité de commande du
mobile. Généralement toute configuration entraîne la non-holonomie. Cette caractéristique
mécanique (voire section 4.1) induit des contraintes sur le mouvement. Ce dernier n’est
possible que selon la tangente au mouvement des roues. Une configuration des trois roues
motrices directrices peut résoudre ce problème.
Figure 1.2: Les différentes configurations des roues possibles.
3.1.2. Les mobiles à chenilles
Lorsque la configuration du terrain est plus chaotique, les engins à roues ont du mal à
évaluer. Les chenilles sont alors plus intéressantes (Figure.1.3). Elles permettent d’augmenter
Chapitre I Généralités sur la Robotique Mobile
UKMO 2012 8
l’adhérence au sol. La direction de conduite et définie en fonction de la différence de vitesse
imposée aux roues.
Figure 1.3 : Les robots à chenilles.
3.1.3. Les mobiles à pattes
Lorsque le terrain devient encore plus incertain, c'est-à-dire avec de grandes
différences d’amplitudes comme un sol jonché de rochers, des engins à roues ou à chenilles
ne sont plus efficaces. Dans ce contexte, les mobiles ayant des ponts d’appuis discrets
(Figure.1.4) sont la solution au problème du mouvement. Cette solution est universelle puisque
la très grande majorité des animaux terrestres se meuvent de cette manière. Mais la réalisation
d’un tel système et l’établissement de sa commande est complexe.
Figure 1.4 : Les robots à pattes.
4. La non-holonomie et la holonomie [Del, 10]
4.1. La non-holonomie
Les systèmes mobiles dit non-holonomes sont ceux que l’on rencontre le plus dans
la vie courante (voiture particulière, bus, camion, …etc.). Ces systèmes ont une structure
mécanique relativement simple (des roues motrices, des roues directrices et des roues
libres). Une roue peut avoir une, deux ou trois fonctions. Mais tous ces systèmes ont une
caractéristique commune : la direction de la vitesse d’entrainement (vitesse linéaire) est
imposée par la direction des roues directrices.
Chapitre I Généralités sur la Robotique Mobile
UKMO 2012 9
4.2. La holonomie
Les systèmes holonome sont beaucoup plus rares dans notre vie quotidienne. Ils ont
une structure mécanique complexe qui leur permet de se déplacer dans toutes les directions
sans manœuvre.
La société Nomadic disparue en l’an 2000 ; a conçu un système mobile holonome : le
XR4000 (Figure.1.3). Il dispose de 4 roues motrices et directrices montées comme des roues
de chariot. La synchronisation des 8 axes (2 par roue, rotation et orientation) est assurée par
une carte dédiée basée sur le microcontrôleur Motorola 68332 et des circuits FPGAs et la
structure mécanique est composée d’engrenages coniques [Hol et Khat, 00].
Figure 1.5: Le robot XR4000 de la société Nomadic.
5. Environnement dynamique et incertain
5.1. Notion d’environnement dynamique
Un environnement est dit dynamique s’il comporte des obstacles susceptibles de
changer au cours du temps. Soit le cas des obstacles qui se déplacent (un piéton, un véhicule,
…), ou ceux qui changent de forme ou de ceux qui apparaître/disparaître (une porte
coulissante semble « disparaître » dans le mur quand elle s’ouvre).
5.2. Notion d’incertitude
Une information est incertaine, si elle est bruitée (mauvaises conditions de
mesures), incomplète (obstruction d’un capteur ou portée limitée, absence d’informations
sur l’évolution d’un objet ou d’un phénomène) ou imprécise (les glissements des roues par
rapport au sol sont observables mais rarement mesurables avec précision) [Fréd, 03].
Chapitre I Généralités sur la Robotique Mobile
UKMO 2012 10
6. La navigation
La navigation autonome des robots est la capacité à évoluer sans aide dans leur
environnement de travail (espace de configuration). La complexité de la méthode de
navigation mise en œuvre sur un robot mobile dépend donc de l'environnement dans lequel il
doit évolue (milieu intérieur ou environnement naturel, sol plan ou irrégulier,...). Elle dépend
également de la connaissance de cet environnement qui peut être figé ou évolutif et du mode
de définition de la trajectoire (apprentissage préalable, planification en ligne, ...).
Les performances du système de navigation sont étroitement liées à la précision, à la
fiabilité et au temps de réponse des capteurs et des méthodes mises en œuvre pour localiser le
véhicule [Marie, 98].
La navigation des robots mobiles s’articule autour de trois niveaux principaux :
6.1. La localisation
Le caractère principal d’un robot mobile est la faculté de se mouvoir d’un point vers
un autre. Pour ce faire, il est nécessaire d’avoir la connaissance de sa localisation par rapport
à un espace de référence dans le quel sont définis les point source du but. De même, la
poursuite d’une trajectoire prédéterminée suppose la connaissance instantanée de sa position.
Nous pouvons parler de localisation statique lorsque le calcule de la position s’effectue à
l’arrêt, ou de localisation dynamique lorsque celle-ci est évaluée durant le mouvement.
Nous pouvons considérer deux grands systèmes de localisation : la localisation à
l’estime et la localisation absolue.
6.1.1. La localisation à l’estime (relative)
Elle consiste à déterminer la position par l’intégration de mesure de vitesse ou
d’accélération. Les capteurs fournissant ces données sont les odomètre ou gyromètres pour les
mesures d’accélération.
Les odomètres sont présents sur l’ensemble des robots mobiles à roues. Cette
technique peu coûteuse consiste à fixer sur les roues des codeurs délivrant une impulsion
toutes les fractions de tour de roue. L’intégration de ces valeurs permet de déduire la position
et l’orientation du mobile par rapport à l’initialisation des compteurs d’impulsion. Cette
technique délivre des mesures peu fiables dans le temps.
Chapitre I Généralités sur la Robotique Mobile
UKMO 2012 11
Les techniques inertielles (accéléromètre, gyromètre) plus coûteuses constituent le
haut de la gamme des systèmes de localisation à l’estime. La connaissance de la position
référencée à l’origine du déplacement nécessite une double intégration de l’accélération. Ces
calculs entraînent une inévitable accumulation d’erreurs qui constitue une dérive d’estimation
dans le temps. Un recalage périodique est alors indispensable.
La technique de localisation à l’estime présente l’immense avantage d’être
indépendante de l’environnement. Les seules erreurs qu’elle peut générer sont celles dues à
son mode de fonctionnement interne. Par contre, l’inconvénient majeur est l’accumulation
d’erreurs due aux différentes intégrations.
6.1.2. La localisation absolue
La localisation absolue est une technique qui permet à un robot de se repérer
directement dans son milieu d’évolution, que ce soit en environnement extérieur (mer,
espace, terre), ou en environnement intérieur (ateliers, immeubles, centrales nucléaires...).
Ces méthodes de localisation sont basées sur l’utilisation de capteurs extéroceptifs (voire
section 6.3.1.2).
Pour répondre à la problématique qui est la localisation d’un robot dans son
environnement, deux types de stratégies sont utilisables :
Ø La première consiste à utiliser des points de repère naturels,
Ø La deuxième à utiliser des points de repère artificiels.
Quelque soit le cas de figure, la localisation absolue nécessite toujours une
représentation de l’environnement. Le robot possède donc «une banque de données»
regroupant les caractéristiques des références externes qui est appelée carte de
l’environnement.
6.2. La perception de l’environnement
La capacité d’autonomie d’un robot est liée directement à la puissance
d’appréhension de l’environnement. Que l’espace d’évolution soit structuré, non structuré
ou semi-structuré, il est toujours possible que survienne aléatoirement un événement
demandant de la part du robot une réaction se compose de plusieurs modules : la
perception d’événement, la prise de la décision.
Chapitre I Généralités sur la Robotique Mobile
UKMO 2012 12
La perception de l’événement constitue le rôle de porteur. Il va traduire un état
physique en signaux électriques. La modélisation consiste à associer des représentations
informatiques et/ou mathématiques aux informations délivrées par le capteur, ceux-ci dans le
but de pouvoir les manipuler avec des outils disponibles.
La détermination du type d’événement consiste à trouver, à partir de modèles ou
éventuellement de plusieurs modèles, les événements qui viennent d’être perçu.
Cette chaîne de traitement d’informations a pour objet de délivrer une commande vers
la machine en réaction à des événements. Les réactions sont soit de type « ordre générique »
(arrêt immédiat, prise de l’objet…) soit de type adaptatif (s’approcher, demande de
complément d’information…) soit de type sans réaction (poursuit de tâche en cours…).
L’acquisition d’un état de l’environnement s’effectue selon deux types de principes :
soit l’environnement émet une énergie propre détectable par un système physique (cas
d’utilisation d’un capteur passif), soit il renvoie une énergie émise par une source artificielle
(cas d’utilisation d’un capteur actif). L’information utile est alors contenue dans la forme de
l’énergie réfléchie.
6.2.1. Les capteurs passifs
Les capteurs passifs constituent les systèmes de perception du premier type défini plus
haut. L’énergie perçue est dans la majorité des cas la lumière mais elle peut aussi être
constituée par la chaleur, le son, voire par une autre forme d’énergie.
Les technologies des caméras sont suffisamment évaluées pour permettre d’interpréter
une scène avec une très bonne résolution. De même, le volume des caméras assurent un
encombrement minimal, ce qui permet d’embarquer sous tous types de machines de
dimension moyenne. À l’opposé, cette technique est dépendante de la qualité de l’énergie
reçue qui peut mettre le système en défaut.
6.2.2. Les capteurs actifs
À l’opposé des précédents, les capteurs actifs émettent une énergie. L’information sur
l’environnement est portée par l’énergie réfléchie par des obstacles. Ce type des capteurs
englobe essentiellement les télémètres dont l’objectif consiste à déterminer la distance de
l’environnement au robot, soit de manière ponctuelle, soit de manière matricielle. Les
Chapitre I Généralités sur la Robotique Mobile
UKMO 2012 13
capteurs diffèrent par le type d’énergie employés et par la forme structurée ou non de
l’émission.
Les capteurs optiques émettent de la lumière structurée, c’est-à-dire une image connue
ou de la lumière selon un faisceau. Dans le premier cas, une caméra recueille la forme de
l’image sur l’environnement. La déformation porte les informations sur le relief de l’objet
perçu. L’image projetée est en général une grille ou un plan de lumière.
De manière plus fréquente, la détermination de la distance à un obstacle est réalisée
par la projection d’un faisceau d’énergie (lumière, ultrason, ondes électromagnétiques) qui,
réfléchie par l’obstacle, revient vers un récepteur avec un décalage temporel. La mesure de
décalage permet de déterminer la distance de l’émetteur au récepteur via le point de réflexion.
6.3. Les capteurs utilisés dans les systèmes de robotique mobile
Pour réaliser un système de robotique mobile intelligent, il est nécessaire d'utiliser des
capteurs qui fourniront la perception requise de l'environnement pour une prise de décision
intelligente.
L’importance des capteurs peut être passablement influencée par l'environnement dans
lequel le système est amené à évoluer. Le défi est donc de réaliser des systèmes qui utilisent le
mieux possible les capteurs ou une combinaison de capteurs en tenant compte de leurs
conditions d'utilisation, et ceci requiert une bonne connaissance de leurs caractéristiques.
6.3.1. Capteurs proprioceptifs
Les capteurs proprioceptifs fournissent par intégration des informations élémentaires
sur les paramètres cinématiques du système mobile. Les informations sensorielles gérées dans
ce cadre sont généralement des vitesses, des accélérations, des angles de giration, des angles
d’altitude. Cependant, ils ne peuvent pas procurer de renseignements lors de l'arrêt du système
mobile.
On peut regrouper les capteurs proprioceptifs en deux familles [Fra, 90]:
Ø Les capteurs de déplacement qui comprennent les odomètres, les accéléromètres et les
radars Doppler. Cette catégorie permet de mesurer des déplacements élémentaires, des
variations de vitesse ou d’accélération sur des trajectoires rectilignes ou curvilignes.
Ø Les capteurs d’attitude, qui mesurent deux types de données : les angles de cap et les
angles de roulis et de tangage. Ils sont principalement constitués par les gyroscopes,
Chapitre I Généralités sur la Robotique Mobile
UKMO 2012 14
les gyromètres, les gyrocompas, les capteurs inertiels composites, les inclinomètres et
les magnétomètres. Ces capteurs sont en majorité de type inertiel.
6.3.1.1.Les odomètres
Ces capteurs fournissent une estimation en temps réel de la position (x, y) et de l’angle
d’un véhicule navigant sur un sol plan, par rapport au repère de référence qui était celui du
véhicule dans sa configuration précédente.
6.3.1.2. Les accéléromètres
A fin de mesurer la force F à laquelle est soumise une masse pour en déduire son
accélération qui, intégrée deux fois, permet d’estimer le déplacement linéaire du véhicule
(accéléromètre à jauge de contrainte, piézorésistifs, à détection capacitive, pendulaires à
déplacement asservis).
6.3.1.3.Radars Doppler
Une onde radioélectrique de fréquence f est émise vers le sol avec une inclinaison par
rapport à la direction de déplacement du véhicule. La variation de fréquence entre le signale
émis et le signal reçu est proportionnelle à la vitesse du véhicule.
6.3.1.4. Le gyroscope
C’est un appareil permettant d’effectuer une mesure de la rotation absolue de leur
boitier. On distingue les gyroscopes mécaniques qui utilisent les propriétés inertielles de la
matière et les gyroscopes à laser qui utilisent les propriétés de la lumière cohérente (gyro-
laser).
6.3.2. Capteurs extéroceptifs
Les capteurs extéroceptifs sont employés en robotique mobile pour collecter des
informations sur l'environnement d'évolution du système mobile. Ils sont le complément
indispensable aux capteurs proprioceptifs présentés précédemment.
Des méthodes de fusion de données sont alors utilisées pour conditionner et traiter les
informations sensorielles de natures différentes. Ils sont notamment utilisés dans les domaines
Chapitre I Généralités sur la Robotique Mobile
UKMO 2012 15
d’application tels que l’évitement d’obstacle, la localisation, la navigation et la modélisation
d’environnements.
Les principaux capteurs utilisés en robotique mobile sont : les capteurs télémétriques
(les ultrasons, les lasers et les infrarouges), le GPS et les caméras.
6.3.2.1.Les télémètres
On appelle télémétrie toute technique de mesure de distance par des procédés
acoustiques, optiques ou radioélectriques. L’appareil permettant de mesurer les distances est
appelé télémètre. Il existe différentes technologies pour réaliser un télémètre (télémètre
ultrason, infrarouge, laser).
7. Raisonnement et décision
Ce niveau consiste l’intelligence du robot. A l’instar de l’home, le raisonnement du
robot lui permet de décider d’une action appropriée à une situation donnée, compte tenu d’une
mission à réaliser.
Plusieurs tâches élémentaires peuvent être exécutées en parallèle pour synthétiser un
comportement. La façon dont elles inter agissent est définie par l’architecture décisionnelle du
robot.
Cette décision est ensuite transmise au niveau fonctionnel pour opérer les différentes
parties qui satisfait cette demande.
8. Conclusion
Nous avons vu dans ce chapitre, d’une manière non exhaustive, les différentes notions
qui permettent la compréhension de la robotique mobile, de l’organisation du système de
commande et ces différents niveaux, à la structure mécanique des robots et leurs divers types.
L’approfondissement dans la science de robotique mobile nécessite une connaissance
de certaine notion comme la notion de la holonomie et la non-holonomie, l’environnement
dynamique et l’incertitude. Ainsi le principe de la navigation est introduit, ce dernier ce base
essentiellement sur la localisation, la perception et le raisonnement aussi que la décision.
1. Introduction
2. Méthodes délibératives
3. Méthodes de replanification
4. Approches réactives
5. Conclusion
Chapitre II
Etat de l'art
Chapitre II Etat de l’art
UKMO 2012 16
1. Introduction
Les méthodes d’évitement d’obstacles sont des méthodes locales dont l’objectif est
d’assurer la sécurité du robot dans un temps très court. Elles peuvent être classées en deux
catégories :
Ø Celles qui calculent un ensemble de solutions potentielles compte-tenu des
informations sur l’environnement, puis sélectionnent une solution particulière afin de
satisfaire des contraintes de tâche. Les solutions peuvent prendre une forme de
direction privilégiée du robot ou d’une consigne en vitesse. Il s’agit des méthodes dît
délibératifs.
Ø Celles qui calculent directement une commande à partir des informations disponibles
sur l’environnement. Il s’agit des approches de l’intelligence artificielle inspirées du
vivant (réseaux de neurones artificiels [Gau, 99], approche bayésienne [Leb, 99],
logique floue [Gar, 95]), ou des approches basées sur des phénomènes physique
naturels (les champs de potentiels [Kha, 86]). Il s’agit des méthodes dît réactifs.
2. Méthodes délibératifs
2.1. Graphe de visibilité
Le principe de ces méthodes est de tenter de capturer la topologie de l’espace de
recherche (espace de configuration ou espace d’´etat du système robotique) dans le but de
simplifier le problème à une recherche dans un graphe. Elles sont donc constituées de deux
étapes :
Ø Construction du graphe dans l’espace de recherche approprié.
Ø Parcours du graphe dans le but de déterminer un chemin ou une trajectoire entre les
configurations initiale et finale.
Lorsque la complexité du problème est assez faible (faible dimensionnalité de l’espace
de recherche), des approches combinatoires garantissant ainsi la complétude de l’algorithme
de planification. La construction d’un graphe de visibilité [Nil, 69], qui se trouve peut-être
d’ailleurs être la toute première approche de planification de chemin connue, fait partie de
celles-ci. Un graphe de visibilité (Figure.2.1) consiste à considérer chaque sommet des
enveloppes convexes d’obstacles polygonaux, et à relier chacun de ces sommets à tout autre
sommet visible de cet ensemble. On obtient ainsi un graphe dans lequel peut être effectuée
une planification après avoir relié les positions initiale et finale aux sommets de cet ensemble
les plus proches.
On note que cette technique autorise les configurations de contact entre le système
mobile et les obstacles, c’est l’une des raisons pour lesquelles elle est relativement peu
utilisée.
Chapitre II Etat de l’art
UKMO 2012 17
Figure. 2.1 : Chemin déterminé entre deux configurations q0 et qf à partir d’un graphe de visibilité.
2.2. Décomposition cellulaire
Une autre approche consiste en une décomposition cellulaire de l’espace de configuration. A
partir d’une représentation simple de l’espace de configuration, cette approche consiste à
diviser cet espace en un nombre fini de sous-espace convexes. Par exemple, dans un espace de
configuration de dimension 2 dont la représentation des obstacles est polygonale (Figure.2.2),
une décomposition cellulaire verticale [Cha87] ou par triangulation [Lin82] peut être
facilement calculée. Un graphe est alors construit comme suit : les nœuds sont définis aux
barycentres des cellules obtenues et au milieu de leurs côtés. Une arête relie ensuite chaque
nœud défini sur un côté au barycentre des deux cellules adjacentes. Comme précédemment,
en reliant la configuration initiale q0 avec la configuration finale qf aux nœuds du graphe les
plus proches, une recherche heuristique dans le graphe résultant permet de trouver un chemin
liant ces deux configurations.
Figure 2.2: Chemin déterminé entre deux configurations q0 et qf à partir d’une décomposition
cellulaire.
Des méthodes de décomposition cellulaires plus complexes telles les «balles
connectés» [Bro et Kra, 01] et [Van et al, 05] ont été conçues pour des environnements non
structurés et des espaces de recherche de plus fortes dimensions. En couvrant l’espace de
recherche libre par des sphères se chevauchant de la dimension de cet espace, il est possible
Chapitre II Etat de l’art
UKMO 2012 18
comme précédemment de construire un graphe connexe dont une arête est définie entre
chaque couple de sphères dont l’intersection est non vide.
Quelques extensions ont été proposées à la construction de cartes de routes complètes
en environnements dynamiques : Erdmann et Al. [ELP, 87] ont proposé pour cela d’ajouter la
dimension temporelle à l’espace de configuration. Une carte de route complète peut alors être
définie dans ce nouvel espace. Fraichard a fait de même en définissant l’espace d’´etats-temps
dans [Fra, 98] et en y construisant un graphe essayant de capturer la topologie de cet espace.
L’ajout de la dimension temporelle à ces approches augmente néanmoins fortement la
complexité de la recherche effectuée et le temps de parcours du graphe associé.
Bien qu’attirantes par leur simplicité, les méthodes combinatoires présentées ci-dessus
sont en pratique très peu souvent utilisables : pour un système robotique plus complexe (forte
dimensionnalité de l’espace de configuration, systèmes redondants, topologie des obstacles
quelconque), une représentation des obstacles Cobs dans l’espace de configuration est
difficilement accessible, et leur calcul explicite bien trop complexe. De plus, la géométrie du
graphe ne se soucie guère des contraintes sur le mouvement du système. Un robot disposant
par exemple de contraintes non holonomes sera absolument incapable de suivre les arêtes du
graphe sans une adaptation du plan. Des méthodes itératives ont alors été apportées afin
d’éviter la caractérisation de Cobs.
2.3. Cartes de routes probabilistes
Dans le cas d’espace de recherche de forte dimension, une discrétisation régulière de
l’espace peut s’avérer bien trop coûteuse. Afin de diminuer la taille du graphe sur cet espace,
une solution consiste à construire une carte de route probabiliste (Probabilistic roadmap [Kra
et al, 96]) sur celui-ci. La construction d’une carte de route probabiliste s’effectue en
sélectionnant des configurations aléatoires dans l’espace de recherche (Figure2.3).
Chaque nouvelle configuration est ajoutée au graphe si elle n’est pas en collision avec
les obstacles de l’environnement. Dans ce cas un nouveau nœud est créé dans le graphe pour
celle-ci. Des arêtes sont alors ajoutées à partir de cette configuration vers d’autres
configurations appartenant déjà à la carte de route, dans le cas où ces deux configurations
sont suffisamment proches, et qu’il existe un chemin libre de collisions entre celles-ci. La
construction de la roadmap se termine généralement lorsqu’un nombre prédéterminé de
nœuds constituent celle-ci.
Chapitre II Etat de l’art
UKMO 2012 19
Figure. 2.3 : Chemin planifié pour un robot de type différentiel à partir d’une roadmap calculée dans
l’espace de configuration du robot mobile.
La qualité de telles approches est alors évaluée par rapport à deux critères : sa densité
et sa dispersion. La dispersion reflète la taille maximale de l’espace libre Clibre non couverte
par les nœuds composant la carte de route probabiliste. La densité s’illustre par son aptitude à
s’approcher aussi prés que possible de toutes les configurations de l’espace libre Clibre. De
nombreuses extensions de ce type d’approches ont vu le jour afin d’optimiser ces deux
paramètres tout en limitant le nombre de nœuds nécessaires.
Tout d’abord, [Ama et Wu, 96] proposent un échantillonnage aux bornes de Clibre afin
de pouvoir déterminer simplement un chemin vers une configuration proche des obstacles de
l’environnement. Pour cela, lorsqu’une configuration aléatoirement choisie se trouve en
collision, elle est déplacée aléatoirement, puis une fois libre, elle est autant que possible
connectée au reste du graphe. A l’opposé, [Wil et al, 99] essaient de maximiser l’espace libre
autour de chaque nœud du graphe.
Dans [Kra et al, 96], une probabilité de distribution est associée à chaque nœud du
graphe. Lors de l’insertion d’un nouveau nœud, son positionnement est optimisé afin de
maximiser la probabilité de distribution sur l’ensemble de l’espace libre Clibre et de pouvoir
atteindre ainsi de nouvelles configurations non visibles jusqu’alors.
Une carte de route par visibilité (visibility roadmap) est proposée en [Sim et al, 00] et
[Jai et sim, 08]. Pour celle-ci, deux types de nœuds sont définis : les gardes et les connecteurs.
Un nœud est un garde s’il n’est visible dans Clibre par aucun autre garde. Un connecteur est un
nœud visible par au moins deux gardes. En construisant un graphe connecté tel que toute
région de Clibre soit visible par un garde et que le nombre de nœuds total soit minimal, on
Chapitre II Etat de l’art
UKMO 2012 20
obtient une carte de route de faible taille (limitant ainsi le temps de recherche) et pouvant
aisément connecter n’importe quel couple de nœuds de Clibre.
Enfin dans le cas de navigation en environnement dynamique, [Van et al, 05] propose
une mise à jour dynamique de la carte de route probabiliste. En présence d’obstacles mobiles,
certains nœuds et arêtes sont ainsi désactivés ou réactivés afin d’adapter la planification aux
mouvements des obstacles sans devoir reconstruire la carte intégralement.
3. Méthodes de replanification
En parallèle de la planification classique par exploration d’un graphe de recherche sont
apparues les méthodes par arbres. Celle-ci consiste, à partir de la configuration initiale du
système, à construire un arbre se développant dans toutes les directions autour du robot dans
l’espace de recherche. Elles sont donc bien adaptées dans le cas d’espaces de recherche à forte
dimensionnalité.
3.1. Rapidly Exploring Random Trees
Les Rapidly-exploring Random Trees (RRT) initialement présentés par Lavalle [Lav,
98] [Lav et Kuf, 01] représentent certainement l’une des approches de planification de
mouvement les plus répandues à l’heure actuelle. A partir d’une configuration initiale q0,
l’espace de configuration du système est exploré en choisissant aléatoirement à chaque
itération une nouvelle configuration qnv non obstruée par les obstacles vers laquelle se diriger.
La branche la plus proche de l’arbre déjà construit est alors déterminée puis étendue
en direction de qnv. En répétant le processus, l’espace de recherche est alors rapidement
couvert, et un chemin vers toutes configurations de cet espace peut alors être facilement
déterminé s’il en existe un (Figure.2.4). Le but de la planification étant néanmoins d’atteindre
une configuration finale qf, le processus essaie de déterminer un chemin liant la configuration
la plus proche de l’arbre à qf après un certain nombre d’itérations de l’expansion de l’arbre.
Figure.2.4 : Rapidly Exploring Random Trees : Etapes successives de construction de l’arbre de
recherche dans l’espace des configurations du système robotique mobile.
Dans le cas où le système évolue en environnement dynamique, une extension des
RRTs a également été proposée [Fer et Set, 06]: l’arbre de recherche est mis à jour
Chapitre II Etat de l’art
UKMO 2012 21
progressivement, et à chaque pas de temps le contrôle à appliquer est déterminé à partir de la
racine de l’arbre menant vers la position se rapprochant le plus prés du but.
3.2. Le fil d’Ariane
Le fil d’Ariane présenté dans [Bes et al, 93] explore l’espace de configuration du
système robotique à partir de sa configuration initiale en construisant un arbre de recherche
par l’alternance de deux étapes (Figure.2.5) :
Ø Explore : Cette étape a pour but d’explorer l’espace de configuration libre en y plaçant
des balises aussi loin que possible des balises existantes. A l’initialisation, la seule
balise disponible est la configuration initiale du système. A chaque nouvel appel de la
méthode “Explore”, l’arbre est étendu à partir d’une des balises existantes choisie
aléatoirement.
Ø Recherche : Cette étape recherche autour d’une balise posée s’il est possible d’accéder
directement à la configuration finale par un mouvement simple (chemin de
Manhattan).
En répétant successivement ces deux étapes, l’arbre de recherche va s’étendre
rapidement sur tout l’espace de configuration accessible à partir de la configuration initiale,
jusqu’à converger vers le but, ou s’arrêter s’il n’est plus possible de placer une balise à moins
d’une distance minimale de celles déjà posées.
Figure.2.5 : Le fil d’Arian, l’évolution de l’algorithme de planification alternant les deux étapes pour
la planification d’un chemin.
D’autres méthodes moins connues de planification par expansion d’un arbre peuvent
être notées : Parmi celles-ci on trouve une planification expansive sur l’espace de
Chapitre II Etat de l’art
UKMO 2012 22
configuration ([Hsu et al, 99]) consistant étendre itérativement un arbre de recherche en
sélectionnant un nœud de l’arbre à étendre à partir d’une probabilité inversement
proportionnelle au nombre de nœuds dans la région qui l’entoure. Une nouvelle configuration
est alors choisie dans son voisinage proche et un chemin déterminé entre ces deux
configurations.
Dans la même idée, [Cap et pil, 05] propose une planification par marche aléatoire. Le
principe ici est très simple : un nœud de l’arbre déjà construit est choisi aléatoirement et
étendu dans une direction aléatoire. La longueur du chemin à parcourir à chaque étape ainsi
que la variation de la direction à prendre par rapport à l’étape précédente sont déterminées à
partir des observations sur l’environnement, obtenues lors des extensions précédentes de
l’arbre.
Ces deux dernières approches bien que simples et fonctionnelles disposent
malheureusement de fortes difficultés à traverser de longs espaces libres.
4. Approches réactives
Les approches réactives consistent à calculer à chaque pas de temps (après
récupération des informations sur l’environnement fournies par les capteurs du système) le
contrôle instantané à appliquer sur les actionneurs du système.
4.1. Approches par champs de potentiel
Les approches dîtes par champs de potentiel initialement proposées par Khatib [Kha,
86] consistent à considérer le robot mobile comme une particule soumise à divers champs
électromagnétiques régissant son mouvement. Cette méthode s’appui sur le calcule de deux
champs de potentiel (Figure.2.6) :
Ø Un champ de potentiel attractif provenant de la position finale du système à
atteindre.
Ø Un champ de potentiel répulsif provenant des obstacles statiques et mobiles de
l’environnement.
Initialement conçus pour le calcul du mouvement de bras manipulateurs, cette
méthode dispose de l’avantage de calculer ces champs de potentiels dans l’espace de travail
(espace euclidien IR2 ou IR3 dans lequel une représentation des obstacles est disponible),
définissant ainsi une direction privilégiée à suivre par l’élément terminal du bras dans cet
espace. Une modification de la configuration du robot dans son espace articulaire est alors
déduite de ce champ dans un second temps.
Malgré que cette méthode est simple et élégante mais elle possède de nombreux
inconvénients mis en évidence par Koren et Borenstein [Bor et Kor, 91]. D’une part, cette
approche est sujette à des minima locaux. Par conséquence, la convergence vers le but n’est
pas assurée. D’autre part, ces potentiels peuvent donner lieu à de fortes oscillations du
mouvement du robot en présence d’obstacles et principalement lorsque celui-ci navigue dans
des passages étroits (couloirs, portes). Enfin, le vecteur de déplacement désigné par le champ
Chapitre II Etat de l’art
UKMO 2012 23
de potentiel ne prend en aucun cas en compte la cinématique ou la dynamique du système
robotique considéré. Un robot disposant de contraintes non-holonomes aura de sérieuses
difficultés à suivre une telle direction.
Malgré ces limitations, de nombreuses techniques de navigation ont découlé de ces
champs de potentiels. Ils ont par exemple été adaptés à la navigation au milieu d’obstacles
mobiles dans [Ge et Cui, 02] en prenant en compte non seulement la distance aux obstacles
mais également la vitesse de ces derniers pour calculer les champs répulsifs.
Figure.2.6 : Calcul d’un chemin vers la cible par la méthode de champs de potentiels.
4.2. Histogramme de champs de vecteurs
Dans la lignée des approches par champs de potentiels, sont apparus les histogrammes
par champs de vecteurs (Vector Field Histogram VFH). Ceux-ci, introduits par Koren et
Borenstein [Bor et Kor, 91] sont nés de la combinaison des champs de potentiels et des grilles
d’occupation : un histogramme basé sur une grille cartésienne de l’environnement, cette
dernière est construit et mis à jour au fur et à mesure de la navigation pour de reporter la
présence d’obstacles à proximité du robot (Figure.2.7 (a)). Afin de choisir une direction à
suivre, un histogramme polaire est construit à partir de la grille d’occupation : en discrétisant
les différentes directions possibles autour du robot, l’histogramme polaire est construit en
pondérant pour chaque secteur de la discrétisation polaire les cellules traversées de la grille
d’occupation contenant des obstacles. Une fois cet histogramme polaire construit, des
« vallées candidates » sont déterminées comme les suites de secteurs contigus de
l’histogramme polaire libres d’obstacles (Figure.2.7 (b)). La direction à prendre par le
système est alors déterminée par le milieu de la vallée menant le plus directement au but.
Initialement conçue pour la navigation de robots holonomes (pouvant naviguer dans
toutes les directions), cette méthode a été étendue à plusieurs reprises afin de prendre en
compte les dimensions du robot (par un espace de configuration implicite) et ses contraintes
de vitesse [Ulr et Bor, 98]. Plus tard, les VFH ont été combinés à une recherche A* (VFH*
Chapitre II Etat de l’art
UKMO 2012 24
[Ulr et Bor, 00]) afin de trouver un chemin menant vers le but et d’échapper ainsi aux
minimum locaux. Les méthodes VFH disposent néanmoins encore de fortes limitations : Elles
ne prennent ni en compte la dynamique du système robotique, ni l’éventuelle présence
d’obstacles mobiles ; le mouvement instantané du robot est calculé uniquement à partir des
informations sur la position courante des obstacles, leur vitesse n’est en aucun cas considérée.
Figure.2.7 : Histogramme de champs de vecteurs (a) Fenêtre active autour du robot dans laquelle
sont mise à jour les probabilités d’occupation par les obstacles, (b) Histogramme polaire calculé à
partir de la grille d’occupation. Les vallées libres d’obstacles sont déterminées afin de choisir une
direction à suivre.
4.3. Navigation par diagrammes de proximité
L’approche de navigation par diagrammes de proximité (Nearness Diagram
Navigation - ND) proposée par Minguez et Montano [Min et Mon, 00] fortement inspirée des
VFH se base sur la topologie de l’environnement pour choisir un contrôle à appliquer à
chaque instant. Pour ce faire, deux diagrammes polaires sont construits : l’un représente la
distance du centre du robot aux obstacles dans toutes les directions autour de celui-ci
(Figure.2.8); le second calcule cette même distance à partir des contours du robot afin
d’estimer la distance de sécurité conservée. L’´etude des discontinuités de ces diagrammes de
proximité permet de caractériser les « vallées » libres d’obstacles autour du robot. La
différence majeure par rapport aux VFH consiste en la stratégie de navigation choisie. La
méthode ND utilise une stratégie déterministe de choix du comportement à adopter en
fonction de la distance aux obstacles les plus proches, et en fonction de la topologie des
obstacles qui l’entourent. Les options possibles se résument à :
Ø contourner un obstacle
Ø passer entre deux obstacles
Ø aller tout droit vers le but
Chapitre II Etat de l’art
UKMO 2012 25
Ainsi qu’à choisir une vitesse faible ou élevée suivant la proximité des obstacles. Un
contrôle en vitesses linéaire et angulaire est alors calculé en fonction du comportement choisi.
De la même manière que les approches présentées précédemment, cette méthode n’est
pas vraiment adaptée pour naviguer au milieu d’obstacles mobiles et ne prends pas en compte
la dynamique du système robotique.
Figure.2.8 : Navigation par Diagrammes de Proximité (ND), (a) Représentation de l’environnement
autour du robot, (b) Caractérisation des vallées disponibles en repérant les discontinuités du graphe
de proximité des obstacles.
4.4. Méthode de navigation courbure-vélocité
Différemment aux méthodes précédente, la courbure-vélocité (curvature velocitie
« C.V») proposée par [Sim, 96], et au lieu de choisir une direction à suivre en fonction de la
position finale et de l’environnement puis de calculer une commande à appliquer dans
l’espace des vitesses, la C.V évalue les différentes trajectoires possibles dans l’espace des
vitesses (Figure.2.8) puis sélectionne dans cet espace un mouvement à exécuter permettant
d’éviter les obstacles et de se rapprocher du but. Afin de choisir quelle commande appliquer, à
chaque couple vitesse linéaire / vitesse angulaire ( ) est associée une fonction de coût
basée sur la distance aux obstacles, la modification de l’orientation du système par rapport au
but et sur le temps nécessaire pour rejoindre le but. La commande maximisant cette fonction
de coût est alors sélectionnée et envoyée au robot lors du prochain pas de temps.
Puisque cette méthode ne garantie pas la sécurité du mouvement et peut poussée le
robot à passé relativement au prés des obstacles. A fin d’éviter de rentrer dans des tel
situations cette technique été étendue dans [Ko et Sim, 98] dont le principe est le suivant :
Tout d’abord, des ”lignes” permettant de passer entre les obstacles en maximisant la distance
par rapport à ceux-ci sont déterminées. Ensuite une commande permettant soit de suivre une
ligne soit de rejoindre l’une d’entre elles est calculée comme précédemment par C.V.
Chapitre II Etat de l’art
UKMO 2012 26
Figure.2.9 : Méthode de navigation courbure-vélocité, (a) Trajectoires candidates représentées dans
l’espace de travail, (b) Contrôles correspondant aux trajectoires candidates dans l’espace des vitesses
linéaire et angulaire.
4.5. Fenêtres dynamiques (D.W)
Découlant des C.V, l’approche de fenêtre dynamique (Dynamic Window D.W)
présentée par [Fox et al, 97] conserve le principe de sélection d’un mouvement à suivre dans
l’espace des vitesses. A l’instar de la plupart des approches réactives présentées
précédemment, les DWs ont été développées pour des robots de type différentiel, contrôlés en
vitesse linéaire v et vitesse angulaire . A chaque pas de temps, une nouvelle commande
constante (v, ) est sélectionnée parmi les vitesses respectant les contraintes suivantes :
Ø Contraintes cinématiques : et où et
sont les vitesses (respectivement linéaire et angulaire) maximales admissibles.
Ø Contraintes dynamiques : Les accélérations linéaires et angulaires et appliquées
entre chaque pas de temps doivent être bornées : et
où et sont les accélérations linéaires et angulaires maximales.
Ø Garantie de sécurité passive : Le système doit être certain de pouvoir s’arrêter avant
d’entrer en collision avec un obstacle.
Si on note l’ensemble des vitesses admissibles respectant les contraintes
cinématiques, les vitesses respectant les contraintes dynamiques et les vitesses
permettant de s’arrêter avant d’entrer en collision avec les obstacles de l’environnement
(Figure.2.11). L’ensemble des commandes candidates est alors défini par :
Une fois cet ensemble défini, une fonction de coût similaire au C.V est définie. La
commande choisie est de même la commande maximisant cette fonction de coût.
Chapitre II Etat de l’art
UKMO 2012 27
Figure.2.10 : la fenêtre dynamique, calcule de la commande candidate situé à l’intersection des
vitesses admissibles et les vitesses respectant la contrainte dynamique et l’ensemble des vitesses qui
permet au robot de s’arrêter avant d’entrer en collision avec les obstacles.
L’inconvénient de cette approche réside dans le choix de la discrétisation de l’espace
de vitesse. Ainsi une implémentation temps-réel nécessite de réduire la résolution ou la taille
de fenêtre ([Arr et al, 02]). Limitée à un traitement locale et donc sujette au minimum locaux
(Figure 2.10) dans sa version de base, cette approche à été étendue vers une version globale
([Bro et Khat, 99]) à l’aide d’une fonction de navigation nommé NF1 à fin de pouvoir éviter
les minimum local. Dans les expérimentations, celle-ci est calculée uniquement à partir de
l’environnement perçu par le robot. Cela pose des problèmes de mise-à-jour de la carte en
environnement dynamique, comme cela est noté dans [Minguez et al, 02]. Dans ce cas,
l’approche est applicable en environnement statique ou peu dynamique, plutôt
qu’environnement réellement dynamique.
Figure. 2.11 : Minimum local, les déplacements 1 et 2 sont tous deux libres pour le robot.
Localement, le déplacement 2 étant dans la direction du but, il est meilleur, pourtant, il conduit à un
blocage.
4.6. Représentation des obstacles dans l’espace des vitesses
Dans le but de prendre en compte non seulement la dynamique du système robotique,
mais également la dynamique de l’environnement dans lequel évolue ce système, Fiorini et
Shiller ont introduit une approche intitulée «Velocity Obstacles (V.O)» [Fio et Shi, 93]
Supposant une connaissance à priori du mouvement des obstacles mobiles, l’approche
consiste à caractériser parmi les vitesses admissibles (respectant les contraintes cinématiques
et dynamiques du système), celles menant à une éventuelle collision avec les obstacles dans le
futur (jusqu’à un certain horizon temporel th). En supposant qu’un obstacle B va conserver
Chapitre II Etat de l’art
UKMO 2012 28
une vitesse constante dans un futur proche (par exemple par approximation linéaire de sa
vitesse courante), il est possible de déterminer les vitesses relatives du robot à cet obstacle
menant à une collision dans le futur. L’ensemble de ces vitesses ‘’interdites‘’ s’illustre
graphiquement comme présenté dans la Figure.2.11(a) par un cône de vecteurs vitesse interdit.
Certaines de ces vitesses ne conduiront bien sûr à une collision qu’après un temps
relativement élevé. En limitant les V.Os à un horizon temporel th (Figure. 2.11(b)), on obtient
ainsi une approximation raisonnable des vitesses interdites pour le robot mobile.
Plusieurs extensions de ces travaux ont vu le jour ces dernières années, telle la prise en
compte d’approximation du modèle du futur des obstacles plus complexes [Lar, 05] ou encore
une tentative de définition du « bon horizon temporel » nécessaire à la garantie de la sécurité
du mouvement [Gal et al, 09]. La détermination de cet horizon temporel est encore un sujet
prêtant fortement à débattre à l’heure actuelle.
(a) (b)
Figure.2.12: Représentation des obstacles dans l’espace des vitesses (V.O), (a) calcule de cône des
vitesses interdites pour un horizon temporel infini, (b) calcule de cône des vitesses pour un horizon
temporel limité.
4.7. Navigation basée sur les états de collisions inévitables
Visant désormais comme objectif l’insertion de robots autonomes en zones urbaines
au milieu de piétons, de véhicules ou d’autres robots, la sécurité du mouvement des systèmes
robotiques est devenue un axe prioritaire de recherche dans le domaine. Dans cette optique est
née la notion d’´etat de collision inévitable fortement développée dans [Fra et Haj, 03], [Par et
Fra, 07], [Mar et Fra, 08], [Mar et Fra, 09].
Un état du robot est un état de collision inévitable (E.C.I) si, quelque soit la séquence
de contrôle appliquée en entrée du robot, il existe un temps t auquel ce dernier est assuré de
rentrer en état de collision.
De par cette définition, il devient clair qu’il est nécessaire pour assurer la sécurité d’un
système robotique (et des autres agents évoluant dans son environnement) d’éviter non
seulement les états de collisions mais également les E.C.I. La détermination des E.C.I
nécessite, comme pour les V.Os de prendre en considération la dynamique du système, mais
également celle des obstacles mobiles qui l’entourent (et par conséquent, une prévision de
Chapitre II Etat de l’art
UKMO 2012 29
leur mouvement dans le futur). Parthasarathi et Fraichard se sont efforcés de proposer une
méthode basée sur une sous-approximation de l’espace des contrôles permettant d’évaluer si
l’état d’un système robotique est un E.C.I ou non [Par et Fra, 07]. Dans la continuité de ces
travaux, Martinez et Fraichard ([MGF09]) ont développé une méthode de navigation réactive
permettant à chaque instant de passer d’un état non- E.C.I vers un autre état non- E.C.I.
Cette approche semble être à l’heure actuelle la meilleure option pour se rapprocher
d’un risque de collision nul, néanmoins elle reste fortement coûteuse et dépendante de la
fiabilité du modèle prévisionnel du mouvement des obstacles considéré.
4.8. Planification de mouvement partiel
Une dernière approche réactive mérite d’être notée : il s’agit de la planification de
mouvement partiel (Partial Motion Planning (PMP)) utilisée par [Fra et al, 02], [Pet et Fra,
05a] et [Pet et Fra, 05b]. Celle-ci consiste à calculer réactivement, en un temps de décision
fixe, une trajectoire se rapprochant le plus possible du but (Figure. 2.12). Cette méthode
consiste en un algorithme à trois étapes répété à chaque pas de temps :
Ø Mise à jour du modèle de l’environnement à partir des entrées capteurs du robot.
Ø Recherche délibérative d’une trajectoire menant à l’état but. Si le but n’a pas été
atteint après un temps de décision fixe, la trajectoire calculée s’en rapprochant le plus
est choisie comme trajectoire à suivre.
Ø Enfin, le mouvement planifié au pas de temps précédent est exécuté.
Cette approche permet donc d’être réactive aux diverses évolutions de
l’environnement tout en étant capable de sortir d’impasses non détectées à priori. Elle reste
sujette à des minima locaux, mais y est néanmoins bien plus robuste que les approches citées
précédemment.
Figure. 2.13: navigation basé sur la planification de mouvement partiel, la méthode consiste à
calculer à chaque pas de temps un point à atteindre en rapprochant le plus possible à la cible sans
entrer en collusion avec les obstacles.
Chapitre II Etat de l’art
UKMO 2012 30
4.9. Déformation de trajectoire
Les déformations de mouvement consistent, comme leur nom l’indique, à adapter le
mouvement par rapport aux éventuelles modifications de l’environnement.
En absence des obstacles, une trajectoire initial est donnée à un contrôleur qui la
discrétise et génère les commande qui permis au robot de l’exécuter. Mais l’apparition des
obstacles (statique sur la trajectoire ou dynamique dont le chemin percute la trajectoire
initiale) impose sur le contrôleur d’exécuter une séquence de commandes dans le but d’une
part, de garantir la non collision avec les obstacles et d’autre part de pouvoir rejoindre la
trajectoire initiale une fois le risque de collision est dépassé.
5. Conclusion
Nous avons vue dans ce chapitre les différentes méthodes utilisées dans la navigation
des robots à savoir des méthodes délibératives comme le graphe de visibilité, la
décomposition cellulaire, ainsi que la carte de route probabiliste, ensuite des méthodes de
replanification tel que les rapidly exploring random trees et le fil d’Ariene.
Il existe aussi d’autre méthodes dites réactives tel que les approches par champs de
potentiel et l’histogramme de champs de vecteurs, ainsi que la méthode de navigation par
diagramme de proximité et la méthodes de navigation courbure vélocité, la fenêtre dynamique
et la navigation basé sur les états de collisions inévitable, une autre méthode de planification
de mouvement partiel est aussi utilisé à la navigation des robots mobiles de même que la
déformation de trajectoire.
1. Introduction
2. Définition d’un ensemble flou
3. Définition des variables linguistiques
4. Les fonctions d’appartenance
5. Opérations sur les ensembles flous
6. Décision par logique flou
7. Fuzzyfication.
8. Règles (inférences)
9. Défuzzyfication
10. Conclusion
Chapitre III La logique floue
Chapitre III La Logique Floue
UKMO 2012 31
1. Introduction
La théorie des ensembles flous à fait son apparition en 1965 suite à la publication d’un
article d’une quinzaine de pages intitulé « fuzzy sets » (ensembles flous) par Lotfi A.Zadeh,
professeur à l’université de Berkley en Californie, considéré aujourd’hui comme le fondateur
de la logique floue [ROS, 98].
Dans ses travaux en automatique et théorie des systèmes, Lotfi A.Zadeh à formalisé la
représentation et le traitement de connaissances imprécises ou approximatives afin de pouvoir
traiter des systèmes de grande complexité dans lesquels sont présents par exemple des
facteurs humains.
Dix ans plus tard, il publie un important travail « The concept of a linguistic variable
and it’s application to approximate reasoning » qui va marquer le point de départ de
nombreuses études et expérimentations [ROS, 98].
En 1975 E.H. Mamdani expérimente un régulateur flou qu’il perfectionne au cours des
années suivantes [ROS, 98]. En 1985 M. Suengo décrit des applications industrielles
possibles en régulation floue, et en 1995 suite aux travaux de J.S.R Jang la logique floue est
élargie aux systèmes à réseaux de neurones et à l’intelligence artificielle.
Les applications de la commande floue ont connu un essor remarquable au Japon où
elles sont devenues un véritable argument de vente à travers de nombreuses applications
grand public [Che et Gué, 98]: machines à laver, appareils photographiques, cameras vidéo,
etc.
La toute première régulation floue a été implémentée en 1979 dans une cimenterie au
Danemark [Che et Gué, 98]. Depuis, la commande floue a fait ses preuves à travers de
nombreuses applications industrielles : ascenseurs, usine de papier au Portugal en 1992, pilote
d’hélicoptère, métro de sandai (Japon) en service depuis 1987 qui utilise un double régulateur
flou (C.S.C : Constant Speed Control et T.A.S.C : Train Automatic Speed Controlleur) [Buh,
94].
2. Définition d’un ensemble flou
Contrairement à la théorie des ensembles classiques, où un élément appartient ou
n’appartient pas à un ensemble, cette notion d’ensembles qui est à l’origine de nombreuses
Chapitre III La Logique Floue
UKMO 2012 32
théories mathématiques ne permet cependant pas de rendre compte des situations pourtant
simples et rencontrées fréquemment [Buh, 94].
Parmi des fruits il est facile de définir l’ensemble des pommes, mais la tâche devient
sensiblement plus difficile si on veut définir l’ensemble des pommes mûres. On conçoit bien
qu’une pomme mûrit progressivement, donc la pomme mûre est une notion graduelle.
C’est pour prendre en compte ce genre de situation que la notion d’ensemble flou fut
crée.
La théorie des ensembles flous repose sur la notion d’appartenance partielle, où
chaque élément appartient graduellement ou partiellement aux ensembles flous définis et où
les contours de chaque ensemble n’est pas net mais flou ou graduel (Figure 3.1).
Figure 3.1: Comparaison entre un ensemble classique et un ensemble floue.
L’équivalent de la fonction caractéristique de la logique classique en logique floue est
la fonction d’appartenance. Formellement, un sous ensemble flou d’un référentiel est
défini par une fonction d’appartenance, qui associe à chaque élément de , le degré
compris entre et avec lequel [Buh, 94].
On note : ( )
Un sous ensemble flou de est représenté comme suit :
Si est dénombrable ( )
Si est non dénombrable ( )
Chapitre III La Logique Floue
UKMO 2012 33
Supposant qu’on veut définir l’ensemble des températures moyennes d’un four. En
logique classique on conviendra, par exemple, que les températures moyennes sont comprises
entre et . La fonction caractéristique prendra la valeur pour les températures
incluses dans l’intervalle et pour les autres (Figure 3.2 (a)).
Ceci nous conduira à des déductions aberrantes en considérant une température de
comme étant moyenne et pas celle de !
En logique floue, on définit un ensemble flou de températures moyennes, d’où
découler un degré d’appartenance de chaque température possible (univers de discours) à
l’ensemble flou de températures moyennes compris entre et . Ceci est illustré sur la
(Figure 3.2 (b)).
Figure 3.2: La fonction caractéristique (a) et la fonction d’appartenance (b).
Plusieurs ensembles flous peuvent être définis sur la même variable. Ainsi pour la
variable température, on peut définir un sous ensemble flou « Froid», « Tiède » et « Chaud »
notion explicitée chacune par une fonction d’appartenance (Figure 3.3).
Figure 3.3: Sous ensembles flous définis sur la variable linguistique « température ».
Chapitre III La Logique Floue
UKMO 2012 34
On constate qu’une température de appartient à l’ensemble flou « tiède»
avec un degré d’appartenance de et à l’ensemble «Chaud» avec .
3. Définition des variables linguistiques.
Dans l’exemple précédent la température est une variable linguistique qui est associée
aux entrées /sorties d’un contrôleur.
Une variable linguistique est une variable dont la valeur linguistique est un mot ou
une phrase d’une langue naturelle ou artificielle [Bar, 93]. Si on prend un contrôleur de four
comme exemple, les variables linguistiques associées aux entrées/sorties du contrôleur
peuvent être par exemple, «température » et «pression du four » pour les entrées, et « Action
sur vanne » pour la sortie.
4. Les fonctions d’appartenance
Ce sont les fonctions qui expriment de degré d’appartenance d’une grandeur à une
variable linguistique. Elles peuvent prendre n’importe quelle forme mais les plus utilisées
sont les fonctions d’appartenances de forme trapézoïdales, triangulaires, ou en forme de
cloche (gaussienne) [Buh, 94].
Il n'existe pas de règles générales pour le choix entre ces formes de représentation.
Les fonctions d’appartenances définies par des segments de droites dites linéaires par
morceaux, sont souvent utilisées, car elles sont simples, et comportent des points permettant
de définir des zones où une notion est tout à fait vraie ou fausse [Gen, 96].
La fonction d’appartenance trapézoïdale, (illustrée sur la Figure 3.4) peut être définie
à l’aide des paramètres réels a, b, c, d par la fonction suivante :
( )
Si a=b la fonction est dite triangulaire.
Chapitre III La Logique Floue
UKMO 2012 35
Figure 3.4: Fonction d’appartenance trapézoïdale.
Un sous ensemble flou du référentiel est caractérisé par [Ped, 88] :
Ø Son Support : noté , il est formé des éléments de qui appartiennent au moins
un peu à .
( )
Ø Son noyau : noté , il est formé de tous les éléments appartenant de façon
absolue à .
( )
Ø Sa hauteur : notée , la hauteur est le plus fort degré d’appartenance avec lequel un
élément de appartient à .
( )
Ces caractéristiques sont représentées sur la figure suivante :
Figure 3.5: Caractéristique d’un sous ensemble floue.
Chapitre III La Logique Floue
UKMO 2012 36
5. Opérations sur les ensembles flous
Opérations sur les ensembles flous sont :
Ø Opération égalité :
( )
Ø Intersection (opérateur ET) : l’opérateur ET correspond à l’intersection de deux
ensembles. Ceci est réalisé en logique floue par la formation du minimum appliqué aux
fonctions d’appartenances z :
( )
Ø Union (opérateur OU) : l’opérateur OU est réalisé par la formation du maximum
appliqué aux fonctions d’appartenances :
Ø Le complément (opérateur NON): le complément d’un sous ensemble flou de
noté est défini comme suit :
Les opérateurs logiques ainsi présentés peuvent être réalisés par des opérations
arithmétiques, ainsi l’opérateur ET peut être défini par :
Et l’opérateur OU par :
6. Décision par logique floue
Un contrôleur flou qui est un système à raisonnement parallèle, généralisé à partir de
connaissances expertes n’est en fait qu’une application de la logique flou, calculant la
commande à appliquer à un processus à partir des valeurs de ses variables d’entrées.
Chapitre III La Logique Floue
UKMO 2012 37
Le traitement de l’information par le contrôleur flou s’effectue à travers un ensemble
d’unités explicité dans ce qui suit (Figure 3.6) [Gen, 96].
Figure 3.6: structure d’un contrôleur floue.
7. Fuzzyfication.
L’opération de fuzzyfication permet le passage du domaine réel vers le domaine
du flou.
Les variables d’entré du régulateur sont transformées en variables linguistiques
avec la définition des fonctions d’appartenances. Ainsi cette opération consiste à déterminer le
degré d’appartenance d’une valeur à un ensemble flou.
Les fonctions d’appartenances sont généralement fixes, selon l’expertise recueillie
par le concepteur. Cependant, une autre approche peut être envisagée en prenant des fonctions
d’appartenances variables de manière à concevoir des systèmes adaptables reflétant l’état du
système et de l’environnement [Ped, 88].
8. Règles (inférences)
Une base de règles floues lie les grandeurs d’entrées transformées en variables
linguistiques grâce à la fuzzyfication à la variable de sortie fuzzyfiée. Ces règles peuvent être
utilisées en parallèle ou enchaînées dans certaines applications [Buh, 94]. D’une manière
explicite, l’inférence est décrite à l’aide d’un certains nombres de règles.
A l’instar des systèmes experts classiques, le fonctionnement du contrôleur flou
s’appui sur une base de connaissances, issue de l’expertise humaine.
Chapitre III La Logique Floue
UKMO 2012 38
Les règles peuvent être exprimées sous la forme générale [Buh, 94].
Si < prédicat 1 > Alors < Opération 1 >, Ou
Si < prédicat 2> Alors < Opération 2 >, Ou
…………………………………………..
Si < prédicat n> Alors < Opération n >
Le mécanisme d’inférence le plus utilisé est celui de Mamdani qui est une
simplification de mécanismes plus généraux basés sur « l’implication floue » et le « modus de
ponens généralisé » [Sha, 99]. Pour l’évaluation des règles, dans le mécanisme de Mandani
illustré sur la Figure 3.7, on associe Max à l’opérateur logique « OU », Min à l’opérateur
logique «ET» et un complément à 1pour l’opérateur logique « NON ».
Figure 3.7: Agrégation des règles.
Chapitre III La Logique Floue
UKMO 2012 39
Après l’opération de fuzzyfication et la définition des variables linguistiques et les
fonctions d’appartenances correspondantes, chaque règle est activée avec un degré
d’activation qui est une combinaison logique des propositions de son prédicat.
Ces degrés d’activation vont permettre de déterminer la conclusion de chaque règle.
Une fois que toutes les règles d’une sortie sont appliquées, l’ensemble flou global de sortie est
construit par agrégation des ensembles flous obtenus.
L’exemple ci-dessus résume ce mécanisme en présentant le cas de deux règles agissant sur
une sortie. On considère que les règles sont liées par un « Ou », ce qui nous conduira à
évaluer le maximum entre les fonctions d’appartenance issues de chaque règle.
9. Défuzzyfication
L’ensemble flou de sortie est déterminé à la fin de l’inférence, mais il n’est pas
directement utilisable. Il est alors nécessaire de passer du « monde flou » au « monde réel » et
ainsi obtenir une valeur numérique précise qui sera appliquée au système. C’est la
défuzzyfication.
Il existe plusieurs méthodes de défuzzyfication parmi elles on trouve [Sha, 99].
Ø Technique du centre de gravité
Elle consiste à tracer sur le même diagramme les différentes courbes
correspondant à chacune des règles, et à calculer le centre de gravité de la zone commune,
suivant la relation générale (Figure 3.8).
m : nombre de règles, et Z : variable de commande.
Figure 3.8: Défuzzyfication par la méthode de centre de gravité.
Chapitre III La Logique Floue
UKMO 2012 40
Ø Technique de la moyenne pondérée
On prend comme valeur de sortie la moyenne des différentes valeurs pondérées
par leurs pourcentages.
Ø Technique du maximum
C’est une technique qui consiste à prendre en considération une seule valeur
possédant le degré d’appartenance maximum. Cette technique est peu précise, car les valeurs
secondaires apportent une certaine nuance dont on ne tient pas compte (Figure 3.9):
Figure 3.9: Défuzzyfication par la méthode de maximum.
10. Conclusion
Nous avons vue dans ce chapitre la variété des notions de la logique floue, on a
commencé par une définition des ensembles flous et la variable linguistique, ainsi que les
fonctions d’appartenances, la fuzzyfication et les règle d’inférence, en dernier lieu les
méthodes de défuzzyfication ont été présenté.
On a constaté dans ce chapitre que la logique floue est simple d’utilisation pour les
experts connaissant le comportement dynamique du système. Dans le dernier chapitre nous
allons appliquer la logique floue pour le calcul de la commande donnée au robot afin
d’atteindre la cible désirée.
1. Introduction
2. Modèle géométrique
3. Principe de notre méthode
4. Processus de navigation
5. Notre simulation
6. conclusion
Chapitre IV Simulation
Chapitre IV Simulation
UKMO 2012 41
1. Introduction
Dans ce chapitre, nous allons présenter notre travail réalisé, qui consiste à donner au
robot mobile une certaine autonomie, qui apparaisse dans l’habilité de se mouvoir d’un point
initial vers une cible, en évitant les obstacles (statique ou bien dynamique).
Pour cela, on a choisi de suivre les principales caractéristiques d’une méthode cité
dans le chapitre précédent. C’est la méthode de déformation de trajectoire qu’on a jugée la
plus convenable donc notre cas pour raison de sa souplesse avec un environnement de type
route et sa réactivité qui consiste d’agir à tout changement éventuelle dans l’environnement
ainsi que la facilité des calcules et la possibilité de l’introduire en temps réel.
2. Modèle géométrique
2.1. Notion d’espace de configuration
Considérant un robot mobile évoluant dans un espace de travail (Figure 4.1). On
appelle configuration de un ensemble de paramètres indépendants caractérisant une
situation du robot R dans . L’espace des configurations de est l’espace de toutes les
configurations possibles de .
Figure .4.1 : modèle géométrique d’un robot mobile.
On définit une configuration de par les coordonnées de configuration de la plate-forme
mobile dans un espace de travail de deux dimensions de la manière suivante :
Chapitre IV Simulation
UKMO 2012 42
Sachant que et sont les coordonnées cartésiennes d’un point de référence de
robot, qui est souvent le centre de gravité de celui-ci, et l’orientation de (i.e l’angle entre
l’axe des abscisses et l’axe longitudinal du robot).
2.2. Les contraintes mécaniques, cinématiques, et non holonomie
Un robot de type voiture à comme mouvement la marche avant et arrière ainsi que le
braquage vers la gauche ou vers la droite mais pas latéralement.
Certaines contraintes l’empêchent de faire quelques déplacements, par exemple :
2.2.1. Contraintes mécaniques
Les contraintes mécaniques du robot sont exprimées à travers l’angle de
braquage , l’angle matérialisant l'orientation du vecteur vitesse au centre de l'essieu avant
et arrière, par rapport à l'axe longitudinal du robot.
Cet angle entraine l’existence d’un rayon de giration minimal du point de
référence , ce rayon est défini par :
Où , L est la longueur du robot.
Ce rayon de giration ne pourra être atteint que pour des vitesses relativement faibles du robot.
En effet, à partir d'une certaine vitesse, le robot serait soumis à une force centrifuge telle que
l'on aurait un glissement des roues par rapport au sol (vitesse des points de contact roues-sol
non nulle) ce que nous ne traitons pas. Nous verrons un peu plus loin la contrainte induite sur
le rayon de giration minimal par une contrainte de non glissement.
2.2.2. Contraintes cinématiques
Vitesse bornée : La vitesse du robot est bornée et limitée à une valeur connue que
nous allons considérer égale à 5m/S :
Chapitre IV Simulation
UKMO 2012 43
2.2.3. Contrainte de non holonomie :
La locomotion à l’aide de roues exploite la friction au contacte entre roues et sol. Pour
cela la nature du contacte a une forte influence sur les propriétés du mouvement relatif de la
roue par rapport au sol.
Dans des bonnes conditions, il y aura un roulement sans glissement de la roue sur la
route (i.e. la vitesse de point de contacte de la roue avec la route est nulle). Sur ces conditions,
et si on cherche à écrire les équations du mouvement du point du robot exprimé dans le
repère bidimensionnel, on trouve les relations suivante :
On peut écrire l’équation du mouvement du point comme suit :
Ce qui constitue une contrainte dite non-holonome, elle est due à la contrainte de non
glissement des roues par rapport au sol (route), ainsi qu’elle réduit l’espace de vitesses
admissibles.
2.2.4. Conséquences de ces contraintes
La combinaison des deux contraintes précédentes limite les déplacements instantanés
du robot. Cependant, ces contraintes ne limitent en rien l'espace des configurations
atteignables par le robot le fait que s’il existe un chemin libre (éventuellement non réalisable)
entre deux configurations, il peut être transformé en un chemin réalisable au prix d'un nombre
fini de manœuvres.
3. Principe de notre méthode
L’approche que nous avons utilisée se base principalement sur la méthode de
déformation de trajectoire avec une modification qui lui permet d’évoluer dans un
environnement de type route.
Elle était conçue pour la navigation du robot mobile dans un environnent libre (toutes
les configurations sont autorisés) contrairement à notre cas où il existe plusieurs configuration
Chapitre IV Simulation
UKMO 2012 44
que le robot ne doit pas les prendre (exp : l’évitement d’une voiture dans la trajectoire doit
s’effectuer en se déplaçant vers la voie à gauche de la route et non pas autrement).
La méthode proposée consiste à suivre les étapes suivantes :
Ø Acquisition de donnée de trajectoire proposé à suivre.
Ø Discrétisation de cette donnée.
Ø Localisation du robot et perception de l’environnement.
Ø Choix d’un comportement (suivi de trajectoire ou bien évitement d’un obstacle qui se
trouve dans la trajectoire).
Ø L’exécution de la décision choisie.
Ø En cas d’évitement d’obstacle, maintenir la connexion avec la trajectoire référence une
fois le robot s’éloigne du danger.
Après avoir chargé la fonction de trajectoire à suivre, une discrétisation de celle-ci est
nécessaire, ainsi que à chaque pas de temps le robot exécute les tâches motionnés en dessus :
la localisation pour connaitre la position du robot après avoir exécuté une décision (du pas
précédent), une perception est nécessaire pour la nouvelle position du robot afin d’obtenir les
coordonnés des obstacles ce qui permis de prendre une décision à exécuter le prochain pas de
temps.
Le schéma bloc si dessous illustre le déroulement des étapes de la navigation par la
déformation de trajectoire :
Figure .4.2 : Le séquencèrent des différentes étapes de la navigation par déformation de
trajectoire.
Nous présentant l'organigramme de la navigation par déformation de trajectoire dans
l'annexe 1.
Chapitre IV Simulation
UKMO 2012 45
4. Processus de navigation
L’exécution de la méthode s’effectue en suivant les étapes suivante :
4.1. Etape 1 : Le robot reçoit la trajectoire à suivre
Afin de pouvoir atteindre une cible voulue et à partir d’une position initiale, un
ensemble de fonction (linéaire ou bien non linéaire) est fourni au robot. Les voies droites sont
représentées par des fonctions des droite, les virages par des clothoïdes (spirale de Cornu).
4.1.1. Les clothoïdes
Une clothoïde ou spirale de cornu est une courbure de l’espace affine de dimension
deux parcourue par un véhicule se déplaçant à vitesse constante, dont le conducteur tourne
régulièrement le volant.
Par conséquent, la courbure varie linéairement en fonction de l’abscisse curviligne. On
note la dérivée de la courbure qui est constante sur la longueur de la clothoïde et non nulle.
Si on choisit l’origine de l’abscisse curviligne au point de courbure nulle, la courbure
s’exprime par :
Nous présentons trois tronçons routiers. Ils sont constitués de deux segments
rectilignes reliés entre eux par un arc. Il s’agit d’illustrer la continuité de courbure que l’on
peut obtenir en utilisant les clothoïdes.
Pour cela, nous avons tracé les trois tronçons avec leur fonction de courbure.
Les portions rectilignes présentent une courbure nulle. Dans le premier exemple
(Figure .4.2), nous avons un arc de cercle inséré entre les positions rectilignes, l’arc à une
courbure constante et non nulle donc aux points de raccordement la fonction de courbure est
discontinue.
Chapitre IV Simulation
UKMO 2012 46
Figure .4.3 : (a) Tronçon routier droite-cercle-droite, (b) taux de courbure.
Le but d’étudier ces types de tronçons est d’étudier le taux de courbure qui représente
un angle de braquage pour le robot. Cet angle est limité (contrainte mécanique) donc la
courbure entre tout deux points successives doit être suffisamment inferieur de l’angle de
braquage du robot.
La figure ci-dessus (b) montre que l’association d’un cercle entre deux segments crée
des variations de courbure importantes dans un temps très court donc nécessite un braquage
important dans un temps exigu. Ce type de tronçon est difficilement atteint et même
impossible à des vitesses élevées.
Dans le second cas deux segments sont reliés avec trois arcs de cercles de diamètre
différent ainsi que la position du centre, le tronçon est représenté dans la figure suivant :
Figure .4.4 : (a) Tronçon routier droite-cercle-cercle-cercle-droite, (b) taux de courbure.
Le découpage du cercle qui relie les deux segments en trois cercles de rayon et
position de centre différente permet de réduire la courbure du virage à une somme de petites
courbures ce qui permis au robot d’atteindre un tel taux de braquage. Mais il reste toujours le
problème de changement brusque de courbure que le robot ne peut pas atteindre dans un tel
temps.
Chapitre IV Simulation
UKMO 2012 47
Dans le troisième exemple on utilise deux clothoïdes entourant un arc de cercle
(Figure 4.4.).
L’utilisation des clothoïdes a permis l’obtention des virages dont la courbure est
adaptée par le robot (l’angle de braquage nécessaire respecte les contraintes mécaniques), cela
est dû grâce à la caractéristique du clothoïde.
Figure .4.5 : (a) Tronçon routier droite-clothoïde-cercle- clothoïde -droite, (b) taux de
courbure.
Donc la fonction que le robot doit suivre est un ensemble de fonctions (droite, cercle,
clothoïde) dont à chaque instant le robot à une configuration, donc on écrit :
Pour que le robot exécute il doit générer un ensemble de commandes qui lui permettent de
réaliser les états successifs de cette fonction:
Où est l’état du robot défini par les coordonné cartésienne et et l’inclinaison à un
instant . Donc on déduit la fonction de la trajectoire :
(
4.2. Etape 2 : Discrétisation de la trajectoire
Dans ce niveau, la trajectoire sera discrétisée pour obtenir une définition état-
itération au lieu d’état-instant. L’intérêt de cette formulation est de découper le long de la
trajectoire d’une position initiale vers une cible finale à des sous cible partielles.
Chapitre IV Simulation
UKMO 2012 48
Figure .4.6 : Discrétisation de la trajectoire.
L’intérêt majeur de l’utilisation et la discrétisation des fonctions de navigation apparaît
dans le défi qu’elles représentent contre les contraintes de la navigation dans un milieu de
type route.
4.3. Etape 3 : Localisation du robot et perception de l’environnement.
Après avoir discrétisé la trajectoire, le robot aura besoin de se localiser. La localisation
consiste à obtenir les coordonnées de la position de robot sur la trajectoire pour connaitre sa
prochaine destination.
D’autre part, une opération de perception de l’environnement est requise, cela est dû
au besoin de connaitre s’il existe des obstacles sur la trajectoire ou non. Et dans le cas où ils
existent des obstacles, quelles sont leurs dimensions et leur nature (statique ou dynamique)
afin de pouvoir les éviter.
4.4. Etape 4 : Choix d’un comportement.
Dans cette étape nous allons examiner les différentes situations qu’un robot mobile
peut rencontrer sur un environnement de type route pour générer un ensemble de
commandes qui lui permet de réagir avec des telles situations :
Ø 1ére
situation : trajectoire libre
Dans ce premier cas, le mobile exécute la commande nécessaire pour suivre la
trajectoire de base. Le système est initialement à cette situation.
Ø 2eme
situation : Obstacle statique
La présence d’obstacle statique influe sur la trajectoire initiale, ainsi que
l’approchement du robot à l’obstacle provoque une déformation de trajectoire ce qui
permet le dépassement de danger de collision.
Chapitre IV Simulation
UKMO 2012 49
Le maintien de la connexion avec la trajectoire initiale est effectué dans un second
temps pour pouvoir revenir à la 1ère
situation.
Ø 3eme
situation
Au fur et au mesure de la navigation et lorsque un obstacle dynamique percutera la
trajectoire cette situation est provoquée. On distingue deux types :
v 3. A : E.C.A (évitement de collision par arrêt).
Lorsque la trajectoire de l’obstacle percute la trajectoire de robot avec un angle
perpendiculaire ou presque, l’évitement ici sera effectué par un arrêt et une
temporisation jusqu’à où l’obstacle quitte la trajectoire.
v 3. B : dépassement d’obstacle dynamique
Lorsque l’obstacle occupe la trajectoire planifiée pour une durée intéressante. Il
devient nécessaire de le dépasser, ce dépassement n’aura lieu que si l’obstacle
circule avec une vitesse inferieur à celle du robot.
Nous attachons l’organigramme de l'évitement dans l’annexe 2.
4.5. Etape 5 : L’exécution de la décision choisie
A). 1er
situation
Le but ici est de trouver un moyen de générer des commandes qui permets le robot de
relier le point initial avec le final (cible), pour cela une application a été effectué au sien
du centre de développement des technologies avancées d’Alger (CDTA), cette application se
résume en la simulation d’un régulateur basé sur la logique floue.
La position et l’orientation actuelles du robot sont calculées, en temps réel, les sorties du
régulateur sont la vitesse de translation et l’angle de braquage nécessaires pour atteindre une
position désirée (le but), comme illustré sur la Figure .4.7. Par contre, l’orientation finale du
robot n’est pas contrôlée.
Chapitre IV Simulation
UKMO 2012 50
Figure .4.7 : Schéma de principe de la technique.
On note :
D’où
et
On se basant sur les caractéristiques techniques du robot, la conception du contrôleur
flou est proposée en définissant les propriétés fonctionnelles et opérationnelles ci-dessous :
A.1). Les fonctions d’appartenance
Dans cette étape, on spécifier le domaine de variation des variables : l’univers de
discours, qu’on divise en intervalles (sous ensembles flous ou valeurs linguistiques). Cette
répartition qui consiste à fixer le nombre de ces valeurs et les distribuer sur le domaine, est
faite en se basant sur des connaissances du système et selon la précision désirée. Les fonctions
d’appartenances sont explicitées dans les figures qui suivent :
Chapitre IV Simulation
UKMO 2012 51
Figure .4.8 : Fonctions d’appartenance de l’erreur de position.
Figure .4.9 : Fonctions d’appartenance de l’erreur angulaire.
Figure .4.10 : Variable de sortie: la vitesse de translation du robot.
Figure .4.11 : variable de sortie : l’angle de braquage de robot.
Chapitre IV Simulation
UKMO 2012 52
A.2). Les règles d’inférence
Dans cette nous allons élaborer les règles pour lesquelles on va définir le
comportement attendue du robot selon ses paramètres intrinsèque angle de braquage et
vitesse, pour chacune des combinaisons des valeurs d’entrées, une action sur les variables de
sortie lui est associée.
La table suivante illustre les différentes règles proposées :
Table 1 : les règles d’inférences proposée.
Le mode d’utilisation de cette table est illustré par cet exemple (cases en bleu) : si
est petite et est nulle , alors le but est tout droit mais à une petite
distance. Dans ce cas, le rebot doit avancer avec une vitesse faible sans changer de
direction .
A.3) Méthode de défuzzyfication
Une fois la mise en place des fonctions d’appartenance et l’établissement des règles
définissant le comportement du régulateur ont été effectués, on passe à la sélection d’une
Erreur Angulaire (E_Ang)
NG NM NP Z PP PM PG
φ PM PP Z Z Z NP NM
V m Z Z Z Z Z Z Z
φ PG PG PM Z NM NG NG
V m F F F F F F F
φ PM PM PP Z NM NG NG
V m F F M M M F F
φ PM PP PP Z NP NP NM
V m F M G G G M F
φ PM PM PP Z NP NM NM
V m F M G TG G M F
Err
eur
de
Po
siti
on
(E
_ P
os)
Z
P
P
M
TG
G
Chapitre IV Simulation
UKMO 2012 53
méthode de défuzzyfication. C’est cette étape qui permet de transformer les valeurs de
commande du domaine flou vers le domaine réel (variable physique).
Ce choix est généralement conditionné par un compromis entre la facilité
d’implémentation et la performance de calcule [Buh, 94]. Dans ce travail nous avons utilisé la
méthode du centre de gravitée, qui peut être déterminée à l’aide de la relation .
A.4). Expérimentation de régulateur
Une fois le régulateur réalisé, un essai est nécessaire pour connaitre la fiabilité de celui-ci, la
Figure .4.12 illustre un test envoyant le robot du point y= et au
point .
Figure .4.12 : Trajectoire du robot dans un espace libre.
Figure .4.13 : Les sorties de régulateur. (a) la vitesse. (b) l’angle de braquage.
Un deuxième test consiste à envoyer le robot du point y= et au point
.
Chapitre IV Simulation
UKMO 2012 54
Figure .4.14 : 2eme
test du robot dans un espace libre.
Figure .4.15: Les sorties de régulateur (2eme
test)..
Les tests ci-dessus montrent que le robot atteint sa cible avec sucés.
Essayant maintenant le régulateur dans un environnement de type route :
Figure 4.16 : Trajectoire de robot dans un espace de type route.
Comme le montre la Figure 4.16 le robot ce dirige directement vers la cible, ce type
de commande ne sufi pas, car il ne respect pas la contrainte qui consiste de rester toujours à la
droite de la route, et c’est exactement la où apparait le rôle de l’utilisation d’une trajectoire.
Dans le cas suivant une trajectoire relie avec à été diviser à des sous cibles :
Chapitre IV Simulation
UKMO 2012 55
Figure 4.17 : Devisions d’une trajectoire à des sous cibles.
La distance entre chaque deux points est devenue petite (0.05m) donc les fonctions
d’appartenance de l’erreur de position doivent être adaptées pour des telles distances.
On propose les fonctions d’appartenance suivante :
Figure 4.18 : Les nouvelles fonctions d’appartenance de l’erreur de position
Le contrôleur flou reçois les coordonnées de ces sous cibles et génère la vitesse et
l’angle de braquage nécessaire. L’utilisation d’une trajectoire divisée à des sous cibles est
illustrée dans la figure suivante :
Figure 4.19 : L’exécution de la trajectoire divisée à des sous cibles.
Chapitre IV Simulation
UKMO 2012 56
L’utilisation d’une trajectoire divisée à des sous cibles nous à permis de convaincre la
contrainte qui consiste à naviguer dans la voie adroite de la route.
B). 2eme
situation
L’évitement d’un obstacle statique ce fait comme motionné dans l’annexe 3 en suivant les
étapes suivante :
1. Lorsque le robot est assez proche de l’obstacle, un déclanchement de la situation 2 est
provoqué.
2. La détermination des points d’évitement (voire Figure .4.20)
3. Les coordonnées des points d’évitement sont injectées au régulateur afin de générer les
commandes nécessaires pour les atteindre.
4. Une fois le dernier point d’évitement est atteint ( ), une recherche de point de
connexion entre ce point et la trajectoire initiale est effectuée pour l’injecter au
régulateur.
5. Après avoir maintenu la connexion avec la trajectoire initiale, un retour à la 1ère
situation. Le système reste par défaut dans cette situation jusqu’à la prochaine
apparition d’obstacle sur la trajectoire.
Figure.4.20 : Procédure de la technique de dépassement d’un obstacle statique (2eme
situation).
Les points , et sont calculés à l’aide des relations suivantes :
Chapitre IV Simulation
UKMO 2012 57
Figure .4.21 : Expérimentation de la 2eme
situation.
C). 3eme
situation
C.1). E.C.A
Lors du déclanchement de cette situation le régulateur flou ne reçois plus de nouvelles
sous cibles, il garde la même consigne autant que l’obstacle est sur la trajectoire.
Les nouvelles sous cibles seront injectées à nouveau au régulateur une fois l’obstacle
quitte la trajectoire.
Chapitre IV Simulation
UKMO 2012 58
C.2). Evitement d’obstacle dynamique
L’évitement d’obstacle dynamique sera effectué de la même manière qu’un obstacle
statique avec la prise en considération des points suivants :
Ø La possibilité d’effectuer un dépassement (l’autre voie libre, la vitesse d’obstacle
inferieur à celle du robot)
Ø La dynamique des obstacles (les calculs des points seront effectués d’une autre
manière).
Ø Lors du dépassement et si la vitesse d’obstacle a augmenté, le robot annule le
dépassement et reviens à la trajectoire initiale.
Figure .4.22 : Procédure de la technique de dépassement d’un obstacle dynamique (2eme
situation).
Les points , et sont calculé à l’aide des relations suivantes :
Chapitre IV Simulation
UKMO 2012 59
Figure .4.23 : Expérimentation de la 3eme
situation (évitement d’obstacle dynamique).
5. Notre simulation
Après avoir envisagé les différentes situations possibles que peut un robot mobile
rencontré sur un environnement de type route. Passant maintenant à l’implémentation de ces
algorithmes sur un model de simulation d’un robot sur le logiciel Matlab (version 7.12.0).
L’espace de navigation proposé est illustré dans la Figure 4.24. Tout d’abord le robot
rejoint une cible en suivant une trajectoire.
Chapitre IV Simulation
UKMO 2012 60
Figure .4.24 : L’espace de navigation proposé. Le robot se déplace d’un point initial vers un
point final en suivant une trajectoire.
Pour pouvoir tester l’algorithme d’évitement on a proposé d’insérer les obstacles
(figure 4.25) :
Ø Obstacle statique 1 : hors la trajectoire, donc ne provoque aucune situation.
Ø Obstacle statique 2 : sur le chemin de robot pour provoquer la 1ère
situation.
Ø Obstacle dynamique 1 : afin de provoquer un E.C.A.
Ø Obstacle dynamique 2 : pour voire comment le robot se comporte avec des
tes situation.
Ø Obstacle dynamique 3 : pour envisager la 2eme
situation.
Figure 4.25 : Insertion des obstacles.
Chapitre IV Simulation
UKMO 2012 61
La figure suivante illustre l’évolution de la simulation dans cet environnement.
Figure 4.26 : Evolution de la simulation.
Comme le montre la figure, le robot commence à naviguer en suivant l’exécution
de la 3eme
situation, lorsqu’il s’approche de l’obstacle dynamique, il le dépasse en suivant
la méthode expliqué précédemment.
Et si au cours de dépassement l’obstacle augmente sa vitesse, le robot s’arrête pour
un moment en attendent que l’obstacle s’éloigne puis il revient derrière celui-ci, en suivant
la trajectoire planifié préalablement.
Sinon le robot dépasse le véhicule et reviens à la trajectoire initiale.
Lorsqu’il s’approche du rond-point le robot rencontre un E.C.A. Le robot s’arrête, et le
moment où l’obstacle s’éloigne de la trajectoire, le robot continue son trajectoire.
Chapitre IV Simulation
UKMO 2012 62
De même lorsque le robot rencontre un piéton réagit de la même manier que dans
le cas précédent.
Avant que le robot atteigne sa finale cible, il exécute la 2eme
situation qui consiste à
dépasser un obstacle statique.
En fin, le robot atteint sa cible finale.
Conclusion
Dans ce chapitre nous avons tout d’abord présenté le modèle géométrique d’un
robot mobile à double braquage en donnant les différentes contraintes qu’on doit respecter
afin de garantir le bon fonctionnement du système.
Puis nous avons rappelé le principe de la méthode choisie qui est la méthode de
déformation de trajectoire. Nous avons détaillé les étapes suivies lors du processus de
navigation en présentant les caractéristiques du régulateur flou développé.
En dernier lieu nous avons simulé la plupart des situations possibles d’évitement
d’obstacles statiques et dynamiques.
L’algorithme donné montre sa robustesse dans les différentes situations présenté, le
robot réussit à naviguer tout en évitant les obstacles statiques et dynamiques.
Conclusion Générale
UKMO 2012 63
Conclusion Générale
Dans ce mémoire nous avons traité le problème de la navigation autonome d’un robot
mobile de type voiture non-holonome dans un environnement dynamique de type route, la
stratégie développée repose sur la perception de l’environnement pour piloter le robot, on se base
sur l’approche de la déformation de trajectoire dédié a la navigation réactive, notre contribution
porte sur l’amélioration de cette approche pour permettre l’évitement des objets mobiles.
Dans un premier lieu, nous avons introduit quelques notions de la robotique mobile, et
nous nous sommes intéressés à l’architecture de commande et ces différents niveaux, ainsi que la
structure mécanique des robots mobiles et leurs types à savoir holonome ou non-holonome. Aussi
la notion d’environnement dynamique et l’incertitude sont introduites, et on termine le chapitre
par le principe de la navigation qui se base sur la localisation et la perception, le raisonnement et
la décision.
Par la suite, un état de l’art est présenté on introduisant les différent méthodes utilisés
dans la robotique mobile, les méthodes dites délibératives comme le graphe de visibilité, la
décomposition cellulaire, ainsi que la carte de route probabiliste, ensuite des méthodes de
replanification tel que les rapidly exploring random trees et le fil d’Arian.
Les méthodes réactive sont aussi introduit comme la méthode des champs de potentiel et
l’histogramme de champs de vecteur ainsi que l’approche de navigation par diagramme de
proximité et la méthode de navigation courbure vélocité, la fenêtre dynamique et la navigation
basé sur les états de collisions inévitable, une autre méthode de planification du mouvement
partiel est aussi utilisé à la navigation des robots de même que la déformation de trajectoire.
Le troisième chapitre est consacré à la variété des notions de la logique floue, on a
commencé par une définition des ensembles flous et la variable linguistique, ainsi que les
fonctions d’appartenances, la fuzzyfication et les règle d’inférence, en dernier lieu les méthodes
de défuzzyfication ont été présentées.
On a constaté dans ce chapitre que la logique floue est simple d’utilisation pour les
experts connaissant le comportement dynamique du système. Dans le dernier chapitre nous allons
appliquer la logique floue pour le calcul de la commande donnée au robot afin d’atteindre la cible
désirer.
Conclusion Générale
UKMO 2012 64
Le dernier chapitre consiste a traiter tout d’abord le modèle géométrique d’un robot
mobile à double braquage en donnant les différentes contraintes qu’on doit respecter afin de
garantir le bon fonctionnement du système.
Puis nous avons rappelé le principe de la méthode choisie qui est la méthode de
déformation de trajectoire. Nous avons détaillé les étapes suivies lors du processus de navigation
en présentant les caractéristiques du régulateur flou développé.
En dernier lieu nous avons simulé la plupart des situations possibles d’évitement
d’obstacles statiques et dynamiques.
L’algorithme donné montre sa robustesse dans les différentes situations présenté, le robot
réussit à naviguer tout en évitant les obstacles statiques et dynamiques.
Références et bibliographiques
[Ama et Wu, 96] N. M. Amato and Y. Wu. A randomized roadmap method for path and
manipulation planning. In Proc. IEEE Int. Conf. On Robotics & Automation, 1996.
[Arr et al, 02] K.O Arras, Persson J, Tomatis N, Siegwart R, Real-Time Obstacle Avoidance
For Polygonal Robots With A Reduced Dynamic Window, IEEE International Conference on
Robotics and Automation (ICRA'02), Washington DC, USA, 2002.
[Bar, 93] J.P. Barrat. Application de la logique floue : commande de la temperature d’un four.
Techniques de l’ingénieur, traité informatique industrielle, R7428, 1993.
[Bes et al, 93] P. Bessiere, J. Ahuactzin, T. El-Ghazali, and E. Mazer. The ariane’s clew
algorithm : Global planning with local methods. In IEEE-RSJ Int. Conference on Intelligent
Robots and Systems, 1993.
[Bor et Kor, 91] Y. Koren and J. Borenstein. Potential field methods and their inherent
limitations for mobile robot navigation. In IEEE International Conference on Robotics and
Automation, April 1991.
[Bro et Kha, 99] Brock and Khatib. High speed navigation using the dynamic window
approach. In Proc.Int. Conf. On the Robotics and automation, 1999.
[Buh, 94] H. Buhler. Réglage par la logique floue, Presse Polytechnique et Universitaire
Romandes, 1994.
[Cap et pil, 05] S. Carpin and G. Pillonetto. Robot motion planning using adaptive random
walks. IEEE Trans. on Robotics & Automation, 21(1) :129–136, 2005.
[Cha, 87] B. Chazelle, Voronoi diagrams : A survey of a fundamental geometric data structure.
Algorithmic and Geometric Aspects of Robotics, 1987.
[Che et Gué, 98] F. Chevrie, F. Guély. La logique floue, Cahier technique Schneider N°191,
mars 1998.
[ELP, 87] M. Erdmann and T. Lozano-Pérez. On multiple moving objects. Algorithmica, 1987.
[Fer et Set, 06] D.Ferguson and A. Stentz. Anytime rrts. In IEEE-RSJ International
Conference on Intelligent Robots and Systems, Beijing, China, Oct. 2006.
[Fio et Shi, 93] P. Fiorini and Z. Shiller. Motion planning in dynamic environments using the
relative velocity paradigm. In IEEE Int. Conf. On Automation & Robotics, 1993.
[Fox et al, 97] D. Fox, Burgard W, and S. Thrun. The dynamic window approach to collision
avoidance. IEEE Journal on Robotics and Automation, 1997.
[Fra, 90] G. Frappier, Système inertiels de navigation pour robots mobiles, Séminaire sur Les
robots mobiles, EC2, Paris, 1990.
[Fra, 98] T. Fraichard. Trajectory planning in a dynamic workspace : a state-time space
approach. Advanced Robotics, 1998.
[Fra et al, 02] E. Frazzoli, M. A. Dahleh, and E. Feron. Real-time motion planning for agile
autonomous vehicles. AIAA Journal of Guidance, Control and Dynamics, 2002..
[Fra et Haj, 03] Thierry Fraichard and Hajime Asama. Inevitable collision states a step
towards safer robots. In IEEE-RSJ Int. Conf. on Intelligent Robots and Systems, Las Vegas,
2003.
[Gal et al, 09] Oren Gal, Zvi Shiller, and Elon Rimon. Efficient and safe online motion
planning in dynamic environments. In Proc. Of the Intl Conf. On Robotics & Automation, Kobe,
Japan, May 2009.
[Gar, 95] : E.Garnier, ph. Contrôle d’éxucution réactif de mouvements de véhicules en
environnement dynamique et structuré. PH.D thesis, Inst. Nat. Polytechnique de Grenoble, 1995.
[Gau, 99] : E. Gauthier Utilisation des Réseaux de neurones pour la commande d’un véhicule
Atonome. Ph.D thesis. Nat. Polytechnique de Grenoble, 1999.
[Ge et Cui, 02] S.S. Ge and Y.J. Cui. Dynamic motion planning for mobil robots using
potential field method. Autonomous Robots, page : 207–222, 2002.
[Gen, 96] S. Gentil. Intelligence artificielle appliquée à l’automatique. Techniques de l’ingénieur,
traité mesures et contrôle, R7215, 1996.
[Hol et Kha, 00] Robert Holmberg, Oussama Khatib, Development and Control of a
Holonomic Mobile Robot for Mobile Manipulation Tasks, International Journal of Robotics
Research, vol. 19, N°11, november 2000.
[Hsu et al, 99] D. Hsu, J.-C. Latombe, and R. Motwani. Path planning in expansive
configuration spaces. Int. Journal Computational Geometry & Applications, 9 :495–512, 1999.
[Jai et sim, 08] L. Jaillet and T. Simeon. Path deformation roadmaps : Compact graphs with
useful cycles for motion planning. Int. Journalof Robotics Research, 2008.
[Kha, 86] Khatib, O. Real-Time Obstacle Avoidance for Manipulators and Mobile Robots. The
International Journal of Robotics Research, Vol N° 5, 1986.
[Ko et Sim, 98] N.Y. Ko and R.Simmons.The lane-curvature method for local obstacle
avoidance. In Proc. Of th IEEE/RSJ Int. Conf. On Intelligent Robots and Systems (IROS),
1998.
[Kra et al, 96] L. Kravaki, P. Svestka, J-C. Latombe, and M. Overmars, Probabilistic
roadmaps for path planning in high-dimensional configuration space. IEEE Trans. Robotic and
Automation, 1996.
[Lar et al, 05] F. Large, C. Laugier, and Z. Shiller. Navigation among moving obstacles using
the nlvo : Principles and applications to intelligent vehicles. Autonomous Robots Journal,
September 2005.
[Lav, 98] S. M. Lavalle. Rapidly-exploring random trees : A new tool for path planning. TR
98-11, October 1998.
[Lav et Kuf, 01] S. M. LaValle and J. Kuffner, Randomized kinodynamic planning.
International Journal of Robotics Research, 2001.
[Lin, 82] A. Lingas. The power of non-rectilinear holes.In In Proceedings 9th International
Colloquium on Automata, 1982.
[Mar, 98] Marie-José Aldon, Capteurs et méthodes pour la localisation des robots mobiles.
Techniques de l’Ingénieur, traité Informatique industrielle, 1998.
[Mar et Fra, 08] Luis Martinez-Gomez and Thierry Fraichard. An efficient and generic 2d
inevitable collision state-checker. In IEEE-RSJ Int.Conf. on Intelligent Robots and Systems,
France Nice, 2008.
[Mar et Fra, 09] Luis Martinez-Gomez and Thierry Fraichard. Collision avoidance in
dynamic environments : an ics-based solution and its comparative evaluation. In Proc. of the Intl
Conf. on Robotics & Automation, Kobe, Japan, May 2009.
[Min et mon, 00] J. Minguez and L. Montano. Nearness diagram navigation (nd) : A new
real time collision avoidance approach. In IEEE-RSJ Int. Conf. on Intelligent Robots and
Systems, 2000.
[Nil, 69] N. J. Nilsson. A mobile automaton : An application of artificial intelligence
techniques. In the 1st International conference on artificial Intelligence, 1969.
[Par et Fra, 07] R. Parthasarathi and T. Fraichard. An inevitable collision state checker for a
car-like vehicle. In Proc. of the Intl Conf. On Robotics & Automation, Roma, Italy, April 2007.
[Ped, 88] W. Pedycz. Fuzzy control and fuzzy systems. University of Manitoba. Winnipeg,
Canada, Research studies press LTD, 1998.
[Pet et Fra, 05a] Stephane Petti and Thierry Fraichard. Partial motion planning framework
for reactive planning within dynamic environments. In IEEE Int. Conf. On Robotics and
Automation, Barcelona, Spain, 2005.
[Ros, 98] C. Rosenthal. Histoire de la logique floue. Une approche sociologique des pratiques de
démonstration, Revue de synthèse, 1998.
[Sha, 99] Y. El-Shayeb. Apport de la logique floue à l’évaluation de l’aléas « Mouvement de
terrain des sites géotechniques ». Thèse de doctorat de l’institut national polytechnique de lorraine.
9 mars 1999.
[Sim, 96] R.Simmons. The curvature-Velocity Method for Obstacle Avaoidance.in Proc. Of the
IEEE Int. Conf. On Robotics and Automation. Minneapolis, Minnesota, April 1996.
[Ulr et Bor, 98] :Ulrich, Borenstein. VFH + : Reliable Obstacle Avoisance for fast mobile
Robots, IEEE Int. Conf. On Robotics and automation, Leuven, Belgium, 1998.
[Ulr et Bor, 00] I Ulrich, Borenstein. VFH * : Local obstacle avoidance with look-ahead
verification. In IEEE Int. Conf. On Robotics and Automation.san Francisco, USA, 2000
[Van et al, 05] Jur P. van den Berg and Mark H. Overmars, Roadmap-based motion planning
in dynamic environment. IEEE Transactions on Robotics, 2005.
[Wil et al, 99] S. A. Wilmarth, N. M. Amato, and P. F. Stiller, A probabilistic roadmap
planner with sampling on the medial axis of the free space. In Proc. IEEE Int. Conf. on Robotics
& Automation, 1999.
Annexe 1
L’organigramme de déformation de trajectoire
Calculer sous-cible(i)
Calculer dist
Dist<
seuil
Calculer Vrob Phi
par régulateur flow
Calculer nouvelle
position
S-cib=
cibfinal
Fin
Initialisation Xrob,Yrob,
Vrob,Phi,Teta,F et i=1.
i=i+1;
Oui
Oui
Non
Non
obs
Perception
Non Obs st
Situation 2
Situation 2
Non
Oui
Oui
Annexe 2
Algorithme d'évitement global:
Navigation de base
Dis
< saf
safe
Obs
dyn
Evitement d'obs
statique E.C.A
Stop
Vobs<
Vrob
Dépassement
d'obs dynamique
Retour à la trajectoire
de base
Non
Non
Oui
Oui
Non Oui
Non
Non
Oui
Oui
Det
obs