0% ont trouvé ce document utile (0 vote)
246 vues24 pages

Chapitre 3

Transféré par

aminou050
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
246 vues24 pages

Chapitre 3

Transféré par

aminou050
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

III.

Modélisation des robots manipulateurs


La conception et la commande des robots nécessitent le calcul de certains modèles
mathématiques, tels que [11] :
- Les modèles de transformation entre l'espace opérationnel (dans lequel est définie
la situation de l'organe terminal) et l'espace articulaire (dans lequel est définie la
configuration du robot). On distingue :
✓ Les modèles géométriques direct et inverse qui expriment la situation de l'organe
terminal en fonction des variables articulaires du mécanisme et inversement ;
✓ Les modèles cinématiques direct et inverse qui expriment la vitesse de l'organe terminal
en fonction des vitesses articulaires et inversement ;
- Les modèles dynamiques définissant les équations du mouvement du robot, qui
permettent d'établir les relations entre les couples ou forces exercés par les
actionneurs et les positions, vitesses et accélérations des articulations.
On supposera par la suite les bras manipulateurs constitués de n corps mobiles, supposés
parfaitement rigides, reliés entre eux par n liaisons rotoïdes et/ou prismatiques formant une
structure de chaîne simple (voir figure III.1).

Figure III.1 Chaine cinématique d’un bras manipulateur sériel


Pour identifier la nature de la i-ème liaison du bras manipulateur, on définit le paramètre :
0, Pour une liaison rotoïde
𝜎𝑖 = {
1 , Pour une liaison prismatique
On désigne fréquemment les bras manipulateurs en accolant les lettres R (pour rotoïde) et P
(pour prismatique) pour décrire la succession des liaisons.
III.1 Modélisation géométrique d’un robot manipulateur
III.1.1 Description géométrique La conception et la commande des robots nécessitent le
calcul de certains modèles mathématiques tel que le modèle géométrique direct/inverse qui
expriment la situation de l’organe terminal en fonction des variables articulaires du
mécanisme et inversement.
Or, la modélisation des robots de façon systématique et automatique exige une méthode
adéquate pour la description de leur morphologie. Plusieurs méthodes et notations ont été
proposées. La plus répandue est celle de Denavit-Hartenberg. Mais cette méthode,
développée pour des structures ouvertes simples, présente des ambiguïtés lorsqu'elle est
appliquée sur des robots ayant des structures fermées ou arborescentes.
III.1.2 Méthode de Denavit-Hartenberg modifiée par Khalil
Une structure ouverte simple est composée de n+1 corps notés 𝐶0 , … , 𝐶𝑛 et de n
articulations. Le corps 𝐶0 désigne la base du robot et le corps 𝐶𝑛 le corps qui porte l'organe
terminal. L'articulation j connecte le corps 𝐶𝑗 au corps 𝐶𝑗−1 (figure III.1).
La méthode de description est fondée sur les règles et conventions suivantes [12]:
- les corps sont supposés parfaitement rigides. Ils sont connectés par des articulations
considérées comme idéales (pas de jeu mécanique, pas d'élasticité), soit rotoïdes,
soit prismatiques ;
- le repère 𝑅𝑗 est lié au corps 𝐶𝑗 ;
- l'axe 𝑍𝑗 est porté par l'axe de rotation ou translation de l'articulation j ;
- l'axe 𝑋𝑗 est porté par la perpendiculaire commune aux axes 𝑍𝑗 et 𝑍𝑗+1 . Si les axes
𝑍𝑗 et 𝑍𝑗+1 sont parallèles ou colinéaires, le choix de 𝑋𝑗 n'est pas unique : des
considérations de symétrie ou de simplicité permettent alors un choix rationnel.
Le passage du 𝑅𝑗−1 au repère 𝑅𝑗 s'exprime en fonction des quatre paramètres géométriques
suivants (figure III.2) :
• 𝛼𝑗 : Angle entre les axes 𝑍𝑗−1 et 𝑍𝑗 correspondant à une rotation autour de 𝑋𝑗−1 ;
• 𝑑𝑗 : Distance entre 𝑍𝑗−1 et 𝑍𝑗 le long de 𝑋𝑗−1 ;
• 𝜃𝑗 : Angle entre les axes 𝑋𝑗−1 et 𝑋𝑗 correspondant à une rotation autour de 𝑍𝑗 ;
• 𝑟𝑗 : Distance entre 𝑋𝑗−1 et 𝑋𝑗 le long de 𝑍𝑗 .
La matrice de transformation définissant le repère 𝑅𝑗 dans le repère 𝑅𝑗−1 est donnée par :
𝑗−1
𝑇𝑗 = 𝑅𝑜𝑡(X,𝛼𝑗) . 𝑇𝑟𝑎𝑛𝑠(X,𝑑𝑗) . 𝑅𝑜𝑡(Z,𝜃𝑗) . 𝑇𝑟𝑎𝑛𝑠(Z,𝑟𝑗) =

𝑐𝑜𝑠𝜃𝑗 −𝑠𝑖𝑛𝜃𝑗 0 𝑑𝑗
𝑐𝑜𝑠𝛼𝑗 𝑠𝑖𝑛𝜃𝑗 𝑐𝑜𝑠𝛼𝑗 𝑐𝑜𝑠𝜃𝑗 −𝑠𝑖𝑛𝛼𝑗 −𝑟𝑗 𝑠𝑖𝑛𝛼𝑗
(III. 1)
𝑠𝑖𝑛𝛼𝑗 𝑠𝑖𝑛𝜃𝑗 𝑠𝑖𝑛𝛼𝑗 𝑐𝑜𝑠𝜃𝑗 𝑐𝑜𝑠𝛼𝑗 𝑟𝑗 𝑐𝑜𝑠𝛼𝑗
[ 0 0 0 1 ]
𝑋𝑗
𝑍𝑗
𝜃𝑗

𝑍𝑗−1 𝑂𝑗

𝑟𝑗 𝛼𝑗
𝑋𝑗−1

𝑑𝑗
𝑂𝑗−1

Figure III.2 Paramètres géométriques de la méthode D-H [12]


Remarques
- Pour la définition du repère de référence 𝑅0 , le choix le plus simple consiste à
prendre 𝑅0 confondu avec le repère 𝑅1 quand 𝑞1 = 0, ce qui signifie que 𝑍0 est
confondu avec 𝑍1 et 𝑂0 ≡ 𝑂1 lorsque l'articulation 1 est rotoïde, et 𝑍0 est confondu
avec 𝑍1 et 𝑋0 est parallèle à 𝑋1 lorsque l'articulation 1 est prismatique. Ce choix rend
les paramètres 𝛼1 et 𝑑1 nuls ;
- De même, on définit l'axe 𝑋𝑛 du repère 𝑅𝑛 comme étant colinéaire à 𝑋𝑛−1 lorsque
𝑞𝑛 = 0;
- pour une articulation j prismatique, l'axe 𝑍𝑗 est parallèle à l'axe de l'articulation mais
la position de cet axe dans l'espace peut être quelconque : on le place donc de telle
sorte que 𝑑𝑗 ou 𝑑𝑗+1 soit nul ;
- Lorsque 𝑍𝑗 est parallèle à 𝑍𝑗+1 , on place 𝑋𝑗 de telle sorte que 𝑟𝑗 ou 𝑟𝑗+1 soit nul.
III.1.3 Modèle géométrique direct (MGD)
Le modèle géométrique direct (MGD) est l'ensemble des relations permettant de définir la
position de l'organe terminal du robot en fonction de ses coordonnées articulaires.
Pour un robot à chaîne ouverte simple le MGD est défini par la matrice de transformation
0Tn= 0T 1T (𝑞2) 2T (𝑞3)… n-1Tn(𝑞𝑛) (III. 2)
1 (𝑞1 ) 2 3
Le MGD peut aussi être représenté par la relation : 𝑋 = 𝑓(𝑞)
q étant le vecteur des variables articulaires tel que : 𝑞 = [𝑞1 , 𝑞2 , … , 𝑞𝑛 ]
Exemple:
On se propose d'établir le modèle géométrique direct du robot SCARA RRRP représenté,
dans sa configuration initiale, dans la figure suivante :

Figure III.3 Robot SCARA à 4 d.d.l (RRRP) [12]

Afin de se faciliter la tâche, les différents repères permettant d'établir les paramètres de
Denavit-Hartenberg modifié sont représentés de façon schématique dans la figure suivante:

Figure III.4 Différents repères du robot SCARA selon la méthode D-H [12]
De façon pratique, il s'agit de placer :
- Les axes 𝑍𝑗 sur les axes des différentes articulations,
- Puis, les axes 𝑋𝑗 selon les conventions décrites précédemment (perpendiculaire commune
aux axes 𝑍𝑗 𝑒𝑡 𝑍𝑗+1 ).
Une fois les différents repères 𝑅0 … 𝑅𝑛 définis, on détermine les paramètres géométriques
liés à chacun des repères 𝑅𝑗 par rapport à 𝑅𝑗−1 .
Le tableau de D-H est comme suit :
j 𝜎𝑗 𝛼𝑗 𝑑𝑗 𝜃𝑗 𝑟𝑗
1 0 0 0 q1 0
2 0 0 D2 q2 0
3 0 0 D3 q3 0
4 1 0 0 0 q4

Tableau III.1 Paramètres de D-H pour SCARA RRRP


1) Calculer la matrice 𝑇0,4 dans le cas où le robot est dans sa configuration initiale, c'est-
à-dire, lorsque 𝑞1 = 𝑞2 = 𝑞3 = 𝑞4 = 0 (voir figure précédente).
𝑐𝑜𝑠𝜃𝑗 −𝑠𝑖𝑛𝜃𝑗 0 𝑑𝑗
−𝑠𝑖𝑛𝛼𝑗 −𝑟𝑗 𝑠𝑖𝑛𝛼𝑗
𝑇𝑗 = 𝑐𝑜𝑠𝛼𝑗 𝑠𝑖𝑛𝜃𝑗
𝑗−1 𝑐𝑜𝑠𝛼𝑗 𝑐𝑜𝑠𝜃𝑗
❖ On sait que :
𝑠𝑖𝑛𝛼𝑗 𝑠𝑖𝑛𝜃𝑗 𝑠𝑖𝑛𝛼𝑗 𝑐𝑜𝑠𝜃𝑗 𝑐𝑜𝑠𝛼𝑗 𝑟𝑗 𝑐𝑜𝑠𝛼𝑗
[ 0 0 0 1 ]

cos(𝑞1 ) − sin(𝑞1 ) 0 0
0
𝑇1 = [ sin(𝑞1 ) cos(𝑞1 ) 0 0] , 1
𝑇2 =
0 0 1 0
0 0 0 1
1 0 0 𝐷2 cos(𝑞2 ) − sin(𝑞2 ) 0 0 cos(𝑞2 ) − sin(𝑞2 ) 0 𝐷2
[0 1 0 0 ] [ sin(𝑞2 ) cos(𝑞2 ) 0 0] = [ sin(𝑞2 ) cos(𝑞2 ) 0 0]
0 0 1 0 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1

cos(𝑞1 + 𝑞2 ) − sin(𝑞1 + 𝑞2 ) 0 𝐷2 ∗ cos(𝑞1 )


𝑇2 = 𝑇1 ∗ 1𝑇2 = sin(𝑞1 + 𝑞2 ) cos(𝑞1 + 𝑞2 ) 0 𝐷2 ∗ sin(𝑞1 )
0 0

0 0 1 0
[ 0 0 0 1 ]

1 0 0 𝐷3 cos(𝑞3 ) − sin(𝑞3 ) 0 0 cos(𝑞3 ) − sin(𝑞3 ) 0 𝐷3


2
𝑇3 = [0 1 0 0 ] sin(𝑞3 ) cos(𝑞3 ) 0 0 = sin(𝑞3 ) cos(𝑞3 ) 0 0
0 0 1 0 0 0 1 0 0 0 1 0
0 0 0 1 [ 0 0 0 1] [ 0 0 0 1]

1 0 0 0 cos(𝑞3 ) − sin(𝑞3 ) 0 𝐷3
3 0 1 0 0 ], 2𝑇 = 2𝑇 ∗ 3𝑇 = sin(𝑞3 ) cos(𝑞3 ) 0 0
𝑇4 = [ 4 3 4
0 0 1 𝑞4 0 0 1 𝑞4
0 0 0 1 [ 0 0 0 1]
0
𝑇4 = 0𝑇2 ∗ 2𝑇4
cos(𝑞1 + 𝑞2 ) − sin(𝑞1 + 𝑞2 ) 0 𝐷2 ∗ cos(𝑞1 ) cos(𝑞3 ) − sin(𝑞3 ) 0 𝐷3
= [ sin(𝑞1 + 𝑞2 ) cos(𝑞1 + 𝑞2 ) 0 𝐷2 ∗ sin(𝑞1 ) ] ∗ [ sin(𝑞3 ) cos(𝑞3 ) 0 0]
0 0 1 0 0 0 1 𝑞4
0 0 0 1 0 0 0 1

On pose : 𝑠𝑖 = sin(𝑞𝑖 ), 𝑐𝑖 = cos(𝑞𝑖 ), 𝑠𝑖𝑗 = sin(𝑞𝑖 + 𝑞𝑗 ) , 𝑐𝑖𝑗 = cos(𝑞𝑖 + 𝑞𝑗 )

𝑐2 𝑐12 − 𝑠2 𝑠12 −𝑠2 𝑐12 − 𝑐2 𝑠12 0 𝐷3 ∗ 𝑐12 +𝐷2 ∗ 𝑐1


0 𝐷3 ∗ 𝑠12 +𝐷2 ∗ 𝑠1
0
𝑇4 = [𝑠2 𝑐12 + 𝑐2 𝑠12 𝑐2 𝑐12 − 𝑠2 𝑠12
]
0 0 1 𝑞4
0 0 0 1
1 0 0 𝐷3 + 𝐷2
Pour : 𝑞1 = 𝑞2 = 𝑞3 = 𝑞4 = 0 0
𝑇4 = [0 1 0 0]
0 0 1 0
0 0 0 1
2) Retrouver, à l'aide de la matrice 0𝑇4 , la situation de l'organe terminal par rapport au
repère 𝑅0 lorsque le robot est dans sa configuration initiale.
❖ La situation de l’organe terminal par rapport au repère 𝑅0 est la dernière colonne (sauf
𝐷3 + 𝐷2
le 1), c-à-d : 𝑃𝑒 = [ 0 ].
0
III.1.4 Modèle géométrique inverse (M.G.I)

Le modèle géométrique direct d’un robot, décrit dans le paragraphe III.1.3, permet de
calculer les coordonnées opérationnelles donnant la situation de l’organe terminal en
fonction des coordonnées articulaires. Le problème inverse consiste à calculer les
coordonnées articulaires correspondant à une situation donnée de l’organe terminal.
Pour le calcul du modèle géométrique inverse, on distingue parmi les méthodes analytiques
les trois méthodes suivantes [13] :
- La méthode de Paul: traite séparément chaque cas particulier et convient à la majorité
des robots industriels
- La méthode de Pieper: permet de résoudre le problème pour un nombre limité
d’architectures simples (robots à 6 degrés de liberté (ddl), possédant 3 articulations
rotoïdes d’axes concourants ou 3 articulations prismatiques).
- La méthode de raghavan et Roth, donnant la solution générale des robots à six
articulations à partir d'un polynôme de degré au plus égal à 16.
Lorsque le modèle géométrique inverse n’existe pas, on utilise des méthodes numériques
(La méthode de Newton Raphson, La méthode d’élimination symbolique,…).
On ne présente dans ce paragraphe que la méthode de Paul, celles de Pieper et de Raghavan
et Roth ne sont pas abordées dans ce cours.
III.1.4.1 Principe de la méthode de Paul
Dans le cas de robots à géométrie simple (pour lesquels la plupart des distances 𝑑𝑗 et
𝑟𝑗 sont nulles et les angles 𝜃𝑗 et 𝛼𝑗 sont égaux à 0,± 𝜋⁄2), le modèle géométrique inverse
(M.G.I) peut être obtenu analytiquement via la méthode de Paul [14].
Considérons le robot décrit par la matrice de transformation suivante :
0Tn= 0T (𝑞1) 1T (𝑞2) 2T (𝑞3)… n-1Tn(𝑞𝑛) (III. 3)
1 2 3
Soit 𝑈0 la situation du repère 𝑅𝑛 (lié à l'organe terminal) décrit par :
𝑠𝑥 𝑛𝑥 𝑎𝑥 𝑃𝑥
𝑠 𝑛𝑦 𝑎𝑦 𝑃𝑦
𝑈0 = 𝑦 (III. 4)
𝑠𝑧 𝑛𝑧 𝑎𝑧 𝑃𝑧
[ 0 0 0 1 ]
Le M.G.I. est obtenu en résolvant l'équation matricielle suivante :
𝑈0 = 0Tn= 0T (𝑞1) 1T (𝑞2) 2T (𝑞3)… n-1Tn(𝑞𝑛)
1 2 3
La méthode de Paul permet la détermination de 𝑞1 , puis 𝑞2 et ainsi de suite jusqu'à 𝑞𝑛 . Il
s'agit de déplacer l'une après l'autre chacune des variables articulaires (𝑞1 𝑞2 … 𝑞𝑛 ) dans le
membre de gauche de l'équation. Pour cela, on multiplie par j-1T (en prenant
j

successivement 𝑗 = 1 … 𝑛) de part et d'autre dans l'équation.


Pour un robot à six degrés de liberté par exemple, on procède comme suit :
- Multiplication à gauche de l'expression par 1T :
0

1T0 . 𝑈0 = 1T2 2T3. 3T4 . 4T5 5T6


Le terme de droite est fonction des variables q2, …, q6. Le terme de gauche n'est fonction
que des éléments de U0 et de la variable q1 ;
- Identification terme à terme des deux membres de l'équation. On se ramène à un système
d'une ou de deux équations fonction de q1 uniquement, dont la structure appartient à un
type particulier parmi une dizaine de types possibles [14]:
1. Equations type 1 : 𝑋. 𝑟𝑗 = 𝑌
𝑌
X et Y étant connus, dans ce cas, la réponse est : 𝑟1 = 𝑋 avec 𝑋 ≠ 0

2. Equations type 2 : 𝑋. sin 𝜃𝑖 + 𝑌. cos 𝜃𝑖 = 𝑍


X et Y étant connus, deux cas peuvent être envisagés :
a) 𝑍 = 0, deux solutions sont possibles :
𝜃𝑖 = 𝐴𝑇𝐴𝑁2(−𝑌, 𝑋)
𝜃́𝑖 = 𝜃𝑖 + 180°
b) 𝑍 ≠ 0
On résout le système en sinus et en cosinus, puis on prend l’arctangente
: On peut réécrire le système type 2 de deux manières différentes.
𝑌. cos 𝜃𝑖 = 𝑍 − 𝑋. sin 𝜃𝑖
𝑋. sin 𝜃𝑖 = 𝑍 − 𝑌. cos 𝜃𝑖
En sinus : le carré de la première équation donne, après manipulation :
(𝑋 2 + 𝑌 2 ). sin2 𝜃𝑖 − 2. 𝑍. 𝑋. sin 𝜃𝑖 + 𝑍 2 − 𝑌 2 = 0
𝑍.𝑋±𝑌√𝑋 2 +𝑌 2 −𝑍 2
D’où :sin 𝜃𝑖 =
𝑋 2 +𝑌 2
En cosinus : le carré de la deuxième équation donne, après manipulation :
(𝑋 2 + 𝑌 2 ). cos 2 𝜃𝑖 − 2. 𝑍. 𝑌. cos 𝜃𝑖 + 𝑍 2 − 𝑋 2 = 0
𝑍.𝑌±𝑋√𝑋 2 +𝑌 2 −𝑍 2
D’où :cos 𝜃𝑖 =
𝑋 2 +𝑌 2
Nous devrons vérifier à chaque instant que : cos2 𝜃𝑖 + sin2 𝜃𝑖 = 1. La réponse,
𝑍.𝑋±𝑌√𝑋 2 +𝑌 2 −𝑍 2 𝑍.𝑌±𝑋√𝑋 2 +𝑌 2 −𝑍 2
pour 𝑋 2 + 𝑌 2 − 𝑍 2 ≥ 0 , est la suivante:𝜃𝑖 = 𝐴𝑇𝐴𝑁2 ( , )
𝑋 2 +𝑌 2 𝑋 2 +𝑌 2

3. Equations type 3 (forme 1) :


𝑋1 . sin 𝜃𝑖 = 𝑌1
𝑋2 . cos 𝜃𝑖 = 𝑌2
𝑌 𝑌
Pour 𝑋1 ≠ 0, 𝑋2 ≠ 0 la réponse est : 𝜃𝑖 = 𝐴𝑇𝐴𝑁2 (𝑋1 , 𝑋2 )
1 2

Equations type 3 (forme2) :


𝑋1 . sin 𝜃𝑖 + 𝑌1 . cos 𝜃𝑖 = 𝑍1
𝑋2 . sin 𝜃𝑖 + 𝑌2 . cos 𝜃𝑖 = 𝑍2
𝑌2 .𝑍1 −𝑌1 .𝑍2 𝑋1 .𝑍2 −𝑋2 .𝑍1
En posant : sin 𝜃𝑖 = ; cos 𝜃𝑖 = , on trouve :
𝑋1 .𝑌2 −𝑋2 .𝑌1 𝑋1 .𝑌2 −𝑋2 .𝑌1

𝜃𝑖 = 𝐴𝑇𝐴𝑁2(sin 𝜃𝑖 , cos 𝜃𝑖 )
4. Equations type 4 :
𝑋1 . 𝑟𝑗 . sin 𝜃𝑖 = 𝑌1
𝑋2 . 𝑟𝑗 . cos 𝜃𝑖 = 𝑌2
Le carré des équations donne, après manipulation :

𝑌2 𝑌2
Pour: 𝑋1 ≠ 0, 𝑋2 ≠ 0 → 𝑟𝑗 = ±√ 12 + 22
𝑋1 𝑋2

𝑌 𝑌
Et pour 𝑟𝑗 ≠ 0 → 𝜃𝑖 = 𝐴𝑇𝐴𝑁2 (𝑋1 . 𝑟𝑗 , 𝑋2 . 𝑟𝑗 )
1 2

5. Equations type 5 :
𝑋1 . sin 𝜃𝑖 = 𝑌1 + 𝑍1 . 𝑟𝑗
𝑋2 . cos 𝜃𝑖 = 𝑌2 + 𝑍2 . 𝑟𝑗
𝑌 𝑍 𝑌 𝑍
Si on pose : 𝑉1 = 𝑋1 ; 𝑊1 = 𝑋1 ; 𝑉2 = 𝑋2 ; 𝑊2 = 𝑋2
1 1 2 2

−(𝑉1 . 𝑊1 + 𝑉2 . 𝑊2 ) ± √𝑊21 + 𝑊22 − (𝑉1 . 𝑊2 − 𝑉2 . 𝑊1 )2


𝑟𝑗 =
𝑊21 + 𝑊22

𝜃𝑖 = ATAN2(𝑉1 + 𝑊1 . 𝑟𝑗 , 𝑉2 + 𝑊2 . 𝑟𝑗 )

6. Equations type 6 :
W. sin θj = X. cos θi + Y. sin θi + 𝑍1
W. cos θj = X. sin θi − Y. cos θi + 𝑍2

Mise au carré des deux équations puis la somme donne :


𝑎1 . sin 𝜃𝑖 + 𝑎2 . cos 𝜃𝑖 = 𝑎3
Avec :
𝑎1 = 2(𝑌𝑍1 + 𝑋𝑍2 )
𝑎2 = 2(𝑋𝑍1 − 𝑌𝑍2 )
𝑎3 = 𝑊 2 − 𝑋 2 − 𝑌 2 − 𝑍12 − 𝑍22
On utilise les équations du type 2 et du type 3 (forme 1) pour trouver 𝜃𝑖 et 𝜃𝑗 :

Tel que : 𝑌1 = 𝑋. cos 𝜃𝑖 + 𝑌. sin 𝜃𝑖 + 𝑍1 et 𝑋1 = 𝑋2 = 𝑊


𝑌2 = 𝑌. sin 𝜃𝑖 − 𝑌. cos 𝜃𝑖 + 𝑍2
7. Equations type 7 :
𝑊1 . cos 𝜃𝑗 + 𝑊2 . sin 𝜃𝑖 = 𝑋 cos 𝜃𝑖 + 𝑌. sin 𝜃𝑖 + 𝑍1

𝑊1 . cos 𝜃𝑗 + 𝑊2 . sin 𝜃𝑖 = 𝑋 cos 𝜃𝑖 + 𝑌. sin 𝜃𝑖 + 𝑍1

Le carré des équations membre à membre et la somme, après manipulation, nous


donne, pour les premiers membres : 𝑊12 + 𝑊22
Pour les second membres :
𝑋 2 + 𝑌 2 + 𝑍12 + 𝑍22 + 2. (𝑋. 𝑍1 − 𝑌. 𝑍2 ). cos 𝜃𝑖 + 2. (𝑌. 𝑍1 + 𝑋. 𝑍2 ). sin 𝜃𝑖
En égalisant les deux résultats obtenus, on trouve :
2. (𝑋. 𝑍1 − 𝑌. 𝑍2 ). cos 𝜃𝑖 + 2. (𝑌. 𝑍1 + 𝑋. 𝑍2 ). sin 𝜃𝑖 = 𝑊12 + 𝑊22 − 𝑋 2 − 𝑌 2 − 𝑍12 − 𝑍22
C’est une équation de type 2 en 𝜃𝑖 . Une fois 𝜃𝑖 calculé, on résout une des
deux équations de type 2 en 𝜃𝑗 .
8. Equations type 8 :
𝑋. cos 𝜃𝑖 + 𝑌. cos(𝜃𝑖 + 𝜃𝑗 ) = 𝑍1
𝑋. sin 𝜃𝑖 + 𝑌. sin(𝜃𝑖 + 𝜃𝑗 ) = 𝑍2

De la méme façon précédente, on obtient :


𝑍12 + 𝑍22 − 𝑋 2 − 𝑌 2
cos 𝜃𝑗 =
2. 𝑋. 𝑌
D’où : 𝜃𝑗 = 𝐴𝑇𝐴𝑁2(±√1 − cos2 𝜃𝑗 , cos 𝜃𝑗 )
Après calcul, on trouve :
𝐵1 . cos 𝜃𝑖 − 𝐵2 . sin 𝜃𝑖 = 𝑍1 avec 𝐵1 =X+Y. cos 𝜃𝑗
𝐵2 . cos 𝜃𝑖 + 𝐵1 . sin 𝜃𝑖 = 2 avec 𝐵2 =Y. sin 𝜃𝑗
(Equation type 3, forme 2) : 𝜃𝑖 = 𝐴𝑇𝐴𝑁2(sin 𝜃𝑖 , cos 𝜃𝑖 )
9. Equations type 9:
𝑋. cos 𝜃𝑖 = 𝑌

𝑌
Dans ce cas la réponse est : cos 𝜃𝑖 = 𝑋 ; sin 𝜃𝑖 = ±√1 − cos 2 𝜃𝑖 , et :

𝜃𝑖 = 𝐴𝑇𝐴𝑁2(sin 𝜃𝑖 , cos 𝜃𝑖 )
10. Equations type 10:
𝑋. sin 𝜃𝑖 = 𝑌

𝑌
Dans ce cas la réponse est : sin 𝜃𝑖 = 𝑋 ; cos 𝜃𝑖 = ±√1 − sin2 𝜃𝑖 , et :

𝜃𝑖 = 𝐴𝑇𝐴𝑁2(sin 𝜃𝑖 , cos 𝜃𝑖 )

- Multiplication à gauche de l'expression par 2T et calcul de q2.


1

La succession des équations permettant le calcul de tous les qj est la suivante :

𝑈0 = 0T . 1T 2T 3T 4T 5T
1 2 3 4 5 6

1T . 𝑈0 = 1T 2T 3T 4T 5T
0 2 3 4 5 6

2T 1T . 𝑈0 = 2T 3T 4T 5T
1 0 3 4 5 6

3T 2T 1T . 𝑈0 = 3T 4T 5T
2 1 0 4 5 6

4T 3T 2T 1T . 𝑈0 = 4T 5T
3 2 1 0 5 6
5T 4T 3T 2T 1T . 𝑈0 = 5T
4 3 2 1 0 6

Avec : 𝑈𝑗 = jT6 = jTj-1 𝑈𝑗−1 ; 𝑗 = 1 … 4

Avant de résoudre un MGI, il faut vérifier les deux conditions suivantes :


1. Vérifier que la situation désirée soit dans la zone accessible du robot, sinon on n'aura
pas de solution réelle au MGI ;
2. Eviter les configurations singulières pour ne pas avoir une infinité de solutions au MGI.
III.1.4.2 Exemples de calcul du MGI :

III.1.4.2.1 Par une démarche analytique simple

Soit le manipulateur RR plan décrit ci-dessous :

Figure III.5 Robot manipulateur plan RR

𝑥 = 𝑙1 cos(𝜃1 ) + 𝑙2 cos(𝜃1 + 𝜃2 )
On a le modèle géométrique direct suivant : { (III. 5)
𝑦 = 𝑙1 sin(𝜃1 ) + 𝑙2 sin(𝜃1 + 𝜃2 )

Le MGI peut être déterminé par une démarche analytique simple (théorème d’Al-Kashi)

𝐿2 = 𝑥 2 + 𝑦 2
On a les relations suivantes : {
𝐿2 = 𝑙12 + 𝑙22 − 2𝑙1 𝑙2 cos(𝛼) , avec 𝛼 = 𝜋 + 𝜃2

𝑥 2 +𝑦 2 −𝑙12 −𝑙22
D’où : 𝑥 2 + 𝑦 2 = 𝑙12 + 𝑙22 + 2𝑙1 𝑙2 cos(𝜃2 ) ⇒ cos(𝜃2 ) =
2𝑙1 𝑙2

𝑥 2 +𝑦 2 −𝑙12 −𝑙22 𝑥 2 +𝑦 2 −𝑙12 −𝑙22


D’où : 𝜃2 = ±𝐴𝑅𝐶𝑂𝑆 ( ) avec : −1 ≤ ≤ 1, cette dernière
2𝑙1 𝑙2 2𝑙1 𝑙2
condition indique l’atteignabilité du point E.

𝒚𝒃

𝒍𝟐

𝜽𝟐 𝑬(𝒙, 𝒚)
Figure III.6 Application du théorème d’Al-Kashi

On note ici que lorsque 𝜃2 est positif (respectivement négatif), le robot a une posture
coude bas (respectivement coude haut), comme montre la figure ci-dessous :

𝒚𝒃

𝜽𝟐 𝑬(𝒙, 𝒚)

𝜶 𝜽́𝟐

𝜽𝟏
𝑳 𝜽́𝟏
𝟎
𝒙𝒃
Figure III.7 Deux postures possibles du robot plan RR
Or, le développement trigonométrique des expressions cos(𝜃1 + 𝜃2 ) et sin(𝜃1 + 𝜃2 )
dans le MGD donne :
𝑥 = (𝑙1 + 𝑙2 cos(𝜃2 )) cos 𝜃1 − 𝑙2 sin(𝜃2 ) sin(𝜃1 )
{
𝑦 = (𝑙1 + 𝑙2 cos(𝜃2 )) sin 𝜃1 + 𝑙2 sin(𝜃2 ) cos(𝜃1 )
Le déterminant du système de deux équations précédentes est :
𝑙 + 𝑙2 cos(𝜃2 ) −𝑙2 sin(𝜃2 )
𝑑é𝑡 = | 1 | = 𝑙12 + 𝑙22 + 2𝑙1 𝑙2 cos(𝜃2 ) = 𝑥2 + 𝑦2
𝑙2 sin(𝜃2 ) 𝑙1 + 𝑙2 cos(𝜃2 )
𝑥 −𝑙2 sin(𝜃2 ) 𝑙 +𝑙 cos(𝜃2 ) 𝑥
| | |1 2 |
𝑦 𝑙1 +𝑙2 cos(𝜃2 ) 𝑙2 sin(𝜃2 ) 𝑦
Donc : cos(𝜃1 ) = et sin(𝜃1 ) =
𝑥 2 +𝑦 2 𝑥 2 +𝑦 2

Il en résulte, après calcul :


𝑦(𝑙1 + 𝑙2 cos(𝜃2 )) − 𝑥𝑙2 sin(𝜃2 )
𝜃1 = 𝐴𝑟𝑐𝑡𝑔 ( )
𝑥(𝑙1 + 𝑙2 cos(𝜃2 )) + 𝑦𝑙2 sin(𝜃2 )
On remarque que 𝜃2 prend deux valeurs de signes opposés correspondant à deux
postures différentes du bras (sous réserve qu'il n'y ait pas de butées sur les articulations).
III.1.4.2.2 Par la méthode de Paul (Cas d'un robot à 6 d.d.l. ayant un poignet)

La méthode de Paul décrite précédemment peut s'appliquer dans le cas de robots


industriels à 6 d.d.l ayant un poignet comme le robot Stäubli RX 90 par exemple.
On appelle P le point d'intersection des axes concourants des 3 dernières articulations
(voir figure III.8) [14].

Figure III.8 Strucure du robot Staubli RX90


Les paramètres spécifiques de Denavit-Hartenberg du poignet sont : 𝑑5 = 𝑑6 = 0 , 𝑟5 =
0 et pour éviter la redondance du robot :sin 𝛼5 ≠ 0 , sin 𝛼6 ≠ 0.

j 𝜎𝑗 𝛼𝑗 𝑑𝑗 𝜃𝑗 𝑟𝑗
1 0 0 0 q1 0
2 0 π/2 0 q2 0
3 0 0 a=0.4318 q3 0
4 0 −π/2 0 q4 d=0.2435
5 0 π/2 0 q5 0
6 0 −π/2 0 q6 0

Tableau III.2 Paramètres de D-H du robot Staubli RX90


Les quatre premières matrices de transformations homogènes sont données par:

cos(𝑞1 ) −sin(𝑞1 ) 0 0 cos(𝑞2 ) −sin(𝑞2 ) 0 0


0T = [ sin(𝑞1 ) cos(𝑞1 ) 0 0] , 1 = [
T
0 0 1 0]
1 0 0 1 0 2 −sin(𝑞2 ) cos(𝑞2 ) 0 0
0 0 0 1 0 0 0 1

cos(𝑞3 ) −sin(𝑞3 ) 0 𝑎 cos(𝑞4 ) −sin(𝑞4 ) 0 0


2T = [ sin(𝑞3 ) cos(𝑞3 ) 0 0] , 3 = [ 0
T4
0 −1 −𝑑 ]
3 0 0 1 0 sin(𝑞4 ) cos(𝑞4 ) 0 0
0 0 0 1 0 0 0 1

Dans la figure III.8, la position du point P (centre du poignet) est fonction des variables
articulaires 𝑞1 , 𝑞2 , 𝑞3 (lorsque le poignet du robot est une rotule d’axes concourants, c’est le
porteur qui pilote la position de l’organe terminal). Ainsi, ce type de structure de robot
permet de décomposer le problème du calcul des six variables articulaires en deux
problèmes :
➢ L'un, appelé problème de position, est fonction de 𝑞1 , 𝑞2 , 𝑞3 , il permet de déterminer
les paramètres 𝑞1 , 𝑞2 , 𝑞3 .
➢ L'autre, appelé problème d'orientation, est fonction de 𝑞4 , 𝑞5 , 𝑞6, il permet de déterminer
les paramètres 𝑞4 , 𝑞5 , 𝑞6 .
- Pour la position, on détermine 𝑞1 , 𝑞2 , 𝑞3 :
𝑃𝑥 0 cos(𝑞1 )[𝑑. sin(𝑞2 + 𝑞3 ) + 𝑎. cos(𝑞2 )]
𝑃𝑦
On a : [ ] = 0T1 × 1T2 . × 2T3 × 3T4.(𝑞4=0) × [0] = [ sin(𝑞1 )[𝑑. sin(𝑞2 + 𝑞3 ) + 𝑎. cos(𝑞2 )] ]
𝑃𝑧 0 𝑑. cos(𝑞2 + 𝑞3 ) − 𝑎. sin(𝑞2 )
1 1 1
- Prémultiplication par la matrice 1T , on obtient :
0
𝑃𝑥 0
𝑃𝑦
1T × [ ] = 1T . × 2T × 3T . × [0]
0 𝑃𝑧 2 3 4 0
1 1

Tel que : 1T = 0𝑇 𝑇
0 1

0 𝑑. sin(𝑞2 + 𝑞3 ) + 𝑎. cos(𝑞2 )
On trouve : 1T . × 2T × 3T . × [0] = [ 0 ]
2 3 4 0 𝑑. cos(𝑞2 + 𝑞3 ) −𝑎. sin(𝑞2 )
1 1
𝑃𝑥 cos(𝑞1 ) sin(𝑞1 ) 0 0 𝑃𝑥
𝑃𝑦 𝑃
D’autre part : 1T × [ ] = [−sin(𝑞1 ) cos(𝑞1 ) 0 0] × [ 𝑦 ] =
0 𝑃𝑧 0 0 1 0 𝑃𝑧
1 0 0 0 1 1
𝑐𝑜𝑠(𝑞1 ). 𝑃𝑥 + sin(𝑞1 ). 𝑃𝑦
{− sin(𝑞1 ). 𝑃𝑥 + 𝑐𝑜𝑠(𝑞1 ). 𝑃𝑦
𝑃𝑧

Il en résulte les équations suivantes :


𝑐𝑜𝑠(𝑞1 ). 𝑃𝑥 + sin(𝑞1 ). 𝑃𝑦 = 𝑑. sin(𝑞2 + 𝑞3 ) + 𝑎. cos(𝑞2 )
{ − sin(𝑞1 ). 𝑃𝑥 + 𝑐𝑜𝑠(𝑞1 ). 𝑃𝑦 = 0 (III. 6)
𝑃𝑧 = 𝑑. cos(𝑞2 + 𝑞3 ) −𝑎. sin(𝑞2 )

Donc, on peut déduire de la deuxième équation la valeur de 𝑞1 :

𝑃𝑦
𝑞1 = 𝐴𝑇𝐴𝑁 ( )
{ 𝑃𝑥

𝑞1 = 𝑞1 + 𝜋

- Prémultiplication par la matrice 2T , on obtient :


1
𝑃𝑥 0
𝑃𝑦
2T × 1T × [ ] = 2T × 3T . × [0]
1 0 𝑃𝑧 3 4 0
1 1

Tel que : 2T = 1𝑇 𝑇
1 2

𝑃𝑥 cos(𝑞2 )[cos(𝑞1 )𝑃𝑥 + sin(𝑞1 )𝑃𝑦 ] − sin(𝑞2 )𝑃𝑧


𝑃
On obtient alors : 2T × 1T × [ 𝑦 ] = −sin(𝑞2 )[cos(𝑞1 )𝑃𝑥 + sin(𝑞1 )𝑃𝑦 ] − cos(𝑞2 )𝑃𝑧
1 0 𝑃𝑧 − sin(𝑞1 )𝑃𝑥 + cos(𝑞1 )𝑃𝑦
1 [ 1 ]

0 𝑑. sin(𝑞3 ) + 𝑎
Par ailleur, on a : 2T × 3T . × [0] = [ −𝑑. cos(𝑞3 ) ]
3 4 0 0
1 1

Ce qui donne :

cos(𝑞2 )[cos(𝑞1 )𝑃𝑥 + sin(𝑞1 )𝑃𝑦 ] − sin(𝑞2 )𝑃𝑧 𝑑. sin(𝑞3 ) + 𝑎


−sin(𝑞2 )[cos(𝑞1 )𝑃𝑥 + sin(𝑞1 )𝑃𝑦 ] − cos(𝑞2 )𝑃𝑧 = [ −𝑑. cos(𝑞3 ) ]
− sin(𝑞1 )𝑃𝑥 + cos(𝑞1 )𝑃𝑦 0
[ 1 ] 1
Il en résulte les équations suivantes :

𝑑. sin(𝑞3 ) = cos(𝑞2 )[cos(𝑞1 )𝑃𝑥 + sin(𝑞1 )𝑃𝑦 ] − sin(𝑞2 )𝑃𝑧 − 𝑎


{ (III. 7)
𝑑. cos(𝑞3 ) = sin(𝑞2 )[cos(𝑞1 )𝑃𝑥 + sin(𝑞1 )𝑃𝑦 ] − cos(𝑞2 )𝑃𝑧

La mise au carré puis la somme des deux équations donne :

2
𝑑2 = [cos(𝑞1 )𝑃𝑥 + sin(𝑞1 )𝑃𝑦 ] + 𝑃𝑧 2 + 𝑎2
− 2𝑎[cos(𝑞1 )𝑃𝑥 + sin(𝑞1 )𝑃𝑦 ] cos(𝑞2 ) + 2𝑎 sin(𝑞2 )𝑃𝑧

On met :

2
𝑋 = 2𝑎𝑃𝑧 ; 𝑌 = −2𝑎[cos(𝑞1 )𝑃𝑥 + sin(𝑞1 )𝑃𝑦 ] ; 𝑍 = 𝑑 2 − [cos(𝑞1 )𝑃𝑥 + sin(𝑞1 )𝑃𝑦 ] − 𝑃𝑧 2 − 𝑎2

La dernière équation devient : 𝑋. sin(𝑞2 ) + 𝑌 cos(𝑞2 ) = 𝑍 (équation type 2).

𝑍.𝑋±𝑌√𝑋 2 +𝑌 2 −𝑍 2 𝑍.𝑌±𝑋√𝑋 2 +𝑌 2 −𝑍 2
Pour 𝑍 ≠ 0 𝑞2 = 𝐴𝑇𝐴𝑁2 ( , )
𝑋 2 +𝑌 2 𝑋 2 +𝑌 2

A partir du système d’équations, on peut déduire la valeur de 𝑞3 , connaissant 𝑞2 :

[cos(𝑞1 )𝑃𝑥 + sin(𝑞1 )𝑃𝑦 ] cos(𝑞2 ) − sin(𝑞2 )𝑃𝑧 − a


𝑞3 = 𝐴𝑇𝐴𝑁2 ( )
[cos(𝑞1 )𝑃𝑥 + sin(𝑞1 )𝑃𝑦 ] sin(𝑞2 ) + cos(𝑞2 )𝑃𝑧

- Pour l’orientation, une fois obtenus les paramètres 𝑞1 , 𝑞2 , 𝑞3 , le calcul des paramètres
𝑞4 , 𝑞5 , 𝑞6 se fait à partir de la relation :
3T (𝑞4 , 𝑞5 , 𝑞6 ) = [𝐹 𝐺 𝐻]
6
Avec : [𝐹 𝐺 𝐻 ] = 3T0 (𝑞1 , 𝑞2 , 𝑞3 ) × [𝑆 𝑁 𝐴]

Rappel : on pose cos(𝑞𝑖 ) ≡ 𝑐𝑖 ; sin(𝑞𝑖 ) ≡ 𝑠𝑖 ; cos(𝑞𝑖 + 𝑞𝑗 ) = 𝑐𝑖𝑗 ; sin(𝑞𝑖 + 𝑞𝑗 ) = 𝑠𝑖𝑗


3T = 3T . 2T . 1T
0 2 1 0

𝑐1 𝑐2 𝑐3 − 𝑐1 𝑠2 𝑠3 𝑐3 𝑐2 𝑠1 − 𝑠1 𝑠2 𝑠3 −𝑐3 𝑠2 − 𝑠3 𝑐2
3T = [ 3 𝑐2 𝑐1 − 𝑐3 𝑠2 𝑐1
−𝑠 −𝑠3 𝑐2 𝑠1 − 𝑐3 𝑠2 𝑠1 𝑠3 𝑠2 − 𝑐3 𝑐2 ]
0
−𝑠1 𝑐1 0

𝐹𝑥 𝐺𝑥 𝐻𝑥 𝑆𝑥 𝑁𝑥 𝐴𝑥
On a aussi : [𝐹 𝐺 𝐻 ] = [𝐹𝑦 𝐺𝑦 𝐻𝑦 ], et [𝑆 𝑁 𝐴] = [𝑆𝑦 𝑁𝑦 𝐴𝑦 ]
𝐹𝑧 𝐺𝑧 𝐻𝑧 𝑆𝑧 𝑁𝑧 𝐴𝑧

Il en résulte :
𝐹𝑥 = 𝑐23 (𝑐1 𝑆𝑥 + 𝑠1 𝑆𝑦 ) − 𝑠23 𝑆𝑧
𝐹 → {𝐹𝑦 = −𝑠23 (𝑐1 𝑆𝑥 + 𝑠1 𝑆𝑦 ) − 𝑐23 𝑆𝑧
𝐹𝑧 = −𝑠1 𝑆𝑥 + 𝑐1 𝑆𝑦

𝐺𝑥 = 𝑐23 (𝑐1 𝑁𝑥 + 𝑠1 𝑁𝑦 ) − 𝑠23 𝑁𝑧


𝐺 → {𝐺𝑦 = −𝑠23 (𝑐1 𝑁𝑥 + 𝑠1 𝑁𝑦 ) − 𝑐23 𝑁𝑧
𝐺𝑧 = −𝑠1 𝑁𝑥 + 𝑐1 𝑁𝑦

𝐻𝑥 = 𝑐23 (𝑐1 𝐴𝑥 + 𝑠1 𝐴𝑦 ) − 𝑠23 𝐴𝑧


𝐻 → {𝐻𝑦 = −𝑠23 (𝑐1 𝐴𝑥 + 𝑠1 𝐴𝑦 ) − 𝑐23 𝐴𝑧
𝐻𝑧 = −𝑠1 𝐴𝑥 + 𝑐1 𝐴𝑦

La pré-multiplication de l'équation par la matrice 4T donne :


3

𝑐4 . 𝐹𝑥 + 𝑠4 . 𝐹𝑧 𝑐4 . 𝐺𝑥 + 𝑠4 . 𝐺𝑧 𝑐4 . 𝐻𝑥 + 𝑠4 . 𝐻𝑧 𝑐5 . 𝑐6 −𝑐5 . 𝑠6 𝑠5
[ 4 . 𝐹𝑥 + 𝑐4 . 𝐹𝑧
−𝑠 −𝑠4 . 𝐺𝑥 + 𝑐4 . 𝐺𝑧 −𝑠4 . 𝐻𝑥 + 𝑐4 . 𝐻𝑧 ] = [ 𝑠6 𝑐6 0]
−𝐹𝑦 −𝐺𝑦 −𝐻𝑦 −𝑠5 . 𝑐6 𝑠5 . 𝑠6 𝑐5

L’élément (2,3) permet de déduire 𝑞4 (−𝑠4 . 𝐻𝑥 + 𝑐4 . 𝐻𝑧 = 0):

𝐻𝑧
𝑞4 = 𝐴𝑇𝐴𝑁 ( )
{ 𝐻𝑥

𝑞4 = 𝑞4 + 𝜋

Les éléments (1,3) et (3,3) permettent de déduire 𝑞5 . En effet, on a :

𝑐4 . 𝐻𝑥 + 𝑠4 . 𝐻𝑧 = 𝑠5 𝑐4 . 𝐻𝑥 + 𝑠4 . 𝐻𝑧
{ −𝐻𝑦 = 𝑐5 → 𝑞5 = 𝐴𝑇𝐴𝑁 ( )
−𝐻𝑦

Finalement, les éléments (2,1) et (2,2) permettent de déduire 𝑞6 . En effet, on a :

−𝑠4 . 𝐹𝑥 + 𝑐4 . 𝐹𝑧 = 𝑠6 −𝑠4 . 𝐹𝑥 + 𝑐4 . 𝐹𝑧
{ → 𝑞6 = 𝐴𝑇𝐴𝑁 ( )
−𝑠4 . 𝐺𝑥 + 𝑐4 . 𝐺𝑧 = 𝑐6 −𝑠4 . 𝐺𝑥 + 𝑐4 . 𝐺𝑧

III.2 Modélisation cinématique d’un robot manipulateur


III.2.1 Modèle cinématique direct
Le modèle cinématique direct d’un robot manipulateur décrit les vitesses des coordonnées
opérationnelles en fonction des vitesses articulaires. Il est noté :
̇
𝑋̇ = 𝐽(𝑞). 𝑞̇ = ( 𝑃 ) (III. 8)
𝜔
Où : J(q) désigne la matrice jacobéenne de dimension (m×n) du mécanisme, elle est en
fonction de la configuration articulaire 𝑞.
𝑃̇ : Représentant la vitesse linéaire absolue de l’outil terminal par rapport à 𝑅0.
𝜔 : Représentant le vecteur de rotation absolue de l’outil terminal par rapport à 𝑅0.

III.2.1.1 Intérêt de la matrice Jacobienne


➢ 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.
➢ En statique, on utilise le Jacobien pour établir la relation liant 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.
III.2.1.2 Calcul de la matrice Jacobienne par dérivation du MGD (Jacobienne
analytique)
Le calcul de la matrice Jacobienne peut se faire en dérivant le MGD, X = f(q), à partir de
la relation suivante :
𝜕𝑓𝑖 (𝑞)
𝐽𝑖𝑗 = , 𝑖 = 1. . 𝑚, 𝑗 = 1. . 𝑛 (III. 9)
𝜕𝑞𝑗
Où 𝐽𝑖𝑗 est l'élément (i, j) de la matrice Jacobienne J.
Cette méthode est facile à mettre en œuvre pour des robots à deux ou trois degrés de liberté
comme le montre l'exemple suivant. Cependant, pour des robots ayant des degrés de
liberté >3, on fait recours à une autre méthode basée sur le calcul direct du Jacobien de
base.
Exemple : Robot plan à 3 ddl :
Pour avoir une matrice Jacobienne carrée, on ajoute une autre coordonnée 𝛼 au point P
(en addition à Px et Py) : 𝛼 c’est l’angle du point P par rapport à l’origine, ce qui donne :
𝑃𝑥 = 𝐶1 𝐿1 + 𝐶12 𝐿2 + 𝐶123 𝐿3
𝑃𝑦 = 𝑆1 𝐿1 + 𝑆12 𝐿2 + 𝑆123 𝐿3
𝛼 = 𝜃1 +𝜃2 + 𝜃3
Figure III.9 Robot plan 3DDL [12]
La matrice Jacobienne est calculée en dérivant ces trois relations par rapport à 1, 2 et
−𝑆1 𝐿1 − 𝑆12 𝐿2 − 𝑆123 𝐿3 −𝑆12 𝐿2 − 𝑆123 𝐿3 −𝑆123 𝐿3
3 : 𝐽 = [ 𝐶1 𝐿1 + 𝐶12 𝐿2 + 𝐶123 𝐿3 𝐶12 𝐿2 + 𝐶123 𝐿3 𝐶123 𝐿3 ]
1 1 1
III.2.1.3 Calcul du Jacobien de base (Jacobienne géométrique)
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 𝑉𝑛 et 𝜔𝑛 du repère 𝑅𝑛
représentant les éléments du torseur cinématique du repère 𝑅𝑛 et les vitesses articulaires𝑞̇ .
𝑉
𝑋̇ = 𝐽𝑛 . 𝑞̇ = ( 𝑛 ) (III. 10)
𝜔𝑛

Figure III.10 Définition des vitesses par la méthode du calcul direct [12]
En introduisant le coefficient binaire 𝜎𝑘 , les vecteurs 𝑉𝑘,𝑛 et 𝜔𝑘,𝑛 s’écrivent :
𝑉 = (𝜎𝑘 . 𝑎𝑘 + ̅̅̅(𝑎
𝜎𝑘 𝑘 × 𝐿𝑘,𝑛 )) 𝑞̇ 𝑘
{ 𝑘,𝑛 (III. 11)
𝜔𝑘,𝑛 = ̅̅̅.
𝜎𝑘 𝑎𝑘 . 𝑞̇ 𝑘
Soient :
𝜎𝑘 = 0 si l’articulation est rotoide, et 𝜎𝑘 = 1 si l’articulation est prismatique.
𝑘 : l’indice de la kème articulation du robot.
𝑉𝑘,𝑛 , 𝜔𝑘,𝑛 : les vitesses de translation et de rotation induites par la vitesse 𝑞̇ 𝑘 sur 𝑅𝑛 .
𝐿𝑘,𝑛 : Vecteur d’origine 𝑂𝑘 et d’extrémité 𝑂𝑛 .
𝑎𝑘 : Vecteur unitaire porté par l’axe 𝑍𝑘 de l’articulation 𝑘 .
Et Grâce au théorème de la composition des vitesses, on peut sommer toutes les
contributions élémentaires de chaque articulation afin d’obtenir les vecteurs finaux des
vitesses de translation et de rotation 𝑉𝑛 et 𝜔𝑛 du repère terminal par l’expression :
𝑛 𝑛
𝑉𝑛 = ∑ 𝑉𝑘,𝑛 = ∑ [𝜎𝑘 . 𝑎𝑘 + ̅̅̅(𝑎
𝜎𝑘 𝑘 × 𝐿𝑘,𝑛 )]𝑞̇ 𝑘
𝑘=1 𝑘=1
𝑛 𝑛 (III. 12)
𝜔𝑛 = ∑ 𝜔𝑘,𝑛 = ∑ 𝜎𝑘 𝑎𝑘 . 𝑞̇ 𝑘
̅̅̅.
{ 𝑘=1 𝑘=1

En mettant ce système sous forme matricielle et en l'identifiant à la relation :


𝑉
𝐽𝑛 . 𝑞̇ = ( 𝑛 ), on déduit que :
𝜔𝑛
𝜎1 . 𝑎1 + ̅̅̅(𝑎
𝜎1 1 × 𝐿1,𝑛 ) … 𝜎𝑛 . 𝑎𝑛 + ̅̅̅(𝑎
𝜎1 𝑛 × 𝐿𝑛,𝑛 )
𝐽𝑛 = [ ] (III. 13)
𝜎1 1
̅̅̅𝑎 … 𝜎𝑛 𝑛
̅̅̅𝑎
On exprime 𝑉𝑛 et 𝜔𝑛 soit dans le repère 𝑅𝑛 soit dans le repère 𝑅0 . La matrice Jacobienne
correspondante est notée nJ ou 0J respectivement. Ces matrices peuvent être calculées
n n

en utilisant une matrice 𝑖 𝐽𝑛 , 𝑖 = 0. . 𝑛, grâce à la relation de transformation de la matrice


Jacobienne entre repères suivante :
𝑠
𝑠𝐴𝑖 03
𝐽𝑛 = [ ] (III. 14)
03 𝑠𝐴𝑖

Où 𝑠𝐴𝑖 est la matrice d’orientation de dimension (3x3), du repère 𝑅𝑖 exprimée dans 𝑅𝑠 .


𝑠
La matrice 𝐽𝑛 peut donc être décomposée en deux matrices, la première matrice étant
toujours de rang plein. Les deux matrices 𝑖𝐽𝑛 et 𝑠𝐽𝑛 ayant les mêmes positions
singulières. On cherche pratiquement à utiliser le repère de projection 𝑅𝑖 qui simplifie les
éléments de 𝑖 𝐽𝑛 .

En général on obtient la matrice simple 𝑖𝐽𝑛 lorsqu'on prend i=entier (n/2).


III.2.1.4 Calcul de la matrice 𝒊𝑱𝒏
𝑖
Le produit 𝑎𝑘 × 𝐿𝑘,𝑛 peut étre calculé par 𝑎̂𝑘 . 𝐿𝑘,𝑛 , la kéme colonne de la matrice 𝐽𝑛
notée par 𝑖𝐽𝑛,𝑘 devienne :

𝑖 𝜎𝑘 . 𝑖 𝑎𝑘 + 𝜎̅𝑘 𝑖𝐴𝑘 𝑘𝑎̂𝑘 𝑘𝐿𝑘,𝑛


𝐽𝑛,𝑘 =[ ] (III. 15)
𝜎̅𝑘 𝑖𝑎𝑘
0 −𝑎𝑧 𝑎𝑦
Où : 𝑎̂ = [ 𝑎𝑧 0 −𝑎𝑥 ] et 𝑖𝐴𝑘 = [ 𝑖 𝑠𝑘 𝑖
𝑛𝑘 𝑖
𝑎𝑘 ]
−𝑎𝑦 𝑎𝑥 0
0 −1 0
𝑘 𝑘
On pose : 𝑎𝑘 = [0 0 ] 𝑇
1 ⇒ 𝑎̂𝑘 = [1 0 0] et 𝑘𝐿𝑘,𝑛 = 𝑘𝑃𝑛 , donc on obtient :
0 0 0
𝑖 𝜎𝑘 . 𝑖𝑎𝑘 + 𝜎̅𝑘 (− 𝑘𝑃𝑛𝑦 𝑖𝑠𝑘 + 𝑘𝑃𝑛𝑥 𝑖𝑛𝑘 )
𝐽𝑛,𝑘 = [ ] (III. 16)
𝜎̅𝑘 𝑖𝑎𝑘
Où 𝑘𝑃𝑛𝑦 , 𝑘 𝑃𝑛𝑥 sont les composantes x et y du vecteur 𝑘𝑃𝑛 . A partir de cette expression, la
kéme colonne de la matrice 𝑖 𝐽𝑛 est:

𝑖 𝜎𝑘 . 𝑖𝑎𝑘 + 𝜎̅𝑘 𝑘𝑎̂𝑘 ( 𝑖𝑃𝑛 − 𝑖𝑃𝑘 )


𝐽𝑛,𝑘 = [ ] (III. 17)
𝜎̅𝑘 𝑖𝑎𝑘
Et pour i=0 :

0 𝜎𝑘 . 0𝑎𝑘 + 𝜎̅𝑘 𝑘𝑎̂𝑘 ( 0𝑃𝑛 − 0𝑃𝑘 )


𝐽𝑛,𝑘 = [ ] (III. 18)
𝜎̅𝑘 0𝑎𝑘
Dans ce cas on est besoin de calculer les matrices 0𝑇𝑘 pour 𝑘 = 1, … , 𝑛.
III.2.2 Redondance, espace opérationnel et singularités d’un robot
Soit N le degré de liberté du robot (nombre des articulations simples pour les robots sériels),
et soit r le rang de la matrice Jacobienne qui correspond au nombre de degrés de liberté du
repère associé à l’organe terminal.
La redondance d’un robot est tel que le nombre de degrés de liberté de l’organe terminal
est inférieur au nombre de variables articulaires actives (d’articulations motorisées).
La dimension de l’espace opérationnel M est définie comme étant le rang maximal rmax
que peut prendre la matrice jacobienne.
Des configurations du robot sont dites singulières lorsque le nombre de degrés de liberté
de l’organe terminal est inférieur à la dimension de l’espace opérationnel (espace dans
lequel on représente les d.d.l de l’OT).
Deux cas sont à examiner :
✓ Si M=N, on dit que 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 organe terminal (plus de
6 articulations par exemple).
Dans certaines configurations, il se peut que r < M : on dit que le robot possède une
singularité d'ordre (M – r). Lorsque la matrice J est carrée, les singularités d'ordre un sont
solution du déterminant de la matrice Jacobienne det(J)=0.
III.2.3 Modèle cinématique inverse
Le modèle cinématique inverse (MCI) donne les vitesses articulaires 𝑞̇ correspondantes à
une vitesse désirée 𝑋̇ de l'organe terminal. Le modèle cinématique inverse s'obtient par la
solution d'un système d'équations linéaires soit analytiquement, soit numériquement :
- La solution analytique a pour avantage de diminuer considérablement le nombre
d’opérations, mais on doit traiter tous les cas singuliers.
- Les méthodes numériques sont plus générales, la plus répandue étant fondée sur la notion
de pseudo- inverse : les algorithmes traitent de façon unifiée les cas réguliers, singuliers et
redondants ; elles nécessitent un temps de calcul relativement important.
𝑇
Soit 𝑋 = [𝑋𝑝𝑇 𝑋𝑟𝑇 ] une représentation de la situation du repére 𝑅𝑛 dans le repére 𝑅0 , où
𝑋𝑝𝑇 et 𝑋𝑟𝑇 désignent respectivement la position et l’orientation de l’organe terminal.

Les relations entre les vitesses 𝑋̇𝑝 et 𝑋̇𝑟 et les vecteurs 0𝑉𝑛 et 0𝜔𝑛 sont :

𝑋̇𝑝 Ω𝑝 03 0𝑉𝑛 0𝑉
[ ]=[ ][ ] = Ω. [ 𝑛 ] (III. 19)
𝑋̇𝑟 03 Ω𝑟 0 𝜔 𝑛 0𝜔𝑛

A partir de l'équation le MCD s'écrit sous la forme :𝑋̇ = 𝐽𝑞̇


La méthode la plus générale consiste à calculer 𝐽−1 la matrice inverse de 𝐽 (supposée carrée
et inversible) qui permet de déterminer les vitesses articulaires 𝑞̇ grâce à la relation : 𝑞̇ =
𝐽−1 𝑋̇
𝐴 0
Lorsque la matrice J a la forme : 𝐽 = [ ], et les matrices A et C étant carrées inversibles,
𝐵 𝐶
il est facile de montrer que l'inverse de cette matrice s'écrit :

𝐽−1 = [ 𝐴−1 0 ] (III. 20)


−𝐶 −1 𝐵𝐴−1 𝐶 −1
La résolution du problème se ramène donc à l'inversion de deux matrices de dimension
moindre. Lorsque le robot manipulateur possède six degrés de liberté et un poignet de type
𝐴 0
rotule, la forme générale de J est celle de la relation 𝐽 = [ ] , A et C étant de dimension
𝐵 𝐶
(3x3).
III.2.4 Application sur le robot Staubli RX90
On sait que la kéme colonne de la matrice Jacobienne d’un robot manipulateur 6R
s’écrit comme suit (Equation III.16) :

𝑖 − 𝑘𝑃6𝑦 𝑖𝑠𝑘 + 𝑘𝑃6𝑥 𝑖𝑛𝑘


𝐽6,𝑘 = [ 𝑖
]
𝑎𝑘

Et choisissant i=entier (n/2)=3, donc :

3 − 𝑘𝑃6𝑦 3𝑠𝑘 + 𝑘𝑃6𝑥 3𝑛𝑘


𝐽6,𝑘 = [ 3
]
𝑎𝑘
Avant d’entamer au calcul de 3𝐽6,𝑘 on doit d’abord calculer : 3𝑇𝑘 et 𝑘
𝑇6 , 𝑘 = 1: 3.
Pour la première colonne k=1:

3 − 1𝑃6𝑦 3𝑠1 + 1𝑃6𝑥 3𝑛1


𝐽6,1 = [ 3 ]
𝑎1
𝐶23
3
𝑠1 = [−𝑆23]
𝐶23 0 𝑆23 0 0
0
Nous avons : 3𝑇1 = [−𝑆23 0 𝐶23 0] → 3
𝑛1 = [ 0 ]
0 −1 0 0
−1
0 0 0 1 𝑆23
3
𝑎1 = [𝐶23]
{ 0
D’autre part : 1𝑃6𝑥 = −𝑆23𝑅𝐿4 + 𝐶2𝐷3 , 1𝑃6𝑦 = 0
En substituant ces paramètres dans l’expression on trouve :
0
0
3 − 1𝑃6𝑦 3𝑠1 + 1𝑃6𝑥 3
𝑛1 𝑆23𝑅𝐿4 − 𝐶2𝐷3
𝐽6,1 =[ 3 ]=
𝑎1 S23
C23
[ 0 ]
De la même façon, on peut calculer les autres colonnes, ainsi on obtient :
0 −𝑅𝐿4 + 𝑆3𝐷3 −𝑅𝐿4 0 0 0
0 𝐶3𝐷3 0 0 0 0
3 𝑆23𝑅𝐿4 − 𝐶2𝐷3 0 0 0 0 0
𝐽6 =
𝑆23 0 0 0 𝑆4 −𝑆5𝐶4
𝐶23 0 0 1 0 𝐶5
[ 0 1 1 0 𝐶4 𝑆5𝑆4 ]
Le déterminant de 3𝐽6 s'écrit : 𝑑𝑒𝑡( 3𝐽6 ) = −𝐶3𝐷3𝑅𝐿4𝑆5(𝑆23𝑅𝐿4 − 𝐶2𝐷3)
Ce robot est non redondant car :𝑁 = 𝑟𝑚𝑎𝑥 = 6. Cependant, 𝑟 = 5 dans les trois
configurations singulières suivantes :
𝐶3 = 0
{𝑆23𝑅𝐿4 − 𝐶2𝐷3 = 0
𝑆5 = 0
La matrice jacobienne inverse du robot manipulateur Stäubli RX-90 est calculée
comme suit :

𝐽=[
𝐴 0 𝐴−1
] ⟹ 𝐽−1 = [ −1 0 ]
𝐵 𝐶 −𝐶 𝐵𝐴−1 𝐶 −1

0 −𝑅𝐿4 + 𝑆3𝐷3 −𝑅𝐿4


𝐴=[ 0 𝐶3𝐷3 0 ]→
𝑆23𝑅𝐿4 − 𝐶2𝐷3 0 0
0 0 1⁄
(𝑆23𝑅𝐿4 − 𝐶2𝐷3)
𝐴−1 = 0 1⁄ 0
𝐶3𝐷3
−1⁄ (−𝑅𝐿4 + 𝑆3𝐷3)⁄
[ 𝑅𝐿4 𝑅𝐿4𝐶3𝐷3 0 ]
𝐶4. 𝑐𝑡𝑔5 1 −𝑆4. 𝑐𝑡𝑔5
0 𝑆4 −𝑆5𝐶4
𝑆4 0 𝐶4
𝐶 = [1 0 𝐶5 ] → 𝐶 −1 = [ −𝐶4 𝑆4 ]
0 𝐶4 𝑆5𝑆4 0
𝑆5 𝑆5
Ce qui donne la matrice inverse suivante :

0 0 1⁄ 0 0 0
(𝑆23𝑅𝐿4 − 𝐶2𝐷3)
0 1⁄ 0 0 0 0
𝐶3𝐷3
−1⁄ (−𝑅𝐿4 + 𝑆3𝐷3)⁄
𝑅𝐿4 𝑅𝐿4𝐶3𝐷3 0 0 0 0
3
𝐽6
−1
= −𝑆4𝐶5 𝑆4. 𝑐𝑡𝑔5. 𝑆3 −(𝑆23. 𝐶4. 𝑐𝑡𝑔5 − 𝐶23)
𝐶4. 𝑐𝑡𝑔5 1 −𝑆4. 𝑐𝑡𝑔5
𝑆5𝑅𝐿4 𝐶3𝑅𝐿4 (𝑆23𝑅𝐿4 − 𝐶2𝐷3)
𝐶4 −𝐶4𝑆3 −𝑆23𝑆4
𝑆4 0 𝐶4
𝑅𝐿4 𝐶3𝑅𝐿4 (𝑆23𝑅𝐿4 − 𝐶2𝐷3)
𝑆4 −𝑆4𝑆3 𝑆23𝐶4 −𝐶4 𝑆4
𝐶4
[ 𝑆5𝑅𝐿4 𝑆5𝐶3𝑅𝐿4 𝑆5(𝑆23𝑅𝐿4 − 𝐶2𝐷3) 𝑆5 𝑆5 ]

Vous aimerez peut-être aussi