ÇáÌãåæÑíÉ
ÇáÌÒÇÆÑíÉ
ÇáÏíãÞÑÇØíÉ
ÇáÔÚÈíÉ
æÒÇÑÉ
ÇáÊÚáíã
ÇáÚÇáí æ
ÇáÈÍË
ÇáÚáãí
REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE
MINISTRE DE L'ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE
SIENTIFIQUE
ÌÇãÜÚÜÉ
ÓÜÚÜÏ ÏÍÜáÜÈ
ÇáÜÈÜáÜíÜÏÉ
UNIVERSITE SAAD DAHLEB DE BLIDA
ßÜáÜíÜÉ
ÇáÜåÜäÜÏ ÓÜÉ -
ÏÇÆÜÑÉ
ÇáÅáÜßÜÊÜÑæäíÜß
FACULTE DES SCIENCES DE L'INGENIEUR
DEPARTEMENT D'ELECTRONIQUE
MEMOIRE DE
PROJET DE FIN D'ETUDES
POUR L'OBTENTION DU DIPLÔME
D'INGENIEUR D'ETAT EN ELECTRONIQUE
OPTION:CONTROL
N°:
MISE EN OEUVRE DE LA PARTIE PERCEPTION D'UN
ROBOT
MOBILE AUTONOME JOUEUR DE GOLF (EUROBOT
2006)
Présenté par: Mr
MOUALHI YOUNES
Mr AMMOUR
KHALED
Proposé par:
Pro. : Melle AMROUCHE
BADIA
CO.Pr. : Mr KAZED
BOUALEM
Session: Juillet 2006
Dédicaces
Nous dédions ce travail à nos Parents respectifs,
nos frères et sueurs pour le soutien et l'assistance permanents tout le
long de notre carrière scolaire et universitaire, qu'ils nous ont
apportée avec patience et détermination.
Ces dédicaces vont aussi de manière chaleureuse
et amicale à l'endroit de tous nos amis.
Enfin, nous tenons à dédier ce modeste travail
à l'ensemble de nos promotionnaires de l'institut d'électronique,
pour leurs suggestions.
Remerciements
Nous tenons à remercier tout d'abord DIEU le tout
puissant qui nous a donnés durant toutes ces années la
santé, le courage et la fois en nous même pour arriver à ce
jour.
Nous exprimons nos sincères remerciements à
l'égard de Mr KAZED BOUALEM pour son aide et ses encouragements
précieux, durant les travaux pour la mise en oeuvre de ce modeste
travail.
Nous remercions enfin tous ceux qui de près ou de loin
ont contribué de manière significative à
l'élaboration de ce mémoire.
Introduction générale
Se mouvoir dans un environnement, suivre une trajectoire
donnée, détecter des objets, éviter les obstacles se
comptent parmi les tâches courantes pour lesquelles un robot mobile est
conçu. Pour leur bon accomplissement, le robot mobile doit être
doté de la fonction perception, dont le rôle est de fournir un
ensemble d'informations nécessaires pour la partie gestion et
contrôle.
Notre travail consiste à mettre en oeuvre la partie
perception d'un robot mobile joueur de golf. En effet suivant le cahier des
charges proposé par les organisateurs d'Eurobot, nous avons
établie une stratégie, selon laquelle nous somme
été amenés à concevoir un robot mobile autonome
capable :
o De suivre une trajectoire bien
déterminée ;
o De détecter les obstacles par contacte ;
o De chercher les balles, ce qui sous-entend leur
détection ;
o Et enfin la localisation des trous et leurs
identification.
Et ce dans le but de permettre la mise en marches des autres
systèmes et unités fonctionnelles qui composent le robot,
à savoir la partie locomotion, le système de ramassage et le
système d'aspiration, dans le but de mettre le plus de balles dans les
trous de l'adversaire.
La partie perception de notre robot mobile est à la
base de quatre capteurs : les encodeurs optiques, un capteur ultrasons, un
capteur de couleur et des détecteurs de contacts. La faculté de
perception englobe en plus des capteurs, leur gestion qui nécessite
l'implémentation du protocole de communication propre à chacun
d'entre eux.
Pour bien expliciter ce modeste travail, nous avons choisi
d'organiser notre mémoire en plusieurs chapitres :
· Le premier chapitre présente la structure
générale de notre robot mobile établie en fonction d'une
stratégie mise en oeuvre dans le but de marquer le maximum de points
possibles tout en suivant les directives du cahier des charges qui est
présenté par la même occasion ;
· Le deuxième chapitre est consacré
à la partie perception, les capteurs, leurs modes de fonctionnement et
l'électronique nécessaire à leur fonctionnement y sont
présentés ;
· Dans le troisième chapitre, nous nous
intéressons à la partie électronique du robot
mobile ;
· La gestion des capteurs et de la partie
programmation sont abordées dans le quatrième
chapitre ;
· Les résultats de notre travail seront
présentés au niveau du cinquième chapitre.
Chapitre 1 :
Présentation générale du robot
mobile
1.1 Introduction
Conçu à l'image de l'homme, le
rôle d'un robot mobile autonome et d'imiter ses plus importante fonctions
à savoir la locomotion, l'autonomie et l'interaction intelligente avec
son environnement d'évolution. L'accomplissement de cette tâche
complexe nécessite l'analyse et la compréhension du comportement
globale de l'homme, qui peut être représenté par le
schéma simplifié de la figure1.1.
Organes de perception
Traitement des informations
Partie décisionnelle
Partie contrôle
Organes effecteurs
Les 5 sens
Le cerveau
L'environnement
Figure 1.1 : schéma
synoptique décrivant le mécanisme d'interaction de l'homme avec
son environnement.
En effet, pour le bon accomplissement d'une tâche
donnée, nécessitant l'utilisation d'organes effecteurs, l'homme
collectes les informations indispensables décrivant son environnement,
à la base desquelles, l'unité de gestion et de contrôle,
fournie les commandes (ordres) nécessaires pour l'obtention du
résultat désiré. De cela on peut juger l'importance de la
partie perception, car de sa précision et de la qualité des
informations qu'elle délivre que dépend le fonctionnement d'un
robot mobile.
Dans ce chapitre, nous présentons notre robot mobile,
en mettant l'accent sur sa partie perception : les capteurs
utilisés, leurs rôles qui entrent dans le cadre d'une
stratégie bien déterminée qui répond au cahier des
charges élaboré par les organisateurs de Eurobot 2006 qui sera
présenté ultérieurement.
1.2 Définition d'un robot mobile
Le terme « robot » a
été introduit en 1920 par l'écrivain tchèque Karel
Èapek. Ce terme, provenant du tchèque robota,
« travail forcé », désigne à l'origine
une machine androïde capable de remplacer l'homme dans toutes ses
tâches. Après, pendant les années 70 et 80, un nouveau
domaine émergea dans l'automatisme : la robotique. Ce dernier a
connu un développement considérable profitant des avancées
technologiques des autres domaines tels que la microélectronique, les
microprocesseurs et les capteurs.
Un robot mobile se caractérise par
l'absence de lien mécanique avec un objet de référence, ce
qui ouvre magistralement la porte aux applications potentielles. La
liberté de mouvements lui confère une autonomie qui lui permet de
trouver d'autres utilisations que manufacturières. L'objectif principal
d'un robot mobile consiste à réaliser un mouvement en reliant un
point source à un point destination. L'exécution de cette
tâche avec un certain degré d'autonomie nécessite
l'utilisation d'un ensemble de ressources et d'une structure assurant une
coopération efficace entre elles. Sur le terrain, plusieurs structures
sont utilisées, le choix d'une structure est directement lié
à la nature de l'environnement dans lequel le robot doit évoluer,
et de la nature de sa tache ainsi que des performances recherchées.
Sachant que cette celles-ci dépendent à la fois de la
qualité des ressources et de leur gestion.
Ayant pour mission de concevoir un robot dans un cadre bien
défini ; qui est la compétition de robotique Eurobot. La
tâche globale du robot a été bien
déterminée ; le robot devait jouer au golf en respectant le
cahier des charges élaboré par les organisateurs. Ce cahiers des
charges définit l'environnement dans lequel se déroule les
matches, les règles du jeu et les dimensions des robots.
1.3 Le cahier des charges
Cette année, les participants devaient concevoir puis
réaliser un robot, conforme au règlement, apte à
participer aux matchs dont le thème cette année est le
« Funny Golf ». Le principe est simple : deux
équipes, une rouge et une bleue, s'affrontent sur l'aire de jeu
représenté par la figure 1.2. la durée du matche est de 90
secondes, le but de chacune d'elles est de déposer le plus de balles
blanches (dont les dimensions sont celles d'une balle de ping-pong) dans les
trous de sa couleur c'est-à-dire l'équipe qui mettra le plus de
balles blanches dans les trous de sa couleur sera le vainqueur. Le robot peut
également placer des balles noires dans les tous aux couleurs de
l'adversaire de manière à l'empêcher de marquer des points.
En plus des balles disposées au départ sur l'aire de jeu, il sera
également possible d'activer des éjecteurs de balles
supplémentaires en cours de partie par contact avec des totems
disposés sur la table.
Figure 1.2 :
Représentation de l'aire du jeu.
1.3.1 L'aire de jeu
L'aire de jeu est rectangulaire et mesure 2,10 m de large sur
3,00 m de long. Elle est peinte en vert. Deux lignes noires de 0.5 cm de large
sont peintes à 105 cm des bordures les plus petites (ces lignes passent
par le milieu de l'une des positions possibles pour les totems). L'aire de jeu
est composée de :
· Un plateau rectangulaire peint en vert avec deux lignes
noires qui divisent l'aire de jeu en trois parties.
· 28 trous. Chaque trou est entouré d'un cercle
bleu ou rouge.
· 31 balles blanches: 15 sur l'aire de jeu, et 4 dans
chaque mécanisme d'éjection des balles. 11 des 15 balles blanches
situées sur l'aire de jeu sont placées à des endroits
prédéterminés. Les 4 autres sont positionnées
aléatoirement.
· 10 balles noires: 6 sur l'aire de jeu (2 sur la ligne
médiane et 4 disposées aléatoirement dans des trous - 2
par côté - au début de la partie) et une dans chaque
mécanisme d'éjection des balles.
· 4 totems sont positionnés aléatoirement
au début de la partie, avec une symétrie centrale. (voir le
schéma pour voir les différentes positions possibles.)
· 4 systèmes d'éjection des balles
(contenant 4 balles blanches et 1 balle noire), un dans chaque coin du terrain.
Chaque totem est relié au système d'éjection de balle
situé à l'opposé de l'aire de jeu (symétrie
centrale).
Totem Trou Balles noires
Balles blanches Système
d'éjection des balles
Figure 1.3 : Disposition des
éléments de l'aire du jeu.
1.3.1.1 Les totems
Quatre totems sont présents sur l'aire de jeu. Ce sont
des cylindres de 52 mm de diamètre et de 147 mm de hauteur. Ils sont
fabriqués en plastique (PVC). Le haut des totems est fermé. Pour
activer un totem, un robot doit créer un contact électrique entre
les 2 anneaux métalliques du totem. Les totems ne sont pas
dédiés à l'un des robots : chaque robot peut activer les 4
totems. Au début de la partie, les totems sont disposés
aléatoirement sur l'aire de jeu. Chaque totem est lié au
mécanisme d'éjection de balle situé à son
opposé sur l'aire de jeu (selon une symétrie centrale).
Figure 1.4 : Structure d'un
totem.
1.3.1.2 Système d'éjection
de balles
A chaque coin de l'aire de jeu, il y a un système de
libération des balles. Au début de la partie, chaque
système d'éjection de balle contient cinq balles : quatre
blanches et noire, dans l'ordre représenté par la figure
ci-dessous.
Figure 1.5 : Disposition des
balles dans l'éjecteur.
1.3.2 Robots
Le cahier des charges contient de longues conditions concernant
les robots, dans ce qui suit nous avons essayé de résumer
l'essentiel de cette partie.
1.3.2.1 Equipements obligatoires
Les robots doivent obligatoirement comporter :
· Un dispositif de démarrage situé sur le
robot et d'accès facile, déclenché par un cordon d'une
longueur minimale de 500 mm actionnant le système. Ce cordon ne doit pas
rester sur le robot après le départ. Tout autre système
(télécommande, interrupteur...) ne pourra pas être
homologué.
· Un interrupteur d'arrêt à pression ("coup
de poing") doit être installé dans les limites des dimensions de
chaque robot. Cet interrupteur doit être mis en valeur par un signe
distinctif rouge d'au moins 20 mm de diamètre ; il doit être
placé en évidence sur une zone non dangereuse et d'accès
immédiat et vertical pour l'arbitre à tout moment du match. Cet
interrupteur est un arrêt d'urgence de la puissance moteur et des
actionneurs.
· Les robots doivent comporter une minuterie de
façon à s'immobiliser ou à être hors service
à la fin du temps de match de 90 secondes.
1.3.2.2 Contraintes spatio-temporelles
Les équipes sont autorisées à
prévoir un déploiement pour leur robot. Dans ce cas, il doit
avoir lieu après le signal du départ. On définit le
périmètre d'un robot comme étant le
périmètre de l'enveloppe convexe englobant sa projection
verticale (voir schéma ci-dessous).
· Le périmètre de l'ensemble du robot ne
doit pas excéder 120 cm au moment du départ.
· Le périmètre du robot totalement
déployé ne doit pas excéder 140 cm au cours du match.
· La hauteur du robot déployé ne doit pas
dépasser 30 cm.
a : Non
déployé. b :
Déployé.
Figure 1.6 : Exemple de
périmètre.
1.3.2.3 Sources d'énergie
Toutes les sources d'énergie sont autorisées
(ressorts, air comprimé, piles ou batteries...) à l'exception de
celles utilisant des produits corrosifs ou pyrotechniques. En ce qui concerne
les batteries, il est demandé d'utiliser exclusivement des
modèles solides afin d'éviter les problèmes liés
aux écoulements d'acide.
1.3.2.4 Système de
contrôle
Les équipes ont le choix des systèmes de
contrôle du robot (analogique, microprocesseur, microcontrôleur,
ordinateur, automate programmable...). Ces systèmes doivent être
intégrés dans le robot.
1.3.3 Déroulement du
match et décompte des points
Une couleur (rouge ou bleu) et un côté de l'aire
de jeu sont attribué à chaque équipe avant chaque match.
L'équipe place son robot non déployé à
l'intérieur de la zone de départ de façon à ce que
le robot soit en contact avec le bord de l'aire de jeu peint dans la couleur
qu'il arbore (rouge ou bleu : rouge pour le robot portant la couleur rouge et
bleu pour le robot portant la couleur bleue). Le robot ne doit pas contenir de
balles avant le début du jeu sous peine de disqualification de
l'équipe.
Deux personnes par équipe sont autorisées
à accéder à l'aire de jeu pour mettre en place le robot.
Les équipes disposent de trois minutes pour placer leur robot sur leur
emplacement de départ. Une fois le robot en place, plus aucune
intervention ni communication d'information extérieure ne sont
autorisées. Quand les deux équipes sont prêtes, l'arbitre
tire au sort les positions des totems et les dispose sur l'aire de jeu. Il
place ensuite les deux balles blanches, sur les deux emplacements libres. Puis,
l'arbitre tire au sort la position des 2 balles noires, les places et place les
2 autres par symétrie centrale. Pendant cette procédure, les
équipes n'ont plus le droit de toucher leur robot.
1.3.3.1 Le décompte des points
Le décompte des points se fait à l'issue du
match. Et chaque balle blanche qui se trouve dans un trou de couleur donne un
point à l'équipe arborant cette couleur. Les balles noires et les
balles blanches qui entreraient dans des trous après la fin du match ne
donnent pas de points.
1.3.3.2 Les
pénalités
Une pénalité consiste à enlever un point
au score final de l'équipe, à la fin d'un match. Tout robot dont
les actions sont incompatibles avec le règlement peut être
pénalisé par l'arbitre. Les arbitres donneront une
pénalité, par exemple, dans les cas suivants :
· un robot heurtant violemment un robot adverse.
· un robot considéré dangereux vis à
vis de la table et/ou du robot adverse.
· un robot dont la stratégie consiste à
empêcher le robot de l'équipe adverse d'accéder aux
éléments du jeu.
· Un robot dont la minuterie ne fonctionne pas.
1.3.3.3 Les forfaits
Le forfait d'une équipe au cours d'un match
entraîne la perte de tous les points acquis lors de ce match.
L'équipe adverse continue le match seul et marque ses points. Sera
déclarée forfait une équipe :
· qui ne s'est pas présentée à temps
sur les tables d'attente (en arrière-scène).
· qui met plus de 3 minutes à être
opérationnelle sur l'aire de jeu.
· dont le robot n'a pas entièrement passé la
ligne noire la plus proche.
1.4 Présentation de la stratégie du jeu
adoptée
Le robot vainqueur est celui qui marque le maximum de points,
en d'autre termes, le robot est désigné vainqueur s'il arrive
à mettre un nombre de balles blanche dans les trous de sa couleur qui se
trouvent à l'autre coté de l'aire du jeu, supérieur au
nombre de balles blanche marquées par le robot adversaire.
Avant de se lancer dans la conception du robot mobile, nous
nous somme intéressés en premier lieu à la mise en oeuvre
d'une stratégie qui permet de marquer le maximum de points. Notre
stratégie du jeu a été l'objet de plusieurs modifications
causées par :
· le manque de composants ;
· les prix élevés des composants existants et
des outils de construction mécanique ;
· la contrainte du temps et les difficultés
techniques ...etc.
Au départ, nous avions remarqué que les trous de
l'aire du jeu sont distribuées sous forme circulaire (voire annexe), et
que les quinze balles posées sur l'aire de jeu sont divisées en
deux type :
· Les balles fixes : qui représentent la
majorité des balles présentes sur la table. Onze des quinze
balles fixes sont blanches, les autres sont de couleur noire. Toutes ces balles
ont des positions bien déterminées par le cahier des charges.
· Les balles non fixes : qui sont quatre balles
posées aléatoirement
Nous avons donc fixé les tâches que peut
effectuer notre robot mobile, à savoir:
- la première est
offensive : le robot doit marquer le maximum de points, il
doit être capable :
1. d'activer les totems qui serviront pour l'activation
des éjecteurs de balles;
2. de ramasser les balles ;
3. de poser les balles dans les trous se trouvant de l'autre
coté de la table.
- la deuxième est défensive :
le robot doit être capable d'extraire des balles de leurs
trous. Cela est nécessaire dans deux cas de figures :
1. pour retirer une balle marquée par erreur par le
robot lui même dans le mauvais trou ;
2. enlever des points à l'adversaire, en retirant les
balles qu'il a marquées.
Pour parvenir à réaliser ces taches nous avons
envisagé une stratégie qui, comme nous l'avons déjà
dit, à subit plusieurs modifications.
Stratégie
n°1 : le robot devait suivre une trajectoire bien
déterminée comme le montre la figure 1.7, cela lui aurait permit
de ramasser plus de quatre balles, avant de rejoindre la zone de l'adversaire.
Le robot devait être capable d'éviter les obstacles après
leur détection. Nous avons renoncé à cette
stratégie, car après plusieurs essaies nous avons conclu que ses
résultats étaient hasardeux.
Figure 1.7 : trajectoire de
la stratégie n°1.
Stratégie
n°2 :
Dans cette stratégie nous avons gardé la
poursuite de la trajectoire jusqu'à ce que le robot atteigne la zone de
l'adversaire, à partir de ce moment, le robot doit trouver les trous en
fonction de leur couleur au lieu de leurs positions qui étaient
préprogrammées dans la première stratégie.
Quand un trou est détecté, le robot doit
réajuster sa position en tournant à gauche ou à droite
pour positionner le trou au centre du robot. De cette façon ce trou se
trouvera juste en dessous du trou du réservoir de balles. Suivant la
couleur de ce trou le système d'aspiration ou d'éjection est
activé.
Figure 1.8 : trajectoire de
la stratégie n°2.
La structure de notre robot a été
modifiée plusieurs fois à cause de la difficulté de la
mise en oeuvre des stratégies précédentes tout respectant
le cahier des charges. Et peu a peu nous somme arrivé à la
structure finale de notre robot qui est obéissante au règlements
et qui peut exécuter les tâches suivantes :
· Le robot marche sur l'air de jeu sans glissement, il
est bien positionné sur la table et ne provoque pas de vibrations qui
peuvent perturber le fonctionnement des organes de perceptions, cela à
conduit à l'utilisation d'un système de chenilles, qui en plus de
ça facilite le déplacement du robot sur l'aire du jeu sans buter
dans les trous.
Figure 1.9 : Système
de courroie utilisée.
· Le robot peut ramasser les balles à l'aide d'un
système de ramassage. Ce système de ramassage a été
construit à base d'un morceau d'aluminium, trois lames en plastique
transparent, un servomoteur que nous avons modifié. Les balles
ramassées sont mises dans un réservoir à bord du robot.
Figure 1.10 : le
système de ramassage.
Réservoir
Système de ramassage
Figure
1.11 : Disposition du système de
ramassage et du réservoir.
· Le robot peut activer les éjecteurs de balles en
provoquant un contacte au niveau des totems, pour cela nous avons
utilisé une plaque de plastique recouverte par une feuille d'aluminium
qui assure le contacte. Une fois le contacte provoqué, le robot recule
et part chercher d'autres cibles. La détection des objets (obstacles)
est assurée par des microswichs placés derrière la
plaquette à l'avant du robot.
· Notre robot est capable de faire la différence
entre nos trous et les trous de l'adversaire, cela est possible en
différenciant la couleur des anneaux entourant les trous. Cela est utile
pour la prise de décision concernant l'éjection ou
l'aspiration.
· Le robot est doté d'un système
d'aspiration des balles qui est destiné pour la défense en
premier lieu. il est constitué d'une pyramide en plastique coupée
à l'angle et d'un moteur à courant continue et une hélice
récupérée à partir d'un sèche cheveux. Ce
système est activé et désactivé en fonctions des
informations délivrées par les capteurs de couleur.
Moteur
Balles aspirées
Hélice
Figure 1.12 : Le
système d'aspiration de balles.
Le robot peut aussi détecter les obstacles, cela lui
permet d'éviter la bordure de l'air de jeu et le robot adverse,
d'éviter les totems dans les stratégies ne nécessitant
pas l'activation des éjecteurs de balles. Ce système se compose
d'un capteur ultrason et de deux boutons poussoirs qui sont placées
à l'avant du robot (fixées avec le pare-chocs).
1.5 Présentation générale de robot
mobile :
La figure 1.18 représente la structure
générale de notre robot mobile, qui a été
conçu suivant la stratégie adoptée et
précédemment expliquée.
Détecteurs d'obstacles
Gestion des taches
Système de ramassage des balles
Système de locomotion
Système d'aspiration
Système de détection de couleurs
Système d'activation des éjecteurs des balles
Figure 1.13 : Structure
générale du robot mobile
1.6 Conclusion
Pour exécuter une tâche donnée un robot
mobile autonome a besoin d'informations décrivant son environnement. A
la lumière de ces informations, il peut décider à chaque
instant, de la suite de fonctions qu'il doit exécuter pour le bon
accomplissement de la tâche globale.
Dans notre cas, le robot joueur de golf doit détecter
les obstacles, détecter les couleurs et connaître la distance
parcourue au début du match pour passer dans la zone de l'adversaire,
cela sous entend la mise en oeuvre d'une partie perception fiable car d'elle,
de la précision des informations qu'elle fournie que dépend le
comportement globale de notre robot mobile.
Chapitre 2 :
La partie perception du robot mobile
2.1 Introduction
La capacité d'autonomie d'un robot mobile est
liée à sa faculté de percevoir et d'interpréter son
environnement. Dans ce chapitre nous présentons la partie perception de
notre robot qui se décompose en quatre éléments essentiels
: les encodeurs, télémétrie ultrason, capteur de couleurs
et les détecteurs de contact qui découlent directement des quatre
informations que nous avons choisi pour permettre à notre robot
d'évoluer sur l'aire du jeu et d'accomplir sa tâche.
2.2 La partie perception du robot mobile
Après l'élaboration de la stratégie de
jeu à suivre pour assurer une bonne offensive et une bonne
défensive, nous nous sommes occupés de la partie perception. Le
rôle de la partie perception consiste à fournir les informations
nécessaires à l'accomplissement des principales fonctions de
notre robot, à savoir :
· Le calcule de la distance parcourue ;
· La détection d'obstacles ;
· La recherche des balles ;
· La détection des trous.
Pour cela nous avons choisi les capteurs suivants :
· Un encodeur optique, le CNY70 pour collecter les
informations concernant la position du robot par rapport à l'origine du
mouvement ;
· Un capteur ultrason est utilisé pour la
détection des balles sur l'air du jeu ;
· Un capteur de couleur qui permet de distinguer entre le
rouge et le bleu, et ce dans le but de reconnaître les trous ;
· Des microswichs pour la détection
d'obstacles.
Capteur ultrason
Nature du trou
Capteur de couleur
Capteur de contacts
L'environnement
Partie effectrice
Partie gestion et contrôle des tâches
Position
vitesse
Encodeur optique C NY70
Position
Des balles
Présence d'obstacles
Figure 2.1 : l'organisation
fonctionnelle du robot mobile.
Dans ce qui suit, nous allons présenter chaque capteur,
son mode de fonctionnement ainsi que l'électronique qui permet sa mise
en marche.
2.2.1 L'encodeur optique
Les encodeurs optiques sont des capteurs optiques par
réflexion. Ces encodeurs servent à évaluer la position, la
vitesse ainsi que l'angle du robot par rapport à l'origine et
l'asservissement des moteurs. Il est donc important de connaître le
principe de fonctionnement et de vérifier l'efficacité de ces
encodeurs puisque la commande du robot en dépendra.
2.2.1.1 Le capteur « CNY70 »
Le capteur optique par réflexion CNY70 se
présente sous la forme d'un boîtier cubique avec quatre
broches.
Figure 2.2 : Le
CNY70.
Le CNY70 est un émetteur et un récepteur
infrarouge. L'émetteur et le récepteur sont accordés sur
la même longueur d'onde. L'émetteur est une diode infrarouge
centrée sur la longueur d'onde 950 nm. Le récepteur est un
phototransistor, disposés de sorte que le faisceau émis, le
capteur étant perpendiculaire à une surface plane, soit
réfléchi sur le phototransistor.
Réfléchissant
Emetteur
Récepteur
Figure 2.3 : Principe de
fonctionnement du CNY70.
2.2.1.2 Carte électronique du capteur
Pour notre carte de capteurs finale nous avons utilisé
les deux capteurs. Et ce car nous utilisons l'encodeur pour les roues
arrière de robots, Chacun des deux capteurs est monté selon le
schéma de montage suivant :
Figure 2.4 : Schéma
développer du capteur optique.
Nous retrouvons sur la gauche notre CNY70. L'émetteur
est constamment alimenté, une résistance R1 de 100
ohms dont le but est d'abaisser la tension à une valeur acceptable pour
l'émetteur et permet une émission puissante. La sortie du
récepteur est connectée au VCC par l'intermédiaire d'une
résistance R2 dont le rôle est de polariser le
transistor. Selon la luminosité infrarouge reçue sur la base du
transistor, la tension sur la borne 3 (collecteur de transistor) du CNY70 va
varier entre 0 et 5 Volts. Ce qui nous intéresse ici est de discerner
deux états : réfléchi ou non réfléchi. Nous
allons utiliser un comparateur de tensions (LM393) pour comparer la tension
reçue du phototransistor avec une tension de seuil réglable
grâce au potentiomètre R3.
2.2.1.3 Le principe de fonctionnement de l'encodeur
Le codeur incrémental (codeur optique) est le capteur
le plus utilisé pour mesurer les variations de position car il est
très peu onéreux et facile à interfacer. Monté sur
l'axe de la roue, il délivre des informations de rotation
élémentaires qui, par intégration, donnent une mesure du
mouvement global. Pour cela, on peut employer des codeurs de résolution
moyenne montés sur l'axe de la roue (notre exemple, 60 points/tour). La
résolution sur la mesure de vitesse de la roue est augmentée dans
un rapport correspondant à celui du système de transmission du
mouvement.
Parmi les différentes technologies de codeurs (optique,
électromagnétique, inductive, capacitive...), les systèmes
optiques sont les plus répandus en robotique mobile. Le codeur optique
rotatif fonctionne selon le principe de balayage infrarouge d'un disque
gradué (roue) noir et blanc. Lorsque ce disque effectue une rotation, si
le capteur est sur la ligne blanche, le signal infrarouge émis par la
diode est réfléchie et capté par la photo transistor.
Nous avons pris comme convention logique que le capteur
transmet, dans ce cas, un `1' logique en sortie. A l'inverse lorsque le capteur
se situe en dehors de la ligne, sur la zone noire, les infrarouges seront
absorbés et le récepteur sera bloqué donc nous avons alors
un `0' logique en sortie du capteur, la sortie du récepteur
délivre un signal carré qui est ensuite utilisé pour
compter les nombres des impulsions.
V
5v
t
Figure 2.5 : La sortie du
récepteur.
Figure 2.6 : Roue gradue
à 60 morceaux.
2.2.1.4 Erreur des encodeurs
Afin de vérifier la validité des mesures
données par les encodeurs, nous avons fait translater le robot à
des vitesses constantes sur une distance de 2m, puis nous
avons comparé les mesures retournées par les encodeurs à
la distance réellement parcourue par le robot. Les résultats
obtenus présentent une légère différence que nous
avons jugé négligeable.
2.2.1.5 Le rôle du capteur dans le
robot
Les capteurs « CNY70 »
à été utilisé pour coder les roues du robot mobile,
les informations fournies par ce capteur nous permettent de concevoir
l'asservissement des moteurs dans le but d'avoir une trajectoire
précise.
2.2.1.5.1 Asservissement des moteurs
Notre robot possède deux asservissements en position:
l'un pour aller en ligne droite et l'autre pour parcourir une distance. Ces
deux asservissements fonctionnent ensemble. Pour que le robot puisse se
déplacer en ligne droite, les roues doivent être asservies en
position l'une par rapport à l'autre. Le micro contrôleur (module
ROVIN) effectue le comptage des impulsions du moteur de gauche et le comptage
des impulsions du moteur de droite. Périodiquement (dans notre cas,
à chaque nouvelle impulsion) il calcul la différence des deux
compteurs et met à jour la commande du PWM de chaque moteur. Le moteur
qui est en retard se retrouve avec un PWM plus élevé et celui qui
est en avance, un PWM plus faible. Cet asservissement proportionnel suffit pour
que le robot se déplace en ligne droite. 'C' est le coefficient de
proportionnalité du correcteur.
Figure 2.7 :
Schéma synoptique de l'asservissement.
Pour que le robot se déplace sur une distance
donnée, il est asservi en position. Une consigne de distance est
transmise au contrôleur, cette consigne correspond à un nombre
d'impulsion. Dans notre cas, un tour de roue génère 30 impulsions
et un tour de roue déplace le robot de 292mm ce qui donne 9.7mm par
impulsion. Lorsque la moyenne des deux compteurs correspond à la
consigne, le robot est arrivé à destination.
2.2.2 Télémétrie ultrason
Les capteurs acoustiques sont couramment utilisés sur
les robots mobiles d'intérieur, en raison de leur simplicité, de
leur compacité et de leur faible coût. Ils sont mis en oeuvre pour
assurer les bons fonctionnements.
En robotique, on cherche toujours à obtenir le maximum
d'informations sur l'environnement afin de pouvoir adapter le comportement des
robots. Une information particulièrement intéressante à
utiliser est celle concernant la distance. (Distance du robot par rapport
à un obstacle, à une balle, etc.). Le système le plus
communément utilisé en robotique actuellement était le
système de télémètre à ultrasons car elle
est disponible et il a une capacité de mesure de 3cm à 3m. Cela
nous a conduit à opter pour le choix des télémètres
ultrasons (Module MSU04).
Figure 2.7 : Le
MSU04.
L'avantage de ce télémètre est qu'il
fournit une réponse linéaire ; en effet, il émet une
tension positive entre l'instant de l'émission des ultrasons et
l'instant de leur retour en cas de présence d'obstacle. Il suffit donc
de mesurer la durée pendant laquelle la tension est positive et de
calculer la distance correspondante, connaissant la vitesse de propagation du
son dans l'air. Ce nouveau petit module, est capable de déterminer la
distance qui le sépare d'un obstacle se présentant devant lui
(entre 3 cm et 3 m). Doté de 2 cellules ultrason, son principe de
fonctionnement repose sur celui des "sonars".
2.2.2.1 Principe de fonctionnement
Le principe de fonctionnement de ce capteur repose sur la
transmission d'un «paquet» d'ondes de pression ultrasoniques et de la
mesure le temps après lequel l'écho revient sur le
récepteur. La distance de l'objet qui a produit l'écho peut
être mesurée, connaissant la vitesse de propagation du son dans le
milieu et la durée de vol, d'où :
Distance = (Vitesse de propagation * durée de vol)/2
(2.1)
Dans l'air, à pression standard et à 20°C,
la vitesse du son est d'environ c=343m/s. Les ondes ultrasoniques, qui ont des
fréquences typiques de 40 kHz sont en produite en excitant une
céramique piézo-électrique. Il est doté d'une
sortie délivrant des impulsions dont la largeur comprise entre 100 us et
18 ms est directement proportionnelle avec la distance de l'obstacle qui est
présent devant lui (voir schéma ci-dessus). Il pourra par
exemple être très facilement interfacé avec la plupart des
microcontrôleurs (programmable en assembleur, en langage "C", en Basic,
Pascal...).
Figure 2.8 : Chronogrammes
caractéristiques du MSU04.
Figure 2.9 : La zone de
propagation des ondes.
2.2.2.2 implantation et caractéristiques
techniques :
- Alimentation: + 5 Vcc.
- Consommation: 30 à 50 mA
environ.
- Angle de détection: 55 ° env.
- Dimensions: 43 x
20 x 17 mm.
Figure 2.10 : Le
MSU04.
2.2.2.3 Rôle dans le robot
Nous avons utilisé ce capteur ultrason pour la
recherche des balles qui ont été placé sur l'aire de jeu
et pour évité les obstacles aussi.
2.2.3. Capteur de couleurs :
Les capteurs de couleurs sont très présents en
robotique. Par abus de langage, on parle de capteurs de couleurs, en
réalité, nous devrions parler de capteurs d'intensité
lumineuse. Ce type de capteur permet d'identifier plusieurs type de surface
ayant des réflexions différentes : un bleu, un rouge et un vert
par exemple.
Nous présenterons un petit composant très
pratique pour ce genre de détection (LDR), En réalité un
capteur de couleur par (LDR) n'existe pas, cela veut dire qu'il faut faire une
conception de ce dernière par le base de capteur d'intensité
lumineuse. Donc La carte de détection de couleur est très simple
dans son principe. Une diode électroluminescente (LED) éclaire la
face intérieure de la bande, et on détecte la lumière
réfléchie grâce à une photo résistance (LDR).
On choisi LED Bleu car elle est très efficace pour détecte les
couleurs suivant : Bleu, Rouge, Vert et Noire. Accompagné d'un
montage permettant de comparer quatre surfaces aux réflexions
différentes.
Nous allons ici expliquer le principe de fonctionnement de
capteurs d'intensité lumineuse (LDR), le capteur LDR est une
photorésistance, une cellule photoélectrique sensible à la
quantité de lumière reçue. Une variation de lumière
(ou d'ombre) provoque une variation de signal. C'est un capteur passif. Donc
elle doit être utilisée soit avec une source de lumière
spécifique, fonctionnant alors comme une barrière tendue entre la
source de lumière et le capteur, soit en tant que capteur d'ambiance
pour suivre l'évolution de l'intensité lumineuse d'un lieu.
Emetteur (LED)
Récepteur (LDR)
Figure 2.11 : le
schéma de principe de la détection d'intensité
lumineuse.
L'émetteur et le récepteur doivent être
positionnés en face de la surface à analyser. La
réflexion de L'intensité lumineuse sera différente selon
la couleur de surface à analyser. La figure 2.12 représente le
brochage de ce capteur.
Figure 2.12 :
Schéma développé du capteur de
couleurs.
2.2.3.1 Principe de fonctionnement :
On retrouve sur la droite notre LDR. L'émetteur est
constamment alimenté, une résistance de 100 ohms permet une
émission puissante avec protection de DEL. L'entrée du
récepteur est connectée au Vcc par l'intermédiaire d'une
résistance R2 Pull Up pour éviter le court circuit
lorsque la résistance de LDR est très petite. Selon la
luminosité de la LED reçue sur la base du LDR, la tension sur la
sortie du LDR va varier entre 0 et 5 Volts. Ce qui nous intéresse ici
est de discerner plusieurs états, selon la couleur imposée. Nous
allons utiliser un convertisseur de tensions du microcontrôleur (module
ROVIN) pour comparer la tension reçue du LDR, donc on a chaque couleur
une valeur en décimale correspondant a ça couleur. Ce capteur
fonctionne tés bien lorsque les conditions ambiantes restent
invariables. La lumière artificielle ou naturelle qui vienne perturber
le bon fonctionnement du capteur. Pour éviter ce genre de
problème, il faudrait protégé bien LDR de la
lumière extérieur.
S(v)
3V couleur
rouge
2V couleur
vert
1V couleur
bleu
t
Figure 2.12 : les signaux en
sorite du LDR.
2.2.3.2 Rôle dans le robot
Nous avons utilisé ce capteur de couleurs pour une
détection la couleur de l'anneau entourant les trous sur l'aire de
jeu.
Capteur gauche
Capteur droit
Figure
1.13 : Système de reconnaissance
des trous.
Le système de reconnaissance des trous est
constitué de deux capteurs de couleurs qui sont placées au
dessous du robot, devant le trou de réservoir des balles et qui sont
séparées par une distance de 8 cm. Quand seulement l'un
des deux capteurs détecte une couleur de la zone d'adversaire le robot
va effectuer les tâches suivantes :
· Si c'est le capteur se trouvant à droite qui a
détecté, le robot tourne a droite jusqu'à ce que l'autre
capteur détecte cette couleur, puis le robot s'arrête pendant un
instant avant d'avancer.
Balle
Réservoir
Capteur gauche
Capteur droit
2
2
1
1
Aspirateur
Figure 1.14 :
Détection et centrage du trou (1ier cas).
· Dans le cas où la détection se fait par le
capteur gauche, le sens de roation du robot s'inverse.
Capteur gauche
Capteur droit
1
Réservoir
2
2
1
Balle
Aspirateur
Figure 1.15 : Détection et
centrage du trou (2ème cas).
· Si la couleur du trou est détectée par les
deux capteurs en même temps, le robot poursuit son mouvement sans
corriger sa direction.
Dans le cas où le robot détecte son
propre trou, il doit éviter de poser une balle blanche dans le trou et
déclenche le système d'aspiration, les étapes à
suivre dans ce cas sont les suivantes :
· si la couleur est détectée par le capteur de
droite, le robot tourne à gauche.
Aspirateur
Balle
Capteur gauche
Capteur droit
Réservoir
Figure 1.16 :
Détection et évitement de marquage dans un trou (1er
cas).
Aspirateur
Balle
Réservoir
Capteur gauche
Capteur droit
2
2
1
1
Figure 1.17 :
Détection et évitement de marquage dans un trou (2ème
cas).
· Si le capteur gauche détecte la couleur en
premier, le robot tourne à droite.
· Si la détection se fait par les deux capteurs en
même temps, le robot effectue demi-tour.
Remarque :
l'expérience à montré que le troisième
scénario ; la détection de la couleur par les deux capteurs
en même temps, est très rare, un capteur dépasse l'autre
dans la majorité des cas.
2.2.4 Les détecteurs de contact :
La détection d'un contact est certainement l'une des
tâche les plus rencontrées dans la robotique mobile. Pour
détecter un contact, nous pouvons utiliser un bouton-poussoir, un micro
rupteur à levier (microswitch ou micro rupteur) ou tout simplement 2
fils dénudés
Microswitch
Bouton poussoir
Figure 1.18 : exemple de
capteur de contact.
Pour notre robot, nous avons utilisé deux microswitchs
pour la détection les totems placés dans l'aire de jeu. Le
schéma ci-dessous montre comment câbler ce capteur.
BP
Figure 1.19 : brochage du
capteur de contact.
2.2.4.1 Principe de fonctionnement
Le fonctionnement est simple, Le port du microcontrôleur
est configuré en entrée, c'est-à-dire qu'il va lire une
information. Tant que le bouton poussoir n'est pas actionné, le port est
relié au 5V et le microcontrôleur lit un état haut (1).
Dès que l'on actionne le bouton poussoir, le port est relié au 0V
et le microcontrôleur lit un état bas (0). Donc très simple
Pour programmer une réaction du robot en fonction du cette changement
d'état.
2.3 Conclusion
Dans ce chapitre nous nous sommes intéressé
à la partie perception du robot mobile, nous avons
présenté les différents capteurs utilisés, leurs
principes de fonctionnement ainsi que le rôle que joue chacun deux pour
le bon fonctionnement du robot mobile.
Dans le prochain chapitre nous présentons la partie
électronique du robot mobile, les différentes cartes ainsi que le
module Rovin qui set à contrôler l'ensemble du
Chapitre 3 :
La partie électronique du robot mobile
3.1 Introduction
Dans la conception d'un robot, la partie électronique
joue un rôle très important dans le fonctionnement du
système. En effet pour permettre au robot de se déplacer il est
nécessaire de réaliser des cartes telles que la carte de
commande, la carte d'isolation galvanique et la carte de puissance. La
structure électronique de notre robot mobile peut être
représentée par le schéma ci-dessous :
Détecteur de contacte
(Pare-chocs)
Télémétrie ultrason
MSU04
Capteur de couleurs
(Bande de trous)
Carte de commande
(Le module « ROVIN »)
Isolation galvanique
(Optocoupleurs)
Carte de puissance
(L298)
Carte de puissance
(L298)
Moteur déplacement
Droite (MCC)
Moteur déplacement
Gauche (MCC)
Système d'aspiration
(MCC)
Encodeur
(Capteur CNY70)
Encodeur
(Capteur CNY70
Système de ramassage
Figure 3.1 : Schéma
synoptique générale du robot mobile.
La carte de commande envoie des signaux de commande aux
moteurs. Nous avons utilisé quatre moteurs, deux serve à la
locomotion, les deux autres pour l'aspiration et le ramassage des balles.
Pour leur mise en marche, ces moteurs ont besoin de la
puissance, cette dernière est fournie par les cartes puissance. Nous
avons utilisé deux cartes de puissance, l'une pour la commande des deux
moteurs de locomotion et l'autres pour ceux des systèmes d'aspiration et
de ramassage. Des cartes d'isolation galvanique également
utilisées.
3.2 La carte de commande
La carte de commande permet le contrôle et la gestion
de toutes les autres cartes, c'est-à-dire elle récupère
les informations des capteurs puis elle effectue leur traitement, en fonction
de ces informations, elle délivre les commandes adéquates aux
autre cartes pilotant les différents moteurs à courant
continu.
La carte de commande est conçue autour du
microcontrôleur "ROVIN". Le ROVIN est très
différent des autres microcontrôleurs (MICROCHIP) en ce sens que
son circuit principal soit un processeur ARM 32 bits qui intègre
son propre système d'exploitation multitâches( voire annex1). Ce
dernier permet aux utilisateurs de développer des programmes
indépendants sans avoir à se soucier de la gestion interne
multitâches proprement dite.
Figure 3.2 : Le
module ROVINTM .
3.2.1. Schéma développé de la
carte de commande
La tension appliquée à la carte de commande doit
être régulée et correctement filtrée. Sa valeur doit
être comprise entre 4.5 et 5.5 volts. De part la présence d'un
circuit de gestion interne de RESET. La tension ne doit jamais descendre en
dessous de 4 volts faute de quoi le module ROVINTM effectuera un
« RESET » automatiquement.
Figure 3.3 : Schéma
développé de la carte de commande.
Les ports d'entrées/sorties du module
ROVINTM utilisent des tensions de référence
déterminées par les bronches VCCIO. Ces tensions peuvent
être établies à 1.8V, 2.5V, 3.3V, 5V (jusqu'à 5.5V
max). Les bronches VCCIO peuvent être indépendamment
attribués aux ports PA, PB, PC et PD. Nous pouvons ainsi configurer,
à titre d'exemple, les ports comme suit : VCCIO-PA = 5,0V, VCCIO-PB
= 5,0V, VCCIO-PB = 3,3V, VCCIO-PC=2,5V, VCCIO-PD = 1,8V. Ceci est encore un des
avantages du ROVINTM par rapport à la plupart des autres
systèmes qui disposent généralement de tensions de
références internes.
La bronche XRESET est utilisée pour initialiser le
module ROVINTM. Cette branche est similaire à celle de la
branche RESET d'un microcontrôleur (Motorola). Un signal bas
réalise un reset du module ROVINTM. Cette branche doit
être appliquée au niveau logique haut (5V) en fonctionnement
normal.
Les trois bronches GND, PC-TXD et PC-RXD sont utilisées
pour communication entre le PC et le module ROVINTM via le
câble USB pour la programmation. Le câble de programmation USB
dédié spécialement conçu pour le module
ROVINTM.
3.3 La carte de puissance
La carte de puissance joue le rôle d'une carte
d'interface entre la carte de commande te la partie motrice comportant des
composants mécaniques, elle nous permet de commander les moteurs
à courant continu suivant les ordres fournis par la carte de
commande.
Notre carte de puissance est composée de quatre ponts
en H, ce dernier est constitué de quatre transistors qui travaillent
comme des interrupteurs et permettent d'obtenir quatre états selon la
façon dont ils sont commandés, ce principe est
représenté par la figure 3.4.
Figure 3.4 : Fonctionnement
d'un pont en H.
A : La roue est libre, tous les interrupteurs sont
commandés ouverts, aucune tension n'est appliquée au
moteur : il est déconnecté.
B : La marche avant, deux interrupteurs sont
commandés fermés et deux autres ouverts, on applique au moteur la
tension de la batterie.
C : La marche arrière, deux interrupteurs sont
commandés fermés et deux autres ouverts, mais, à l'inverse
du cas précédent, on applique au moteur la tension de la
batterie, avec une polarité inverse.
D : Le frein, deux interrupteurs de la même
polarité du pont en H sont commandés fermés, les
pôles du moteur sont court-circuités, ce qui freine le moteur. Cet
état est rarement utilisé.
Un pont en H est donc simplement un interrupteur qui relie la
batterie au moteur. Cet interrupteur est généralement
commandé par deux entrées logiques : In1 et In2.
In1
|
In2
|
Moteur
|
0
|
0
|
Arrêt
|
0
|
1
|
Sens1
|
1
|
0
|
Sens2
|
1
|
1
|
Arrêt
|
Tableau 3.1 :
logique décrivant le fonctionnement du pont en
H.
La figure 3.5 donne le schéma d'un pont en H.
Figure 3.5 : Le pont en
H.
Les ports en H sont habituellement réalisés
à partir de transistors de puissance normaux et les diodes rapides de
protection (pour protéger les transistors dés surtension produits
par le moteur). Cette dernière n'est pas toujours intégrée
dans les drivers, dans ce cas il ne faudra pas oublier de les rajouter au
montage.
3.3.1 Le circuit intégré L298
Dans notre montage, nous avons besoin de quatre ponts en H,
c'est pour cette raison que nous avons utilisées deux circuits
intégrés L298, car chaque circuit offre un double pont en H.
Figure 3.6 : Diagramme
bloque du L298.
Les caractéristiques du L298 sont les
suivantes :
· Intensité maximale : 2A par pont ;
· Alimentation de puissance de 5.5V à
50V ;
· Type de boîtier : Multiwatt15 ;
· Dissipation puissance total : 25w ;
· Trois entrées par pont : In1, In2 et
ENABLE, la fonctionnement comme suite :
Entrées
|
Sorties
|
Fonction
|
ENA = 1
|
In1=1 ; In2=0
|
Out1=1 ; Out2=0
|
La marche avant
|
In1=0 ; In2=1
|
Out1=0 ; Out2=1
|
La marche arrière
|
In1=In2
|
Out1=1 ; Out2=1 Ou
Out1=0 ; Out2=0
|
Le frein
|
ENA = 0
|
In1=X ; In2=X
|
rien
|
roue libre
|
Tableau 3.2 : les
entrées/sorties du pont en H.
Figure 3.7 : Brochage du
circuit intégré L298.
3.3.2 Schéma développé de la carte
de puissance
La carte de puissance est constituée de deux ponts en H
et d'une partie d'alimentation. Le L298 fonctionne avec une tension
d'alimentation logique (VCC) de 5V, et avec de tension d'alimentation de moteur
(VS) de 12V. Ce qui explique l'utilisation un régulateur (7805).
Les diodes sont utilisées pour protéger les
transistors des surtensions provoquées par les moteurs.
Figure 3.8 : Schéma
développé de la carte de puissance.
3.4 La carte d'isolation galvanique (optocoupleurs)
:
Nous avons utilisé un circuit de mise en forme et de
protection (optocoupleurs), pour éviter les phénomènes de
destruction par électricité statique entre carte de commande et
carte de puissance.
3.4.1 Schéma développé
Pour éviter la propagation vers la partie commande des
perturbations engendrées par les moteurs, nous avons utilisé six
optocoupleurs (deux pour les signaux PWM et quatre autres pour les signaux IN).
Ces optocoupleurs nous permettent également de réaliser une
isolation galvanique entre la partie commande et la partie puissance.
Figure 3.9 : schéma
développé de la carte d'isolation galvanique.
La carte est composée des éléments
suivants :
· des résistances en série avec diode
témoin dont le but est d'abaisser la tension à une valeur
acceptable pour la LED (Diode Electroluminescente) et la diode témoin
(résistance de protection).
· des résistances à la sortie des
phototransistors utilisées pour la polarisation.
3.5 La régulation de la vitesse
Nous avons besoin de commander la vitesse de robot, et pour ce
faire nous utilisons la méthode du PWM (Pulse Width Modulation).
3.5.1 Principe de la PWM
La méthode du PWM (Pulse Width Modulation) consiste
à envoyer très rapidement des impulsions aux moteurs. Ces
impulsions sont en fait un signal créneau avec un niveau bas de 0V et un
niveau haut de 5V. En faisant succéder ces impulsions très
rapidement, le moteur finit par calculer la moyenne de ces impulsions. Ainsi
pour faire varier la vitesse de rotation du moteur on fait varier le rapport
cyclique du signal PWM.
V
10 %
Vcc
t
T
50 %
V
t1
t2
t
V
90 %
t
Figure 3.10 : Exemples de signaux
PWM.
Le pilotage des moteurs se fait par PWM. Un signal PWM est un
signal dont la période est fixe, mais le rapport cyclique varie. Le
rapport cyclique représente le rapport entre la durée de
l'état haut et celle de l'état bas, la vitesse est donc
proportionnelle au rapport cyclique. En d'autres termes, t1 et t2 varient tout
en conservant t1+t2=T=constante. La tension moyenne appliquée au moteur
est proportionnelle au rapport cyclique selon la formule:
Vmoy = (t1
x Vcc) / T (3.1)
Nous avons utilisé les broches PWM du module ROVIN, car
elle offrent la possibilité de piloter des moteur à courant
continu « CC ».
Figure 3.11 : La partie
électronique du robot mobile.
3.6 Conclusion
La gestion des différents systèmes du robot
mobile se fait par le module ROVIN (carte de commande), la commande des moteurs
à courant continu « CC » se fait par les ponts
en H (carte de puissance), la protection de carte de commande se fait par
l'isolation galvanique (Optocoupleurs),
Nous avons choisi de décrire une partie de
l'électronique du robot qui est en relation directe avec les capteur
dans le chapitre précédent, cela nous a permis de comprendre la
partie perception de tous les cotés. Les tests ont montré que
toutes les cartes électroniques réalisées fonctionnent
convenablement.
Chapitre 4 :
Gestion des capteurs et partie programmation
4.1 Introduction
Dans les chapitres précédents nous avons
présenté la structure générale de notre robot
mobile, sa partie perception ainsi que son électronique. Il est clair
que la partie gestion est très importante pour la coordination du
fonctionnement de toutes les parties du robot mobile.
4.2 Les organigrammes
Les organigrammes représentent la première
étape dans la mise en oeuvre de la gestion des tâches. Cela nous a
permis d'organiser les taches, de vérifier l'ordre des instructions et
leur interdépendance. Cette étape constitue une transition
facilitant et simplifiant la phase de programmation.
4.2.1 Organigramme de capteur ultrason (MSU04)
Les deux capteurs sont fixés sur une hauteur de 50 mm
et un angle de 900, avec une distance de 200 mm entre eux, ils sont
utilisés afin d'avoir une distance entre le robot et l'obstacle pour la
poursuite de sa trajectoire.
Le télémètre envoie un son et
écoute l'écho. Un système de mesure du temps nous permet
de connaître la distance de l'objet.
Nous avons développé une petite note
d'application pour permettre de piloter un module sonar ultrason "MSU04"
à partir d'un ROVIN afin de pouvoir mesurer les distances d'un
obstacle présent entre 3 cm et 3 m. Pour ce faire, nous avons
utilisé la broche PD.0 du ROVIN pour donner le signal de
départ du "MSU04" et on a récupéré la durée
de l'impulsion du "MSU04" via la broche EXPD.4 utilisée en entrée
de capture. Cette dernière est configurée pour mesurer les
impulsions de niveau haut. On peut utiliser le mode DEBUG de RIVIN pour lire la
valeur de mesure des impulsions de niveau haut. Après chaque mesure le
ROVIN génère un EVENEMENT (pendant lequel on viendra
afficher la valeur lue dans la fenêtre "On-The-Fly" de l'environnement de
développement "ROVIN-IDE"). La procédure est utilisée pour
le second capteur ultrason.
PROG - INT
Début
Si Détection
Départ de TIMER
CP_TIME <=10cm
Non
Emission d'onde
Oui
Rotation à droite 900
Non
Arrêt TIMER
Oui
Marche avant
Stockage de la valeur du TIMER sur variable CP_TIME
Retour d'interruption
Demande d'interruption
Figure 4.1 :
Organigramme de gestion du télémètre.
4.2.2 Organigramme de capteur de couleur
(LDR)
Les deux capteurs de couleur sont fixés sous la
plate-forme du robot sur une hauteur de 2mm, avec une distance de 50 mm entre
eux, ils sont utilisés pour la reconnaissance des couleurs dans l'aire
de jeu.
Ce programme va nous permettre de tester l'entrée de
conversion analogique/numérique ADC0 du module ROVIN (cette
dernière devra/ recevoir une tension comprise entre 0 et 5 V (la
tension en borne de LDR). On appliquera un facteur de division de 128 (la
valeur lue est initialement sur 10 bits). Dans un même temps, on
affichera la valeur décimale d'une image de la tension en borne de LDR
dans la fenêtre "On-The-Fly" du PC (il faut activer le mode DEBUG dans
l'environnement 'ROVIN-IDE' pour pouvoir bénéficier de cet
affichage, pour spécifier la valeur décimal équivalent de
chaque couleur. Même chose avec deuxième capteur de couleur.
Lecteur la tension analogique en borne de LDR
Début
Activation de port de conversion « A/N »
Stockage de la valeur du convertisseur
« A/N » sur variable CP_C
Fin
Retour vers le programma principale
Figure 4.2 :
Organigramme de gestion du capteur de couleur.
Les résultats fournis à la suite de chaque test
sont de la forme :
CP_CD >=230 ET CP_CD <=240 : Capteur droite
indiquer la couleur bleu (DB)
CP_CD >=410 ET CP_CD <=420 : Capteur droite
indiquer la couleur rouge (DR)
CP_CD >=300 ET CP_CD <=310 : Capteur gauche
indiquer la couleur vert (DV)
CP_CG >=300 ET CP_CG <=310 : Capteur gauche
indiquer la couleur bleu (GB)
CP_CG >=500 ET CP_CG <=510 : Capteur gauche
indiquer la couleur rouge (GR)
CP_CG >=410 ET CP_CG <=420 : Capteur gauche
indiquer la couleur vert (GV)
4.2.3 Gestion de l'encodeur
Nous avons utilisé deux encodeurs, fixés sur les
roues arrière du robot, elles sont utilisées pour compter des
impulsions.
· Le diamètre de la roue de robot est de
930mm ;
· Un tour correspond à 30 impulsions ;
· La distance parcourue par le robot lors d'un tour de
roue est son périmètre, donc d = 93 x 3.14 = 292mm.
Alors, on peut suivre une trajectoire sans problèmes,
le robot mobile se trouve dans l'aire de jeu de l'adversaire, s'il a parcourue
2000mm en ligne droite, ce qui correspondant à environ 7 tours c'est
à dire 140 impulsions. Donc si la variable inférieur à 140
impulsions le robot n'a pas traversé la zone de l'adversaire.
Fin
Tempo = 90s
Initialisation de minuterie 90s
BP fermé
Début
Initialisation de l'encodeur
Marche avant 60cm
CD = CG = 60
1
Suite 1
Suite 1
1
CD = CG = 22
Rotation à gauche 900
CD = CG = 22
Rotation à droite 900
Marche avant 80cm
CD = CG = 80
Marche avant 200cm
CD = CG = 205
Initialisation des capteurs de couleurs
Initialisation des capteurs ultrason
Suite 2
Suite 2
Marche avant
DB ?
GB ?
DR ?
Rotation à droite 450
Matche avant
GB ?
Marche avant 5cm
Rotation à gauche 450
GR ?
Marche avant 5cm
Démarrage l'aspirateur pendant 2s
Marche avant
GR ?
Marche avant
Marche avant
Figure 4.3 :
Organigramme global de gestion.
4.3 Conclusion
Dans ce chapitre nous avons présenté le
programme de gestion de robot mobile sous forme des organigrammes suivant la
structure mécanique et électronique. Ces organigrammes
décrivent la stratégie que suit le robot sur l'air du jeu afin de
réaliser sa tâche. Pour la programmation nous avons utilisé
le langage C qui est un langage évolué très puissant et
simple à manipuler pour la transformation de l'organigramme en
instructions. Nous avons, par la suite, utilisé un compilateur
très développé essentiel pour s'assurer le bon
fonctionnement du programme au niveau de module ROVIN par le mode DEBUG.
Conclusion générale
La robotique est un domaine pluridisciplinaire.
Durant ce projet nous avons pu acquérir une certaine expérience
pour la conception et la réalisation des différentes parties du
robot mobile. Nous avons avant tout, appris à bâtir un projet en
respectant un cahier des charges stricte, et ce par la construction d'une
stratégie idée par idée jusqu'à maturité.
La partie réalisation nous a été d'un
profit inestimable, que ça soit pour la partie mécanique, qui a
nécessitait l'usinage des tôles métalliques, la soudure,
et différentes fonctions de tournage. De même pour la partie
perception et électronique, dans lesquelles nous avons pu mette en
pratique nos connaissances théoriques acquises tout au long de notre
cursus de formation.
Dans ce travail nous avons met l'accent sur la partie
perception, vu le rôle qu'elle joue dans l'autonomie et l'intelligence
d'un robot autonome d'une manière générale. Notre robot
mobile doit jouer au golf et gagner des matches. La partie perception lui
permet de collecter une certain nombre d'informations qui lui sont
indispensables pour effectuer ses tâches ; à savoir le
déplacement sur l'aire de jeu, l'évitement des obstacles, la
détection des balles et leur ramassage et la détection des trous
et leur identification. Pour cela, nous avons utilisé quatre types de
capteurs :
· Les encodeurs optiques fournissant des informations sur
la position du robot à tout moment ;
· Les capteurs ultrasons pour la détection des
balles sur l'aire du jeu ;
· Les détecteurs de couleurs pour la
détection des trous et leur identification ;
· Et en fin les détecteurs de contacts.
· La particularité de notre travail réside
dans l'utilisation du module Rovin qui est un microcontrôleur
spécialisé pour la gestion de notre robot mobile. Son utilisation
nous a permis de centraliser la gestion puisque c'est un microcontrôleur
multitâche.
Le cahier de charge régissant du concours
eurobot 2006 a été totalement
respecté, notre robot a pu être homologué, et les
résultats obtenus durant ce concours sont assez satisfaisants vu le
niveau élevé de cette compétition. Nous avons
été classé 2ème au niveau
national, et 25ème sur les 51
équipes homologuées, sachant que le nombre d'équipes
participantes est de 104 équipes.
Ce résultat aurai pu être bien meilleur si les
testes effectués durant la conception étaient exactement les
même que celle de concours officielle. En fait l'influence et la
puissance des projecteurs sur la scène officielle, fait que les
encodeurs se trouvent fortement influencées et gênent parfois le
bon fonctionnement de robot. De même il est évident que
l'exploitation d'outils plus évolues aurait permit l'améliorer
les performances du robots.
Le but de ce projet consiste en la mise en oeuvre de la partie
perception d'un robot mobile. Nous avons donc conçu un robot mobile
conformément au règlement et au cahier des charges du concours
Eurobot 2006. Ce robot est géré avec une carte principale
conçue et réalisée autour d'un microcontrôleur (le
Module ROVIN).
Les essais effectués dans des conditions réelles
exigées par le règlement du concours ont permis de conclure que
le robot répond parfaitement au cahier des charges et les
résultats sont satisfaisants.
The aim of this project is to design an autonomous mobile that
fulfils the requirement of the Eurobot 2006 rules. This robot is managed with
a principal chart designed and carried out around a microcontroller (the module
ROVIN).
The tests carried out under real conditions required by the
payment of the contest made it possible to conclude that the robot answers the
schedule of conditions perfectly and the results are satisfactory.