Année universitaire : 2011 / 2012
ÉíÈÚÔáÇ
ÉíØÇÑÞãíÏáÇ
ÉíÑÆÇÒÌáÇ
ÉíÑæåãÌáÇ
République Algérienne Démocratique
et Populaire
íãáÚáÇ
ËÍÈáÇ æ
íáÇÚáÇ
ãíáÚÊáÇ
ÉÑÇÒæ
Ministère de l'enseignement Supérieur et
de la Recherche scientifique
Université Mohamed Khider
Biskra Faculté des Sciences et de la
Technologie Département de Génie Electrique Filière
automatique
Option : Génie de systèmes
industriels
Réf:
Mémoire de Fin d'Etudes
En vue de l'obtention du diplôme:
MASTER
RÉALISATION D'UN ROBOT MOBILE AVEC
ÉVITEMENT D'OBSTACLE ET TRAJECTOIRE
PROGRAMMÉ
Présenté par :
BALI Chaher eddine ABAIDI Hakim
Soutenu le : 06 Juin 2012
Devant le jury composé de :
Mm TERKI Nadjiba Président
Mr OUAFI Abdelkrim Encadreur
Mr BENELMIR Okba Examinateur
ÉíÈÚÔáÇ
ÉíØÇÑÞãíÏáÇ
ÉíÑÆÇÒÌáÇ
ÉíÑæåãÌáÇ
République Algérienne Démocratique
et Populaire
íãáÚáÇ
ËÍÈáÇ æ
íáÇÚáÇ
ãíáÚÊáÇ
ÉÑÇÒæ
Ministère de l'enseignement Supérieur et
de la recherche scientifique
Université Mohamed Khider
Biskra Faculté des Sciences et de la
Technologie Département de Génie Electrique Filière
automatique
Option : Génie de systèmes
industriels
Mémoire de Fin d'Etudes
En vue de l'obtention du diplôme:
MASTER
RÉALISATION D'UN ROBOT MOBILE AVEC
ÉVITEMENT D'OBSTACLE ET TRAJECTOIRE
PROGRAMMÉ
Présenté par : Avis favorable de
l'encadreur :
BALI Chaher eddine OUAFI Abdelkrim
signature
ABAIDI Hakim
Avis favorable du Président du Jury
TERKI Nadjiba Signature
Cachet et signature
ÉíÈÚÔáÇ
ÉíØÇÑÞãíÏáÇ
ÉíÑÆÇÒÌáÇ
ÉíÑæåãÌáÇ
République Algérienne Démocratique
et Populaire
íãáÚáÇ
ËÍÈáÇ æ
íáÇÚáÇ
ãíáÚÊáÇ
ÉÑÇÒæ
Ministère de l'enseignement Supérieur et
de la Recherche scientifique
Université Mohamed Khider
Biskra Faculté des Sciences et de la
Technologie Département de Génie Electrique Filière
automatique
Option : Génie de systèmes
industriels
RÉALISATION D'UN ROBOT MOBILE AVEC
ÉVITEMENT D'OBSTACLE ET TRAJECTOIRE
PROGRAMMÉ
Proposé par : OUAFI Abdelkrim Dirigé par :
OUAFI Abdelkrim
RESUME (bilingue)
Notre but dans ce mémoire est l'étude et la
réalisation d'un robot mobile à trajectoire programmé avec
évitement d'obstacles en utilisant la logique floue. Notre robot est
basé sur un capteur de distance ultrasonique et une carte de commande
à base de microcontrôleur PIC16F877, ainsi qu'un commutateur de
puissance ULN2803 pour alimenter les moteurs pas à pas qui assure le
déplacement du robot à travers un mécanisme que nous avons
réalisé.
Mots-clés : Robot Mobile, évitement d'obstacles,
logique floue, trajectoire programmé.
:ÕÎáã
åÇãÚÊÓÇÈ
ÞÆÇìÚíì
ÈäÌÊ Úã
ÌãÔÈã ÓÇÓã
ìíÚ ßÔÍÊñ
ËáÇÌÚÈ
ßÔÍÊã ËìÈæÓ
ÕÇÌäÅ æ
ÊÓÇÓÏ ìå
æãÚìÇ ÇÒå äã
ÐåìÇ ÓãÇÚ
åÇãÚÊÓÇ æ
ðìóÇ
퓂򋓂
ìíÚ ÏÇãÊÚáÇ
Ç æ ÐÚÈ äÚ
ÓÇÚÔÊÓáÇ Ç
ÉÖåÌ
åÇãÚÊÓÇÈ
áìÑ æ
ãåÈãìÇ
ÞØäãìÇ
ÊÞñÔØ
.ËìÈæÔìÇ
ßÔÍñ åÓæÐÈ
íÒìÇ ÉìØÎÈ
ÉìØÎ ßÔÍã
íÒÛñ íÒìÇ ULN2803
Ê ÚÇØÊÓáÇÇ
.ÌãÔÈã ÓÇÓã
ãåÈãìÇ
ÞØäãìÇ
ÞÆÇìÚìÇ
ÈäÌÊ ßÔÍÊã
ËìÈæÓ :
ÊòÍÇÊãìÇ
ËÇãíäìÇ
Dédicaces
À Mes parents Salem et Khadîdja, symboles de
courage et de volonté. À Toute mes frères et mes
soeurs. À Tous ma famille. À tous mes amis. À
Toute les étudiants. À Toute la Promotion Automatisme 2012.
CHAHER EDDINE BALI
Dédicaces
Je dédie ce modeste travail :
À Mes parents Ghazali et Aghnia, symboles de courage et de
volonté, qui ont
consacré leur vie pour mon bien-être.
À Ma grand-mère Heddi « que Dieu la garde pour
notre famille ».
À Mes frères Salim, Mohamed Salah et Messaoud.
À Mes soeurs Nisrine, Abir, Imène et Intissar.
À Mon neveu Fateh.
À Mes nièces Aya et Fatima.
À tous mes oncles et toutes mes tantes.
À tous mes cousins et cousines notamment Maamar, Tidjani,
Khireddine, Ramzi et
Abou Horaira,. .etc.
À Toute la famille Abaidi.
À tous mes amis notamment, Nadhir, Ayoub, Bilal, Messaoud,
Younès, Abdallah,
Nacer, Hamza,. .etc.
À Mon ami Chaher Eddine Bali avec qui j'ai partagé
ce modeste travail.
À Toute la Promotion Automatisme 2012.
Hakim
Remerciements
Nous tenons à remercier notre Dieu, le tout puissant,
de nous avoir donné la santé et la volonté pour
compléter ce modeste travail.
Nous tenons à exprimer nos profondes gratitudes et nos
vifs remerciements à notre promoteur, le Docteur OUAFI Abdelkrim pour sa
disponibilité et de nous avoir fait profiter de ses qualités
aussi bien sur le plan scientifique que sur le plan professionnel. Un grand
merci pour son sérieux, sa patience et son aide.
Nos remerciements s'adressent également au
président de jury Madame TERKI et à Monsieur BENELMIR d'avoir
accepté de lire et d'évaluer notre mémoire.
Nous exprimons nos remerciements à tous les professeurs
qui nous ont encadrés pendant notre cursus universitaire sans oublier
les responsables du Laboratoire de Génie Electrique Hamza et
Abdellatif.
Enfin nous remercions tous ceux qui ont participé de
près ou de loin à la réalisation de ce mémoire.
Tableau des matières
Index des tableaux .. i
Index des figures 1
Introduction générale 01
CHAPITRE 01 : Généralités sur la
robotique mobile
1. Introduction 02
2. Généralités sur la robotique mobile
02
2.1. Définition 02
2.2. Historique de la robotique 02
2.3. Robot Industriel 03
2.4. Robot Mobile . 04
2.4.1. Architecture des robots mobiles 05
2.4.2. Classification des Robots Mobiles 08
2.4.3. Caractéristiques d'un robot . 13
4. Conclusion 14
CHAPITRE 02 : Les microcontrôleurs
1. Introduction . 15
2. Définition de PIC . 15
3. Classification des PICs de Microchip 15
4. Identification des PICs: 16
5. PIC 16F877 . 17
5.1. Les PINS de 16F877 17
5.2. Les particularités des ports . 18
5.3. Caractéristiques principales dePIC16F87X 19
5.4. Architecture interne du16F877 19
5.5. Les éléments de base du PIC 16F877 21
5.5.1. L'Horloge 21
5.5.2. L'ALU et l'Accumulateur W 21
5.5.3. Les mémoires du PIC 16F877 . 21
5.5.4. Organisation de la mémoire 22
5.5.5. Les Timers .. 23
5.5.6. Le convertisseur 24
5.6. Les instructions du 16F876/877 24
5.7. Les interruptions 25
6. Conclusion . 27
CHAPITRE 03 : Planification de localisation et
trajectoire
1. Introduction 28
2. Système de localisation 28
2.1. La localisation du mobile 28
2.2.1. Localisation relative 28
2.1.2. Localisation absolue 29
2.2. La localisation de l'environnement 29
2.2.1. Les méthodes télémétriques
. 29
2.2.2. L'analyse d'image 31
2.2.3. La localisation par contact .. 31
3. Planification de trajectoire 31
3.1. Principe de base 31
3.2. Configuration de l'espace . 31
3.2. Construction du modèle de l'environnement 32
3.3.1. Modélisation par grille 32
3.3.2. Modèles géométrique .. 33
3.4. L'approche globale 33
3.4.1. Méthode de décomposition cellulaire . 33
3.4.2. Méthode de vecteurs de traversabilité
34
3.4.3. Méthode de roadmap .. 34
3.5. L'approche locale .. 34
3.5.1. Méthode myopique . 35
3.5.2. Méthode de champs de potentiel 36
4. Evitement des obstacles en logique floue .. 36
4.1. Principe . 36
4.2. Problématique 37
4.3. Définition des variables 37
4.4. Partitionner les domaines variables .. 38
5. Conclusion .. 39
CHAPITRE 04 : Réalisation pratique
1. Introduction 40
2. Schéma bloc 40
3. Partie de commande 40
3.1. Les Capteurs 41
3.2. La carte à PIC 16F877 42
3.2.1. Principe .. 42
3.2.2. Schéma électronique 43
3.3. Commutateur de puissance ULN2803 43
3.4. Alimentation 45
3.5. Schéma électronique de carte de commande
46
4. Partie mécanique 48
4.1. Moteurs électriques 48
4.2. Types de moteurs utilises .. 48
4.3. Le moteur pas à pas . 49
4.4. Les différents types de moteurs pas à pas .
50
4.4.1. Les moteurs à aimants permanents . 50
4.4.2. Les moteurs unipolaires .. 50
4.4.3. Les moteurs bipolaires 51
4.4.4. Les moteurs à réluctance variable 51
4.4.5. Les moteurs hybrides .. 52
4.5. Nombre de phase 52
4.6. Le mode de séquence 53
4.6.1. Monophasé . 53
4.6.2. Biphasé 53
4.6.3. Demi -pas 54
4.7. Commande des moteurs pas à pas par des circuits
intégrés spécialisés 54
4.8 Le critère de choix d'un moteur pas à pas .
54
4.9. Fonctionnement du mécanisme 55
5. Partie Logiciels et Programmation . 55
5.1. Logiciel de simulation PROTEUS 55
5.2. Logiciel de programmation Flowcode .. 56
5.2.1. Excitation de Flowcode .. 56
5.2.2. Présentation du Flowcode 57
5.3. Programmateur d'un PIC .. 57
6. Organigramme principale de mouvement de notre robot 58
6.1 Sous-programme détection d'obstacle .. 59
6.2 Sous-programme évitement d'obstacle avec logique flou
59
7. Conclusion 60
Conclusion générale . 61
Bibliographie 62 ANNEXE A
ANNEXE B ANNEXE C
Index des tableaux
CHAPITRE 02 : Les microcontrôleurs
Tableau 2.1 : Différents circuit de la
famille 16F87X 16
CHAPITRE 04 : Réalisation pratique
Tableau 4.2 : séquence
monophasé 53
Tableau 4.3 : séquence biphasé
53
Tableau 4.3 : séquence Demi -pas 54
ii
Index des figures
CHAPITRE 01 : Généralités sur la
robotique mobile
Figure 1.1 Structure d'un robot mobile 04
Figure 1.2 Télémètres
infrarouges .. 05
Figure 1.3 Télémètres
ultrasonores 06
Figure 1.4 Exemple d'un
télémètre laser 06
Figure 1.5 Robot de type uni-cycle 09
Figure 1.6 Robot de type tricycle 09
Figure 1.7 Robot de type voiture 10
Figure 1.8 Robot mobile omnidirectionnel
10
Figure 1.9 Exemples de robots mobiles à
chenilles 11
Figure 1.10 Exemples des robots marcheurs
11
Figure1.11 Exemple d'un robot violant 12
CHAPITRE 02 : Les microcontrôleurs
Figure 2.12 Les pins du 16F877. 17
Figure 2.13 Architecture interne du PIC 16F877
20
Figure 2.14 Un quartz ou résonateur
céramique 21
Figure 2.15 Plan Mémoire pour les
instructions(Code programme) 23
Figure 2.16 module du convertisseur. 24
Figure 2.17 synoptique des modes d'interruptions
26
CHAPITRE 03 : Planification de localisation et
trajectoire
Figure 3.1 capteur ultrason 30
Figure 3.2 Exemple d'un
télémètre laser 30
Figure 3.3 Télémétrie par
triangulation 30
Figure 3.4 Les différentes configurations
de l'espace 32
Figure 3.5 Relation d'adjacence. 34
Figure 3.6 Contournement dans le cas de la
méthode myopique . 35
iii
Figure 3.7 Principe d'évolution d'un
robot mobile par la méthode de champs de potentiel 36
Figure 3.8 Les secteurs de détection
du robot 37
Figure 3.9 La fonction d'appartenance 38
Figure 3.10 Variables droite et gauche 38
Figure 3.11 Variable devant 38
Figure 3.12 Variable angle 39
Figure 3.13 Variable distance (cm) 39
CHAPITRE 04 : Réalisation pratique
Figure 4.1 Schéma bloc du robot mobile
40
Figure 4.2 Schéma synoptique d'un
capteur ultrasonique 41
Figure 4.3 Les deux types de pilotage
42
Figure 4.4 Schéma électronique
de la PIC avec oscillateur 43
Figure 4.5 ULN 2803 43
Figure 4.6 schéma interne de l'ULN2803 .
44
Figure 4.7 Montage d'un Darlington 44
Figure 4.8 Bloc de commutateur de puissance
avec les moteurs 44
Figure 4.9 Régulateurs de tension
45
Figure 4.10 La carte de régulateur de
tension réel 45
Figure 4.11 Schéma électronique
de la Carte de commande 46
Figure 4.12 Carte de commande
réalisée par le logiciel PROTEUSE 47
Figure 4.13 Deux faces de la carte de
commande . 47
Figure 4.14 La carte d'interface
réelle 48
Figure 4.15 Moteur pas à pas 49
Figure 4.16 Structure interne d'un moteur pas
à pas 50
Figure 4.17 Fonctionnement schématique
d'un moteur pas à pas . 50
Figure 4.18 Représentation
schématique d'un moteur unipolaire 51
Figure 4.19 Représentation
schématique d'un moteur bipolaire 51
Figure 4.20 Moteur à reluctance
variable 52
iv
Figure 4.21 La structure interne d'un moteur
hybride 52
Figure 4.22 Type de fils de moteur pas
à pas .. 53
Figure 4.23 le mécanisme de mobile
55
Figure 4.24 choisit le PIC 16F877 . 56
Figure 4.25 Interface du logiciel Flowcode .
57
Figure 4.26 Organigramme de programme
principale 58
Figure 4.27 Organigramme de détection
d'obstacle 59
Figure 4.28 Organigramme d'évitement
d'obstacle avec logique flou 59
Introduction général
1
Introduction Générale
Introduction Générale
La robotique permet d'aider l'homme dans les tâches
difficiles, répétitives ou Pénibles. de plus elle
constitue le rêve de substituer la machine à l'homme dans ces
tâches.
Les facultés de perception et de raisonnement des robots
progressent chaque jour actuellement et plus encore dans l'avenir, ils sont
appelés à jouer un rôle de plus en plus Important dans
notre vie.
La robotique comporte deux grands pôles
d'intérêt: la robotique de manipulation (robotique industrielle)
et la robotique mobile. Un des problèmes majeurs de la robotique mobile
est la planification de mouvement. Autour de ce problème de
planification de mouvement de nombreuses études ont été
réalisées dans le but de développer des méthodes
générale pour guider les robots.
Pour un robot mobile, avec trajectoire programmé, notre
but dans ce mémoire, ne se limite pas à trouver une trajectoire
libre ou à éviter des obstacles sans tenir en compte certains
paramètres géométriques telles que dimensions du robot ou
formes des obstacles. Notre but dans ce mémoire est l'étude et la
réalisation d'un robot mobile à trajectoire programmé avec
évitement d'obstacles en utilisant la logique floue. Notre robot mobile
est basé sur une carte de capteurs émetteur/récepteur
(infrarouge ou ultrasonique) et une carte de commande à base de
microcontrôleur PIC16F877, ainsi qu'un commutateur de puissance ULN2803
pour alimenter les moteurs pas à pas qui assure le déplacement du
robot à travers un mécanisme.
Le plan du mémoire est comme suit :
Le premier chapitre présente une introduction sur la
robotique : définitions, classification, historique ...
etc. et les constituants d'un robot
mobile.
Le deuxième chapitre est une étude approfondie
sur le microcontrôleur PIC 16F877 utilisé pour commander notre
robot.
Le troisième chapitre décrit quelque
différentes méthodes pour la planification du trajectoire et la
localisation pour le déplacement du robot réalisé.
Le quatrième chapitre, présente les
différentes parties (mécanique et électronique) du robot
est consacré aussi aux logiciels de simulation utilisés pour la
programmation. Ainsi il présente les organigrammes utilisés par
le microcontrôleur pour gérer les différents circuits.
Enfin, nous terminons notre mémoire par une conclusion
qui présente le bilan de ce travail et les perspectives envisagés
et une bibliographie et des annexes.
CHAPITRE:01
GéNéRALITéS SUR
LA ROBOTIQUE MOBILE
Chapitre 01
Généralités sur la robotique mobile
2
1. Introduction
La robotique est un ensemble de disciplines (mécanique,
électronique, automatique, informatique), elle se subdivise en deux
types : les robots industriels et les robots mobiles. Les robots industriels
sont généralement fixes, ils sont utilisés dans des
nombreuses applications industrielles: l'assemblage mécanique, la
soudure, la peinture... Les robots mobiles ne sont pas fixes, ils sont
classifies selon la locomotion en robots marcheurs, à roues, à
chenilles... comme ils peuvent être classifié selon le domaine
d'application en robots militaires, de laboratoire, industriels et de
services.
Les robots mobiles présentent un cas particulier en
robotique. Leur intérêt réside dans leur mobilité",
destinés à remplir des taches pénibles (exemple :
transport de charges lourdes) et ils travaillent même en ambiance hostile
(nucléaire, marine, spatiale, lutte centre l'incendie,
surveillance...).
L'aspect particulier de la mobilité impose une
complexité technologique (capteurs, motricité, énergie) ct
méthodologique tel que le traitement des informations par utilisation
des techniques de l'intelligence artificielle ou de processeurs particuliers
(vectoriels, cellulaires).
L'autonomie du robot mobile est une faculté qui lui
permet de s'adapter ou de prendre une décision dans le but de
réaliser une tache même dans un environnement peu connu ou
totalement inconnu.
2. Généralités sur la robotique
mobile
2.1. Définition
Le terme (Robot) prend son origine du mot slave (Paboma) (se
prononce robota) qui veut dire en russe travail ou en tchèque
corvée ou travail forcé. II désigne aussi une machine
à l'aspect humain, capable de se mouvoir et d'agir, qu'un
mécanisme automatique pouvant effectuer certaines opérations, et
capable par fois de modifier de lui-même son cycle de fonctionnement et
d'exercer un certain choix.
2.2. Historique de la robotique
La robotique est passée par plusieurs
générations comme suit, [3]:
? 1947: Premier manipulateur électrique
télé-opéré.
? 1954: Premier robot programmable.
? 1961: Utilisation d'un robot industriel, commercialisé
par la société UNIMATION
(USA), sur une chaîne de montage de General Motors.
·
Chapitre 01
Généralités sur la robotique mobile
3
1961: Premier robot avec contrôle en effort.
· 1963: Utilisation de la vision pour commander un
robot.
· 1978 : Le robot ARGOS. Développé
à l'Université Paul Sabatier de Toulouse (France). Le robot ARGOS
simule la navigation d'un robot mobile équipé d'un système
de vision au fur et à mesure de ses déplacements.
· 1979: Le robot HILARE. Les chercheurs du L.A.A.S. de
Toulouse (France) étudièrent la planification des trajectoires
d'un robot mobile ponctuel, dans un environnement totalement connu.
· 1981: Le robot VESA. Ce robot, construit à
l'I.N.S.A (France). de Rennes, est équipée d'un arceau de
sécurité pour réaliser la détection d'obstacles
dans un environnement totalement inconnu.
· 1984: Le robot FLAKEY. Ce robot, conçu et
construit au Stanford Research Institute et le reflet des améliorations
apportées par 14 années de développement. Le robot FLAKEY
est équipé de deux roues motrices avec encodeurs, mais sa vitesse
maximale est de 66 cm/s au lieu de quelques centimètres par seconde. Ce
robot est capable de naviguer dans des environnements réels.
· 1993: Les robots ERRATIC et PIONNER. Le robot ERRATIC
a été conçu par Kurt Konolige, au Stanford Research
Institue, comme un robot mobile de faible coût pour ses cours de
robotique.
· Les robots mobiles actuels : A présent la
plupart des travaux de recherche portent sur les problèmes de
perception. La planification de trajectoires, l'analyse et la
modélisation de l'environnement de robot, appliqué sur des robots
mobiles commerciaux. Également la recherche actuelle sur la conception
mécanique des robots mobiles pour des applications hautement
spécialisées, comme l'exploration sous-marine, les robots volants
et le micro robots, [4].
2.3. Robot Industriel
Les robots industriels, tout comme les unités des
fabrications modernes, sont des
systèmes automatisme de haut niveau qui utilisent des
ordinateurs comme partie intégrante de leur chaine d'asservissement
Actuellement ils constituent la pièce maitresse de toute automatisation
industrielle. La robotique est utilisée aussi en technologie spatiale et
dans le domaine médical.
Les robots industriels ont été
créés pour accroitre la productivité et améliorer
la qualité au sein des processus industriels. Ils s'avèrent
particulièrement précieux dans de nombreuses
Chapitre 01
Généralités sur la robotique mobile
4
applications industrielles en particulier la peinture, la
soudure, le contrôle et l'assemblage mécanique...
Les recherches actuelles portent en effet sur des robots
évolués capables d'entendre de voir, de toucher et de prendre des
décisions.
2.4. Robot Mobile
Contrairement au robot industriel qui est
généralement fixé, le robot mobile est doté de
moyens qui lui permettent de se déplacer dans son espace de travail.
Suivant son degré d'autonomie ou degré d'intelligence, il peut
être dote de moyens de perception et de raisonnement. Certains sont
capables, sous contrôle humain réduit, de modéliser leur
espace de travail et de planifier un chemin dans un environnement qu'ils ne
connaissent pas forcément d'avance.
Actuellement, les robots mobiles les plus sophistiqués
sont essentiellement orientés vers des applications dans des
environnements variables ou incertains, souvent peuplés d'obstacles,
nécessitant une adaptabilité à la tâche. La figure
(1.1) illustre la structure d'un tel robot [1].
Structure mécanique
L'énergie
Structure électronique
Figure 1.1 : Structure d'un robot mobile
Un A.G.V (Automated Guided Vehicule) ou véhicule
à guidage automatique est un cas particulier d'un robot mobile
voué à des applications purement industrielles. II est parfois
appelé chariot automatique et il est doté d'un équipement
de guidage automatique qu'il soit inductif (filoguidé), optique,
électromagnétique ou autre. Ce type de véhicule est
capable de suivre des chemins prédéfinis et programmables ou de
planifier ses propres trajectoires selon le type de guidage et de navigation
utilisée. Les A.G.V se présentent sous des aspects assez
variés, que ce soit par leur forme, par leur taille ou par leur
poids.
Chapitre 01
Généralités sur la robotique
mobile
2.4.1. Architecture des robots mobiles
En général un robot mobile est constitué dc
trois structures :
A. Structure mécanique: elle assure
le mouvement du robot par des roues motrices placées selon le type de
mouvement et la précision de la tache voulue.
B. Structure instrumentale : un robot est
équipé d'un certain nombre de capteurs de sécurité
afin de leur donner une certaine connaissance de l'environnement. Selon
l'application, les capteurs peuvent être :
? Capteurs infrarouges
Les capteurs infrarouges sont constitués d'un ensemble
émetteur/récepteur fonctionnant avec des radiations non visibles,
dont la longueur d'onde est juste inférieure à celle du rouge
visible. La mesure des radiations infrarouges étant limitée et,
en tout état de cause, la qualité très
dégradé d'un mètre, ces dispositifs ne servent que
rarement de télémètres.
On les rencontrera le plus souvent comme détecteurs de
proximité, Ou dans un mode encore plus dégradé de
présence.
5
Figure 1.2 : Télémètres
infrarouges. ? Capteurs ultrasonores [5]
Les capteurs ultrasonores utilisent des vibrations sonores
dont les fréquences ne sont pas perceptibles par l'oreille humaine. Les
fréquences couramment utilisées dans ce type. De technologie vont
de 20 kHz à 200 kHz. Les ultrasons émis se propagent dans l'air
et sont réfléchis partiellement lorsqu'ils heurtent un corps
solide, en fonction de son impédance acoustique. L'écho en retour
prend la forme d'une onde de pression à l'image des vaguelettes
circulaires déformant la surface de l'eau lorsqu'on y jette une
pierre.
Chapitre 01
Généralités sur la robotique mobile
6
La distance entre la source et la cible peut être
déterminée en mesurant le temps de volume séparant
l'émission des ultrasons du retour de l'écho.
A) exemple d'un capteur ultrason B) principe émié
et reçu capteur ultrason.
Figure 1.3 : Télémètres
ultrasonores.
? Télémètre laser
Les télémètres laser (Figure 4) sont
à ce jour le moyen le plus répandu en robotique mobile pour
obtenir des mesures précises de distance. Leur principe de
fonctionnement est le suivant:[5]
A un instant donné, une impulsion lumineuse très
courte est envoyée par l'intermédiaire d'une diode laser de
faible puissance. La réflexion de cette onde donne un écho qui
est détecté au bout d'un temps proportionnel à la distance
capteur obstacle. La direction des impulsions est modifiée par rotation
d'un miroir. Par l'angle de balayage couvrant généralement entre
100 et 180 degrés sur des produits commerciaux.
Figure 1.4 : Exemple d'un
télémètre laser.
? Les caméras
L'utilisation d'une caméra pour percevoir
l'environnement est une méthode attractive car elle semble proche des
méthodes utilisées par les humains. Le traitement des
données volumineuses et complexes fournies par ces capteurs reste
cependant difficile à l'heure actuelle, même si cela reste une
voie de recherche très explorée.
Chapitre 01
Généralités sur la robotique mobile
7
s Les capteurs tactiles
Les robots peuvent être équipés de
capteurs tactiles, qui sont le plus souvent utilisés pour des
arrêts d'urgence lorsqu'il rencontre un obstacle qui n'avait pas
été détecté par le reste du système de
perception. Ces capteurs peuvent être de simples contacteurs
répartis sur le pourtour du robot. Il ne détecte alors le contact
qu'au dernier moment.
Il est également possible d'utiliser des petites tiges
arquées autour du robot pour servir d'intermédiaire à ces
contacteurs, ce qui permet une détection un peu plus précoce et
donne ainsi plus de marge pour arrêter le robot.
s Les boussoles
Les boussoles permettent, par la mesure du champ
magnétique terrestre, de déduire la direction du nord. Ces
capteurs peuvent utiliser différentes technologies et ont l'avantage de
fournir une direction de référence stable au cours du temps (au
contraire des gyroscopes qui dérivent). Ces capteurs sont toutefois
très délicats à utiliser en intérieur car ils sont
très sensibles aux masses métalliques présentes dans la
structure des bâtiments. En pratique, on les utilise donc principalement
en extérieur en apportant le plus grand soin à leur
positionnement sur le robot pour éviter les influences des composants du
robot, notamment les moteurs électriques.
s Les balises
Dans certaines applications, il est également possible
d'utiliser des balises dont on connaît la position, et qui pourront
être facilement détectées par le robot, afin de faciliter
sa localisation. Des techniques très diverses peuvent être
utilisées pour ces balises. On peut par exemple utiliser un signal
radio, émis de manière omnidirectionnel par la balise.
Le robot sera alors équipé d'une antenne
directionnelle qui lui permettra de détecter la direction des
différentes balises, afin de déduire sa position par
triangulation. On peut également utiliser des codes couleurs où
des codes barrent qui pourront être détectés par une
caméra.
s Le GPS (Universel Placement Système en
Anglais : Global Positionning System)
Un système de balises dont on a placé les
balises sur des satellites en orbite terrestre et qui est par conséquent
accessible de quasiment partout à la surface du globe. Ce système
permet donc d'avoir une mesure de sa position dans un repère global
couvrant la terre avec
Chapitre 01
Généralités sur la robotique mobile
8
une précision variant de quelques dizaines de
mètres à quelques centimètres suivant les
équipements. [5]
C. Structure informatique : une commande numérique est
impérative, afin de bien analyser les différentes informations,
soit du système de perception ou de localisation. Cette commande peut
être à base d'un microprocesseur ou microcontrôleur.
2.4.2. Classification des Robots Mobiles
On peut classer les robots mobiles selon leur degré
d'autonomie, système de locomotion, leur domaine d'application, leur
système de localisation, l'énergie utilisée... Nous allons
présenter ici quatre classifications qui semblent être les plus
intéressantes
2.4.2.1. Classification selon le degré
d'autonomie
Un robot mobile autonome est un système automoteur
doté de capacités décisionnelles et de moyens
d'acquisition et de traitements de reformation qui lui permettent d'accomplir
sous contrôle humain réduit un certain nombre de tâches,
dans un environnement non complètement connu. On peut citer quelques
types :
· Véhicule télécommande par un
opérateur
Ces robots sont commandés par un opérateur qui
leurs impose chaque tache élémentaire à
réaliser.
· Véhicule télécommandé au sens
de la tâche à réaliser Le véhicule contrôle
automatiquement ses actions.
· Véhicule semi-autonome
Ce type de véhicule réalise des tâches
prédéfinies sans 1'aidc de 1'opdrateur.
· Véhicule autonome
Ces derniers réalisent des tâches
semi-définies.
2.4.2.2 Classification selon le type de
locomotion
Selon le système de locomotion, on peut distinguer quatre
types des robots:
A. Les robots mobiles à roues
La mobilité par roues est la structure mécanique
la plus utilisée. Ce type de robot assure un déplacement avec une
accélération et une vitesse rapide mais nécessite un sol
relativement plat. On distingue plusieurs classes de robots à roues
déterminées, principalement, par la position et le nombre de
roues utilisées. Nous citerons ici les quatre classes principales de
robots à roues. [5], [8]
Chapitre 01
Généralités sur la robotique mobile
? Robot uni-cycle
Un robot de type uni cycle est actionné par deux roues
indépendantes, il possédant éventuellement des roues
folles pour assurer sa stabilité. Son centre de rotation est
situé sur l'axe reliant les deux roues motrices. C'est un robot
non-holonome, en effet il est impossible de le déplacer dans une
direction perpendiculaire aux roues de locomotion. Sa commande peut être
très simple, il est en effet assez facile de le déplacer d'un
point à un autre par une suite de rotations simples et de lignes
droites.( Figure 5)
9
Figure 1.5: Robot de type uni-cycle.
? Robot tricycle
Un robot de type tricycle est constitué de deux roues
fixes placées sur un même axe et d'une roue centrée
orientable placée sur l'axe longitudinal. Le mouvement du robot est
donné par la vitesse des deux roues fixes et par l'orientation de la
roue orientable. Son centre de rotation est situé à
l'intersection de l'axe contenant les roues fixes et de l'axe de la roue
orientable. C'est un robot non-holonome. En effet, il est impossible de le
déplacer dans une direction perpendiculaire aux roues fixes. Sa commande
est plus compliquée. Il est en général impossible
d'effectuer des rotations simples à cause d'un rayon de braquage
limité de la roue orientable. (Figure 1.6)
Figure 1.6 : Robot de type tricycle.
Chapitre 01
Généralités sur la robotique mobile
? Robot voiture
Un robot de type voiture est semblable au tricycle, il est
constitué de deux roues fixes placées sur un même axe et de
deux roues centrées orientables placées elles aussi sur un
même axe (Figure1.7).
Le robot de type voiture est cependant plus stable puisqu'il
possède un point d'appui supplémentaire. Toutes les autres
propriétés du robot voiture sont identiques au robot tricycle, le
deuxième pouvant être ramené au premier en
remplaçant les deux roues avant par une seule placée au centre de
l'axe, et ceci de manière à laisser le centre de rotation
inchangé.
Figure 1.7 : Robot de type voiture.
? Robot omnidirectionnel
Un robot omnidirectionnel est un robot qui peut se d'placer
librement dans toutes les directions. Il est en général
constitué de trois roues décentrées orientables
placées en triangle équilatéral.
L'énorme avantage du robot omnidirectionnel est qu'il
est holonome puis qu'il peut se déplacer dans toutes les directions.
Mais ceci se fait au dépend d'une complexité mécanique
bien plus grande (Figure 1.8).
10
Figure 1.8 : Robot mobile omnidirectionnel.
Chapitre 01
Généralités sur la robotique
mobile
B. Les robots mobiles à chenilles
L'utilisation des chenilles présentées 1'avantage
d'une bonne adhérence au sol .et d'une faculté de franchissement
d'obstacles. L'utilisation est orienté vers l'emploi sur sol
accidenté ou dc mauvaise qualité au niveau dc l'adhérence
(présence de boue, herbe,..).
Figure 1.9 : Exemples de robots mobiles
à chenilles
C. Les robots mobiles marcheurs
Les robots mobiles marcheurs sont destinés à
réaliser des taches variées dont l'accès nu site est
difficile ct dangereux à l'homme. Leur structure dans plusieurs
degrés de liberté permet un rapprochement avec les robots
manipulateurs. On distingue les robots marcheurs à deux jambes
(humanoïdes), à quatre pattes (type cheval), et a six pattes (type
araignée).
11
Figure 1.10 : Exemples des robots marcheurs
D. Chapitre 01
Généralités sur la robotique mobile
Les robots mobiles rampants
La reptation est une solution de locomotion pour un
environnement de type «tunnel» qui conduit à réaliser
des structures filiformes. Le système est compost d'un ensemble de
module ayant chacun plusieurs mobilités. Ici aussi les techniques
utilisées découlent des méthodes de locomotion des animaux
et des insectes.
E. Autres moyens de locomotion
Les applications de ce type de robots sont très
spécialisées et les architectures des robots sont en
général spécifiques à l'application visée.
(Figure 1.11) [6]
12
Figure 1.11 : Exemple d'un robot violant.
2.4.2.3. Classification selon le domaine
d'application
Bien que le champ d'application des robots mobiles reste
illimité, nous présentons ici quelques domaines d'application.
? Les robots industriels et de service
Il existe des robots mobiles destinés à des
applications industrielles. Celles-ci concernent principalement le transport et
la distribution (dans les usines, les mines, les hôpitaux et les
ateliers), le nettoyage, 1'entretien et la maintenance, la surveillance et la
manutention. Quant aux robots de service, ils sont destinés à
aider des handicapés moteurs, à guider les aveugles el à
piloter des voitures automatiques.
? Les robots militaires
Les applications militaires de la robotique mobile sont
nombreuses. Ce champ d'application présente l'intérêt de
fournir des spécifications serrées telles que la vitesse des
véhicules, leurs capacités de franchissement des obstacles et
leur rapidité de réaction.
? Les robots de laboratoires
De nombreux laboratoires travaillant dans le domaine de la
robotique, disposent de plates-formes expérimentales pour valider des
travaux théoriques en perception ou en planification de mouvement.
Chapitre 01
Généralités sur la robotique mobile
13
Chapitre 01
Généralités sur la robotique mobile
14
2.4.2.4 Classification selon la motricité et
l'énergie
Le déplacement des robots est réalisé par
des moteurs de types :
- Électrique
- Thermique
- Hydraulique
L'énergie électrique la plus fréquemment
employée offre 1'avantage d'une commande
aisée. Par contre le transport et la
génération présentent des difficultés.
Plusieurs méthodes sont employées :
· Par batteries qui soul :
- Soit recharges périodiquement de manière
automatique ou manuelle. - Soit par un échange avec d'autre lorsqu'elles
sont déchargées
· Par groupe électrogène embarqué
dont l'inconvénient constitue la masse élevée,
l'énergie de base est alors thermique.
· Par cordon ombilical qui réduit l'autonomie du
robot.
L'énergie thermique est essentiellement employée
par des véhicules de forte puissance comme énergie de base pour
la traction ou pour activer un compresseur hydraulique.
2.4.3. Caractéristiques d'un robot
Un robot doit être choisi en fonction de l'application
qu'on lui réserve. Voici quelques paramètres à prendre,
éventuellement, en compte :
a) La charge maximale transportable
De quelques kilos à quelques tonnes, à
déterminer dans les conditions les plus défavorables (en
élongation maximum).
b) Le volume de travail
Défini comme l'ensemble des points qu'on peut atteindre
par l'organe terminal. Tous les mouvements ne sont pas possibles en tout point
du volume de travail. L'espace (volume) de travail (reachable workspace),
également appelé espace de travail maximal, est le volume de
l'espace que le robot peut atteindre via au moins une orientation. L'espace de
travail dextre (dextrous- workspace) est le volume de l'espace que le robot
peut atteindre avec toutes les orientations possibles organe terminal. Cet
espace de travail est un sous-ensemble de l'espace de travail maximal, [2].
c) Le positionnement absolu
Correspondant à l'erreur entre un point
souhaité (réel), défini par une position et une
orientation dans l'espace cartésien et le point atteint. Il est
calculé via le modèle géométrique inverse du robot.
Cette erreur est due au modèle utilisé, à la
quantification de la mesure de position et à la flexibilité du
système mécanique.
En général, l'erreur de positionnement absolu,
également appelée précision, est de l'ordre de 1 mm.
[2]
d) La répétabilité
Ce paramètre caractérise la capacité que
le robot à retourner vers un point (position, orientation) donné.
La répétabilité correspond à l'erreur maximum de
positionnement sur un point prédéfini dans le cas de trajectoires
répétitives.[2]
e) La vitesse de déplacement
Vitesse maximum en élongation maximum ou
accélération.
Il existe d'autres caractéristique comme: [6]
? La masse du robot.
? Le coût du robot.
? La maintenance, ...
3. Conclusion
Nous avons présenté, dans ce chapitre les robots
mobiles qui sont des véhicules qui
remplacent l'homme dans les taches pénibles et dangereuses
actuellement plus encore dans l'avenir ,les
robots sont utiliser à jouer un rôle de plus en plus
important dans notre vie maie ceci n'annule pas
l'existence de certains problèmes pour assurer une bonne
application de ces robots
Comme exemples de ces problèmes nous citons l'analyse de
l'environnement, planification,
navigation ....
Chapitre:02
Les Microcontrôleurs
Chapitre 2
Les microcontrôleurs
15
1. Introduction
Le microcontrôleur est un objet technique,
intégrant de l'électronique, fait souvent apparaître des
fonctions ayant pour rôle le traitement d'information : opérations
arithmétiques (Addition, multiplication...) ou logiques (ET, OU...)
entre plusieurs signaux d'entrée permettant de générer des
signaux de sortie.
Ces fonctions peuvent être réalisées par
des circuits analogiques ou logiques. Mais, lorsque l'objet technique devient
complexe, et qu'il est alors nécessaire de réaliser un ensemble
important de traitements d'informations, il devient plus simple de faire appel
à une structure à base de microcontrôleur.
2. Définition de PIC
Les microcontrôleurs sont aujourd'hui implantés
dans la plupart des applications grand public ou professionnelles, il en existe
plusieurs familles. La société Américaine Microchip
Technologie a mis au point dans les années 90 un microcontrôleur
CMOS : le PIC (Periphirol Interface contrôler). Ce composant encore
très utilisé à l'heure actuelle, est un compromis entre
simplicité d'emploi, rapidité et prix [11].
Les PIC existent dans plusieurs versions :
· Les UVPROM qui sont effaçable par une source de
rayonnements ultraviolets
· Les OTPROM programmable une seule fois
· Les EEPROM et flash EPROM qui sont effaçables
électriquement.
3. Classification des PICs de Microchip
Actuellement les modèles microchip, sont classes en
trois grandes familles, comportant chacune plusieurs références.
Ces familles sont [11] :
· Base -line : les instructions sont codées sur 12
bits.
· Mide -line : les instructions sont codées sur 14
bits.
· High -end : les instructions sont codées sur 16
bits.
Les PICs sont des composants STATIQUES, Ils peuvent
fonctionner avec des fréquences d'horloge allant du continu
jusqu'à une fréquence max spécifique à chaque
circuit.
Un PIC16F876-04 peut fonctionner avec une horloge allant du
continu jusqu'à 4 MHz. Nous nous limiterons dans ce chapitre à la
famille Mid-Range et particulièrement au PIC 16F876/877. Le tableau 01
indique les différents circuits de la famille 16F87X, [8] :
Chapitre 2
Les microcontrôleurs
Tableau 2.1 : Différents circuit de la
famille 16F87X.
16
Dans notre application, nous avons choisis d'utiliser le PIC
16F877 ; qui contient un espace mémoire plus large que les autres Pics ;
et disponible dans le marché et très utilisé.
4. Identification des PICs
Un PIC est généralement identifié par une
référence de la forme suivante : xx(L)XXyy-zz
xx : famille du composant, actuellement « 12, 14, 16,17 et
18 ».
L : tolérance plus importante de la plage de tension.
XX : type de programme
C : EPROM ou EEPROM
F : flash
yy : identificateur
zz : vitesse maximale du quartz de pilotage
Exemple :
PIC16 F 876 - 20
Familles 10, 12 Fréquence Max=20Mhz
16, 17 ou 18
Type de mémoire et Référence à
d'Alimentation 2 ou 3 chiffres
F Flash 4,5 à 6 V
C EEPROM ou EPROM 4,5 à 6 V CR ROM 4,5 à 6 V
LF Flash 2 à 6 V
LC EEPROM ou EPROM 2,5 à 6 V LCR ROM 2,5 à 6 V
Chapitre 2
Les microcontrôleurs
17
5. PIC 16F877:
Le pic 16F877 est un circuit intègre contenu dans un
boîtier nommer « DIL 40 », il présente 40 broches, 20 de
chaque côté. Les broches sont virtuellement
numérotées de 1 à 40. La 1ere broche est placé dans
le coin situé à gauche de l'encoche de repérage [11].
Figure 2.12 : Les pins du 16F877
5.1. Les PINS de 16F877
A. MCLR
Cette broche sert à initialiser le
microcontrôleur. Un front montant sur MCLR déclenche
l'initialisation du microcontrôleur.
·
Chapitre 2
Les microcontrôleurs
18
EXTERNAL RESET (Mise à l'état bas de MCLR). Remise
à zéro extérieure. Il faut appliquer un niveau bas sur
l'entrée RESET pendant au moins 2ìS pour que l'Initialisation
soit prise en compte.
· WDT: Chien de garde (Watch dog timer).
Si le WDT arrive à la fin du temps de garde sans avoir
été rafraîchi il y aura alors une initialisation du
microcontrôleur.
· BOR: Baisse de l'alimentation.
Si la tension VDD chute en dessous de
4V pendant 100ìS au moins, le
microcontrôleur peut générer un RESET.
B. Oscillateur OSC1 et OS ou CLKIN et CLOUT.
Ces broches permettent de faire fonctionner l'oscillateur
interne du PIC. On peut utiliser
3 types d'oscillateurs :
- Un quartz ou résonateur céramique
- Un oscillateur externe
- Un réseau RC
C. Alimentation VDD et VSS.
Ce sont les broches d'alimentation du circuit. Les tensions qui
peuvent être appliquées vont :
- De 4,5V à 6V pour la gamme standard
F.
- De 2 à 6V pour la gamme étendue
LF.
L'intensité du courant consommé peut aller de
1ìA à 10mA.
La consommation du microcontrôleur sera fonction de :
- La tension d'alimentation.
- La fréquence interne.
- Le mode de fonctionnement.
5.2. Les particularités des ports
*Les 5 ports sont d'entrées sorties (input/output), ils
sont bidirectionnels :
-Le port A (6 bits) I/O pure et/ou convertisseur analogique
et/ou TIMER 0.
-Le port B (8 bits) I/O pure et/ou programmation in situ
ICSP/ICD, RB0 est entrée d'interruption
externe.
-Le port C (8 bits) I/O pure et/ou SPI/I2C et/ou USART.
-Le port D (8 bits) I/O pure et/ou port parallèle 8 bits
associé au port E.
-Le port E (3 bits) I/O pure et/ou pilotage du port E RE0/R,
RE1/WR et RE/CS.
Chapitre 2
Les microcontrôleurs
19
5.3. Caractéristiques principales de PIC 16F87X
Les éléments essentiels du PIC 16F876 sont [10]
:
· Une mémoire programme de type EEPROM flash de
8K mots de 14 bits
· Une RAM donnée de 368 octets
· Une mémoire EEPROM de 256 octets
· Trois ports d'entrée sortie, A (6 bits), B (8
bits), C (8 bits)
· Convertisseur Analogiques numériques 10 bits
à 5 canaux
· USART, Port série universel, mode asynchrone
(RS232) et mode synchrone
· SSP, Port série synchrone
· Trois TIMERS avec leurs Prescalers, TMR0, TMR1,
TMR2
· Deux modules de comparaison et Capture CCP1 et CCP2
· Un chien de garde
· 13 sources d'interruption
· Générateur d'horloge, à quartz
(jusqu' à 20 MHz) ou à Oscillateur RC
· Fonctionnement en mode sleep pour réduction de
la consommation
· Programmation par mode ICSP (In Circuit Serial
Programming) 12V ou 5V
· Possibilité aux applications utilisateur
d'accéder à la mémoire programme
· Tension de fonctionnement de 2 à 5V
· Jeux de 35 instructions
5.4. Architecture interne du16F877
Comme pour tous les circuits intègre, chacun de ses
broches à une ou plusieurs fonctions qui sont résumées par
un sigle mnémotechnique. Ce microcontrôleur présente une
architecture Harward, les données sont placées dans une
mémoire de type RAM de 368 bytes. La mémoire de programme est
constituée de mot de 14 bytes, est type FLASH (non volatile). Ces
ressources sont donc précieuses, en comparaison de celles d'autres
composantes. Le 16F877 possède encore 5 ports (A à E) et 3
temporisateurs (timers), ce diagramme bloc présente les composantes du
16F877 :
Chapitre 2
Les microcontrôleurs
Contrôle ALU
Mémoires
Timers, EEPROM, A/D, UART
Ports I/O
Figure 2.13: Architecture interne du PIC
16F877
20
5.5. Chapitre 2
Les microcontrôleurs
21
Chapitre 2
Les microcontrôleurs
22
Les éléments de base du PIC 16F877
[10]
5.5.1. L'Horloge
L'horloge peut être soit interne soit externe. L'horloge
interne est constituée d'un oscillateur à quartz ou d'un
oscillateur RC. Avec l'oscillateur à Quartz, on peut avoir des
fréquences allant jusqu'à 20 MHz selon le type de uc. Le filtre
passe bas (Rs, C1, ) limite les harmoniques dus à
l'écrêtage et Réduit l'amplitude de l'oscillation, il n'est
pas obligatoire (Figure.14).
Figure 2.14 : Un quartz ou résonateur
céramique.
5.5.2. L'ALU et l'Accumulateur W
L'ALU est une Unité Arithmétique et Logique
à 8 Bits qui réalise les opérations arithmétiques
et logique de base. L'accumulateur W est un registre de travail 8 bits, toutes
les opérations à deux opérandes passent par lui. On peut
avoir :
- Une instruction sur un seul opérande qui est en
général un registre situé dans la RAM
- Une instruction sur 2 opérandes. Dans ce cas, l'un
des deux opérandes est toujours l'accumulateur W, l'autre peut
être soit un registre soit une constante.
Pour les instructions dont un des opérandes est un
registre, le résultat peut être récupéré soit
dans l'accumulateur, soit dans le registre lui-même.
5.5.3. Les mémoires du PIC 16F877
Les mémoires sont de trois types différents [11] :
A. La mémoire FLASH
C'est une mémoire programme de taille 8ko.Chaque case
mémoire unitaire est de taille 13 bits. Cette mémoire est de type
mémoires stable, c'est-à-dire qu'on peut réécrire
dessus à volonté, car le 16F877 est caractérisé par
la possibilité d'écrire des données. La zone
mémoire est caractérisée par une adresse de 13 bits, alors
ceci nous impose donc pour l'adressage les
registres EEAR et EEADRH. De même, nous aurons pour les
données, les registres EEDATA et EEDATH. Le PIC commence
l'exécution à l'adresse 0000H. De plus, lorsqu'il y a une
interruption, le PIC va à l'adresse 0004H. Il est donc nécessaire
de bien organiser le programme si celui-ci utilise des interruptions. Le
programme exécutable par le PIC est implanté dans la
mémoire flash à l'aide d'un programmateur (hard+soft).
B. La mémoire RAM
Cette mémoire de taille 368 octets est une
mémoire d'accès rapide et elle est volatile (les données
seront perdus lorsque elle n'est plus sous tentions). Elle contient tous les
registres de configuration du PIC ainsi que les différents registres de
données. Elle contient également les variables utilisées
par le programme. La RAM est la mémoire la plus utilisée. Toutes
les données qui y sont stockées sont perdues lors d'une coupure
de courant.
La RAM est subdivisée de plus en deux parties dans
chacune on trouve des « cases mémoire spéciales »
appelée REGISTRES SPECIAUX et des cases mémoire « libre
» dont on peut se servir provoque un fonctionnement spécial du PIC
ou la mise en service d'une fonction particulière.
C. L'EPROM Interne
Le pic 16F877contient également la mémoire
électriquement effaçable, réecrivable et stable. Ce type
de mémoire est d'accès plus lent. Pour gérer cette EEPROM
on a besoin de quatre registres, à savoir EEDR, EEDATA, EECON1 et
EECON2. Le registre EEADR est utilisé pour placer l'adresse relative en
EEPROM, tandis que le EEDATA contient la donnée à lire ou
à écrire. L'adresse relative de l'accès EEPROM est donc
comprise entre 0000 et 00FF ce qui nous permet d'utiliser un registre de huit
bit pour définir cette adresse.
5.5.4. Organisation de la mémoire
Comme les PICs utilisent un bus pour les
instructions et un bus pour les données, il faut considérer deux
plans mémoire l'un pour les instructions et l'autre pour les
données ainsi que les registres internes.
Chapitre 2
Les microcontrôleurs
23
Figure 2.15 : Plan Mémoire pour les
instructions (Code programme)
Le plan mémoire est linéaire ; les adresses vont
de 0000h à 1FFFh (8k
mots de 14 bits), par page de 2K
mots. On peut remarquer, le vecteur de reset est figé en
0000h. Les PICs n'ont qu'un seul vecteur
d'interruption en 0004h. Lors d'une interruption, le
sous-programme associé devra déterminer quel
périphérique a demandé une interruption. La pile
utilisée par les sous programmes n'est pas implantée en
mémoire de donnée comme avec les microcontrôleurs
classiques, mais dans la mémoire programme. Elles sont utilisées
lors d'appels de sous programmes, on ne peut pas imbriquer plus de 8
sous programmes.
5.5.5 Les Timers
Notre PIC possède 3 timers qui sont :
-Le Timer0 (8bits) : il peut être
incrémenté par des impulsions extérieures via la broche
(TOCKI/RA4) ou par l'horloge interne Fosc/4 (mode Timer).
-Le Timer1 (16 bits) : il peut être
incrémenté soit par l'horloge interne par des impulsions sur la
broche T1CKI/RC0 ou par un oscillateur (RC ou quartz) connecté sur les
broches T1OSO/RC0 et T1OSI/RC1.
- Le Timer2 (8bits) : il est incrémenté par
l'horloge interne, celle peut être pré divisée.
Chapitre 2
Les microcontrôleurs
24
Chapitre 2
Les microcontrôleurs
25
Tous ces timers peuvent déclencher une interruption
interne, s'ils ont été autorisés. 5.5.6 Le
convertisseur
Le CAN est un périphérique intégré
destiné à mesurer une tension et la convertir en nombre binaire
qui pourra être utilisé par un programme. Notre 16F877 travaille
avec un convertisseur analogique/numérique qui permet un
échantillonnage sur 10 bits. Le signal numérique peut donc
prendre 1024 valeurs possibles. On sait que pour pouvoir numériser une
grandeur, nous devons connaître la valeur minimale qu'elle peut prendre,
ainsi que sa valeur maximale, Les pics considèrent par défaut que
la valeur minimale correspond à leur Vss
d'alimentation, tandis que la valeur maximale correspond à la
tension positive d'alimentation Vdd [11].
Le module de conversion utilise 4 registres disposés comme
suit :
*Registre de Résultat uigh (ADRESu)
*Registre de Résultat Low (ADRESL)
*Registre 0 de Contrôle (ADCON0)
*Registre 1 de Contrôle (ADCON1)
Regardons cela de prés dans la figure ci-dessous :
Configuration interne du module de convertisseur
analogique/numérique :
Figure 2.16 : module du convertisseur
5.6. Les instructions du 16F876/877
Tous les PICs Mid-Range ont un jeu de 35 instructions. Chaque
instruction est codée sur un mot de 14 bits qui contient le code
opération (CO) ainsi que l'opérande. Toutes les instructions sont
exécutées en un cycle d'horloge, à part les instructions
de saut qui sont
exécutées en 2 cycles d'horloge. Sachant que
l'horloge système est égale à fosc/4, si on utilise un
quartz de 4MHz, on obtient une horloge fosc/4 = 1000000 cycles/seconde, cela
nous donne une puissance de l'ordre de 1MIPS (1 Million d' Instructions Par
Seconde). Avec un quartz de 20MHz, on obtient une vitesse de traitement de 5
MIPS [10].
a) Les instructions « orientées
Registre»
Ce sont des instructions qui manipulent un octet se trouvant
dans la RAM. Ça peut être un registre de configuration SFR ou une
case mémoire quelconque (Registre GPR)
b) Les instructions « orientées bits
»
Ce sont des instructions destinées à manipuler
directement un bit d'un registre que ce soit un registre de configuration SFR
ou une case mémoire quelconque (registre GPR). Tous les bits de la RAM
peuvent être manipulés individuellement.
c) Les instructions opérant sur une
constante
Ce sont les instructions entre l'accumulateur W est une
constante K
d) Les instructions de saut et appel de
procédures
Ce sont les instructions qui permettent de sauter à une
autre position dans le programme et de continuer l'exécution du
programme à partir de cette position.
5.7 Les interruptions
Une interruption provoque l'arrêt du programme principal
pour aller exécuter une procédure d'interruption. A la fin de
cette procédure, le microcontrôleur reprend le programme principal
à l'endroit où il l'a laissé. A chaque interruption sont
associés deux bits, un bit de validation et un drapeau. Le premier
permet d'autoriser ou non l'interruption, le second permet au programmeur de
savoir de quelle interruption il s'agit [10].
Sur le 16F876/877, l'es interruptions sont classées en
deux catégories, les interruptions primaires et les interruptions
périphériques. Elles sont gérées par les
registres.
Le microcontrôleur dispose de plusieurs sources
d'interruptions.
· Une interruption externe, action sur la broche
INT/RB0.
· Débordement du TIMER0.
· Changement d'état logique sur une des broches du
PORTB (RB4 à RB7).
· Une interruption d'un des périphériques
(PEIE).
· Fin de programmation d'une case mémoire de
l'EEPROM.
·
Chapitre 2
Les microcontrôleurs
26
Changement d'état sur le PORTD
(PSPIE).
· Fin de conversion analogique numérique
(ADIE).
· Réception d'une information sur la liaison
série (RCIE).
· Fin d'émission d'une information sur la liaison
série (TXIE).
· Interruption SPI ou I2C
du module MSSP (SSPIE).
· Interruption du registre de capture et/ou de comparaison
1 (CCPI1E).
· Interruption du registre de capture et/ou de comparaison
2 (CCPI2E).
· Débordement du TIMER1
(TMR1E).
· Débordement du TIMER2
(TMR2E).
· Collision de BUS (BCLIE)
? Mécanisme générale d'une
interruption :
Nous pouvons dire, sans nous tromper de beaucoup, qu'une routine
d'interruption est un sous-programme particulier, déclenché par
l'apparition d'un événement spécifique. Cela a l'air un
peu ardu, mais vous allez voir que c'est très simple.
Figure 2.17 : synoptique des modes
d'interruptions
Chapitre 2
Les microcontrôleurs
27
6. Conclusion
Partant d'une présentation générale sur
les microcontrôleurs, nous avons ensuite défini la famille des
PICs et plus particulièrement le 16F877.
En conclusion dans ce chapitre nous pouvons dire que le
microcontrôleur peut bien jouer le rôle d'une unité de
contrôle pour notre système. Pour fonctionner cette unité
de contrôle, il faut la programmer et l'adapter à un compilateur
de programmation.
CHAPITRE:03
PLANIFICATION DE
LOCALISATION ET
TRAJECTOIRE
Chapitre 03
Planification de localisation et trajectoire
28
1. Introduction
La planification de trajectoire est un problème
clé en robotique et il a été très étudie ces
dernières années. Il apparait dans les différents domaines
de la robotique: robot mobile, programmations automatique des robots
industriels et aide à la télé-opération. Nous nous
intéressons dans ce chapitre au problème de localisation et
planification du déplacement d'un ou plusieurs mobiles dans un
environnement suppose connu, au moins partiellement [12].
En manière générale on peut distinguer les
classes de mouvement suivantes:
- le mouvement entre deux points avec trajectoire libre entre
les points.
- le mouvement entre deux points via des points
intermédiaires, spécifies notamment pour éviter les
obstacles, avec trajectoire libre entre les points intermédiaires:
- le mouvement entre deux points avec trajectoire contrainte
entre les points (trajectoire rectiligne par exemple):
- le mouvement entre deux points via des points
intermédiaires avec trajectoire contrainte entre les points
intermédiaires.
Le problème de planification de trajectoire peut
s'énoncer comme suit:
« Etant donnée une description des
frontières des obstacles et des objets à déplacer (les
mobiles) dans l'espace cartésien, trouver une trajectoire sans collision
amenant les mobiles de leurs positions initiales à leurs positions
finales »
Dans ce chapitre nous avons étudié quelques
méthodes pour la planification de localisation et trajectoire et
à la fin choisi une méthode pour utiliser dans notre travail.
2. Système de localisation
La localisation instantanée est un des points les plus
importants et les plus délicats des
robots mobiles. Elle permet de définir le positionnement
[13]:
? Du mobile dans l'environnement.
? D'élément particulier de l'environnement.
2.1. La localisation du mobile
La localisation du mobile consiste à définir la
position en termes de coordonnées d'un point du mobile à un
référentiel de base. Les techniques à employer sont de
deux types :
2.1.1. Localisation relative
La localisation relative consiste à déterminer
la variation des coordonnées de position lors d'un déplacement.
L'estimation de la position absolue est le résultat de
l'intégration des
Chapitre 03
Planification de localisation et trajectoire
29
déplacements élémentaires.
L'inconvénient de cette méthode réside dans l'accumulation
des erreurs de mesure et de calcul.
2.1.2. Localisation absolue
Les techniques de localisation absolue assurent la mesure de
la position et de l'orientation du mobile à tout instant. Il existe de
nombreuses méthodes de localisation, le choix de la technique est dicte
par le type de la tâche à réaliser. La méthode des
balises est la plus employée. Le principe consiste à mesurer la
distance du mobile aux balises par temps de vol d'une onde (lumineux,
électromagnétique ou acoustiques), la position est
calculée par triangulation.
2.2. La localisation de l'environnement
La localisation de l'environnement présente un
intérêt sur plusieurs plans :
· L'aide à la navigation pour la
détermination de la présence d'obstacles sur une trajectoire
prédéfinie.
· La détermination de la localisation du mobile par
corrélation entre des caractéristiques de l'environnement et une
carte mémorisée.
· Reconnaissance des lieux lors d'un apprentissage. Pour
cela plusieurs techniques sont employées, on cite :
· Les méthodes
télémétriques.
· L'analyse d'image.
· Les méthodes de contact direct.
2.2.1. Les méthodes
télémétriques
Les télémètres utilisent un
émetteur et un récepteur. Selon le rayonnement émis on
distingue les radars, les sonars (ultrasons) ou les
télémètres optiques. La mesure de la distance repose sur
deux approches : la mesure du temps de vol et la méthode de
triangulation.
A) Télémétrie directe par mesure du
temps de vol
En robotique on utilise généralement les ultrasons
et les télémètres à laser.
· Télémètre à ultrasons
:
Ce type de télémètre est
particulièrement simple et bon marche. Il est utilisé en
particulier, sur les robots mobiles pour assurer les suivis de parois ou
constituer une ceinture de sécurité.
Chapitre 03
Planification de localisation et trajectoire
Figure 3.1 : capteur ultrason.
? Télémètre a laser :
Le laser est beaucoup utilise en
télémétrie car il permet de créer des faisceaux
monochromatiques de grande directivité. Il est possible de localiser des
objets situes a quelques dizaines de mètres avec précision de
moins d'un centimètre.
Figure 3.2 : Exemple d'un
télémètre laser. B)
Télémétrie par triangulation
Le principe consiste à mesurer l'angle entre la
direction d'un faisceau émis et celle sous laquelle est vu le point
d'impact sur la cible. On utilise une source active permettant de projeter un
point, une ligne ou même une grille.
Figure 3.3 : Télémétrie
par triangulation
30
Chapitre 03
Planification de localisation et trajectoire
31
Chapitre 03
Planification de localisation et trajectoire
32
Chapitre 03
Planification de localisation et trajectoire
33
2.2.2. L'analyse d'image
La détermination des paramètres particuliers
s'effectue par l'analyse d'une ou de plusieurs images. La
stéréoscopie notamment assure la détermination de
l'information de profondeur (ou distance) de l'environnement. Les
caractéristiques des formes (ex: droites représentant les bords
d'une route) de couleur ou texture sont également employées. Ces
informations assurent la détermination locale de l'environnement.
2.2.3. La localisation par contact
La localisation par contact entre un élément
physique lie au mobile et l'environnement constitue une technique analogue
à la de- marche de l'aveugle. Le principe consiste à tendre un
bras télescopique vers l'environnement. Le relevé de
l'état du bras lors d'un contact définit la position de
l'environnement par rapport au mobile.
3. Planification de trajectoire
3.1. Principe de base
Soit I un système robotique et soit E un environnement
( espace de dimension 2 ou 3) géométriquement décrit dans
un référentiel de base dont les objets sont considères
comme des obstacles fixes. La position I dans E sera appelée placement
du système et sera décrite par un ensemble de coordonnées
définies par rapport au repère de base.
Le problème à résoudre est le suivant :
étant donne deux placements Pi et Pr de I, trouver un «chemin»
permettant a I de se déplacer de Pi a Pr tel que I n, entre pas en
collision avec E.
La recherche de chemin pour le robot mobile dans un
environnement se transforme en un problème de recherche de chemin pour
un point dans un « certain espace » caractéristique du
problème, configuration de 1'espace [12].
3.2. Configuration de l'espace
La notion d'espace des configurations a été
introduite par Udupa qui a fourni l'un des premiers algorithmes de
planification de trajectoires sans collision pour un robot manipulateur (adapte
à un modèle simplifie du manipulateur Stanford).
Elle a ensuite été
généralisée et formalisée par Lozano-Perez et par
Sharir Shwartz sous un angle plus mathématique. Pour définir
l'évolution d'un ensemble de solides, il faut donner un certain nombre
de conditions initiales et de lois physiques régissant cette
évolution.
Une configuration du système de solides est un pupitre
de réels indiquant la position et l'orientation de ce système.
L'objectif de l'espace des configurations est de trouver une séquence de
positions et d'orientations permettant de déplacer un dispositif de
forme donnée a priori dans un espace contenant des obstacles.
L'espace de travail est un sous ensemble de l'espace
euclidien d*d ou on définit des obstacles qui ont une forme
géométrique simple. Le robot mobile est spécifié
par sa position et par son orientation, il existe trois configurations.
Représentées dans la Figure 3.4.
-Configuration libre.
-Configuration de contact.
- Configuration de collision.
Y
X
Figure 3.4: Les différentes
configurations de l'espace
3.3. Construction du modèle de l'environnement
Le robot mobile doit modéliser son espace de travail
et le rendre connu pour se déplacer et exécuter ses tâches.
La représentation du modèle de l'environnement se fait par des
méthodes de modélisations. Et qui peuvent être
regroupées en deux catégories [14]
- Les méthodes par grille ou par codage.
- Les modèles géométriques.
3.3.1. Modélisation par grille
La modélisation par grille a été
utilisée dans les premiers travaux de recherche d'un chemin optimal car
cette représentation en prête à une programmation directe.
Cette méthode consiste à découper l'espace bidimensionnel
en un ensemble de cellules rectangulaires de mêmes dimensions
juxtaposées dont l'appartenance à une zone autorisée ou
interdite est booléenne. La
capacité mémoire nécessaire pour
mémoriser l'ensemble des coordonnées des cellules est
importante.
3.3.2. Modèles géométrique
Cette méthode consiste à diviser l'espace de
travail à des cellules polygonales. Le passage d'une cellule à la
suivante s'effectue par le centre des segments. L'ensemble des cellules
composées est représenté sous forme de graphe dont les
sommets et les arcs de liaison représentent respectivement les cellules
et les passages possible entre deux cellules.
Un regroupement des cellules en famille permet de
créer un graphe réduit, dont la détermination est
réalisée par la recherche des arcs de passage obligatoire pour
accéder au groupe des cellules considérées.
La recherche de chemin est réalisé en deux
étapes selon des niveaux de graphes élaborés Les
méthodes de résolution du problème de la planification de
mouvement sont nombreuses, et qui peuvent être regroupées en deux
catégories géométriques et cinématique.
3.4. L'approche globale
L'approche globale c'est une méthode utilisé
dans le cas d'un environnement partiellement ou complètement connu. Elle
utilise un modèle de l'espace libre dont l'espace de configuration
permet la recherche exhaustive de la trajectoire de cout minimum au sens de
critère donné ou de conclure à la non-exhaustive d'une
trajectoire amenant le système de la configuration initiale à la
configuration finale. Notons que cette approche est très couteuse en
temps de calcul qu'en occupation mémoire, mais son avantage consiste
à la garantie d'arrivée au but en suivant un chemin optimal.
Une multitude des méthodes ont à ce jour
été proposées nous mentionnons ci-dessous quelques
méthodes:
· Méthode de décomposition cellulaire.
· Méthode de roadmap.
· Méthode des vecteurs de traversabilité.
3.4.1. Méthode de décomposition
cellulaire
La méthode de décomposition cellulaire consiste
à décomposer dans un premier temps l'espace libre dans un
ensemble des cellules et à représenter leurs relations
d'adjacence dans un graphe. Ensuite ce graphe est explore, menant à une
succession de cellules adjacentes qui relient celles contenant les
configurations initiale et finale. Ces configurations sont alors reliées
par une trajectoire qui traverse la succession de cellules.
Chapitre 03
Planification de localisation et trajectoire
Une limitation sévère de la méthode de
décomposition cellulaire et que le nombre de cellules nécessaire
pour représenter l'espace libre croit exponentiellement avec la
dimension de I' espace de travail. Cette méthode se restreigne ainsi en
pratique à des cas de faibles dimensions.
Cellule libre Cellule occupé
|
|
|
34
Figure (3.5): Relation d'adjacence.
3.4.2. Méthode de vecteurs de
traversabilité
Une autre méthode emploi la notion de
traversabilité à travers un groupe d'obstacles. Dans cette
méthode l'obstacle est modélisé par un polygone convexe
den arêtes dans R2. Le t-vecteur d'un point p(x, y) de R vis avis d'un
obstacle Oi note t(i, j) est définit comme un n-uples vecteur ligne
binaire.
3.4.3. Méthode de roadmap
Roadmap est un réseau de courbes qui
représentent la connexité de l'espace libre avec les obstacles
existants. Le problème de la planification de trajectoire est alors
résolu, en connectant la position initiale et finale à la roadmap
par des chemins admissibles. Le problème essentiel est la construction
de la roadmap, dans le cas d'un espace de dimension deux et qui est peuple par
des obstacles polygonaux. La roadmap est constituée par des segments
reliant deux sommets de polygones différents et qui ne traversent aucun
obstacle. On peut aussi l'appeler graphe de visibilité
3.5. L'approche locale
Les techniques locales n'utilisent pas de modèle
complet de l'espace libre. Elles sont sans mémoire, et ne prennent en
compte à une instante donne que l'environnement proche du mobile pour
modifier une trajectoire de consigne.
Ces méthodes sont attrayantes par leur
simplicité, bien sûr elles présentent un
inconvénient majeur de ne pas pouvoir suivre le chemin optimal. Le
système peut être bloqué par des dispositions concaves
d'obstacle. Ces méthodes sont beaucoup moins couteuses et ne utilises
Chapitre 03
Planification de localisation et trajectoire
pour acquérir des informations nécessaires au
fur et à mesure de déplacement les méthodes locales
existantes sont [14]:
· Méthode de champs de potentiel.
· La méthode myopique.
3.5.1. Méthode myopique
Cette méthode est inspirée du comportement d'un
aveugle évoluant dans un environnement inconnu en détectant les
parois des obstacles avec sa canne. L'algorithme de contournement d'obstacle
permet au robot mobile d'évoluer en fonction des informations issues des
capteurs. II part de l'hypothèse que s'il existe un chemin entre un
point initial Po et un point finale Pn l'algorithme est
capable de le déterminer en longeant les obstacles présents sur
la trajectoire du robot. Si le lieu d'évolution ne comporte pas
d'obstacle entre les points de départ et d'arrivée, la
trajectoire est la droite passant par les points Po (Xo,
Yo) et Pn (Xn,Yn) . La figure 3.6
représente cette méthode [12].
En présence d'obstacles, on définit des points
intermédiaires en fonction des obstacles, à contourner.
L'ensemble des segments joignant ces points constitue la trajectoire de
contournement.
X
Pn(Xn,Yn)
P2 (X2,Y2)
P1(X1,Y1)
Po (Xo,Yo)
Y
35
Figure 3.6 : Contournement dans le cas de la
méthode myopique.
Chapitre 03
Planification de localisation et trajectoire
36
3.5.2. Méthode de champs de potentiel
La méthode considère que le mobile évolue
dans un champ de forces dont le but est un pôle attractif alors que les
obstacles sont répulsifs. L'amplitude de la force de répulsion
est une fonction de l'inverse de la distance entre le mobile et l'obstacle
alors que la force d'attraction est une fonction de la distance à
parcourir jusqu' au but [14].
Obstacle
Départ
Figure 3.7: Principe d'évolution d'un
robot mobile par la méthode de champs de potentiel
5. Evitement des obstacles en logique floue
4.1. Principe
Au cours de sa mission, un robot mobile élabore des
lois de contrôles et prend des décisions à partir de la
connaissance de son environnement. Les données qui proviennent des
différents capteurs embarqués à bord du robot mobile sont
parfois peu précises, peu fiables et quelquefois manquantes qui
influence sur l'objectif qu'il doit atteindre. Le contrôle de robots
mobile est classé dans la catégorie de problèmes qui sont
trop complexes. Généralement ces systèmes utilisent des
capteurs à ultrasons, ces capteurs n'ont pas une capacité de
détection précise. Les techniques de l'intelligence artificielle
basée sur la logique floue sont considérées comme une
solution très intéressante pour les systèmes non
linéaires où il est difficile d'établir un modèle
mathématique [10].
La logique floue fournit un meilleur moyen d'automatiser les
expertises humaines, donc gain de temps et d'espace mémoire, ce qui
donne une rapidité considérable à ses moteurs
d'inférence par apport aux méthodes classiques. Des
expériences ont montrés qu'un contrôleur flou donne des
résultats supérieurs que les contrôleurs classiques, et
parfois même de meilleurs résultats que l'opérateur humain.
La logique floue a montré son efficacité dans la gestion de
l'incertitude et/ou l'incomplétude des données, ce qui en fait un
outil robuste, simple et adéquat pour traiter ces problèmes.
Chapitre 03
Planification de localisation et trajectoire
37
Chapitre 03
Planification de localisation et trajectoire
38
Dans ce travail, notre objectif est d'utiliser la logique
floue pour l'évitement d'obstacles d'un robot mobile en utilisant un
minimum de matériel.
4.2. Problématique
Il s'agit ici d'éviter la collision du robot avec les
obstacles présents dans l'environnement. On ne se soucie pas de la
direction que prend le robot pour éviter l'obstacle ni de la
mémorisation des obstacles rencontrés. Pas de construction de
carte.
La définition d'un problème en logique floue se
décompose en trois parties principales : ? Définition des
variables : quelles sont les entrées, les sorties disponibles et
pertinentes. ? Partitionnement des domaines de définitions de ces
variables, on crée alors des sous-ensembles flous (obstacle près,
très près ou éloigné).
? Définition des règles qui vont donner un
comportement à suivre pour chacune des Situations.
4.3. Définition des variables
Le problème de l'évitement d'obstacles doit
forcément s'appuyer sur des capteurs donnant des renseignements sur
l'environnement. Nous utiliserons ici des capteurs à ultrasons. Un
capteur nous permet de relever les distances des obstacles situés dans
les zones droites, gauche et devant (Figure 3.8).
Figure 3.8 : Les secteurs de détection
du robot
Nos règles possèderont donc trois variables
d'entrées. Voyons maintenant les variables de sorties :
Pour déplacer le robot, on fournit au robot une valeur
d'angle et une valeur de distance. Dans notre cas, nous ne peux coupler les
deux, on doit effectuer les actions successivement. Nous choisissons d'abord de
tourner puis d'avancer. On peut noter que cette notion d'ordre dans lequel on
effectue les actions pourrait faire partie des variables de sortie des
règles.
La variable d'angle est donnée en degrés, en
valeur négative pour tourner à gauche, et positive pour tourner
à droite. La distance est donnée en centimètres, positive
pour avancer et négative pour reculer (Figure 3.9).
Figure 3.9 : La fonction d'appartenance.
4.4. Partitionner les domaines variables
Ensuite, nous avant partitionner ces variables : les variables de
gauche et de droite seront identiques (le robot n'est pas droitier ni gaucher
et possède donc une symétrie exacte).dans la figure suivante :
Figure 3.10 : Variables droite et gauche
Par contre, on peut très bien choisir un découpage
différent pour la variable devant. Voici le donc le partitionnement
proposé (Figure 3.11) :
Figure 3.11 : Variable devant.
Ensuite nous avant partitionner les variables de sorties angle
et distance. La variable angle va être la première à
être utilisée et va permettre de donner au robot la future
direction de navigation. Pour ne pas donner trop de variations dans le
mouvement du robot (aller et retour sur un même axe) le domaine de
définition de la variable angle sera : 90 à -90. Plus l'angle
sera
Chapitre 03
Planification de localisation et trajectoire
39
faible plus nous aurons besoin d'être précis,
plus l'angle sera grand plus de sous ensemble sera grand (Figure 3.12).
Figure 3.12 : Variable angle
Il reste enfin le partitionnement de la variable distance. Comme
il exclut de faire avancer d'un seul coup le robot à plus de 20cm, nous
limiterons le domaine de définition de (-10 à 20 cm) (Figure
3.13). Nous combiner ces variables dans un ensemble de règles (voir
ANNEXE A).
Figure 3.13 : Variable distance (cm)
5. Conclusion
Nous avons présenté dans ce chapitre les
méthodes de planification et de localisation de trajectoire pour les
robots, et en cas particuléer pour les robots mobiles.
Les méthodes données restent jusqu'aujourd'hui
une matière première aux différentes
améliorations.
Pour notre robot mobile nous allons utiliser la localisation
par triangulation qui est simple et peut être réalisée en
utilisant les moyens existants dans notre laboratoire.
CHAPITRE:04
RéAlISATION PRATIQUE
Réalisation pratique
Chapitre 04
40
1. Introduction
L'idée principale de ce projet été de
réaliser un robot mobile type voiture puis de le guider
automatiquement en l'obligeant à suivre une trajectoire.
Ce qui fait que ce travail a été divisé en trois parties,
une partie commande et l'autre mécanique et informatique.
La réalisation de ce véhicule requiert diverses
notions dans plusieurs domaines : électronique, informatique,
électrotechnique et mécanique, ce qu'on appelle brièvement
Robotique.
La commande de ce véhicule sera assurée
principalement par carte de commande à base de microcontrôleur
PIC, et deux moteur pas à pas alimenté par commutateur de
puissance ULN 2803 [1].
2. Schéma bloc
La figure suivante représente les étages qui
constituent notre robot mobile (Figure 3.1).
Carte de
Commande et de puissance
Figure 4.1 : Schéma bloc du robot
mobile.
Capteur de distance
Signal numérique
Commande
et mécanisme
Les moteurs
3. Partie de commande
La carte de commande se compose des capteurs de distance
(infrarouge ou ultrasoniques)
pour la détection des obstacles et la carte à
pic (16f 877) pour la commande du robot et un commutateur de puissance ULN2803
pour la commande de deux moteurs pas à pas.
Chapitre 04
Réalisation pratique
41
3.1. Les Capteurs
Un capteur est un dispositif transformant l'état d'une
grandeur physique observée en une grandeur utilisable, nos
étudies les capteurs ultrason pour utiliser dans notre robot :
? Le capteur ultrasonique [13]
Les capteurs ultrasons fonctionnent en mesurant le temps de
retour d'une onde sonore inaudible par l'homme émise par le capteur. La
vitesse du son étant à peu près stable, on en
déduit la distance à l'obstacle (figure 4.2).
Figure 4.2 : Schéma synoptique d'un
capteur ultrasonique.
Comme il est décrit précédemment, on
utilise ces capteurs pour localiser le robot par rapport à des obstacles
statiques ou dynamiques, ce capteur repose sur l'idée de calculer le
temps de vol d'un signal ultrasonique depuis son point de départ (Figure
4.2). Alors si la distance entre le transducteur et l'obstacle est « D
» donc la distance parcourue par l'onde ultrasonique est « 2D »,
le temps du parcoure est donné par :
/
Ou : T : le temps entre l'émission et la
réception.
D : distance entre le transducteur et l'obstacle.
Vson : la vitesse de déplacement des ultrasons dans
l'aire.
Généralement, l'air est la porteuse de l'onde
ultrasonique, cette dernière se propage, alors, à la même
vitesse que le son (célérité de l'onde sonore).
Physiquement et mathématiquement la vitesse du son ne dépend pas
de la fréquence du signal sonore, mais du type du milieu, de la pression
et de la température suivant la relation mathématique suivante
:
v / v /
Réalisation pratique
Chapitre 04
42
Vson : Célérité du son.
E =Y.P : Coefficient d'élasticité du gaz. p :
Densité de l'air (1.293 Kg/m3).
3.2 La carte à PIC 16F877
3.2.1. Principe
Indépendamment de ce qu'on veut faire (chapitre 02) de
40 lignes de PIC (que l'on définit par lignes d'entrée/sortie) et
quelle que soit l'application à laquelle on le destine, un
microcontrôleur PIC 16F877, pour pouvoir fonctionner, a
nécessairement besoin de :
- Une alimentation de 5 Volts.
- Un quartz et deux condensateurs (si un pilotage précis
par base de temps à quartz est nécessaire), ou une
résistance et un condensateur (pour une base de temps de type RC,
économique, utilisable dans les cas ne demandant pas une extrême
précision de cadencement) - Un condensateur de découplage (pour
réduire les transitoires se formant inévitablement dans tout
système impulsionnel).
- Un bouton poussoir et une résistance, pour la mise en
place d'une commande de Reset.
Ces éléments (qu'il convient de
considérer comme des invariants devant nécessairement figurer
dans tout montage) représentent le cortège obligatoire de tout
microcontrôleur PIC 16F877, de la même façon un transistor
demande, pour fonctionner, une résistance de Base et une
résistance de Collecteur.
Les applications type sont les suivantes :
1
13
PIC
16F8XX
1
13
14
PIC
16F8XX
C1
R
GND
R
X1
C1
GND
1) Pilotage par quartz 2) Pilotage par
oscillateur RC
Figure 4.3 : Les deux types de pilotage
Chapitre 04
Réalisation pratique
43
Pour notre robot nous avons choisi l'oscillateur par quartz pour
ce qu'il ce type est simple et plus utilisé.
3.2.2. Schéma électronique
Le schéma électronique de la PIC avec son
oscillateur est présenté dans la figure suivante :
Figure 4.4 : Schéma électronique
de la PIC avec oscillateur. 3.3. Commutateur de puissance
ULN2803
Le circuit intégré ULN2803 (Figure 4.5) qui a le
rôle de transformer les signaux numériques en des signaux pouvant
effectivement alimenter les deux moteurs.
Le circuit intégré ULN2803 est à la base
de ce commutateur, il est composé de 8 darlington (deux transistors NPN
montés en cascade) de puissance et de diodes de protection. Chaque
étage d'amplification inverseur qui adapte le niveau de tension et
d'intensité TTL de l'entrée pour fournir une intensité
jusqu'à 500mA sous une tension pouvant aller jusqu'à 50V en
sortie, Afin d'alimenter les huit phases de deux moteurs, on a utilisé
les huit Darlington. Les impulsions attaquant les Darlington commutent les
bobines des deux moteurs à la masse.
La Figure 4.6 donne le schéma interne de l'ULN2803
Figure 4.5: ULN 2803
Chapitre 04
Réalisation pratique
44
Figure 4.6: schéma interne de l'ULN2803
La structure interne du Darlington est donnée sur la Figure 4.7:
Figure 4.7: Montage d'un Darlington
Pour bien comprendre le fonctionnement de ce circuit
intégré dans notre montage visualiser la Figure 4.8.
ULN2803
M2
M1
Figure 4.8 : Bloc de commutateur de puissance
avec les moteurs
Chapitre 04
Réalisation pratique
45
3.4. Alimentation
Nous avons besoin de deux alimentations continues, une de 5V
pour alimenter le PIC, et une autre entre 8 et 12V pour le commutateur de
puissance ULN 2803 et les deux moteurs. Nous avons utilisé 10 batteries
de 1.5V en série. Les batteries utilisées sont des batteries de
Lithium de taille AA, tension 1.5V donc l'ensemble de tension égale
à 15 V , il est donc nécessaire d'abaisser la tension
d'alimentation à 5V pour le PIC et 12 pour les moteur, nous avons
prévu un circuit intégré de régulateur 7805 pour le
5V et 7812 pour le 12 et des capacités de filtrage comme
représenté dons la Figure 4.9.
Figure 4.9: Régulateurs de tension.
a) Nomenclature
? C1, , C3 : 10 nF
? U1 : 7812
? U2 : 7805
b) La carte régulateur de tension
réalisée est représentée dans la figure
4.10
Figure 4.10 : La carte de régulateur de
tension réel.
Chapitre 04
Réalisation pratique
46
3.5. Schéma électronique de carte de
commande
La figure suivante est donné le montage utilisé
pour réaliser schéma électronique de PIC16F877 avec
commutateur de puissance ULN2803 et l'alimentation :
Figure 4.11 : Schéma
électronique de la Carte de commande.
Cette carte est composée de :
? Tension d'alimentation de 5 Volts pour le PIC .
? Tension d'alimentation de 12 Volts pour le commutateur de
puissance ULN2803.
? Microcontrôleur PIC 16F877.
? Commutateur de puissance ULN2803.
? Horloge d'oscillateur (fréquence 4 MHz).
Chapitre 04
Réalisation pratique
? Réalisation
Dans les figures suivantes on peut voir les schémas de
la carte de commande coté de cuivre et coté de composants
réalisée par le logiciel de simulation PROTEUSE.
A) carte de commande en 3 dimensions B) carte de commande
cotée composants
Figure 4.12 : Carte de commande
réalisée par le logiciel PROTEUSE.
47
a) Carte de commande cotée composants b) Carte de commande
cotée cuivre.
Figure 4.13 : Deux faces de la carte de
commande.
? Nomenclature
Les composants implantés dans la carte de commande sont
:
- R1: 1k?. - ULN2803. - C1, : 22pF.
- CI1: PIC 16F877. - Quartez 4MHz. - 37 connecteurs. - 8 LED
rouge
Chapitre 04
Réalisation pratique
48
La carte de d'interface réalisée est
représentée dans la figure 4.14 Suivante :
Figure 4.14 : La carte d'interface
réelle.
4. Partie mécanique :
La partie mécanique est composée de deux moteurs et
son mécanisme
4.1. Moteurs électriques
Le moteur électrique a pris une place
prépondérante parmi les actionneurs utilisés dans la
robotique parce qu'il a un certain nombre d'avantages parmi lesquels : [3]
Une énergie facilement disponible, soit à partir
du secteur soit à partir des batteries pour les engins autonomes.
Une adaptation aisée de l'actionneur et de sa commande
du fait de la nature électrique de l'ensemble des grandeurs.
4.2. Types de moteurs utilises
Les moteurs rencontrés dans le domaine de la robotique
sont essentiellement de trois types : [3]
? Le moteur à courant continu: représente la
solution traditionnelle lorsqu'on a besoin de commander une vitesse ou une
position, mais nécessite un asservissement.
? Le moteur à courant continu sans balais: est en fait
une machine alternative associée à un commutateur
électronique qui peut remplacer le moteur à courant continu
classique avec des caractéristiques similaires.
Le moteur pas à pas: est à la base un actionneur de
positionnement ne nécessitant pas
Chapitre 04
Réalisation pratique
49
d'asservissement, mais peut être aussi utilise pour une
commande déplacement.
Parmi ces types nous avons utilisé le moteur pas à
pas pour le mouvement de notre robot.
4.3. Le moteur pas à pas
Il existe trois types de moteur pas à pas: les moteurs
à aimants permanents et les moteurs à réluctance variable
et les moteurs hybrides [16].
Malgré les différences existant entre les
moteurs, le résultat recherché est l'avance d'un seul pas,
c'est-à-dire la rotation de leur axe suivant un angle
déterminé à chaque impulsion que l'une ou l'autre de leurs
différentes bobines recevra. Cet angle, qui varie selon la constitution
interne du moteur, est en général compris entre 0.9° et
90°.
Les moteurs les plus couramment rencontrés
possèdent des pas de :
? 0,9° soit 400 pas par tour. ? 1,8° soit 200 pas
par tour. ? 3,6° soit 100 pas par tour. ? 7,5° soit 48 pas par
tour.
? 15° soit 24 pas par tour.
Il est évident que les moteurs pas à pas, de par
leur technologie, présentent une très grande précision et
une durée de vie quasi illimitée, l'usure mécanique
étant pratiquement inexistante (absence de frottements). La figure
ci-dessous nous montre l'aspect externe d'un moteur pas à pas.
Figure 4.15: Moteur pas à pas
Chapitre 04
Réalisation pratique
Sa structure interne est donnée par la figure suivante
:
50
Figure 4.16: Structure interne d'un moteur pas
à pas 4.4. Les différents types de moteurs pas à
pas
4.4.1 Les moteurs à aimants permanents (moteurs
unipolaires et bipolaires)
Les moteurs à aimants sont ceux que nous utiliserons dans
notre projet de fin d'étude. Ils sont constitués d'un stator
supportant les bobinages et d'un rotor magnétique (aimant bipolaire).
cette catégorie de moteur se subdivise en deux types : le moteur
unipolaire et le moteur bipolaire.
Figure 4.17: Fonctionnement schématique
d'un moteur pas à pas. A. Les moteurs unipolaires
Une représentation schématisée d'un
moteur unipolaire est donnée en Figure I.4. Afin d'inverser le sens du
courant, les enroulements sont réalisés au moyen de deux fils
dont l'une des extrémités est reliée au pôle + ou au
pôle - de l'alimentation. La commande de ce type moteur est la plus
simple de tous les moteurs pas à pas puisqu'il suffira d'alimenter les
bobinages à tour de rôle pour faire tourner l'axe d'un pas. Le
schéma de la Fig I.5 résume la séquence la plus simple.
Chapitre 04
Réalisation pratique
51
Figure 4.18: Représentation
schématique d'un moteur unipolaire
Comme pour chaque type de moteur, le modèle unipolaire
peut être commandé en mode monophasé, biphasé ou
demi-pas.
B. Les moteurs bipolaires
La Figure 4.18 représente la constitution interne d'un
moteur de type bipolaire. Ce type de moteur nécessite une commande plus
complexe que celle du moteur unipolaire, le courant devant changer de sens dans
les enroulements à chaque pas effectué.
Figure 4.19: Représentation
schématique d'un moteur bipolaire
Comme pour le modèle précédent, ce moteur
peut être alimenté sous trois séquences
différentes.
4.4.2. Les moteurs à réluctance
variable
Les moteurs à réluctance variable fonctionnent
selon un principe différent de celui des moteurs à aimants
permanents, Ils possèdent bien évidemment un stator et un rotor,
mais ce dernier est fabriqué en acier doux non magnétique. Il
n'est pas lisse et possède plusieurs
Chapitre 04
Réalisation pratique
52
dents. Ce type de moteur est représenté en Figure
4.20. On peut voir, dans cet exemple, que le stator est composé de 8
plots sur lesquels sont enroulés les bobinages, ce qui donne 4 phases.
Le rotor, quant à lui, ne comporte que 6 dents.
Figure 4.20: Moteur à reluctance
variable
4.4.3. Les moteurs hybrides
Le rotor comporte en périphérie des dentures
polarisées par aimants. La fonction Motors est obtenue par deux effets
:
· Effet de réluctance variable dû aux
dents,
· Propriété des aimants permanents. Ses
principales caractéristiques sont :
· Bonne résolution (jusqu'à 400 pas par
tour).
· Couple plus important que les moteurs à
réluctance variable.
· Fréquence de commutation élevée.
Il est donné sur la Figure 4.21
Figure 4.21 : La structure interne d'un moteur
hybride
4.5. Nombre de phase
Il existe divers types de moteurs pas à pas mais la
principale différence est le nombre de bobines utilisées.
Configuration interne des bobines du moteur :
Chapitre 04
Réalisation pratique
53
Figure 4.22 : Type de fils de moteur pas
à pas.
4.6. Le mode de séquence
Les modes de séquence se distinguent par leur
fonctionnement interne, leur séquence générée, et
par la façon dont on les commande.
4.6.1. Monophasé:
Cette séquence permet normalement d'alimenter une bobine
à la fois, en plaçant à des positions de
détente.
LES PHASES
|
A
|
0
|
0
|
0
|
1
|
B
|
0
|
1
|
0
|
0
|
C
|
0
|
0
|
1
|
0
|
D
|
1
|
0
|
0
|
0
|
Tableau 4.2 : séquence
monophasé
4.6.2 Biphasé :
Cette fonction permettra au moteur de faire un pas complet ou les
positions d'équilibre sont à mi-chemin entre les positions de la
séquence la plus simple.
LES PHASES
|
A
|
0
|
0
|
0
|
1
|
B
|
0
|
1
|
0
|
0
|
C
|
0
|
0
|
1
|
0
|
D
|
1
|
0
|
0
|
0
|
Tableau 4.3 : séquence
biphasé
Chapitre 04
Réalisation pratique
54
4.6.3. Demi -pas :
Dans ce cas, on combine les deux séquences
précédentes pour placer le rotor successivement à une
position de détente, a une position intermédiaire, et à
nouveau à une position de détente. Ce mode permettra de
multiplier par deux le nombre de pas.
L'avantage de ce mode a demi -pas qu'il ne souffre pas de
problème de résonances, même s'il tourne très vite,
on ne tombe jamais sur un point de résonance ou le couple s'annule.
LES PHASES
|
A
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
B
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
0
|
C
|
0
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
D
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
Tableau 4.3 : séquence Demi -pas
4.7. Commande des moteurs pas à pas par des
circuits intégrés spécialisés
Les deux dispositifs pour la commande du moteur pas à
pas qui sont le séquenceur et l'interface de puissance avec le
développement scientifique sont intégrés tout les deux
dans un seul circuit qui renferme 4 étages de commande (Position,
direction, amplification et vitesse).
Et en reste alors qu'à délivrer les impulsions
pour le nombre de pas et un but pour le sens de rotation par le moyen de deux
lignes de données du port d'un microcontrôleur par exemple, pour
faire tourner le moteur de plus, ces circuits intégrées
protègent très bien l'unité de pilotage d'un retour de
courant.
On a comme exemple de ces circuits intégrés [15]
:
· Le (MC3479C).
· Le (L297) et (1298) qui fonctionnent ensemble.
· Le (L293).
· Le (SAAI027) et (SAA1042).
· Le (SL7024M) ; le (ULN 2003) et le (ULN 2803)
4.8. Le critère de choix d'un moteur pas à
pas
Le choix se fait comme suit [15]:
- Le mode de commande, soit bipolaire ou unipolaire. - Le nombre
de pas par tour.
Chapitre 04
Réalisation pratique
55
? La fréquence de travail
? La puissance du moteur.
Dans notre projet, nous avons utilisé deux moteurs pas
à pas unipolaires de type 55SIM 246A, à 6 fils avec une
résistance interne de 9? et un pas de 7.5°. C'est-à-dire
pour faire un tour il faut 48 pas.
4.9. Fonctionnement du mécanisme
Nous avons utilisé deux moteurs pour commander le
mobile et un engrenage pour la rotation des roues. Le premier moteur est
responsable pour commander le roues du coté à droite, et le
deuxième moteur commandé les roues du coté gauche. Le
mécanisme de notre robot est illustré dans la figure suivante.
Moteur 1 Moteur 2
Mécanisme de robot
Figure 4.23 : le mécanisme de mobile
Pour marcher le robot avant alimenté les deux moteurs en
même temps en même sens (avant), et en sens inverse pour
l'arrière, pour la rotation (gauche /droite) alimenté les deux
moteurs en sens inverse.
5. Partie Logiciels et Programmation
Nous avons utilisé plusieurs logiciels pour
réaliser ce travail dans ce partie nous avons présente les
logiciels de simulation et le programme utilisés.
5.1. Logiciel de simulation PROTEUS
Le Logiciel de simulation des circuits électronique est
un logiciel qui dessine un circuit par les composant et les circuits
intègre et permet de voir les résultats de la réalisation
pratique, il existe plusieurs simulateurs : Workbench, Multisim , PROTEUS ,
Tina...etc. Pour notre cas on a utilisé PROTEUS.
Chapitre 04
Réalisation pratique
56
Le logiciel PROTEUS se compose de deux parties, le logiciel
ISIS pour la simulation des circuits électroniques, et le logiciel ARES
pour dessiner les circuits imprimés.
Le but du logiciel ISIS est de dessiner, simuler des circuits
électroniques et tracé les courbes (Voir ANNEXE C).
La deuxième partie le logiciel ARES ; est un logiciel
permettant le routage de cartes électronique en mode automatique ou
manuel. Il est possible d'utiliser ARES sans avoir au créer du
schéma électronique dans l'ISIS. Cette fonctionnalité
permet de réaliser très rapidement des circuits de faible
complexité en plaçant les composants et traçant les pistes
directement dans ARES. Une fois les connections établies il est possible
d'effectuer un routage automatique des pistes (Voir ANNEXE C).
5.2. Logiciel de programmation Flowcode
Nous allons programmer notre PIC pour commander le robot
à obéir les ordres de l'utilisateur, il y a plusieurs logiciels
pour programmé le PIC comme : MPLAB, mikroC, CCS Compile,
flowcode,...etc. pour notre application on a choisi d'utilise le logiciel
flowcode.
Flowcode est un programme simple et travaillé à
base des organigrammes. On a choisi ce logiciel pour éviter les
problèmes de la difficulté et la taille énorme de
programme en "assembleur", et surtout pour simuler notre programme assurant
qu'il fonctionne sans problèmes. 5.2.1. Excitation de
Flowcode
Pour commencer, Flowcode demande le PIC va être
utilisé :
Figure 4.24 : choisit le PIC 16F877
Réalisation pratique
Chapitre 04
57
5.2.2. Présentation du Flowcode
gg
Eléments d'organigramme
li
(à faire glisser)
Simuler le programme
Organigramme de travail
Composant que peut gérer le PIC
Compiler le programme en C et HEX et l'envoyer vers le PIC
Microcontrôleur choisi(PIC)
Propriété de programme et composant
Figure 4.25 : Interface du logiciel Flowcode.
Flowcode nous aide à créer un organigramme (icones jaunes).
Il place une case « début » et une case «
fin ». Nous pouvons insérer d'autres cases entre les deux, en
faisant glisser les icônes jaunes.
5.3. Programmateur d'un PIC
Puisque le robot est guidé par deux moteurs pas
à pas. Chaque moteurs à besoin de quatre linges de commande,
donc, en tout nous avons besoin de huit lignes de commande, c'est pour cette
raison que nous avons choisi l'utilisation du port C (Pins 7-4) et le port D
(Pins 7-4) formé de huit lignes qui seront programmées en
sortie.
Le programme est écrit sous forme d'organigrammes dans
un environnement de programmation Flowcode. Après compilation du code
source, le Flowcode nous donne un code machine Hexadécimale. Ce dernier
code sera chargé dans le PIC par le biais d'un utilitaire de
programmation des PICs appelé WPI et d'un programmateur de PICs, (voir
ANNEXE B) [12].
Chapitre 04
Réalisation pratique
58
6. Organigramme principale de mouvement de notre
robot
La figure 4.26 représente l'organigramme de mouvement
de notre robot. Le robot utilise la logique floue qui permet le choix de
meilleure trajectoire. L'organigramme contient des deux sous-programmes
montrés dans les figures 4.27 et 4.28.
Robot marche avant
Utilisé logique flou pour évitement de
l'obstacle
Calcule des nouvelles coordonnées
Calcule le nouvel ongle de rotation
Tourner et diriger vers la cible
Arrêt robot
Test obstacle
Vers cible
OUI
NON
Figure 4.26 : Organigramme de programme
principale
Chapitre 04
Réalisation pratique
6.1. Sous-programme détection d'obstacle
Calcule la distance à partir du capteur (chaque 3ms)
Non
Programme la distance minimale
Calcule les cordonnées actuels
Vers partie LF
Si distance <30cm
Oui
Figure 4.27 : Organigramme de détection
d'obstacle 6.2. Sous-programme évitement d'obstacle avec logique
floue
Obstacle détecté (DA)
Turner à droite 45° et calcule la distance DD
Turner à gauche 45° et calcule la distance DG
Choisit la trajectoire par les règles de logique
floue
Marcher le robot la trajectoire choisit
Continuer vers la Cible
Figure 4.28 : Organigramme d'évitement
d'obstacle avec logique flou
59
Chapitre 04
Réalisation pratique
60
7. Conclusion
Dans ce chapitre nous avons présenté l'essentiel
de notre travail qui consiste à la réalisation d'un robot mobile.
On a présenté les trois différents partie de robot, une
partie de commande (PIC, ULN, capteur ...etc.), une partie mécanique
(moteur, mécanisme,....etc.) et enfin une partie Logiciels et
Programmation.
On va vue aussi comment programmé est chargé le
programme dans le PIC et les logiciel utilisé dans ce travail ainsi
l'organigramme de déplacement de robot.
CONCLUSION GéNéRAL
61
Conclusion générale
Conclusion générale
L'objectif de notre travail est la réalisation d'un
robot mobile type voiture avec évitement d'obstacles en utilisant des
capteurs de distances (ultrason) ainsi que l'application d'une intelligence
artificielle, la logique floue dans notre cas. Notre robot déplace sous
une trajectoire programmée d'avance.
Pour réaliser ce travail, on a passé par
différentes étapes :
On a utilisé un capteur ultrasonique SRF04 pour la
détection des obstacles et le calcul de la distance entre le robot et
l'obstacle. Le robot réalisé se déplace par 4 roues ; deux
roues arrière s'occupent du mouvement par deux moteurs pas à pas.
Nous avons utilisé ce type de moteur pour la précision dans le
déplacement et la rotation vers la cible.
Des circuits de commande son réalisés afin de
contrôler les moteurs associes. L'ensemble de système de
perception et de déplacement est commandé par un
microcontrôleur qui doit en utilisant les informations actuelles,
décider l'action à prendre. Pour notre cas ; on a utilisé
le microcontrôleur célèbre, le PIC16F877, dont ses
caractéristiques particulières nous ont aidé à
faciliter les taches surtout en ce qui concerne sa programmation.
Ce travail nous a permis de traiter des problèmes
d'ordre pratique et de vérifier des connaissances théoriques
acquises toute le long de notre formation.
Grâce au travail continu, on a peu atteindre notre but
et satisfaire le cahier de charge, mais cela ne veut pas dire qu'il est
complet, nous proposons que le robot réalise soit la base de toute une
série d'améliorations que nous n'avons pas eu la chance de les
faire par manque de temps et de matériel. Le nombre
d'améliorations que peuvent titre ajoutes sont :
? Utilisation de capteurs plus performants comme les capteurs
laser ou les caméras et d'utilisé plus de capteurs ou un plateau
de capteurs rotatif pour couvrir l'environnement pour choisi meilleur
trajectoire.
? L'utilisation d'un microcontrôleur de nouvelle
génération comme le uC Atemel (atmega).
? L'utilisation des moteurs pas à pas avec plus de pas
pour avoir une grande précision dans le mouvement du robot.
62
Bibliographie
Bibliographie
[1] : F.ABABSA, « Commande d'un robot mobile par
IBM-PC» Thèse de magister université de Batna 1998
[2] : M. Dou, A. DJOKHRAB. « Commande D'un Robot Mobile
Type Voiture Par Réseaux de Neurones». Mémoire
d'ingénieur d'état en automatique, Université Biskra, Juin
2005.
[3] : A. ALLOUI, A. HAJ Brahim. «Proposition d'une
solution multi-agent pour la commande et la coopération multi -robot
mobile». Mémoire d'ingénieur d'état en automatique,
Université Biskra, Juin 2007.
[4] : M. GHAOUI. « Planification d'un mouvement pour un
robot mobile» Thèse de magister université de Batna
année 1997
[5] : B. BAYLE. «Robotique Mobile», Ecole Nationale
supérieur de Strasbourg, France, 2008-2009.
[6] : A. PRUSKI. «Robotique générale»
Edition Ellipase 1988.
[7] : A. PRUSKI. «Techniques De L'ingénieur,
Robots Mobiles Autonomes». Université de Metz, 1998.
[8] : A. AMRAOUI, Y. CHALA. « Réalisation D'un
Robot mobile commandé à distance » Mémoire
d'ingénieur d'état en électronique Biskra, Juin 2010.
[9] : B. Jean-Louis. «Robotique», ISTIA,
Université Angers 2005.
[10] : M. KADDOUR, N. SAIDI. «Réalisation d'un
robot mobile avec évitement d'obstacles» Mémoire
d'ingénieur d'état en électronique, Université
Biskra, Juin 2011.
[11]: T. BEN HADDADA, M HAMAM, R MAHJOUB. «Un robot
suiveur de ligne», Rapport de projet de fin d'étude,
Université Tunis-El Manar, 2009.
[12] : Y. AOUFI, M. GOUDJIL. « Planification de
trajectoire d'un robot mobile» Mémoire d'ingénieur
d'état en électronique, Université Batna Juin 1999.
[13] : O. DOUIBI, A.GHAMRI. «Réalisation d'un
robot mobile autonome» Mémoire d'ingénieur d'état en
électronique, Université Biskra, Juin 2003.
[14] : S. YAHIAOUI, S. MERROUCHI. «Planification de
mouvement d'un robot mobile» Mémoire d'ingénieur
d'état en électronique, Université Batna Juin 1997.
[15] : H. YAKOUBI, M. SOHBI, B. OGAB.
«Réalisation d'un robot mobile autonome», Mémoire
d'ingénieur d'état en automatique, Université Setif, Juin
2009.
[16] : A. ZENATI, S. KERROUCHE. « Commande de deux
moteurs pas à pas via le port parallèle avec Delphi»
Mémoire d'ingénieur d'état en électronique,
Université Bejaia, Juin 2009.
ANNEXE A
Tableau des Règles de logique floue :
ANNEXE B
Étape de programmation pour PIC
Étape01 ouvrir de programme
Étape02 choisit MICROCHIP
Étape03 choisit PIC16F877 Étape04 entré dans
le programme
Étape05 choisit de fichier de programme Étapee06
ouvrir de programme en HEX
Étape07 choisit Intel HEX
Étape08 chargé et vérifie le programme
Étape09 téléchargement terminé
ANNEXE C
1. Logiciel PROTEUS
Ce compose de deux parties, le logiciel ISIS pour la
simulation des circuits électroniques, et le logiciel ARES pour dessiner
les circuits imprimés.
a) L'éditeur ISIS
Le but du logiciel ISIS est de dessiner, simuler des circuits
électroniques et tracé les courbes. [13]
a1) Présentation de l'éditeur
ISIS
La surface la plus grande de l'écran s'appelle
"Fenêtre d'édition" et se comporte comme une fenêtre de
dessin. C'est là qu'il fait placer et câblez les composants. Dans
cette fenêtre on peut distinguer les barres d'outils suivantes : menu
d'outils, désigne d'outils, commande outils
Et fenêtre d'édition, (figure 4.4) :
Figure 4.4 : Fenêtre principale d'ISIS.
a2) Placement et câblage des
composants
Le circuit que nous allons tracer comme un exemple est
représenté en Figure (4.5).
Nous commencerons par un exemple de circuit simple qui se
compose d'un moteur on pont - H par interrupteur double plus l'alimentation
(Vcc = 5Volt et la masse GND).
Commençons par un clic gauche sur l'icône d'un
composant, Nous avons ainsi accès aux bibliothèques de
composants. Un clic sur "P", du "sélecteur d'objets" ouvre une
nouvelle fenêtre .Nous pouvons maintenant choisir un
composant dans les différentes bibliothèques. Un double clic
place le composant sélectionné dans le sélecteur d'objets
et le
rend disponible pour l'édition
Figure 4.5 : Choix de composants.
Nous pouvons maintenant passer au placement de quelques fils
(connexions). Faire un clic gauche, ISIS détecte que vous pointez sur la
broche d'un composant et en déduit que vous voulez relier un fil. Pour
terminer le circuit il fait un clic sur l'icône exécute le
simulateur. (Figure 4.6)
Figure 4.6 : Exemple réalisé par ISIS.
b) L'éditeur ARES
ARES est un logiciel permettant le routage de cartes
électronique en mode automatique ou manuel. Il est possible d'utiliser
ARES sans avoir au préalable créé des
chéma dans ISIS. Cette fonctionnalité permet de
réaliser très rapidement des circuits de faible complexité
en plaçant les composants et traçant les pistes directement dans
ARES. Une fois les connections établies il est possible d'effectuer un
routage automatique des pistes. [14]
Dans ce logiciel vous pouvez également créer de
nouveaux boîtiers et les placer dans une bibliothèque.
Couplé avec ISIS nous avons un système complet qui nous permet
d'effectuer avec un seul schéma toutes les étapes de la
conception de la carte.
b1) Présentation d'ARES
L'aspect général de ARES et similaire de celui de
ISIS, Figure (4.7), Il contient :
? Une barre de menu.
? Une fenêtre principale dans laquelle nous allons
créer votre routage et aussi
nos nouveaux composants.
? Une fenêtre d'aperçu en haut à droite.
? Une palette en dessous et un sélecteur de
boîtiers.
? Un sélecteur de surface active, en bas à
gauche.
Figure 4.7: Présentation d'ARES.
b2) Création du circuit imprimé
La première chose à faire avant de commencer un
routage est de définir une carte aux dimensions du projet. Il est
fortement conseillé de réaliser, si possible, Pour cela
placez-vous en mode graphique et sélectionnez "Board Edge" dans le
sélecteur de surfaces, Sélectionnez ensuite l'icône
rectangle et dessinez un rectangle correspondant au contour de la carte.
c) Placement des composants
c1) Placement automatique
Après avoir défini une carte vous pouvez placer
les composants en mode automatique. La fenêtre (Figure 4.8) apparaisse.
Nous pouvons choisir les composants à placer. Après validation
les composants sont positionnés sur la carte.
Figure 4.8 : Placement automatique.
c2) Placement Manuel
On peut rarement se contenter d'un placement automatique. En
raison d'exigences dues au projet il est très souvent nécessaire
de placer des composants à des endroits précis. Dans ce cas on
sélectionne le composant dans la fenêtre de sélecteur. On
oriente la sélection au moyen des icônes appropriés. On
clique dans la fenêtre de placement et sans relâcher le bouton de
la souris nous déplaçons le fantôme de composant.
d) Routage
d1) Routage automatique
Le routage automatique se lance dans le menu Outils Routeur
automatique. Dans la fenêtre de configuration nous pouvons choisir de
router tout le chevelu, ou une partie. Nous pouvons également
déterminer les isolations à respecter : Figure (4.9).
Figure 4.9 : Routage automatique.
d2) Routage Manuel
Comme pour le placement automatique il est très rare
qu'un routage automatique convienne sans modifications. Il est donc très
utile de pouvoir modifier ou créer des pistes manuellement.
Choisissons l'icône pistes puis sélectionnez un
guide (en vert). Par des clics successifs, on peut dessiner notre piste en
partant d'une extrémité du guide. Le tracé se termine
lorsqu'atteigne l'autre extrémité.
Photos de robot mobile réalisé
|