Vous êtes sur la page 1sur 28

Ministère de l'enseignement supérieur

et de la recherche Scientifique
Université de Gabes Département Génie Electrique -Automatique
Ecole Nationale d'Ingénieurs de Gabès
Année universitaire : 2022-2023

Rapport de projet tutoré


Présenté par:

L’Ecole Nationale d'Ingénieurs de Gabès


Département Génie Electrique -Automatique

Réalisé par :

Kouraichi Zeineb
Manai Nada
Saad Ghada

Modélisation du bras manipulateur Dobot Magician

Soutenu le 4 /02/2023devant le Jury

Encadrant : Mme Thabet Haifa


Membre : Mme Yahya Olfa
REMERCIEMENT

A travers ces lignes, nous tenons à remercier tous les employés, cadres et dirigeants de l'école National
d'Ingénieur de Gabes pour leur assistance et encadrement durant ce projet. Nous profitons cette occasion
aussi pour reconnaître les efforts de ceux qui nous ont aidé à effectuer notre rapport de projet dans la bonne
condition : NOTRE ENCADREUR Mme Thabet Haifa qui nous a beaucoup soutenu. Ainsi que tous les
responsables qui nous ont supporté durant cette période

i
SOMMAIRE

Introduction Générale …………………………………………………………………………………………………………………………...…….1

Chapitre 1: Modélisation des robots…………………………………………...…………………………………………………………….....2

1-1 Introductuion…………………………………………………………………………………………………………………………………….....2
1-2 Modélisation Cinématique…………………………….…………………………………………………………………………..………...2
1-3 Modélisation Géométrique……………………………………………………………………………………………………………….…..2
1-4 Modélisation Dynamique……………………………………………………………………………………………………………………...3
1-5 Conclusion…………………………………………………………………………………………………………………………………………….3

Chapitre 2: Robot Dobot Magician……………………………………………………………………………………………………………….4


2-1 Introduction…………………………………………………………………………………………………………………………………………………………4
2-2 Spécifications de Robot Dobot Magician……………………………………………………….………………………………….…..6
2-3 Conclusion……………………………………………………………………………………………………………………………………………….………...6
Chapitre3 : Modélisation de robot Dobot magician……………..………………………………………………………………………..7
3-1 Introduction……………………………………………………………………………………………………………………………………………….………..7
3-2 Modélisation de Robot Dobot Magician ………………………………………………………………………………………………………...7
3-2-1 Modélisation géométrique direct ……………………………………………….………………….……………………………………………..…8
3-2-2 Modélisation cinématique direct ………………………….………………………………………………………………………………..….…8
3-2-3 La commande de Robot…………………………………………………………………………………………………………………………….…14
3-3 Conclusion……………………………………………………………………………………………………………………………………………………….…20

ii
LISTE DES FIGURES

Figure 1 : Articulations et mesures du Robot Dobot Magician……………………………………………………………………...5


Figure 2 : Présentation cinématique du robot….…………………………………………………………………………………..…7
Figure 3: Tri de cubes………………………………………………………………………………………………………………………………….15

Figure 4: Résultat final……………………………………………………………………………………………………………………………..…15

iii
LISTE DES TABLEAUX

Tableau 1: Spécifications de robot Dobot magician…………………………………………………………………………………………………6

Tableau 2: Méthode Denavit-Hartenberg………………………….….…………………………………………………………………………………8

iv
Introduction Générale

Définition de la robotique :

La robotique est l'ensemble des techniques permettant la conception et la réalisation de machines


automatiques ou de robots.[1]

Pendant plus de deux siècles, l'usage des robots a été presque exclusivement réservé aux tâches répétitives
dans les industries, avec quelques exceptions dans des secteurs peu accessibles au grand public comme le
domaine militaire et l'aérospatial. De nos jours, la robotique est omniprésente. Pour usage domestique ou
professionnel, public ou privé, les robots sont à peu près partout par exemple en médecine dans les
hôpitaux et autres établissements de santé pour réaliser des examens, des traitements (radiothérapie) ou
des interventions chirurgicales dans des zones difficiles d'accès qui requièrent une grande précision
(ablations) Ou dans la Défense comme les drones pour survoler des zones de conflits,transporter du
matériel ou lancer des missiles , dans le domaine spatial pour explorer l'espace, la lune ou des planètes ,
dans les logements des particuliers comme les tondeuses et les aspirateurs , dans l'art graphique pour
réaliser des dessins (robographes) , dans la construction automobile , dans l'agroalimentaire , dans la
sécurité, notamment pour la vidéosurveillance , dans le transport pour transporter des personnes ou des
marchandises.[2]

On s’intéresse principalement dans ce projet tutore a la modélisation de bras manipulateur Dobot


Magician. Ainsi, une éventuelle commande du robot a été effectuée

Le présent rapport est structure comme suit :

 Chapitre 1 : présente un tour d’horizon sur la modélisation des robots d’une Manière générale

 Chapitre 2 : présente la présentation de robot dobot Magician et ses spécifications

 Chapitre 3 : présente la modélisation et la commande du bras manipulateur Dobot Magician

1
Chapitre 1 : Modélisation des robots

1.1)Introduction :

La modélisation est un système mécanique articulé, actionné et commandé, précédant la simulation, il


consiste à établir un modèle mathématique pour pouvoir prédire les mouvements souhaités.

Nous citons trois types de modélisations :

 Cinématique
 Géométrique
 Dynamique

1.2) Modélisation Cinématique :

C'est la relation liant les vitesses opérationnelles (c a d la vitesse instantanée du point P et la vitesse de
rotation du repère R) en fonction des vitesses articulaires. Le modèle cinématique peut s'écrire sous la
forme :

. .
X = J(q) q Équation du modèle cinématique

1.3) Modélisation Géométrique :

Les modèles géométriques direct et inverse consistent à exprimer la situation de l'organe terminal en
fonction de la configuration du mécanisme et inversement. La méthode la plus répandue est celle de
Denavit-Hartenberg mais elle est développée pour des structures ouvertes simples (valable pour notre
projet).[3]

2
1.5) Conclusion:

Dans ce chapitre, nous avons étudié les modélisations géométrique, cinématique et dynamique du Robot

Dobot Magician
1.4) Modélisation Dynamique :

Le modèle dynamique est la relation entre les couples (ou encore les forces) appliqués aux actionneurs et les
positions, vitesses et accélérations articulaires.

La forme générale du modèle dynamique est illustrée par cette formule de Lagrange :

ᴦ i = d/dt .∂L/∂qi -∂L/∂qi

i=1,.. n

Avec :

L=E-U

E : énergie cinétique totale du système.

U : énergie potentielle totale du système [3]

3
Chapitre 2: Robot Dobot Magician

2.1 )Introduction:

Dans ce projet on s'intéressera à la robotique industrielle, plus précisément au fameux RobotDobot Magicien
qui est destiné à la formation.

Il est capable d’imprimer en 3D, de graver au laser et de déplacer des objets.

Le système est conçu notamment pour initier les étudiants à la programmation.

Dobot Magician est un bras robotisé a 13 interfaces (I/O port, API, Protocoles de communication) et 20
langages de programmation (ROS, Automate, Microcontrôleur, Arduino, Blockly, C/C++, Java, Python...) à
visée pédagogique, muni de différents outils et accompagné d'un environnement de programmation à l’image
des robots industriels.

Le bras du robot comporte principalement :

 Différents corps : un socle (base), un bras, un avant-bras et un support permettant de fixer un outil

 5 articulations [4]

4
Figure 1 : Articulations et mesures du Robot Dobot Magician [5]

5
2.2) Spécifications de Robot Dobot Magician :

Cette table présente les spécifications physiques et les axes des mouvements d'une Robot Dobot Magician

Tableau1 : spécifications de robot dobot magician

Mouvement des axes

Axis Range Max Speed


Joint 1 base -120° ~+120 320° / s
Joint 2 rear arm -5°~+90° 320° / s
Joint 3 forearm -15°~+90° 320° / s
Joint 4 rotation servo -140°~+140° 480° / s
Physique
poid nette 3.4KG
Dimension de la Base(Footprint) 158mm × 158mm [6]
Materiels Aluminum Alloy 6061, ABS Engineering plastic
Controller Dobot Integrated Controller
Autres
Maximum Print Size (L × W × H) 50 mm ×150 mm × 150mm (MAX)
3D printing material PLA
Resolution 0.1mm
consommation de puissance 500mw
puissance 12V
Pression -35 Kpa
Force 8N

2.3) Conclusion :

Dans ce chapitre, nous avons déterminé les composantes et les spécifications de Robot Dobot Magician

6
Chapitre 3 : Modélisation de robot dobot magician

3.1) Introduction:

Dans ce chapitre on s'intéressera à l'étude cinématique et géométrique par la convention de denavit hartenberget à
la commande de Robot Dobot Magician.

3.2) Modélisation de Robot Dobot Magician

La figure suivante représente le robot dans sa configuration initiale (c-à-d, à 𝑡 = 0) avec les repères associés aux
différents corps du robot ou les coordonnées articulaires q1, q2, q3 sont nulle afin de placer le bras dans sa
configuration initiale.

Figure 2: Présentation cinématique du robot

7
3.2.1) Modélisation géométrique direct :

La première étape consiste à déterminer le tableau de Denavit-Hartenberg comme suit :

Tableau de Denavit-Hartenberg

En calculant la matrice de transformation homogène comme suit

M12 =
Cosoi -sinoi cosαi sinoi sinαi a1cosoi

Sinoi cosoi cosαi -cosoi sinαi a1sinoi


(1)
0 sinαi cosαi di

0 0 0 1

= cosq1 -sinq1 0 a1 cosq1

Sinq2 cosq1 0 a1 sin q2


(2)
0 0 1 0

0 0 0 1

M23 = cosq2 0 -sinq2 0

Sinq2 0 cosq2 0
(3)
0 -1 0 0

0 0 0 1

M34 = 1 0 0 0

0 1 0 0
(4)
0 0 1 d3+q3

0 0 0 1
8
M14=M13.M3 = cosq1+q2 0 -sinq1+q2 -sinq1+q2.(q3.d3) +a1cosq1

Sinq1+q2 0 cosq1+q2 cosq1+q2.(q3.d3) +a2sinq1 (5)

0 -1 0 0

0 0 0 0

3.2.2) Modélisation cinématique direct :

La modélisation cinématique du robot équivalent à déterminer les matrices jacobiennes comme suit :

(1)

J1= 1z1 ^ 10104 (2)


1z1

9
J1 = 0 a1*cosq1 – sin(q1+q2) *(d3+q3)
(3)
0^ a1*sinq1+cos(q1+q2)*(d3+q3)

0 0

0
0
1

J1= -a1sinq1-(d3+q30cos(q1+q2)

a1cosq1-(d3+q3)sin(q1+q2) (4)
0
0
0
1

J2 = 1z2 ^ o2o4
(5)
1z2

-(d3+q3).sinq2

(d3+q3).cosq2 (6)

0
10
R12 = cosq1 -sinq1 0

Sinq1 cosq1 0

0 0 1

Cosq1 -sinq1 0 -(d3+q3).sinq2


(7)
Sinq1 cosq1 0 ^ (d3+q3).cosq2

0 0 1 0

-(d3+q3).sinq2

(d3+q3).cosq2

Cos(q1) -sin(q1) 0

Sin(q1) cos(q1) 0

0 0 1

-(d3+q3).sinq2 -(d3+q3).sin(q1+q2)
1O2O4 = R12.2020 = cos q1 -sin q1 0 = (8)
(d3+q3).cosq2 (d3+q3).cos(q1+q1)
Sin q1 cos q1 0
0 0
0 0 1

0
1z2 = R12.2z2 =
0
1

12
J2 = 0 -1 0 -(d3+q3) sin (q1+q2)

1 0 0 . (d3+q3) cos (q1+q1)


(9)
0
0 0 0

-(d3+q3) sin (q1+q2)


(d3+q3) cos (q1+q1)
0
J2 =
0

1z3
Pour l’axe i=3, articulation prismatique J3 = 03

Cos(q1+q2) 0 -sin(q1+q2)
On a : 1z3 = R13 3z3 R3 = Sin(q1+q2) 0 cos(q1+q2)
0 -1 0

13
-sin(q1+q2)
Cos(q1+q2) 0 -sin(q1+q2) 0
= Cos(q1+q2)
1z3 = Sin(q1+q2) 0 cos(q1+q2) 0
(10)
0
0 -1 0 1

-sin(q1+q2)

Cos(q1+q2)
J3 =
0 (11)
0

La matrice Jacobien de ce robot :

-a1sinq1-(d1+q3).cos(q1+q2) -(d3+q3) sin (q1+q2) -sin(q1+q2)

J= a1cosq1-(d3+q3).sin(q1+q2) (d3+q3) cos (q1+q1) Cos(q1+q2)


(12)
0 0 0
0 0 0
0 0 0
1 1 0

14
3.2.3) La commande de Robot :

On propose dans cette partie d’effectuer la commande du bras Dobot. Il s’agit de commander le robot dans
l’espace cartésien. Le scenario de la commande est le suivant :

Nous proposons le tri des cubes selon leurs couleurs. Les cubes sont transférés à l’aide de tapis roulant Une fois
le cube est détecté par le capteur photoélectrique le robot est amené à mettre le cube dans la position désirée

Nous avons utilisé trois couleurs différents par chaque cube

Figure 4: résultat finale


Figure 3: tri de cubes

La Programmation de robot est effectuée par la language scratch et a l’aide de l’interface DobotBlock. Le programme
propose est donnée en language scratch avec son équivalent en python :

15
Scratch: Python:

def work():

#scratch.start

mg.SetInfraredSensor(1, 2, 0)

mg.SetEMotorEx(0, 1, 14000, 1)

while(not((str(mg.GetInfraredSensor(2)) == '1'))):

print('')

mg.SetEMotorEx(0, 1, 0, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 30, 49, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 14.4, 49, 1)

mg.SetEndEffectorSuctionCupEx(1, 1)

mg.SetPTPCmdEx(7, 0, 0, 80, 0, 1)

mg.SetPTPCmdEx(2, 275, 74.4, -42.2, 15.1, 1)

mg.SetEndEffectorSuctionCupEx(0, 1)

mg.SetPTPCmdEx(2, 275, 74.4, -30, 15.1, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 40, 49, 1)

mg.SetEMotorEx(0, 1, 14000, 1)

while(not((str(mg.GetInfraredSensor(2)) == '1'))):

print('')

mg.SetEMotorEx(0, 1, 0, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 30, 49, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 14.4, 49, 1)

mg.SetEndEffectorSuctionCupEx(1, 1)

mg.SetPTPCmdEx(7, 0, 0, 80, 0, 1)

mg.SetPTPCmdEx(2, 229.2, 75.4, -41.5, 18.2, 1)


16
mg.SetPTPCmdEx(2, 229.2, 75.4, -20, 18.2, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 40, 49, 1)

mg.SetEMotorEx(0, 1, 14000, 1)

while(not((str(mg.GetInfraredSensor(2)) == '1'))):

print('')

mg.SetEMotorEx(0, 1, 0, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 30, 49, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 14.4, 49, 1)

mg.SetEndEffectorSuctionCupEx(1, 1)

mg.SetPTPCmdEx(7, 0, 0, 80, 0, 1)

mg.SetPTPCmdEx(2, 175.9, 72.7, -45.2, 22.4, 1)

mg.SetEndEffectorSuctionCupEx(0, 1)

mg.SetPTPCmdEx(2, 175.9, 72.7, -20, 22.4, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 40, 49, 1)

mg.SetEMotorEx(0, 1, 14000, 1)

while(not((str(mg.GetInfraredSensor(2)) == '1'))):

print('')

mg.SetEMotorEx(0, 1, 0, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 30, 49, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 14.4, 49, 1)

mg.SetEndEffectorSuctionCupEx(1, 1)

mg.SetPTPCmdEx(7, 0, 0, 80, 0, 1)

mg.SetPTPCmdEx(2, 277.1, 24.9, -20, 5.1, 1)

mg.SetPTPCmdEx(2, 277.1, 24.9, -43.2, 5.1, 1)

mg.SetEndEffectorSuctionCupEx(0, 1) 17
mg.SetEMotorEx(0, 1, 0, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 30, 49, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 14.4, 49, 1)

mg.SetEndEffectorSuctionCupEx(1, 1)

mg.SetPTPCmdEx(7, 0, 0, 80, 0, 1)

mg.SetPTPCmdEx(2, 226.4, 17.6, -20, 4.4, 1)

mg.SetPTPCmdEx(2, 226.4, 17.6, -42.5, 4.4, 1)

mg.SetEndEffectorSuctionCupEx(0, 1)

mg.SetPTPCmdEx(2, 226.4, 17.6, -20, 4.4, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 40, 49, 1)

mg.SetEMotorEx(0, 1, 14000, 1)

while(not((str(mg.GetInfraredSensor(2)) == '1'))):

print('')

mg.SetEMotorEx(0, 1, 0, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 30, 49, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 14.4, 49, 1)

mg.SetEndEffectorSuctionCupEx(1, 1)

mg.SetPTPCmdEx(7, 0, 0, 80, 0, 1)

mg.SetPTPCmdEx(2, 176.5, 13.6, -20, 4.4, 1)

mg.SetPTPCmdEx(2, 176.5, 13.6, -43, 4.4, 1)

mg.SetEndEffectorSuctionCupEx(0, 1)

mg.SetPTPCmdEx(2, 176.5, 13.6, -20, 4.4, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 40, 49, 1)

mg.SetEMotorEx(0, 1, 14000, 1)

while(not((str(mg.GetInfraredSensor(2)) == '1'))): 18
mg.SetEMotorEx(0, 1, 0, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 30, 49, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 14.4, 49, 1)

mg.SetEndEffectorSuctionCupEx(1, 1)

mg.SetPTPCmdEx(7, 0, 0, 80, 0, 1)

mg.SetPTPCmdEx(2, 228.9, -37.9, 0, -9.4, 1)

mg.SetPTPCmdEx(2, 228.9, -37.9, -42.8, -9.4, 1)

mg.SetEndEffectorSuctionCupEx(0, 1)

mg.SetPTPCmdEx(2, 228.9, -37.9, 0, -9.4, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 40, 49, 1)

mg.SetEMotorEx(0, 1, 14000, 1)

while(not((str(mg.GetInfraredSensor(2)) == '1'))):

print('')

mg.SetEMotorEx(0, 1, 0, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 30, 49, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 14.4, 49, 1)

mg.SetEndEffectorSuctionCupEx(1, 1)

mg.SetPTPCmdEx(7, 0, 0, 80, 0, 1)

mg.SetPTPCmdEx(2, 182.6, -41.6, 0, -12.9, 1)

mg.SetPTPCmdEx(2, 182.6, -41.6, -43.4, -12.9, 1)

mg.SetEndEffectorSuctionCupEx(0, 1)

mg.SetPTPCmdEx(2, 182.6, -41.6, 0, -12.9, 1)

mg.SetPTPCmdEx(2, 158.3, 182.2, 40, 49, 1)

work()

19
3.3) Conclusion :
Dans ce chapitre, nous avons déterminé les modèles géométrique et cinématique du Robot
Dobot Magician ainsi que sa commande

20
Conclusion Générale

En conclusion, la modélisation du robot Dobot Magician est une tâche complexe mais essentielle pour sa
conception, sa programmation et son utilisation efficace. La modélisation implique la création d'un modèle 3D
précis du robot qui peut être utilisé pour simuler son comportement, tester ses capacités et prévoir ses mouvements
Elle permet aux ingénieurs de simuler, tester et améliorer les performances du robot avant sa construction, ce qui
peut entraîner des économies de temps et d'argent tout en améliorant la qualité du produit final
Bibliographie

[1] WIKIPEDIA(article de robotique )

[2] FUTURA (article de robotique )

[3] Cours de 2eme année génie electrique automatique a L’ENIG

[4] Site de vente ERM automatismes industriels.

[5] TP 1 : présentation du robot et de DobotStudio (Jean-Louis Boimond Université Angers).

[6] Site de vente My eThechno.


Résumé

L'objectif de ce projet est d'étudier le fonctionnement de robot Dobot magician par des modélisations
cinématiques et géométriques et de programmer ce robot sous langage du type Scratch en utilisant
l’interface DobotBlock

En plus, le projet présente aussi toutes les spécifications de robot Dobot magician.

Mot clé : Robot Dobot Magician, DobotBlock, modélisation cinématique, modélisation géométrique

Abstract

The objective of this project is to study the functioning of the robot Dobot magician by kinematic
and geometric models and to program this robot under language type Scratch using the software
DobotBlock

In addition, the project also presents all the specifications of robot Dobot magician

Keywords: Robot Dobot Magician, DobotBlock, kinematic modeling, geometric modeling

Vous aimerez peut-être aussi