Académique Documents
Professionnel Documents
Culture Documents
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
Réalisé par :
Kouraichi Zeineb
Manai Nada
Saad Ghada
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
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
ii
LISTE DES FIGURES
iii
LISTE DES TABLEAUX
iv
Introduction Générale
Définition de la robotique :
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]
Chapitre 1 : présente un tour d’horizon sur la modélisation des robots d’une Manière générale
1
Chapitre 1 : Modélisation des robots
1.1)Introduction :
Cinématique
Géométrique
Dynamique
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
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=1,.. n
Avec :
L=E-U
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.
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.
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
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.
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.
7
3.2.1) Modélisation géométrique direct :
Tableau de Denavit-Hartenberg
M12 =
Cosoi -sinoi cosαi sinoi sinαi a1cosoi
0 0 0 1
0 0 0 1
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
0 -1 0 0
0 0 0 0
La modélisation cinématique du robot équivalent à déterminer les matrices jacobiennes comme suit :
(1)
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
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)
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
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
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.SetEndEffectorSuctionCupEx(1, 1)
mg.SetPTPCmdEx(7, 0, 0, 80, 0, 1)
mg.SetEndEffectorSuctionCupEx(0, 1)
mg.SetEMotorEx(0, 1, 14000, 1)
while(not((str(mg.GetInfraredSensor(2)) == '1'))):
print('')
mg.SetEMotorEx(0, 1, 0, 1)
mg.SetEndEffectorSuctionCupEx(1, 1)
mg.SetPTPCmdEx(7, 0, 0, 80, 0, 1)
mg.SetEMotorEx(0, 1, 14000, 1)
while(not((str(mg.GetInfraredSensor(2)) == '1'))):
print('')
mg.SetEMotorEx(0, 1, 0, 1)
mg.SetEndEffectorSuctionCupEx(1, 1)
mg.SetPTPCmdEx(7, 0, 0, 80, 0, 1)
mg.SetEndEffectorSuctionCupEx(0, 1)
mg.SetEMotorEx(0, 1, 14000, 1)
while(not((str(mg.GetInfraredSensor(2)) == '1'))):
print('')
mg.SetEMotorEx(0, 1, 0, 1)
mg.SetEndEffectorSuctionCupEx(1, 1)
mg.SetPTPCmdEx(7, 0, 0, 80, 0, 1)
mg.SetEndEffectorSuctionCupEx(0, 1) 17
mg.SetEMotorEx(0, 1, 0, 1)
mg.SetEndEffectorSuctionCupEx(1, 1)
mg.SetPTPCmdEx(7, 0, 0, 80, 0, 1)
mg.SetEndEffectorSuctionCupEx(0, 1)
mg.SetEMotorEx(0, 1, 14000, 1)
while(not((str(mg.GetInfraredSensor(2)) == '1'))):
print('')
mg.SetEMotorEx(0, 1, 0, 1)
mg.SetEndEffectorSuctionCupEx(1, 1)
mg.SetPTPCmdEx(7, 0, 0, 80, 0, 1)
mg.SetEndEffectorSuctionCupEx(0, 1)
mg.SetEMotorEx(0, 1, 14000, 1)
while(not((str(mg.GetInfraredSensor(2)) == '1'))): 18
mg.SetEMotorEx(0, 1, 0, 1)
mg.SetEndEffectorSuctionCupEx(1, 1)
mg.SetPTPCmdEx(7, 0, 0, 80, 0, 1)
mg.SetEndEffectorSuctionCupEx(0, 1)
mg.SetEMotorEx(0, 1, 14000, 1)
while(not((str(mg.GetInfraredSensor(2)) == '1'))):
print('')
mg.SetEMotorEx(0, 1, 0, 1)
mg.SetEndEffectorSuctionCupEx(1, 1)
mg.SetPTPCmdEx(7, 0, 0, 80, 0, 1)
mg.SetEndEffectorSuctionCupEx(0, 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
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