Y robot

57
Remerciement D’abord on tien à remercier nos professeurs encadrant M. Mohammed Karim ETTOUHAMI et M.RAOUI Younes pour la grande quantité des informations qui nous a donné, pour pouvoir réaliser ce travail. On remercie aussi M.Azzouz LOUKDACHE coordonateur de la filière de génie industriel et maintenance, et tous les autres professeurs de cette formation sans exception. Sans oublier les personnes qui nous a aidé pour la réalisation de ce travail, soit avec leurs informations, leur temps ou leurs moyens. 1

description

Robot Mobile suiveur de ligne et détecteur des obstacles à la base de la carte Arduino Uno réalisation par ( RAOUI Yasser , TAHIRI Youssef)

Transcript of Y robot

Remerciement

D’abord on tien à remercier nos professeurs encadrant M. Mohammed Karim ETTOUHAMI et M.RAOUI Younes pour la grande quantité des informations qui nous a donné, pour

pouvoir réaliser ce travail.

On remercie aussi M.Azzouz LOUKDACHE coordonateur de la filière de génie industriel et maintenance, et tous les autres professeurs de cette formation sans exception.

Sans oublier les personnes qui nous a aidé pour la réalisation de ce travail, soit avec leurs informations, leur temps ou leurs moyens.

1

Résumé

Notre projet s’intitule « Etude et réalisation d’un robot mobile suiveur de ligne et détecteur des obstacles à base du module Arduino » en se basant sur ce module qui sert à communiquer avec les servomoteurs et les capteurs infrarouge et le capteur ultrasons (émetteur récepteur) Alimenté avec des piles.

Celui-ci est capable de suivre une ligne noire de manière autonome a l'aide de l'échange des informations entre les capteurs infrarouge et éviter les obstacles avec capteur ultrasons avec l’arduino pour ajuster la vitesse des servomoteurs pour placer le robot sur la ligne noire.

Mot clés:

Arduino – robot mobile – capteur infrarouge – servomoteur-capteur ultrasons.

2

SOMMAITRE

Introduction générale………………………………………………………………………4

Chapitre I : La robotique et Arduino

Introduction…………………………………………………………………………….6

1. Les robots ………………………………………………………………….…...…61.1. Historique ……………………………………………………………………… 61.2. Définition d’un robot… …………………………………………………………6

1.2.1. Utilité d’un robot……………………………........................................... 71.2.2. Composition d’un robot………… ……………………………………….71.2.3. Définition d’un robot mobile……………………………………………...8

1.3. Types de robot …………………………………………………………………...81.4. Fonctionnement des robots évolués………………………………………………8

1.4.1. Perception………………………………………………………………….91.4.2. Décision…………………………………………………………………...91.4.3. Action………………………………………………………………………9

1.5. Robotique Industriel……………………………………………………………....91.6. Les générations des robots…………………………….. …………………………10

2. Carte Arduino…………………………………………………………………………..112.1. Historique …………………………………………………………………………112.2. Définition d’un Arduino …………………………………………………………..122.3. Les cartes Arduino…………………………………………………………………12

2.3.1. La carte Arduino Uno……………………………………………………….122.3.2. La carte Arduino Mega 2560………………………………………………..132.3.3. Les autres carte Arduino…………………………………………………….14

Conclusion…………………………………………………………………………………..14

Chapitre II : Analyse fonctionnelle

II .1. Cahier des charges…………………………………………………………………16II.2. Organigramme………………………………………………………………………17II.3. Analyse fonctionnelle……………………………………………………………….17 II.3.1. Diagramme bête à cornes……………………………………………………17 II.3.2. Diagramme pieuvre………………………………………………………….18 II.3.3. SADT………………………………………………………………………..18 II .3.4. Chaine fonctionnelle………………………………………………………...19 II.3.5. FAST…………………………………………………………………………20 II.4. Schéma de fonctionnement………………………………………………………….21

3

Chapitre III : Etude mécanique

1. Châssis………………………………………………………………………………232. Catia V5R20…………………………………………………………………………23

2.1. Solution possible et solutions retenues ………………………………………….23

2.2. Conception sous CATIA……………………………………………………. ….23

3. Réalisation de la partie mécanique……………………………………………….......27

Chapitre IV : Electronique

1. La carte Arduino…………………………………………………………………….302. Capteurs ……………………………………………………………………………..30

2.1. Capteur ultrasons…………………………………………………………………31

2.2. Capteur de ligne…………………………………………………………………..31

3. Alimentation………………………………………………………………………….324. Servomoteurs ………………………………………………………………………...33

Chapitre V : Partie réalisation

1. Arduino1.0.5 …………………………………………………………………………362. Programmation………………………………………………………………………..37

Conclusion………………………………………………………………………………..43

Annexe………………………………………………………………………………..…44

4

Introduction générale

Notre travail de projet fin d’étude porte sur : étude et réalisation d’un robot suiveur de ligne et détecteur des obstacles d’une façon autonome, dont l’approche de commande

proposée est basée essentiellement sur le module Arduino.

Ce projet est assez complexe car il fait appel à de nombreux domaines techniques différents.

En effet sera entièrement réalisé par nos soins de la partie électronique à la programmation en allant jusqu'à la conception (partie mécanique).

Pour aborder ce thème, on a eu recours à examiner en premier lieu le domaine de la robotique mobile. En deuxième lieu, une étude théorique détaillé portant sur les différentes

cartes électroniques pour un exemple de robot mobile ; architecturé autour du module Arduino, est présentée et discutée.

5

Chapitre I 

La robotique et Arduino

6

Introduction

Le travail élaboré dans ce premier chapitre, est scindé en deux parties. Dans la première, nous

présentons une étude bibliographies sur la robotique. Une étude détaillée sur Arduino, module très

utilisé dans domaine de la robotique, est consacré dans la deuxième partie.

1. Les robots

1.1. Historique

La robotique est issue des travaux effectués sur les automates, ancêtres des robots. Parmi les

premiers constructeurs d’automates, on peut citer Léonard de Vinci, ou encore le mécanicien français

Jacques de Vaucanson, dont les tentatives de reproduction des fonctions vitales des êtres humains

(circulation, respiration et digestion) au moyen d’automates.

Le terme « robot » est introduit en 1920 par l’écrivain tchèque Karel Čapek dans sa pièce de

théâtre RUR (Rossum’s Universel Robots). Ce terme, provenant du tchèque robot, « travail forcé »,

désigne à l’origine une machine androïde capable de remplacer l’homme dans toutes ses tâches. Au

XIXe siècle apparaissent les premières machines-outils, qui par leurs fonctions peuvent être

considérées comme les précurseurs des robots. Dans les années 1940 et 1950, les progrès de

l’électronique permettent de miniaturiser les circuits électriques (inventions du transistor et du circuit

intégré), ouvrant ainsi de nouvelles voies à la fabrication de robots. Dans les premiers temps de la

robotique, le robot est considéré comme une imitation de l’homme, aussi bien fonctionnelle que

physique. Aujourd’hui, les constructeurs ne tentent plus de reproduire l’aspect humain sur un robot,

privilégiant avant tout sa fonctionnalité.

Les robots sont actuellement très répandus dans l’industrie, en particulier en construction

automobile, et chez la plupart des fabricants d’ordinateurs. Capables d’effectuer rapidement des

travaux répétitifs, ils sont notamment utilisés dans les chaînes de fabrication et de montage. On les

emploie également dans des environnements difficilement supportables par l’homme (conditions

extrêmes de température ou de pression, radioactivité élevée, etc.). L’industrie du nucléaire a ainsi

largement contribué au développement de la robotique (notamment dans la conception de bras

télémanipulateurs).

1.2 Définition d’un robot 

Machine, automate à l'aspect humain capable d'agir comme un être humain.Appareil

effectuant, grâce à un système de commande automatique à base de micro-processeur, une tâche

précise, pour laquelle il a été conçu dans le domaine industriel, scientifique ou domestique.

7

1.2.1. Utilité d’un robot 

Un robot peut servir à beaucoup de chose, nettoyer une maison, tondre une pelouse, assister

les médecins lors de leurs opérations, faire des tâches répétitives ou dangereuse dans les entreprises. Il

peut aussi être un outil pour l'armée (exemple les robots sous-marins que ECA développe).

1.2.2. Composition d’un robot 

Un robot est composé de plusieurs parties, capteurs, actionneurs et une unité de traitement, le

tout lié sur une base mécanique.

Capteur 

Il existe de nombreux types de capteurs, du simple interrupteur, au capteur de distance en

passant par les capteurs de température. Ils permettent à votre robot d'avoir des informations sur

l'extérieur.

Figure I.1 : Différents types des capteurs

Les actionneurs 

Les actionneurs permettent à votre robot de réagir suivant se que vous lui avez demandé.

Il existe aussi beaucoup d'actionneurs principalement réalisé à base de moteur électrique.

Figure I.2 : Différents types d’actionneurs

8

Unités de traitement 

L'unité de traitement permet de traiter les données venant des capteurs, suivant les données,

l'unité de traitement commande les actionneurs. Exemple : pour un suiveur de ligne, on utilise des

capteurs de lignes, si on est en présence d'un virage, l'unité de traitement doit décider d'arrêter ou

ralentir un moteur pour tourner.

1.2.3. Définition d’un robot mobile 

Un robot mobile est une machine automatique capable de se mouvoir dans un environnement

donné. On regroupe, sous cette appellation tous les robots autonomes (c’est à dire non télécommandés)

capables de se déplacer, par opposition aux robots attachés à un point fixe, comme les robots

manipulateurs en industrie. Il existe plusieurs types de robots mobiles, et ceux-ci sont en général,

classifiés selon leur type de locomotion (c’est à dire le milieu dans lequel ils évoluent, ainsi que leur

mode de propulsion). Les robots mobiles évolueront donc sur terre, dans les airs ou encore dans l’eau.

Les robots terrestres sont, par exemple, actionnés par des roues, des chenilles ou encore des pattes.

1.3. Types de robots 

On peut classer les robots en quatre catégories, par ordre de complexité croissante. Les robots

les plus simples, et les plus courants se contentent de répéter les opérations inscrites dans leurs

programmes. Les robots appartenant au deuxième type, sont capables de reproduire certains

mouvements humains enregistrés sur bande magnétique, tandis que les robots de troisième génération

sont des dispositifs à commande numérique, dont les mouvements sont enregistrés sur une unité de

stockage, et qui peuvent accomplir plusieurs opérations différentes. Enfin, les robots évolués sont plus

complexes, et faisant appel à des capteurs d’environnement et aux techniques d’intelligence

artificielle, sont dotés d’une grande capacité de traitement de l’information. Certains d’entre eux

peuvent, ainsi reconnaître la forme d’objets sur un écran de télévision, ou encore réagir à des paroles

employant un vocabulaire spécifique (voir reconnaissance vocale).

1.4. Fonctionnement des robots évolués 

On peut définir un robot évolué, comme une machine agissant physiquement sur son

environnement, en vue d’atteindre un but qui lui a été fixé. Cette machine doit être capable de

percevoir son environnement, et le cas échéant de s’adapter à certaines variations de celui-ci (capacité

d’autonomie). Par exemple, si le but du robot est de se déplacer d’un point à un autre dans une pièce, il

doit être capable de contourner les obstacles qui y sont présents. Il lui faut donc assurer des fonctions

de perception, de décision et d’action. Pour ce faire, un robot est un mélange de mécanique (bras

9

articulé, système hydraulique, pneumatique et électrique, système de déplacement…), d’électronique

(capteurs en tout genre, caméras…), d’informatique (micro-ordinateurs, microprocesseurs) et de

logiciels. Les robots les plus anciens contiennent beaucoup de mécanique et d’électronique et peu

d’informatique et de logiciels. La part de l’informatique tend à augmenter, car c’est elle qui influe sur

les capacités de perception et de décision. Ainsi, le cœur du robot peut être vu comme une boucle

perception-décision-action.

1.4.1. Perception 

La perception repose sur un ensemble de capteurs plus ou moins sophistiqués. Les robots sont

de plus en plus équipés de caméras CCD (Charge Couple Device), qui font office d’interfaces

visuelles. Ces capteurs fournissent un ensemble de mesures de bas niveau, que le robot va devoir être

capable d’interpréter à plus haut niveau pour préparer la prise de décision. L’interprétation est très

complexe, et met en jeu des outils mathématiques et informatiques de haut niveau (c’est le cas par

exemple de la vision par ordinateur). La qualité de perception détermine, ainsi les possibilités

d’évolution d’un robot.

1.4.2. Décision 

Le processus de décision d’un robot prend en compte d’une part, le but qu’il doit atteindre et

d’autre part, la perception de son environnement. Cette tâche est directement dépendante de la qualité

de la perception. Les modèles de décision peuvent être très complexes, et sont fondés sur des outils

mathématiques et informatiques très évolués, souvent issus de l’intelligence artificielle. La difficulté

majeure de cette opération vient du nombre de l’ensemble des décisions possibles, qui peut être très

grand, et empêche une énumération complète. La prise de décision s’appuie ainsi sur des heuristiques,

qui permettent de déterminer les choix les plus efficaces en fonction de l’objectif visé.

1.4.3. Action 

L’action consiste à mettre en application la décision prise. Cela peut être très simple ou

complexe en fonction du domaine considéré. Cette fonction reste très liée à la mécanique et à

l’électronique, et beaucoup moins à l’informatique.

1.5. Robotique Industriels 

Le marché de la robotique est aujourd’hui encore dominé par les robots industriels, qui sont

souvent très simples. Selon la commission économique des Nations unies pour l'Europe (CEE-ONU)

et la Fédération internationale de robotique (IFR), il y a, en ce début de XXIe siècle, plus de 800 000

robots industriels dans le monde, dont près de la moitié est détenue par le Japon. Le reste du parc

mondial de robots industriels se répartit principalement entre les États-Unis (100 000), l’Allemagne

10

(100 000), l’Italie (45 000), la république de Corée (40 000), la France (25 000) et le Royaume-Uni

(15 000). L’évolution est globalement à la hausse majoritairement aux États-Unis et en Europe.

La répartition est également différente selon le secteur industriel, les industries automobile et

chimique étant les principales utilisatrices de robots. En moyenne au Japon, il y a 270 robots pour

10 000 salariés du secteur industriel (contre 130 en Allemagne, 120 en république de Corée, 60 en

France, 50 aux États-Unis). Dans le secteur automobile japonais, on compte 1 robot pour 6 salariés.

Une évolution est attendue dans le monde des services (robot aspirateur ou robot tondeuse), mais elle

tarde à se confirmer.

1.6. Les générations des robots 

Des progressions s'opèrent dans tous les domaines :

Mécanique,

Micro-informatique,

Energétique,

Capteurs / actionneurs.

A l'heure actuelle, on peut distinguer 3 générations de robots :

Le robot est passif

Il est capable d'exécuter une tâche qui peut être complexe, mais de manière répétitive, il ne doit pas y

avoir de modifications intempestives de l'environnement. L'auto-adaptativité est très faible. De

nombreux robots sont encore de cette génération.

Le robot devient actif

Il devient capable d'avoir une image de son environnement, et donc de choisir le bon comportement

(sachant que les différentes configurations ont été prévues). Le robot peut se calibrer tout seul.

Le robot devient « intelligent »

Le robot est capable d'établir des stratégies, ce qui fait appel à des capteurs sophistiqués, et souvent à

l'intelligence artificielle.

11

2. Cartes Arduino

Suiveur d’une ligne et détecteur des obstaclesPossibilités microcontrôleur PIC16F84A, Arduino unoChoix ArduinoJustification C’est nouvelle technologie avec une manipulation facile des capteurs avec la carte

arduino uno nous a permet de les choisir, le prix des composants ainsi le prix est raisonnable.

2.1. Historique 

Le projet Arduino est issu d'une équipe d'enseignants et d'étudiants de l'école de Design

d'Interaction d'Ivrea (Italie). Ils rencontraient un problème majeur à cette période (avant 2003 - 2004) :

les outils nécessaires à la création de projets d'interactivité étaient complexes et onéreux (entre 80 et

100 euros). Ces coûts souvent trop élevés rendaient difficiles le développement par les étudiants de

nombreux projets et ceci ralentissait la mise en œuvre concrète de leur apprentissage.

Jusqu'alors, les outils de prototypage étaient principalement dédiés à l'ingénierie, la robotique

et aux domaines techniques. Ils sont puissants mais leurs processus de développement sont longs, et ils

sont difficiles à apprendre et à utiliser pour les artistes, les designers d'interactions et, plus

généralement, pour les débutants.

Leur préoccupation se concentra alors, sur la réalisation d'un matériel moins cher et plus facile

à utiliser. Ils souhaitaient créer un environnement proche de Processing, ce langage de programmation

développé dès 2001 par Casey Reas et Ben Fry, deux anciens étudiants de John Maeda au M.I.T., lui-

même initiateur du projet DBN.

En 2003, Hernando Barragan, pour sa thèse de fin d'études, avait entrepris le développement

d'une carte électronique dénommée Wiring, accompagnée d'un environnement de programmation libre

et ouvert. Pour ce travail, Hernando Barragan réutilisait les sources du projet Processing. Basée sur un

langage de programmation facile d'accès, et adaptée aux développements de projets de designers, la

carte Wiring a donc inspiré le projet Arduino (2005).

Comme pour Wiring, l'objectif était d'arriver à un dispositif simple à utiliser, dont les coûts

seraient peu élevés, les codes et les plans « libres » (c'est-à-dire dont les sources sont ouvertes et

peuvent être modifiées, améliorées, distribuées par les utilisateurs eux-mêmes) et, enfin, « multi-

plates-formes » (indépendant du système d'exploitation utilisé).

Conçu par une équipe de professeurs et d’étudiants (David Mellis, Tom Igoe, Gianluca

Martino, David Cuartielles, Massimo Banzi ainsi que Nicholas Zambetti), l'environnement Arduino est

12

particulièrement adapté à la production artistique, ainsi qu'au développement de conceptions, qui

peuvent trouver leurs réalisations dans la production industrielle.

Le nom Arduino trouve son origine dans le nom du bar dans lequel l’équipe avait l'habitude de

se retrouver. Arduino est aussi le nom d'un roi italien, personnage historique de la ville « Arduin

d’Ivrée », ou encore un prénom italien masculin qui signifie « l'ami fort ».

2.2. Définition d’un Arduino 

Le système Arduino est un outil pour fabriquer de petits ordinateurs qui peuvent capter et

contrôler davantage de choses du monde matériel, que votre ordinateur de bureau. C'est une

plateforme open-source d'électronique programmée, qui est basée sur une simple carte à

microcontrôleur (de la famille AVR), et un logiciel, véritable environnement de développement

intégré, pour écrire, compiler et transférer le programme vers la carte à microcontrôleur. Arduino peut

être utilisé, pour développer des objets interactifs, pouvant recevoir des entrées d'une grande variété

d'interrupteurs ou de capteurs, et pouvant contrôler une grande variété de lumières, moteurs ou toutes

autres sorties matérielles. Les projets Arduino peuvent être autonomes, ou bien ils peuvent

communiquer, avec des logiciels tournant sur votre ordinateur (tels que Flash, Processing ou

MaxMSP). Les cartes électroniques peuvent être fabriquées manuellement, ou bien être achetées pré-

assemblées.

2.3. Les cartes Arduino 

2.3.1. La carte Arduino UNO 

C'est la révision la plus récente de la carte de base Arduino USB. Elle se connecte sur l'ordinateur,

avec un câble USB standard, et contient tout ce dont vous avez besoin pour, programmer et utiliser la carte.

Elle peut être complétée avec toute une variété de circuits : des cartes-femelles personnalisées avec des

caractéristiques spécifiques. Elle est similaire à la carte précédente Due milanove, mais elle dispose d'un

circuit intégré USB-vers-série différent, l'ATMega8U2, ainsi qu'un nouveau design du texte de la carte afin

de rendre les entrées et les sorties plus faciles à identifier.

"Uno" signifie un en Italien, et ce nom marque la venue prochaine de la version 1.0 du logiciel

Arduino. La carte UNO et la version 1.0 du logiciel seront la référence des versions Arduino à venir.

La carte Uno est la dernière d'une série de carte USB Arduino, et le modèle de référence des

plateformes Arduino; pour une comparaison avec les versions précédentes.

13

2.3.2. La carte ArduinoMega 2560 

La version de la Mega sortie en même temps que la carte UNO. Cette version est basée sur

l'ATmega2560, qui dispose de deux fois plus de mémoire, et utilise également l'ATMega 8U2 pour la

communication USB-vers-série. Elle contient tout ce qui est nécessaire pour le fonctionnement du

microcontrôleur; Pour pouvoir l'utiliser et se lancer, il suffit simplement de la connecter à un

ordinateur à l'aide d'un câble USB (ou de l'alimenter avec un adaptateur secteur ou une pile, mais ceci

n'est pas indispensable, l'alimentation étant fournie par le port USB). L'ATmega 2560 à 256Ko de

mémoire FLASH pour stocker le programme (dont 8Ko également utilisés par le bootloader).

L'ATmega 2560 a également 8 ko de mémoire SRAM (volatile) et 4Ko d'EEPROM (non volatile -

mémoire qui peut être lue à l'aide de lalibrairie EEPROM).

Le bootloader est un programme préprogrammé une fois pour toute dans l'ATméga et qui

permet la communication entre l'ATmega et le logiciel Arduino via le port USB, notamment lors de

chaque programmation de la carte.

14

Figure I.3 : ArduinoUno

2.3.3. Les autres cartes Arduino 

Il existe plusieurs types d’Arduino, on cite à titre d’exemple :

La carte Arduino Bluetooth

La carte ArduinoMini

La carte Arduino Nano

La carte Arduino LilyPad

La carte Arduino Fio

La carte Arduino Pro

La carte Arduino ProMini

Conclusion 

La conception d'un robot mobile est de nature multidisciplinaire et nécessite, souvent,

beaucoup d'imagination et de créativité. Cette nature multidisciplinaire s'observe dans l'exploitation de

l'électronique, les actionneurs et la conversion de l'énergie, la commande en temps réel, l'acquisition et

la transmission d'images et du son, la programmation. Les télécommunications, sans oublier la

conception mécanique du châssis et de ses composants. Dans cet esprit, nous consacrons le prochain

15

Figure I.4 : Arduino MEGA

chapitre à l’étude détachée nécessaire pour la conception et le mise en œuvre d’un exemple typique de

robot mobile, dont la commande est architecturé au tour du module Arduino Uno.

Chapitre II

Analyse fonctionnelle

16

II.1) Cahier des charges

Définition

Le cahier des charges est un document qui doit être respecté lors de la réalisation d'un projet.

Elément Nombre fonction

Carte arduino uno 1

Traité les différentes informations reçut par les

capteurs pour élaboré un signale de commande vers le

servomoteur

Servomoteur 2 Faire tourner les deux roues

Capteur ultrason 1 Détecter les obstacles

Capteur de ligne 2 Suivre une ligne noire

Piles 98piles de 1.5 v pour alimenter les servomoteurs et une de 9v pour alimenter la carte arduino

Platine d’expérimentation 1 un dispositif qui permet de

réaliser le prototype d'un circuit électronique

17

II.2) Organigramme

II.3) Analyse fonctionnelle

L’analyse fonctionnelle permet d’utiliser ou d’améliorer ou de créer un produit. Elle est la base de l’établissement du cahier des charges fonctionnel. Selon qu’on s’intéresse aux fonctions de service ou qu’on s’intéresse aux fonctions techniques, on parle, alors, d’analyse fonctionnelle externe ou interne.

II.3.1 Diagramme "Bête à cornes"

Pour énoncer le besoin fondamental d’un produit, on utilise l’outil ou diagramme de "bête à cornes", qui pose 3 questions fondamentales suivantes :

• A qui le produit rend-il service ?

• Sur quoi agit-il ?

• Dans quel but ?

18

Utilisateurs

Le suivre d’un tracé au sol et détecteur des obstacles

Robot suiveur de ligne

et détecteur des obstacles

Suivre un tracé au sol et détecteur des obstacles sans intervention extérieure.

Projet robot didactique suiveur ligne et détecteur

des obstacles

Mécanique Programmation Electronique

Rédaction du rapport

Conception du robot

Choix des solutions techniqueRéalisation du

programme

Assemblage

BrochageSimulation CATIA

V5R20

FC1 FC2

FC3

FC4

II.3.2 Diagramme "Pieuvre"

Cette recherche consiste à faire figurer sur un graphique les éléments environnants le produit.

Liste des fonctions :

FP1 Suivre une ligne tracée au solFP2 Eviter les obstaclesFC1 S’adapter au tracée de la ligneFC2 Déplacement le plus régulierFC3 Respecter l’encombrement imposéFC4 S’adapter à une source d’énergie.FC5 Avoir un aspect et une couleur qui s’adaptent au décor environnant.

II.3.3 SADT: Structured Analysis and Design Technique

SADT (Technique structurée d’analyse et de modélisation) est une démarche systémique permettre l’analyse et la compréhension de système complexes.

19

Obstacle

Robot suiveur et détecteur des obstacles

Précision du déplacement

Ligne tracée sur le sol Encombrement

Déplacement souhaité

Energie FP2

FP1

Esthétique

FC5

Se déplacer dans un trajet en évitant les obstacles inattendus

Mastère d’œuvre en entrée

Mastère d’œuvre en sortie

Énergie électrique

Exploitation Programme Réglage

Robot suiveur et détecteur des obstacles

Robot en

dehors du

trajet

Robot sur le trajet

avec évitement

d’obstacles

II.3.4 Chaine fonctionnelle

L’étude globale des systèmes conduit à distinguer 2 entités :

• La chaîne d’information (qui transfère, stocke, transforme l’information) ;

• La chaîne d’énergie (qui transforme l’énergie et permet d’agir sur le système physique)

20

Capteurs Arduino

Batterie Interrupteur Servomoteur

MOE

MOS

Suivre une

ligne et

éviter l’obsta

cle

II.3.5Diagramme FAST: Function Analysis System Technic.

Lorsque les fonctions de services sont identifiées, cette méthode les ordonne et les décompose suivant une logique fonctionnelle pour aboutir (vers la droite) aux solutions technologiques de réalisation.

21

Déplacer le robot Alimenter

Suivre une ligne et éviter les obstacles

Adapter la trajectoire

Faire tourner les roues

Capter la ligne

Servomoteur

Diriger le robot

Détecter l’obstacle

Batteries

Capteur (Line Hunter)

Arduino UnoR3

Capteur Ultrason

Adapter la trajectoire

ArduinoUnoR3

Gérer le système

Donner les ordres

Contrôler la mise en marche

Interrupteur

Arduino UnoR3

II.4) Schéma de fonctionnement

Schéma de fonctionnement désigne une présentation, en général graphique, qui permet de saisir d'un seul coup d'œil un ensemble d'informations liées ou un système complexe.

22

Chapitre III

Etude mécanique

Un robot est composé de plusieurs parties, capteurs, actionneurs et une unité de traitement, le tout lié sur une base mécanique.

23

III.1) Châssis :

Cette partie est assez complexe car on doit fabriquer le châssis avec des dimensions exactes (largueur, longueur, hauteur).

Le châssis est un cadre rigide en bois, destiné à entourer et supporter tous les composants du robot et permettant de le faire tenir en équilibre en respectant les dimensions.

Pendant le projet, notre principal problème a été de nous assurer que les dimensions du robot soient suffisantes pour que les éléments nécessaires à son fonctionnement puissent être fixés dessus.

III.2) CATIA V5R20

III.2.1) Solutions possibles et solutions retenues

C.A.OPossibilités CATIA - Solide Works- AutocadChoix CATIA V5R20Justification Proposé par notre encadrent

III.2.2) Conception sous CATIA

Pour la partie mécanique, nous avons choisi d’abord de discuter tous ensemble de la forme générale du robot. Nous avons dû prendre en compte les besoins, notamment au niveau de la place nécessaire pour positionner les capteurs et autres composants électroniques. Nous avons d’abord réfléchi sur une feuille sur laquelle nous dessinions les composants, mais il est rapidement apparu qu’il serait plus simple d’utiliser un logiciel nous donnant des valeurs précises en 3 dimensions.

24

Figure III.1 : logo CATIA

Conception de dessus du châssis Conception de la base du châssis

Conception des roues

25

Figure III.2 : le dessus du châssisFigure III.3 : la base du châssis

26

Figure III.4 : les roues

Conception des cotes

Conception des accouplements

27

Figure III.5 : les cotes

Figure III.6 : les accouplements

Conception des servomoteurs

Assemblage du robot

28

Figure III.7 : Servomoteurs

Figure III.8 : Assemblage du robot

III.2.3) Réalisation de la partie Mécanique

La base du Châssis

Le dessus du châssis

29

Figure III.9 : La base du chûssis

Figure III.10 : Le dessus de châssis

Le robot assemblé

30

Figure III.11 : Le robot assemblé

Chapitre IV

Electronique

Probablement la partie ou nous avons passé le plus de temps, c'est également celle ou les recherches ont été les plus longues ainsi que les tests préalables, et c'est aussi malheureusement la partie qui nous a causé le plus de soucis et d'erreurs.

31

IV.1) La carte Arduino

IV.2) Capteurs

Pour la partie électronique, nous avons préalablement étudié l’impact des capteurs afin d’optimiser le déplacement du robot le long de la ligne et détecter les obstacles afin que sa progression soit la plus rapide possible. Nous avons donc étudié le nombre de capteurs ainsi que leur position selon différents cas (ligne droite, virage, obstacle). En fonction de leur nombre et de leur position dépend la taille et l’agencement de la carte électronique. Après l’étude et les conseils de nos encadrent on a décidé de choisir : Capteur ultrasons on le place dans le point le plus haut du châssis , et deux capteurs line hunter dans le point le plus bas du châssis pour mieux communiquer entre le terrain et les capteurs .

32

Figure IV.1 : La carte arduino

IV.2.1) Capteur ultrasons

Son principe de fonctionnement repose comme son nom l'indique sur l'utilisation des ultrasons. Ce sont des ondes acoustiques dont la fréquence est trop élevée pour être audible par l'être humain. Ici, on mesurera un niveau grâce au capteur ultrasonique. On peut utiliser d'autres moyens (la pression hydrostatique exercée par le fluide par exemple) pour déterminer le niveau d'un produit dans une cuve, mais la mesure de niveau par ultrasons permet d'effectuer une mesure sans contact avec le produit.

L'émetteur et le récepteur sont situés dans le même boîtier. L’émetteur envoie un train d'ondes qui va se réfléchir sur l'objet à détecter et ensuite revenir à la source. Le temps mis pour parcourir un aller-retour

permet de déterminer la distance de l'objet par rapport à la source. Plus l'objet sera loin plus il faudra long temps pour que le signal revienne. Pour détecter le niveau (la distance d), on utilise l’équation :

Vitesse = distance / temps distance = vitesse ⋅ temps

IV.2.2) Capteur de ligne (line hunter)

Ce module détecte les lignes noires pour permettre aux robots de suivre une ligne. La sortie est HIGH sur le blanc et LOW sur le noir, avec possibilité de calibrer la sensibilité.

Connecteurs :

GND , VCC,OUT

33

Figure IV.2 : Capteur ultrasons

Figure IV.3 : Capteur line hunter

IV .3) Alimentation

Les servomoteurs sont alimentés par huit piles de 1.5 V qui sont logées dans la porte arrière du robot, vous pouvez simplement les changer.

Et une seule pile de 9v de haute qualité (Duracell Alkaline 9V) pour assurer la stabilité du tension qui passe au niveau de la carte arduino.

Voici les figures suivantes qui présentent les différentes piles utilisées.

Figure

34

Figure IV.4 : Porte Piles 1.5V

Figure IV.5 : Portes Piles 1.5V

Figure

Figure IV.7 : le câble de branchement entre la pile de 9v et la carte arduino

IV.4) Servomoteurs

Un servomoteur est souvent abrégé en « servo ».

C’est un ensemble mécanique et électronique comprenant :

Un moteur à courant continu de très petite taille ;

Un réducteur en sortie de ce moteur diminuant la vitesse mais augmentant le couple ;

Un potentiomètre (faisant fonction de diviseur résistif) qui génère une tension variable,

proportionnelle à l'angle de l'axe de sortie ;

35

Figure IV.6 : DURACEL 9V

Un dispositif électronique d'asservissement ;

Un axe dépassant hors du boîtier avec différents bras ou roues de fixation.

Les servos servent à actionner les parties mobiles du modèle : ailerons, volets et trains pour les avions,

contrôle de direction dans le cas de modélisme automobile… À cette fin, les moteurs sont asservis et

obéissent à une commande externe, généralement transmise par radio.

On a modifier le servomoteur d’une rotation angulaire a une rotation continue.

36

Figure IV.8 : Servomoteurs

Figure IV.9 : Servomoteurs modifié

Chapitre V 

Partie réalisation

On est arrivé à la phase de programmation la phase la plus importante dans notre projet.

On a utilisé le programme Arduino 1.0.5 à la base de langage C.

37

V.1) Arduino 1.0.5

Le logiciel de programmation des modules Arduino est une application Java, libre et multi-plateforme,

servant d'éditeur de code et de compilateur, et qui peut transférer le firmware et le programme au

travers de la liaison série (RS-232, Bluetooth ou USB selon le module). Il est également possible de se

passer de l'interface Arduino, et de compiler et uploader les programmes via l'interface en ligne de

commande2.

Le langage de programmation utilisé est le C++, compilé avec avr-g++ 3, et lié à la bibliothèque de

développement Arduino, permettant l'utilisation de la carte et de ses entrées/sorties. La mise en place

de ce langage standard rend aisé le développement de programmes sur les plates-formes Arduino, à

toute personne maîtrisant le C ou le C++.

On a utilisé la dernière version c’est arduino1.0.5.

38Figure V.1 : Interface de logiciel de programmation

V.2) programmation

Programme de suiveur de ligne :

#include<Servo.h>

Servo sG,sD;

bool hG, hD;

void setup() {

sD.attach(5);

sG.attach(6);

pinMode(2, INPUT);

pinMode(3, INPUT);

}

void loop() {

hD= digitalRead(2);

hG= digitalRead(3);

while((hD==LOW)&&(hG==LOW)){

sD.writeMicroseconds(1650);

sG.writeMicroseconds(1350);

hD= digitalRead(2);

hD= digitalRead(3);

}

while((hD==LOW)&&(hG==HIGH)){

sD.writeMicroseconds(1350);

sG.writeMicroseconds(1350);

hD= digitalRead(2);

39

hD= digitalRead(3);

}

while((hD==HIGH)&&(hG==LOW)){

sD.writeMicroseconds(1650);

sG.writeMicroseconds(1650);

hD= digitalRead(2);

hD= digitalRead(3);

}

}

Programme de détecteur des obstacles

#include <Servo.h>

Servo RoueG1,RoueD1;

int distance;

void setup()

{

RoueG1.attach(3);

RoueD1.attach(6);

Serial.begin(9600);

}

void loop()

{

distance = analogRead(A0);

while(distance>=40){

40

distance = analogRead(A0);

AvancerR();}

while ((distance<=40)&&(distance>=13)){

distance = analogRead(A0);

AvancerL();}

while(distance<=13){

Arret();

delay(200);

DroiteL();

delay(400);

AvancerR();

delay(1000);

GaucheL();

delay(500);

AvancerL();

delay(1000);

GaucheL();

delay(400);

distance = analogRead(A0);}

Serial.println(distance);

}

void AvancerL(){

41

RoueD1.writeMicroseconds(1750);

RoueG1.writeMicroseconds(1250);

}

void AvancerR(){

RoueD1.writeMicroseconds(2000);

RoueG1.writeMicroseconds(1000);

}

void ReculerL(){

RoueD1.writeMicroseconds(1250);

RoueG1.writeMicroseconds(1750);

}

void ReculerR(){

RoueD1.writeMicroseconds(1000);

RoueG1.writeMicroseconds(2000);

}

void GaucheL(){

RoueD1.writeMicroseconds(1750);

RoueG1.writeMicroseconds(1750);

}

void DroiteL(){

RoueD1.writeMicroseconds(1250);

RoueG1.writeMicroseconds(1250);

42

}

void GaucheR(){

RoueD1.writeMicroseconds(2000);

RoueG1.writeMicroseconds(2000);

}

void DroiteR(){

RoueD1.writeMicroseconds(1000);

RoueG1.writeMicroseconds(1000);

}

void Arret(){

RoueD1.writeMicroseconds(1500);

RoueG1.writeMicroseconds(1500) ; }

Conclusion

L’objectif de notre projet est d’étudier un robot suiveur de ligne et détecteur des

obstacles mettant en application nos connaissances acquises en cours nous avons choisi notre

matériel en fonction de nos besoins essayé différentes solutions a fin d’arriver aux

fonctionnalités souhaitées.

On peut développée le travail de différentes manière, par exemple, on peut commander le robot à distance à travers un téléphone mobile (avec les ports TX,RX de la carte arduino) en

43

ajoutant le shield à notre carte Arduino. L’équipe Arduino vient de lancer la commercialisation de leur nouveau shield GSM.

44

Annexe

La constitution de ATMEGA328

45

Outillage

46