Navigation d’un robot détecteur d’obstacle
Transcript of Navigation d’un robot détecteur d’obstacle
Licence pro EEAII | Electronique de puissance | April 12, 2014
Navigation d’un robot détecteur d’obstacle
LE RAPPORT EST A PROPOS D’UN ROBOT QUI PEUT NAVIGUER SANS ETRE
ENDOMMAGE PAR LES OBSTACLES. AUTREMENT DIT, LE ROBOT NAVIGUE, IL
DETECTE L’OBSTACLE, IL L’EVITE ; LE ROBOT CONTINU A NAVIGUER, ET AINSI DE
SUITE…
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 1
Pour diverse raisons, ce rapport prend pour support
l’électronique de puissance, qui est à son rôle basé
essentiellement sur les moteurs de tous genres (MCC, MAS…)
De plus, l'essentiel pour la réalisation théorique ou même
pratique de ce projet, est la façon avec laquelle on devrait faire
naviguer le robot, détecter l’obstacle et l’éviter.
Pr. N. E. Radhy
EL HAMDAOUI Hamza
HARITE Mohamed Sadek
MOURACH Khalid
RABII Oifaa
SADEK Yassine
TALIT Ayoub
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 2
Sommaire
I. Introduction
II. Schéma de conception………………….…………………..……... .4
III. Etude théorique …………………………………………..…………. .6
Le capteur ultrason……………………………….…………. .6
Principe de fonctionnement du capteur US………….. .6
Le son………………………………………………….………… .6
La vitesse du son dans l’air……………………..……………8
Le temps de parcours de l’onde…………….…………….10
Etude de possibilité d’ajout d’un capteur de
position………………………………………………………… .13
IV. Description …………………………………………………..……….. 15
V. Programmation…………………………………..……………………17
VI. Partie mécanique……………………………………………………..21
VII. Cahier de charge……………………..……………………………….22
VIII. Conclusion
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 3
Introduction
Robotiser est un terme qui est devenue de plus en plus intéressant due
à son importance dans tous les domaines, précisément en domaine de
l’électronique et l’électronique de puissance, en revanche, c’est un
besoin impératif pour la réalisation des plusieurs des taches qui sont
difficiles pour un être humain, ou de même, qui demande la routine
lors de leur réalisation.
Il est d’un tel avantage en termes de qualité, précision et de rapidité,
que le recours à cette technique assure une intégration complètes au
domaines de travail, soit pour effectuer des instructions au temps
demandé, ou pour échanger des infos, et tous cela passe surement
d'une façons inévitablement souple.
Fleuron des progrès de la technologie, les robots sont aujourd'hui
présents dans tous les secteurs (industrie, administration, notre propre
appartement). Les différents traitements qu'ils permettent de réaliser
ont conduit à l’amélioration de nos besoins au quotidien.
L’intérêt majeur de ce projet est attribué à la recherche d’une solution
simplifiant la navigation ou bien la mobilité du robot en évitant tout
obstacle ; avec un circuit programmable à prix réduit, pour essayer
d’éviter tout gaspillage d’électricité.
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 4
Schéma de conception
Le concept est classique : le robot avance et un détecteur mesure la
distance aux obstacles situés devant. En dessous d'un certain seuil, il
effectue une manœuvre d'évitement. Ce comportement est intégré au
programme d’Arduino.
Pour la détection des obstacles, on a opté pour le capteur ultrasonore.
Les ondes ultrason se mises au travail pour détecter la distance. Ce
système présente l'avantage d'être très précis, mais l'inconvénient de
pouvoir être ébloui par les sources fortement acoustiques, comme les
espaces bien agglomérés. De plus, il prend sa mesure sur une zone très
ponctuelle, paramètre à prendre en compte dans la conception si on
ne veut pas rater un éléphant sous prétexte qu'il n'est pas bien en face.
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 5
Outre, le capteur ultrasonore est considéré comme un détecteur
classique, mais il est plus cher et a d'autres faiblesses, notamment sa
sensibilité aux échos parasites. Le détecteur idéal est le télémètre laser
mais on n’est pas riche à ce point-là.
Concept générale : Le robot est piloté par la carte Arduino qui lit les
capteurs et actionne les moteurs via un programme bien écrit. Les
moteurs sont assez costauds et tirent un bonne ampère en usage
normal et peuvent monter à 3 si on les sollicite un peu, d'où la nécessité
d'une carte qui tient la route !
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 6
Etude théorique
Le capteur ultrason (US) :
Cette partie purement théorique n'a pour but que de vous expliquer le
fonctionnement du capteur d'ultrasons.
Les capteurs à ultrasons sont certainement les capteurs les plus utilisés
en robotique. La raison en est qu'il peut fournir une information très
importante au robot, à savoir la distance le séparant des obstacles
autour de lui, qu'il est simple et donc peu chère.
De plus, il utilise un principe de fonctionnement que l'on retrouve dans
la nature chez certains animaux pour se localiser. Comme par exemple
la chauve-souris. Alors pourquoi s'en priverai-t-on sur les robots ?
Principe de fonctionnement du capteur US :
Commençons donc par le commencement. Pourquoi des ultrasons et
d'ailleurs qu'est-ce que c'est que ça ? Alors, comme dans le mot
ultrason on trouve le mot son, commençons d'abord par voir ce qu'est
un son.
Le son :
Le son, tout le monde croit savoir ce que c'est. C'est ce que l'on entend
avec nos oreilles ! Effectivement, c'est le cas, nous le captons par nos
oreilles. Mais physiquement parlant, le son qu'est-ce que c'est ?
Des particules, des rayons, des ondes .... ?
Eh bien, il s'agit d'une onde. Et plus exactement d'une onde de
compression. De compression .... Mais c'est quoi qui est compressé ?
C'est l'air qui nous entoure qui est compressé. Quand nous parlons,
nous faisons bouger les cordes vocales dans notre gorge. En se
déplaçant, les cordes vocales déplacent l'air qui les entoure. Les
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 7
molécules d'air sont donc compressées les unes sur les autres. Cette
compression provoque le déplacement des autres molécules d'air
présentes à côté des premières, ce qui les compressera également et
mènera au déplacement des molécules suivantes. Et ainsi de suite. Il en
résulte une onde de compression qui se propage dans l'air sous forme
d'une variation de pression. Toutes les sources sonores utilisent le
même principe, comme un haut-parleur par exemple dont la
membrane vibre au rythme du son à reproduire.
Notez, tout de même, que les molécules d'air ne se déplacent que de
quelques micromètres. Il n'y a que l'onde de compression qui se
déplace au-delà. Vous pouvez visualiser le même phénomène en
observant des ronds dans l'eau, les vagues se déplacent mais l'eau
reste au même endroit, elle ne fait que se déplacer verticalement et
non suivre les vagues. De même, un bouchon placé sur l'eau reste à la
même position sans se déplacer. En fait, le son n'est qu'un simple
déplacement d'air. Le son se propage également dans les solides sous
forme de vibrations des atomes. Là encore, les atomes ne font que
vibrer très faiblement et ne se déplacent pas. Seule la vibration se
propage.
Tous les sons se propagent de la même manière, y compris les
ultrasons ! C'est quoi la différence alors ? Eh bien, la différence entre
un son et un ultrason réside dans leurs fréquences.
En effet, une onde sonore peut être représentée sous une
forme sinusoïdale. C'est à dire sous forme de vague, comme les vagues
se déplaçant sur l'eau. C'est forme sinusoïdale est périodique, c'est à
dire qu'elle dispose d'une période qui s'exprime en seconde ou en un
de ses sous-multiples comme la milliseconde (un millième de seconde)
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 8
Ou la microseconde (un millionième de seconde).
Cette période correspond à la durée de la sinusoïde avant qu’elle ne se
répète. C'est pour cela que l'on dit que cette forme d'onde est
périodique, car elle se répète périodiquement à intervalle régulier. Cet
intervalle étant la période de temps que dure la sinusoïde.
Une image valant tous les discours, voici une onde sinusoïdale de type
ultrasonore ayant comme période une durée de 25 microsecondes.
La vitesse du son dans l'air
Les sons et les ultrasons se déplaçant dans l'air, ils s'y déplacent donc
avec une certaine vitesse exprimée en mètres par seconde.
Cette vitesse de déplacement du son dans l'air dépend de plusieurs
paramètres, tels que la pression atmosphérique de l'air, la densité de
l'air ainsi que la température de l'air. Tout cela pourrait paraitre
compliqué, mais vous allez voir qu'il n'en est rien !
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 9
Regarder donc l'image ci-dessous :
V représente la vitesse du son ou de l'ultrason dans l'air en mètres par
seconde. T représente la température de l'air en KELVIN, c'est à dire la
température en degrés Celsius plus 273,15 (K = °C + 273,15) Le chiffre
de 1,4 représente la masse volumique de l'air.
R représente la constante spécifique de l'air (281,8 Joules/Kg)
Ainsi, une simple application de cette formule vous donnera la vitesse
approximative des ultrasons dans l'air à une certaine température
ambiante. Par exemple, si nous prenons une température ambiante de
20°C
La vitesse des ultrasons à 20 °C serait de 340 mètres par seconde.
Heu ... La vitesse change en fonction de la température ? Oui, la vitesse
varie en fonction de la température de l'air .... Mais très faiblement !
D'ailleurs, si vous effectuez à nouveau le calcul ci-dessus mais pour une
température de 25 °C vous obtiendrez une vitesse de 343 m/s. La
variation est donc très faible car inférieure à 1 %. Eh bien bonne
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 10
nouvelle ... Vous n'aurez pas à faire ces calculs vous-même pour utiliser
le capteur d'ultrasons, car celui-ci utilise déjà en interne une valeur de
vitesse pour les ultrasons paramétré à 341 m/s. Cette partie théorique
n’a pour objectif que de vous cultiver sur les ultrasons.
Le temps de parcours de l'onde
Pour mesurer une distance avec des ultrasons, il faut d'abord connaître
leur vitesse de déplacement. C'est ce que nous venons de voir. Elle est
de l'ordre de 340 mètres par seconde, ce qui correspond à plus de 1200
Kilomètres par heure ! Sachant cela, il est donc facile de déterminer la
distance qu'a parcourue l'onde ultra sonore si nous connaissons le
temps qu’elle a mis pour parcourir cette même distance. Regarder
donc l'image ci-dessous :
Elle démontre la manière de calculer la distance qui sépare le capteur
d'ultrasons à un obstacle. Vous y voyez déjà deux petits cercles
nommés E et R. Ils correspondent, en fait, aux deux ronds que vous
pouvez voir sur votre capteur d'ultrasons. Le cercle E
représente l'émetteur d'ultrasons, l'espèce de haut-parleur qui va
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 11
émettre les ultrasons. Le cercle R représente le récepteur d'ultrasons,
l'espèce de microphone qui va recevoir les ultrasons émit par
l'émetteur. Suivons donc, sur l'image ci-dessus, le parcours de l'onde
ultra sonore. Elle est tous d'abord émise par l'émetteur du capteur
d'ultrasons, puis parcoure une certaine distance d avant de toucher
l'obstacle. Par exemple, un mur. L'onde est ensuite réfléchie par
l'obstacle, c'est la réflexion de l'onde. C'est à dire quelle est renvoyée
par l'obstacle en rebondissant sur celui-ci. Enfin, elle doit parcourir à
nouveau la même distance d, en sens inverse, avant d'être reçue par le
récepteur du capteur d'ultrasons. Vous remarquez donc que l'onde
doit parcourir 2 fois la distance qui sépare le capteur d'ultrasons de
l'obstacle. C'est pour cela que vous retrouvez 2 d dans la formule
contenue dans l'image. Imaginons maintenant que la
distance d séparant le capteur d'ultrasons de l'obstacle soit de 170
mètres. Une distance impossible à mesurer pour le capteur, puisque
celui-ci ne mesure pas plus loin que 2,5 mètres, mais qui a ici une valeur
purement démonstrative sur le plan pédagogique.
Appliquons la formule de l'image ci-dessus :
L'onde ultra sonore devant parcourir 2 fois la distance d de 170 mètres,
elle parcoure donc 340 mètres au total. Comme sa vitesse est de 340
mètres par seconde, elle parcoure donc bien ces 340 mètres en une
seconde. La formule est donc correcte. Elle permet de faire le lien entre
la distance que parcourent une onde et le temps qu’elle met pour le
faire. Toutefois, ce n'est pas le temps que met l'onde pour parcourir
une certaine distance qui nous intéresse. Ce serait plutôt la distance
elle-même ! Eh bien, il faut savoir que dans votre capteur d'ultrasons,
il y a une espèce de chronomètre qui mesure précisément le temps qui
passe entre le moment où l'émetteur envoi l'onde ultrasonore et le
moment où le récepteur l'a reçoit. Le temps t n'est donc plus calculé
mais mesuré ! Cela veut dire que lorsque le capteur d'ultrason effectue
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 12
une mesure, il émet une onde ultra sonore et mesure le temps qui
passe jusqu'à ce qu'il l'a reçois. De ce fait, la seule inconnue est donc
la distance. Il suffit pour cela d'une petite transformation de la formule
ci-dessus, car nous voulons maintenant calculer la distance d :
Ainsi, par exemple, si le capteur d'ultrasons mesure un temps de 5
millisecondes (0,005 seconde) entre l'émission et la réception de l'onde
ultrasonore.
Cela veut dire que l'onde a parcourue 1,7 mètres au total et que donc
l'obstacle ce trouve à une distance de 0,85 mètre. Et puisqu'une bonne
nouvelle n'arrive jamais seule, vous n'aurez pas besoin là non plus de
faire ce calcul vous-même car le capteur d'ultrasons le fera pour vous.
De sorte que, puisqu'il connaît la vitesse de l'onde ultra sonore ainsi
que son temps de parcours à chaque mesure, il peut calculer la distance
qui le sépare de l'obstacle.
Si l'on ne souhaite pas développer un détecteur à ultrasons, il existe
sur le marché des modules sonars dédiés à ce type d'applications.
Ce Sonar utilise un module à ultrasons MSU04 disponible chez tous les
fournisseurs de matériels électroniques.
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 13
Etude de possibilité d’ajout d’un capteur de position :
Pour améliorer les performances de notre robot afin qu’il puisse mieux
naviguer on a attribué à la réalisation une solution simplifiant la
mobilisation, pour essayer d’éviter tout gaspillage d’électricité.
Les caractéristiques des capteurs de position magnétiques ne sont pas
critiques. Les bobines décrites ici, ne sont qu'un exemple qui
fonctionne. Il est possible d'augmenter le nombre de spires pour
accroître la sensibilité du capteur, ou d'écarter ou de rapprocher ces
capteurs l'un par rapport à l'autre. Le seul critère à respecter, est que
les deux capteurs doivent être identiques. Ces bobines sont constituées
chacune de 100 spires de fil émaillé de diamètre 0.3mm,
montées sur un barreau de ferrite de longueur 170mm et de 10mm
diamètre. Ces deux bobines sont écartées de 10mm l'une de l'autre.
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 14
La valeur de la tension aux bornes d'une bobine est
donc proportionnelle à la fréquence. La tension V(t) doit être pondérée
par un facteur k dépendant de la hauteur des capteurs par rapport au
sol.
La tension sinusoïdale issue de chaque bobine est amplifiée, redressée
(sans seuil) puis filtrée. Lorsque le robot s'écarte de l'axe du fil (par
exemple à droite), l'énergie reçue par le capteur droit
est plus importante que celle reçue par le capteur gauche.
La différence entre les signaux issus des deux bobines est une tension
continue représentative.
De l'écart entre le centre des capteurs et l'axe du fil.
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 15
Description L'architecture du robot repose sur une base de type "Suiveur de ligne".
De plus, Le robot peut être équipé de différents modules : suivi de
ligne, détection d'obstacles, bras de préhension, caméra ...La base
reçoit également la partie électronique et l'énergie (accumulateurs).
Comment serait-il apparait, le robot. Le tripode s'avère la solution
mécanique la plus simple à mettre en œuvre.
Deux moteurs à courant continu accouplés à deux roues par
l'intermédiaire de pignons de réduction, assurent la traction
et la direction du robot.
La stabilité est assurée par une roue folle située à l'arrière.
La batterie est fixée sous le châssis du robot, ce qui libère de la place
pour l'électronique. Les bobines de détection sont fixées à l'avant du
robot à 20cm de l'axe des roues. D'autres morphologies de robot
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 16
peuvent être envisagées. Les deux roues motrices indépendantes
permettent de diriger facilement le robot en faisant varier
la vitesse d'une des deux roues par rapport à l'autre.
Une autre solution consiste à utiliser des servomoteurs de radio
modélisme en guise de groupes motopropulseurs. Après les avoir
modifiés pour permettre à l'axe de rotation d'effectuer plus d'un tour,
ceux-ci représentent une alternative intéressante et compacte.
L'électronique interne au servomoteur n'est pas utilisée dans ce cas.
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 17
Programmation
Le programme ci-dessous est écrit en langage Aduino C due au
composant qui l’utilisera comme étant une base de commande :
/* Utilisation du capteur Ultrason HC-SR04 */
// définition des broches utilisées
#include <math.h> // bibliothèque des commande
int trig = 6; // function du capteur US
int echo = 5; // 2ème function du capteur US pour le mode écho
int M1D = 11; /* definition des pins des sorties et des entrer */
int M1G = 8; /* Le moteur 1 guache */
int M2D = 12; /* Le moteur 2 droite */
int M2G = 13; /* Le moteur 2 guache */
int B = 10;
int A = 9;
long lecture_echo;
long dis; /* La distance */
long cm; /* La valeur en cm */
long vit; /* La vitesse */
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 18
void setup() /* function void permet la pré-définition des
commandes avec un retenu null */
{ /* tous les OUTPUT sont des sorties, INPUT sont des entres ; le LOW
est 0V ; le HIGH est 5V */
pinMode(M1D, OUTPUT);
digitalWrite(M1D, LOW);
pinMode(M1G, OUTPUT);
digitalWrite(M1G, LOW);
pinMode(M2D, OUTPUT);
digitalWrite(M2D, LOW);
pinMode(M2G, OUTPUT);
digitalWrite(M2G, LOW);
pinMode(A, OUTPUT);
digitalWrite(A, LOW);
pinMode(B, OUTPUT);
digitalWrite(B, LOW);
Serial.begin(9600); // debit de transmition d’Arduino à PC
pinMode(trig, OUTPUT); // définir port trig du US comme sortie
digitalWrite(trig, LOW); // faire sortir de ce port 0v
pinMode(echo, INPUT); // définir port écho du US comme enter
Serial.begin(9600);
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 19
}
void loop() /* fonction boucle */
{
digitalWrite(trig, HIGH);
delayMicroseconds(10); // délais de 10us
digitalWrite(trig, LOW);
lecture_echo = pulseIn(echo, HIGH); // lire l’écho issue de US
dis = lecture_echo / 58; // fonction distance
Serial.print("val : "); /* permet d’écrir sur l’interface Arduino dans le
PC */
Serial.println(dis);
if(dis < 15)
{
digitalWrite(M1G, LOW);
digitalWrite(M1D, HIGH);
digitalWrite(A, HIGH);
digitalWrite(M2G, HIGH);
digitalWrite(M2D, HIGH);
digitalWrite(B, HIGH);
delay(3000);
}
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 20
else
{
digitalWrite(M1G, LOW);
digitalWrite(M1D, HIGH);
digitalWrite(A, HIGH);
digitalWrite(M2G, LOW);
digitalWrite(M2D, HIGH);
digitalWrite(B, HIGH);
}
delay(10);
}
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 21
Partie mécanique Pour résumer notre projet en quelque mot, il nous faut au moins 10
pages, juste pour l’explication qui sera certainement d’un cas ou d’un
autre, ennuyeuse, donc la solution à suivre c’était de présenter le projet
en tant que sa partie mécanique sous des fichiers bien schématisés
(design) et bien rédiger, afin que tout le monde puisse le bien
apprendre.
La conception de cette partie s’est réalisé par le logiciel TopSolid, qui a
pour but de bien dessiner le robot en lui donnant une vue générale de
comment sera-t-il apparait ?
Les fichiers se composent des noms des composants utilisés lors de la
conception, nom du projet, espace à dessiner…etc.
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 22
Cahier de charge
Au cours de ce mini projet, on a pu d’un 1er cas, établir tous les
notions nécessaires pour faire une conception générale du projet.
Le matériel utilisé est reste néanmoins chère pour que nous puissions
le supporter, mais il est plus efficace, plus performant et ne demande
pas trop de chose (composant) pour la réalisation.
List des
composants :
Composant Réf. Prix €
Arduino Uno Rev3 40
Arduino Shiled motor 32
Capteur US HC-SR04 10
Servo-motor S3003 13
Support robot 3 feet 40
Support batterie --- 1
Total 136 €
Total 1632 DH
Navigation d’un robot détecteur d’obstacle
LICENCE PROFESSIONNELLE EEAII 2014 P. 23
Conclusion
Ce projet, bien que ludique, reste néanmoins très proche de notre
conception. Réalisé à l'aide de cartes électroniques analogiques et
numériques, il peut permettre la mise en situation de fonctions simples,
essentiellement basées sur l'utilisation de la carte Arduino.
Les différentes fonctions peuvent être décomposées en sous-
ensembles qui peuvent être étudiés et développés séparément.
C’est un projet simple à mettre en œuvre, motivant pour nous comme
étudiants et qui ne demande que peu de moyens.
L'infrastructure filaire peut, dans un premier temps, se résumer à une
seule boucle, pour être ensuite étendue à plusieurs.