Vous êtes sur la page 1sur 21

Chapitre 6

Le modèle cinématique inverse des robots

à structures ouvertes simples

6.1. Int r o duc t i o n

L'objectif du modèle cinématique inverse est de calculer, à partir d'une configuration q donnée,
les vitesses articulaires q qui assurent au repère terminal une vitesse opérationnelle X imposée. Cette
définition est analogue à celle du modèle différentiel inverse : ce dernier permet de déterminer la
différentielle articulaire dq correspondant à une différentielle des coordonnées opérationnelles dX
spécifiée. Pour obtenir le modèle cinématique inverse, on inverse le modèle cinématique direct en
résolvant un système d ' équations linéaires. La mise en œuvre peut ê t r e faite de façon analytique ou
numérique :

– La solution analytique a pour avantage de diminuer considérablement le nombre d'opérations,


mais on doit traiter séparément tous les cas singuliers [Chevallereau 97] ;
– 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.

Nous présentons dans ce chapitre les techniques à mettre en oeuvre pour établir un modèle
cinématique inverse dans les cas réguliers, singuliers et redond ants. Compte tenu de l'intérêt de la
redondance dans la commande, nous étudions aussi comment rendre un robot manipulateur redondant par
une description appropriée des tâches qu ' il doit réaliser, On suppose que le lecteur est familier avec la
notion de système d'équations linéaires. Quelques rappels sont donnés en Annexe 4 à toutes fins utiles.
6.2. Forme générale du modèle cinématique
D'après les relations [5.22] et [5.50], quelle que soit la méthode utilisée pour décrire les
coordonnées opérationnelles, le modèle cinématique direct peut être mis sous la forme :

 03   0 Ai 03   I 3  i Lˆ j ,n  i
X  p    J n, j q [6.1]
 03 r   03 0
Ai  03 I 3 
Ou, sous forme condensée :

X  0J xq [6.2]

Etant donné la simplicité des éléments d e i J n , j comparés à ceux de 0 J x , il est préférable de


chercher une solution analytique à partir de l'expression [6.1]. Celle-ci s'écrit encore :
i
X n, j  i J n, j q [6.3]
Avec:

I i
Lˆ j ,n  i A0 0 3  p1 0 3 
i
X n, j   3   X [6.4]
 03 I 3   03 i
A0  03 r 

On a vu au § 5.1 1 que si l'on utilise les coordonnées cartésiennes pour décrire la position, alors
Ω p -1 = I 3 . L'inverse à gauche Ω r + a été calculée pour différentes représentations de l'orientation. Pour
alléger l'écriture, nous considérerons la forme suivante de l'équation [6.3] :

X  Jq [6.5]

Remarque
Si n<6, on ne peut plus utiliser systématiquement la matrice jacobienne i J n , j . Les singularités de
cette matrice ne tiennent en effet pas compte du choix des coordonnées opérationnelles [Borrel 86].

6.3. Modèle cinématique inverse dans le cas régulier


Dans ce cas, la matrice jacobienne J est carrée d'ordre n et son déterminant est non nul. Deux
méthodes de calcul peuvent être mises en couvre.

6.3.1. Première méthode


On calcule J-1, la matrice inverse de J, qui permet de déterminer les vitesses articulaires q
grâce à la relation :

q  J 1 X [6.6]
Lorsque la matrice J a la forme suivante :
A 0
J   [6.7]
B C

Les matrices A et C étant carrées inversibles, il est facile de montrer que l'inverse de cette
matrice s'écrit :
 A1 0 
J 1   1 1  [6.8]
 C BA C 1 

La résolution du problème se ramène donc a l'inversion, beaucoup plus simple, de deux matrices
de dimension moindre. Lorsque le robot manipulateur possède six degrés de liberté et un poignet de
type rotule, la forme générale de J est celle de la relation [6.7], A et C étant de dimension (3x3) [Gorla
84].

6.3.2. Seconde méthode

Dans cette méthode, on tient compte d'une éventuelle l'orme particulière de la matrice J
permettant de réduire le nombre d'inconnues à prendre en compte simultanément. Cette méthode donne,
dans la plupart des cas, des solutions nécessitant moins d'opérations. Prenons par exemple, le cas d'un
robot manipulateur à poignet rotule dont le jacobien a, comme on l'a vu dans l'exemple 5.4, la st ructure
de l'équation [6.7] :

 X a   A 03   qa 
    [6.9]
 X b   B C   qb 

A et C étant des matrices carrées de dimension (3x3), inversibles en dehors des positions
singulières.

La solution q est donnée par :

qa  A1 X a
 [6.10]
qb  C  X a  Bqa 
1

Solution qui, a priori, est beaucoup plus simple que celle obtenue avec la première méthode.

• Exemple 6.1. :
Calcul du modèle différentiel inverse du robot manipulateur Stäubli RX-90. Le jacobien 3 J6 a été
calculé dans l'exemple 5.3. On reprend tout d'abord la solution selon l'équation [6.8], puis celle de
l'équation [6.10].

i) première méthode: Le calcul des inverses de A et de C donne respectivement :

 0 0 V 1
1 
A  0 V3 0
 1/ RL 4 V 2V 3 / RL 4 0 
 
Et

 V4 1 V 5 
1  
C   S4 0 C4 
 C 4 / C 5 0 S 4 / S 5 
 
Avec:
1
V1 
S 23RL 4  C 2 D3
V 2   RL 4  S 3D3
1
V3 
C 3 D3
V 4  C 4 cot g 5
V 5  S 4 cot g 5

En utilisant la formule [6.8], on obtient :

 0 0 V1 0 0 0 
 0 V3 0 0 0 0 

3 1
 1/ RL 4 V 2V 3 / RL4 0 0 0 0 
J6   
  S 4C 5V 7 V 5V 6 V8 V4 1 V 5 
 C 4 / RL 4 C 4V 6  S 23S 4V 1 S4 0 C4 
 
 S 4V 7  S 4V 6 / S 5 S 23C 4V 1/ S 5 C 4 / S 5 0 S 4 / S 5 

Avec :
S3
V6 
C 3RL 4
1
V7 
S 5RL 4
V 8    S 23V 4  C 23V 1

Le calcul de q par la relation [6.8] demande 47 multiplications/divisions et 18 additions en plus de 8 fonctions


sinus/cosinus.

ii) deuxième méthode: On calcule successivement qa et qb :

 q1  V 1X 3 
 
qa   q2   V 3 X 2 
 q3    X  V 2V 3 X  / RL 4 

 1 2 

 X 4   X 4  S 23q1 
   
X b  Bqa   X 5    X 5  C 23q1 
X  X  q  q 
 6   6 2 3 

On en déduit que :

 q4   X 4  C 4 cot g 5 X 4  X 5  S 4 cot g 5 X 6 
   
qb   q5   C 1  X 5    S 4 X 4  C 4 X 6 
   
 X 6   C 4 X 4  S 4 X 6  / S 5
 q6 


Cette solution tient compte du découplage entre la position et l'orientation et ne nécessite que 22
multiplications/divisions et 12 additions en plus de 8 fonctions sinus/cosinus.
6.4. Solution au voisinage des positions singulières
Lorsque le robot est non redondant, les singularités d'ordre un sont solution de det(J)=0. Dans le cas
redondant, elles sont données par det(JJT)=O. Les singularités d'ordre supérieur sont déterminées à partir des
configurations singulières d'ordre un.
Le passage au voisinage d'une position singulière est cependant déter miné de façon plus précise
en considérant les valeurs singulières : la décroissance d'une ou plusieurs valeurs singulières est
généralement plus significative que celle du déterminant.

En une configuration singulière donnée, le vecteur vitesse X est constitué en général d'un
ensemble de composantes formant un vecteur de I(J) et d'un vecteur orthogonal de composantes
dégénérées appartenant à I(J) ┴ ; il n'existe pas de vitesse articulaire qui puisse engendrer une vitesse
opérationnelle suivant cette dernière direction avec le modèle cinématique inverse. Au voisinage des
positions singulières, l'utilisation du modèle cinématique inverse classique peu t donner des vitesses
articulaires importantes, incompatibles avec les caractéristiques des actionneurs.

Pour éviter les singularités, une solution consiste à augmenter le nombre de degrés de libe rté du
mécanisme [Hollerbach 84b], [Luh 85a]. Le robot devient redondant et nous verrons au § 6.5 qu'avec
un critère approprié, il est possible de déterminer un mouvement hors singularité. Il existe cependant
des singularités inévitables [Baillieul 84] qui doivent être prises en compte par le concepteur de la
commande.

6 . 4 . 1 . Utilisation de la pseudo-inverse

Il est courant d'utiliser la pseudo-inverse J + de la matrice J (voir en Annexe 4 les méthodes de


calcul les plus classiques) :

q  JX [6.11]

Cette solution, proposée par Whitney [Whitney 69 ], [Whitney 72], minimise la norme
2
q et la norme de l'erreur X  Jq . Dans une configuration singulière, on distingue les
2
euclidienne
deux cas particuliers suivants :

• X appartient uniquement à I(J). Alors, la solution [6.11] est exacte et l ' erreur est nulle bien que
l'inverse J-1 ne soit pas défini ;
• X appartient uniquement à I(J) ┴ . Alors, la solution [6.11] donne q  0 . Si la consigne de vitesse
suivante est définie selon cette direction, le robot se bloque et il faut lui définir des stratégies de
déblocage [Chevallereau 88b].

Dans [Wampler 86], on montre que le pseudo-inverse donne une solution discontinue lors du
passage par une configuration singulière, ce qui peut être mis en évidence par la décomposition en
valeurs singulières de la solution (§ 5.8.1). En effet, en dehors des singularités :
m
1
q VU T
i i X [6.12]
i 1  i

En s'approchant d'une singularité, σ min devient petit ce qui conduit à une vitesse q élevée. Lorsque
la valeur singulière s'annule, elle n'est plus prise en compte, la somme s'arrêtant à m-1, et la vitesse
q peut chuter considérablement.

Remarque:

2
q et X  Jq
2
Les deux normes peuvent contenir chacune des composantes de nature différente.
Cependant, l'utilisation de radians pour les angles et de mètres pour les distances donne de bons résultats
pour des robots industriels de dimensions classiques (1 à 2 mètres de portée).

Différents auteurs [Wampler 86], [Nakamura 87] proposent de remplacer la pseudo-inverse par la
méthode des moindres carrés amortis qui est fondée sur la minimisation de l'expressi on suivante :

2
X  Jq   2 q
2
[6.13]

Où α est une constante, ce qui revient à trouver la solution des moindres carrés du système suivant :

J  X 
 I  q    [6.14]
 n 0nx1
La solution de ce système s'écrit :

1
qa   J T J   2 I n  J T X [6.15]

Lorsque n > m, la relation équivalente suivante est plus fa cile à calculer [Maciejewski 88] :
1
qa  J T  JJ T   2 I m  X
[6.16]

En utilisant la décomposition en valeurs singulières, cette solution s'écrit :

m
i
qa   VU T
i i X
i 1  
i
2 2
[6 .17]

La constante α représentant le compromis entre la précision d'une part, la continuité de la


i 1

solution ainsi que le respect des amplitudes maximales d'autre part. Lorsque  i  , on a   
i
2 2
i .

i i

Lorsque i  on a  i
2
 2
2 . L'erreur introduite par le facteur α sur les coordonnées articulaires

s'exprime par :

2 m
eq  q  qa   2 VU T
i i X
i 1  i     i
2
[6.18]

L'erreur en X s'écrit :

m
2
ex  Jeq   U UT X [6.19]
i 1  i
2
  2 i i

Le facteur d'amortissement a limite d'autant plus l'amplitude maximale de la solution qu'il est
choisi grand. En contrepartie, plus α est grand, plus l'erreur est importante et un compromis doit être
trouvé entre la précision d'une solution et sa possibilité de réalisation.
Wampler [Wampler 86] propose de prendre α=0,003, tandis que Nakamura [Nakamura 86]
suggère d ' ajuster le facteur d 'amortissement en introduisant la mesure de la manipulabilité w (équation
[5.38]) de la façon suivante :

  w
   0 1   si w w0
  w0  [6.20]
  0 si w  w0


Où α 0 et w0 sont des constantes positives, w 0 définissant une limite de voisinage des singularités.

Une solution plus adéquate est d'ajuster la valeur de α en fonction de la plus petite valeur
singulière σ min qui est la mesure exacte de l'approche d'une position singulière. Macie jewski et Klein
[Maciejewski 88] proposent de calculer le facteur d'amortissement par :

   2   min
2
si  min  
 [6.21]

 0 si  min 

Ou ε est constant.

On trouve dans [Maciejewski 88] une méthode efficace pour l'estimation de σ min . Cependant, une
difficulté subsiste avec l'utilisation de la solution calculée par la méthode des moindres carrés amortis car
le robot peut rester bloqué dans une configuration singulière. Cela se produit lorsque la vitesse désirée est spécifiée
selon des directions dégénérées de l'espace opérationnel, c'est-à-dire lorsque (relations [5.30] et [5.31]) :

 U U X 
m
X i
T
i [6.22]
i  r 1

Ou r m donne le rang de J.
6.4.3. Méthodes n'utilisant pas le modèle cinématique inverse

Le modèle cinématique, qui est une linéarisation du premier ordre, ne donne pas de solution exacte
respectant les contraintes des actionneurs à l'approche des singularités. Aussi, certains auteurs [Nielsen 91],
[Chevallereau 98] ont utilisé un développement du MGI ou le modèle cinématique avec un ordre plus élevé pour
déterminer les coordonnées articulaires correspondant à un mouvement cartésien passant par une singularité. I l a été
démontré dans une étude récente [Llyod 96] que l'organe terminal peut se déplacer le long d'une trajectoire (chemin)
quelconque en utilisant une loi horaire appropriée.

Pour montrer la portée d'une telle technique, considérons le cas d'un robot plan à deux degrés de liberté en
configuration singulière "bras tendu". On désire que ce robot réalise un déplacement avec des vitesses articulaires
finies selon la direction dégénérée portée par l'axe x. Un déplacement exécuté à vitesse opérationnelle constante le
long de la direction dégénérée est non faisable en utilisant le modèle cinématique (figure 6.1a). Le même
déplacement réalisé à accélération opérationnelle constante avec une vitesse opérationnelle initiale nulle devient
réalisable (figure 6.1b) en utilisant un développement du MGI limité à l'ordre 2 [Nielsen 91] ou en utilisant le
modèle cinématique du deuxième ordre [Chevallereau 98].
Figure 6.1. Déplacement le long de la direction dégénérée

Par ailleurs, Egeland et Spangelo [Egeland 91] ont montré que dans certains cas, en effectuant un
mouvement dans le noyau de la matrice J, un déplacement non faisable pouvait devenir réalisable. Avec
un robot plan à deux degrés de liberté et deux bras identiq ues par exemple, partant de la configuration
initiale "bras replié" représentée sur la figure 6.2a, il n 'est pas possible de suivre une trajectoire portée par
la direction x. En revanche, après avoir réalisé une rotation de 90° de la première articulation, ce qui ne
modifie pas les coordonnées opérationnelles du point terminal mais modifie la direction dégénérée (figure
6.2b), on peut créer une vitesse le long de l'axe x en utilisant le modèle cinématique.
Les méthodes présentées dans ce paragraphe tolèrent une dégradation du suivi temporel mais
assurent un suivi convenable du chemin désiré contrairement aux méthodes du § 6.4 .2 qui acceptent une
dégradation du suivi du chemin sans remettre en cause le suivi temporel.

Figure 6.2. Mouvement dans le noyau de J

6.5. Modèle cinématique inverse des robots redonda nts

Un robot manipulateur est redondant lorsqu'il possède plus de degrés de liberté N que la dimension
de l 'espace opérationnel de l'organe terminal M. Il existe donc une infinité de solutions articulaires pour
réaliser une tache donnée. La différence (N-M) représente le degré de la redondance. Les modèles
géométrique et cinématique inverses ont dans ce cas une infinité de solutions, d'où la possibilité de
choisir la solution qui satisfait des contraintes d'optimisation supplémentaires telles que :

– contournement d'obstacles [Maciejewski 851, [Baillieul 86] ;


– évitement des configurations singulières [Yoshikawa 84a] ;
– éloignement des butées articulaires [Fournier 80], [Klein 84] ;
– répartition des efforts aux articulations [Baillieul 84], [Hollerbach 85] .

Pour un tel mécanisme, la matrice J est de dimension (mxn) avec n>m, en supposant que les
coordonnées articulaires et opérationnelles utilisées soient indépendantes (n=N, m=M), Plusieurs méthodes de
résolution du système [6.5] sont envisageables, comme on le montre dans ce paragraphe.
6 . 5 . 1 . Ajout de (n-m) contraintes supplémentaires

L'approche présentée dans ce paragraphe consiste à ajouter au vecteur de coordonnées opérationnelles X un


vecteur de (n-m) coordonnées supplémentaires linéairement indépendantes entre elles [Baillieul 85], [Chang 86],
[Nenchev 92]. Ces relations peuvent traduire soit des c o n t raintes physiques sur le robot, soit des contraintes
liées ù soit environnement ou tout simplement des relations entre différentes positions articulaires du robot. Elles
s'écrivent sous la forme générale suivante :

Xc  h q [6.23]

Dans cette expression Xc est un vecteur de dimension (n-m)x1 et h(q) est une fonction vectorielle en q. Le modèle
cinématique associé à ces équations supplémentaires s'écrit :

X c  Jhq [6.24]

Où J h  h  q / q de dimension (n-m)xn représente le jacobien de h(q). A partir du modèle cinématique


direct [5,1] du robot et de l'équation [6.24], on définit un jacobien augmenté Ja, de dimension (nxn) et un nouveau
vecteur de vitesses X a tels que :

X  Jaq [6.25]

Avec:

X  J 
Xa    et Ja   
 X c  Jh 

Si le jacobien augmenté Ja n'est pas singulier, la vitesse articulaire q du robot sera calculée comme
dans le cas des robots non redondants.
Cette méthode fondée sur le jacobien augmenté présente les inconvénients suivants :
— Le choix des (n-m) relations supplémentaires est important ;
— le jacobien augmenté Ja peut être non inversible même si le robot est loin d'une configuration
singulière (rang(J)=m). Le fait d'ajouter (n-m) relations supplémentaires peut conduire à des
singularités autres que celles du robot que l'on qualifiera de singularités algorithmiques.

Son avantage est qu'elle permet d'obtenir une réponse articulaire répétable dans le cas où la
trajectoire cartésienne est cyclique ou fermée. En effet, la solution trouvée est unique.
On peut utiliser cette technique pour optimiser une fonction objective désirée Φ ( q ) en prenant
h(q) de telle sorte que :

h i (q)=0=(η i ) T Φ pour i = 1, ..., m-n [6.26]

Où η i est un vecteur de la base du noyau de J et où  Φ est le gradient de Φ.

Le calcul des vecteurs de la base du noyau de la matrice jacobienne devant être effectués de façon
analytique, cette méthode ne peut être utilisée que pour des systèmes à faible degré de redondance. Cette
difficulté a été récemment résolue par [Klein 95].

6 . 5 . 2 . Utili sa t io n de la ps eu do - inv er se

Comme dans le cas singulier, on peut choisir la solution [6.1] :

q  J X [6 .27]
2
Où J+ représente la pseudo-inverse de la matrice J. Cette solution minimise la norme q .
Cependant, Klein et Huang [Klein 83] ont montré que pour une trajectoire cartésienne fermée
(mouvement cyclique), les trajectoires articulaires calculées par cette équation ne s ont pas toujours
répétitives, ce qui peut constituer une limitation.

6 .5 .3 . Ut ili sa t io n de la ps eu do - inv er se po nd ér ée

La pseudo-inverse pondérée permet de minimiser un critère C tel que :

C  qT Eq [6.28]
Dans le cas où J est de rang maximal, la solution est donnée par :
q  JE X [6.29]

Avec :

J E + = E -1 J T (J E -1J T ) -1 [6.30]

Benoît et al. [Benoît 75] proposent de prendre pour E la matrice d'inertie du robot (chapitre 9) afin de
minimiser l'énergie cinétique. Konstantinov et al. [Konstantinov 81] ont utilisé la pseudo-inverse pondérée
pour éviter les butées articulaires.

6 . 5 . 4 . Utilisation de la pseudo –inverse avec un terme d'optimisation

La solution générale du système d'équations linéaires [ 6 . 5 ] s'écrit (Annexe 4) :

q  J  X   In  J  J  Z [6.31]

Où J+ désigne la pseudo-inverse de J et où Z représente un vecteur arbitraire de dimension (nx1).

Le second terme du membre de droite, appelé solution homogène ou terme d'optimisation, appartient au
noyau de J et n'affecte pas la valeur de X . Il peut être utilisé pour satisfaire des contraintes d'optimisation
supplémentaires. Soit Φ ( q ) une fonction scalaire définie positive de l'état q du mécanisme et soit  Φ
le gradient de cette fonction en q. On montre que le choix de Z   entraîne la décroissance de la fonction
Φ(q) pour α<0 et provoque la croissance de cette fonction pour α>o. La solution s'écrit alors :

q  J  X    I n  J  J   [6.32]

Avec:
T
   
    [6.33]
 q1 qn 

2
Le coefficient α représente un gain qui permet de trouver un compromis entre les objectifs de minimisation de q
et d'optimisation de Φ(q). Nous étudions dans ce qui suit deux choix possibles pour le critère d'optimisation.

6.5.4.1. Utilisation du terme d'optimisation pour l'éloignement des butées

Une solution pratique pour commander un robot redondant peut être de faire évoluer les variables
articulaires au voisinage de leurs valeurs moyennes q moy , c'est-à-dire loin de leurs limites q min et q max

On pose :
q moy = 1/2 (q max + q min ) [6.34]

Δq= q max- q min [6.35]

Une fonction scalaire possible, dont la décroissance a pour effet l'éloignement du robot de ses butées, peut
s'exprimer par la forme quadratique suivante [Fournier 80] :

2
n
q  q 
  q     i imoy  [6.36]
i 1  qi 2

La division par Δq i permet de l'aire varier la contribution de chaque articulation dans Φ entre 0 et 1.
L'élément i du vecteur Z s'écrit (avec α<0) :

  q  2  qi  qimoy 
Zi   [6.37]
qi qi 2
Remarque:

Si la position moyenne d'une articulation correspond à une configuration singulière, il convien t


de remplacer la valeur q imoy correspondante par une autre valeur.

Pour le choix du critère, Klein [Klein 841 remarque que si la forme quadratique est la plus
souvent utilisée pour résoudre les problèmes d'optimisation, ce n'est pas toujours elle qui répond le mieux
aux objectifs fixés. Pour l'éloignement de butées en particulier, la forme suivante est plus appropriée :

qi  qimoy
  Max Pour i=1,…,n [6.38]
qi

L'introduction de ce critère dans le système [6.32] n'est cependant pas immédiate comme peut l'être
celle d'un critère quadratique. Une solution consiste à approcher le critère [ 6 .3 8 ] en utilisant une p-norme
définie par [Klein 83] :

1/ p
N p
q  qmoy   qi  qimoy  [6.39]
p
 i 1 

Quand p tend vers l'infini, la p-norme correspondante rejoint le critère [6.38] mais déjà avec p =
6, l'approximation peut être suffisante.

6.5.4.2. Utilisation du ternie d'optimisation pour augmenter la manipulabilité

Nous avons donné au § 5.8.2 l'expression [5.38] de la manipulabilité w(q) d'un robot
manipulateur. Sur les positions singulières, w est minimum et s'annule. Afin d'augmenter la
manipulabilité du mécanisme, on peut choisir une fonction scalaire telle que :

Φ(q) = det [J(q) JT (q)] [6.40]


On calcule Z comme indiqué précédemment et on prend α>0. 1a croissance deΦ déplace le robot
vers des configurations de manipulabilité optimale et l'éloigne donc de ses configurations singulières.

REMARQUE.— Certaines configurations singulières sont inévitables [Baillieul 84]. C'est le cas pour le
robot plan à trois axes de l'exemple 6.1, lorsqu'il est en extension maximale ou lorsqu'il est replié sur lui -
même (figure 6.3), L ' es autres singularités sont évitables, le robot pouvant se reconfigurer sans que la
position de son extrémité ne soit affectée (figure 6.4).
Figure 6.3. Singularités inévitables d'an robot plan à trois degrés de liberté

Figure 6.4. Singularités évitables d'ut robot plan n trois degrés de liberté

6 .5.5 . Notion de tâches prioritaires

Pour résoudre le modèle cinématique inverse, Nakamura [Nakamura 87] a introduit la notion de
priorité des tâches qui consiste à définir une tâche primaire X 1 de priorité supérieure et une deuxième tâche
secondaire X 2 de priorité inférieure. Ces taches s'expriment par les relations suivantes :

X 1 =f 1 (q) [6.41]
X 2 =f 2 (q) [6.42]

X 1 et X 2 étant de dimension m 1 et m2 respectivement.

Les modèles cinématiques directs associés aux équations [6.41] et [6.42] s'écrivent :

X1  J1q [6.43]

X 2  J 2q [6.44]

Où J i = ∂f i (q)/∂q de dimension (m i xn) est le jacobien de la tâche X i considérée (i=1 ou 2). En utilisant la
pseudo-inverse, la solution générale de l'équation [6.43] est donnée par :

q  J1 X1   I n  J1 J1  Z1 [6.45]

En substituant l'équation [6.45] dans l'équation [6.44], on obtient :


J 2  I n  J1 J1  Z1  X 2  J 2 J 1 X 1 [6.46]

A partir de cette équation, le vecteur Z1 pourra être déterminé cri utilisant la pseudo-inverse :

Z1  J 2  X 2  J 2 J1 X 1    I n  J 2  J 2  Z 2
[6.47]

Où J 2  J 2  I n  J1 J1  est de dimension (m 2xn) et où Z 2 est un vecteur arbitraire de dimension n choisi


pour satisfaire un critère d'optimisation,

La vitesse articulaire q du robot est calculée à partir des équations [6.45] et [6.47]:


q  J1 X1   I n  J1 J1  J 2  X 2  J 2 J1 X1    I n  J 2  J 2  Z 2  [6.48]

L'interprétation de cette méthode est donnée à la figure 6.5.

Figure 6.5. Noyaux et espaces images des tâches X 1 et X 2


(D’après (Nakamura 87])

6.6. Algorithme de calcul numérique du modèle g é o mé t r i q u e inverse

Lorsqu'il n'est pas possible de trouver de forme explicite au modèle géométrique inverse, on peut
utiliser le modèle cinématique pour calculer itérativement une solution locale numérique. L'algorithme est
le suivant :
– à partir d'une configuration articulaire initiale q c (aléatoire ou courante), calculer la
situation correspondante 0 T n c du repère outil en utilisant le MGD:
Calculer l'écart dX =│dX pT X r T │ T entre la situation désirée 0 T n d et la situation initiale 0 T nc ,
tel que dX p = P nd-P nc et dX r = u α. u et α désignant l'axe et l'angle correspondant à la
rotation 0 A n d = rot (u,α) 0 A nc (§ 2.3.8). Pour rester dans le domaine de validité du modèle
cinématique, qui représente un développement du premier ordre, on doit introduire à chaque
pas de calcul des seuils S p , et S r respectivement sur dX p et dX r , de sorte que :

dX p
-si dX p S p , alors dX p  .
dX p
dX r
-si dX r Sr , alors dX r  .

dX r

Des valeurs de 0,3 mètre et 0,3 radian pour ces seuils sont acceptables pour la plupart des
robots industriels compte tenu de leurs dimens ions. Lorsque dX est suffisamment petit,
arrêter le calcul ;
– calculer numériquement la matrice jacobienne directe 0 J n (q c ) et sa pseudoinverse J + ;
– calculer la variation articulaire correspondante dq = J + dX avec ou sans terme
d'optimisation ;
– mettre à jour la configuration articulaire courante : q c =qc +dq ;
– retourner à la première étape,

Cet algorithme est rapide et peut être calculé en temps réel.

6.7. Description minimale des tâches [Fournier 80], [Dombre 81 ]


Dans la plupart des contrôleurs de robot actuels, la géométrie des trajectoires est décrite par une
succession de repères. Suivre une trajectoire consiste alors à amener en coïncidence sur ces repères un
référentiel lié à l'organe terminal. Pourtant, dans bon nombre d'applications industrielles, i l n'est pas
nécessaire de spécifier complètement la situation de ce référentiel, notamment :
– lorsque les objets manipulés présentent des symétries : typiquement, pour un objet sphérique, il n'est
pas nécessaire de contraindre son orientation ; pour une p ièce cylindrique, la rotation autour de son axe
principal peut être laissée libre :
– lorsque la tâche elle-même n'est pas intrinsèquement contraignante :
– dépose dans un vrac : si le robot est déjà en position au-dessus du vrac, seule la donnée de
l'altitude de dépose est nécessaire ; la tache est alors décrite par une seule composante de
translation ;
– transfert d'objets d'un point à un autre : la spécification de l'orientation n'est pas toujours nécessaire : la
trajectoire peut être décrite par les trois composantes de translation ;
– dépose d'un objet cylindrique sur un convoyeur : la seule contrainte d'orientation est que l'axe principal du
cylindre soit horizontal ; si le robot est déjà en position au-dessus du convoyeur, la tache peut être décrite
par une composante de translation verticale et une autre de rotation :
– assemblage cylindrique : la tâche est décrite par trois composantes de translation et deux composantes de
rotation, seule l'orientation autour de l'axe d'insertion peut ne pas être contrainte.

Lorsque le nombre de composantes utilisées pour spécifier la tache est inférieur au nombre de degrés de liberté
du robot, il y a redondance de celui-ci vis-à-vis de la tâche, et donc, une infinité de solutions pour la réaliser. Cette
description, minimale en ce sens qu'elle ne contraint que les degrés de liberté de la tache ayant un rôle fonctionnel,
est intéressante car elle permet de satisfaire des critères d'optimisation supplémentaires lors de son exécution (§ 6.5),

6.7.1. P r i n c i p e d e la d escr ip tio n

Le formalisme retenu est celui du contact des surfaces usuelles de la mécanique (plan, cylindre, sphère) qui
décrit les liaisons mécaniques simples (tableau 6.1) illustrées par la figure 6.6. A ces six liaisons, on adjoint la
liaison totale, correspondant à un encastrement et les deux liaisons composées à un degré de mobilité d éjà
renco ntrées : la liaison rotoïde et la liaison prismatique (figure 6.7).
La description des situations successives du repère terminal lié au robot est réalisée par une séquence de
liaisons simples et composées, le choix d'une liaison étant dicté par les contraintes locales associées à la tâche,

Plan Cylindre Sphère


Appui plan Appui linéaire Appui simple
Plan
Cylindre Verrou Anneau

Sphère Rotule

Tableau 6.1. Liaisons mécaniques simples


Figure 6.6. Liaisons mécaniques simples

Le formalisme des liaisons mécaniques peut paraître difficile à utiliser. Une solution plus
ergonomique consiste à décrire un déplacement en termes de liaison entre deux entités géométriques
simples (point, droite, plan) appartenant l'une au robot, l'autre à l'environnement [Dombre 85] : une
liaison rotule, par exemple, correspond à la mise en coïncidence de deux points. De même, les liaisons
composées seront spécifiées par deux combinaisons simulta nées d'éléments géométriques. Le choix n ' est
pas unique : ainsi, une liaison rotoide par exemple peut être issue de la réalisation d'une liaison droite
sur droite et d'une liaison point sur plan ou d'une liaison droite sur droite et d'une liaison point sur
point.
Figure 6.7. Liaison rotoide et prismatique

Cette description géométrique est particulièrement bien adaptée à une programmation graphique
des tâches. La figure 6.8 montre l'exemple d'un assemblage cylindrique, réalisé avec l'application
robotique du logiciel de CFAO CATIA [Catia] clans lequel est implanté ce formalisme. Les différentes
étapes sont les suivantes :
a) état initial : sélection d'un point du robot et d'un point de l'environnement (rotule) ;
b) le cylindre est positionné, avec une orientation quelconque, au-dessus du site d'assemblage
; sélection d'une droite du robot et d'une droite de l'environnement. (verrou) ;
c) les axes du tampon cylindrique et de l'alésage sont alignés ; sélection d'un point et d'une
droite du robot d'une part, de l'environnement d'autre part (rotoide) ;
d) état final : la tâche d'assemblage est terminée. On peut remarquer la rotation laissée libre
autour de l'axe principal du cylindre entre les états c) et d).

Figure 6.8. Programmation graphique d’un assemblage à partir d’une description minimale des taches
6.7.2. Modèles différentiels associés à une description minimale

Pour prendre en compte ce type de description de tâche, on écrit le modèle différentiel définissant
les relations différentielles du repère outil R E de la façon suivante :

 0d E   0 An 03   d E   0 An
n
03   I 3  n PˆE   d E 
n

0         
  E   03
0
An   n E   03 0
An   03 I 3   n E 
 0A  0 An n PˆE  n
  n  J n dq [6.49]
 03
0
An 

Le terme n P E définissant l'origine du repère R E exprimée dans R n.


Avec une description minimale de la tache le modèle différentiel s'écrit :

dX = H nJ n dq [6.50]

Où nJ n est de dimension (6xn) et où H est une matrice de dimension (cx6), caractéristique de la


liaison ; c dépend du nombre d'équations de contrainte associées à la tache.

Nous montrons comment évaluer la matrice H pour les liaisons les plus fréquemment rencontrées
[Dombre 81].

6.7.2. Appui simple (point, pan)

Cette liaison consiste à amener un point OE de l'outil dans le plan Q, sa position dans le plan Q étant
quelconque (figure 6.9). Soit N le vecteur unitaire selon la normale au plan Q et soit O D un point arbit r aire
du plan Q. Le déplacement global à effectuer pour réaliser l'appui simple s'ex prime dans le repère R0 par :

r = 0 NT [0P D -0P E] [6.51]

0
P D et 0P E définissant les points OD et OE dans le repère R 0.

Figure 6.9. Réalisation d'un appui simple

Le déplacement global r est réalisé par une succession de déplacements élémentaires à une seule
composante de tels que (relation [6.49]) :

 
dX  dr  0 N T 0d E   0 N T 0 An  0 N T 0 An n PˆE  n J n dq
 
[6.52]
 
 0 N T 0 An  I 3  n PˆE  n J n dq
 
 
La matrice H est alors identifiée à N T 0 An  I 3  n PˆE  et n'a qu'une seule ligne. L'expression [6.52]
 
constitue le modèle différentiel de l'appui simple.

6 .7 .1 2 . Appui linéaire (droite, plan)


Les équations de l'appui linéaire se déduisent de la figure 6.10. Elles permettent d'amener la
droite UE dans le plan Q sans contraindre son orientation dans ce plan. On peut réaliser cet appui en
effectuant simultanément une rotation et une translation [Dombre 88a] . On se rend compte cependant que
numériquement, cette méthode ne converge pas bien. Il est en effet plus judicieux pour éviter les calculs
d'angle de déterminer le modèle différentiel en remplaçant la définition de la droite U E du robot par celle de
cieux points : on amènera deux points distincts O E1 et O E2 quelconques de cette droite dans le plan Q. La
liaison est donc équivalente à deux appuis simples et le modèle différentiel correspondant s'écrit :

 dr1   N An
0 T 0
 0 N T 0 An n PˆE1  n
dX       J n dq [6.53]
 dr2   N An  0 N T 0 An n PˆE 2 
0 T 0

Figure 6.10.Rélisation d’un appui linéaire

La matrice H est alors de dimension (2xn). On peut généraliser ce raisonnement à toutes les
liaisons simples et composées considérées. La j ième ligne de la matrice H prend la forme générale suivante
:

 
Hj  0 N j T 0 An  I 3  n PˆEj  [6.54]
 

Où 0Nj désigne le vecteur unitaire normal au plan du j ième appui simple dont les composantes sont
exprimées dans R0 et où nPE j est le vecteur représentant le point de l'outil OEj utilisé pour décrire le j ième appui.

6.7.2.3, Appui plan (plan, plan)

L'appui plan consiste à amener le plan Q E , de normale N E attachée à l'organe terminal sur le plan
Q D de normale ND de l 'environnement sans contrainte d'orientation et de position (figure 6.11). On
détermine trois points distincts arbitraires dans Q E puis on effectue trois appuis simples simultanément.
Figure 6.11. Réalisation d 'un appui plan

6.7.2.4. Liaison verrou (point, droite)

La liaison anneau (ou gouttière) consiste à amener un point O E de l'organe terminal sur une droite U D de
l'environnement. On la réalise par deux appuis simples du point OE, dans deux plans orthogonaux arbitraires
dont l'intersection est la droite UD (figure 6.12).
6.7.2.5. Liaison verrou (droite, droite)

La tâche consiste à aligner deux droites UE et UD, sans contrainte de position et d'orientation
respectivement le long et autour de ces droites (figure 6.12). On définit deux plans orthogonaux arbitraires QD1
et Q D2 de normale ND1et ND2 dont l'intersection est la droite UD. Réaliser une liaison verrou consiste à amener deux
points distincts OE1 et OE2 quelconques de la droite UE simultanément dans les plans QDl et QD2. En d'autres termes,
la liaison verrou correspond à quatre appuis simples.

Figure 6.12. Réalisation d'une liaison verrou, d'une liaison anneau


ou d'une liaison rotoide

6.7.2.6. Liaison rotule (point, point)

La liaison rotule permet d'amener le point O E de l'effecteur sur un point O D (le l'environnement,
sans contrainte d'orientation sur le solide, Les points O E et O D suffisent donc à caractériser la liaison qui
peut être assimilée à la réalisation de trois appuis simples. Pou r cela, on considère que les déplacements
r 1 , r 2 et r 3 à effectuer ont pour valeur les composantes sur les axes du repère R 0 du vecteur O E O D . Ces
axes définissent les normales à trois plans orthogonaux Q D 1 , Q D2 et Q D3 passant par le point O D . En
prenant ces plans parallèles aux plans (y 0 ,z 0 ),(x 0 ,z 0 ),(x 0 ,y 0 ), la tâche est définie par :
 dr1 
 
dX   dr2    0 An  0 An n PˆE  n J n dq [6.55]
 
 dr3 

6.7.2.7. Liaison rotoide (droite-point, droite- point)

La liaison rotoide (figure 6.12) consiste à aligner une droite U E de l'organe terminal et à
confondre un point O E de U E , respectivement avec une droite U D de l'environnement et un plan Q D normal
à U D (non représenté sur la figure). Soit O E1 et O E2 deux points distincts quelconques de la droite U E .
Comme pour la liaison verrou, soit O D1 et Q D2 deux plans orthogonaux arbitraires dont l'intersectio n est la
droite U D . La liaison est alors équivalente à la réalisation simultanée de cinq appuis simples :
– amener le point O EI sur le plan Q D1 et sur le plan Q D2 ;
– amener le point O E2 sur le plan Q D1 et sur le plan Q D2 ;
– amener le point OE sur un plan QD.

Dans la pratique, pour l'utilisateur d'un système de CAO, on peut diminuer le nombre
d'interactions en décrivant une liaison rotoide par une liaison droite sur droite et une liaison point sur
point. Ce choix conduit à sept équations. Ainsi, le système dX=HJdq devient redondant mais le rang de la
matrice HJ reste égal à cinq.

6.7.2.8. Liaison prismatique (plan-plan, plan-plan)

La liaison prismatique revient à aligner deux directions du solide transporté avec deux directions
géométriquement compatibles de l'environnement et à permettre une translation le long d'un axe
arbitraire. Pour simplifier, on considère que les deux directions sont perpendiculaires et que le
déplacement s'effectue selon l'une de ces directions.
Soit U E1 et UE2 deux droites appartenant au solide transporté et soit U D1 et U D2 deux droites de
l'environnement (figure 6.13). On suppose que la translation libre se fait le long de la droite U D1 . Soit Q D1a
et Q D1b deux plans orthogonaux arbitraires dont l'intersection est la droite U D1 . Soit deux points distincts
O E1a , O E1b quelconques de la droite U E1 . On réalise la liaison prismatique avec cinq appuis simples :
– amener le point O E1a sur le plan Q D1a et sur le plan QD2b.
– amener le point O E1b sur le plan Q D1a et sur le plan QD2b.
– amener un point quelconque de UE2 qui n'est pas l'intersection de UE1 et UE2 sur le plan formé par les deux
droites UD1 et UD2 .

Comme pour la liaison rotoïde, il est plus rapide pour l'utilisateur de spécifier une liaison
prismatique à partir de deux liaisons plan sur plan. Le nombre d’équations dans ce cas est égal à six.
REMARQUES.-
– pour la liaison totale, on utilise la description complète dX = Jdq ;
– le tableau 6.2 résume le mode de spécification géométrique de chaque liaison mécanique ainsi que le
nombre d'équations nécessaires.

Figure 6.13. Réalisation d’une liaison prismatique


Type de liaison Elément de Elément de Nombre Nombre total
l'effecteur l'environ- d'équations d'équations
nement indépendantes

Appui simple Point Plan 1 1


Appui linéaire Droite Plan 2 2
Appui plan Plan Plan 3 3
Anneau Point Droite 2 2
Rotule Point Point 3 3
Verrou Droite Droite 4 4
Rotoïde Droite-point Droite-Point 5 7
Prismatique Plan-Plan Plan-Plan 5 6

Tableau 6.2. Equivalence liaison mécanique/spécification géométrique

6.8. Conclusion

Nous avons examiné dans ce chapitre plusieurs méthodes de détermination du modèle cinématique
inverse en considérant trois cas, selon que le manipulateur est régulier, en configuration singulière ou redondant.
Ces méthodes sont soit analytiques, soit numériques.
Les méthodes analytiques conviennent pour résoudre le problème inverse lorsque la matrice jacobienne associée
au mécanisme est régulière. Leur mise en couvre est simplifiée lorsque le poignet du mécanisme possède trois
articulations rotoides d'axes concourants : le problème se réduit alors à l ' i n version de deux matrices
régulières d'ordre trois.
Nous avons montré comment, à partir d'une description utilisant le formalisme des liaisons mécaniques,
il était possible de contraindre uniquement les degrés de liberté fonctionnels de la tâche.
L'intérêt de la redondance, qu'elle soit intrinsèque au robot ou consécutive à une description minimale des
taches, est qu'elle peut être exploitée pour engendrer des déplacements optimaux du mécanisme. A cet égard, la
méthode de résolution fondée sur la notion de pseudo-inverse se révèle être très puissante. Elle permet de
prendre en compte différents critères locaux pour optimiser l 'éloignement des butées mécaniques ou la
manipulabilité.
L'inconvénient majeur du modèle cinématique pour le transformateur de coordonnées est qu'il ne traduit qu'un
comportement local du robot autour d'une configuration articulaire données La trajectoire engendrée dépend donc
de la configuration initiale du mécanisme.

Vous aimerez peut-être aussi