Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 30

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche


Scientifique Université des Sciences et de la Technologie Houari
Boumediene

Faculté de Génie Electrique


Domaine Sciences et Technologie
Filière Electronique

Mémoire de Licence
Spécialité Electronique

Type de projet : Atelier


Thème
Réalisation d’un bras robotique contrôlé par
Bluetooth

Présenté par : AZZI Samir


REBOUH Abdelkrim

Encadreur : MR. NACER


Année Universitaire 2023-2024

Remerciements

D’abord nous remercions Dieu notre créateur de nous avoir donné la santé, la force, la volonté
et le courage de pouvoir réussir et d’accomplir ce modeste mémoire.

Nous tenons à exprimer nos sincères remerciements et notre reconnaissance à Mr A.NACER


pour son encadrement et sa précieuse disponibilité qu’il a bien voulu nous accorder. Son
expérience académique, sa rigueur intellectuelle et ses conseils dans le but de réaliser ce travail,
nous ont permis de nous développer et de réussir ce projet.

On ne saura clôturer ces remerciements sans exprimer toute notre affection pour les enseignants
de l'Université de Bab Ezzouar, qui ont bien voulu partager leurs savoir durant nos études.Enfin,
nous remercions tous ceux qui ont contribué de prêt ou de loin à la réalisation de ce projet.

2
I SOMMAIRE

I SOMMAIRE................................................................................................................................3
II Liste des figures.........................................................................................................................5
1 INTRODUCTION GÉNÉRALE...........................................................................................6
2 CHAPITRE 1..........................................................................................................................8
2.1 Introduction à la Robotique...........................................................................................9
2.2 Définitions........................................................................................................................9
2.2.1 Définition de la robotique.......................................................................................9
2.2.2 Définition d'un robot...............................................................................................9
2.3 L’histoire de la robotique...............................................................................................9
2.4 Types de robots..............................................................................................................12
2.4.1 Robots mobiles.......................................................................................................12
2.4.2 Robots manipulateurs...........................................................................................12
2.5 Domaines d’application de la robotique ....................................................................12
2.5.1 Industriel................................................................................................................12
2.5.2 Médical....................................................................................................................12
2.5.3 Spatial.....................................................................................................................12
2.5.4 Conclusion..............................................................................................................12
3 CHAPITRE 2........................................................................................................................13
3.1 Introduction...................................................................................................................14
3.2 La description mécanique du bras robot....................................................................14
3.2.1 Structure du bras robot.........................................................................................14
3.2.2 Le robot...................................................................................................................14
3.2.3 La base....................................................................................................................14
3.2.4 Le bras....................................................................................................................15
3.2.5 La pince...................................................................................................................15

3
3.3 Description des composants du bras robot................................................................16
3.3.1 Les actionneurs du bras robot..............................................................................16
3.3.2 Les caractéristiques techniques des servomoteurs.............................................17
3.3.3 Les capteurs............................................................................................................17
3.3.4 Les caractéristique du récepteur Bluetooth .......................................................18
3.4 Conclusion......................................................................................................................18
4 CHAPITRE 3........................................................................................................................19
4.1 Introduction...................................................................................................................20
4.2 Arduino..........................................................................................................................20
4.2.1 Définition de la carte Arduino :............................................................................20
4.2.2 Arduino UNO.........................................................................................................20
4.2.3 Les caractéristiques de la carte Arduino UNO...................................................21
4.2.4 L’environnement de programmation Arduino (IDE)........................................21
4.3 Commande du bras robot.............................................................................................22
4.3.1 La commande sans fil............................................................................................22
4.4 Implémentation et simulation du projet sous Tinkercad..........................................27
4.4.1 Présentation du logiciel Tinkercad.......................................................................27
4.4.2 Implémentation et simulation...............................................................................28
4.5 Conclusion......................................................................................................................28
5 CONCLUSION GENERALE.............................................................................................29
6 REFERENCES BIBLIOGRAPHIQUE.............................................................................31
7 Annexe...................................................................................................................................33

4
II Liste des figures
Fig(1) De gauche à droite : (A) « Horloge a eau de Clépsydre », (B) « Théâtre mobile de Héron
D’Alexandrie », (C) « Canard digérateur de Jacques de Vaucanson »…………………………9
Fig(2) Unimate, premier robot industriel………………………………………………………..10
Fig(3) Opportunity sur mars…………………………………………………………………….11
Fig(4) Robonaut………………………………………………………………………………....11
Fig(5) Robot mobile……………………………………………………………………………..12
Fig(6) Bras Manipulateur………………………………………………………………………..12
Fig(7) Le robot…………………………………………………………………………………..14
Fig(8) Base du robot…………………………………………………………………………….14
Fig(9) Bras robot………………………………………………………………………………...15
Fig(10) Le pince du robot………………………………………………………………………..15
Fig(11) Schéma d’un servomoteur………………………………………………………………16
Fig(12) Servomoteur du type MG995………………………………………………………...…16
Fig(13) Servomoteur du Type…………………………………………………………………...16
Fig(14) Récepteur Bluetooth……………………………………………………………….........17
Fig(15) Description de la carte Arduino UNO……………………………………………..........20
Fig(16) Environnement de développement Arduino…………………………………………….21
Fig(17) App Inventor LOGO…………………………………………………………………….22
Fig(18) Partie design de notre application sous AppInventor…………………………………...23
Fig(19) Définition des éléments de l’objet Bluetooth…………………………………………...24
Fig(20) Blocs de contrôle des curseurs……………………………………………………..........25
Fig(21) Interface finale de l’application…………………………………………………………26
Fig(22) Schéma synoptique simplifié du système……………………………………………….27

5
Fig (23) Présentation logiciel Tinkercad………………………………………………………...27
Fig(24) Simulation du bras robot sous tinkercad………………………………………………...28

INTRODUCTION GÉNÉRALE:

La plupart des chercheurs se sont concentrés sur le contrôle des robots et les applications
robotiques. La conception des robots se focalise généralement sur des domaines tels que
l'éducation, l'industrie et la médecine [1].

L’objectif principal de notre travail consiste en la réalisation pratique d’un bras robot, en
utilisant des servomoteurs permettant à ce dernier d’avoir des déplacements d’une grande
précision. Après la réalisation, on a procédé à la programmation, notamment la configuration du
Bluetooth et l’implémentation d’une commande à distance avec smartphone à travers une
application Android.

Pour mieux présenter notre travail, le mémoire est organisé en trois chapitres distincts. Le
premier chapitre concerne les généralités, où l’on présente la définition de la robotique, son
historique et les différents types de robots manipulateurs en précisant leurs domaines
d’utilisation.

Le deuxième chapitre est consacré à la description du bras manipulateur étudié. La


première partie porte sur la description mécanique du bras et les différents composants utilisés
pour sa réalisation, ainsi que de la modélisation des actionneurs électriques.

Le troisième chapitre expose la commande et la simulation du bras manipulateur. Cette


partie concerne la présentation de la carte de commande et son fonctionnement.

6
Enfin, le mémoire se termine avec une conclusion résumant les connaissances acquises
tout au long de ce projet, ainsi que les perspectives pouvant venir améliorer notre bras CHAPITRE 1
manipulateur et compléter notre travail dans le futur.
1.1 Introduction à la Robotique
De nos jours, l'utilisation des machines, notamment la robotique, est de plus en plus répandue
dans l'industrie et la recherche. La robotique permet de manipuler divers produits ou objets,
qu'ils soient neutres ou dangereux, avec une grande précision et une sécurité accrue.
Dans ce chapitre, nous présenterons plusieurs définitions et un bref historique de la robotique.
Nous introduirons également les différents types de robots et leurs composants, en ouvrant une
courte parenthèse sur les domaines d'application possibles.
1.2 Définitions
1.2.1 Définition de la robotique
La science et la technique de la robotisation englobent la conception et la construction des robots
[2].
1.2.2 Définition d'un robot
Un robot est un mécanisme automatisé capable d'exécuter des tâches spécifiques en fonction d'un
programme fixe ou modifiable [3].
1.3 L’histoire de la robotique
Depuis des millénaires, l'homme a cherché à se faire remplacer pour des tâches spécifiques
pouvant être dangereuses, fastidieuses ou longues. Le concept de robot a été illustré par de
nombreuses réalisations historiques créatives, telles que l'horloge à eau des Babyloniens (1400
avant J.-C.), le théâtre d'automates de Héron d'Alexandrie (vers le premier siècle après J.-C.), et
les automates d'Al-Jazari (vers 1200 après J.-C.) [4]. Un exemple avancé de cette époque est
l'automate créé par Jacques de Vaucanson en 1738, représentant un homme jouant d’un
instrument à vent. Vaucanson a également conçu un automate en forme de canard capable de
manger et d'excréter de la nourriture. Cependant, l'apparition du robot tel que nous le
connaissons a dû attendre les avancées technologiques du XXe siècle.

7
(A) (B) (C)
CHAPITRE
Fig(1) De gauche à droite : (A) « Horloge a eau de Clépsydre », (B)« Théâtre mobile de Héron 1
D’Alexandrie », (C)« Canard digérateur de Jacques de Vaucanson » [4].
• 1920 : L'origine du mot robot provient de la langue tchèque dans laquelle son ancêtre "robota"
signifie travail forcé. Il a été introduit, en 1920, par l’écrivain tchèque Karel Capek dans la
pièce de théâtre « Rossum’s Universal Robots » [5].
• En 1954, George Charles Devol invente le premier robot industriel programmable. Il fonde
en 1956 la première entreprise de robot, Unimation, avec l’ingénieur Joseph Engelberger. Leur
robot, appelé Unimate, était capable de manipuler des objets avec des actionneurs hydrauliques
[5].

Fig(2) Unimate, premier robot industriel [5]

• En 1969, Victor Scheinman de l’Université de Stanford inventa un bras articulé sur 6 axes.
Sheinman venda son concept à Unimation plus tard [5].
• 1973 : KUKA, une entreprise allemande crée le premier robot industriel avec 6 axes
contrôlés électromécaniquement : le Famulus [5].
• 1978 : Unimation propose le PUMA, un robot d’assemblage encore utilisé de nos jours dans
plusieurs laboratoires de recherche [5].
• 1981 : Takeo Kanade construit le premier robot muni de moteurs installés directement aux
articulations du bras. Cela a permis des robots plus rapides et plus précis qu’auparavant [5]

8
• 1998 : ABB, Suède, a développé le FlexPicker, le robot de préparation de commandes le plus
rapide au monde basé sur le robot delta développé par Reymond Clavel, Institut fédéral de
technologie de Lausanne (EPFL) [5].
CHAPITRE 1
• 2003 : Première mission d’exploration de la planète Mars impliquant deux robots mobiles,
Spirit et Opportunity [5].

Fig(3) Opportunity sur mars [5]

• 2011 : Robonaut (R2B) premier robot humanoïde envoyé dans l’espace construit et conçu
par la NASA au Johnson Space Center (JSC) à Houston (Texas), en collaboration avec General
Motors (GM) et Oceaneering [5].

9
Fig(4) Robonaut [5] CHAPITRE 1

1.4 Types de robots


Il existe deux types de robots : les robots mobiles et les robots manipulateurs
1.4.1 Robots mobiles
En général, on appelle robots mobiles l’ensemble
des robots à base mobile. L’usage veut cependant que
l’on montre le plus souvent par ce terme les robots mobiles
à roues. Les autres robots mobiles sont en effet le plus
souvent désignés par leur type de locomotion, qu’ils soient
marcheurs, sous-marins ou aériens.
Fig(5) Robot mobile [5]

1.4.2 Robots manipulateurs


Les robots manipulateurs sont des robots intégrés
dans un espace propre destiné au transfert de produits
semi-finis entre les lignes de production. Le robot est
généralement suspendu pour des questions d’encombrement
et par contraintes d’implantation.

Fig(6) Bras Manipulateur [7]


1.5 Domaines d’application de la robotique [8]
1.5.1 Industriel
Les robots sont fréquemment utilisés dans le domaine industriel, notamment pour des tâches
telles que le montage, la soudure et la peinture.
1.5.2 Médical
Aujourd'hui, les médecins, en particulier les chirurgiens, sont assistés par des robots intelligents
capables de réaliser des incisions d'une précision croissante. Ces robots sont utilisés en chirurgie,
en téléchirurgie et en macrochirurgie.
1.5.3 Spatial
L'espace étant immense, son exploration à l'échelle humaine est extrêmement difficile. C'est
pourquoi les robots sont largement utilisés dans ce domaine.

10
1.5.4 Conclusion
CHAPITRE 2
Dans ce premier chapitre, nous avons posé les fondements généraux de la robotique. Nous
entamons maintenant la partie technique et plus concrète de notre mémoire.
1.6 Introduction
L’une des premières étapes dans la réalisation d’un robot consiste à définir le mode de
locomotion à mettre en œuvre ainsi que les différents éléments qui le composent. Dans ce second
chapitre, on présentera l’architecture mécanique générale du bras manipulateur et on abordera les
différents actionneurs et capteurs le constituant. On donnera également des notions théoriques
qui nous aiderons à l’aboutissement de la modélisation de notre système.
1.7 La description mécanique du bras robot
1.7.1 Structure du bras robot
Pour la réalisation de notre robot, plusieurs choix s’offrent à nous. Notre premier choix s’est
porté sur la technique à utiliser pour fabriquer le châssis. On a le choix entre deux techniques :
l’impression en 3D ou la fabrication manuelle.
L’impression en 3D est rare, car les imprimantes 3D sont peu disponibles et ses bobines de
recharge sont coûteuses. C'est la raison pour laquelle nous avons opté pour la réalisation
manuelle.
1.7.2 Le robot
La structure globale du bras robot.

Fig(7) le robot
1.7.3 La base
La base de notre robot est fixe. La première articulation possède un servomoteur qui permet au
bras de se déplacer sur un angle de 180°, autour de la verticale.

11
CHAPITRE 2
Fig(8) Base du robot
1.7.4 Le bras
Il relie la base à la pince. Il se constitue d’une multitude de pièces en plexiglass reliées par des
vis et de deux servomoteurs. Ils se trouvent sur les côtés comme l’illustre. Ceux-ci contrôlent les
mouvements avant/arrière et haut/bas du bras.

Fig(9) Bras du robot


1.7.5 La pince
La pince est l’organe terminal de notre robot. En effet, elle permet de saisir les différents objets
qu’on lui présente. La pince est constituée d’un servomoteur qui contrôle l’ouverture ou la
fermeture de celle-ci grâce à un mécanisme d’engrenage.

12
Fig(10) Pince du robot

CHAPITRE 2

1.8 Description des composants du bras robot


Dans cette section, nous aborderons les différents types d'actionneurs et de capteurs que nous
avons intégrés dans notre robot.
1.8.1 Les actionneurs du bras robot
Le rôle des actionneurs est d’exécuter une tâche. Ils permettent de fournir assez de force
pour pouvoir provoquer un mouvement. On a choisi d’utiliser comme actionneurs quatre
servomoteurs qui sont des moteurs à courant continu (MCC), asservis en position à l’aide d’un
capteur de position et d’un circuit électronique interne au moteur.
L’asservissement est un moyen de gérer, corriger une commande en fonction d’une
consigne et d’un capteur de position. Pour pouvoir réaliser la correction de l’ange du bras, le
servomoteur utilise une électronique d’asservissement. Cette électronique est constituée d’un
comparateur qui compare la position du bras du servomoteur à la consigne. Après une rapide
comparaison entre la consigne et la valeur réelle de la position du bras, le servomoteur applique
une correction si le bras n’est pas orienté à l’angle imposé par la consigne [9].
Les servomoteurs sont pilotés par un fil de commande (jaune) et alimentés par deux autres
fils : le premier est relié à l'alimentation positive +5V ou +6V (rouge), le deuxième est relié à la
masse (noir).

Fig( 11) Schéma d’un servomoteur

13
CHAPITRE 2
Fig(12) Servomoteur du type MG995 [11] Fig(13) Servomoteur du Type SG90 [10]
1.8.2 Les caractéristiques techniques des servomoteurs [10] [11]

Les paramètres techniques des servomoteurs utilisés sont :


MG995 SG90

Poids 55 g 14,7g

Dimensions 40.7 x 19.7 x 42.9 mm 32 x 12 x 32 mm

Couples d’arrêt 10 kg/cm 2,5 kg/cm

Tensions de fonctionnement 4.8V to 7.2V 4,8V – 6V

Vitesses 0.16s/60° 0,1s/60°

Angles de rotation 180° 180°

1.8.3 Les capteurs


Les capteurs jouent un rôle crucial dans la gestion des interactions entre le robot et son
environnement. Ils facilitent le contrôle des tâches que nous lui assignons.
Il est important de distinguer deux types de capteurs :
• Les capteurs proprioceptifs qui mesurent l’état mécanique interne du robot.
• Les capteurs extéroceptifs qui recueillent des informations sur l’environnement.
Dans notre projet, on suppose qu’on travaille dans un espace de travail sans obstacle.
L’utilisation de capteurs de détection n’est donc pas nécessaire. On n’a aussi pas besoin de
rajouter des capteurs de position, car ceux-ci sont déjà intégrés dans les servomoteurs. En
revanche, on a utilisé un récepteur Bluetooth afin de pouvoir commander ses déplacements à
l’aide d’une application mobile.

14
CHAPITRE 2
Fig(14) Récepteur Bluetooth [12]
1.8.4 Les caractéristique du récepteur Bluetooth [12]

Les spécifications techniques du composant Bluetooth utilisé sont données par :


Caractéristiques Bluetooth HC-05

Sensibilité typique -80dBm


Puissance d'émission RF Jusqu'à +4 dBm
Tension de fonctionnement 1,8V - 3,6V

1.9 Conclusion

En conclusion, ce chapitre a permis de présenter en détail l'architecture mécanique du bras


manipulateur de notre robot, ainsi que les différents actionneurs et capteurs qui le composent.
Nous avons exploré la structure du bras robot, comprenant la base fixe, le bras lui-même et la
pince terminal. Les servomoteurs ont été identifiés comme les principaux actionneurs, permettant
des mouvements précis et contrôlés du bras dans les trois dimensions de l'espace

De plus, nous avons examiné les caractéristiques techniques des servomoteurs utilisés, mettant
en lumière leurs poids, dimensions, couples d'arrêt, tensions de fonctionnement, vitesses et
angles de rotation. Enfin, bien que notre espace de travail ne nécessite pas l'utilisation de
capteurs de détection ou de position supplémentaires, nous avons intégré un récepteur Bluetooth
pour permettre le contrôle du robot à distance via une application mobile.

Ce chapitre constitue donc une étape essentielle dans la compréhension de la conception


mécanique et des composants clés de notre robot manipulateur. Dans le prochain chapitre, nous
aborderons les aspects électriques et électroniques de notre système, en détaillant notamment le
circuit de commande et les interfaces de communication.

15
CHAPITRE 3

1.10 Introduction
Pour tout système de commande, la connaissance de l'ensemble des points de fonctionnement
est essentielle. La commande d’un bras robot nécessite de gérer ses articulations une à une pour
accomplir une tâche précise.
Ce chapitre est consacré à l’étude des différentes commandes appliquées à notre robot
manipulateur. Nous présenterons d'abord le microcontrôleur utilisé ainsi que le Shield conçu
pour le contrôler. Ensuite, nous illustrerons les différentes commandes et expliquerons la
procédure suivie pour les utiliser dans notre projet.

1.11 Arduino
1.11.1 Définition de la carte Arduino :
La carte Arduino est un microcontrôleur open source largement adopté par la communauté
des concepteurs. C'est un système numérique composé d'un processeur, de mémoire et
d'interfaces permettant l'interaction avec le monde extérieur.
Bien que ses performances soient limitées, sa petite taille et sa faible consommation d'énergie
en font un élément indispensable dans les solutions d'électronique embarquée (voitures, portes de
garage, robots, etc.). La carte Arduino n'est pas le microcontrôleur le plus puissant, mais son
architecture open source en fait un outil très apprécié [13].
1.11.2 Arduino UNO
L'Arduino UNO est une carte de microcontrôleur open-source basée sur le microcontrôleur
Microchip ATMEGA328P. Il a été développé par Arduino.cc et publié initialement en 2010.
Le microcontrôleur possède 14 broches d'entrée/sortie numériques, dont 6 peuvent être
utilisées comme sorties PWM, et 6 entrées analogiques2. Elle est largement utilisée pour le
prototypage et les projets électroniques de bricolage, et est équipée d'un ensemble de broches
d'entrée/sortie (E/S) numériques et analogiques qui peuvent être interfacées avec diverses cartes
d'extension [14].

Fig(15) Description de la carte Arduino UNO

16
CHAPITRE 3

1.11.3 Les caractéristiques de la carte Arduino UNO [15]


Microcontrôleur ATmega328
Tension de fonctionnement 5V
Tension d’alimentation 7-12V
Tension d’alimentation (limites) 6-20V
Broches E/S numériques 14 (dont 6 fournissent une sortie PWM)
Broches d’entrées analogiques 6
Intensité maxi disponible pour la sortie 50 mA
3.3V
Intensité maxi disponible pour la sortie 5V 40 mA
Mémoire programme Flash 32 KB (dont 0.5 KB utilisés par le chargeur
de démarrage)
Mémoire SRAM (mémoire volatile) 2 KB
Mémoire EEPROM (mémoire non volatile) 1 KB
Vitesse d’horloge 16 MHz

1.11.4 L’environnement de programmation Arduino (IDE)


Le logiciel Arduino est un environnement de développement (IDE en anglais) open
source et gratuit, téléchargeable sur le site officiel Arduino.
L’IDE Arduino permet d’éditer un programme, de le compiler dans le langage « machine »
de la carte, de le téléverser dans la mémoire de l’Arduino et enfin de communiquer avec cette
dernière grâce au terminal.

Fig(16) Environnement de développement Arduino

17
CHAPITRE 3

1.12 Commande du bras robot


Pour commander les six servomoteurs du bras robot, on a réalisé un type de commande : la
commande via une application mobile, programmés directement via l’environnement de
développement IDE.

1.12.1 La commande sans fil


Afin d’établir une commande sans fil qui nous donnera un contrôle à distance pour notre
réalisation, on a utilisé un récepteur Bluetooth. On a également conçu une application mobile
Android grâce à l'outil de développement créé par Google App Inventor pour assurer la
communication entre l’Arduino et l’interface réalisée. Le programme détaillé de cette commande
est donné dans l’annexe.

1.12.1.1 Le concept d’App Inventor


La programmation s’accomplit en ligne à l’aide d’un langage de bloc d’instructions et sous un
environnement logiciel au choix (Mac, Linux ou Windows). Les informations sont

Fig(17) App Inventor LOGO

18
CHAPITRE 3

1.12.1.2 Réalisation de l’application Android


La réalisation de l’application sous AppInventor se divise en deux parties : la partie design
pour le graphique et la partie bloc pour la programmation.
Dans la partie design, on dispose de divers blocs graphiques comme des boutons, des champs
de texte, des images, des curseurs, mais aussi des layouts qui servent à délimiter les zones de
notre application. Il existe également quelques autres fonctionnalités utiles de multimédia, de
GPS, et de communication Bluetooth.

Fig(18) Partie design de notre application sous AppInventor

19
CHAPITRE 3

Dans la partie bloc, on retrouve toutes les fonctions mathématiques, logiques, ou


évènementielles, ce rapportant aux objets utilisés dans la partie graphique. Cela nous permet de
tirer profit d’une simplicité de programmation orientée objet sous la forme de blocs
préprogrammés et qu’ils ne restent plus qu’à organiser en fonction du programme souhaité.
Lorsque ces outils sont utilisés correctement, on peut réaliser une application simple et
efficace, avec un design propre qui répond à nos besoins. Dans ce qui suit, on va expliquer le
fonctionnement des blocs de programme et leurs utilités dans le programme Arduino pour le
contrôle du bras.
Premièrement, sur le côté gauche, nous avons les blocs pour connecter le smartphone au module
Bluetooth.

Fig(19) Définition des éléments de l’objet Bluetooth

20
CHAPITRE 3

Ensuite, nous avons les blocs de curseurs pour le contrôle de la position du servo et les blocs
de boutons pour la programmation du bras robotique. Donc, si nous changeons la position du
curseur, en utilisant la fonction Bluetooth .SendText, nous envoyons un texte à l'Arduino. Ce
texte consiste en un préfixe qui indique quel curseur a été changé ainsi que la valeur actuelle du
curseur.

Fig(20) Blocs de contrôle des curseurs

21
CHAPITRE 3

1.12.1.3 L’interface finale de notre application


Après le design et la programmation par bloc, on obtient l’application finale :

2 3

4 5
1
6 7

8
9

Fig(21) Interface finale de l’application

1-Icône de l’application 5-Angle de flexion du poignet


2-Connexion au Bluetooth 6-Angle de rotation du poignet
3-Déconnexion au Bluetooth 7-Angle du coude
4-Angle de la pince 8-Angle de l’épaule
9-Angle de la base

22
CHAPITRE 3

1.12.1.4 Communication de l’application avec l’Arduino


Après l’installation de notre application Android et après avoir établie la connexion avec le
module Bluetooth, l’application envoie une information d’état au Bluetooth et qui lui-même, par
la suite, la transmettra à l’Arduino à travers une liaison série

Fig(22) Schéma synoptique simplifié du système

1.13 Implémentation et simulation du projet sous Tinkercad


En réalité, avant la réalisation pratique, notre projet a fait l’objet d’une implémentation sous
Tinkercad. Ce qui a permis de simuler le projet et de vérifier le bon fonctionnement des
différentes parties avant l’implantation pratique.

1.13.1 Présentation du logiciel Tinkercad


Tinkercad Circuits est une application en ligne qui permet de concevoir, simuler et partager
des circuits électroniques. Avec une interface simple et conviviale, les utilisateurs peuvent
glisser-déposer des composants électroniques, connecter des fils et simuler le fonctionnement de
leurs circuits en temps réel. Que vous soyez un débutant en électronique ou un professionnel
expérimenté, Tinkercad Circuits offre une plateforme accessible pour expérimenter, apprendre et
créer des projets électroniques passionnants

Barre d'outils
Insertion de code

Zone de travail Bibliothèque


des composant

23
CHAPITRE 3
Fig (23) Présentation logiciel Tinkercad [16]
1.13.2 Implémentation et simulation
La carte de commande est équipée d’une carte Arduino de type UNO, de six servomoteurs
qui permettent de le faire bouger et enfin d’un module Bluetooth HC-05 pour assurer la
communication avec un téléphone mobile dans le but de le contrôler à distance par une
application Android.

Fig(24) Simulation du bras robot sous tinkercad [16]

1.14 Conclusion
Dans ce chapitre, on s’est intéressé à la carte de commande Arduino et à son fonctionnement en
décrivant les types de programmes implémentés à notre bras robot (sans fil).

24
CONCLUSION GENERALE:

Ce mémoire présente notre travail qui concerne l’étude et la réalisation d’un bras robot,
avec l’hypothèse d’un environnement de travail sans obstacles. Après une exploration générale
du domaine de la robotique, on a abordé le vif du sujet en étudiant les différents organes
constituant notre bras robot .Par la suite, on s’est penché sur la cinématique et dynamique, qui
ont pour rôle respectivement de générer des trajectoires de références, d’analyser les singularités
et de commander et simuler le robot. Enfin, on a procédé à l’étude pratique et l’implémentation
des techniques de commande prévues sur notre réalisation (par application mobile).

Pour la réalisation pratique, le châssis a été conçu à la main. La programmation est faite
à base du langage C++ et a fait l’objet d’une implémentation sur la carte Arduino UNO. Le
contrôle du bras manipulateur se fait à l’aide d’une application mobile réalisée (sans fil).

Le manuscrit a été organisé en trois chapitres. Le premier présente des généralités. La


seconde porte sur la description du bras robot étudié. Le troisième chapitre expose la commande
et la simulation du bras robot.

Bien que ce modeste travail ait atteint ses objectifs, on estime qu’il pourrait être encore
amélioré. En effet, les travaux décrits dans ce mémoire peuvent se poursuivre sur plusieurs voies.
Tout d’abord, il serait intéressant d’envisager un environnement de travail avec obstacles, ce qui
n’est pas le cas dans cette étude. Il serait également intéressant d’implémenter des commandes
en boucle fermée, plus utiles en présence des perturbations. Cela constitue une bonne extension
de ce projet. Pour la réalisation du bras, il serait avantageux d’optimiser la construction en
utilisant un matériau plus solide. On pourrait utiliser des servomoteurs offrant un couple moteur
plus important, dans le but de soulever des objets plus lourds.

25
Référencesbibliographiques

[1] ALMUSAWI Ahmed R. J., KAPUCU Sadettin, DÜLGER Lale Canan « Robotic Arm
Dynamic and Simulation with Virtual Reality Model (VRM) » The 3rd International Conference
on Control, Decision and Information Technologies, Malte, Volume: 3, Avril 2016.
[2] Dictionnaire Larousse, 2008, Edition en ligne.
[3] Dictionnaire Reverso, 2010, Edition en ligne.
[4] EYRAUD, Charles-Henri. « Horloges astronomiques au tournant du XVIIIe siècle : de l'à-
peu-près à la précision ». Thèse de doctorat. Lyon 2, 2004.
[5] Official website IFR INTERNATIONAL FEDERATION OF ROBOTICS.
[6] EL HAMZAOUI Oussama « Localisation et Cartographie Simultanées pour un robot mobile
équipé d’un laser à balayage : CoreSLAM », Thèse de Doctorat, École nationale supérieure des
mines de Paris, 25 septembre 2012.
[7] BOSTELMAN Roger « PERFORMANCE MEASUREMENT OF MOBILE
MANIPULATORS », Thèse de Doctorat, UNIVERSITY OF BURGUNDY, 16 mars 2018.
[8] https://fr.wikipedia.org/wiki/Usage_des_robots.
[9] FERRERO F. « Moteurs et transistors MOS », Cours, Université de Nice, 2017.
[10] DATASHEET « SG90 Servo Motor », Components 101, 2017.
[11] DATASHEET « MG90 Servo Motor », Components 101, 2020.
[12] DATASHEET « HC-05 Bluetooth to Serial Port Module », Components 101, 2018.
[13] BOUQUET Frédéric, BOBROFF Julien « Microcontroleur arduino », Cours, Université
Paris Sud, printemps 2015.
[14] RAO Michael « Introduction à l'Arduino », Cours, Université de Lyon, 2016.
[15] DATASHEET « Arduino UNO », Components 101, 2018.
[16] https://www.tinkercad.com/circuits.

26
Annexe
/*
Arduino Robot Arm Smartphone Control

*/

#include <SoftwareSerial.h>
#include <Servo.h>

Servo waist;
Servo shoulder;
Servo elbow;
Servo wrist_r;
Servo wrist_f;
Servo grip;

SoftwareSerial Bluetooth(3, 4); // Arduino(RX, TX) - HC-05 Bluetooth (TX, RX)

int waistPos, shoulderPos, elbowPos, wrist_rPos, wrist_fPos, gripPos; // current position


int waistPPos = 90, shoulderPPos = 170, elbowPPos = 20, wrist_rPPos = 110, wrist_fPPos = 35,
gripPPos = 80; // previous position
int speedDelay = 20;
String dataIn = "";

void setup() {
waist.attach(5);
shoulder.attach(6);
elbow.attach(7);
wrist_r.attach(8);
wrist_f.attach(9);
grip.attach(10);
Bluetooth.begin(9600); // Default baud rate of the Bluetooth module
Bluetooth.setTimeout(1);
delay(20);
// Robot arm initial position
waist.write(waistPPos);
shoulder.write(shoulderPPos);
elbow.write(elbowPPos);
wrist_r.write(wrist_rPPos);

27
wrist_f.write(wrist_fPPos);
grip.write(gripPPos);
}

void loop() {
// Check for incoming data
if (Bluetooth.available() > 0) {
dataIn = Bluetooth.readString(); // Read the data as string

// If "Waist" slider has changed value - Move Servo 1 to position


if (dataIn.startsWith("S6")) {
String dataInS = dataIn.substring(2, dataIn.length()); // Extract only the number. E.g.
from "s1120" to "120"
waistPos = dataInS.toInt(); // Convert the string into integer
// We use for loops so we can control the speed of the servo
// If previous position is bigger then current position
if (waistPPos > waistPos) {
for ( int j = waistPPos; j >= waistPos; j--) { // Run servo down
waist.write(j);
delay(20); // defines the speed at which the servo rotates
}
}
// If previous position is smaller then current position
if (waistPPos < waistPos) {
for ( int j = waistPPos; j <= waistPos; j++) { // Run servo up
waist.write(j);
delay(20);
}
}
waistPPos = waistPos; // set current position as previous position
}

// Move Servo 2
if (dataIn.startsWith("S5")) {
String dataInS = dataIn.substring(2, dataIn.length());
shoulderPos = dataInS.toInt();

if (shoulderPPos > shoulderPos) {


for ( int j = shoulderPPos; j >= shoulderPos; j--) {
shoulder.write(j);
delay(50);
}
}
if (shoulderPPos < shoulderPos) {
for ( int j = shoulderPPos; j <= shoulderPos; j++) {

28
shoulder.write(j);
delay(50);
}
}
shoulderPPos = shoulderPos;
}
// Move Servo 3
if (dataIn.startsWith("S4")) {
String dataInS = dataIn.substring(2, dataIn.length());
elbowPos = dataInS.toInt();
if (elbowPPos > elbowPos) {
for ( int j = elbowPPos; j >= elbowPos; j--) {
elbow.write(j);
delay(30);
}
}
if (elbowPPos < elbowPos) {
for ( int j = elbowPPos; j <= elbowPos; j++) {
elbow.write(j);
delay(30);
}
}
elbowPPos = elbowPos;
}
// Move Servo 4
if (dataIn.startsWith("S3")) {
String dataInS = dataIn.substring(2, dataIn.length());
wrist_rPos = dataInS.toInt();
if (wrist_rPPos > wrist_rPos) {
for ( int j = wrist_rPPos; j >= wrist_rPos; j--) {
wrist_r.write(j);
delay(30);
}
}
if (wrist_rPPos < wrist_rPos) {
for ( int j = wrist_rPPos; j <= wrist_rPos; j++) {
wrist_r.write(j);
delay(30);
}
}
wrist_rPPos = wrist_rPos;
}
// Move Servo 5
if (dataIn.startsWith("S2")) {
String dataInS = dataIn.substring(2, dataIn.length());

29
wrist_fPos = dataInS.toInt();
if (wrist_fPPos > wrist_fPos) {
for ( int j = wrist_fPPos; j >= wrist_fPos; j--) {
wrist_f.write(j);
delay(30);
}
}
if (wrist_fPPos < wrist_fPos) {
for ( int j = wrist_fPPos; j <= wrist_fPos; j++) {
wrist_f.write(j);
delay(30);
}
}
wrist_fPPos = wrist_fPos;
}
// Move Servo 6
if (dataIn.startsWith("S1")) {
String dataInS = dataIn.substring(2, dataIn.length());
gripPos = dataInS.toInt();
if (gripPPos > gripPos) {
for ( int j = gripPPos; j >= gripPos; j--) {
grip.write(j);
delay(30);
}
}
if (gripPPos < gripPos) {
for ( int j = gripPPos; j <= gripPos; j++) {
grip.write(j);
delay(30);
}
}
gripPPos = gripPos;
}

}
}

30

Vous aimerez peut-être aussi