Emailing Le Jacobien - Cours2014
Emailing Le Jacobien - Cours2014
Emailing Le Jacobien - Cours2014
Bouri, 2014
Jacobien
2.2 Le Jacobien
2.2.1 Introduction
Dans les paragraphes précédents, nous avons traité la cinématique des robots sériels et
parallèles. Nous avons présenté la relation liant la position de l’organe terminal à celles des
moteurs, notamment appelée le modèle géométrique. Dans ce paragraphe, nous allons essayer
d’étendre l’étude depuis une analyse liée à la position à une analyse liée aux vitesses.
La relation qui lie les vitesses opérationnelles (celles de l’organe terminal) aux vitesses
articulaires (celles des moteurs) est appelée Jacobien.
v
J q 2.2.1
Rappelons que le vecteur des coordonnées articulaire du robot (correspondant aux positions
de chacune des articulations (moteurs)) est donnée par :
q [q1 q 2 q n ]T 2.2.2
n étant le nombre d’articulations du robot.
q [q1 q 2 q n ]T 2.2.3
Dans ce cours, nous allons traiter :
v
J q
Dans ce qui suit nous allons traiter les méthodes de détermination du Jacobien et la
terminologie associée. Ainsi le Jacobien obtenu directement depuis une dérivation analytique
du modèle géométrique est appelé Jacobien analytique. Quand le Jacobien est déduit à partir
d’une construction vectorielle, il sera nommé Jacobien géométrique. Le concept du Jacobien
géométrique est traité en annexe.
p(q)
X q 2.2.4
( q )
La dimension de cet espace opérationnel est m, donnant lieu au vecteur opérationnel suivant1 :
1
Les coordonnées opérationnelles permettent de référencer l’organe terminal dans l’espace tridimensionnel de la
même manière qu’un corps rigide. De ce fait, il faut au maximum 6 coordonnées pour identifier sa disposition
dans l’espace. Pas seulement, car les cordonnées opérationnelles donnent aussi la possibilité de reconnaître la
2.2-3 Jacobien
X1
X
X 2 2.2.5
X m
p x (q)
p (q)
y
p (q)
X q z 2.2.6
( q )
(q)
( q )
X 1 (q ) f1 q1 , q 2 , q n
X (q ) f q , q , q
X q 2 2 1 2 n
2.2.7
X m (q ) f m q1 , q 2 , q n
En appliquant la loi des dérivées partielles sur l’équation ci-dessus, nous trouvons:
f 1 f 1 f 1
q dq1 q dq2 q dqn
dX 1
1 2 n
dX f f f
2
dq1 2 dq2 2 dqn
dX 2 q1 q 2 q n 2.2.8
dX m f
m dq f m dq f m dq
q1 1
q 2
2
q n
n
Cette équation peut également être écrite sous la forme matricielle suivante:
disposition du robot dans l’espace. Ainsi, l’espace opérationnel peut être composé par l’association des positions
et orientations de plusieurs sorties convenablement choisies sur la structure (par exemple dans le cas d’un robot
redondant). Ceci donnerait lieu à une dimension de l’espace opérationnel m pouvant excéder 6.
Robot redondant: robot pour lequel la dimension de l’espace opérationnel excède celle des actionneurs.
2.2-4 Jacobien
Ou aussi,
dX J A dq 2.2.10
X J A q 2.2.12
Exemple 2 :
Soit l’exemple précédent d’un robot rotatif plan à 2 ddl,
y0
q2
q1
x0
Figure 2.2.1, Robot plan à 2 ddl
2.2-5 Jacobien
Remarques :
Le Jacobien analytique nécessite la disponibilité du modèle géométrique et le choix d’un
mode de représentation de (ou des orientations) de l’organe terminal.
Le Jacobien analytique n’est pas unique car dépend du choix des orientations.
Exemple
Tous les points situés sur les cercles de rayon l1+l2 et l1+l2 sont des points singuliers
de ce manipulateur.
-> Elles se situent sur les bords du volume de travail du robot.
-> Sur ces singularités, le robot perd un degré de liberté.
q2 = 0 q2 =
P
l2
y q2 = 0 y q2 =
l1
q1 q1
x x
Il y a perte d’un ddl car le préhenseur ne peut bouger que selon l’arc de cercle au lieu de
pouvoir bouger librement selon les deux axes x et y.
Reliant les vitesses articulaires aux opérationnelle, il peut donner une information
importante sur les vitesses nominales des moteurs à choisir.
Il est aussi appelé matrice de sensibilité car permet de connaître la sensibilité au
niveau de a sortie connaissant celle des articulations (moteurs+transmission locale),
Permet de connaître et maîtriser ainsi les singularités du robot. Il est aussi appelé
matrice de stabilité.
Permet d’intégrer numériquement le modèle géométrique directe (ie. par l’utilisation
de la méthode de Newton-Raphson) pour obtenir le modèle géométrique inverse (ou
vice-versa) .
Peut être utilisé en contrôle dans plusieurs schémas de commande.
Bibliographie
[1] Sciavicco, L., Siciliano, B., Modelling and control of robot manipulators, Springer,
1996.
[2] Craig, J. J., Introduction to robotics, Adison-Wesley, 1989.
[3] Craig, J. J., Introduction to robotics, , Prentce Hall, 2005.
[4] Dombre, E.,Khalil, W., Modélisation et commande des robots, Ed. Hermes, 1988.
[5] Tsai, L., W., Robot Analysis, John Wiley and Sons, 1999.
2.2-8 Jacobien
2.2.5 Annexe-
Figure 2.2.4, rotation autour d’un axe d’un corps rigide (à gauche), combinée à une translation (à droite)
Comme il a été introduit au paragraphe précédent, il y a différentes manières de représenter la
rotation d’un corps rigide. A titre d’exemples, peuvent être utilisés les configurations des
angles d’Euler, les angles RPW (roll, pitch et yaw ou en français tangage, roulis et lacet), les
quaternions ou d’autres.
z
z1
{0}
{1} 0
1
y1
x1
Figure 2.2.6, Rotation d’un corps rigide attaché au repère {1} par rapport à {0} avec la vitesse 0 1
Soient deux repères {0} et {1}. {0} désigne le repère fixé à la base et {1} désigne le repère fixé
à un objet tournant autour de {0} avec une vitesse 0 1 . 0 1 correspond au vecteur vitesse de
rotation instantané de {1} par rapport à {0}. Son sens et son module varient dans le temps.
Ainsi, ses composantes cartésiennes dans le repère {0} varient aussi dans le temps. L’axe de
rotation est instantané et, contrairement à la vitesse linéaire, ne peut pas être intégré pour
retrouver l’orientation du corps à partir de la valeur initiale de l’orientation. Ceci est à
l’origine d’une difficulté importante pour la description cinématique du corps solide.
z1
{1}
zo
r v
P
p
{0}
p
r
O yo
oo1
O1
xo
y1
x1
Figure 2.2.7, mouvement combiné d’un corps rigide {1} par rapport au repère de base {0}
2.2-10 Jacobien
Soient :
x1 , y1 , z1 , le repère mobile fixé au corps en mouvement,
p , le vecteur reliant un point P du corps solide au centre du repère de base {0},
oo1 , le vecteur translation du repère fixé au corps rigide {1} par rapport au repère de
base {0},
r vecteur position d’un point P du solide dans son repère {1},
r est a distance entre le point P et l’axe z1,
Dans les paragraphes précédents, nous avons vu que le vecteur position r du point P du corps
rigide (Figure 2.2.7) exprimé dans le repère {1} peut être décrit par la relation suivante :
OP p OO1 R1 r 2.2.13
r étant exprimé dans le repère {1} et R1 est la matrice de rotation du repère {1} par rapport à
{0}.
Ainsi, pour connaître la vitesse du point P dans le repère de base {0}, il suffirait de dériver
l’équation (2.2.4) dans le temps. Ceci donnerait :
d d d d
p OO1 R1 r R1 r 2.2.14
dt dt dt dt
La dérivée de la matrice de rotation peut être réécrite sous la forme suivante [Sciavicco 96]:
d
R1 r 1 R1 r z1 R1 r 2.2.15
dt
1 z1 est le vecteur vitesse instantané de la rotation du repère {1} exprimé dans le repère
{0}. Le vecteur vitesse résultant s’exprime finalement comme suit :
d d d
p OO1 R1 r 1 R1 r 2.2.16
dt dt dt
Ou encore si le point P est fixe dans son repère {1}, il obéït à la loi de mouvement suivante :
d d
p OO1 1 R1 r 2.2.17
dt dt
2.2-11 Jacobien
Parenthèse :
Cette relation peut être interprétée d’une manière intuitive. Un point quelconque P du corps rigide (voir
mouvement combiné d’un corps rigide {1} par rapport au repère de base {0}(Figure 2.2.7) tournant avec
une vitesse angulaire décrit un cercle de rayon r autour de l’axe z1. La vitesse linéaire qui en résulte
est tangentielle et a pour module v r . Ceci correspond au produit vectoriel de z1 et de r .
Soit, v ( z1 r ) 2.2.18
y
x
Objet tournant
z i donne la direction du mouvement selon l’articulation (serrage d’une vis si articulation
rotoïde).
vj
zj
i vj
i
r i n + 1
zi i r i n + 1
pn + 1
pi
n
La vitesse rotative résultante, (1 i ) z i q i 2.2.20
1
La Jacobienne géométrique est alors immédiatement déduite.
v
V J (q) q
Compte tenu des équations précédentes, elle possède la forme générale suivante :
1 z1 (1 1 ) z1 r1,n 1 n z n (1 n ) z n rn ,n 1
J / q) 2.2.21
(1 1 ) z1 (1 n ) z n
2.2-13 Jacobien
En remplaçant ri ,n 1 p n 1 p i , avec pi est le vecteur reliant le centre de repère de base au
centre du repère lié à l’articulation i.
Nous obtenons :
1 z1 (1 1 ) z1 ( p n 1 p1 ) n z n (1 n ) z n ( p n 1 p n )
J q 2.2.22
(1 1 ) z1 (1 n ) z n
R1 ( 1 z 0 (1 1 ) zˆ r1,n 1 ) Rn ( n z 0 (1 n ) zˆ rn ,n 1 )
J (q) 2.2.23
(1 1 ) R1 z 0 (1 n ) R1 z 0
z 0 0 0 1
T
Avec
0 1 0
Et ẑ 1 0 0
0 0 0
L’introduction de la nouvelle variable ẑ permet de réécrire le produit vectoriel z 0 rn ,n 1 en un
produit matriciel zˆ ri ,n 1 .
Cette matrice Jacobienne peut également être décomposée en deux parties, la première
mettant en évidence la translation JP, l’autre JO mettant en évidence la rotation de l’organe
terminal. Chacune de ces composantes est de dimension 3.n La matrice Jacobienne est ainsi
écrite sous la forme suivante.
J P (q)
J (q)
J O (q)
Nous écrivons alors,
J (q) J Pn (q)
J (q) P1
J O1 (q ) J On (q )
Remarque :
La méthode de construction de la Jacobienne géométrique traitée dans ce paragraphe n’est pas valable
pour les robots parallèles. Effectivement, dans cette méthode vectorielle nous avons supposé que la chaîne
cinématique était ouverte et qu’une pure translation au niveau d’une articulation prismatique induisait
une pure translation au niveau de la sortie. Dans le cas d’un robot parallèle cette hypothèse n’est pas
forcément valable en raison de la fermeture de la boucle cinématique. Ainsi, une translation induit
facilement une rotation (Voir Figure 2.2.10). Pour plus de détail voir sur la méthode vectorielle dédié aux
robots parallèles voir [Craig, 89].
Exemple 1:
Soit le robot plan rotatif à 2 ddl suivant :
y0 x3
y3
x2
y1 q2
y2
q1
x1
x0
Puisque,
0 l1 cos(q1 )
p1 0 , p 2 l1 sin(q1 ) , vecteurs de liaison depuis la base à la 1ère et la 2ème articulation.
0
0
l1 cos(q1 ) l2 cos(q1 q2 )
p3 l1 sin(q1 ) l2 sin(q1 q2 ) , vecteur de liaison depuis la base à l’organe terminal.
0
0
z1 z 2 0 , car le robot est planaire
1
Alors,
l1 sin(q1 ) l 2 sin(q1 q 2 ) l 2 sin(q1 q 2 )
l cos(q ) l cos(q q ) l 2 cos(q1 q 2 )
1 1 2 1 2
0 0
J
0 0
0 0
1 1
Il faut remarquer que dans ce cas le robot est de dimension 2 et que nous nous intéressons
uniquement aux translations. La Jacobienne mettant en évidence uniquement les translations
s’écrit:
l1 sin(q1 ) l 2 sin(q1 q 2 ) l 2 sin(q1 q 2 )
J P l1 cos(q1 ) l 2 cos(q1 q 2 ) l 2 cos(q1 q 2 )
0 0
La seule rotation mise en évidence dans la définition du Jacobien (6X2) est celle de
l’orientation du repère fixé à l’organe terminal par rapport au repère de base.
z q1 q 2 , i.e. composition des deux rotations des deux articulations 1 et 2, décrit la vitesse
de rotation de l’organe terminal autour de l’axe de base z0.
Exercice :
Trouver le Jacobien pour le robot 3ddl plan (Figure 2.2.12). Considérez que chaque lien est de
longueur li.
Supposer
l1= l2 =l3 = 350 mm,
la résolution du capteur est de 0.005 degrés,
la précision du réglage est de 0.02 degrés,
x4
y0 x3
q3
y4
y3
x2
q2
y1
y2
q1
x1 x0
La réponse correcte est que nous avons fait les deux, i.e. nous avons discuté de deux types de
Jacobien et que nous avons présenté deux méthode de détermination du Jacobien.
Le premier dit géométrique par l’essence même de sa construction vectorielle.
Le second dit analytique car provient d’une pure dérivation analytique d’un modèle
géométrique qui lui-même est analytique.
z z’
z’’
y’
y
y’’
x x’
x’’
Figure 2.2.13, vitesses rotationnelles pour les angles d’Euler Z’Y’Z’
Nous pouvons alors exprimer chacune des vitesses dans le repère de base après trois
orientations successives :
Comme résultat de la rotation : x y z 0 0 1
T T
Comme résultat de la rotation : x y z sin( ) cos( ) 1
T
T
Et selon la rotation : x y z
T
cos( ) sin( ) sin( ) sin( ) cos( )
T
Ainsi nous pouvons écrire la relation entre le vecteur vitesse angulaire et le vecteur vitesse
angulaire Z 'Y 'Z ' (tel que défini pour les angles d’Euler précédents) comme suit. :
x 0 s c s
y 0 c s s Tr ( ).
Z 'Y ' Z ' 2.2.25
1 0 c
z
1 0 0
Tp (q ) 0 1 0 est la matrice de transformation des translations qui vaut l‘identité. Ceci
0 0 1
vaut uniquement dans le cas où les translations sont représentés dans le même référentiel.
Qui donnerait :
vu R u 0
u
J q J u q
u 0 R
Avec :
R u 0
J
u
J
0 Ru