Commande des ROBOTS
Cours 3: Cinématique directe: les paramètres
de Denavit-Hartenberg
Specialité : 3eme LFEEA
Enseignante: Mm CHIHA Ibtissem
Maitre Assistante en Genie Electrique
à l’Institut Superieur des Sciences Appliquées et de Technologie de Kairouan
ISSAT-Kr
1
S
CHIHA.I
Rappel
Modèle géométrique direct
Donne l’attitude de l’organe terminal en
fonction des coordonnées articulaires
(longueur pour une articulation
prismatique ou angle pour une rotoïde).
Modèle géométrique inverse
Donne, si elles existent, le ou les
ensembles de positions articulaires en
fonction de l’attitude de l’organe
terminal.
2
CHIHA.I
Rappel
Rotations elementaires
3
CHIHA.I
Exemple: manipulateur RR planaire
y2
x2 Rappel
a2 θ2
a2
z2
a1 y1 θ2
x1
θ1
y0
a1
Schéma du bras
θ1 z1
x0
z0
cos1
sin
1 0a
1cos1
cos2
sin2 0a
2cos2
sin
cos 0 a
sin
sin
cos 0 a
sin
1
A 1 1 1 1 2
A 2 2 2 2
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
4
CHIHA.I
Rappel
La matrice homogène T du bras est donnée par
c12 -s12
cos 1
2 sin 1
2 0a
cos
1 1acos
2
12
sin
cos 0a
sin
a
sin
T AA 1 2 1 2 1 1 2 1 2
1 2
0 0 1 0
0 0 0 1
Cela représente la solution cinématique, qui convertit les coordonnées
variables articulaires (θ1, θ2) en coordonnées cartésiennes
Le vecteur qui décrit l’origine du repère de l’effecteur par rapport à la base est
décrit par :
p a1 cos 1 a 2 cos 1 2 a1 sin 1 a 2 sin 1 2 0 T
5
CHIHA.I
PLAN
Introduction
Convention de Denavit-Hartenberg
Les paramètres de DH
Matrice homogène de DH
Modélisation géométrique d’un robot
Exemples
6
CHIHA.I
Introduction
Pour déterminer le modèle géométrique direct d’un robot il faut :
Définir les repères associés à chaque segment:
Mais:
Comment définir les repères avec des manipulateurs complexes,
avec un grand nombre d’articulations ?
• Il faut trouver une procedure systematique et générale
Solution:
Convention de Denavit-Hartenberg : Permet de normaliser,
simplifier et rationaliser la modélisation géométrique d’un robot.
7
CHIHA.I
Convention de DH
Principe
Fixer un repère à chaque corps du robot.
Calculer la matrice homogène entre chaque repère.
En déduire la matrice homogène entre la base et l’organe terminal.
Hypothèses
Le robot est un chaînage de n+1 corps liés entre eux par n articulations.
A chaque corps on associe un repère Ri . Les repères sont numérotés de 0 à n.
La ième articulation dont la position est notée qi relie les corps i-1 et i.
8
CHIHA.I
Repérage de DH
A chaque corps on associe un repère Ri . Les repères sont numérotés de 0 à n.
La ième articulation dont la position est notée qi relie les corps i-1 et i.
Le repère 0 est choisi arbitrairement, sauf que l’axe z0 doit être selon zi
l’axe du mouvement du joint 1.
θi+1
L’axe zi correspond à l’axe de zi-1
l’articulation entre le corps i et i+1 zi-2
θi
θi-1 corps i
corps i-1
zi
L’axe xi est porté par la perpendiculaire
commune aux axes zi et zi+1 orienté de zi vers zi+1 zi-1 θi+1
zi-2
xi
θi
θi-1
xi-1 corps i
xi-2
corps i-1
9
L’axe yi , compléte le repére i de maniére à obtenir un repére « main droite »
CHIHA.I
Repérage de DH
Cas1 : z0 et z1 sont quelconques Cas2 : z0 et z1 se coupent
z0
x1 z0
x1
y0 z1
z1
x0 y0
x0
Cas3: z0 et z1 sont parallèles cas4: z0 et z1 sont colinéaires
z0 z0
z1 z1
x1
y0 x1 y0
x0
Il y a une infinité de normales communes x0
entre z0 et z1 .
On fixe di=0 : distance entre z0 et z1 le Dans ce cas : ai=0 :distance entre
10
long de x0 x0 et x1 le long de z1 CHIHA.I
Exemple: cas particuliers
zi-1 et zi sont parallèles zi-1 et zi sont perpendiculaires
Exemple: cas géneral
11
CHIHA.I
Repérage de DH
• Remarques
Lorsqu’on a le choix et en l’absence de contrainte
particulière, on privilégiera toujours la solution la plus
simple (i.e. celle qui donne le plus de 0 dans le tableau de
DH).
Le sens des axes z respecte le sens positif d’évolution des
coordonnées articulaires.
Le choix des repères impose une configuration nulle du
manipulateur (celle pour laquelle les coordonnées articulaires
sont nulles).
12
CHIHA.I
Les paramètres de DH
• θi : angle entre les axes xi-1et xi correspond à une rotation
autour de zi
• di : distance entre zi-1 et zi le long de xi-1
• ai : distance entre xi-1 et xi le long de zi
• αi : angle entre les axes zi-1 et zi correspond à une rotation
autour de xi
# Lien θi di ai αi
1
13
CHIHA.I
Exemple1
z2 x2
Repérage de DH
z1
y2
Le repère 0 est choisi arbitrairement, sauf que
l’axe z0 doit être selon l’axe du mouvement du x3
y1
joint 1. Le dernière repère (n) peut aussi être
placé arbitrairement, tant que l’axe xn soit x1
normal à Zn-1. y3
z3
z0
L’axe zi correspond à l’axe de l’articulation
entre le corps i et i+1 x0 y0
L’axe xi est porté par la perpendiculaire commune aux axes zi et zi+1 orienté de zi
vers zi+1
L’axe yi , compléte le repére i de maniére à obtenir un repére « main droite »
14
CHIHA.I
Exemple
Les paramètres de DH
• θi : angle entre les axes xi-1et xi z2 x3
correspond à une rotation autour
z1
de zi
• di : distance entre zi-1 et zi le long
x3
de xi-1 x2
• ai : distance entre xi-1 et xi le long
de zi z0
• αi : angle entre les axes zi-1 et zi z3
correspond à une rotation autour x2
de xi x0
15
CHIHA.I
Exemple1
Le tableau de DH
Le passage d’un repère R0 à R1 se fait par les paramètres de DH suivants:
θ1: angle entre les axes x0 et x1 correspond à
une rotation autour de z1
d1=0 : distance entre z0 et z1 le long de x0
car z0 et z1 sont colinéaires z1
a1: distance entre x0 et x1 R1
le long de zi x1
α1= 0 : angle entre les axes z0 θ1
a1
et z1 correspond à une rotation
autour de x1 car il n’y a pas z0
une rotation aurour de x1
R0
# Lien θi di ai αi
1 R 0 R1 θ1 0 a1 0 x0
16
CHIHA.I
Exemple1
Le tableau de DH
Le passage d’un repère R1 à R2 se fait par les paramètres de DH suivants:
x2
θ2 : angle entre les axes x1et x2 correspond à
une rotation autour de z2 z2
R2 θ2 z1
d2 : distance entre z1 et z2 le long de x1
d2=0 car z1 et z2 concourants
2 90
R1
a2 : distance entre x1 et x2 le long de z2
α2 : angle entre les axes z1 et x1 a2
z2 correspond à une rotation
autour de x1 de 90°
# Lien θi di ai αi
1 R 0 R1 θ1 0 a1 0
2
R1 R2 θ2 0 a2 +90°
17
CHIHA.I
Exemple1
Le tableau de DH
Le passage d’un repère R2 à R3 se fait par les paramètres de DH suivants:
x2
θ3 : angle entre les axes x2 et x3 correspond à z2
une rotation autour de z3
θ3 =0 car x2 et x3 sont colinéaires
d3: distance entre z2 et z3 le long de x2
d3=0 car z2 et z3 sont concourants
a3 : distance entre x2 et x3 le x3
long de z3
α3 : angle entre les axes z2 et a3
z3 correspond à une rotation 3 90
autour de x3 R3
z3
# Lien θi di ai αi
1 R 0 R1 θ1 0 a1 0
R1 R2
2 θ2 0 a2 +90°
3
R 2 R 3 0 0 a3 +90° 18
CHIHA.I
Exemple1
Matrices homogènes de DH
A i Rot z,i Trans z,d i Trans x ,a i Rot x ,i
ci si 0 0 1 0 0 0 1 0 0 a i 1 0 0 0
s ci 0 0 0 1 0 0 0 1 0 0 0 c i s i 0
Ai i
0 0 1 0 0 0 1 d i 0 0 1 0 0 s i c i 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
i
cos
cos
isin
i
sin
isini a
icos
i
sin
coscos
sin cos a
sin
A i i i i i i i
i
0
sini
cos i di
0 0 0 1
19
CHIHA.I
Exemple1
Matrices homogènes de DH
# Lien θi di ai αi
i
cos
cos
isin
i
sin
isini a
icos
i
1 θ1 0 a1 0
sin
coscos
sin cos a
sin
A
i
i i i i i i i
0
sin
cos d
2 θ2 0 a2 +90
i i i
0 0 0 1
3 0 0 a3 +90
c
os2 0 s
in2 a
2cos
2
s s s
co 1
sin 1 0a1co 1 0 s
sin Ain2 co 2 a
2sin2
1 co
s 0 asi
n
1
2
0 1 0 0
1
1 1
A
0 0 1 0
0 0 0 1
0 0 0 1
1 0 0 a3
0 0 1 0
A3
0 1 0 0 20
0 0 0 1 CHIHA.I
Exemple1
Modélisation géométrique du robot
T A1 A 2 A 3
c 1 2 s 1 2 0 a3 c 1 2 a2 c 1 2 ac1
s c 1 2 0 a3 s 1 2 a2 s 1 2 as1
T A1 A2 A3 1 2
0 0 1 0
0 0 0 1
21
CHIHA.I
Exemple2
Manipulateur cylindrique à trois liaisons
Lien ai αi di θi
d1
1 0 0 d1 θ1
2 0 -90 0 0
3 0 0 d3 0 22
CHIHA.I
Exemple2
c1 s1 0 0 1 0 0 0 1 0 0 0
s c1 0 0 0 0 1 0 0 1 0 0
A1 1 A2 A3
0 0 1 d1 0 1 0 0 0 0 1 d3
0 0 0 1 0 0 0 1 0 0 0 1
c1 0 s1 s1d 3
s 0 c1 c1d 3
T30 T A1 A2 A3 1
0 1 0 d1
0 0 0 1
23
CHIHA.I
Exemple3
MANIPULATEUR SCARA
a1 a2
d4
Lien ai αi di θi
1 a1 0 0 θ1
2 a2 180 0 θ2
3 0 0 d3 0
4 0 0 d4 θ4
24
CHIHA.I
Exemple3
c1 s1 0 a1c1 c 2 s2 0 a 2c 2 1 0 0 0
s c1 0 a1s1 s c2 0 a 2s 2 0 1 0 0
A1 1 A2 2 A3
0 0 1 0 0 0 1 0 0 0 1 d3
0 0 0 1 0 0 0 1 0 0 0 1
c 4 s4 0 0
s c4 0 0
A4 4
0 0 1 d4
0 0 0 1
c12c 4 s12s 4 c12s 4 s12c 4 0 a1c1 a 2c12
s c c s s12s 4 c12c 4 0 a1s1 a 2s12
T4 A1A 2 A 3A 4 12 4 12 4
0
0 0 1 d3 d4
0 0 0 1
25
CHIHA.I
Exemple4
Y 2
Z
2
Z0 Z1
Y1
Y0
X2
d2
X0 X1
a0 a1
Tableau des Parametres de
Denavit-Hartenberg
# Lien θi di ai-1 αi-1
0 θ0 0 0 0
1 θ1 0 0
a0
2 d2 a1 -90
θ2
i
T Rot z ,i Trans z ,d i Trans x ,ai Rot x , i
i (i-1) a(i-1) di i
0 0 0 0 0 cosθ0 sinθ0 0 0
sinθ cosθ0 0 0
1 0 a0 0 1 0T
0
0 0 1 0
2 -90 a1 d2 2 0 0 0 1
cosθ1 sinθ1 0 a0 cosθ 2 sinθ 2 0 a1
sinθ cosθ1 0 0 0 0 1 d 2
0
T 1
2T
1
1
0 0 0 0 sinθ 2 cosθ 2 0 0
0 0 0 1 0 0 0 1
T ( 0T)( 01T)(12T)