Vous êtes sur la page 1sur 24

Chapitre 5

Le modèle cinématique direct des robots

à structures ouvertes simples

5.1. Introduction
Le modèle cinématique direct d'un robot manipulateur décrit les vitesses (les coordonnées
opérationnelles en fonction des vitesses articulaires. Il est noté :

X=J(q) q [5.1]

X
Où J(q) désigne la matrice jacobienne de dimension (mxn) du mécanisme, égale à et fonction de la
q
configuration articulaire q. La même matrice jacobienne intervient dans le calcul du modèle différentiel
direct qui (donne les variations élémentaires dX des coordonnées opérationnelles en fonction des variations
élémentaires des coordonnées articulaires dq, soit :

dX =J(q)dq [5,2]

L'intérêt de la matrice jacobienne est multiple [Whitney 69], [Paul 81] :


- Elle est à la base du modèle différentiel inverse, permettant de calculer une solution locale des variables
articulaires q connaissant les coordonnées opérationnelles X (chapitre 6) ;
- en statique, on utilise le jacobien pour établir la relation lian t les efforts exercés par l'organe terminal sur
l'environnement aux forces et couples des actionneurs ;
- elle facilite le calcul des singularités et de la dimension de l'espace opérationnel accessible du robot
[Borrel 86], [Wenger 89].
Dans ce chapitre, on traite le cas des robots série. Le modèle cinématique des robots à chaîne complexe
sera étudié au chapitre 7.

5.2. Calcul de la matrice jacobienne par dérivation du MGD


Le calcul de la matrice jacobienne peut se faire en dérivant le MGD, X = f (q), à partir de la relation
suivante :
f i q 
Jij = , i = 1,…,m ; j = 1,…,n [5.3]
q j
Où Jij est l'élément (i, j) de la matrice jacobienne J.
Cette méthode est facile à mettre en oeuvre pour des robots à deux ou trois degrés de liberté comme le montre
l'exemple suivant. Le calcul de la matrice jacobienne de base présenté au § 5.3 est plus pratique pour les robots
ayant plus de trois degrés de liberté.

• Exemple 5.1. :
Soit le robot plan à trois degrés de liberté d'axes rotoïdes parallèles représenté sur la figure 5.1. On note
L1, L2 et L3 les longueurs des segments. La matrice de transformation homogène de l'outil dans le repère R 0 est
donnée par :

C123  S123 0 C1L1  C12 L 2  C123L3


 S123 C123 0 S1L1  S12 L 2  S123L3 
0
TE = 
 0 0 1 0 
 
 0 0 0 1 

On choisit comme coordonnées opérationnelles les coordonnées (Px, Py) du point E dans le plan (x0, y0) et
l'angle a du dernier segment avec l'axe x 0 :
Px = C1 L 1 + C12 L2 + C123 L3
Py = S1 L1 + S12 L2 + S123 L3
α = θ1+ θ2 + θ 3
La matrice jacobienne est calculée en dérivant ces trois relations par rapport à θ1, θ2 et θ3 :

 S1L1  S12 L 2  S123L3  S12 L 2  S123L3  S123L3 


 
J=  C1L1  C12 L 2  C123L3 C12 L 2  C123L3 C123L3 
 1 1 1 
 
 

Figure 5.1. Exemple d'un robot plan à trois degrés de liberté


5.3. Matrice jacobienne de base

On indique dans ce paragraphe comment déterminer la matrice jacobienne d'un mécanisme a


chaîne ouverte simple. Lorsqu'il y a des arborescences, on procède de façon analogue mais en traitant
chaque chaîne depuis la base séparément. Les chaînes fermées seront étudiées au chapitre 7.
On peut obtenir la matrice jacobienne par une méthode de calcul direct, fondée sur la relation entre les
vecteurs des vitesses de translation et de rotation Vn et  n du repère R n, représentant les éléments de
réduction du torseur cinématique du repère R n, et les vitesses articulaires q :

V 
Vn=  n  [5.4a]
  n 

On note que V n est la dérivée par rapport au temps du vecteur P n . En revanche, n ne représente
pas la dérivée d'une représentation quelconque de l'orientation.
L'expression du jacobien est identique si l'on considère la relation entre les vecteurs de translation et de
rotation différentielles d n ,  n  du repère R n et les différentielles des coordonnées articulaires dq:

d n 
  =Jndq [5.4b]
 n

On montre au § 5.10 que le jacobien correspondant à une représentation quelconque des vitesses
opérationnelles X peut être déduit de ce jacobien J n, appelé jacobien de base.

5 .3 .1 . Calcul du jacobien de base

Considérons la k ième articulation d'une chaîne articulée, la vitesse q k induite sur le repère terminal
R n la vitesse de translation V k,n et la vitesse de rotation  k ,n . Deux cas se présentent :
 si l'articulation est prismatique (  k =1, figure 5.2)

Vk ,n  a k q k

  k ,n  0

Où l'on rappelle que a k est le vecteur unitaire porté par l'axe z k de l'articulation k ;
 si l'articulation est rotoïde (  k =0, figure 5.3)

V k , n  ak q k xL k , n   ak xL k , n  q k

 k , n  a k q k

Le terme L k,n désignant le vecteur d'origine O k et d'extrémité O n .


Figure 5.2. Cas d'une articulation prismatique

Figure 5.3. Cas d'une articulation rotoîde

Les vecteurs V k,n et  k ,n s'écrivent donc sous la forme générale suivante :

Vk ,n   k a k   k a k xLk ,n q k


 [5.7]
  k ,n   k a k q k

En appliquant le théorème de composition des vitesses, les vitesses de t ranslation et de rotation du


repère terminal s'écrivent :


Vn  k 1Vk ,n    k a k   k a k xLk ,n q k
n
n

 k 1 [5.8]
 
 n k 1  k ,n k 1 a k q k
n n

En mettant ce système sous forme matricielle et en l'identifiant à la relation [5.4], on déduit q ue :


 1 a1   1 a1 xL1,n
Jn = 
 .....  n a n   n a n xLn,n 
 [5.9]
  1a1 .....  n an 
Si l'on projette les éléments de la relation [5.9] dans un repère R i , on obtient le jacobien i J n de
dimension (6xn) tel que :
i
Vn =iJ n q [5.10]

En général, on exprime V n et n soit dans le repère R n soit dans le repère R 0 . La matrice


n 0
jacobienne correspondante est notée J n ou J n respectivement. Ces matrices peuvent aussi être calculées
en utilisant une matrice i J n , i = 0, ..., n, grâce à la relation de transformation de la matrice jacobienne
entre repères suivante:

 s Ai 03  i
s
Jn =  s  Jn [5.11]
 03 Ai 

Où s A i est la matrice d 'orientation, de dimension (3x3), du repère R i exprimée dans le repère R s .

La matrice s J n peut donc être décomposée en deux matrices, la première étant toujours de rang
plein.
Les deux matrices i J n et s J n ayant les mêmes positions singulières, on cherche pratiquement à
utiliser le repère de projection R i qui simplifie les éléments de la matrice i J n. En général, on obtient la
matrice i J n la plus simple lorsque l'on prend i = [partie entière de n/2].

5.3.2. Calcul de la matrice i J n

En remarquant que le produit vectoriel a k xL k,n Peut se transformer en â k L k.n, la k ième colonne de
i
J n , notée i J n k devient :

 k i a k   k i Ak k aˆ k k Lk ,n 
i
J n, k =   [5.12]
  k i ak 

En développant et on notant que :


 k
a k = [0 0 1] T
 k
L k,n = kP n

On obtient :

Jn,k= 

 k i a k   k  k Pny i s k  k Pnx i nk  

i
[5.13]
  k n ak 
Ou kP nx et k P ny sont respectivement les composantes x et y du vecteur k P n .

A partir de cette relation on peut calculer la k ième colonne de nJ n :


 k n a k   k  k Pny n s k  k Pnx n nk 
Jn, k= 


n
[5.14]
  k n ak 
Les éléments de la colonne nJ n,k se calculent à partir des éléments de la matrice k T n résultats
intermédiaires obtenus lors du calcul du MGD.
De façon analogue la k ième colonne de 0 J n s’écrit :


 k 0 a k   k 0 aˆ k 0 Pn  0 Pk 
Jn, k= 


0
[5.15]
  k 0 ak 
Dans ce cas les éléments de la colonne k s’obtiennent à partir de ceux de la matrice 0 T k et du
vecteur P k . On doit donc calculer les matrices 0 T k pour k=1,...,n.
0
Remarque

Pour trouver le jacobien E J E définissant les vitesses du repère outil R E on peut soit utiliser
l’équation [5.9] après avoir remplacer L k,n par L k,E , soit utiliser la relation [2.46] exprimant le
transformation des torseurs cinématiques entre repères :

 E An 03   I 3 n
PˆE  n
JE =    J n = Tn Jn
E E n
E
[5.16]
 03 An  0 3 I3 

Ou E T n est la matrice (6x6) de transformation entre torseurs définie au §2.4.2.

•Exemple 5.2
Calcul du jacobien 6J6 du robot Stäubli RX-90. A partir de la relation [5.14] et des matrices kT6 issues du
calcul du MGD, on obtient :

J (1,1) = (-C6C5S4-S6C4)(S23RL4-C2D3)
J (2,1) = (C6C5S4-S6C4)(S23RL4-C2D3)
J (1,1) = S5S4 (S23RL4-C2D3)
J (4, l) = (C6C5C4 – S6S4) S23 + C6S5C23
J (5,1) = (–S6C5C4 – C6S4)S23 – S6S5C23
J (6,1) = –S5C4S23 + C5C23
J (1,2) = (–C6C5C4 + S6S4)(RL4 – S3D3) + C6S5C3D3
J (2,2) = (S6C5C4 + C6S4)(RL4 – S3 D3) – S6S5C3D3
J (3.2) = S5C4(RL4 – S3 D3) + C5C3D3
J (4,2) = –6C5S4 –S6C4 J (5,2) = S6C5S4 – C6C4 J (6,2) = S5S4
J (1,3) = (–C6C5C4 + S6S4)RL4
J (2,3) = (S6C5C4 + C6S4)RL4
J (3,3) = S5C4RL4
J (4,3) = –C6C5S4 – S6C4
J (5.3) = S6C5S4 – C6C4
J (6,3) = S5S4
J (1,4) = 0
J (2,4) = 0
J (3,4) = 0
J (4,4) = C6S5
J (5,4) = –S6S5
J (6,4) = C5
J (I,5) = 0
J (2,5) = 0
J (3,5) = 0
J (4,5) = –S6
J (5,5) = –C6
J (6,5)= 0
J (1,6)= 0
J (2,6)= 0
J (3,6) = 0
J (4,6)=0
J (5,6)=0
J (6,6)= 1

• Exemple 5.3

Calcul du jacobien 3J6 du robot Stäubli RX-90. La colonne k de la matrice 3J6 d'un robot
manipulateur à six degrés de liberté de type 6R s'écrit :

 k P6 y 3 s k  k P6 x 3 nk 
3
j6,k=  3 
 ak 

Les éléments kP6y , kP6x ont été calculés lors du calcul du MGD. Pour les éléments 3Sk, 3n k et 3ak,
avec k = 2, 3, 4 et 6, on utilise les matrices 3A2, 3A3, 3A4 et 3A6, elles aussi calculées avec le MGD. Il ne
reste donc à calculer que 3A1 et 3A5. On obtient pour finir :
 0  RL 4  S 3D3  RL 4 0 0 0 
 0 C 3 D3 0 0 0 0 
3  
J 6 =  S 23RL 4 C 2 D3 0 0 0 0 0 
 
 S 23 0 0 0 S 4  S 5C 4 
 C 23 0 0 1 0 C5 
 
 0 1 1 0 C4 S 5S 4 

5.4. Décomposition de la matrice jacobienne en trois matrices

Avec la relation [5.11], nous avons montré que la matrice s Jn pouvait être décomposée en deux
matrices, la première étant toujours de rang plein et la deuxième contenant des éléments simples. Renaud
[Renaud 80b] a montré que l'on peut aussi décomposer la matrice jacobienne en trois matrices les deux
premières sont toujours de rang plein et leur inversion est immédiate ; la troisième est du même rang que
s
Jn, mais contient des éléments beaucoup plus simples.
La figure 5.4 illustre le principe de la méthode proposée : l'influence des vitesses articulaires n'est plus
calculée au niveau du repère terminal R n mais au niveau d'un repère intermédiaire R i . On définit dans ce
sens la matrice jacobienne J n,j telle que :

 1 a1   1 a1 xL1, j  ....  n a n   n a n xLn, j 


J n,j =   [5.17]
  1a1 .....  n an 

Exprimée sous cette forme, la matrice J n,j est équivalente à la matrice jacobienne définissant les
vitesses d'un repère fixé au corps C n et confondu instantanément avec le repère R j . On peut calculer J n à
partir de la matrice J n,j par la relation :

I3  Lˆ j ,n 
Jn=   J n,j [5.18]
0 3 I3 

En projetant la relation [5.18] dans le repère R i , on obtient:

I3  i Lˆ j ,n  i
i
Jn=   J n,j [5.19]
0 3 I3 

Avec :

i
Lj , n = i A j j P n [5.20]

Les éléments de la kième colonne de iJn,j déduits de la relation [5.17] s'expriment dans le repère R i de la
façon suivante :

 
 k i a k   k  k Pjy i s k  k Pjx i nk 
J n ,j, k=  
i
[5.21]
  k i ak 
On remarque que iJn = iJ n , n .
a) Méthode générale

b) Méthode de Renaud

F i g u r e 5.4. Principe de la méthode de Renaud

La matrice s J n est donc donnée par le produit des trois matrices suivantes, les deux premières étant de
rang plein :

 s Ai 03   I 3  i L j ,n  i
s
Jn =  s   J n, j [5.22]
 03 Ai  03 I3 

En général, le choix de j et i, c'est-à-dire du repère de décalage intermédiaire et du repère de


projection, conduisant à une matrice i J n,j la plus simple est tel que :

  
i   Partie entiere de n / 2 
  
 j  i 1

Ainsi, pour un robot manipulateur à six degrés de liberté, la matrice jacobienne la p l u s simple
est 3 J 6,4 . Si ce robot possède trois axes concourants au niv eau du poignet, le vecteur L 4 , 6 est nul et par
conséquent 3 J 6,4 = 3 J 6 .

5.5. Calcul pratique des vitesses o péra tio nnelles

Connaissant J n , les vitesses de translation et de rotation V n et ω n du repère R n peuvent être obtenues


à partir de la relation [5.4a]. Du point de vue du nombre d'opérations, il est cependant plus judicieux,
comme on le verra au chapitre 9, d'utiliser les équations de récurrence suivantes, pour j = 1, ..., n :
 j j 1  jAj 1 j 1 j 1
 j
  j   j 1   j q j a j
j j
[5.23]
j j
 j 1

 V j  Aj 1 V j 1   j 1 x Pj   j q j a j
j 1 j 1 j

j
Où a j est le vecteur unitaire [0 0 1] T . On initialise la récurrence avec les vitesses de
translation et de rotation (généralement nulles) de la base du robot V 0 et ω 0 .

5.6. Dimension de l'espace opérationnel d'un robot

Pour une configuration articulaire q donnée, le rang r de la matrice jacobienne i J n -que l'on
notera J dans la suite pour simplifier les notations - correspond au nombre de degrés de liberté du repèr e
associé à l'organe terminal, Il définit la dimension de l'espace opérationnel accessible dans cette
configuration. On appelle nombre de degrés de liberté M de l'espace opérationnel d'un robot, le rang
maximal r m a x que prend la matrice jacobienne dans toutes les configurations possibles. Deux cas sont à
examiner [Gorla 84] :
– si M est égal au nombre de degrés de liberté N du robot (égal à n dans le cas des robots en
chaîne simple ou à structure arborescente), le robot est non redondant : il possède juste le nombre
d'articulations lui permettant de donner le nombre M de degrés de liberté à son organe terminal.

– si N>M, le robot est redondant d'ordre (N-M). Il dispose de plus d'articulations qu'il n'en faut
pour donner le nombre M de degrés de liberté à son or gane terminal.

Que ce soit dans l'un ou dans l'autre cas, pour certaines configurations articulaires, il se peut
que le rang r soit inférieur à M : on dit que le robot possède une singularité d'ordre (M–r). Il perd alors
localement la possibilité d'engendrer une vitesse le long ou autour de certaines directions. Lorsque la
matrice j est carrée, les singularités d'ordre un sont solution de det(J)=0 où det(J) désigne le déterminant
de la matrice jacobienne du robot. Elles sont données par det( JJ T )=0 dans le cas redondant.

• Exemple 5.4. :
Reprenons les résultats obtenus dans l'exemple 5.3 pou r le robot- manipulateur Stäubli RX-90.
Le calcul du rang nécessite celui du déterminant de 3 J 6 . En notant que la matrice jacobienne a la forme
particulière suivante :

3  A 03 
J6 =  
B C 

On obtient:

det ( 3 J 6 ) = det (A) det (C)= -C3 D3 RL4 S5 (S23 RL4 – C2 D3)

Le rang maximal est tel que r m a x =6. Le robot est non redondant puisqu'il comporte six degrés de li berté.
Cependant, ce rang est égal à cinq dans les trois configurations singulières suivantes :

C 3  0

S 23RL 4  C 2 D3  0
S 5  0

– Lorsque C3=0 (figure 4.2c), le robot est en extension maximale et se trouve sur une frontière de
son volume de travail : il s'agit d'une singularité du coude, qui n'a pas été mise en évidence par
le modèle géométrique inverse (§ 4.3.2, exemple 4.1). Dans cette configuration le modèle
cinématique ne permet pas de commander une vitesse radiale du centre du poignet. La seconde
ligne de 3 J6 est nulle ;
– la singularité S23 RL4 – C2 D3 = 0 (figure 4.2a), déjà mentionnée lors du calcul du modèle
géométrique inverse, correspond à une configuration dans laquelle le centre du poignet est
confondu avec l'axe z 0 (singularité d'épaule). On a alors P x = P y =0, Dans cette configuration, le
modèle cinématique ne permet pas de commander une vitesse selon la normale au plan contenant
les points O 2 , O 3 et O 4 . La troisième ligne du jacobien est nulle ;
– Pour S5=0 (figure 4.2b), les deux articulatio ns rotoïdes commandant θ 4 et θ 6 ont leurs axes
confondus, ce qui fait perdre un degré de liberté au robot. On remarque que les colonnes 4 et 6
du jacobien sont alors identiques. Dans cette configuration, le modèle cinématique ne permet
pas de commander une rotation auto ur de la normale au plan contenant les axes 4,5 et 6.Cette
singularité du poignet a déjà été mise en évidence lors du calcul du modèle géométrique inverse.

5.7. Analyse de l’espace de travail des robots

L’analyse de l’espace de travail des robots trouve de nombreuses applications, notamment dans le
domaine de la CAO Robotique pour la conception optimale de robots, des sites robotisés et pour leur
programmation hors ligne.

5.7.1. Espace de travail

Soit q= [q 1 ,…,q n ] un élément de représentant une configuration articulaire donnée et soit


X=[x 1 ,…,x m ] l’élément de l’espace opérationnel  X correspondant tel que :
X=f(q) [5.24]

On note Q l’ensembles des configurations accessibles compte tenu des butées articulaires. Par la
suite, Q sera appelé domaine articulaire :

Q={q\ q imin ≤q i ≤q imax , quelque soit i=1,….,n} [5.25]

L’image de q par le modèle géométrique direct f définit l’espace de travail W du robot :

W=f(Q) [5.26]

L’espace de travail est donc l’ensemble des positions et \ou orientations accessibles par l’organe
terminal du robot. On considère W comme un sous espace de l ’espace opérationnel  .
X

La géométrie de l’espace de travail dépend de la morphologie du robot. Ses frontières sont


entièrement définit par les singularités et les butés articulaires.
Toutefois, lorsque des obstacles existent dans le champ d’action du robot, des frontières
supplémentaires apparaissent, définissant des zones inaccessibles pouvant être très importantes [Wenger
89].

Pour les robots à deux articulations, l’espace de travail se trouvant dans un plan est facile à obtenir.

Pour les robots non redondants à trois articulations dont la tâche est définie en position, il, est
commode de ne représenter qu'une section génératrice de W : c'est une coupe de W dans un plan passant
par l'axe de la première articulation lorsqu'elle est rotoïde, perpendiculaire à cet axe lorsqu'elle est
prismatique. On raisonne ainsi dans un espace à deux dimensions. L ' espace de travail complet est obtenu à
partir de la section génératrice par rotation autour de la première articulation si elle rotoï de sans butées.
Cependant, s'il y a des obstacles, la section génératrice n'est révélatrice que d'une partie de W. Elle est
alors insuffisante pour une analyse complète du volume de travail.
Dans le cas général, l'espace de travail est de dimension 6 et ne peut donc pas être représenté de façon simple. On se
contente d'en étudier lu projection dans l'espace des positions.

5 . 7 . 2 . Branches de singularités

Les branches de singularités sont les composantes connexes de l 'ensemble des configurations
singulières de Q. Elles sont directement définies par l'équation det(J)=0. Les singularités étant toujours
indépendantes de la première articulation, on peut se contenter de les représenter dans l'espace articulaire
privé de son premier axe. Elles sont représentées par des hypersurfaces de Q. Toutefois, pour des
conditions très particulières entre les paramètres géométriques du robot, il peut s'agir de sous -espaces
isolés de dimension intérieure (une courbe ou des points isolés par exemple), qui ne constituent donc pas
une frontière dans Q. On montre que sur une singularité, au moins deux solutions du MGI sont identiques
[Kholi 87], [Spanos 85]. Lorsqu'un robot comporte trois solutions identiques sur une position singulière,
le robot est dit de type cu sp ida l [ El Omri 96].

Pour le robot plan à deux degrés de liberté de la figure 5.5, dont le déterminant de la matrice
jacobienne est égal à L1 L2 S2, les branches de singularités en l'absence de butées sont définies par les
droites θ 2 =0 et θ 2 =±π (figure 5.6). L'espace de travail correspondant est présenté à la figure 5.7.

En reprenant les résultats du robot Stäubli RX-90, le domaine articulaire est divisé par les trois
hypersurfaces définissant les configurations singulières. Elles ont pour équations C3 = 0, S23 RL4-C2 D3 =
0 et S5 = 0. La figure 5.8 montre les branchus de singularités du robot Stäubli RX -90 dans l'espace
(θ 2 ,θ 3 ,θ 5 ) et dans le plan (θ 2 ,θ 3 ).

Figure 5.5 : Robot plan à deux degrés de liberté

θ2 S2=0
π

θ2>0
θ1

θ2<0

-π π
Figure 5.6. Branches de singularités du robot plan sans butés

Y0

L1+L2
S2=0

x0
L1-L2

Figure 5.7.Espace de travail du robot plan sans butées


(Dans le cas ou D3≠ RL4, l’hypersurface S23RL4-C2D3 n’est pas plane)
Figure 5.8 . Branches de singularité du robot Stäubli RX-90 (D3 = RL4)

5 . 7 . 3 . Ima g e des singula rités da ns l 'espace de trava il (surfaces j a c o b i e n n e s )

Les images des singularités dans l'espace du travail, appelées aussi surfaces jacobiennes, sont soit des
hypersurfaces de W (cas le plus fréquent), Soit des sous-espaces de dimension inférieure.

Ces hypersurfaces apparaissent à la frontière ou au sein même de W, le modèle géométrique inverse de


leurs points comportant au moins une racine multiple. Elles séparent des zones de W où le nombre de solutions du
MGI est constant et pair [Roth 76], [Kholi 85], [Burdick 88]. En présence de butées, tics frontières supplémentaires
apparaissent dans W qui définissent de nouvelles régions. Dans ces régions, le nombre de solutions du MGI est
toujours constant mais plus nécessairement pair [Spanos 85].
Lorsque les surfaces jacobiennes sont des sous-espaces de dimension inférieure (par exemple une courbe ou un
ensemble de points isolés), le MGI de leurs points a toujours une infinité de solutions.

Pour le robot plan à deux degrés de liberté de la figure 5.5, les surfaces jacobiennes sont obtenues pour les
configurations singulières "bras tendu" et "bras replié". Elles sont représentées respectivement par les cercles de rayon
L1 +L2 et L1–L2 (figure 5.7).

Pour le porteur anthropomorphe, les surfaces jacobiennes sont de deux types (figure 5.9). Le premier est
associé aux configurations s i n g u l i ères qui placent l'organe terminal sur l'axe de la première articulation. C'est le
segment de droite défini par l'intersection de l'axe 1 du robot et de W, dont les images réciproques dans Q
sont les deux branches de singularités obliques. En tout point de ce segment de droite, le choix de θ 1 est
arbitraire : il y a donc une infinité de solutions. L'autre type de surfaces jacobiennes associées à la
configuration singulière C3=0 est composé des portions de sphère de rayon D3+RL4 (configuration "bras
tendu") et de rayon D3+RL4 (configuration "bras replié") qui représentent respectivement les enveloppes
externe et interne de l'espace de travail. Dans le cas du robot Stäubli RX -90, cette dernière se réduit à un
point puisque D3=RL4.

Figure 5.9. Section génératrice de l'espace de travail du porteur


anthropomorphe sans butées
5 .7 .4 . Notion d'aspect

La notion d'aspect a été introduite par P. Borrel (Borrel 19861. Les aspects sont les domaines
connexes de l 'espace articulaire à l 'intérieur desquels aucun des mineurs d'ordre M extrait de la matrice
jacobienne. J n'est nui, sauf si ce mineur est nul partout sur le domaine. Dans le cas d ' un robot
manipulateur non redondant, le seul mineur d'ordre M est la matrice jacobienne elle -même. Les aspects
sont donc limités par les branches de singularités et les butées articulaires (figures 5.6 et 5.8).

Il a été longtemps admis que les singularités séparaient les domaines d ' unicité de solutions du
MGI. Il s'avère en fait que les aspects ne sont e ffectivement les domaines d'unicité que pour une catégorie
particulière de robots, dits robots de type non cuspidal [El Omri 96). Cette catégorie englobe la plupart des
morphologies de robots industriels. Les robots de type cuspidal peuvent avoir plusieurs solutions dans un
même aspect, c'est-à-dire qu'ils peuvent passer d'une solution du MGI à une autre sans franchir de
singularité. La figure 5.10 montre la morphologie d'un robot cuspidal a trois articulations rotoïdes. Le
point X (figure 5.11 a) de coordonnées Px=2,5, Py =O, Pz=O est accessible par ce robot selon les quatre
configurations suivantes (en degrés) :

q (1) =(-101,52 -158,19 104,88) T ,


q (2) =(-50,92 -46,17 141,16) T ,
q (3) = (-164,56 -170,02 -12,89) T ,
q (4) = (10,13 -22,33 -106,28) T .

Le domaine articulaire de ce manipulateur se divise, par les singularités, en deux aspects. On


remarque que les configurations q (2) et q(3) ainsi que q(1) et q(4) sont situées dans le même aspect (figure
5.11 a).

Figure 5.10. Exemple d’un porteur cuspidal [Wenger 92]

Figure 5.11 a. Aspects du porteur cuspidal


Figure 5.11 b. Branche de singularité et surfaces caractéristiques du porteur cuspidal

Pour les robots cuspidaux, les domaines d'unicité sont séparés par d'autres hyper surfaces que les branches de
singularités : les surfaces caractéristiques [Wenger 92] qui sont définies comme étant les images réciproques des
surfaces jacobiennes obtenues à partir du MGI et qui peuvent donner lieu à des configurations non singulières. On
parle alors de singularité évitable, car le robot peut, par un choix judicieux de sa configuration, éviter la singularité.
La figure 5.11b montre les singularités et les surfaces caractéristiques du porteur de la figure 5.10.
Il n'existe pas à ce jour de règles simples permettant d'identifier toutes les morphologies de porteur non cuspidales.
Une liste de porteurs non cuspidaux a été établie dans [Wenger 93]. Elle est rappelée dans le tableau 5.1 qui
s'interprète de la façon suivante : par exemple, tout porteur RRR tel que Sα2=0 (i.e. dont les deux premiers axes sont
parallèles) est de type non cuspidal...

PPP RPP PRP PPR RRR PRR RPR RRP


Sα2=0 c α 2=0 cα2=0 Sα2=0

Sα3=0 sα3=0 cα3=0 cα3=0

d2=0 d3=0 s2=0 d2=0


tous tous tous tous
d3=0 (sα2=0 et r3=0) d3+d2c2=0 (cα2=0, sα3=0
et r2=0)
(cα1=0, r2=0 et (sα2=0 et cα3=0)
r3=0)
d3+d4c3=0

Tableau 5.1. Les porteurs non cuspidaux

5.7.5. Sous-espaces t-parcourables

Les sous-espaces t-parcourables sont les domaines de l'espace de travail où toute trajectoire continue est
réalisable. Les domaines d'unicité permettent de caractériser la faisabilité des trajectoires continues. Pour les robots
non cuspidaux, les sous-espaces t-parcourables les plus grands sont les images par le MGD des aspects (et plus
généralement des composantes connexes des aspects libres lorsque l'environnement est encombré d'obstacles
[Wenger 89}), Nous ne présentons pas ici la définition des sous-espaces t-parcourables pour les robots cuspidaux, le
lecteur intéressé pouvant consulter [El O m r i 96].

Pour le robot plan à deux degrés de liberté de la figure 5.5, la droite S2=0 décompose l'espace articulaire
accessible en deux aspects (figure 5.12a) correspondant aux deux solutions θ 2>0 et θ2<0.

Les images de ces aspects dans l'espace opérationnel sont confondues si le domaine de variation de
chaque articulation est égal à 360°. Pour des valeurs des butées θ imax et θimin arbitraires, les images sont
schématisées sur la figure 5.12b : les zones hachurées et non hachurées représentent respectivement les lieux des
points accessibles pour θ 2>0 et θ2<0. La trajectoire PP' indiquée sur cette figure se trouve dans l'aspect θ 2<0:
elle n'est donc réalisable que si le robot part d'une configuration initiale avec θ 2<0. Dans le cas contraire, une
des articulations est en butée avant que le robot n'arrive à la position finale.
θ2
S2=0
θ2max

θ2>0

θ1
θ2<0
θ2min
θ1max
θ1min

Figure 5.12a. Détermination des aspects en présence de butées articulaires

Figure 5.12b. Image des aspects dans l'espace opérationnel

5.8. T r a n s m i s s i o n des v i t e s s e s e n t r e l ' e s p a c e a r t i c u l a i r e et l'espace opérationnel


5 . 8 . 1 . D é c o mp o s i t i o n e n v a l e u r s s i n g u l i è r e s ( S V D )

La relation [5.1] entre les vitesses opérationnelles et les vitesses articulaires est, pour une
configuration donnée, un système d'équations linéaires dans lequel la matrice J représente une
q X
application linéaire de dans . Pour alléger l'écriture, on omet les indices et le jacobien de base Jn
est noté J.
La matrice J peut se décomposer en un produit de trois matrices faisant intervenir les valeurs singulières
[Lawson 74], [Dongarra 79], [Klema 80]. Si J est de dimension (mxn) et de rang r, il existe des
matrices orthogonales U, de dimension (mxm) et V, de dimension (nxn), telles que :

J = U Σ VT [5.27]
La matrice Σ, de dimension (mxn), a la forme suivante:

 S rxr 0rx  n r  
 
 0 m  r xr 0 m  r  x  n  r   [5.28]
 

S est une matrice diagonale, de dimension (rxr), formée par les valeurs singulières non nulles σi de J
rangées de façon décroissante de telle sorte que σI>σ2> ... >σ r . Les valeurs singulières de J sont égales
aux racines c a rrées des valeurs propres du produit J T J. La matrice V est constituée par les vecteurs
propres de J T J, encore appelés vecteurs singuliers à droite ou vecteurs singuliers d'entrée. La matrice U est
constituée par les vecteurs propres de JJT vecteurs singuliers à gauche ou encore vecteurs singuliers de sortie,
En utilisant les relations [5.1] et [5.27], le modèle cinématique devient :

X  U V T q
[5.29]
Puisque σ i = 0 pour i >r, on peut écrire que ;

r
X    iU iV i T q [5.30]
i 1

A partir de la relation [5.30], on déduit que (figure 5.13) :


– Les vecteurs V I , ..., Vr constituent une base pour l'ensemble des q q engendrant un
mouvement de l'organe terminal ;
– les vecteurs V
r+1 , ..., V n constituent une base pour l'ensemble q q dont l'image dans
X
est le vecteur nul. Autrement dit, ils définissent le noyau de J, noté  J  :
Les vecteurs U i , ..., Ur constituent une base pour l'ensemble des X  tel qu'il existe
X

un vecteur q les engendrant. Ils définissent donc l'espace image de J, noté I(J)
représentant toutes les vitesses de l'organe terminal qui peuven t être engendrées par le
robot ;

Les vecteurs U r+1, ..., Um constituent une base pour l'ensemble des X  qui ne
X

peuvent pas être engendrés par le robot. Autrement dit, ils définissent le complément de
l'espace I(J), noté I(J) ┴ ;

– Les valeurs singulières σi représentent le rapport des vitesses entre les espaces
opérationnel et articulaire. En effet, en multipliant les deux membres de la relation [5.30]
par U i T , il vient :

U iT X  iV iT q Pour i=1,….,r [5.31]

Puisque J T = V Σ U T , on en déduit que :

X  I  J   I  J   I  J    J 

 
 
q  I J     J 

Figure 5.13. Noyau et espace image de J (d'après [Asada 86])


5.8.2. Ellipsoïde de vitesse : qualité de la transmission en vitesse

L'évaluation de la capacité d'un mécanisme à produire une vitesse dans l'espace opérationnel peut se
faire au travers du modèle cinématique [5.1]. Supposons que les vitesses articulaires soient bornées par la
relation :

q max  q  q max [5.32]

Pour une configuration donnée par le vecteur q, les vitesses opérationnelles respectant ces
conditions appartiennent aux intervalles :

X min  X  X max [5.33]

Avec
X max  Max  J q  q  [5.34]

X min  Min  J q  q  [5.35]

L'ensemble des vitesses admissibles ainsi définies sont géo métriquement représentables par des
hyper parallélépipèdes ou polytopes. La représentation graphique des images des polytopes permet une
visualisation claire des vitesses maximales que le mécanisme peut produire dans une configuration donnée.
On préfère cependant manipuler des volumes ellipsoïdaux qui admettent une formulation analytique. Un
ellipsoïde est construit à partir de la donnée d'une norme du vecteur vitesse. Si l'on suppose que ce vecteur a
des composantes homogènes en dimension, cette norme peut être définie par [Yoshikawa 84b] :

qT q  1 [5.36]

Ce qui donne dans l'espace opérationnel l'ellipsoïde caractérisé par :

 
1
X T JJ T X 1
[5.37]

L'hyper-sphère unité définie par la relation [5.36] est inscrite dans le polytope représentant la
relation [5.32]. De même, dans l'espace opérationnel, l'ellipsoïde défini par la relation [5.37] est inscrit
dans le polytope image de la relation [5.33].
Les axes principaux de l'ellipsoïde sont donnés par les vecteurs U 1 , ..., U m qui sont les vecteurs
propres de JJ T . Les longueurs des demi axes respectifs sont données par les valeurs singulières σ 1 ,
. . . , σ m de J. La meilleure direction pour commander le robot en vitesse est le long du grand axe
puisque c'est le long de cet axe que le robot a la meilleure capacité en vitesse. En revanche, la meilleure
direction pour contrôler (réguler) la vitesse e st le long du petit axe. La figure 5.14 montre le polytope et
l'ellipsoïde des vitesses opérationnelles obtenus dans le cas d'un mécanisme constitué de deux
articulations rotoïdes d'axes parallèles.
Le volume de l'ellipsoïde de vitesse d'un robot donne une mesure de sa capacité à engendrer une
vitesse. On définit ainsi la manipulabilité en vitesse d'un robot w( q) comme :

w q   det J q  J T q  [5.38]

Cette expression devenant pour un robot non redondant :

w(q)=│det[J(q)]│ [5.39]
Figure 5.14. Polytope et ellipsoïde de manipulabilité en vitesse

5.9. Modèle s t a t i q u e
On montre ici comment établir le modèle statique qui permet de calculer les couples ou forces
articulaires correspondant à un effort donné par l 'organe terminal sur l'environnement. On discute aussi de
la dualité entre le modèle cinématique et le modèle statique.

5.9.1. Représentation des efforts


On rappelle (§ 2.6) qu'un effort f i est représenté par un torseur dynamique dont la résultante est la
force f i et le moment m i :

f 
fi  i  [5.40]
m i 

On suppose, sauf indication contraire, que le moment est calculé autour du point O i , origine du
repère R i . On a vu au § 2.6 comment transformer les efforts entre repères.

5 .9 .2 . Couples aux actionneurs des structures à chaîne ouverte simple

On désire calculer les couples et forces Γ e , que doivent fournir les actionneurs d 'un robot a
chaîne ouverte simple pour que son organe terminal porté par le corps n puisse exercer un effort statique
fen , sur l 'environnement tel que :

f en   
fen =    f x f y f z m x m y m z  [5.41]
 men   

L’indice n indiquant que cet effort est exprimé au niveau de l'origine O n du repère R n . Le principe des
travaux virtuels implique que :

d 
Ten dq  f enT  n  [5.42]
 n 
En utilisant les relations [5.4b] entre dq et les vecteurs de t r anslation et de rotation différentielles d n et σ n ,
on obtient :
Γ e =J n T fen [5.43]

On utilise la matrice jacobienne n J n ou 0Jn selon que l'effort f en est défini dans le repère R n ou dans le
repère R 0.

5.9.3. Dualité vitesse-effort

La matrice jacobienne intervenant en statique est la même que celle qui est utilisée dans le
modèle différentiel ou cinématique. Partant de la relation 5.43, un raisonnement analogue à celui du §
5.8.1 conduit aux observations suivantes (figure 5.15) [Asada 86] :
– les couples aux actionneurs sont déterminés de façon univoque à partir d'un effort arbitraire f
exercé sur l’organe terminal ; l'espace image de J T , noté I(J T ), est donc l'ensemble des Γ qui
permettent de compenser les efforts statiques f selon la relation 5.43 ;
– Pour un vecteur Γ nul, l'effort statique correspondant peut être non nul ; on définit ainsi le
noyau  
 JT de JT comme étant l ' ensemble des efforts statiques qui ne nécessitent pas de

couples aux actionneurs pour être compensés ; d'autre part, le noyau  J 


T
étant le
complément orthogonal de I(J), il représente aussi l'ensemble des directions selon lesquelles le
robot ne peut pas engendrer de vitesse ;
– On remarque que certains couples Γ ne peuvent pas être compensés par f. Ces couples
correspondent à des directions du noyau   J  , complément orthogonal de l'espace I(J ).
T T

Les bases de ces espaces peuvent être obtenues en utilisant la décomposition en valeurs singulières
comme indiqué dans le cas des vitesses (§ 5.8.1).

On peut définir de façon analogue à la manipulabilité en vitesse une qualité de transmission ou


manipulabilité en effort par une norme du vecteur des couples aux actionneurs Γ T Γ≤ 1. On vérifie
aisément à partir de la relation [5.43] que l'ellipsoïde en effort a pour équation f T J J T f ≤1. De ce fait,
les directions des ellipsoïdes de vitesse (relation [5.37]) et d'effort sont identiques mais les longueurs
des demi axes sont en proportion inverse (figure 5.16), ce qui signifie que la direction dans laquelle la
capacité en vitesse est la meilleure est aussi celle dans laquelle la capacité en effort est la moins bonne
et inversement.

Figure 5.14. Dualité vitesse effort (d’après [Asada 86])


Figure 5.16. Ellipsoïdes de manipulabilité en vitesse et en effort

5.10. Modèle cinématique du deuxième ordre

Le modèle cinématique du deuxième ordre permet de calculer les accélérations des coordonnées
opérationnelles en fonction des positions, vitesses et accélérations articulaires. Dans le cas d'un
mécanisme à chaîne ouverte simple, on obtient par dérivation du modèle [5.1] par rapport au temps :
x  Jq  Jq [ 5.44]

Où :

d
J q , q   J q  [5.45]
dt

Comme avec le modèle cinématique du premier ordre, on utilise la matrice jacobienne de base
du repère terminal R n et le modèle du deuxième ordre s'écrit :

V n 
   J nq  J nq [5.46]
n 

Cette formulation de Vn et n n'est pas forcément la mieux appropriée pour le calcul. Comme
pour celui de V n et ω n il est plus judicieux du point de vue du nombre d'opérations, d'utiliser les
relations de récurrence suivantes qui seront établies au chapitre 9 :

 
 j  j  j A j 1 j 1 j 1   j q j j a j  j 1  j 1xq j j a j

j
 U j  ˆ j  ˆ j ˆ j
j j j
[5.47]
j j
 j 1 j 1
 
 V j  A j 1 V j 1  U j 1 Pj   j q j a j  2  j 1xq j a j
j 1 j j j

Pour j = 1, ..., n. Les vitesses J ω J - 1 et J


ω J sont calculées avec la relation [5.23].

Dans certaines applications, comme la commande dans l'espace opérationnel, il est nécessaire
de calculer le vecteur J q . Là encore, au lieu de dériver J et de le multiplier par q , l'idée est de
calculer V n et n avec les équations de récurrence [5.47] en imposant que q soit nul [Khalil 87a].
5.11. Modèles cinématiques associés aux représentations des coordonnées opérationnelles

X p 
Soit X    une représentation quelconque dans le repère Rn, fixé à un solide, les éléments Xp, et Xr
Xr 
désignant respectivement la position et l'orientation opérationnelles du solide. On cherche les relations entre les
vitesses X p et X r les vecteurs vitesses 0V n et 0 ω n du repère R n telles que :
 X p  p 0Vn
 [5.48]
 X r  p n
0

Les relations sont les mêmes entre les variations différentielles dXp, et dXr, et les vecteurs de translation
et de rotation différentielles 0dn et 0 δ n du repère R n :
dX p  p 0d n
 [5.49]
dX r  r  n
0

Sous forme matricielle, l'expression [5.48] devient :

 X p   p 03   0Vn   0Vn 
      0  [5.50]
 X r   03 r   0n   n 

Partant de la relation [5.4a], on en déduit alors que :

X p 
    Jnq  J xq
0
[ 5 . 5 1]
 X r 

Avec :

J x =Ω 0 J n [5.52]

La matrice Ω p , est égale à I3 lorsque l'origine du repère R n est exprimée dans le repère R0 par ses
coordonnées cartésiennes. On montre dans ce qui suit comment calculer Ω r et Ω r -1 en fonction de la
représentation de l'orientation choisie. Ces expressions sont nécessaires pour établir le modèle cinématique
inverse. Lorsque la description est non redondante, l'inverse de Ω s'écrit simplement :

I 03 
1   3  [5.53]
 03 1 

Si la description de l'orientation est redondante, ce qui est le cas avec les cosinus directeurs et les
paramètres d'Euler, les matrices Ω r, et donc Ω , sont rectangulaires. On utilise alors la notion d'inverse à gauche
qui est un cas particulier de la pseudo inverse lorsque le nombre de lignes est supérieur au nombre de colonnes
(Annexe 4). L'inverse à gauche est définie par :

I 03 
   3  [5.54]
 03  
Avec :

   T  1 T
 [5.55]


   I3
Une telle matrice existe si Ω est de rang 6 ou si la matrice Ω r , est de rang 3.

5.11.1. Cosinus directeurs


Les vitesses des vecteurs s, n, a sont données par :

 0 sn  0n x 0 sn
0
 nn  n x nn
0 0
[5.56]
0
 an  n x an
0 0

En réécrivant les équations [5.56] avec l'opérateur de pré produit vectoriel [2.32], on arrive à l 'expression
de Ω CD suivante [Khatib 80] :

 0 sn    0 sˆn 
   
X r   0 nn     0 nˆn  0n  CD 0n [5.57]
 0 a    0 aˆ 
 n  n

Ω CD est de dimension (9x3). Pour calculer Ω + CD, 011 utilise le fait que :

CD
T
Ω CD = 2 I 3 [5.58]

Et avec la relation [5.54] donnant l'inverse à gauche, les matrices ŝ , n̂ , â étant antisymétriques, on
montre que :

1 T 1

CD  CD   0
sˆn nˆn
0
a0ˆn  [ 5.59]
2 2

5 .1 1 .2 . Angles d'Euler

D'après les résultats obtenus au § 3.6.1, Φ est un angle mesuré autour de z 0 = [0 0 1] T ; θ est la

rotation autour de l'axe x dont les composantes sont  C S  0 T dans R ; la dernière rotation ψ
0

s'effectue autour de l'axe de composantes  S S  CS C T dans R . On exprime la vitesse de


0

rotation du repère Rn dans le repère R 0 par :

0 C   S S 
0
n  0    S     C S 
    [5.60]
1  0  C 

Ou encore, sous forme matricielle :


 0 C S C   
 
0
n   0 S  S C    [5.61]
1 0 C   
  
Expression que l'on identifie à :

 
 
0
n  1Eul X r   1Eul   [5.62]
 
 
En inversant Ω - 1 E u l on obtient

  S cot g C cot g 1
 
Eul  C S 0 [5.63]
 S / S C / S 0 

On retrouve pour θ=kπ la singularité déjà mise en évidence au § 3.6.1.

5.11.3. Ang le s de Ro ul i s - Ta ng a g e - La cet

Un raisonnement analogue au précédent permet d ' écrire :

 0  S S C     
   
0
n   0 C S C     RTL
1
  [5.64]
1  
 S     
 0
   
Expression de laquelle on déduit après in version de Ω - 1 R TL :

 C tg S tg 1
 
RTL    S C 0 [5.65]
 C / C S / C 0 

(Singularité lorsque Cθ = 0)

5.11.4. Quaternions
On dérive la relation [3.34] et on identifie les éléments diagonaux avec les co mposantes
correspondantes des équations vectorielles [5.56], ce qui conduit au système suivant :
 
2 Q1Q1  Q2Q2   Q2Q4  Q1Q3   y   Q2Q3  Q1Q4  z


 
2 Q1Q1  Q3Q3   Q2Q3  Q1Q4  z   Q3Q4  Q1Q2  x [5.66]

 
2 Q1Q1  Q4Q4   Q3Q4  Q1Q2  x   Q2Q4  Q1Q3   y
Une quatrième équation est donnée par la relation [3.31] après dérivation :

Q1Q1  Q2Q2  Q3Q3  Q4Q4  0 [5.67]

Après résolution on trouve

X r  Q   Q1 Q2 Q3 Q4   Q 0n
T
[5.68]
Avec:

 Q2 Q3 Q4 


 Q3 
1 Q Q4
Q   1  [5.70]
2  Q4 Q1 Q2 
 
 Q3 Q2 Q1 

Pour trouver la relation inverse, on utilise l ' inverse à gauche. En constatant que le produit Ω T Q
Ω Q est égal à 1/4, on obtient tout simplement :

Ω + Q =4 Ω T Q [5.70]

5.12. Conclus ion

Nous avons montré dans ce chapitre comment obtenir le modèle cinématique d'un robot-
manipulateur en utilisant la matrice jacobienne de base. Ce modèle permet de calculer les vitesses de
translation et de rotation du corps terminal en fonction des vitesses articulaires. Cette matrice peut être
décomposée en deux ou trois matrices contenant des termes plus simples.
Nous avons ensuite montré comment utiliser la matrice jacobienne pour analyser l'espace de
travail et l'espace des vitesses d'un robot. Nous avons aussi vu comment on pouvait utiliser la matrice
jacobienne pour formuler le modèle statique et nous avons mis en évidence la dualité de ce modèle avec
le modèle cinématique. Enfin, les modèles cinématiques associés aux différentes représentations des
coordonnées opérationnelles ont été établis.
Le modèle cinématique permet de trouver une solution au problème géométrique inverse quelle
que soit la structure du robot. Il permet aussi d'introduire la notion de vitesse de déplacement du
mécanisme. Il est donc à la base de leur commande en vitesse. L ' outil nécessaire à mettre en oeuvre pour
ce faire est le modèle cinématique inverse, objet du prochain chapitre. On verra aussi son intérêt dans la
commande dynamique.

Vous aimerez peut-être aussi