République Tunisienne
Ministère de l’Enseignement Supérieur,
et de la Recherche Scientifique
Université de Gabes
Ecole Nationale d’Ingénieurs de Gabès
TD robotique
avec
Eléments de correction
Proposé par :
Karim CHABIR
GEA2 2015/2016
REPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ENSEIGNEMENT SUPERIEUR
DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE GABES
ECOLE NATIONALE D'INGENIEURS DE GABES
DÉPARTEMENT Génie Electrique-Automatique
Corr_TD2 Robotique Section : GEA3
Exercice 1 :
On considère le robot manipulateur décrit par la figure suivante
Ce robot est représenté dans la configuration où les coordonnées
articulaires q1, q2 et q3 sont nulles
1) Préciser la nature des liaisons mécaniques.
Correction : Il s’agit d’un robot à 3 dégrés de liberté, Rotoide, rotoide et
prismatique.
2) Compléter les différents repères nécessaires en respectant la
convention de DH.
Correction :
x3 x2
z2 x4
z4
z3
x1
z1
K. Chabir 1/5 2016/17
3) Calculer M12, M23 et M34, les matrices de transformation entre
les repères R1, R2, R3 et R4.
Correction : Paramètres de Denavit-Hartenberg du robot
θi di ai αi
1 q1 0 a1 0
2 q2 0 0 π
−
2
3 0 q3 + d3 0 0
m12 =
[ cos(q1), -sin(q1), 0, a1*cos(q1)]
[ sin(q1), cos(q1), 0, a1*sin(q1)]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
m23 =
[ cos(q2), 0, -sin(q2), 0]
[ sin(q2), 0, cos(q2), 0]
[ 0, -1, 0, 0]
[ 0, 0, 0, 1]
m34 =
[ 1, 0, 0, 0]
[ 0, 1, 0, 0]
[ 0, 0, 1, d3 + q3]
[ 0, 0, 0, 1]
m14 = m12* m23* m34
[ cos(q1 + q2), 0, -sin(q1 + q2), a1*cos(q1) - sin(q1 + q2)*(d3 + q3)]
[ sin(q1 + q2), 0, cos(q1 + q2), a1*sin(q1) + cos(q1 + q2)*(d3 + q3)]
[ 0, -1, 0, 0]
[ 0, 0, 0, 1].
4) Déterminer les coordonnées 1P du point P dans le repère R1 en
fonction de q1, q2 et q3.
Correction : coordonnées 1P du point P dans le repère R1
1P=
[a1*cos(q1) - sin(q1 + q2)*(d3 + q3)
a1*sin(q1) + cos(q1 + q2)*(d3 + q3)
0].
K. Chabir 2/5 2016/17
Exercice 2 :
Soit le robot « big dog » de Boston Dynamics suivant :
L'une des pattes avant peut être modélisée par le schéma suivant
:
Ce robot est représenté dans la position où ses coordonnées
articulaires q1, q2, q3 et q4 sont nulles.
On considère que le robot évolue dans le plan de la figure, c'est
à dire que q1 = 0. Dans ce cas particulier,
1) Préciser la nature des liaisons mécaniques.
Correction : Il s’agit d’un robot à 4 dégrés de liberté, Rotoide, rotoide ,
rotoide et rotoide
2) Placer les repères en respectant le sens + des axes et en
maximisant la simplification du tableau de DH.
z1 z2
q1 = 0 q2
x2
x1
y1 y2
y4
z3
z4 y3
x4
q4 q3
x3
z5
y5
x5
K. Chabir 3/5 2016/17
3) Calculer M12, M23, M34 et M45 les matrices de transformation
entre les repères R1, R2, R3, R4 et R5.
Correction : Paramètres de Denavit-Hartenberg du robot
θi di ai αi
1 0 0 L0 + L1 0
2 π 0 L2 0
q2 +
2
3 π 0 L3 0
q3 +
2
4 π 0 L4 0
q4 −
2
les matrices de transformation entre les repères R1, R2, R3, R4
et R5
M12 =
[ 1, 0, 0, L0 + L1]
[ 0, 1, 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
M23 =
[ cos(q2 + pi/2), -sin(q2 + pi/2), 0, L2*cos(q2 + pi/2)]
[ sin(q2 + pi/2), cos(q2 + pi/2), 0, L2*sin(q2 + pi/2)]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
=
[ -sin(q2), -cos(q2), 0, -L2*sin(q2)]
[ cos(q2), -sin(q2), 0, L2*cos(q2)]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
M34 =
[ cos(q3 + pi/2), -sin(q3 + pi/2), 0, L3*cos(q3 + pi/2)]
[ sin(q3 + pi/2), cos(q3 + pi/2), 0, L3*sin(q3 + pi/2)]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
=
[ -sin(q3), -cos(q3), 0, -L3*sin(q3)]
[ cos(q3), -sin(q3), 0, L3*cos(q3)]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
M45 =
[ cos(q4 - pi/2), -sin(q4 - pi/2), 0, L4*cos(q4 - pi/2)]
[ sin(q4 - pi/2), cos(q4 - pi/2), 0, L4*sin(q4 - pi/2)]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
=
[ sin(q4), cos(q4), 0, L4*sin(q4)]
[ -cos(q4), sin(q4), 0, -L4*cos(q4)]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
M15 = M12.M23.M34.M45=[ R15 O1O5]
R15=
[ -sin(q2 + q3 + q4), -cos(q2 + q3 + q4), 0]
[ cos(q2 + q3 + q4) , -sin(q2 + q3 + q4), 0]
[ 0, 0, 1]
O1O5 =
[L0 + L1 - L3*cos(q2 + q3) - L2*sin(q2) - L4*sin(q2 + q3 + q4)]
[L2*cos(q2) - L3*sin(q2 + q3) + L4*cos(q2 + q3 + q4) ]
[ 0]
K. Chabir 4/5 2016/17
4) Calculer les coordonnées 1P du point P dans le repère R1 pour
les configurations articulières suivantes :
+) q1=0, q2=0, q3=0 et q4=0.
π π
+) q1=0 et q2=- , q3=0 et q4= .
2 2
Correction
+) les coordonnées 1P(q1=0, q2=0, q3=0 et q4=0)= [L0 + L1 - L3, L2 +
L4,0]’
+) les coordonnées 1P(q1=0,q2=- π π
,q3=0,q4= )= [L0 + L1 + L2, L3+
2 2
L4,0]’
Annexe : code matlab
Ex1 :
syms q1 q2 q3 a1 d3 real
m12=[ cos(q1) -sin(q1) 0 a1*cos(q1); sin(q1) cos(q1) 0 a1*sin(q1); 0 0 1
0; 0 0 0 1]
m23=[ cos(q2) 0 -sin(q2) 0 ; sin(q2) 0 cos(q2) 0; 0 -1 0 0; 0 0 0 1]
m34=[ 1 0 0 0; 0 1 0 0; 0 0 1 q3+d3; 0 0 0 1]
m14=m12*m23*m34
m14=simplify(m14)
m24=m23*m34
m24=simplify(m24)
Ex2 :
syms q1 q2 q3 q4 L0 L1 L2 L3 L4 real
M12=[ 1 0 0 L0+L1; 0 1 0 0; 0 0 1 0; 0 0 0 1]
M23=[ cos(q2+pi/2) -sin(q2+pi/2) 0 L2*cos(q2+pi/2); sin(q2+pi/2)
cos(q2+pi/2) 0 L2*sin(q2+pi/2); 0 0 1 0; 0 0 0 1]
M23=simplify(M23)
M34=[ cos(q3+pi/2) -sin(q3+pi/2) 0 L3*cos(q3+pi/2); sin(q3+pi/2)
cos(q3+pi/2) 0 L3*sin(q3+pi/2); 0 0 1 0; 0 0 0 1]
M34=simplify(M34)
M45=[ cos(q4-pi/2) -sin(q4-pi/2) 0 L4*cos(q4-pi/2); sin(q4-pi/2) cos(q4-
pi/2) 0 L4*sin(q4-pi/2); 0 0 1 0; 0 0 0 1]
M45=simplify(M45)
M15 = M12*M23*M34*M45
M15=simplify(M15)
K. Chabir 5/5 2016/17
REPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ENSEIGNEMENT SUPERIEUR
DE LA RECHERCHE SCIENTIFIQUE ET DE LA TECHNOLOGIE
UNIVERSITE DE GABES
ECOLE NATIONALE D'INGENIEURS DE GABES
DÉPARTEMENT Génie Electrique-Automatique
Corr_TD6 Robotique Section : GEA3
Exercice 1 :
On considère le robot manipulateur décrit par la figure suivante
I) Ce robot est représenté dans la configuration où les
coordonnées articulaires q1, q2 et q3 sont nulles
I-1) Préciser la nature des liaisons mécaniques.
Correction : Il s’agit d’un robot à 3 dégrés de liberté, Rotoide, rotoide et
prismatique.
I-2) Compléter les différents repères nécessaires en respectant
la convention de DH.
Correction :
x3 x2
z2 x4
z4
z3
x1
z1
K. Chabir 1/7 2016/17
I-3) Calculer M12, M23 et M34, les matrices de transformation entre
les repères R1, R2, R3 et R4.
Correction : Paramètres de Denavit-Hartenberg du robot
θi di ai αi
1 q1 0 a1 0
2 q2 0 0 π
−
2
3 0 q3 + d3 0 0
m12 =
[ cos(q1), -sin(q1), 0, a1*cos(q1)]
[ sin(q1), cos(q1), 0, a1*sin(q1)]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
m23 =
[ cos(q2), 0, -sin(q2), 0]
[ sin(q2), 0, cos(q2), 0]
[ 0, -1, 0, 0]
[ 0, 0, 0, 1]
m34 =
[ 1, 0, 0, 0]
[ 0, 1, 0, 0]
[ 0, 0, 1, d3 + q3]
[ 0, 0, 0, 1]
m14 =
[ cos(q1 + q2), 0, -sin(q1 + q2), a1*cos(q1) - sin(q1 + q2)*(d3 + q3)]
[ sin(q1 + q2), 0, cos(q1 + q2), a1*sin(q1) + cos(q1 + q2)*(d3 + q3)]
[ 0, -1, 0, 0]
[ 0, 0, 0, 1].
I-4) Déterminer les coordonnées 1P du point P dans le repère R1
en fonction de q1, q2 et q3.
Correction : coordonnées 1P du point P dans le repère R1
1P=
[a1*cos(q1) - sin(q1 + q2)*(d3 + q3)
a1*sin(q1) + cos(q1 + q2)*(d3 + q3)
0].
I-5) Déterminer le Jacobien J de ce robot.
Correction : la matrice Jacobien de ce robot :
J = [ J1 J2 J3 ]
1z ∧ 1O O
+) Pour l’axe i=1, articulation rotoîde J1 = 1 1 4
1 z1
0 a1cq1 − ( d3 + q3 ) s (q1 + q2 )
0 ∧ a1sq1 + ( d3 + q3 ) c(q1 + q2 )
1 0 0 −1 0
0
AN : J1 = , on a : As 0 = 1 0 0
0 1 0 0 0
0
1
K. Chabir 2/7 2016/17
0 −1 0 a1cq1 − ( d3 + q3 ) s (q1 + q2 ) −a1sq1 − ( d3 + q3 ) c(q1 + q2 )
1 0 0 . a
1 1sq + ( d 3 + q 3 ) c ( q1 + q )
2 a1cq1 − ( d3 + q3 ) s(q1 + q2 )
0 0 0 0
0
⇔ J1 = ⇔ J1 =
0 0
0 0
1
1
1z ∧ 1O O
+) Pour l’axe i=2, articulation rotoîde J2 = 2 2 4
1 z2
on a : m24 = m23*m34
[ cos(q2), 0, -sin(q2), -sin(q2)*(d3 + q3)]
[ sin(q2), 0, cos(q2), cos(q2)*(d3 + q3)]
[ 0, -1, 0, 0]
[ 0, 0, 0, 1]
− ( d3 + q3 ) sq2
Donc : O2O4 = ( d3 + q3 ) cq2
2
0
On a la matrice de rotation
R12 = [ cos(q1), -sin(q1), 0
sin(q1), cos(q1), 0
0, 0, 1]
1
cq − sq 1 0 − ( d3 + q3 ) sq2 − ( d3 + q3 ) s (q1 + q2 )
1
O2O4 = R12 . O2O4 = sq1 cq1 0 ( d3 + q3 ) cq2 = ( d3 + q3 ) c(q1 + q2 )
2
0 0 1 0
0
0
1z = R . 2 z = 0
2 12 2
1
0 − ( d3 + q3 ) s(q1 + q2 )
0 ∧ ( d3 + q3 ) c(q1 + q2 )
1z ∧ 1O O 1 0
AN : J2 = 2 2 4
⇔ J2 = ,
1z 0
2
0
1
0 −1 0 − ( d3 + q3 ) s(q1 + q2 ) − ( d3 + q3 ) c(q1 + q2 )
1 0 0 . (
3 3d + q ) c ( q1 + q )
2 − ( d3 + q3 ) s (q1 + q2 )
0 0 0 0
0
⇔ J2 = ⇔ J2 =
0 0
0
0
1 1
1z
+) Pour l’axe i=3, articulation prismatique J3 = 3
03
c(q1 + q2 ) 0 − s (q1 + q2 )
on a : 1z3 = R13 3 z3 ; R13 = s (q1 + q2 ) 0 c(q1 + q2 )
0 −1 0
K. Chabir 3/7 2016/17
c(q1 + q2 ) 0 − s (q1 + q2 ) 0 − s (q1 + q2 )
1z = s (q + q ) 0 c(q1 + q2 ) 0 = c(q1 + q2 )
3 1 2
0 −1 0 1 0
− s (q1 + q2 )
c(q + q )
1 2
0
J3 =
0
0
0
la matrice Jacobien de ce robot :
−a1sq1 − ( d3 + q3 ) c(q1 + q2 ) − ( d3 + q3 ) c(q1 + q2 ) − s (q1 + q2 )
a1cq1 − ( d3 + q3 ) s (q1 + q2 ) − ( d3 + q3 ) s (q1 + q2 ) c(q1 + q2 )
0 0 0
J =
0 0 0
0 0 0
1 1 0
K. Chabir 4/7 2016/17