You are on page 1of 32

Universite Louis Pasteur de Strasbourg

IUP Technologies Avancees des Sciences du Vivant

Introduction a` la Robotique

Bernard BAYLE, annee 20042005

Table des mati`eres


1

Representation des transformations rigides


1.1 Notations et definitions . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Points . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2 Solides . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.3 Transformations rigides . . . . . . . . . . . . . . . . .
1.2 Rotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Matrice de rotation . . . . . . . . . . . . . . . . . . . .
1.2.2 Rotation dun point appartenant a` un solide . . . . . . .
1.2.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.4 Rotation dun vecteur . . . . . . . . . . . . . . . . . . .
1.2.5 Proprietes des rotations . . . . . . . . . . . . . . . . . .
1.2.6 Combinaison de rotations . . . . . . . . . . . . . . . .
1.2.7 Representation de lorientation dun solide dans lespace
1.3 Transformations rigides . . . . . . . . . . . . . . . . . . . . . .
1.3.1 Matrices de passage homog`enes . . . . . . . . . . . . .
1.3.2 Proprietes des transformations rigides . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1
1
1
1
2
2
2
3
3
4
5
5
7
10
10
12

Description des bras manipulateurs


2.1 Chane cinematique dun bras manipulateur . . . . . . . . . . . . . . .
2.2 Param`etres de Denavit-Hartenberg modifies . . . . . . . . . . . . . . .
2.3 Relations geometriques . . . . . . . . . . . . . . . . . . . . . . . . . .

13
13
14
17

Modelisation des bras manipulateurs


3.1 Configuration et situation dun bras manipulateur
3.2 Mod`ele geometrique direct . . . . . . . . . . . .
3.2.1 Definition . . . . . . . . . . . . . . . . .
3.2.2 Calcul . . . . . . . . . . . . . . . . . . .
3.2.3 R`egles pratiques . . . . . . . . . . . . .
3.2.4 Exemple . . . . . . . . . . . . . . . . .
3.3 Mod`ele geometrique inverse . . . . . . . . . . .
3.3.1 Definition . . . . . . . . . . . . . . . . .
3.3.2 Calcul . . . . . . . . . . . . . . . . . . .
3.3.3 Exemple : voir TD . . . . . . . . . . . .
3.4 Mod`ele cinematique direct . . . . . . . . . . . .
3.4.1 Definition . . . . . . . . . . . . . . . . .

18
18
18
18
19
19
20
22
22
22
23
23
23

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

Table des mati`eres

3.4.2
3.4.3

ii

Calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interet et exemple : voir TP (si le temps le permet) . . . . . . .

23
23

A Modelisation dun bras manipulateur de type SCARE


A.1 Robot de type SCARA : presentation . . . . . . . . . . . . . . . . . . .
A.2 Robot Samsung RSM-5 : modelisation . . . . . . . . . . . . . . . . . .
A.2.1 Geometrie du robot . . . . . . . . . . . . . . . . . . . . . . . .

24
24
25
25

Bibliographie

29

Chapitre 1
Representation des transformations
rigides
Ce chapitre contient des rappels mathematiques sur les transformations rigides et
lorientation des corps dans lespace [Murray 94, Renaud 86, Craig 89].

1.1

Notations et definitions

Lobjet de ce paragraphe est de fournir un ensemble de definitions mathematiques


precises pour letude des mecanismes polyarticules.

1.1.1

Points

Soit un rep`ere orthonorme cartesien note R = (O, x, y, z) selon la convention de


Gibbs. La position dun point M est donnee par un triplet de coordonnees. On choisit
par commodite de representer ces coordonnees par un vecteur m de R3 , sous la forme
dune matrice colonne :

mx
m = my .
mz
Le mouvement du point est la courbe parametree m(t) de R3 donnant sa position au
cours du temps. Le support du mouvement (la courbe non parametree) est la trajectoire
du point.

1.1.2

Solides

Un solide S est dit indeformable si, pour toute paire de points de ce solide de coordonnees m et n , ||m(t) n(t)|| = ||m(0) n(0)|| = constante au cours du temps. Par
la suite, les solides seront tous consideres comme indeformables.
Le mouvement rigide dun solide S, considere comme un sous-ensemble de R3 est
le mouvement de chacun de ses points.

1.2. Rotations

La situation dun solide S est donnee par la position et lorientation dans R dun
rep`ere lie a` ce solide.

1.1.3

Transformations rigides

On appelle transformation rigide le resultat dun mouvement rigide amenant le solide dune situation initiale a` une situation finale. Une transformation rigide est representee par une application unique qui transforme les coordonnees des points du solide
S de leur position initiale vers leur position finale.
A linverse, une application representera une transformation rigide si elle conserve
a` la fois les distances et lorientation. Cela signifie notamment quun rep`ere orthonorme
direct reste orthonorme direct par application dune telle transformation.

1.2
1.2.1

Rotations
Matrice de rotation

Soit deux rep`eres orthonormes directs R = (O, x, y, z) et R0 = (O, x0 , y 0 , z 0 )


partageant la meme origine O. Soit x0 , y 0 , z 0 les coordonnees des vecteurs de la base R0
exprimes dans R :
0
0
0
y .x
x .x
z .x
0
0
0
0
0

x = x .y , y = y .y et z = z 0 .y .
x0 .z
y 0 .z
z 0 .z
La matrice R = (x0 y 0 z 0 ) de dimension 3 3 est appelee matrice de rotation (ou
encore matrice de passage ou matrice de changement de base) du rep`ere R vers le
rep`ere R0 . Elle peut en effet e tre vue comme la matrice rendant compte de la rotation
dun solide lie a` un rep`ere orthonorme, initialement en R, et deplace en R0 par la rotation
autour de O, conformement a` la figure 1.1.
z0

z
y0

O
x

y
M

x0

F IG . 1.1 Changement de base des coordonnees dun point

1.2. Rotations

1.2.2

Rotation dun point appartenant a` un solide

Le rep`ere R precedent est un rep`ere fixe cartesien orthonorme. Soient m = (mx my mz )T


et m0 = (m0x m0y m0z )T les coordonnees dun point M respectivement dans R et R0 .
Les coordonnees des vecteurs de la base R0 exprimees dans R e tant (toujours) notees
x0 , y 0 , z 0 , les coordonnees de M dans R sont donnees par :
m = m0x x0 + m0y y 0 + m0z z 0
soit encore sous forme matricielle :

0
m
x

m = x0 y 0 z 0 m0y
m0z

cest-`a-dire :
m = Rm0 .

(1.1)

Cette relation rend compte du changement de base des coordonnees dun point. On
peut en faire une analyse en terme de rotation si lon consid`ere que M est un point
dun solide S (en pointilles sur la figure 1.2) ayant effectue, autour de O, une rotation
de matrice R. Alors m0 representent les coordonnees initiales de M dans R et m ses
coordonnees finales, toujours dans R, une fois la rotation effectuee.
z0

z
y0

O
x

y
x0
M

F IG . 1.2 Rotation dun solide autour dun point fixe

1.2.3

Exemple

On consid`ere la rotation dun point M de coordonnees initiales ( 3 0 1)T dans R,


comme cela est represente a` la figure 1.3 page suivante. On cherche a` determiner les
coordonnees du point transforme par une rotation de centre O et dangle , autour de z.
Les coordonnees des vecteurs de base de R0 dans R sont :


cos
sin
0
x0 = sin , y 0 = cos et z 0 = 0
0
1
0

1.2. Rotations

M
y

x0

y0

O z = z0

F IG . 1.3 Exemple de rotation plane


si bien que la matrice de rotation de R vers R0 , notee R(z, ), est :

cos sin 0
R(z, ) = sin cos 0 .
0
0
1
Les coordonnees du point M dans R0 sont :

3
m0 = 0 .
1
Dans R ses coordonnees sont :

cos sin 0
3
cos

m = sin cos 0 0 = 3 sin .


0
0
1
1
1
Comme e voque precedemment, on
peut verifier quil sagit aussi des coordonnees dans
R dun point qui initialement en ( 3 0 1)T se trouverait deplace en M sous leffet de
la rotation
de R vers R0 . A titre dexemple, pour = 3 (cest le cas de la figure 1.3)

m = ( 23 32 1)T .

1.2.4

Rotation dun vecteur

La rotation sapplique aussi bien e videmment aux vecteurs. Les coordonnees dun
vecteur sont en effet la difference des coordonnees de deux points de R3 . On peut ainsi
appliquer la rotation a` un vecteur de coordonnees v = m n dans R :
m n = Rm0 Rn0 = R(m0 n0 ),
soit, en posant v 0 = m0 n0 :
v = Rv 0 .

1.2. Rotations

1.2.5

Proprietes des rotations

La matrice de rotation R, par definition, est constituee de colonnes orthonormales et


donc :
RT R = I.
Par ailleurs, on montre que :
det R = 1
et que les proprietes suivantes sont verifiees :
1. La combinaison de deux rotations R1 et R2 est la rotation R1 R2 .
2. Il existe un unique e lement neutre, qui est la matrice identite dordre 31 .
3. A une matrice de rotation R il existe une unique inverse R1 = RT , par definition
de SO(3).
Par ailleurs, une rotation est une transformation rigide car :
1. ||Rm Rn|| = ||m n||, m, n R3 ;
2. R(v w) = Rv Rw, v, w R3 .

1.2.6

Combinaison de rotations

Soient deux rotations R1 et R2 , alors R1 R2 6= R2 R1 ; ces deux produits ont chacun


une signification, que nous allons e tudier maintenant.
Deux cas se presentent pour combiner deux rotations :
soit on effectue la seconde rotation par rapport au rep`ere resultant de la premi`ere
rotation ;
soit on effectue les deux rotations par rapport a` un unique rep`ere, fixe.
Soit R0 et R00 les rep`eres resultant des deux rotations successives du rep`ere fixe R. Dans
les deux cas e voques precedemment, le rep`ere R0 resulte de la rotation R1 de R autour
dun axe lie au rep`ere fixe R. Ensuite, les deux cas precedents donnent :
dans le premier cas R00 resulte de la rotation de R0 autour dun axe lie a` R0 ;
dans le second cas R00 resulte de la rotation de R0 autour dun axe lie a` R.
Nous allons maintenant examiner ces deux cas.
Premier cas Ce cas peut e tre analyse comme un probl`eme de changement de base.
Soit M de coordonnees respectives m, m0 , m00 dans les rep`eres R, R0 et R00 . Alors :
m = R1 m 0
m0 = R2 m00
et donc :
m = R1 R2 m00 .
Comme nous lavons vu precedemment, les coordonnees m de M dans R sont aussi
les coordonnees dun point de coordonnees m00 dans R auquel on aurait applique les
1

Les matrices identites, quel que soit leur ordre sont notees I.

1.2. Rotations

deux rotations successives. Par exemple considerons la combinaison des deux rotations
suivantes :
une premi`ere rotation dun angle 4 autour de z ;
une seconde rotation dun angle autour de laxe y 0 resultant de la premi`ere
rotation.
Ceci correspond a` lillustration de la figure 1.4. On consid`ere le point de coordonnees

z0

y0

x00
O

x0
x

z 00

F IG . 1.4 Rotations successives autour daxes non fixes

m00 = ( 2 0 0)T dans R00 et on souhaite exprimer ses coordonnees dans R. On a donc :
2
m=

2
2
2


22 0
1 0 0
1
2
2

0
1
0
1 .
=
0
0
2
0 0 1
0
0
0
1

Ceci correspond a` la combinaison des deux rotations suivantes :


une premi`ere rotation dun angle 4 autour de z ;
une seconde rotation dun angle autour de laxe y 0 .
Second cas Ce cas peut e tre analyse comme un probl`eme de rotations successives dun
point. La transformation dun point de coordonnees initiales m00 dans R donne un point
intermediaire, qui, transforme par la seconde rotation donne un point de coordonnees m
dans R par R2 . Ainsi :
m = R2 (R1 m00 ).

1.2. Rotations

Pour comparer avec le premier cas, vu precedemment, considerons la combinaison des


deux rotations suivantes :
une premi`ere rotation dun angle 4 autour de z ;
une seconde rotation dun angle autour de laxe y fixe.
Ceci correspond a` lillustration de la figure 1.5. On consid`ere le point de coordonnees

z0

M
x00

O
x0

z 00

F IG . 1.5 Rotations successives autour daxes fixes

initiales m00 = ( 2 0 0)T dans R (et donc de coordonnees finales m00 dans R00 ). On a :

2


2
1 0 0

0
1 0 0
1
1
2
2
2
2
2

0 1 0
0 1 0
1 =
1 .
m=
=
0
0
2
2
0 0 1
0 0 1
0
0
0
0
0
1

1.2.7

Representation de lorientation dun solide dans lespace

La donnee dune base attachee a` un solide S en rotation determine de mani`ere unique


son orientation dans lespace. Differentes representations peuvent e tre utilisees pour
cela, avec pour chacune avantages et inconvenients.

1.2. Rotations

Matrice de rotation et cosinus directeurs


On consid`ere la rotation dun rep`ere R vers un rep`ere R0 . La matrice de rotation R
est une matrice de dimension 3 3 a` valeurs dans R :

xx yx zx
R = xy yy zy .
xz yz zz
Les e lements de cette matrice sont appeles cosinus directeurs car ils representent les coordonnees des trois vecteurs de la base R0 exprimes dans R. Par definition, les colonnes
de R sont orthogonales entre elles et par consequent la connaissance de deux colonnes
suffit. En robotique, on omet ainsi souvent la seconde colonne :

xx zx
R = xy zy .
xz zz
Les six param`etres restant sont appeles cosinus directeurs incomplets. Par ailleurs les
colonnes de R formant une base orthonormee :
les deux colonnes restantes sont orthogonales et donc :
xx zx + xy zy + xz zz = 0 ;
les deux colonnes restantes sont de norme unite et donc :
x2x + x2y + x2z = 1,
zx2 + zy2 + zz2 = 1.
Il existe donc six param`etres lies entre eux par trois relations si lon definit lorientation
dun solide par une matrice de rotation. Malheureusement, les relations liant les cosinus
directeurs incomplets ne permettent pas de fournir trois param`etres uniques, mais une
collection de solutions : il faut donc conserver ces six param`etres ou utiliser un autre
mode de representation de lorientation.
Angles dEuler classiques
Les angles dEuler classiques permettent de decrire lorientation dun solide par
trois rotations successives donnant au solide lorientation en question. Les rotations
successives, conformement a` la figure 1.6 page suivante, sont R(z, ), R(x , ) et
enfin R(z , ) o`u x et z sont deduits des vecteurs du rep`ere de base conformement
a` la figure 1.6 page suivante. Les angles , et sont connus respectivement sous
les termes de precession, nutation et rotation propre. Chaque nouvelle rotation e tant
effectuee par rapport a` un rep`ere ayant tourne :
R = R(z, ) R(x , ) R(z , ).

1.2. Rotations

F IG . 1.6 Rotations successives dans le parametrage par les angles dEuler


Sous forme developpee :

cos sin 0
1
0
0
cos sin 0
R = sin cos 0 0 cos sin sin cos 0
0
0
1
0 sin cos
0
0
1
soit finalement :

cos cos sin cos sin cos sin sin cos cos sin sin
R = sin cos + cos cos sin sin sin + cos cos cos cos sin .
sin sin
sin cos
cos
La transformation inverse permet detablir les angles dEuler a` partir des cosinus directeurs2 :
si zz 6= 1 :
= atan2(zx , zy ),
= acos zz ,
= atan2(xz , yz ).
si zz = 1 :
= (1 zz )/2,
+ zz = atan2(yx , xx ),
et donc et sont indetermines.
Angles roulis, tangage et lacet
Pour cette representation, la litterature donne de nombreuses definitions [Paul 81,
Craig 89, Khalil 99, Renaud 86]. Ces angles, tr`es utilises par les anglo-saxons et donc
par les industriels, portent les noms de roll, pitch et yaw en anglais. Il sagit en fait
dangles dEuler non classiques en cela que les rotations seffectuent autour daxes fixes.
Nous adoptons la definition de [Craig 89] : les rotations successives, conformement
a` la figure 1.7 page suivante, sont R(x, ), R(y, ) puis R(z, ). Les angles , , et
sont respectivement designes sous les noms dangles de roulis, tangage et lacet. Chaque
2

Pour cela il faut definir la fonction atan2, qui permet dassocier lunique angle < x 6 tel que
x = atan2(sin x, cos x).

1.3. Transformations rigides

10

F IG . 1.7 Rotations successives dans le parametrage par les angles de roulis, tangage
et lacet
nouvelle rotation e tant effectuee par rapport a` un axe du rep`ere fixe R :
R = R(z, ) R(y, ) R(x, ).
Sous forme developpee :

cos sin 0
cos 0 sin
1
0
0
1
0 0 cos sin ,
R = sin cos 0 0
0
0
1
sin 0 cos
0 sin cos
soit finalement :

cos cos sin cos + cos sin sin sin sin + cos sin cos
R = sin cos cos cos + sin sin sin cos sin + sin sin cos
sin
cos sin
cos cos
La transformation inverse permet detablir les angles de roulis, tangage et lacet a` partir
des cosinus directeurs :
si 6= 2 :
= atan2(xy , xxp
),
= atan2(xz , x2x + x2y ),
= atan2(yz , zz ).
si = 2 :
signe() = atan2(zy , zx ),
(ou signe() = atan2(yx , yy ) e quivalent . . . normalement),
et donc et sont indetermines.

1.3
1.3.1

Transformations rigides
Matrices de passage homog`enes

Une transformation rigide resulte en general de la combinaison dune translation et


dune rotation. Elle est definie par la paire (p, R) avec p la translation de lorigine du

1.3. Transformations rigides

11

z0
z

y0

O0
p
O

x0
y
M

F IG . 1.8 Transformation rigide du solide S


rep`ere lie au solide S en mouvement (voir figure 1.8). Lensemble des transformations
rigides :
SE(3) = {(p, R)/p R3 , R SO(3)} = R3 SO(3)
est appele groupe special euclidien.
Soient m = (mx my mz )T et m0 = (m0x m0y m0z )T les coordonnees dun point M
respectivement dans R et R0 . La transformation rigide resultant de la translation p du
rep`ere R puis de la rotation du rep`ere obtenu vers R0 , il en decoule que :
m = p + Rm0

(1.2)

Ceci peut se mettre sous forme lineaire en introduisant les coordonnees homog`enes
du point M qui sont representees par un vecteur de dimension 4 1 :

0
mx
mx
 
 0
my

m0y
m
m
0

m
= =
dans R0 .
dans R et m
= 0=
mz
1
1
mz
1
1
On peut alors exprimer la transformation rigide (1.2) par la relation matricielle :
  
  0
m
R p
m
=
1
0 1
1

(1.3)

que lon notera :


m
= Tm
0
en posant :

T =


R p
.
0 1

La matrice T , dite matrice de passage homog`ene, decrit ainsi le passage du rep`ere R au


rep`ere R0 et donc la transformation rigide (p, R).

1.3. Transformations rigides

1.3.2

12

Proprietes des transformations rigides

On montre les proprietes suivantes :


1. Soit deux transformations rigides representees par leurs matrices homog`enes :




R1 p 1
R2 p 2
T1 =
, T2 =
.
0 1
0 1
Alors :


T1 T2 =


R1 R2 R1 p 2 + p 1
,
0
1

(1.4)

ce qui implique que la combinaison de deux transformations rigides est bien une
transformation rigide.
2. La matrice identite dordre 4 est la transformation rigide identite.
3. Dapr`es le produit (1.4) linverse dune transformation rigide (p, R) est representee
par :
 T

R RT p
1
T =
.
0
1
Il sagit donc de la transformation rigide (RT p, RT ).

Chapitre 2
Description des bras manipulateurs
On se propose par la suite detablir les mod`eles geometriques et cinematiques des
bras manipulateurs. Pour cela on definit la forme des chanes cinematiques qui seront
e tudiees et le parametrage usuel de ces structures [Renaud 96]. .

2.1

Chane cinematique dun bras manipulateur

On ne consid`ere ici que les syst`emes mecaniques composes de chanes cinematiques


polyarticulees ouvertes, appeles bras manipulateurs serie. La figure 2.1 montre les deux
structures les plus repandues dans lindustrie :
les bras manipulateurs de type anthropomorphe, a` six liaisons rotodes, dusage
general ;
les bras manipulateurs de type SCARA, qui sont frequemment utilises dans les
cellules de production pour les operations de palettisation.

F IG . 2.1 Bras manipulateurs de type anthropomorphe et SCARA


On supposera par la suite les bras manipulateurs constitues de n corps mobiles,
supposes parfaitement rigides, relies entre eux par n liaisons rotodes et/ou prismatiques
formant une structure de chane simple (voir figure 2.2 page suivante). Pour identifier la

2.2. Param`etres de Denavit-Hartenberg modifies

corps
C1

bati
(corps C0 ) liaison
L1

corps
C2

liaison
L2

14

corps
Cn1

liaison
L3

liaison
Ln1

corps
Cn

liaison
Ln

F IG . 2.2 Chane cinematique dun bras manipulateur serie


nature de la i-`eme liaison du bras manipulateur, on definit le param`etre :
(
0, pour une liaison rotode,
i =
1, pour une liaison prismatique.
On designe frequemment les bras manipulateurs en acollant les lettres R (pour rotode)
et P (pour prismatique) pour decrire la succession des liaisons. Par exemple un bras
manipulateur de type anthropomorphe sera designe par le sigle 6R alors quun bras manipulateur de type SCARA sera de type RRP ou RRP R (il existe plusieurs variantes).

2.2

Param`etres de Denavit-Hartenberg modifies

La technique la plus repandue pour decrire la geometrie dun bras manipulateur1


consiste a` utiliser les param`etres de Denavit-Hartenberg modifies [Khalil 86]. On associe au i-`eme corps le rep`ere Ri = (Oi , xi , y i , z i ), avec i = 0, 1, . . . , n. Pour
placer les rep`eres R1 a` Rn1 selon la r`egle des param`etres de Denavit-Hartenberg modifies, il convient de suivre les r`egles suivantes (voir figure 2.3 page suivante), pour
i = 2, 3, . . . , n :
Oi1 est le pied de la perpendiculaire commune aux axes des liaisons Li1 et Li ,
situe sur Li1 . Si les axes des liaisons sont parall`eles, il faut choisir arbitrairement
une perpendiculaire commune ;
xi1 est le vecteur unitaire de cette perpendiculaire commune, oriente de Li1
vers Li . Si les axes des deux liaisons sont concourants ou confondus, lorientation
est arbitraire (r`egle avant, droite, haut) ;
z i1 est un vecteur unitaire de laxe de la liaison Li1 , librement oriente. On
privilegie generalement les debattements positifs pour les liaisons prismatiques et
on symetrise generalement par rapport a` 0 le debattement des liaisons rotodes ;
y i1 est tel que le rep`ere Ri1 soit orthonorme direct.
Ensuite, le rep`ere R0 est defini librement en suivant des considerations de simplicite.
De meme, le point On est choisi de facon a` annuler un maximum de param`etres. Un
point On+1 est associe a` lOT du bras manipulateur, selon des crit`eres operationnels :
typiquement, si le bras manipulateur est e quipe dune pince, le point On+1 representera
1

A la fois celle a` laquelle on attribue la plus grande generalite [Gorla 01] et la plus intuitive en pratique.

2.2. Param`etres de Denavit-Hartenberg modifies

15

zi

i1

xi
Oi
z i1

zi

ri
Oi1

zi

xi1
ai1

xi
i1
xi1

axe liaison
Li1

axe liaison
Li

F IG . 2.3 Param`etres de Denavit-Hartenberg modifies


le centre de ses mors. On choisit alors enfin Rn de sorte que le point On+1 se situe dans
le plan Ri = (On , xn , z n ), conformement a` la figure 2.4.
rn+1
zn
On+1
z
On
O
y

xn
an

F IG . 2.4 Placements respectifs des rep`eres Rn et du point On+1


Les rep`eres e tant choisis, la situation du rep`ere dun corps respectivement a` celle du
rep`ere du corps suivant peut e tre definie conformement a` la figure 2.3. Les param`etres
i1 , ai1 , i et ri , avec i = 1, 2, . . . , n, places sur cette figure sont appeles param`etres
de Denavit-Hartenberg modifies. Textuellement, on peut les definir comme suit :
i1 : angle algebrique entre z i1 et z i , mesure autour de xi1 ;
ai1 : distance arithmetique de la perpendiculaire commune aux axes des liaisons
Li1 et Li mesuree le long de xi1 ;

2.2. Param`etres de Denavit-Hartenberg modifies

16

i : angle algebrique entre xi1 et xi , mesure autour de z i ;


ri : distance algebrique du point Oi a` la perpendiculaire, mesuree le long de z i .
Les param`etres de Denavit-Hartenberg modifies permettent de determiner de mani`ere
unique la configuration des corps et donc la geometrie du bras manipulateur. Lorsque
lon modelise une bras manipulateur, il est souhaitable de representer celui-ci dans une
configuration particuli`ere, pour visualiser plus facilement les param`etres et annuler certains param`etres constants. On obtient alors les param`etres constants i1 , ai1 , i et
ri et la configuration des liaisons decrite par les param`etres i et ri variables. A la figure 2.5, on a explicite un exemple de parametrage dans le cas dun bras manipulateur
de type 6R.

a2

r4

z0 , z1

r7

x3

x4 , x 5 , x 6

O0 , O 1 , O 2
z2

Organe terminal

z4 , z6

x0 , x 1 , x 2
O3

O7

O4 , O 5 , O 6

z3

z5

articulation i

i1

ai1

2
0

a2

2
0

2
0

2
0

q1

q2

q3

q4

q5

q6

ri

r4

F IG . 2.5 Reperage et parametrage dun bras manipulateur de type 6R selon la methode


des param`etres de Denavit-Hartenberg modifies

2.3. Relations geometriques

2.3

Ti1, i

17

Relations geometriques

Conformement au parametrage de Denavit Hartenberg modifie, la


tion entre les corps Ci1 et Ci est donc :

1 0 0 ai1
1
0
0
0
cos i sin i 0
0 cos i1 sin i1 0 0 1 0 0 sin i cos i 0

=
0 sin i1 cos i1 0 0 0 1 0 0
0
1
0 0 0 1
0
0
0
1
0
0
0
|
{z
}|
{z
}|
{z
R(xi1 , i1 )

translation de ai1 xi1

R(z i , i )

matrice de rota
1
0

0 0
0 0
0
1
}|

0
1
0
0

0
0
1
0
{z

translation de ri z i

soit :

cos i
sin i
0
ai1
cos i1 sin i cos i1 cos i sin i1 ri sin i1

=
sin i1 sin i sin i1 cos i cos i1
ri cos i1
0
0
0
1

Ti1, i

(2.1)

qui prend la forme :



Ti1, i =

Ri1, i pi1, i
0
1

0
0

ri
1
}

o`u Ri1, i represente la rotation entre les rep`eres Ri1 et Ri et pi1, i la translation entre
ces memes rep`eres.

Chapitre 3
Modelisation des bras manipulateurs
3.1

Configuration et situation dun bras manipulateur

De mani`ere classique, la configuration dun syst`eme mecanique est connue quand la


position de tous ses points dans R0 est connue [Neimark 72]. Pour un bras manipulateur,
elle est definie par un vecteur q de n coordonnees independantes appelees coordonnees
generalisees. La configuration est alors naturellement definie sur un espace N dont la
dimension n est appelee indice de mobilite. N est appele espace des configurations. Les
coordonnees generalisees correspondent aux grandeurs caracteristiques des differentes
articulations : angles de rotation pour les liaisons rotodes, translations pour les liaisons
prismatiques. On note q = (q1 q2 . . . qn )T .
La situation x de lOT du bras manipulateur est alors definie par m coordonnees
independantes dites coordonnees operationnelles, qui donnent la position et lorientation de lOT dans R0 . On definira generalement la situation en fonction de la tache a`
accomplir : par exemple on pourra ne considerer que la position de lOT et non plus son
orientation. Dans tous les cas, la situation de lOT est definie sur un espace M, de dimension m 6 6, appele espace operationnel [Khatib 86]. On note x = (x1 x2 . . . xm )T .
Le choix le plus commun pour les param`etres de position est celui des coordonnees
cartesiennes. Lexpression de lorientation de lOT depend du choix des param`etres angulaires (voir section 1.2.7).

3.2
3.2.1

Mod`ele geometrique direct


Definition

Le mod`ele geometrique direct (MGD) dun bras manipulateur exprime la situation


de son OT en fonction de sa configuration1 :
f : N M
q 7 x = f (q).
1

Autrement dit ses coordonnees operationnelles en fonction de ses coordonnees generalisees.

(3.1)

3.2. Mod`ele geometrique direct

3.2.2

19

Calcul

Le calcul du MGD consiste donc a` exprimer la position du point On+1 et lorientation


du rep`ere Rn lie a` lOT, en fonction de sa configuration. Il faut pour cela multiplier les
matrices de passage homog`enes successives reliant le rep`ere R0 lie au bati au rep`ere Rn
lie a` lOT :
T0,n (q) = T0,1 (q1 ) T1,2 (q2 ) . . . Tn1,n (qn ).
(3.2)
La matrice :


T0,n =

R0,n p0,n
0
1

permet donc de connatre lorientation de lOT dans le rep`ere de base et la position


p0,n = (px py pz )T du point On . Comme precedemment, on note :

xx yx zx
R0,n = xy yy zy
xz yz zz
et lon rappelle quil suffit de connatre les premi`ere et troisi`eme colonne de cette
matrice pour definir de mani`ere unique lorientation du rep`ere terminal. La position
(x1 x2 x3 )T du point On+1 se deduit alors facilement, compte tenu des coordonnees
(an 0 rn+1 )T de On+1 dans Rn :
x1 = px + an xx + rn+1 zx ,
x2 = py + an xy + rn+1 zy ,
x3 = pz + an xz + rn+1 zz .

3.2.3

(3.3)

R`egles pratiques

Les r`egles precedentes permettent de programmer aisement le calcul numerique


du MGD. Le calcul analytique permet de diminuer de mani`ere consequente le nombre
doperations. Pour cela la connaissance de certaines r`egles et proprietes permet de simplifier le calcul :
les notations e tant generalement lourdes, on adopte un certain nombre de conventions. On note, pour i, j, . . . compris entre 1 et n :
Si
Ci
Si+j
Ci+j

=
=
=
=
...

sin qi
cos qi
sin (qi + qj )
cos (qi + qj )

Par ailleurs a` chaque nouvelle operation effectuee on definit une variable intermediaire qui permet de neffectuer quune fois un produit ou une addition survenant a` de nombreuses reprises ;

3.2. Mod`ele geometrique direct

20

si lon m`ene le calcul en effectuant le produit (3.2) a` rebours (de droite a` gauche)
on peut sabstenir de calculer la seconde colonne des differentes matrices. En
effet, si lon consid`ere le produit de deux matrices de passage homog`enes A et B,
avec B possedant une seconde colonne indeterminee donne :

a11 a12 a13


a21 a22 a23

a31 a32 a33


0
0
0

0
b11

0 b21
0 b31
1
0

b13
b23
b33
0 0

0
0
=
0
1

a11 b11 + a12 b21 + a13 b31


a21 b11 + a22 b21 + a23 b31

a31 b11 + a32 b21 + a33 b31


0

a11 b13 + a12 b23 + a13 b33


a21 b13 + a22 b23 + a23 b33
a31 b13 + a32 b23 + a33 b33
0
0

0
0
.
0
1

si deux transformations se composent aisement on effectue tout dabord leur produit : cest le cas en particulier de la transformation due a` deux rotations successives daxes parall`eles. Par exemple si lon consid`ere deux rotations pures successives de q1 et q2 autour dun meme axe y 1 = y 2 :

C1
0

S1
0

3.2.4

0 S1
1 0
0 C1
0 0

0
C2

0 0
0 S2
1
0

0 S2
1 0
0 C2
0 0


0
C1+2

0 0
=
0 S1+2
1
0

0 S1+2
1
0
0 C1+2
0
0

0
0

0
1

Exemple

On traite ici le cas du bras manipulateur de type 6R dont le parametrage a e te e tabli


precedemment a` la figure 2.5 page 16. On calcule tout dabord les matrices de passage
homog`enes successives. Dapr`es ( 2.1 page 17), on obtient :

C1 S1 0 0
C2 S2 0 0
S1 C1 0 0
0
0 1 0

T0, 1 =
T1, 2 =
0

0 1 0
S2 C2
0 0
0
0 0 1
0
0
0 1

T2, 3

C3 S3
S3 C3
=
0
0
0
0

T4, 5

C5 S5
0
0
=
S5 C5
0
0

0 a2
0 0

1 0
0 1
0
1
0
0

0
0

0
1

T3, 4

C4 S4 0
0
0
0 1 r4

=
S4 C4
0
0
0
0
0
1

T5, 6

C6 S6 0 0
0
0 1 0

=
S6 C6
0 0
0
0
0 1

3.2. Mod`ele geometrique direct

21

La multiplication des matrices, selon les r`egles precedemment e noncees fait apparatre
les variables auxiliaires suivantes :
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
px
py
pz
xx
xy
xz
zx
zy
zz
yx
yz
x1
x2
x3

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

a2 C2
a2 S 2
C5 C6
S5 C6
C4 D3 S4 S6
C4 S5
S4 D3 + C4 S6
S 4 S5
C2+3 D5 + S2+3 D4
C2+3 D6 + S2+3 C5
r4 S2+3 + D1
C1 D11
S1 D11
r4 C2+3 + D2
C1 D9 + S1 D7
S1 D9 C1 D7
S2+3 D5 C2+3 D4
C1 D10 + S1 D8
S1 D10 C1 D8
S2+3 D6 C2+3 C5
zy xz zz xy
zx xy zy xx
px + r7 zx
py + r7 zy
pz + r7 zz

La situation est alors donnee par :


position dans R0 :
x1 = px + r7 zx
x2 = py + r7 zy
x3 = pz + r7 zz
orientation dans R0 , avec les cosinus directeurs incomplets :
x4
x5
x6
x7
x8
x9

=
=
=
=
=
=

xx
xy
xz
zx
zy
zz

orientation dans R0 , avec les angles dEuler :

3.3. Mod`ele geometrique inverse

22

si zz 6= 1 :
x4 = = atan2(xz , yz )
x5 = = acos zz
x6 = = atan2(xz , zy )
si zz = 1 :
x5 = (1 zz )/2
x6 + zz x6 = atan2(yx , xx )

3.3
3.3.1

Mod`ele geometrique inverse


Definition

Le mod`ele geometrique inverse (MGI) dun bras manipulateur permet dobtenir la


ou les configurations correspondant a` une situation de lOT donnee. Un MGI est donc tel
que :
f 1 : M N
(3.4)
x 7 q = f 1 (x).
La resolubilite du MGI, cest-`a-dire lexistence dun nombre fini de solutions est
fondamentale en mati`ere de conception. Supposons que la situation x dun bras manipulateur a` n liaisons soit exprimee par un nombre m minimal de param`etres (voir
section 1.2.7). Supposons par ailleurs que x soit une situation accessible par le bras manipulateur, cest-`a-dire que la situation appartient a` l espace de travail 2 . Alors (dans la
majorite des cas) :
si n < m, il nexiste pas de solution au MGI ;
si n = m, il existe un nombre fini de solutions en dehors de certaines configurations, appelees configurations singuli`eres ;
si n > m, il existe une infinite de solutions.
On sait que dans les cas o`u n < 6 les bras manipulateurs sont tous solubles, cest-`a-dire
quil existe une solution connue au MGI. Cest aussi le cas de la plupart des structures a`
six liaisons, notamment celles possedant un poignet spherique (trois derni`eres liaisons
rotodes concourantes). Enfin, seul le calcul du MGI permet de connatre le nombre de
solutions.

3.3.2

Calcul

Il nexiste pas de methode analytique systematique pour calculer le MGI. Le mieux


est de reprendre les e quations du MGD, prealablement calcule et de mener le calcul a`
lenvers. Le calcul se fait alors au cas par cas. Il est generalement aise pour un bras
manipulateur a` moins de six axes, comme les bras manipulateur de type SCARA. Dans
2

Il nest pas toujours facile de savoir si cest le cas.

3.4. Mod`ele cinematique direct

23

le cas o`u n = 6, lexistence dun poignet spherique permet de debuter la resolution par
linversion du syst`eme 3.3, soit :
px = x1 an xx rn+1 zx ,
py = x2 an xy rn+1 zy ,
pz = x3 an xz rn+1 zz .
On resout ensuite le syst`eme dequations non-lineaires que constitue le MGD, pour exprimer les qi , pour i = 1, 2, . . . , n en fonction de px , py , pz et des cosinus directeurs.

3.3.3

3.4
3.4.1

Exemple : voir TD

Mod`ele cinematique direct


Definition

Le mod`ele cinematique direct (MCD) du bras manipulateur donne la relation entre


les vitesses operationnelles x et les vitesses generalisees q du bras manipulateur :
x = J q,

(3.5)

o`u J = J(q) est la matrice jacobienne de la fonction f , de dimension m n :


J : Tq N Tx M
q 7 x = J q,
o`u J =

f
.
q

La matrice jacobienne represente lapplication lineaire df entre les espaces Tq N et


Tx M, respectivement tangents a` N en q et a` M en x = f (q).
On peut alternativement definir le mod`ele differentiel direct (MDD) qui donne laccroissement infinitesimal dx de la situation en fonction dun accroissement dq de la
configuration :
dx = Jdq.

3.4.2

Calcul

Le calcul du MCD, dans le cadre generique, ne sera pas vu dans ce cours. On remarquera simplement que pour des structures simples le MCD peut e tre obtenu par simple
derivation du MGD. Ceci nest e videmment plus valable pour des structures possedant
plus de quatre liaisons.

3.4.3

Interet et exemple : voir TP (si le temps le permet)

Annexe A
Modelisation dun bras manipulateur
de type SCARE
A.1

Robot de type SCARA : presentation

On designe communement sous lappellation de robots de type SCARA des robots


a` quatre axes dont la chane cinematique est RRP R. La figure A.1 represente deux
mod`eles industriels de robots de type SCARA. Le second de ces robots, le Samsung
RSM-5, sera lobjet de notre e tude.

(a) Robot EPSON EL-653M

(b) Robot Samsung RSM-5

F IG . A.1 Exemples de robots de type SCARA

A cause de leur cinematique, ces robots sont bien adaptes a` tous les travaux de manipulation de palettes, de botes ou de cartouches, ou plus generalement dobjets devant
e tre saisis et deplaces soit parall`element, soit perpendiculairement a` lhorizontale. On
les rencontre notamment sur des chanes de production (voir figure A.2).

A.2. Robot Samsung RSM-5 : modelisation

A.2

25

Robot Samsung RSM-5 : modelisation

Les caracteristiques principales du robot Samsung RSM-5 sont donnees a` la figure


A.3. Le schema A.3(a) permet notamment de comprendre la cinematique de ce robot.
1. On rappelle que le robot est de type RRP R, les deux derni`eres articulations
concernant la monteedescente et la rotation de lorgane terminal autour de son
axe. Dessiner le schema cinematique de ce robot.

A.2.1

Geometrie du robot

Espace de travail
On sinteresse tout dabord a` lespace de travail du robot. En labsence dobstacles
particuliers, le premier axe vertical, les butees articulaires du robot et bien e videmment
la longueur des differents axes constituent les seules limitations de lespace de travail
du robot.
1. Relever les valeurs des butees articulaires du robot.
2. Le robot e tant symetrique, ses butees ont e te placees en respectant cette symetrie.
Representer en vue de dessus (et en grand) les positions limites du robot, lorsque
celui-ci est en butee sur les articulations 1 et 2. Il est conseille de respecter une
e chelle coherente.
3. Sur cette meme figure, dessiner lenveloppe de lespace de travail, dans un plan
horizontal donne (les articulations 3 et 4 ne sont pas actionnees). Cela se fera
aisement a` laide dun compas et dun rapporteur (`a defaut, essayer detre realiste).
4. Donner les points particuliers de cette enveloppe.
5. Quelle est la dimension de lespace operationnel du robot ? Toutes les articulations
influent-elles de mani`ere identique sur la position de lorgane terminal ? Dapr`es
ces remarques, representer sur un schema en perspective lallure du volume de
travail du robot, pour une orientation quelconque de son organe terminal.
6. Pour e viter la collision de lorgane terminal avec le premier corps vertical, lorgane terminal ne peut sapprocher a` moins de 155 mm cet de laxe de ce corps.
Verifier que cette condition est remplie. On se rememorera pour cela lantique
theor`eme dAl Kashi.

On souhaite maintenant e tablir le mod`ele geometrique direct du robot.


Parametrage
1. Quelle precaution concernant la configuration du robot est preconisee dans le
cours pour placer les rep`eres selon la convention de Denavit-Hartenberg ? Si necessaire
refaire un schema cinematique du robot dans une configuration adaptee.

A.2. Robot Samsung RSM-5 : modelisation

26

2. Placer les rep`eres R0 a` R5 sur le schema, en respectant les conventions de parametrage vues en cours (param`etres de Denavit-Hartenberg modifies).
3. Rassembler dans un tableau les param`etres de Denavit-Hartenberg modifies :
ai1 , i1 , ri , i , dont on rappellera bri`evement la definition. On ajoutera a` ce
tableau une ligne donnant la valeur des param`etres de configuration, notes qi , dans
la configuration du schema cinematique.
4. Relever les valeurs numeriques de ces param`etres. On continuera neanmoins les
calculs en conservant les notations symboliques. Les valeurs numeriques seront
utilises a` des fins de verification.
Mod`ele geometrique direct
1. Rappeler la definition du mod`ele geometrique direct. On notera q la configuration
du robot et x sa situation. Quelle sont les dimensions respectives de q et x ? Quel
est le degre de liberte de lorgane terminal du robot ?
2. Rappeler la formulation generale de la matrice de passage Ti1, i dun rep`ere Ri1
a` un rep`ere Ri , dans le cas o`u lon respecte la convention des param`etres de
Denavit-Hartenberg modifies.
3. Calculer les matrices de passage successives du robot Ti1, i , pour i = 0, 1, . . . , 5.
On notera Ci = cos qi , Si = sin qi , Ci+j = cos qi+j et Si+j = sin qi+j , . . .
4. Multiplier les matrices de passage entre elles (dans le bon ordre) pour obtenir
le mod`ele geometrique direct du robot. On prendra l`a encore soin de respecter
les recommandations du cours concernant la methode de calcul. En particulier,
on introduira des variables intermediaires notees D1 , D2 , . . ., a` chaque nouvelle
addition ou multiplication entre variables dej`a definies.
5. Verifier le mod`ele obtenu dans au moins deux configurations : la configuration du
schema cinematique et une configuration plus quelconque, par exemple correspondant a` un des points particuliers releves sur lenveloppe de lespace de travail.
6. Donner lorientation de lorgane terminal exprimee par les angles dEuler. Est-ce
la representation de lorientation de lorgane terminal adaptee au robot e tudie ?
Proposer une alternative.
Mod`ele geometrique inverse
1. Rappeler la definition du mod`ele geometrique inverse. Dapr`es la premi`ere question de la section A.2.1, que peut-on dire sur le nombre de solutions admises par
ce mod`ele ?
2. Calculer le mod`ele geometrique inverse du robot.
Mod`ele cinematique direct
1. Rappeler la definition du mod`ele cinematique direct du robot et de sa matrice
jacobienne, notee J(q).

A.2. Robot Samsung RSM-5 : modelisation

27

2. Si lon represente lorientation de lorgane terminal du robot par langle de lacet


= x4 , on a :


x 1
vx
q1
x 2 vy
q2
= = J(q) .
x 3 vz
q3
x 4
z
q4
Calculer la matrice jacobienne J(q) en derivant les e quations du mod`ele geometrique direct.
3. Le rang de la matrice jacobienne, cest-`a-dire le nombre maximum de lignes ou
de colonnes independantes, donne le degre de liberte de lorgane terminal. En
effet, celui-ci correspond a` la valeur maximale du rang de J(q), lorsque q balaie
lespace des configurations. Pour le robot e tudie, J(q) est de dimension 4 4 et
de rang maximum e gal a` 4. On en deduit que le rang de J(q) nest plus maximal
lorsque son determinant sannule.
Calculer lexpression du determinant de J(q). Pour quelles configurations ce determinant sannule-t-il (on appelle ces valeurs les configurations singuli`eres du
robot) ? Commenter.

F IG . A.2 Exemples dutilisation du robot Samsung RSM-5

(a) Schema et dimensions

(b) Specifications constructeur

F IG . A.3 Caracteristiques du robot Samsung RSM-5

Bibliographie
[Craig 89]

J. J. Craig. Introduction to robotics : Mechanics and control. AddisonWesley, 1989.

[Gorla 01]

B. Gorla et M. Renaud. Modelling of robot manipulators. Control and


applications. Communication personnelle, 2001.

[Khalil 86]

W. Khalil et J. Kleinfinger. A New Geometric Notation for Open and


Closed Loop Robots. ICRA86, pages 7579, avril 1986.

[Khalil 99]

W. Khalil et E. Dombre. Modelisation, identification et commande des


robots. Herm`es, 1999.

[Khatib 86]

O. Khatib. Real-Time Obstacle Avoidance for Manipulators and Mobile


Robots. International Journal of Robotic Research, vol. 5, no. 1, pages
9098, 1986.

[Murray 94] R. Murray, Z. Li et S. Sastry. A mathematical introduction to robotic


manipulation. CRC Press, 1994.
[Neimark 72] J. Neimark et N. Fufaev. Dynamics of nonholonomic systems, volume 33. Translations of Mathematical Monographs, 1972.
[Paul 81]

R. Paul. Robot manipulators : Mathematics, programming, and control.


MIT press, Cambridge, Londres, Royaume-Uni, 1981.

[Renaud 86] M. Renaud. Comment definir lorientation dun corps ? Rapport technique 86159, LAASCNRS, 1986.
[Renaud 96] M. Renaud. Calcul analytique iteratif des mod`eles dun robot manipulateur. Rapport technique 86159, LAASCNRS, 1996.