Etude et développement d’un Robot de surveillance 2017 Dédicace Je dédie ce travaille à : Mes chers parents : En leur exprimant mon amour, mon respect et mes vives gratitudes pour leur patience, leur amour et leurs prières qui m’encouragent toujours à la réussite tout le long de mes études, que Dieu les protège et les bénisse. A mon frère, à mes sœurs Je leur souhaite la belle vie avec mes sincères gratitudes. A toute ma grande famille et tous mes chers amis, tous ceux que j’aime et qui me sont très chers. Je tiens à remercier Mes beaux-frères Yassin, Hatem, Bilel, Ayech , Wnais, Bassem, Wajdi, Soufien, Wassim et Aymen. Je tiens à remercier aussi mes sœurs Rihab, Roua, Raja, Nouha, Nawel, Wided, Marwa et Manel... En fin, nous expriment nos gratitudes à nos familles Omri et Ezaidi. Bacem.O & Mounir.E Page 2 Etude et développement d’un Robot de surveillance 2017 Remerciements Je remercie avant tout ALLAH le tout puissant qui m’a donné les capacités physiques et intellectuelles nécessaires à la réalisation de ce projet de fin d’études. Au terme de ce travail qui a été réalisé au sein de l’Institut Supérieur des sciences Appliquées et de Technologie de GAFSA nous voudrons bien présenter nous remerciements à tous ceux qui ont contribué à son bon déroulement. Nous tenons également à remercier mon encadreurs Monsieur Anis Ladgham, pour leurs accueils, leurs bienveillances, la générosité de leurs efforts et pour leurs précieux conseils qu’ils nous ont toujours prodigués. Nos sincères remerciements s’adressent également à tous les membres du jury. C’est un grand honneur pour nous que vous avez bien voulu accepter de juger notre projet de fin d’études. Bacem.O & Mounir.E Page 3 Etude et développement d’un Robot de surveillance 2017 Table des matières Introduction générale ......................................................................................................... 8 Chapitre 1 : Etat de l’art ..................................................................................................... 9 1. Introduction : ............................................................... Error! Bookmark not defined. 2. Définition .................................................................... Error! Bookmark not defined. 2.1 Définition d’un automate ........................................... Error! Bookmark not defined. 2.2 Définition d’un robot ................................................. Error! Bookmark not defined. 3. Les types des robots .................................................... Error! Bookmark not defined. 3.1 Robots manipulateur ................................................. Error! Bookmark not defined. 3.1.1 Les types des robots manipulateurs ........................ Error! Bookmark not defined. 3.2 Robot mobiles ........................................................... Error! Bookmark not defined. 3.2.1 Définition ................................................................ Error! Bookmark not defined. 3.2.2 Architecture globale ................................................ Error! Bookmark not defined. 3. 2.3 Les robots à roues .................................................. Error! Bookmark not defined. 4. Domaine d'utilisation des robots .................................. Error! Bookmark not defined. 4.1 Les robots industriels ............................................... Error! Bookmark not defined. 4.2 Robots domestiques ou ménagers ............................. Error! Bookmark not defined. 4.3 Robots en médecine ................................................. Error! Bookmark not defined. 5. Composition d’un robot mobile .................................. Error! Bookmark not defined. 5.1 Structure mécanique................................................... Error! Bookmark not defined. 5.1.1 Le châssis .............................................................. Error! Bookmark not defined. 5.1.2. Les roues ............................................................................................................... 13 5.1.3. Les moteurs ........................................................... Error! Bookmark not defined. 5.2. Structure électronique ............................................... Error! Bookmark not defined. 5.2.1 les capteur .............................................................. Error! Bookmark not defined. 6. L’alimentation : ............................................................ Error! Bookmark not defined. 7. Conclusion ................................................................... Error! Bookmark not defined. Chapitre 2 : Conception mécatronique du robot .............................................................. 24 1. Introduction .................................................................................................................. 24 2. Présentation de la plateforme ...................................... Error! Bookmark not defined. 2.1. Paramètres du robot : ................................................ Error! Bookmark not defined. 2.2. Montage de la plateforme ......................................... Error! Bookmark not defined. 3. La carte arduino uno .................................................................................................... 26 3.1 Vue d'ensemble .......................................................................................................... 26 3.2 Synthèse des caractéristiques ..................................................................................... 27 3.3 Brochage de la carte Uno ........................................................................................... 28 3.4 Alimentation .............................................................................................................. 28 Bacem.O & Mounir.E Page 4 Etude et développement d’un Robot de surveillance 2017 3.5 Les périphérique......................................................... Error! Bookmark not defined. 4. Carte de puissance........................................................................................................ 31 4.1 Caractéristiques du circuit L293 .............................. Error! Bookmark not defined. 4.2 principe de la commande des deux moteurs ............. Error! Bookmark not defined. 5. Communication sans fil ............................................................................................... 25 5.1 Principe de la Communication sans fil ...................................................................... 34 5.2 Bluetooth .................................................................... Error! Bookmark not defined. 5.2.1 Caractéristique de Bluetooth ................................... Error! Bookmark not defined. 5.2.2 Le module Arduino Bluetooth ................................................................................ 35 6. Les capteur ................................................................................................................... 35 7. Conclusion ................................................................................................................... 37 Chapitre 3 :Algorithmes de commande ............................................................................ 38 1. Introduction .................................................................................................................. 38 2. Le logiciel arduino ....................................................... Error! Bookmark not defined. 2.1 Programmation sur carte arduino ............................................................................... 39 2.2. Sélection d’un programme Arduino.......................................................................... 39 3. Programmation ............................................................. Error! Bookmark not defined. 3.1 Conception de programme ......................................... Error! Bookmark not defined. 4. Code Basic de robot ..................................................... Error! Bookmark not defined. 4.1 Organigramme de commande .................................................................................... 40 5. Conception de l'application .......................................................................................... 44 6. Simulation du système sous ISIS ................................................................................ 44 7. Résultats expérimentaux : .......................................... Error! Bookmark not defined. 8. Conclusion ................................................................... Error! Bookmark not defined. Conclusion générale ......................................................................................................... 51 Bibliographies .................................................................................................................. 52 Annexe ............................................................................................................................. 53 Résumé............................................................................................................................. 55 Abstract ............................................................................................................................ 56 Bacem.O & Mounir.E Page 5 Etude et développement d’un Robot de surveillance 2017 Liste des tableaux Tableau 1: Caractéristique de L293D .............................. Error! Bookmark not defined. Tableau 2 : Variation de sens de rotation de robots par le circuit L293D ............... Error! Bookmark not defined. Tableau 3 : Caractéristique Bluetooth............................. Error! Bookmark not defined. Bacem.O & Mounir.E Page 6 Etude et développement d’un Robot de surveillance 2017 Liste des figures Figure 1.1 : Volume de travail; portion de cylindre creux .......................... Error! Bookmark not defined. Figure 2.1 : Volume de travail; portion d’une sphère creuse ...................................................................... 11 Figure 3.1 : Volume de travail cylindrique ................................................................................................ 12 Figure 4.1 : Architecture d'un robot mobile ................................................................................................ 13 Figure 5.1: Robot de type uni cycle ........................................................................................................... 14 Figure 6.1: Robot de type tricycle .............................................................................................................. 14 Figure 7.1: Robot de type voiture .............................................................................................................. 15 Figure 8.1: Robot de type omnidirectionnel .............................................................................................. 15 Figure 9.1 : Constitution d’un robot mobile autonome ............................................................................... 16 Figure 10.1 : A gauche : roues folles. A droite : roue motrice munie d’un réducteur ................................. 17 Figure 11.1: Moteurs à courant continu ..................................................................................................... 18 Figure 12.1: Servomoteur .......................................................................................................................... 18 Figure 13.1: Moteurs pas à pas .................................................................................................................. 19 Figure 14.1: Capteurs SHARP ................................................................................................................... 19 Figure 15.1: Capteur Ultrason..................................................................................................................... 20 Figure 16.1: Capteur fin de course avec roulette ........................................................................................ 20 Figure 17.1: Capteur infrarouge .................................................................................................................. 21 Figure 18.1 : A gauche : Batterie Ni-MH. A droite : Batterie Li-Ion ......................................................... 23 Figure 19.2 : La plateforme développée ..................................................................................................... 26 Figure 20.2 : La carte Arduino Uno ........................................................................................................... 27 Figure 21.2: Brochage de la carte Arduino Uno ......................................................................................... 28 Figure 22.2: Microcontrôleur: ATmega328 ................................................. Error! Bookmark not defined. Figure 23.2: Entrées/sorties numériques ..................................................................................................... 30 Figure 24.2: Les entrées analogiques ......................................................................................................... 31 Figure 25.2: Hacheur 4 quadrants ............................................................................................................... 32 Figure 26.2: Sens du courant des interrupteurs ........................................................................................... 33 Figure 27.2: simulation sur ISIS ................................................................................................................. 34 Figure 28.2: Logo Bluetooth ....................................................................................................................... 35 Figure 29.2: Module Bluetooth HC-06 ...................................................................................................... 36 Figure 30.2: Branchement HC-06 avec arduino ......................................................................................... 36 Figure 31.2: Camera ip wifi ........................................................................................................................ 37 Figure 32.3: Logiciel Arduino .................................................................................................................... 39 Figure 33.3: Programme de stationnement ouvert ...................................................................................... 40 Figure 34.3 : Sélection de la carte Arduino Uno ......................................................................................... 41 Figure 35.3: Capture du logiciel de programmation sur Arduino ............................................................... 41 Figure 36.3: Captures de l'application S2 Terminal ................................................................................... 42 Figure 37.3: Vue de l'interface de création d'application ............................................................................ 44 Figure 38.3: l'interface de création d'application ........................................................................................ 44 Figure 39.3: l'interface de création d'application ........................................................................................ 45 Figure 40.3: Capture de l'interface de création d'application ....................... Error! Bookmark not defined. Figure 41.3: Tourner les moteurs ................................................................................................................ 47 Figure 42.3: Moteur tourner a gauche ......................................................................................................... 47 Figure 43.3: Moteur tourner en avant ......................................................................................................... 48 Figure 44.3: Résultats expérimentaux ......................................................................................................... 50 Bacem.O & Mounir.E Page 7 Etude et développement d’un Robot de surveillance 2017 Introduction générale Au cours du semestre 6, nous avons réalisé notre projet fin d’étude afin de mettre en œuvre les différents acquis reçus dans cette section. Nous avons choisi de travailler sur un robot mobile commandé par arduino. La robotique est un domaine vaste qui regroupe un grand nombre de matières telles que l’informatique, l’électronique, la mécanique etc... Un robot mobile se caractérise par l'absence de lien mécanique avec un objet de référence, ce qui ouvre la porte à plusieurs applications. C'est pourquoi nous avons trouvé intéressant de créer un outil plus attirant pour les nouvelles générations. Nous avons choisi de concevoir un robot mobile capable de mettre en œuvre ces matières. Nous voulons donc concevoir un robot capable d'interagir avec son environnement au moyen de capteurs. Il sera commandé à l'aide de différents programmes C qui auront pour intérêt de mettre en valeur une des matières citée plus haut. Ce travail se divise en trois chapitres, le premier présent de ces derniers. Il contient les différentes techniques de télémétrie et de vision utilisés dans la robotique mobile. Le deuxième chapitre présente, dans un premier temps, une étude cinématique et une modélisation mathématique de la plateforme réalisée. Puis, on détaille ses caractéristiques mécatroniques telles que la conception des cartes électroniques, les composants utilisés et leurs caractéristiques techniques. Le troisième chapitre est consacré à la modélisation, la simulation du système, à l’explication des algorithmes de commande et la création de l’application. En effet, on présente les étapes à suivre dans des organigrammes explicatifs et on enrichit cette partie par des résultats expérimentaux réalisés par le robot. Finalement, on termine par une conclusion générale qui est sous forme d’un bilan du travail avec des propositions de quelques améliorations. Bacem.O & Mounir.E Page 8 Etude et développement d’un Robot de surveillance 2017 Chapitre 1 : Etat de l’art Bacem.O & Mounir.E Page 9 Etude et développement d’un Robot de surveillance 2017 1. Introduction : La robotique est un système très important des domaines en pleine évolution. Les techniques mises à notre disposition sont de plus en plus faciles d’accès. Suite à nos cours de systèmes embarqués et sans fils, nous avons eu l’idée de réaliser un robot dans l’optique de mettre en œuvre nos acquis sur un projet de conception de système embarqué de A jusqu'a Z. 2. Définition : 2.1 Définition d’un automate : Un automate est une machine programmée pour réaliser une tache précise dans un environnement donné. 2.2 Définition d’un robot : Un robot est un automate doté de capteurs et d’effecteurs lui donnant une capacité d’acclimatation et de changement les proche de l’autonomie. Un robot est un système matérialisé des taches dans l’environnement dans lequel il évolue. [1] 3. Les types des robots : Il existe 2 grandes catégories : [1] · Les robots manipulateurs. · Les robots mobiles 3.1 Robots manipulateur : Un robot manipulateur est en forme d'un bras et se compose d'un certain nombre de segments qui est conçu pour utiliser ou déplacer des matériaux, instrument élaboré pour avoir une action sur les pièces sans contact humain direct. Ce sont des ensembles de pièces qui permettent aux humains d'interagir avec des objets en toute sécurité. Les robots manipulateurs sont utilisés dans des applications industrielles pour s'accomplir efficacement des tâches telles que l'assemblage, soudage, traitement de surface, et le forage. 3.1.1 Les types des robots manipulateurs : Les robots manipulateurs viennent sous plusieurs formes. Les formes se répartissent en en cinq grandes catégories : · Robots cylindriques; · Robots sphériques; · Robots SCARA. Bacem.O & Mounir.E Page 10 Etude et développement d’un Robot de surveillance 2017 Robots cylindriques : − La géométrie cylindrique diffère de la géométrie cartésienne en ce que la 1ère articulation prismatique est remplacée par une articulation rotoïde (RPP) 3 DDL; − La structure cylindrique offre une très bonne rigidité mécanique; − L'articulation prismatique horizontale permet à l’organe terminal d’accéder à des cavités horizontales; − Utilisation typique: transport d’objets, même de grande taille (dans un tel cas, des moteurs hydrauliques sont préférés aux moteurs électriques). Figure 1.1 : Volume de travail: portion de cylindre creux Robots sphérique : − La géométrie sphérique diffère de la géométrie cylindrique en ce que la deuxième articulation prismatique est changée par une montage roto ide (RRP) 3 DDL; − La rigidité mécanique est plus petit à celle des deux robots précédents et la construction mécanique est plus complexe; − Le volume de travail peut comprendre la base de support du robot, ce qui permet la manipulation d'objets sur le plancher; − Utilisation typique: usinage. Figure 1.1 : Volume de travail; portion d’une sphère creuse Bacem.O & Mounir.E Page 11 Etude et développement d’un Robot de surveillance 2017 Manipulateur SCARA : SCARA: Sélective Compliance Assembly Robot Arm − Manipulateur sphérique à géométrie “spéciale”; − Deux articulations rotoïdes et une articulation prismatique (RRP): tous les axes sont parallèles 3 DDL; − Rigidité élevée pour charges verticales et extensibilité pour charges horizontales; − Bien adapté à des tâches de montage vertical et à la manipulation de petits objets; − Précis et très rapide. Figure 2.1 : Volume de travail cylindrique 3.2 Robot mobiles : 3.2.1 Définition : Un robot mobile est une machine automatique capable de se mouvoir dans un milieu naturel. On regroupe dans cette nom tous les robots autonomes capables de se changée, par comparaison aux robots attaches a un point stable, comme les robots manipulateurs en industrie. Il y a plusieurs types de robots mobiles, en général, distribuer par catégories de type locomotion. Les robots mobiles manipulent sur terre, dans l'aire ou encore sur ou sous eau. Les robots terrestres sont, exemple, actionnes par des roues, des chenilles ou encore des pattes. Pour la résolution de notre problème, nous allons nous concentrer sur l’étude des robots à roues. Ceux-ci sont, en effet, particulièrement adaptés à un environnement plan. Ils ont une construction mécanique relativement simple et jouissent d’une certaine contrôlabilité. Bacem.O & Mounir.E Page 12 Etude et développement d’un Robot de surveillance 2017 3.2.2 Architecture globale : L'architecture des robots mobiles se structure en quatre éléments : -La structure mécanique et la motricité; -Les organes de sécurité; -Le système de traitement des informations et gestion des tâches; -Le système de localisation. Figure 3.1 : Architecture d'un robot mobile 3. 2.3 Les robots à roues : Il existe plusieurs classes de robots à roues déterminées, principalement, par la position et le nombre de roues utilisées. Nous citerons ici les quatre classes principales de robots à roues. Robot uni cycle : Un robot de type uni cycle est actionne par deux roues indépendantes, il possède éventuellement des roues folles pour assurer sa stabilité. Son centre de rotation est situé sur l’axe reliant les deux roues motrices. C’est un robot non-holonome1, en effet il est impossible de le déplacer dans une direction perpendiculaire aux roues de locomotion. Bacem.O & Mounir.E Page 13 Etude et développement d’un Robot de surveillance 2017 Figure 4.1: Robot de type uni cycle Robot tri cycle : Un robot de type tricycle est constitue de deux roues fixes placées sur un même axe et d’une roue centrée orientable placée sur l’axe longitudinal. Le mouvement du robot est donné par la vitesse des deux roues fixes et par l’orientation de la roue orientable. Son centre de rotation est situe a l’intersection de l’axe contenant les roues fixes et de l’axe de la roue orientable. C’est un robot non-holonome. En effet, il est impossible de le déplacer dans une direction perpendiculaire aux roues fixes. Sa commande est plus compliquée. Il est en général impossible d’effectuer des rotations simples à cause d’un rayon de braquage limite de la roue orientable. Figure 5.1: Robot de type tricycle Robot voiture : Un robot de type voiture est semblable au tricycle, il est constitue de deux roues fixes placées sur un même axe et de deux roues centrées orientables placées elles aussi sur un même axe. Le robot de type voiture est cependant plus stable puisqu’il possède un point d’appui supplémentaire. Toutes les autres propriétés du robot voiture sont identiques au robot tricycle, le deuxième pouvant être ramené au premier en remplaçant les deux roues avant par une seule placée au centre de l’axe, et ceci de manière à laisser le centre de rotation inchangé. Bacem.O & Mounir.E Page 14 Etude et développement d’un Robot de surveillance 2017 Figure 6.1: Robot de type voiture Robot omnidirectionnel : Un robot omnidirectionnel est un robot qui peut se déplacer librement dans toutes les directions. Il est en général constitue de trois roues de centrées orientables placées en triangle équilatéral. L’énorme avantage du robot omnidirectionnel est qu’il est holonome puis qu’il peut se déplacer dans toutes les directions. Mais ceci se fait au dépend d’une complexité mécanique bien plus grande. [2] Figure 7.1: Robot de type omnidirectionnel 4. Domaine d'utilisation des robots : 4.1 Les robots industriels : Les robots industriels sont des robots utilisés dans un environnement de fabrication industrielle. Ils sont utilisés dans la fabrication des automobiles, des composants et des pièces électroniques, des médicaments et de nombreux produits 4.2 Robots domestiques ou ménagers : Robots utilisés à la maison. Ce type de robots comprend de nombreux appareils très différents, tels que les aspirateurs robotiques, robots nettoyeurs de piscines, balayeuses, nettoyeurs gouttières et autres robots qui peuvent faire différentes tâches. En outre, certains robots de surveillance et de télé présence pouvaient être considérées comme des robots ménagers se il est utilisé dans cet environnement. Bacem.O & Mounir.E Page 15 Etude et développement d’un Robot de surveillance 2017 4.3 Robots en médecine et chirurgie : Les robots semblent avoir de l'avenir à l'hôpital. Robodoc aide à réaliser certaines opérations de chirurgie. Le robot infirmier est encore en projet. Le cybersquelette HAL aide les personnes à se déplacer. Et le robot patient permet aux futurs chirurgiens dentistes d'apprendre à soigner sans faire de dégâts... 5. Composition d’un robot mobile : Un robot mobile est la combinaison de trois sous-systèmes tels que la structure mécanique, l’énergie et la structure de commande. Cette combinaison permet de construire un système autonome intelligent capable de se déplacer dans un environnement afin d’accomplir une tâche ou réaliser un événement bien déterminé. énergie Structure mécanique Structure électronique Figure 8.1 : Constitution d’un robot mobile autonome 5.1 Structure mécanique : 5.1.1 Le châssis : Le châssis est un élément qui est souvent sous-estimé dans un robot. Son choix est déterminant dans le bon fonctionnement de ce dernier. Choix de la matière : Tous les matériaux peuvent être utilisés, cela dépend uniquement des épreuves et de type de l’application que le robot va subir. Ce qui compte pour le choix à adopter, c’est le milieu dans lequel le robot va évoluer. L’humidité, l’exposition au soleil ou à une source de chaleur sont des facteurs à prendre en compte. Le bois, le plexiglas, les résines sont en général les plus souvent utilisées par le fait qu’ils sont faciles à mettre en œuvre. Le bois était notre choix pour le châssis de notre robot. Bacem.O & Mounir.E Page 16 Etude et développement d’un Robot de surveillance 2017 Choix de la forme Maintenant que vous avez choisi la matière, il vous faut trouver une forme, là aussi toujours avec en tête le milieu dans lequel va évoluer votre robot. La forme ronde : Si le terrain est semé d’embûches et s’il est anguleux, préférez une forme ronde pour votre châssis, le robot ripera et ne se trouvera pas coincé. La forme ronde à des avantages mais aussi ses inconvénients, il est plus difficile de trouver des places à la mécanique de mobilité et à l’électronique embraquée avec cette configuration. Les formes anguleuses : C’est la plus pratique pour la disposition est l’aménagement de ce qui se trouvera à l’intérieur de votre robot. Mais comme dit plus haut, la forme anguleuse pourra se trouver bloquée plus facilement. 5.1.2. Les roues : Les roues sont la méthode la plus répandue pour apporter de la mobilité au robot. Les roues de robot peuvent être à peu près de n'importe quelle taille, dictée seulement par les dimensions du robot et votre imagination débordante. Cependant, pour des raisons pratiques et de poids, de petits robots ont généralement de petites roues, moins de trois à cinq centimètres de diamètre. Les robots de taille moyenne utilisent des roues avec des diamètres allant jusqu'à 17 ou 20 centimètres. Les robots peuvent avoir n’importe quel nombre de roues, bien que deux soit le plus commun. Le robot est en équilibre sur ses roues grâce à un ou deux patins ou des roulettes pivotantes. Le robot le plus courant utilise deux roues motrices placées de chaque côté. Il existe deux types de roues suivant la fonction voulue: les roues motrices et les roues folles. Figure 9.1 : A gauche : roues folles. A droite : roue motrice munie d’un réducteur Bacem.O & Mounir.E Page 17 Etude et développement d’un Robot de surveillance 2017 5.1.3. Les moteurs : Les moteurs électriques sont utilisés pour "actionner" quelque chose dans votre robot : ses roues, les jambes, les pistes, les bras, les doigts, les tourelles de capteurs Il y a des douzaines de types de moteurs électriques, mais pour la robotique amateur, le choix se résume à ces trois types : Moteurs à courant continu : C’est une machine électrique. Il s'agit d'un convertisseur électromécanique permettant la conversion bidirectionnelle d'énergie entre une installation électrique parcourue par un courant continu et un dispositif mécanique. Elle est aussi appelée dynamo. En fonctionnement moteur, l'énergie électrique est transformée en énergie mécanique; En fonctionnement générateur, l'énergie mécanique est transformée en énergie électrique. La machine se comporte comme un frein. Figure 10.1: Moteurs à courant continu Servomoteur : Un servomoteur est un système motorisé capable d'atteindre des positions prédéterminées, puis de les maintenir. La position est : dans le cas d’un moteur rotatif, une valeur d'angle et, dans le cas d’un moteur linéaire une distance. On utilise des moteurs électriques (continu, asynchrone) aussi bien que des moteurs hydrauliques. Le démarrage et la conservation de la position prédéterminée sont commandés par un système de réglage. Figure 11.1: Servomoteur Bacem.O & Mounir.E Page 18 Etude et développement d’un Robot de surveillance 2017 Moteur pas à pas : Les moteurs pas à pas sont très utilisés dans toutes les applications mécaniques ou l’on doit contrôler simplement la position ou la vitesse d’un système en boucle ouverte. Ces moteurs sont par exemple utilisés dans les imprimantes jet d’encre ou laser, pour positionner les têtes d’impression ou pour l’avancée du papier. Figure 12.1: Moteurs pas à pas 5.2. Structure électronique : 5.2.1 Les capteur : Un capteur est un dispositif convertissant une grandeur physique analogique (pression, température, déplacement, débit,...) en un signal analogique rendu transmissible et exploitable par un système de conditionnement (courant électrique, radiation lumineuse, radiofréquence). Le capteur est la partie d'une chaine de mesure qui se trouve au contact direct du mesurande. Capteur SHARP : Les capteurs SHARP permettent de mesurer des distances par détection infrarouge. Ils peuvent détecter une présence sur une distance située entre 4 et 30 cm. La tension de sortie revient dans la même carte capteur. Ensuite la carte capteurs envoie les tensions dans la carte STM, qui va pouvoir les traiter. Figure 13.1: Capteurs SHARP Bacem.O & Mounir.E Page 19 Etude et développement d’un Robot de surveillance 2017 Capteur ultrason : Le capteur Ultrason est autre type de capteur qui envoie des sons de fréquence supérieure à 20kHz. Il est capable de détecter la présence d'un objet entre 0 et 6,45 m. Au niveau de stratégie, il a été placé à l’avant dans le but de choisir le bon chemin et éviter de se diriger vers des éléments déjà récupérés par l'adversaire. Figure 14.1: Capteur Ultrason Capteur fin-de-course : Les capteurs de fin-de-course sont des capteurs de contact. Lorsqu'il y a contact physique, le finde-course agit comme un circuit fermé (et ouvert dans le cas contraire), et le STM6 reçoit un niveau logique 0 (et haute impédance s'il y a pas de contacts, soit un 1 au niveau logique). On utilise les fins-de-course sur la face arrière du robot pour le calibrer si celui ci a perdu sa position sur la table de jeu. En ce « callant » sur la table, ces capteurs s'activent : on peut donc savoir que le robot est positionné au bord de la table, et recalculer sa position suivant un axe. Il suffit de répéter la même manipulation pour avoir sa position sur le deux axe. Nous avons également un troisième capteur de ce type dans la cale du robot pour détecter lorsque le robot a récupéré des éléments de jeu. Figure 15.1: Capteur fin de course avec roulette Capteur infrarouge : Un capteur infrarouge donne à un robot programmable la capacité de détecter des obstacles et de mesurer la distance les séparant. Bacem.O & Mounir.E Page 20 Etude et développement d’un Robot de surveillance 2017 Le capteur infrarouge est constitué d’un récepteur qui détecte l’intensité lumineuse dans la gamme de lumières infrarouges, supérieures à 780 nanomètres (nm) et d’un émetteur de lumière infrarouge. Le capteur infrarouge peut être utilisé : comme capteur de contact en prenant une mesure avec la LED infrarouge éteinte (récepteur) et une avec la LED infrarouge allumée (émetteur) : s’il n’y a aucun obstacle proche, la valeur lue sera la même. Sinon, l’obstacle aura réfléchi la lumière infrarouge et la deuxième mesure donnera un résultat plus élevé; pour suivre une ligne noire sur fond blanc (ou l’inverse) : en effet, le noir réfléchit beaucoup moins la lumière infrarouge que le blanc; comme capteur de distance en mesurant l’angle avec lequel le rayon réfléchi arrive sur le récepteur : En fonction de la distance entre l’émetteur et le récepteur, on peut en déduire la distance de l’obstacle. Figure 16.1: Capteur infrarouge Les caméras : L’utilisation d’une caméra pour percevoir l’environnement est une méthode attractive car elle semble proche des méthodes utilisées par les humains et fournit un grande quantité d’information sur l’environnement. Le traitement des données volumineuses et complexes fournies par ces capteurs est cependant souvent difficile, mais c’est une voie de recherche très explorée et prometteuse pour la robotique. Caméra simples : Une caméra standard peut être utilisée de différentes manières pour la navigation d’un robot mobile. Elle peut être utilisée pour détecter des amers à partir desquels il sera possible de calculer la position du robot. Si ces amers sont simplement ponctuels, ou de petite taille, il sera en général Bacem.O & Mounir.E Page 21 Etude et développement d’un Robot de surveillance 2017 simplement possible d’estimer leur direction. Dans le cas ou les amers sont des objets connus en 2 ou 3 dimensions, il sera en général possible d’estimer complètement la position du robot par rapport à la leur. Elle peut également être utilisée pour détecter des “guides” de navigation pour le robot, tels que des routes ou des couloirs. Caméra stéréoscopiques : Lorsque l’on dispose de deux caméras observant la même partie de l’environnement à partir de deux points de vue différents, il est possible d’estimer la distance des objets et d’avoir ainsi une image de profondeur, qui peut être utilisée pour l’évitement d’obstacles ou la cartographie. Cette méthode suppose toutefois un minimum d’éléments saillants dans l’environnement et peut être limitée, par exemple dans un environnement dont les murs sont peint de couleurs uniformes. La qualité de la reconstruction risque également de dépendre fortement des conditions de luminosité. La résolution et l’écartement des deux caméras impose également les profondeurs minimum et maximum qui peuvent être perçues, ce qui peut être limitatif pour la vitesse de déplacement du robot. Des techniques similaires peuvent également être utilisées pour estimer la profondeur à partir d’une caméra en mouvement, la difficulté étant alors d’estimer à la fois la profondeur et les positions relatives de la caméra lors de la prise des deux images. 6. L’alimentation : Afin de pouvoir propulser le robot, les moteurs ont besoin d’être alimentés. Cette alimentation provient des piles ou des batteries, qui doivent alors fournir l’électricité nécessaire aux différents éléments électriques et électroniques du robot. Dans la majorité des cas, il est souhaitable d’utiliser deux alimentations différentes : Une alimentation dite « numérique » qui va alimenter la partie commande, les capteurs et certains petits effecteurs (LCD…); Une alimentation dite « de puissance » qui va alimenter les moteurs ou les effecteurs gourmands en termes d’intensité. Les deux grandes familles présentes sur le marché aujourd'hui sont les batteries au nickel- métal hydrure (Ni-MH) et celles au lithium-ion (Li-Ion). Les batteries Li-Ion sont plus récentes et tendent à se démocratiser malgré un prix plus élevé que les Ni-MH. Historiquement, les Ni- MH possèdent une plus grande capacité mais cette différence commence à s'inverser. Un des avantages des Li-Ion : elles ne possèdent pas ou peu "d'effet mémoire". Cela signifie que vous pouvez recharger vos accus Li-Ion dès que vous le souhaitez et de préférence le plus possible pour éviter Bacem.O & Mounir.E Page 22 Etude et développement d’un Robot de surveillance 2017 l'usure. Pour utiliser des batteries Ni-MH de manière optimale, il est conseillé de les recharger lorsqu'elles sont pratiquement vides afin de conserver leurs capacités d'origine. Mais malgré les avantages de la nouvelle technologie Li-Ion, les accumulateurs Ni-MH conservent encore toute leur légitimité pour équiper les appareils photo numériques compacts grâce à leurs prix et leur diffusion. Figure 17.1 : A gauche : Batterie Ni-MH. A droite : Batterie Li-Ion 7. conclusion : A travers ce chapitre on peut dire que dans le cadre de la robotique, la robotique mobile joue un rôle tres important. Contrairement aux robots industriels manipulateurs qui travaillent de façon autonome dans un grand nombre d'usines automatisées, les robots mobiles sont très peu répandus. Dans le chapitre suivant nous présentons la plateforme utilisée, ses caractéristiques et la réalisation d’une carte de commande électronique. Bacem.O & Mounir.E Page 23 Etude et développement d’un Robot de surveillance 2017 Chapitre 2 : Conception mécatronique du robot Bacem.O & Mounir.E Page 24 Etude et développement d’un Robot de surveillance 2017 1. Introduction : Ce chapitre est consacré pour présenter la plateforme réalisée qui est dédiée pour fonctionner à distance qui est l’objet de ce projet. De même, on décrit les cartes de puissance et de commande qui lie les bluetooth à la carte Arduino représentant le cerveau du notre robot. 2. Présentation de la plateforme : Notre but n'est pas forcément de développer un produit commercial, mais principalement un prototype de véhicule robot qui se rapproche d'une voiture réelle. Nous avons ainsi fouillé sa reconstitution après plusieurs tests afin d’améliorer la façon avec laquelle il va exécuter les tâches dans son environnement. On a sélectionné le bois comme matériau pour réaliser le châssis pour plusieurs raisons : simple à utiliser; disponibilité et infinité de choix; déforme facilement; moins prix que le plexi glace ou plastique. 2.1. Paramètres du robot : Poids du robot : 1 Kg (charge des moteurs + cartes + batterie); Diamètre des roues motrices : D=6cm; Distance entre les roues : L=18 cm; Tension : E=9V. 2.2. Montage de la plateforme : Le véhicule robot est construit sur une petite plateforme de bois. Elle est très simplifiée, elle comporte un seul étage de bois où tous les éléments sont installés. On monte les deux roues avant au gabarit des moteurs à travers deux axes en acier. On installe cette dernière association (moteurs + roues motrices) sur la face basse du châssis pour obtenir les deux roues motrices devant, la roue folle est installée sur la même face mais en arrière : elle tourne librement pour suivre le mouvement des roues motrices. Bacem.O & Mounir.E Page 25 Etude et développement d’un Robot de surveillance 2017 Figure 18.2 : La plateforme développée 3. La carte arduino uno : 3.1 Vue d'ensemble : Arduino est une plate-forme de prototypage d'objets interactifs à usage créatif constituée d'une carte électronique et d'un environnement de programmation. Ils font partie de la famille des microcontrôleurs. Un microcontrôleur est une petite unité de calcul accompagné de mémoire, de ports d’entrée/sortie et de périphériques permettant d’interagir avec son environnement. Parmi les périphériques, ont recense généralement des Timers, des convertisseurs analogiquenumérique, des liaisons Séries, etc. On peut comparer un micro contrôleurs à un ordinateur classique, mais système d’exploitation et avec une puissance de calcul considérablement plus faible. La carte arduino uno est une carte à microcontroleur basée sur un ATmega328. Cette carte dispose de : 14 broches numériques d'entrées/sorties (6 sorties PWM ); 6 entrées analogiques (qui peuvent également être utilisées en broches entrées/sorties numériques); d'un quartz 16Mhz; d'une connexion USB; d'un connecteur d'alimentation jack; d'un connecteur ICSP (programmation "in-circuit"); un bouton de réinitialisation (reset). Bacem.O & Mounir.E Page 26 Etude et développement d’un Robot de surveillance 2017 Figure 19.2 : La carte Arduino Uno 3.2 Synthèse des caractéristiques : Micro contrôleur : ATmega328; Tension d'alimentation interne = 5V; tension d'alimentation (recommandée)= 7 à 12V, limites =6 à 20 V; 14 Entrées/sorties numériques avec 6 sorties PWM (Pulse Width Modulation); 6 Entrées analogiques quelque broche est capable de délivrer un courant de 40mA pour une tension de 5V; Courant max par broches E/S = 40 mA; Courant max sur sortie 3,3V = 50mA; Mémoire Flash 32 KB et 0.5 KB utilisée par le plaque DC; Mémoire SRAM 2 KB; mémoire EEPROM 1 KB; Fréquence horloge = 16 MHz; Dimensions = 68.6mm x 53.3mm; La carte s'interface au PC par l'intermédiaire de sa prise USB La carte s'alimente par le jack d'alimentation (utilisation autonome) mais peut être; alimentée par l'USB. Bacem.O & Mounir.E Page 27 Etude et développement d’un Robot de surveillance 2017 3.3 Brochage de la carte Uno : Figure 20.2: Brochage de la carte Arduino Uno 3.4 Alimentation : La carte Arduino Uno peut-être alimentée soit via la connexion USB (qui fournit 5V jusqu'à 500mA) ou à l'aide d'une alimentation externe. La source d'alimentation est sélectionnée automatiquement par la carte. L'alimentation externe (non-USB) peut être soit un adaptateur secteur (pouvant fournir typiquement de 3V à 12V sous 500mA) ou des piles (ou des accus). L'adaptateur secteur peut être connecté en branchant une prise 2.1mm positif au centre dans le connecteur jack de la carte. Les fils en provenance d'un bloc de piles ou d'accus peuvent être insérés dans les connecteurs des broches de la carte appelées Gnd (masse ou 0V) et Vin (Tension positive en entrée) du connecteur d'alimentation. La carte peut fonctionner avec une alimentation externe de 6 à 20 volts. Cependant, si la carte est alimentée avec moins de 7V, la broche 5V pourrait fournir moins de 5V et la carte pourrait être instable. Si on utilise plus de 12V, le régulateur de tension de la carte pourrait chauffer et endommager la carte. Aussi, la plage idéale recommandée pour alimenter la carte Uno est entre 7V et 12V. Les broches d'alimentation sont les suivantes : VIN. La tension d'entrée positive lorsque la carte Arduino est utilisée avec une source de tension externe (à distinguer du 5V de la connexion USB ou autre source 5V régulée). Vous pouvez alimenter la carte à l'aide de cette broche, ou, si l'alimentation est fournie par le jack d'alimentation, accéder à la tension d'alimentation sur cette broche . Bacem.O & Mounir.E Page 28 Etude et développement d’un Robot de surveillance 2017 5V. L’Arduino, s’il fonctionne sous une tension de 5V, est équipé d’un régulateur 5V. La sortie de ce régulateur est connectée sur cette broche qui peut donc être employée pour alimenter des circuits externes en 5V. Si on désire construire sa propre alimentation 5V, on peut également fournir cette tension à l’Arduino via cette broche; 3,3V. Un arduinoUno est équipé d’un régulateur 3,3V dont la sortie est connectée à cette broche. On peut s’en servir pour alimenter un circuit externe en 3,3V. L'intensité maximale disponible sur cette broche est de 50mA; GND. Broche de masse (ou 0V). 3.5 Les périphériques : Les Mémoires : L'ATmega 328 a 32Ko de mémoire FLASH pour stocker le programme. L'ATmega 328 a également 2ko de mémoire SRAM et 1Ko d'EEPROM. Figure 21.2: Microcontrôleur: ATmega328 Entrées et sorties numériques : Chacune des 14 broches numériques de la carte UNO (numérotées des 0 à 13) peut être utilisée soit comme une entrée numérique, soit comme une sortie numérique, en utilisant les instructions pinMode(), digitalWrite() et digitalRead() du langage Arduino. Ces broches fonctionnent en 5V. Chaque broche peut fournir ou recevoir un maximum de 40mA d'intensité et dispose d'une résistance interne de "rappel au plus" (pull-up) (déconnectée par défaut) de 20-50 KOhms. Cette résistance interne s'active sur une broche en entrée à l'aide de l'instruction digitalWrite(broche, HIGH). Bacem.O & Mounir.E Page 29 Etude et développement d’un Robot de surveillance 2017 De plus, certaines broches ont des fonctions spécialisées : Communication Serie: Broches 0 (RX) et 1 (TX). Utilisées pour recevoir (RX) et transmettre (TX) les données séries de niveau TTL. Ces broches sont connectées aux broches correspondantes du circuit intégré ATmega8U2 programmé en convertisseur USBvers-série de la carte, composant qui assure l'interface entre les niveaux TTL et le port USB de l'ordinateur; Interruptions Externes: Broches 2 et 3. Ces broches peuvent être configurées pour déclencher une interruption sur une valeur basse, sur un front montant ou descendant, ou sur un changement de valeur; Impulsion PWM (largeur d'impulsion modulée): Broches 3, 5, 6, 9, 10, et 11. Fournissent une impulsion PWM 8-bits à l'aide de l'instruction analogWrite(); SPI (Interface Série Périphérique): Broches 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ces broches supportent la communication SPI (Interface Série Périphérique). Les broches SPI sont également connectées sur le connecteur ICSP qui est mécaniquement compatible avec les cartes uno; I2C: Broches 4 (SDA) et 5 (SCL). Supportent les communications de protocole I2C (Interface "deux fils"); LED: Broche 13. Il y a une LED incluse dans la carte connectée à la broche 13. Lorsque la broche est au niveau haut, la LED est allumée, lorsque la broche est au niveau bas, la LED est éteinte. Figure 22.2: Entrées/sorties numériques Bacem.O & Mounir.E Page 30 Etude et développement d’un Robot de surveillance 2017 Broches analogiques : La carte Uno dispose de 6 entrées analogiques (numérotées de 0 à 5), chacune pouvant fournir une mesure d'une résolution de 10 bits (càd sur 1024 niveaux soit de 0 à 1023) à l'aide de la très utile fonction analogRead() du langage Arduino. Par défaut, ces broches mesurent entre le 0V (valeur 0) et le 5V (valeur 1023), mais il est possible de modifier la référence supérieure de la plage de mesure en utilisant la broche AREF et l'instruction analogReference() du langage Arduino. Il y a deux autres broches disponibles sur la carte : AREF : Tension de référence pour les entrées analogiques (si différent du 5V). Utilisée avec l'instruction analogReference(); Reset : Mettre cette broche au niveau BAS entraîne la réinitialisation (= le redémarrage) du microcontrôleur. Typiquement, cette broche est utilisée pour ajouter un bouton de réinitialisation sur le circuit qui bloque celui présent sur la carte. Figure 23.2: Les entrées analogiques 4. Carte de puissance : La carte de puissance joue le rôle d'une carte d'interface entre la carte de commande (le microcontrôleur) et la partie motrice (le moteur) comportant des composants mécaniques, elle nous permet de commander les moteurs à courant continu suivant les ordres fournis par la carte de commande. Pour cette raison, dans l’étage de puissance, nous nous sommes servis du circuit L293D qui est basé sur le principe largement utilisé de la commande par pont de transistors: Bacem.O & Mounir.E Page 31 Etude et développement d’un Robot de surveillance 2017 Figure 24.2: Hacheur 4 quadrants 4.1 Caractéristiques du circuit L293 : Caractéristique Tableau 1: caractéristiques de L293D Valeur Nbre de pont-H Courant 2 Max Régime continu 600mA ( x2 ) Courant de pointeMax < 2ms 1200mA VS Max Alim moteur VSS 36v Max Alim logique 7v Nbre de Broche 16 DIP Perte de tension 1.3 à 1.4v 4.2 Principe de la commande des deux moteurs : Les interrupteurs fonctionnent deux par deux. Le S1 est associé au S4 et le S2 est associé au S3. Dans le schéma ci-dessus, rien ne se passe car tous les interrupteurs sont ouverts (ils ne laissent pas passer le courant). Le moteur est arrêté. Voyons maintenant ce qui arrive lorsqu'on actionne en même temps les interrupteurs S1 et S4 (schéma de gauche), ou les interrrupteurs S2 et S3 (schéma de droite) : Bacem.O & Mounir.E Page 32 Etude et développement d’un Robot de surveillance 2017 Figure 25.2: Sens du courant des interrupteurs Le principe de la commande des deux moteurs suivant les deux sens de rotation est présenté dans le tableau suivant : Tableau 1 : Variation de sens de rotation de robots par le circuit L293D avec o ENABLE_A: permet d’envoyer (ou pas) la tension sur les sorties du moteur et commande l’activation/désactivation; o INPUT 1/2/3/4: sont les broches de commande. Pour expliquer le tableau précédent, on a fait une simulation sur ISIS et on a donné le principe de commande de moteur: Bacem.O & Mounir.E Page 33 Etude et développement d’un Robot de surveillance (a) 2017 (b) (c) (d) Figure 26.2: simulation sur ISIS 5. Communication sans fil : 5.1 Principe de la Communication sans fil : La communication sans fil utilise plutôt les ondes électromagnétiques pour transmettre des données en utilisant l'air comme canal de transfert : • L'émetteur applique une certaine variation de courant à son antenne; ▪ La variation de courant induit une onde électromagnétique; • L'onde électromagnétique se propage à une vitesse proche de celle de la lumière dans l'air; ▪ Un courant électrique est induit dans l'antenne du récepteur par la variation de champs magnétique; • Le récepteur lit la variation de courant et l'interprète selon le protocole de communication. 5.2 Bluetooth : La technologie Bluetooth est beaucoup répandue dans le monde de télécommunications et dans les appareils sans fil. Depuis quelques années, cette technologie a subie plusieurs modifications et améliorations afin de percer le marché du monde industriel. Cette technologie retint l'attention, car elle possède une excellente portée, une bonne vitesse de transmission et plusieurs autres avantages. Bacem.O & Mounir.E Page 34 Etude et développement d’un Robot de surveillance 2017 La recherche n'a pas très complexe car l'information était facilement ainsi que le support technique des exemples de programmation et des documents possédant les commandes de programmation entre autres sont facilement accessibles. La nature des commandes et le support sont de très gros avantages. La technologie Bluetooth possède d'autres atouts, puisqu'il fallait établir la communication à partir d'un ordinateur portable et que les portables sont presque tous munis de cette technologie. Ceci pourrait permettre l'économie d'un module de communication. Figure 27.2: Logo Bluetooth 5.2.1 Caractéristique de Bluetooth : Bluetooth Débit < 3Mb/s Portée - 100m Autonomie Jours Nb.de noeuds 7 Besoin mémoire +250 Kb IEEE 802.15.1 5.2.2 Le module Arduino Bluetooth (Shield Bluetooth) : Dans cette partie, il consiste à commander un robot entre intervalle par android, pour ce faire on a besoin d'une communication sans fil (Bluetooth) afin de transférer les ordres vers la carte Arduino uno qui s'occupe dans la suite de déplacement du robot. [3] La moyenne utilisée est un Bluetooth, le Bluetooth JY-MCU (HC-06) est connexion avec une liaison série à travers laquelle il envoie ce qu'il reçoit dans les deux sens. Bacem.O & Mounir.E Page 35 Etude et développement d’un Robot de surveillance 2017 Figure 28.2: Module Bluetooth HC-06 Caractéristique JY-MCU (HC-06) : o port série: 9600 baudrate; o Alimentation entre 3.3 et 5V; o LED; o bluetooth de bande 2.4 GHz; o pour mot de passe 1 2 3 4. [4] Branchement avec arduino : Figure 29.2: Branchement HC-06 avec arduino 6. Les capteur : IP camera : IP caméra est un programme qui permet capturer la photo ou vidéos a distance par internet, cette camera de logiciel affiche une adresse ip avec port pour utiliser très simplement sur un pc. Une caméra IP ou aussi caméra réseau est une caméra qui utilise les protocoles d’Internet. Bacem.O & Mounir.E Page 36 Etude et développement d’un Robot de surveillance 2017 Figure 30.2: Camera ip wifi Caractéristique : détecter photo et vidéo; marche avec même wifi de pc; qualité vidéo HD; microphone. 7. conclusion : Dans ce chapitre on a présenté la plateforme conçue et on a détaillé tous ses éléments, leurs dispositions ainsi que leurs caractéristiques. On a montré ainsi la relation entre ces éléments. Dans le chapitre suivant on expliquera les algorithmes de commande de notre robot. Bacem.O & Mounir.E Page 37 Etude et développement d’un Robot de surveillance 2017 Chapitre 3 :Algorithmes de commande Bacem.O & Mounir.E Page 38 Etude et développement d’un Robot de surveillance 2017 1. Introduction : Actuellement, la voiture devient de plus en plus autonome, plusieurs travaux ont été développés afin d'assister le conducteur dans les phases de conduction. Ce système est introduit pour automatiser le procédé de commander d'un véhicule-robot. Dans ce chapitre, on va expliquer les algorithmes de commande et on va valider la conception du prototype présenté dans le chapitre précédent avec des résultats expérimentaux. En effet, on va montrer comment peut-on utiliser les camera ip pour effectuer les tâches prévues pour notre projet pour afficher l'environnement de robot. Ces tâches sont effectuées par la partie intelligente de notre robot : La carte arduino est programmée par le langage orienté objet C/C++. 2. Le logiciel arduino : 2.1 Programmation sur carte arduino : Si la carte Arduino du robot est connectée sur le port USB, cette dernière ne requiert pas forcément une tension provenant d’une pile. Le connecteur USB du PC remplit alors la fonction d’alimentation. Figure 31.3: Logiciel Arduino Ce logiciel est disponible sur différents systèmes d'exploitation et, tout comme sa carte, est simple d'utilisation et facile à comprendre malgré que le codage se fasse en C et qu'aucune formation ne nous avait été donné dans ce langage. Pour discuter avec la carte, il su t de la relier via USB à Bacem.O & Mounir.E Page 39 Etude et développement d’un Robot de surveillance 2017 l'ordinateur. Ensuite, nous pouvons mettre un programme sur la carte via la commande téléverser. Il faut cependant savoir qu'un seul programme peut être mis sur la carte. Ainsi, à chaque téléversement, le programme mis précédemment sur la carte est effacé. Pour tester la carte, nous avons utilisé un programme contenu dans la grande bibliothèque fournie avec le logiciel (présent sur la photo précédente) qui permet d'allumer une LED lorsque l'on appuie sur 1 ou 0. Le moniteur série du logiciel permet de tester les programmes directement. 2.2. Sélection d’un programme Arduino : A titre d’exemple simple, nous commençons par charger le programme dans le robot qui déclenche le clignotement de la LED1. A cet effet, cliquez sur File>Exemples>1. Basics>Blink (figure précédent) dans le logiciel Arduino de façon à ce que les informations suivantes s’affichent sur l’écran (figure suivant). Figure 32.3 : Ouverture du programme Figure 31.3: Programme de stationnement ouvert Bacem.O & Mounir.E Page 40 Etude et développement d’un Robot de surveillance 2017 Et par la suite, sélectionner ainsi le type de la carte approprié (Arduino Uno) comme il indiqué dans la figure : Figure 32.3 : Sélection de la carte Arduino Uno 3. Programmation du robot : 3.1 Conception de programme : Pour commencer, pour programmer notre carte Arduino, nous avons utilisé le logiciel développé par Arduino. Figure 33.3: Capture du logiciel de programmation sur Arduino Bacem.O & Mounir.E Page 41 Etude et développement d’un Robot de surveillance 2017 Ce logiciel est disponible sur différents systèmes d'exploitation et, tout comme sa carte, est simple d'utilisation et facile à comprendre malgré que le codage se fasse en C et qu'aucune formation ne nous avait été donné dans ce langage. Pour discuter avec la carte, il su t de la relier via USB à l'ordinateur. Ensuite, nous pouvons mettre un programme sur la carte via la commande téléverser Il faut cependant savoir qu'un seul programme peut être mis sur la carte. Ainsi, à chaque téléversement, le programme mis précédemment sur la carte est eacé. Pour tester la carte, nous avons utilisé un programme contenu dans la grande bibliothèque fournie avec le logiciel (présent sur la photo précédente) qui permet d'allumer une LED lorsque l'on appuie sur 1 ou 0 . Le moniteur série du logiciel permet de tester les programmes directement. 4. Code Basic de robot : Premièrement, il faut savoir que le branchement du module Bluetooth ne change rien au programme, ainsi, Blink marchait toujours aussi bien, à la différence que les ordres étaient donnés par un smartphone grâce à des applications comme S2 terminal ou BT controller. Figure 34.3: Captures de l'application S2 Terminal Pour finir, le programme de pilotage du robot. Celui-ci est assez basique dans l'ensemble. Nous commençons par définir les pins de l'arduino utilisés par le moteur via #define X où le X représente un nom voulu par l'utilisateur. Ensuite, nous les activons en tant que sortie via la commande pinMode(X, OUTPUT). Le reste est très simple, nous formons une boucle avec un case . Si la carte reçoit un chire de 1 à 5, une des 5 fonctions attribuées se déclenche. Celles-ci correspondent à faire avancer, reculer, tourner à gauche et à droite et arrêter le robot. Il ne reste plus qu’assembler le programme du capteur et celui de contrôle du robot. 4.1 Organigramme de commande : Pour comprendre les programmes de commande regarder l’organigramme suivant: Bacem.O & Mounir.E Page 42 Etude et développement d’un Robot de surveillance 2017 Initialisation configuration de connexion Bluetooth configuration de connexion internet Manuel Manuel ² demande mesure = 1 ouvrire application camera superviser Envoyer une commande numérique vers arduino numéro =1 numéro =2 avancer tourner à gauche numéro =3 Inverse numéro =5 numéro =4 tourner à droit Stop Organigramme 1 :Organigramme de fonctionnement du robot Bacem.O & Mounir.E Page 43 Etude et développement d’un Robot de surveillance 2017 5. Conception de l'application : Pour pouvoir créer l'application, AppInventor2 a été utilisé. Cette application permet à la fois aux débutants de commencer à créer leur propre application pour smartphone, mais permet aussi aux plus confirmés de manipuler des fonctionnalités plus complexe. Dans un 1er temps, il faut créer son application en ajoutant des boutons, des composants, sur l'écran d'accueil. Figure 35.3: Vue de l'interface de création d'application Après cette étape, il faut brancher tous les éléments en d'obtenir un programme crédible et opérationnel. Grâce à AppInventor, pas besoin d'avoir de solides connaissances en Java :les fonctions sont déjà préparées et l'utilisateur n'a besoin que de les rassembler pour créer cette application. Voici quelques étapes de cette conception : Figure 36.3: l'interface de création d'application Bacem.O & Mounir.E Page 44 Etude et développement d’un Robot de surveillance 2017 Ici on initialise tous nos fonctions et on permet à l'utilisateur de voir toutes les adresses Bluetooth disponibles. Figure 37.3: l'interface de création d'application Dans cette deuxième étape, l'utilisateur choisit l'appareil avec lequel il désire se connecter et dès que la connexion est établie, un bandeau de notification affichera connecté et les commandes de déplacements seront déverrouillées. Figure 40.3: Capture de l'interface de création d'application Maintenant, il est temps d'envoyer des instructions à notre carte Arduino : de manière très simpliste, seul des chiffres sont envoyés, et la carte réagit spécifiquement à chaque donnée. Bacem.O & Mounir.E Page 45 Etude et développement d’un Robot de surveillance 2017 Figure 40.3: Capture de l'interface de création d'application Dans cette dernière partie, grâce à <<ReceiveSignedBytes>> , le programme lit les nombres envoyés par l'Arduino, nous avons choisi <<SignedNumber>> car cela permet de recevoir des températures négatives (au contraire de <<UnSignedBytes>> . Il suffit juste alors d'afficher les valeurs obtenues dans une petite case "label5" . Pour finir, nous avons incorporé une procédure de déconnexion qui désactive les commandes de contrôle et affiche une notification. 6. Simulation du système sous ISIS : Le montage de la figure suivante donne le schéma du montage sous ISIS. Le schéma montre la carte arduino Uno liée au capteur bluetooth, le circuit L293 et les moteurs. Le capteur détecte des commandes. Les moteurs effectuent les manœuvres correspondants. Figure 41.3: Schéma du montage sous ISIS Bacem.O & Mounir.E Page 46 Etude et développement d’un Robot de surveillance 2017 Les deux sorties de tension de deux moteurs sont égales, donc on a la même vitesse de deux roues motrices et par la suite un mouvement de marche avant (figure suivant). Figure 38.3: Tourner les moteurs Tourner le robot selon la direction gauche et avant (les deux figures suivants). Figure 39.3: Moteur tourner a gauche Bacem.O & Mounir.E Page 47 Etude et développement d’un Robot de surveillance 2017 Figure 40.3: Moteur tourner en avant 7. Résultats expérimentaux de capture par la camera IP : La figure suivante c'est une photo de la caméra du robot envoyé, dans un navigateur internet en utilisant son adresse ip plus port donc les résultats; le robot marche avec caméra. (a) Bacem.O & Mounir.E Page 48 Etude et développement d’un Robot de surveillance 2017 (b) (c) Bacem.O & Mounir.E Page 49 Etude et développement d’un Robot de surveillance 2017 (d) Figure 41.3: Résultats expérimentaux 8. Conclusion : Dans ce chapitre on a expliqué les algorithmes de fonctionnement en mentionnant les étapes respectées par le robot dans des organigrammes explicatifs et on a présenté la modélisation de notre système sous ISIS pour valider les résultats expérimentaux par des simulations sur ce modèle. Bacem.O & Mounir.E Page 50 Etude et développement d’un Robot de surveillance 2017 Conclusion générale Ce projet de fin d'études, avait pour but la conception et la réalisation d'un robot intelligent à base du système Android pour des buts divers comme la sécurité, la surveillance, l'exploration etc... Android Based ROBOT » offre une multitude de fonctionnalités dont, les essentielles sont : • Visualisation du Streaming Vidéo directement sur le Smartphone de l'utilisateur. • Déplacement avancé et exploration d'endroits inaccessibles. • Détection d'obstacles et réaction automatisée. Notre projet a couvert au bout du compte la majeure partie des fonctionnalités qui nous ont été demandées au début, mais opportunités d'améliorations de ce projet sont multiples. D'une part, nous pourrons améliorer l'application pour rendre l'interactivité plus souple et complète avec l'utilisateur, aussi on peut évoluer même le ROBOT en lui intégrants de multiples nouveaux capteurs et détecteurs, et circuits diverses pour le rendre encore plus complet et automatisée. D'autre part, nous pourrons penser à lui ajouter des modules pour qu'il puisse gérer non seulement les situations déjà programmées mais aussi de nouvelles situations où il peut apprendre tout seul à l'aide d'algorithmes d'apprentissage et d'intelligence artificielle, qu'on peut modéliser facilement au niveau de l'application Android. Bacem.O & Mounir.E Page 51 Etude et développement d’un Robot de surveillance 2017 Bibliographies [1] Laetitia Matignon : Introduction a la robotique; Des robots de complexite variable, Les deux grandes categories de robots. [2] Belhouchet Khaled& Khammar Kamelia: Robot Mobile avec Suivi Visuel de ligne, Les platesformes omnidirectionnelles, La carte Arduino Uno. [3] KRAMA Abdelbasset & GOUGUI Abdelmoumen : Etude et réalisation d’une carte de contrôle par Arduino via le système Androïde, Le module Arduino Bluetooth. [4] HC Serial Bluetooth Products: Selection of the Module. Bacem.O & Mounir.E Page 52 Etude et développement d’un Robot de surveillance 2017 Annexe Code C++ de stationnement #include <SoftwareSerial.h> SoftwareSerial BT(10, 11); int motor1Pin1 = 3; // pin 2 on L293D IC int motor1Pin2 = 4; // pin 7 on L293D IC int enable1Pin = 6; // pin 1 on L293D IC int motor2Pin1 = 8; // pin 10 on L293D IC int motor2Pin2 = 9; // pin 15 on L293D IC int enable2Pin = 12; // pin 9 on L293D IC int state; void setup() { // sets the pins as outputs: pinMode(motor1Pin1, OUTPUT); pinMode(motor1Pin2, OUTPUT); pinMode(enable1Pin, OUTPUT); pinMode(motor2Pin1, OUTPUT); pinMode(motor2Pin2, OUTPUT); pinMode(enable2Pin, OUTPUT); // sets enable1Pin and enable2Pin high so that motor can turn on: digitalWrite(enable1Pin, HIGH); digitalWrite(enable2Pin, HIGH); // initialize serial communication at 9600 bits per second: BT.begin(9600); Serial.begin(9600); } void loop() { //if some date is sent, reads it and saves in state while (BT.available()){ delay(10); state = BT.read(); } // if the state is '1' the DC motor will go forward if (state == '1') { digitalWrite(motor1Pin1, HIGH); digitalWrite(motor1Pin2, LOW); digitalWrite(motor2Pin1, LOW); digitalWrite(motor2Pin2, HIGH); } // if the state is '2' the motor will turn left else if (state == '2') { digitalWrite(motor1Pin1, HIGH); Bacem.O & Mounir.E Page 53 Etude et développement d’un Robot de surveillance 2017 digitalWrite(motor1Pin2, LOW); digitalWrite(motor2Pin1, LOW); digitalWrite(motor2Pin2, LOW); } // if the state is '3' the motor will Stop else if (state == '3') { digitalWrite(motor1Pin1, LOW); digitalWrite(motor1Pin2, LOW); digitalWrite(motor2Pin1, LOW); digitalWrite(motor2Pin2, LOW); } // if the state is '4' the motor will turn right else if (state == '4') { digitalWrite(motor1Pin1, LOW); digitalWrite(motor1Pin2, LOW); digitalWrite(motor2Pin1, LOW); digitalWrite(motor2Pin2, HIGH); } // if the state is '5' the motor will Reverse else if (state == '5') { digitalWrite(motor1Pin1, LOW); digitalWrite(motor1Pin2, HIGH); digitalWrite(motor2Pin1, HIGH); digitalWrite(motor2Pin2, LOW); } } Bacem.O & Mounir.E Page 54 Etude et développement d’un Robot de surveillance 2017 Résumé Ce projet nous permet de plonger dans le monde d’interfaçage afin d’arriver à réaliser une carte électronique qui communique entre (le système Androïde et la carte Arduino ainsi que les actionneurs). L'objectif préliminaire est de manipuler un langage de programmation afin d’arriver à réaliser une application capable de transmettre des ordres émis par l’utilisateur vers des moteurs à courants continus et autre accessoires électriques via un smart phone. Faire comprendre les différents protocoles de communication et extraire le port série comme étant un port de transfert du programme dans l'Arduino. Bacem.O & Mounir.E Page 55 Etude et développement d’un Robot de surveillance 2017 Abstract This project allows us to dive into the world of interfacing in order to realize an electronic card that communicates between (the Android system and the Arduino board as well as the actuators). The preliminary objective is to manipulate a programming language in order to realize an application capable of transmitting commands emitted by the user to DC motors and other electrical accessories via a smart phone. Understand the different communication protocols and extract the serial port as a transfer port of the program in the Arduino. Bacem.O & Mounir.E Page 56