WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Mise en oeuvre de la partie perception d'un robot

( Télécharger le fichier original )
par Khaled AMOR
Université de Blida - ingenieur d'etat en electronique 2006
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

    ÇáÌãåæÑíÉ ÇáÌÒÇÆÑíÉ ÇáÏíãÞÑÇØíÉ ÇáÔÚÈíÉ

    æÒÇÑÉ ÇáÊÚáíã ÇáÚÇáí æ ÇáÈÍË ÇáÚáãí

    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.






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"I don't believe we shall ever have a good money again before we take the thing out of the hand of governments. We can't take it violently, out of the hands of governments, all we can do is by some sly roundabout way introduce something that they can't stop ..."   Friedrich Hayek (1899-1992) en 1984