Conception Et Réalisation D'un Robot Mobile Télécommandé Par Bluetooth
Conception Et Réalisation D'un Robot Mobile Télécommandé Par Bluetooth
Faculté Polydisciplinaire
Béni Mellal
Au début nos remerciements vont en particulier à Dieu, le tout puissant, qui nous a
donné la force et le courage pour poursuivre nos études.
Nos vifs remerciements et notre profonde reconnaissance vont à tous les personnes
qui ont contribué à la réalisation de ce travail.
Dédicace
Sommaire
Introduction générale
Depuis bien longtemps, l’humain rêve de créer des machines intelligentes capables d’effectuer
des tâches à sa place. Ainsi, les humains auraient plus de temps à consacrer pour leurs loisirs, ou
prendraient moins de risques pour effectuer des tâches dangereuses dans des endroits inaccessibles et
hostiles. La robotique est l’ensemble des techniques permettant la conception et la réalisation de ces
machines-là intitulé « robot ». Un robot est un appareil effectuant, grâce à un système de commande
automatique à microprocesseur, une tâche précise pour laquelle il a été conçu dans le domaine
industriel, domestique ou scientifique.
Dans ce travail on se focalise sur les robots mobiles, qui sont largement utilisés dans les
environnements industriels, le plus souvent pour effectuer des tâches répétitives et pénibles. L’intérêt
principal des robots mobiles est de permettre aux êtres humains d’effectuer des tâches dangereuses
dans des endroits inaccessibles. C’est pour cela que l’un des domaines les plus populaires où les
robots mobiles sont utilisés est le domaine scientifique.
Afin d’être autonome, un robot mobile doit posséder de nombreuses capacités. Premièrement,
il doit être capable de percevoir son environnement et de se localiser dans celui-ci. Pour ce faire, il
doit être doté de plusieurs capteurs. Une fois localisé dans son environnement, le robot doit être
capable de se déplacer d’un point à un autre en trouvant des chemins efficaces et sécurisés afin
d’éviter des collisions avec les obstacles, pour cela les robots mobiles utilisent plusieurs moyens de
locomotion selon l’environnement auquel ils sont destinés. De plus, un robot est appelé à
communiquer avec les gens ou d’autres agents situés à proximité et cela peut être fait par une interface
wifi, Bluetooth…..etc.
❖ Le premier chapitre est consacré à une étude générale sur les robots mobiles et la structure
robotique.
❖ Le deuxième chapitre présente la conception de notre propre robot mobile
❖ Le troisième chapitre est dédié à la réalisation du robot mobile.
1
❖
Chapitre I
GénéralitéS sur les robots
mobiles
Chapitre I Généralités sur les robots mobiles
Introduction
Les robots mobiles est un ensemble de disciplines (mécanique, électronique, automatique,
informatique), elle se subdivise en deux types : les robots industriels et les robots mobile. Les robots
industriels sont généralement fixes ils sont utilisés dans de nombreuses applications industrielles :
l’assemblage mécanique, la soudure, la peinture…etc. Les robots mobiles ne sont pas fixes, ils sont
classifiés selon le domaine d’application en robots militaires, de laboratoires, industriels et de
services.
Les robots mobiles présentent un cas particulier en robotique. Leur intérêt réside dans leur «
mobilité », destinés à remplir des taches pénibles (exemple : marin, spatiale, lutte contre l’incendie,
surveillance…). L’aspect particulier de la mobilité impose une complexité technologique (capteurs,
motricité et énergie) et méthodologique tel que le traitement des informations par utilisation des et
des processeurs particuliers.
L’autonomie du robot mobile est une faculté qui lui permet de s’adapter ou de prendre une
décision dans le but de réaliser une tâche même dans un environnement peu connu ou totalement
inconnu.
2
Chapitre I Généralités sur les robots mobiles
I.1.3.1 Classification selon le degré d’autonomie
C’est la classification la plus intéressante. Un robot autonome est un système doté de capacités
décisionnelles et de moyens d’acquisition et de traitements de données lui permettant d’accomplir,
sous contrôle humain réduit ou voire même absent, un certain nombre de tâches, dans un
environnement inconnu. Selon ce critère, on peut classer les robots mobiles selon les catégories
suivantes [2] :
I.1.3.1.1 Robot télécommandé
Ce sont des robots commandés par un opérateur (machine ou être humain), qui leurs dicte
chaque tâche élémentaire à faire (avancer, reculer, tourner à droite, etc.)
I.1.3.1.2 Robot semi-autonome
Ce type de robots effectuent un certain nombre de tâche par eux-mêmes d’une façon
complètement autonome mais peuvent être interrompus pour recevoir des commandes de contrôle
par un opérateur.
I.1.3.1.3 Robot autonome
On considère qu’un robot est autonome s’il est capable d’adapter son comportement à
l’environnement.
L’autonomie est la capacité propre d’un système sans équipage, à capter, percevoir, analyser,
communiquer, planifier, prendre des discisions et agir afin d’atteindre les buts qui lui ont été assignés
par un opérateur humain à l’aide d’une interface homme /machine dédiée.
I.1.3.2 Classifications selon le domaine d’application
Les domaines d’application des robots sont vastes, à titre d’exemple :
3
Chapitre I Généralités sur les robots mobiles
Mine - assistance d’urgence
Agricole - cueillette de fruits
- traite, moisson, traitement des vignes.
Nettoyage - coque de navire
- nettoyage industriel
Espace - exploration
Industrie - convoyage
- surveillance
Militaire - surveillance
- pose d’explosif
- manipulation de munition
4
Chapitre I Généralités sur les robots mobiles
B. Robots tricycle
Un robot de type tricycle est constitué 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 [1].
L’énorme avantage du robot omnidirectionnel est qu’il est holonome puisqu’il peut se
déplacer dans toutes les directions. Mais ceci se fait au dépend d’une complexité mécanique bien plus
grande [1].
5
Chapitre I Généralités sur les robots mobiles
Toutes les autres propriétés du robot voiture sont identiques au robot tricycle, le deuxième
pouvant être ramène 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é [1].
1961 : apparition d’un robot sur une chaîne de montage de General Motors, qui a fait le premier
robot avec un contrôle en effort.
6
Chapitre I Généralités sur les robots mobiles
Tableau Ⅰ.2 : Avantages et inconvénients des robots mobiles [4].
Type de robot Avantages Inconvénients
Robot unicycle -stable -non holonome
-rotation sur soi-même
-complexité mécanique faible
Robot tricycle -complexité mécanique modérée -non holonome
-peu stable
-pas de rotation sur soi-même
Robot voiture -complexité mécanique modérée -non holonome
-stable
Robot -holonome -complexité mécanique
Omnidirectionnel -stable importante
Rotation sur soi-même
• Les capteurs
• Les actionneurs
Ce sont outils de perception qui permettent de gérer les relations entre le robot et son
environnement. Il existe deux types de capteur tels que : les capteurs proprioceptifs qui mesurent
7
Chapitre I Généralités sur les robots mobiles
l’état mécanique interne du robot (comme les capteurs de position, de vitesse ou d’accélération), et
les capteurs extéroceptifs qui recueillent des informations sur l’environnement (comme la détection
de présence, mesure de distance. …etc.). Les capteurs ont comme fonction de lire les variables
relativement au mouvement du robot pour permettre un contrôle convenable [5]. Il existe de
nombreux types de capteurs qui nous permettent à notre robot d’avoir des informations sur l’extérieur
(Figure Ⅰ.5).
Ce sont des mécanismes qui permettent à /aux effectteur(s) d’exécuter une action de convertir les
commandes logicielles (Software) en des mouvements physiques ; leur but primaire est de produire
assez de force pour provoquer le mouvement du robot, celle-ci représente la transformation d’une
énergie source en énergie mécanique [5].
La technologie des actionneurs est étroitement liée à l’énergie de base utilisée pneumatique,
hydraulique, électrique) [6]. Il existe beaucoup d’actionneurs principalement réalisé à base de moteur
électrique, ces derniers permettent à votre robot de réagir suivant ce que vous lui avez demandé
(Figure Ⅰ.6).
8
Chapitre I Généralités sur les robots mobiles
comportement, en fonction des informations captée sur l’environnement. En cela, la perception de
l’environnement constitue une fonction indispensable et caractéristique de tout système robotique.
On distingue dans un robot mobile : la partie commande qui traite toutes les informations, les
actionneurs qui effectuent les actions et les capteurs qui informent le robot ; comme l’indique le
schéma synoptique représenté dans la Figure (7).
Conclusion :
Ce premier chapitre fournit une présentation générale sur les robots mobiles qui aujourd'hui
ne sont quasiment que des prototypes, mais comme toute avancée technologique, ils se perfectionnent
avec le temps et leurs capacités vont certainement être au-dessus de nos espérances.
9
CHAPITRE ii
Conception du robot
Chapitre II Conception du robot
INTRODUCTION
Ce chapitre entame en premier lieu la présentation des différents composants (des circuits de
commande…etc.) choisis pour notre projet, donc la première partie matérielle nous permettra de
comprendre l’usage et le fonctionnement des organes de notre robot, ensuite vient la deuxième partie
logicielle où on parlera des logiciels utilisés pour assembler les composants et les doter d’intelligence
artificielle en leur communiquant les instructions à exécuter, à la fin on a la partie conception.
10
Chapitre II Conception du robot
Arduino est peut-être utilisé pour développer des applications matérielles industrielles légères ou des
objets interactifs, et il peut recevoir en entrées une très grande variété de capteurs. Les projets Arduino
peuvent être autonomes, ou communiquer avec des logiciels sur un ordinateur (Flash, Processing ou
MaxMSP, Labview). Les cartes électroniques peuvent être fabriquées manuellement ou bien être
achetées prés assemblés, le logiciel de développement open-source est téléchargé gratuitement. La
programmation de la carte Arduino présente les principales fonctionnalités de l'interface de
l’application Arduino. L'application Arduino vous permet de créer et éditer un programme (appelé
sketch) qui sera compilé puis téléversé sur la carte Arduino. Ainsi, lorsque vous apportez des
changements sur le code, ces changements ne seront effectifs qu'une fois le programme téléversé sur
la carte.
Ⅱ.1.1.1 Caractéristique
Arduino UNO est une carte basée sur le microcontrôleur l’ATmega328P. Elle possède 14
broches d'entrée / sortie numériques (dont 6 peuvent être utilisées comme sorties PWM), 6 entrées
analogiques, un quartz de 16 MHz, une connexion USB, une prise d'alimentation, un en-tête ICSP et
un bouton de réinitialisation, pour l'utiliser, il suffit de la relier à un ordinateur avec un câble USB,
ou encore de l'alimenter à l'aide d'un bloc secteur externe ou de piles.
Microcontrôleur ATmega328P
Tension de fonctionnement : 5V
Tension d'entrée (recommandé) : 7-12V
Tension d'entrée (limite) : 6-20V
Tension d'entrée (limite) : 14 (dont 6 fournissent une sortie PWM)
Broches E / S numériques PWM : 6
Broches d'entrée analogique : 6
Courant continu par broche I / O : 20Ma
Courant DC pour Pin 3.3V : 50Ma
Mémoire flash : 32 Ko (ATmega328P) dont 0,5 Ko
SRAM 2 Ko (ATmega328P)
EEPROM 1 Ko (ATmega328P)
11
Chapitre II Conception du robot
Largeur : 53.6mm
Poids : 25g
Ⅱ.1.1.2 Alimentation
La carte Arduino UNO peut être alimentée via la connexion USB ou avec une alimentation
externe. La source d'alimentation est automatiquement sélectionnée. Une alimentation externe peut
provenir soit d'un adaptateur AC-DC ou d’une batterie. L'adaptateur peut être connecté en branchant
une prise 2.1mm dans la prise d'alimentation de la carte ou à partir d'une batterie connectée dans le
pin (ou broche) GND et V- in (alimentation externe).
12
Chapitre II Conception du robot
13
Chapitre II Conception du robot
• SPI ( Serial Peripheral Interface): 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ces broches
prennent en charge la communication SPI à l'aide de la bibliothèque SPI.
• TWI ( Two Wire Interface): broche A4 ou A5 ou SDA et SCL broche. Supporte la
communication TWI en utilisant la bibliothèque Wire.
• AREF ( Analog REFérence): tension de référence sur les entrées analogiques.
• Une mémoire de données (RAM ou EEPROM) dans laquelle seront entreposées les données
temporaires nécessaires aux calculs. C'est en fait la mémoire de travail qui est donc volatile.
• Une mémoire programmable (ROM), qui va contenir les instructions du programme pilotant
l'application à laquelle le microcontrôleur est dédié. Il s'agit ici d'une mémoire non volatile
puisque le programme à exécuter est à priori toujours le même [8].
14
Chapitre II Conception du robot
15
Chapitre II Conception du robot
Le registre à décalage étend les 3 broches de l'Arduino à 8 broches pour contrôler la direction des
pilotes du moteur. La sortie autorisée du L293D est directement connectée aux sorties PWM de
l'Arduino.
II.1.3.1 L293D
L293D est un pilote de moteur ou un pilote de moteur typique qui permet au moteur à courant
continu de circuler dans les deux sens. Le L293D est un circuit intégré à 16 broches pouvant contrôler
un ensemble de deux moteurs à courant continu simultanément dans toutes les directions. Cela
signifie que vous pouvez contrôler deux moteurs DC avec un seul L293D IC. Dans une seule puce
L293D il y a deux circuits h-Bridge à l'’intérieur du CI, qui peuvent faire tourner deux moteurs à
courant continu indépendamment .H-pont est un circuit qui permet Les CI à pont en H sont idéales
pour piloter un moteur à courant continu. En raison de sa taille, il est très utilisé dans les applications
robotiques pour la commande de moteurs à courant continu.
16
Chapitre II Conception du robot
II.1.3.3 Pont H
Le pont en H est une structure électronique servant à contrôler la polarité aux bornes d'un
dipôle. Il est composé de quatre éléments de commutation généralement disposés schématiquement
en une forme de H d'où le nom. Les commutateurs peuvent être des relais, des transistors, ou autres
éléments de commutation en fonction de l'application visée.
17
Chapitre II Conception du robot
II.1.3.4 Caractéristiques
• Quatre ponts en H : Deux puces de pilote de moteur L293D
• Le L293D est évalué à 0,6 A par pont (1,2 A crête) avec une protection contre les
coupures thermiques et des diodes de protection contre les retours internes.
• Tensions moteur de 4.5VDC à 16VDC. (Jusqu'’ 36V si C6 et C7 sont mis à niveau)
• Jusqu'’ 4 moteurs à courant continu bidirectionnels avec sélection de vitesse
individuelle à 8 bits (256 vitesses)
• Jusqu'’ 2 moteurs pas à pas (unipolaires ou bipolaires)
• Les résistances abaissées maintiennent les moteurs désactivés pendant la mise sous tension
• Séparer les connexions d'’alimentation logique et moteur
• Borniers pour moteurs et alimentation
• 2 connexions pour servos "obby" 5V
II.1.4.1 Définition
Le module Bluetooth HC-06 permet d'établir une liaison Bluetooth (liaison série) entre une
carte Arduino et un autre équipement possédant une connexion Bluetooth (Smartphone, tablette,
seconde carte Arduino, etc...). Le module HC-06 est un module "esclave" contrairement au module
HC-05 qui est "maître". Un module "maître" peut demander à un autre élément Bluetooth de s'appairer
avec lui alors qu'un module "esclave" ne peut recevoir que des demandes d'appairage.
Ces deux modules peuvent être configurés grâce à des commandes AT (ou commandes Hayes).
18
Chapitre II Conception du robot
II.1.4.2 Caractéristiques
• Vitesse : Asynchrone : 2.1 Mbps (Max) / 160 kbps, Synchrone : 1 Mbps/1 Mbps
19
Chapitre II Conception du robot
• Baud rates que l'on peut paramétrer : 4800, 9600, 19200, 38400, 57600, 115200, 230400,
460800, 921600, 1382400.
II.1.5.1. Définition
Un moteur DC est un convertisseur électromécanique permettant la conversion
bidirectionnelle d’énergie entre une installation électrique parcourue par un courant continu et un
dispositif mécanique ; selon la source d’énergie, cela signifie qu’un moteur à courant continu va
pouvoir convertir de l’électricité en énergie mécanique. Les moteurs DC ont ainsi la particularité de
pouvoir fonctionner dans les 2 sens, suivant la manière dont le courant lui est soumis.
20
Chapitre II Conception du robot
21
Chapitre II Conception du robot
Il nous permet d’éditer des croquis en respectant la structure du code et les téléverser dans la
mémoire Arduino après la compilation du programme dans le langage machine. Il permet aussi une
communication avec la carte par le terminal [9].
22
Chapitre II Conception du robot
Pour contrôler voiture robot à l’aide du module Bluetooth HC-06 avec appareil
Android smartphone, il faut avoir des dispositifs de contrôle :
Ces dispositifs de contrôle de l’ensemble du système sont un module Arduino, Bluetooth, les moteurs
à courant continu sont interfacés les données reçues par le module Bluetooth du téléphone intelligent
Android sont transmises au contrôleur agit en conséquence sur le moteur à courant continu de la
voiture robot. La voiture robot du projet peut être amenée à se déplacer dans les quatre directions à
l’aide du téléphone Android la direction du robot est des indicateurs utilisant des inducteurs LED du
système de voiture.
23
Chapitre II Conception du robot
II.3 Conception
Le projet à concevoir :
Les deux parties précédentes matériel et logiciel nous ont permis d’avoir toutes les bases
nécessaires pour entamer la conception de notre projet, robot télécommandé, la figure ci-dessous
montre le circuit de simulation.
24
Chapitre II Conception du robot
Conclusion
Dans ce chapitre on a mis une collecte d’informations nécessaires sur les différents
composants qui constitueront notre projet , ainsi les logiciel utilisés , où on a expliqué leur
fonctionnements pour ensuite passer au cœur du chapitre, la conception, où on s’est focalisé sur les
étapes à suivre pour à la fin simuler le travail conçu qui est le circuit électronique sur lequel repose
nos composants avec le code à exécuter, après cette phase on peut passer à la réalisation en étant sûres
que nos composants seront pas endommagés, donc il nous reste qu’à souder et téléverser le
programme vers la carte Arduino pour enfin avoir le robot télécommandé en marche.
25
CHAPITRE iii
Réalisation Du robot
télécommandé
Chapitre III Réalisation du robot télécommandé
Introduction
Après la conception de notre robot dans le chapitre précédent, Ce chapitre représente dans un
premier lieu, les étapes de réalisation pratique (Software & Hardware) électronique, mécanique et
informatique détaillées Par la suite on va représenter le robot de façon finale électrique & mécanique.
Et ainsi nous allons décrire dans ce chapitre sa construction en sachant qu’il est capable d’exécuter
les commandes envoyées à partir du téléphone.
HC1
BLUETOOTH HC-06
www.TheEngineeringProjects.com
HC-06
Bluetooth
M2 M4
ARD1
RXD
TXD
GND
Vcc
+88.8 +88.8
ON
Reset BTN
www.TheEngineeringProjects.com
AREF
13
PB5/SCK
M3 12
PB4/MISO
M1 RESET 11
+88.8 +88.8 ~ PB3/MOSI/OC2A
10
U1
14
11
~ PB2/OC1B
3
6
9
~ PB1/OC1A
8
PB0/ICP1/CLKO
VS OUT1
OUT2
OUT3
GND OUT4
ATMEGA328P-PU
1121
7
ANALOG IN
PD7/AIN1
6
A0 ~ PD7/AIN1
5
PC0/ADC0
A1 ~ PD5/T1/OC0B
8
PC1/ADC1 4
A2 PD4/T0/XCK
3
PC2/ADC2
GND
VSS
A3 ~ PD3/INT1/OC2B
2
PC3/ADC3 PD2/INT0
A4
16
PC4/ADC4/SDA PD1/TXD 1
A5 0
PC5/ADC5/SCL
EN1
EN2
PD0/RXD
IN1
IN2
IN3
IN4
ARDUINO UNO
2
7
1
9
10
15
L293D
27
Chapitre III Réalisation du robot télécommandé
28
Chapitre III Réalisation du robot télécommandé
Nous allons montrer à travers les images qui suivent le châssis de notre robot mobile avant et après
son montage :
❖ Avant le montage :
❖ Après le montage :
Après avoir assemblé toutes les pièces citées dans le tableau et qui sont sur l’image ci-dessus,
à l’aide d’un tournevis (pour les vis et les écrous) et d’un fer à souder (pour les fils), on obtient notre
châssis comme le montre les images suivantes :
29
Chapitre III Réalisation du robot télécommandé
❖ La carte Arduino
Notre carte va contenir les algorithmes responsables de l'intelligence du robot. En effet le
programme en logiciel Arduino permet de faire la liaison entre le Bluetooth et les moteurs de
mouvements, par les bits des ports d'entrées-sorties. Elle est fixée en premier sur le châssis.
❖ La carte de puissance
Il s’agit d’un Shield « L293D » qu’on emboîte directement sur notre carte Arduino UNO pour
rajouter les fonctions de commande de nos deux moteurs à courant continu avec la puissance
nécessaire : réglage de la vitesse (par pas de 0.5%) et du sens de leurs rotation.
30
Chapitre III Réalisation du robot télécommandé
Nous montrons sur la figure ci-dessous nos deux cartes électroniques :
Figure III.6: Câblage des moteurs à courant continu et servomoteur avec le Shield L293D.
31
Chapitre III Réalisation du robot télécommandé
Figure III.7: Câblage du module Bluetooth HC-06 sur une carte Arduino.
32
Chapitre III Réalisation du robot télécommandé
Pour contrôler le robot à distance une fois la télécommande créée avec l'application « Bluetooth RC
Controller » sur notre smartphone Android. On y procède de la manière suivante :
33
Chapitre III Réalisation du robot télécommandé
34
Chapitre III Réalisation du robot télécommandé
35
Chapitre III Réalisation du robot télécommandé
Conclusion
Dans ce chapitre nous avons explicité les différentes étapes et câblage des composants qui
nous ont permis de réaliser le robot télécommandé, et les étapes de l’avoir connecté à l’application
mobile afin qu’il soit prêt à être télécommandé et utilisé.
36
Conclusion
générale
Conclusion générale
Conclusion générale
Ce mémoire est le résultat d’un travail de technique dans le
domaine de la robotique. Il est consacré à la commande d’un robot mobile
à distance par Bluetooth basé sur une carte Arduino UNO, quatre moteurs
à courant continu commandés par un Shield basé sur le pont H double
L293D comme moyen de locomotion et le module HC-06 qui permet
d’avoir une liaison Bluetooth afin de pouvoir télécommander à distance le
robot à base de carte Arduino et son extension.
Nous avons présenté quelques généralités sur les robots tout en se
basant sur les robots mobiles et ce pour objectif de réaliser un robot mobile
et commander ses directions avec un smartphone Android.
Pour aboutir à cela nous avons partagé le travail en deux étapes. La
conception du robot mobile, ou nous avons spécifié les différents
composants utilisés et étudié leurs caractéristiques et leur fonctionnement.
La réalisation, où nous avons donné les étapes à suivre pour construire le
robot.
Les possibilités d’améliorations du robot sont nombreuses, car une
fois le robot est opérationnel on peut modifier son algorithme de
fonctionnement, alors comme perspectives futures, nous voulons :
✓ Utiliser un autre moyen de téléguidage à plus grande portée que le
Bluetooth (Wi-Fi).
✓ Changer l’unité centrale du robot par une Raspberry pi, ou une
carte de développement plus performantes que l’Arduino UNO
avec une caméra.
✓ Commander le robot avec une reconnaissance vocale.
✓ Ajouter des capteurs (capteur de température, d’humidité, suiveur
de lignes…etc.) pour améliorer la perception du robot.
37
Bibliographie
Références bibliographiques
[1] Stéphane Lens « locomotion d’un robot mobile » mémoire de fin d’études à l’université de
liège, faculté des sciences appliquées, institut Montefiore, MAI 2008
[2] B. Bayle, « Robotique Mobile »,Ecole Nationale Supérieure de Physique de
Strasbourg,Université Louis Pasteur, 2007.
[3] Boimond Jean-Louis,Cours-Robotique.
[4] Hocine TAKHI, « Conception et réalisation d'un robot mobile à base d'arduino », Mémoire
de fin d’étude,Université Amar Telidji, 2014.
[7] Planification de taches pour robotique mobile pour l’obtention du grade de maître es sciences
(MSC) Facultés université de Sherbrooke, 103page + annexe