Mémoire de Projet de Fin D'études
Mémoire de Projet de Fin D'études
Mémoire de Projet de Fin D'études
ا وو
Faculté de Technologie
رو ـك
Département d’Électronique
MASSOUNE FARES
&
BENALI NADIR
Master Système de vision et robotique
Thème
CONCEPTION D’UNSYSTEME
DE BALISES INFRAROUGE/ULTRASONS
AN : 2013/2014
Résumé :
Ce projet consiste à concevoir un système de localisation pour un robot mobile évoluant dans
espace limité dans un rectangle de 3 mètres de longueur sur 2 mètres de largeur. L’idée de
base de ce travail est repose sur l’utilisation d’une paire de balises ultrasons dont les signaux
sont synchronisés par d’autres signaux de type infrarouge.
Mots clés : Localisation – Robot mobile – ultrasons
:
ل2ة ذات ط%M)' !"د دا%&' *)ء+ ,+ -.ر و ذ234' ك6&4' ت28! ر9 ا:' ;<2=4. @?)م اAB)CD :=*4E وع6G=.ا اHھ
]. إARQ2D اج2'_`OPQ ة6R"Sه اH ھUR&8 ARQ2V.اج ا2'X. :RO96' =)لO4Y ا, ھAZP3=.ة ا6[\. ا. ض6B 64'2 و64'3
.اء6=&. اe&Q AOf ذات اg<ا2. hE6 ط:B :'i.دة ا%&' )هCO' AR+6a ن2[Q UR&8 ت28و6.] اcB %92E !PZ4d'
. ا ) (اء.) /01 أ-ت * )(ك%+ر-#$% : ح " تا
Abstract:
The aim of this project is to design an ultrasound beacon based localization system for a
mobile robot, these ultrasound signals will be synchronized using two other infrared signals ;
the environment of the robot is a 3 miters by 2 meters rectangle.
Keywords: Localization – mobile robot – ultrasound
Chapitre (1) : définitions et généralités.
Figure 1.1 : Le robot RUR.
Conclusion générale
Durant ce projet nous avons étudié et mis en œuvre une approche traitant l’un
des problèmes les plus rencontrés en robotique et plus précisément celui de la
localisation du robot dans son environnement. Bien que l’idée de départ soit
relativement simple dans son principe de fonctionnement, la réalisation des différentes
parties de ce système pose énormément de problèmes de différents types. Bien que
cela ne soit pas le cas pour la partie infrarouge, étant donné l’utilisation d’un
composant réalisant le réception et la démodulation des signaux, la partie ultrasons
nous a causé beaucoup de difficultés surtout concernant la partie du décodage de
fréquence, en effet nous nous sommes rendus compte assez tard que cette partie est
très sensible à l’alimentation du circuit, ce problème qui était difficilement décelable
était la source principale d’un retard non négligeable d’un avancement régulier sur le
reste du projet.
Bien que le but principal de ce projet était basé sur le système de localisation
par balises, nous avons aussi réalisé un robot mobile capable de se déplacer sur une
surface plane et s’arrêter devant des obstacles, ce projet reste ouvert à plusieurs autres
extensions et servir comme base de travail pour implémenter des algorithmes de
navigation plus évolués ou comme support pédagogique pour des travaux pratiques
des étudiants en robotique.
Introduction générale :
En robotique la localisation occupe une partie prépondérante parmi les
problèmes posés dans ce domaine ; Notre projet consiste à réaliser un système de
localisation pour un robot mobile évoluant sur une plateforme rectangulaire ayant une
longueur de 3 mètres et une largeur de 2 mètres ; Ce système est basé sur deux balises
actives disposées en deux coins adjacents de cette plateforme.
La méthode adoptée exploite une paire d’émetteurs ultrasons installés sur les
deux balises et un récepteur à bord du robot ; Les coordonnées cartésiennes du robot
seront déterminées par un calcul géométrique connaissant les deux distances séparant
le robot de chacune des deux balises ; Ces deux distances seront obtenues en
déterminant les temps nécessaires aux deux ondes ultrasons pour parcourir ces deux
distances.
Etant donné que les deux balises sont entièrement séparées du robot il est
nécessaire de prévoir une autre information au récepteur ultrason lui indiquant l’instant
exact du départ de l’onde ultrason afin qu’il soit possible de déterminer le temps de
parcours cité précédemment. A cet effet nous prévoyons d’utiliser des émetteurs
infrarouges qui vont transmettre des signaux aux mêmes instants que les ultrasons.
La vitesse des ondes infrarouges étant celle de la lumière (300 000 km/s) nous
considérerons que la réception de ces ondes est instantanée et de ce fait utiliser
l’instant de cette réception comme point de départ pour la mesure du temps de
propagation de l’onde ultrason.
Notre robot sera de type différentiel mis en mouvements grâce à deux moteurs à
courant continu alimentés à travers une carte de puissance délivrant des tensions
modulés en largeur d’impulsions permettant de contrôler séparément les vitesses des
deux moteurs et donc obtenir n’importe qu’elle trajectoire pour notre robot.
Les signaux de commande de la partie puissance ainsi que ceux issus des
capteurs installés sur le robot seront gérés par une carte de type Arduino basée sur le
microcontrôleur ATMega 328 qui a des capacités suffisantes pour les besoins de ce
projet.
IR : infrarouge.
CC : courant continu.
AC : courant alternatif.
Keywords:
IR: Infrared.
a. partieémetteur ……………………………………………………………………………….….22
2.3.4 Conclusion…………………………………………………………………………………….27
b. la locomotion……………………………………………………………………………………………………33
3.5Conclusion ………………………………………………………………………………………………..53
4.4 Conclusion…………………………………………………………………………………………………60
Chapitre I : Généralités et Définitions
1.1- Introduction
Les robots sont capables de réaliser des tâches de plus en plus complexes, car ces
robots sont composés d’une structure matérielle et mécanique qui lui permet d’effectuer un
déplacement. Ces tâches de haut niveau reposent sur des capacités de base que doit avoir
un robot : naviguer, se localiser et déplacer correctement dans un environnement.
Nous présentons en premier lieu un historique sur la robotique, une définition de la notion
du robot mobile, puis nous détaillons un peu les différents capteurs utilisés (avec et sans
connaissance a priori de l’environnement).
Au 18ème siècle, les automates miniatures sont devenus des jouets populaires chez les gens
riches.
Dans les années 1940 et 1950, l’avancement de l’électronique permet de miniaturiser les
circuits électriques (inventions du transistor et du circuit intégré), ouvrant ainsi de nouvelles
voies à la fabrication des robots.
En 1947, l’invention du premier opérateur électrique télé-opéré.
Quelques années plus tard l’apparition du premier robot programmable dans une chaine de
montage de production dans une entreprise 1 .
Dans les premiers temps de la robotique, le robot est considéré comme une imitation de
l’homme, aussi bien fonctionnelle que physique. Aujourd’hui, les constructeurs ne tentent
plus de reproduire l’aspect humain sur un robot, privilégiant avant tout sa fonctionnalité.
-S'il est capable de choisir ses actions pour atteindre son but.
-S'il est capable d'accomplir correctement sa tâche même s'il rencontre de nouvelles
situations inattendues sans intervention humaine.
La robotique est devenue dans nos jours un champ de recherche très varié.
On va présenter les différents types de robots, leur fonctionnement, et le domaine
d’utilisation de la robotique.
Puis nous présenterons le problème de la navigation dans la robotique mobile.
On définira les différentes stratégies de navigation, de localisation et on donnera les
catégories des contrôleurs existants.
Ils sont utilisés dans des environnements de type tunnel ou des endroits restreints.
Les techniques utilisées ressemblent à des méthodes de locomotion des animaux rampants
(comme les serpents).
1.2.3- Les robots mobiles à chenilles
L'utilisation des chenilles présente l'avantage d'une bonne adhérence au sol et d'une facilité
de franchissement des obstacles.
Ces robots peuvent être utilisés en milieu urbain, ou dans des décombres 3 .
Ils sont capables de se déplacer facilement dans une ligne droite, mais avec une difficulté
pour assurer des rotations avec précision.
L'utilisation des chenilles conduit cependant à un odomètre très bruité à cause du contact
mal défini entre les chenilles et le sol.
Le calcul de la position relative du robot est réalisé par intégration des rotations
élémentaires des roues, à l’aide d’un codeur optique disposé sur l’axe de ces roues, ou sur le
système de transmission (par exemple sur la sortie de la boite de vitesse pour une voiture).
Les encodeurs optiques sont les plus utilisés pour effectuer la mesure de la rotation.
Cet encodeur est disposé sur l’axe de la roue ou sur le moteur.
Notons cependant que l’erreur de ces méthodes se retrouve en général principalement sur
l’estimation de la direction du robot, tandis que la mesure de la distance parcourue est
souvent de meilleure qualité.
b. Les accéléromètres
L’accéléromètre est un capteur qui mesure l’accélération linéaire en un point donné. En
pratique, la mesure de l’accélération s’effectue à l’aide d’une masse d’épreuve M, de masse
m, reliée à un boîtier du capteur.
Le principe de ce capteur est de mesurer l’effort massique non gravitationnel qu’on doit
appliquer à M pour le maintenir en place dans le boîtier lorsqu’une accélération est
appliquée au boîtier.
Le calcul du déplacement élémentaire du système mobile est obtenu par double intégration
de ces informations.
Cette double intégration conduit généralement à des accumulations importantes d’erreurs.
Ces capteurs sont plus coûteux que les odomètres 4 .
calculer ou mesurer la route à suivre pour rejoindre un autre point de coordonnées connues
en respectant un certain nombre de contraintes et de critères qui découlent de plusieurs
facteurs, qui dépendent généralement des caractéristiques du robot, de l'environnement, et
du type de tâche à exécuter.
Calculer toute autre information relative au déplacement de ce mobile (distance et durée,
vitesse de déplacement, heure estimée d'arrivée, …etc.).
Afin de réaliser une navigation dans n’importe quel contexte, nous avons besoin d’amers, un
mot qui de manière similaire au mot navigation, est lié à la même culture, celle des marins
emmenés à voyager sur l’eau.
Ils s’appuient pour cela sur un modèle interne du monde (une carte), qui supporte une
planification.
Ce modèle interne mémorise donc la structure spatiale de l’environnement,
indépendamment d’un but précis.
Chacune des positions mémorisées dans ce modèle interne peut alors être utilisée comme
but par le processus de planification dont le rôle est de calculer une route vers ce but.
Ce sont les deux stratégies qui sont regroupées sous le terme de navigation par carte.
Une telle représentation interne est naturelle pour les êtres humains, pour lesquels des
processus cognitifs de haut niveau sont utilisés pour créer et utiliser une carte.
Ces processus de haut niveau sont toutefois très difficiles à copier pour un robot réel qui ne
dispose que de systèmes rudimentaires de perception et de traitement des informations en
comparaison avec un homme.
Par exemple, en environnement urbain, le processus de mise en correspondance de la carte
avec l’environnement réel afin de déterminer sa position fait souvent appel, pour l’homme,
à la lecture du nom des rues inscrit sur les bâtiments, ce qui est relativement difficile à
automatiser, à cause de la diversité des configurations dans lesquelles peuvent se trouver
ces noms.
On notera au passage que l’homme a quasiment toujours recours à des aménagements
particuliers de l’environnement pour connaitre sa position, par exemple celui qui consiste à
nommer les rues ou à lancer des satellites dans l’espace pour bénéficier du GPS.
Après cette explication, nous commençons à détailler de plus ces différents types de
stratégies de navigation.
l'aide des capteurs qui renseignent le robot de la présence au l'absence d’un obstacle qui
sera détourné localement au fur et à mesure de son déplacement.
Le second type de méthode pour la localisation est la localisation absolue, cette méthode
utilise des éléments repérables par le robot dans l’environnement de navigation, de position
connue, pour permettre au robot de se repérer relativement à ceux-ci.
Ces éléments sont appelés des balises ou amers et sont dits soit réels s’ils ont été placés
spécialement pour permettre la localisation, soit virtuels s’il s’agit d’éléments présents
naturellement 3 .
1.8- Conclusion
Ce chapitre nous a permis d’évoquer quelques généralités sur les robots mobiles.
Il présente un tour d'horizon des principaux capteurs et des techniques développés pour
permettre à un robot mobile terrestre d'estimer ses déplacements et de se localiser de manière
autonome dans son environnement.
Parmi les problématiques liées à la commande, celle de la navigation qui tient un rôle important,
elle consiste à déterminer les trajectoires que le robot sera capable de suivre pour lui permettre
d’évoluer correctement au milieu d’obstacles.
3.1-Introduction
Nous allons maintenant étudier plus précisément un système utilisant des ultrasons, donc
basé sur la mesure des distances entre le robot et les balises.
Nous verrons d’abord l’aspect théorique des ultrasons, puis je proposerai une solution pour
concevoir ce système d’un bout à l’autre de la chaîne de transmission.
La vitesse de ce type d’onde est de l’ordre 344 m/s à une température de 22,5°C. Il s’agit
d’une vitesse approximative qui suffit pour la plupart des applications, mais ne permet pas
d’être précis en toute circonstance, ce qui est très gênant dans le cadre d’un système chargé
d’effectuer des mesures précises.
Il faut donc tenir compte du faite que la vitesse du son varie en fonction de la température
selon l’équation suivante:
L’atténuation à une distance ‘d’ s’écrit alors: Att (d, f)=d*a(f) d s’exprimant en mètre, Att (d,
f) s’exprime alors en dB
Par exemple, dans le cas où la table fait 3 m de long et avec des ultrasons à 40 kHz,
l’atténuation à 3m du signal sera de :
Att(3,40khz)=d*a(40khz)=3*32,8*10 *400000-3,936 dB.
Avec :
V : la tension d’alimentation de l’émetteur
R : l’impédance de l’émetteur
Grâce à l’atténuation calculée précédemment, on peut calculer la puissance du signal en
fonction de la distance de la manière suivante :
( ( ( , )) )
→P(d)=
Nous allons donc voir comment créer le signal ultrason à émettre, et comment coder une
trame de données dessus.
Il suffit alors en réception de détecter s’il y a ou non réception de la fréquence porteuse afin
de reconnaître les bits ‘1’ et ‘0’ et ainsi de retrouver l’information originel.
D’après les tests réaliser avec des cônes en plâtre, plomb et aluminium, la matière dans
laquelle est réalisé le cône à très peu d’influence sur la propagation du signal.
Pour faire cette mise en forme, nous réalisons le montage suivant avec en entrée le signal
provenant de l’amplificateur précédent.
On aura alors en sortie de ce montage le signal binaire reconstitué.
Comme nous utilisons un UART, Il nous faut avoir des signaux logiques avec des valeurs
constantes au niveau logique TTL.
Pour cela il suffit d’utiliser une porte logique (par exemple une prote ET) avec le signal
provenant du redresseur en entrée, et la sortie pourra alors être envoyée directement sur la
voie de réception (Rx) de l’UART du microcontrôleur de réception.
3.5-Conclusion
Cette étude a permis d’étudier en profondeur la problématique de positionnement
d’un robot mobile dans un environnement restreint et prédéfini.
Ce qui est le cas dans le cadre de notre projet fin d’étude.
Pour cela, nous avons passé en revu les systèmes majeurs utilisé à l’heure actuelle, ce qui a
permis d’en avoir une vue d’ensemble, avec les avantages et inconvénients de chaque
solution.
Cela nous a permis d’avoir les clés pour choisir le système à utiliser en fonction de nos
propres contraintes et objectifs.
Nous avons choisi de concevoir un système utilisant des ultrasons pour mesurer les
distances.
Nous avons fait ce choix, d’une part car il s’agit d’une solution bon marché et d’autre part,
comme nous l’avons vu la mesure des distance est une solution qui tolère des ratés dans les
mesures et permet donc d’être moins sensible aux perturbations du signal ultrason.
Perturbations qui pourraient causer la perte et la non détection de certaines trames de
données, et donc des mesures qui en découlent.
Enfin, nous avons donc réalisé l’étude détaillée de ce système afin de pouvoir concevoir
point par point un tel système de localisation complet et fonctionnel.
IV.1 Introduction
Dans ce chapitre nous allons présenter l’essentiel des résultats obtenus au cours de ce
projet. Nous décrirons entre autres le comportement de notre robot ainsi que les performances
des mesures de distances réalisées par le moyen des ultrasons.
Tel que cela a été mentionné précédemment notre robot peut effectuer des déplacements
rectilignes ou des rotations sans contraintes particulières, puisqu’il est mis en mouvements
grâce à deux moteurs à courant continu alimentés d’une manière indépendante. Les
mouvements sont contrôlés à partir du programme contenu dans le microcontrôleur dont est
munie la carte de Arduino utilisée. Pour illustrer le fonctionnement des différents éléments du
robot nous avons programmé une trajectoire aléatoire pour notre robot et prévu des obstacles
devant lesquels le robot devrait s’arrêter et reprendre son chemin dès la disparition de
l’obstacle concerné à un instant donné. Le caractère aléatoire de la présence ou non des
obstacles a été contourné par l’exploitation d’une interruption externe laquelle est déclenchée
par un capteur infrarouge qui délivre un étant haut lorsqu’un objet se trouve en face de ce
capteur.
L’organigramme suivant montre la manière dont est programmé notre microcontrôleur pour
effectuer les fonctions de déplacements et évitement d’obstacles.
Configuration
Des entrée/sorties
Et d’interruption
Obstacle
en face
Non
Oui Choix des vitesses
gauche et droite
Arrêt du
robot
Attendre une durée
prédéfinie
Obstacle
absent
Non Non Arrêt du
Oui robot
Reprise du
mouvement Oui
Fin
La partie électronique réalisant cette mesure peut être divisée en deux parties ; il y a d’abord
l’émetteur qui doit délivrer un signal de 40 KHz compatible avec la cellule utilisée, ce signal
est généré d’une manière cyclique c'est-à-dire que nous envoyons des paquets d’ondes à cette
fréquence toutes les 100 ms autrement dit la fréquence de mesure est de 10 Hz, ce choix peut
très bien être modifié pour rendre la mesure plus rapide mais nous avons choisi cette valeur
afin d’avoir suffisamment de temps pour que l’afficheur LCD puisse traiter et afficher les
données correctement.
La deuxième partie et qui concerne le récepteur a été plus délicate à mettre en œuvre étant
donné que les signaux ultrasons reçus sont de faibles amplitudes et donc qu’il fallait apporter
un soin particulier quand au choix des composants de l’amplificateur. Après plusieurs tests
notre choix s’est fait sur le LM324 qui est un circuit intégré contenant 4 amplificateurs
opérationnels et dont le circuit est donné dans la figure 4.3.
Après avoir suffisamment amplifié le signal ultrasons nous utilisons un circuit de décodage de
fréquences nous permettant d’obtenir un signal numérique au format TTL c'est-à-dire
exploitable par notre microcontrôleur qui, pour cette partie est un PIC16F628A, cette fonction
est réalisée par le composant NE567 dont le schéma est donné en figure 4.3, l’organigramme
pour l’émission/réception des ultrasons est représenté par la figure 4.4 ci-dessous.
Début
Configuration
Des entrée/sorties
Et du LCD
Nb d’implusions = 0
Attendre 12 us
Attendre 13 us
Nb d’impulsions =
Nb d’impulsions +1
Oui Nb d’impulsions =8
Affichage des
distances sur LCD
Attendre 100 ms
Figure 4.5 : Affichage sur oscilloscope d’un signal ultrason émis et reçu.
Les figures 4.5 et 4.6 montrent le bon fonctionnement de notre système de mesure de la
distance entre l’émetteur et le récepteur : l’affichage sur LCD a été calculé à partir de la
vitesse de propagation du son qui est environ de 343 m/s ; en utilisant l’oscilloscope pour
mesurer le temps de départ et d’arrivée de l’onde nous pouvons retrouver cette distance avec
La formule : d=v*t avec t=750us.
on aura d=343*750 10-6 = 25,72 cm.
Ceci est vérifié par une manuelle de cette distance telle cela est illustré par la figure 4.7
Émetteur US Récepteur US
IV.4 Conclusion
Dans ce chapitre nous avons présenté les résultats obtenus qui sont très encourageant pour
finaliser notre système de localisation tel que prévu dans le cahier des charges.
Sites internet
[10] http://www.roboticus.org/electronique/56-integrer-des-leds-dans-un-par-pour-faire-
un-par-a-leds
[11] http://www. Diode électroluminescente – Wikipédia.fr
[12] http://www.roboticus.org/electronique/20-la-carte-infrarouge-montage-du-recepteur
[13] TEMIC Semiconductors, Photo Modules for PCM Remote Control Systems, datasheet.
[14] http://www.arduino.cc/
ANNEX