Robot">
Memoire de Master Électronique
Memoire de Master Électronique
Memoire de Master Électronique
Mémoire
Présenté pour obtenir
LE DIPLOME DE MASTER
FILIERE : ELECTRONIQUE
Spécialité : Electroniques des Systèmes Embarqués
Par
DJAAFRI Chemseddine
HERNOUF Mounir
Intitulé
Evalué le : 14 / 09 / 2021
-
Remerciement
Remerciement
Nous tenons à exprimer notre profonde gratitude envers notre
dieu le tous puissant de nous avoir guidés dans la réalisation de
ce travail.
Nous sommes heureux de remercier nos parents qui nous ont
suivis et éduqués depuis que nous avons commencé notre vie,
nous sommes ici aujourd'hui grâce à eux.
Nous adressons nos sincères remerciements à notre encadreur :
Sommaire
Introduction général .................................................................................................. 1
Conclusion général................................................................................................... 53
Résumé
Le but de ce projet est la réhabilitation du robot manipulateur éducatif ED-7220C afin de
l’utiliser dans les travaux pratiques. La réhabilitation vise à remplacer la carte de commande
du robot (architecture ancienne et fermée) avec une architecture nouvelle open source. La
carte de commande proposée est basée sur l’utilisation de deux cartes Arduino méga, de
quatre pilotes de moteurs (L298N) et la réalisation d’une carte de polarisation des encodeurs
incrémentaux. La réhabilitation software du robot offre deux modes de fonctionnement, le
mode réglage/configuration et le mode programmation sous MATLAB. La carte de
commande proposée nous a permet un contrôle complet du robot avec des performances
satisfaisantes, et constitue une grande amélioration par rapport à la carte de commande
originale, car elle est moins encombrante, a un processeur plus puissant, facile à connecter via
USB et open source.
، التصميم، البرمجة، التحديد، تحكم، الهندسة، إعادة التأهيل،ED-7220C ذراع المناور: الكلمات المفتاحية
. ماتالب، أردوينو،االنجاز
AC Alternative Current
DC Direct Current
CC Courant Continu
PC Personal Computer
GND Ground
Introduction général
Le but de notre projet est la réhabilitation du robot manipulateur éducatif ED-7220C afin
de l’utiliser dans les travaux pratiques. Le robot une fois réhabilité peut aussi servir comme
banc d’essai pour les projets de recherche (la commande). La réhabilitation du robot concerne
essentiellement le remplacement de la partie commande du robot (architecture ancienne et
fermée) avec une architecture nouvelle et open source. Cela en respectant le cahier de charges
initial.
Le deuxième chapitre est consacré aux différents composants qui seront utilisés dans la
réalisation de la nouvelle carte de commande, une partie de ce chapitre est destinée à la
modélisation des bras manipulateurs.
Dans le dernier chapitre, nous allons présenter une nouvelle carte de commande qui
permettra la réhabilitation hardware et software du bras manipulateur.
Finalement, nous terminons ce mémoire par une conclusion générale qui illustre les
principaux résultats obtenus.
I.1. Introduction
Un robot est un dispositif mécanique articulé capable d’imiter certaines fonctions
humaines telles que la manipulation d’objets ou la locomotion, dans le but de se substituer à
l’homme pour la réalisation de certaines tâches matérielles.
Il peu être considéré comme une machine industrielle poly articulée, dotée de possibilité
d’auto-adaptabilité et qui peut de ce fait agir d’une manière plus ou moins autonome dans et
sur son environnement.
Un robot manipulateur est composé d'une structure articulée de grande taille, fixée
sur un socle rigide. Ce type de robot est utilisé principalement pour libérer les opérateurs
de tâches lassantes, monotones et répétitives. Ce qui rend l’utilisation des manipulateurs très
répondu dans le domaine manufacturier, où ils peuvent intervenir, dans les chaînes de
production, pour accomplir des tâches de manutention, d’assemblage, etc.
entre eux par des liaisons à un degré de liberté. Chaque articulation est commandée par
un actionneur situé à l'endroit de l'articulation ou sur un des segments précédents.
Les structures parallèles ( figure I.3.) pour lesquelles toutes les chaînes partent de la
base pour aller vers l'organe terminal.
I.7. Conclusion
Le robot manipulateur est un robot à plusieurs degrés de liberté, à commande automatique,
reprogrammable, multi-applications, mobile ou non, destiné à être utilisé dans les applications
d’automatisation industrielle. Ils sont très intéressants puisqu’ils ont prouvés qu’ils étaient
capables de se substituer à l’être humain dans plusieurs tâches difficiles à réaliser et
d’effectuer de bonnes performances.
Dans le prochain chapitre de ce mémoire, nous allons présenter la modélisation et
l’identification des paramètres de bras robot manipulateur de type série (robotic arm, model
ED7220C).
II.1. Introduction
La modélisation du robot consiste à représenter son comportement par des équations
algébriques, dans le cas où les variables sont les positions, en parle du modèle géométrique ;
si les variables sont les vitesses, en parle du modèle cinématique ; si en considère les efforts,
alors en parle du modèle dynamique. Ce chapitre porte sur les concepts théoriques de la
modélisation d’un bras manipulateur ainsi que sur le matérielle utilisés dans la phase de
réhabilitation du bras manipulateur ED 7220C.
II.2. Modélisation
𝐽 ∶ 𝑇𝑞 → 𝑇𝑥 𝑀
𝑋 = 𝑓(𝑞 ) (𝟐)
∂X
𝑞̇ → 𝑥̇ = 𝐽𝑞̇ Où J =
∂q
𝑞̈ = 𝑔(𝑞, 𝑞̇ , 𝐶, 𝑓 ) (𝟑)
𝑞̈ : C’est le vecteur des accélérations articulaires.
𝑞: C’est le vecteur des positions articulaires.
𝑞̇ : C’est le vecteur des vitesses articulaires.
𝐶: C’est la vecteur colonne des couples/forces des actionneurs, selon que l’articulation est
rotoïde ou prismatique.
𝑓 : C’est l’effort extérieur (forces et couples), à exercer par l’organe terminal.
un support lui même monte sur un axe. Cet axe, c’est l’arbre de sortie du moteur. C'est lui qui
transmettra le mouvement à l'ensemble mécanique (pignons, chaine, actionneur...) auquel il
est associé en aval [9].
II.3.4.1. Motoréducteur
Le réducteur diminue la vitesse de rotation tout en augmentant le couple. Le couplage,
moteur et réducteur, est nommé motoréducteur.
Le motoréducteur est un système constitué d'un réducteur déjà équipé d'un moteur
électrique. Selon l'application, il existe plusieurs variétés de motoréducteurs : soit à axe
moteur dévié, soit à axe perpendiculaire à l'axe de sortie (sortie mâle ou femelle), et pouvant
être à axe simple ou double.
Utilisation
Un réducteur est un jeu d'engrenages qui permet de réduire la vitesse de rotation de l'axe
du moteur tout en augmentant le couple de sortie. Ces moteurs peuvent fonctionner à courant
continu pour les micro-réducteurs ou en alternance pour les gros moteurs industriels. Le
fonctionnement d'un réducteur peut être modélisé de la manière illustrée sur la figure II.8.:
a) L’encodeur incrémental
Ce type d'encodeur permet uniquement de mesurer des changements de position, mais il
est bien sûr possible d'en déduire vitesse et même accélération.
Le disque strié de l'encodeur peut comporter une seule piste qui, suivant son état, provoque
un changement de l'état binaire de sortie. En général, on a deux pistes qui ont la même
résolution mais sont déphasées entre elles de 90°. Cela permet ainsi de mesurer la vitesse de
rotation et le sens de rotation [11].
Lorsque le disque tourne, les segments opaques bloquent la lumière alors que les segments
transparents la laissent passer. Ceci génère des impulsions d’onde carrée qui peuvent ensuite
être interprétées comme position ou mouvement :
(code binaire réfléchi). L’utilisation du codage binaire offre la facilité des traitements
ultérieurs (calculs binaires). Le code Gray a la particularité de garantir qu’entre deux positions
successives seul un bit auront pu changer.
Figure II. 10. Disques de codeurs absolus code Gray et code binaire pur.
Inconvénients
Il est sensible aux coupures du réseau : chaque coupure du courant peut faire perdre la
position réelle du mobile à l'unité de traitement. Il faudra alors procéder à la réinitialisation du
système automatisé.
b) Codeur absolu
Avantage
Il est insensible aux coupures du réseau : la position du mobile est détenue dans une onde
qui est envoyé en parallèle au système de traitement. L'information de position est donc
disponible dès la mise sous tension.
Inconvénients
Les informations de position sont délivrées « en parallèle » ; son utilisation besoin un
nombre important d'entrées du système de traitement.
II.4. Conclusion
Ce chapitre est consacré à description du matérielle que nous allons utiliser dans la
réalisation de réhabilitation du robot manipulateur ED 7220 C. La première partie du chapitre
est destiné aux concepts de base de la modélisation d’un bras manipulateur.
Le reste du chapitre est consacré aux matérielles utilisés tel que, la carte de prototypage
Arduino Méga 2650, le Pilote de moteur à double pont-H « L298N Dual H-Bridge », les
moteurs à courant continue et les encodeurs incrémentaux.
III.1. Introduction
Le robot sur lequel nous allons travail est un bras manipulateur à 6 degrés de liberté ED-
7220C développé par la société coréenne ED Corporation. Ces modèles de bras robotisés sont
largement utilisés dans l'industrie, la recherche et l'enseignement. Il est composé d’une carte
de commande et d’un logiciel. Le robot disponible au niveau des laboratoires pédagogiques
du département d’électronique est actuellement en panne (absence du logiciel de commande
et de la documentation).
Pour la partie hardware, nous allons développer et réaliser une carte de commande basée
sur la carte de prototypage open source Arduino. En ce qui concerne la partie software, nous
allons proposer une interface de commande qui permettra le développement des programmes
de commande du robot sous Matlab.
Poids : 33kg.
Le premier problème que nous allons traiter est les liaisons et les interactions entre la partie
commande et la partie opérative de robot. Nous savons à priori que la partie commande est
liées à la partie commande par quatre types de liaisons qui véhicule les signaux suivants :
La vitesse de rotation et le déplacement des moteurs sont mesurés à travers des encodeurs
optiques montés sur les moteurs à courant continu de précision (DME38B50G). Ce dernier est
montré sur la figure III.2. ci-dessous :
Le mouvement des articulations est limité par des capteurs (Mini Microswitch - SPDT),
ces fins de course sont utilisées pour déterminer la position des butées des moteurs ; et
déterminer la position des articulations du bras et assurée le fonctionnement dans l’espace de
travail (voir figure III.3).
La partie opérative du robot est comporte 6 moteurs à courant contenu avec 6 encodeurs
optiques et 5 capteurs de fins de cours liée à la partie commande à travers un connecteur
DB50, comme il est montré sur la figure III.4.
Le circuit encadré en noir sur la figure III.5. montre un étage de mise en forme des signaux
provenant de l’un des encodeurs. Chaque étage comporte deux amplificateurs opérationnels
montrés en comparateurs de type LM393N, (voir figure III.6).
La carte de commande est constituée d’une carte (voir la figure III.8.) sur laquelle on
trouve un processeur de type « N80188 » est illustré dans le carré blanc.
Figure III. 9. Connections des fils des moteurs avec connecteur DB50.
Nous avons confirmé que le moteur est suivre les couleurs des fils, comme montré :
En utilisant l’oscilloscope et le multimètre nous avons arrivé a identifié les couleurs des
fils de connections entre les encodeurs et le connecteur DB50, montré sur la figure III.11. et le
tableau III. 2:
Figure III. 11. La connexion entre l’encodeur de moteur de coude et connecteur DB50.
Couleur Fonction
Blue VCC (5V)
Jaune GND
Blanc voie des données (voie A)
vert voie des données (voie B)
Après avoir identifié la fonction de chaque fils de l’encodeur, nous avons besoin de réaliser
une carte imprimée par laquelle nous pouvons polariser les capteurs inclus dans les encodeurs.
La figure III.13. et le tableau III. 4. représente la connexion « VCC » de ces capteurs avec le
connecteur DB50.
Figure III. 13. Connections des fils des fins de course avec connecteur DB50.
5V
Alimentation
Bloc de polarisation
des encodeurs
Le bras manipulateur
Plusieurs plateformes peuvent être utilisés pour remplacer la carte de commande du robot,
nous avons choisi une architecture basée sur Arduino vu sa simplicité. Le schéma synoptique
de la figure III.14. montre les liaisons entre les différents étages de notre système de
commande. Sur cette figure nous pouvant voir les étages suivants :
Deux carte Arduino méga sont nécessaires pour couvrir l’ensemble des entrées/sorties de
notre système.
Les deux cartes Arduino Méga, contrôlent la position des moteurs. Chaque carte acquiert
les données de position des moteurs et les communique à un ordinateur personnel via une
connexion USB. Les signaux PWM sont transmis aux modules de commande à double pont
en H L298N a partir de la carte Arduino.
Encodeur
Encodeur
Encodeur Encodeur
Moteur de Moteur du
l’épaule coude Moteur du
Moteur du
poignet poignet
« rouleau » Moteur de la Moteur du « terrain »
pince corps
Début
Si Joystick NON
commande
avance
OUI
Moteur marche avec vitesse fixe et Moteur arrêt
lecture de position de l’encodeur
Si Joystick NON
varié la
position
OUI
Moteur marche avec vitesse variable
Si le sens NON
de rotation
avant
OUI
Afficher la position de Afficher la position de l’encodeur
l’encodeur avec ordre croissant avec ordre décroissant
Fin
Début
Si boutons NON
L1 ou R1
appuies
OUI
OUI OUI
Moteur marche avant Moteur marche arrière Moteur arrêt
Fin
Figure III. 17. L'organigramme de commande par des boutons poussoir de la manette.
Le programme est constitué de deux fonctions qui permettent de mettre tous les
articulations de bras manipulateur en position initiale. La figure III.18. montre l'organigramme
de mode programmation avec récupération des positions par le biais des encodeurs.
Début
Si bouton NON
Marche/arrêt
est appuie
Moteur arrêt
OUI
1 2
1 2
Si la valeur de NON
l’encodeur =X
OUI
Moteur arrêt
Fin
MATLAB comme des entrées logiques ou analogiques ou des sorties analogiques (mode
PWM).
La communication entre la carte de commande et MATLAB est établie en suivant les deux
étapes suivantes :
2. Aller vers Command Window de MATLAB et recherche du port serial d’Arduino, comme
illustré sur la figure.III.20.
capteurs Bouton 1 52
(Shoulder)
de fins Bouton 1 53
(Roll)
de Bouton 1 52
(Elbow)
cours Bouton 1 51
(Pitch)
Les figures (Figure III.23. et Figure III.24.) nous montre le circuit imprimé et le schéma
électrique imprimés sur une feuille glacée.
Figure III. 23. Circuit imprimé sur ARES PROTEUS (double faces).
Figure III. 24. Schéma électrique imprimés sur une feuille glacée (double faces).
La carte imprimée est représentée sur les figures ( figure III.25. et figure III.26.).
Figure III. 27. L’allure des signaux obtenus et visualisé sur oscilloscope.
Sur cette figure, on remarque très clairement les deux signaux carrés générés par
l’encodeur (voie A et voie B), il y a aussi le décalage entre les deux signaux. Ce dernier nous
donne le sens de rotation de moteur.
10
11
III.6. Conclusion
Ce chapitre est consacré à la partie pratique de notre projet de fin d’étude, ce projet vise la
réhabilitation du bras manipulateur ED-7220Cet le rendre opérationnelle pour réaliser les
travaux pratiques de la robotique. La première partie de ce chapitre est destiné à description
du cahier de charges de notre robot. Dans la deuxième partie, nous avons donné en détaille les
étapes que nous avons suivie pour arriver à la réhabilitation Software et Hardware de la partie
commande du robot. La partie Hardware de la commande proposée est basée sur deux cartes
Arduino méga. La réhabilitation software du robot nous a permis de proposer deux mode de
fonctionnement, le mode réglage/configuration et le mode programmation.
Conclusion général
Dans ce projet, nous avons présenté une nouvelle carte de commande du bras manipulateur
ED-7220C, cette carte de commande nous a permet la réhabilitation du robot et le rendu
opérationnel pour réaliser les travaux pratiques de la robotique ; cette réhabilitation touche la
partie hardware et la partie software du robot.
La partie Hardware de la commande proposée est basée sur l’utilisation de deux cartes
Arduino méga, de quatre pilotes moteurs (L298N) et la réalisation d’une carte de polarisation
des encodeurs incrémentaux.
Les résultats du projet sont très prometteurs, les travaux futurs consistent à ajouter des
fonctionnalités plus interactives comme l’utilisation de la vision artificielle, la commande à
distance du robot, ou l’intégration de commande PID avancée pour améliorer les
performances du robot.
Bibliographie
[1] Alain LIÉGEOIS, Modélisation et commande des robots manipulateurs,
Techniques de l’Ingénieur, traité Informatique industrielle,2000.
[2] S. Zeghloul, J. P. Lallemand, Robotique, aspect fondamentaux, Masson 1994,
312 pages.
[3] Abdelkader Kerraci, Synthèse des commandes robustes des robots
manipulateurs rigides, Thèse de magistère, Université d'Oran, 2004.
[4] K. Becir, Cours de modélisation des robots industriels, Université Badji
Mokhtar, Annaba, 2016.
[5] Fadhila Djouggane, Etude et conception d’un robot manipulateur pour
L'ENMTP, Université Hadj–Lakhdar Batna, 2012.
[6] Site Web : Arduino. www.arduino.cc/, consulté le, 10 Juin 2021.
[7] Site Web : https://www.redohm.fr/2014/12/arduino/, consulté le, 18 Juillet
2021.
[8] Site Web :
http://www.handsontec.com/dataspecs/L298N%20Motor%20Driver.pdf,
consulter le, 20 Juillet 2021.
[9] Site Web : http://eskimon.fr/285-arduino-601-le-moteur-courant-continu,
consulté le, 1 Août 2021.
[10] Abdessalam Immoune, Djounadi Mohand, Commande numérique du massicot
avec la carte Arduino MEGA 2560, Université Mouloud Mammeride, Tizi-
Ouzou, 2015.
[11] Site Web : https://fr.wikipedia.org/wiki/Codeur_optique, consulté le, 20 Juin
2021.
[12] Site Web : https://www.generationrobots.com/blog/fr/encodeurs-robotique-
mobile/, consulté le, 25 Juin 2021.