Le 23 janvier 2004 Eléments de Robotique (Aspects Mécaniques) – 15 + 15 heures
Pierre Duysinx Question 1 (10 points) :
Pour chacun des deux mécanismes représentés à la figure 1 et 2, on demande de donner le nombre de corps, de joints, de boucles, la nature et les degrés de libertés des joints et l’indice de mobilité du système :
Fig. 1 : Mécanisme d’une robot parallèle 3RPR
Fig. 2 : Mécanisme d’une suspension de type Mc Pherson avec appui élastique sur rotule arrière
P P S
S S
S P U P
S
Solutions :
Mécanisme de la figure 1 :
• nB = 3*2+1 = 7
• nJ = 3*3 = 9
à savoir 3*2=6 R (1 ddl) 3*1=3 P (1ddl)
• nL = nJ – nB =9-7 = 2
• M = 3 * (nB-nJ) + Σ nj = 3*-2 + 6*1 + 3*1 = 3 Mécanisme de la figure 2 :
• nB = 7
• nJ = 10
à savoir 5 S (3 ddl) 4 P (1ddl)
1 U (cardan) (2 ddl)
• nL = nJ – nB =10-7 = 3
• M = 6 * (nB-nJ) + Σ nj = 6*-3 + 5*3 + 4*1+ 1*2 = 3
Question 2 (10 points) :
La figure 3 donne la description cinématique d'un maillon i.e. du corps rigide i et des joints i et i+1 qui l'entourent. On décide de placer les repères comme suit :
• oi est placé sur l’axe du joint i au pied de la perpendiculaire commune entre les axes des joints i et i+1
• zi est placé selon la direction du joint i
• xi est supporté par la perpendiculaire commune aux joints i et i+1.
On définit les quatre paramètres géométriques de la manière suivante:
• ai la distance entre les axes des joints i et i+1 le long de la perpendiculaire commune;
• αi l'angle entre les directions des joints i et i+1 par une rotation autour de la perpendiculaire commune;
• di la distance entre les axes xi et xi+1 mesurée le long de l'axe du joint i+1;
• θi l'angle entre xi et xi+1 autour de l'axe zi+1 (joint i+1).
Remarque: Soyez attentifs au fait que la description n'est PAS celle de Denavit Hartenberg donnée dans les notes de cours!
Figure 3 : Description d'un maillon Il est demandé de:
1. Par analogie avec la méthode de Denavit-Hartenberg enseignée au cours, trouver les transformations homogènes élémentaires successives pour passer du repère 'i' au repère 'i+1' et de déterminer la transformation totale iAi+1.
2. De calculer la partie translation de l'origine et la partie matrice de rotation de la transformation du repère 'i' au repère 'i+1' si ai=0.5 m, di=0.2m, θi=30°, αi=90°.
3. Pour la matrice de rotation trouvée au point 2, de calculer l'orientation de l'axe de rotation et l'angle de rotation (selon le théorème d'Euler).
oi oi+1
Solution :
Pour passer du système oixiyizi au système oi+1xi+1yi+1zi+1 on doit effectuer successivement les transformations élémentaires suivantes :
1. Rotation d’angle αi autour de xi
2. Translation de longueur ai le long de xi
3. Rotation d’angle θi autour de zi+1
4. Translation de longueur di le long de zi+1. La transformation entre les deux repères s’écrit donc :
) , ( )
, ( ) , ( )
,
( 1 1
1 + +
+ = i i i i i i i i
i
iA Rot α x Trans a x Rot θ z Trans d z On sait que :
= −
1 0 0
0
0 cos sin
0
0 sin cos
0
0 0 0
1 ) ,
( α α
α αi xi α
Rot
=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 1 ) , (
a x
a Trans i i
−
+ =
1 0 0 0
0 1 0 0
0 0 cos sin
0 0 sin cos
) ,
( 1 θ θ
θ θ
θi z i Rot
+ =
1 0 0 0
1 0 0
0 0 1 0
0 0 0 1 ) ,
( 1
z d d Trans i i
Après calcul il vient :
−
−
−
+ =
1 0
0 0
cos cos
cos sin sin
sin
sin sin
cos cos sin
cos
0 sin
cos
1 α θ α θ α α
α α
θ α θ
α
θ θ
d d
a Ai
i
Avec les valeurs numériques proposées on obtient :
−
−
−
+ =
1 0 0 0
0 0 2 / 3 2 / 1
2 . 0 1 0
0
5 . 0 0 2 / 1 2 / 3
1 i iA
Soit une translation de vecteur
−
= 0
2 . 0
5 . 0 r
et une rotation caractérisée par matrice de changement de repère :
−
−
=
0 2 / 3 2 / 1
1 0
0
0 2 / 1 2 / 3 R
Le vecteur unitaire et l’angle de la rotation équivalente à cette rotation sont donnés par : r
r
−
Avec les valeurs numériques, on a:
2 / 3 ) (R = tr
− +
=
2 / 1
2 / 1
1 2 / 3 ) (R
vec 4
9 3
| 4 ) (
| +
= R
vec =1.9955
°
=
−
=
−
=atan2(|vec(R)|,tr(R) 1) atan2(1.9955; 0.1340) 93,8410 φ
et
−
=
− +
= +
=
2506 . 0
2506 . 0
9351 . 0 2
/ 1
2 / 1
1 2 / 3 9 3 4
2
| ) (
|
) (
R vec
R l vec
Question 3 (20 points) :
q (+)
1q (-)
3q
2l
3l
1l
0X Y
P (x,y, ) θ
Figure 4 : Robot manipulateur RPR
La figure 4 présente la structure articulée d’un bras RPR. En respectant les orientations des articulations (q1, q2, q3) on demande :
1. De placer les repères des liens constituant le manipulateur en utilisant la méthode de Denavit-Hartenberg;
2. De donner le tableau des paramètres de Denavit-Hartenberg correspondants ;
3. De donner les matrices élémentaires de transformation de chaque maillon : 0A1, 1A2, 2A3; 4. De décrire la cinématique du robot en calculant la matrice de transformation entre les
repères 0 et 3 (matrice 0A3) et celle entre XYZ et le repère du centre d’outil;
5. De rechercher le modèle géométrique inverse du manipulateur, c’est-à-dire la ou les valeurs des paramètres q1, q2, et q3 pour arriver à une position (px, py, θ) donnée.
q (+)
= + 90°
3
θ
3l +q
1 2l
3x
3l
0X Y
P (x,y, ) θ z , x
1 0q (+) = - 90°
1
θ
1x
2x
1z
0z
2z
3Figure 5 : Systèmes d’axes selon Denavit Hartenberg 1° Choix des repères de maillon selon Denavit Hartenberg:
• les origines des repères sont placées aux intersections entre les axes des joints car ils sont sécants
• les axes z0, z1 et z2 sont orientés respectivement selon les axes des joints 1, 2 et 3
• les axes x1 et x2 sont placés selon les produits vectoriels z0 x z1 et z2 x z1
respectivement.
• l’axe x3 est placé selon la direction d’approche (convention 2D) tandis que z3 est choisi perpendiculairement au plan du manipulateur
• l’axe x0 est placé parallèlement à X par facilité 2° Tableau des paramètres de Denavit Hartenberg
1 2 3
θ θ1 0° θ3
d 0 d2=l1+q2 0
a 0 0 l3
α 90° -90° 0°
σ 0 1 0
3° Matrices de transformations élémentaires :
= −
1 0 0 0
0 0 1 0
0 0
0 0
1 1
1 1
1
0 s c
s c
A ,
= −
1 0 0 0
0 1 0
0 1 0 0
0 0 0 1
2 2
1
A d et
−
=
1 0 0 0
0 1 0 0
0 0
3 3 3
3
3 3 3
3
3
2 s c l s
c l s
c A
avec c1 = cos θ1 et s1 = sin θ1 etc.
En outre il faut considérer une transformation fixe entre le repère OXYZ et le repère o0x0y0z0.
=
1 0 0 0
0 1 0 0
0 1 0
0 0 0 1
l0
B
4° Matrice de transformation entre la base et l’effecteur :
+
−
= −
=
1 0
0 0
0
0 1
0 0
0
2 3 3 3
3
3 3 3
3
3 2 2 1 3 1
d s l c
s
c l s
c A A A
− +
−
=
=
1 0
0 0
0 1
0 0
0 0
2 1 13 3 13
13
2 1 13 3 13
13
3 1 1 0 3
0 s c l s cd
d s c l s
c A A A
− +
+
−
=
=
1 0
0 0
0 1
0 0
0 0
2 1 13 3 0 13
13
2 1 13 3 13
13
3 0 3
d c s l l c
s
d s c l s
c A B
OXYZA
Passons maintenant aux variables recommandées sur l’énoncé : q1 =θ1−90° et q3 =θ3 +90°, il vient :
) sin(
) sin(
) cos(
) cos(
cos sin
sin cos
3 1 3
1
3 1 3
1
1 1
1 1
q q
q q q
q
+
= +
+
= +
=
−
=
θ θ
θ θ θ
θ
+ + +
−
−
+ + +
− +
=
1 0
0 0
0 1
0 0
sin )
sin(
0 ) cos(
) sin(
cos )
cos(
0 ) sin(
) cos(
1 2 3 1 2 0 2
1 2
1
1 2 3 1 2 3
1 3
1
3
0 q q q q l l q q d q
q d q q l q
q q
q A
5° Modèle inverse
On emploie la méthode de Pieper. On recherche d’abord la matrice
−
−
− =
0 0
0 1 0 0
0
1 0
1 1 1 0
c s
s c A
une orientation caractérisée par une rotation d’angle φ autour de l’axe z, elle aussi connue.
Il vient
− +
=
−
= −
−
1 0
0 0
) (
*
*
*
0
*
*
*
) (
*
*
*
1 0 0 0
0 1 0 0
0 cos sin
0 sin cos
1 0 0 0
0 0
0 1 0 0
0 0
1 1
1 1
1 1
1 1 1 1 0
y x
y x y
x
p c p s
p s p c p
p
c s
s c T
A φ φ
φ φ
Par identification avec 0A3, on obtient le système d’équations :
= +
−
= +
−
=
= +
2 2 3 3 1
1
3 3 1
1 0
d d s l p s p c
c l p s p c
x y
y x
La somme des deux équations au carré donne :
2 2 2
2 px py
d = +
soit
2 2
2 px py
d =± +
Le degré de liberté d2 étant connu à présent, le système de départ est alors un système de deux équations à deux inconnues. Sa solution nous donne la valeur du cosinus et du sinus de θ1.
2 2 1 2
2 2
2 1
y x
x y x
y
p p
p s d
p p
p c d
= + +
= −
On en tire la valeur du degré de liberté θ1 :
) , ( 2 tan )
, ( 2
tan 2 2
1 =a pxd −pyd =a px −py
θ si d2>0
On a enfin :
1
3 φ θ
θ = −