0% ont trouvé ce document utile (0 vote)
253 vues65 pages

Modélisation de robots manipulateurs

Transféré par

imenenouvelle
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)
253 vues65 pages

Modélisation de robots manipulateurs

Transféré par

imenenouvelle
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

Chapitre III : Modélisation d’un robot manipulateur

I. Modélisation
I.1. Introduction
La conception et la commande des robots nécessitent le calcul de certains modèles
mathématiques, tels que :
– 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 présente dans ce chapitre quelques méthodes permettant d'établir ces modèles. On se limitera
au cas des robots à structure ouverte simple.
Chapitre III : Modélisation d’un robot manipulateur

Le formalisme mathématique fait appel aux matrices de transformation homogènes de dimension


(4x4). La matrice homogène iTj représente la transformation permettant de passer du repère Ri
au repère Rj :

 i
A i
P   i
sj i
n j i a j i Pj 
i
Tj   j j
 
0 0 0 1   0 0 0 1 
i i i
où s j , n j et a j désignent respectivement les vecteurs unitaires suivant les axes xj, yj et zj du
repère Rj exprimés dans le repère Ri et où iPj est le vecteur exprimant l’origine du repère Rj dans
le repère Ri. Les vecteurs isj, inj, iaj de la matrice d'orientation iAj sont les cosinus directeurs.

II. Modélisation Géométrique


Ce paragraphe introduit une procédure qui sera utilisée pour décrire la structure géométrique des
robots manipulateurs, et qui par conséquent est la base de la mise en équations de tous les
modèles des robots manipulateurs.

Ce modèle ne tient compte que de la géométrie du robot. Parmi les paramètres structuraux,
seules les longueurs des différents segments sont prises en compte.
Chapitre III : Modélisation d’un robot manipulateur

Il existe deux possibilités pour représenter le modèle géométrique : direct ou inverse.


 Le modèle géométrique direct

Etant données les positions articulaires, il s’agit de déterminer l’attitude de l’organe terminal par
rapport à la base. X=f()

Fig.3.1. Modèle géométrique direct

 Le modèle géométrique inverse


Chapitre III : Modélisation d’un robot manipulateur

Etant donnée une attitude de l’organe terminal par rapport à la base, il s’agit de déterminer, s’ils
existent, le ou les ensembles de positions articulaires qui permet (tent) de générer cette attitude.
 = f-1(X)

Fig.3.2. Modèle géométrique inverse


Chapitre III : Modélisation d’un robot manipulateur

II.1. Description de la structure géométrique d’un robot

Une structure ouverte simple est composée de n+1 corps notés C0, …, Cn et de n articulations. Le
corps C0 désigne la base du robot et le corps Cn le corps qui porte l'organe terminal.
L'articulation j connecte le corps Cj au corps Cj-1 (Fig. 3.3).

On Rn
Cn

Cn-1

yn

C2
Articulation i
C1
x0

C0
y0

R0

Fig.3.3 Structure des robots manipulateurs à chaîne ouverte.


Chapitre III : Modélisation d’un robot manipulateur

La méthode de description est fondée sur les règles et conventions suivantes :


Les corps sont supposés rigides, ils sont connectés par des articulations, comme idéale (pas
de jeu mécanique, pas d’élasticité), soient rotoïdes soient prismatiques ;
La variable de l’articulation j est notée qj;
Le corps j est noté Cj;
Le repère Rj lié au corps Cj, est défini de telle sorte que :

 L’axe Zj est porté par l’axe de l’articulation j ;


 L’axe Xj est porté par la perpendiculaire commune aux axes Zj et Zj-1. Si les axes Zj et
Z j-1 sont parallèles ou colinéaires, le choix de Xj n'est pas unique : des considérations
de symétrie ou de simplicité permettent alors un choix rationnel.
Chapitre III : Modélisation d’un robot manipulateur

Le passage du repère Rj-1 au repère Rj s’exprime en fonction des quatre paramètres géométriques
suivants (Fig.3.4) :
 j : angle entre Zj-1 et Zj, correspondant à une rotation autour de Xj-1.
 dj : distance entre Zj-1 et Zj le long de Xj-1.
 j : angle entre les axes Xj-1 et Xj, correspondant à une rotation autour de Zj
 rj : distance entre Xj-1 et Xj le long Zj.

Fig.3.4. Paramètres géométriques dans le cas d'une structure ouverte simple


Chapitre III : Modélisation d’un robot manipulateur

La variable qj associée à la jème articulation sera notée j si l’articulation est rotoide ou dj si


l’articulation est prismatique. Ce qui se traduit par la relation :

La matrice de transformation homogène définissant le repère Rj dans Rj-1 est donnée


par (Fig.3.4):

j-1
Tj  Rot(x,  j ) Trans(x, d j ) Rot(z, j ) Trans(z, rj )

1 0 0 0  1 0 0 d j  C j - S j 0 0  1 0 0 0
0 C j - S j 0 0  
S  C  0 0  0 1 0 0 
Tj  
j-1  1 0 0  j j
0 S j C j 0 0 0 1 0  0 0 1 0  0 0 1 rj 
    
0 0 0 1  0 0 0 1  0 0 0 1 0 0 0 1 
Chapitre III : Modélisation d’un robot manipulateur

 C j - S j 0 dj 
 
 C jS j C jC j - S j - rjS j 
j-1
Tj  
S S  S  j C j C j rjC j  (3.1)
 j j 
 0 0 0 1 
où Rot(u, a) et Trans(u, d) sont des matrices de transformation homogène (4x4)
représentant respectivement une rotation a autour de l'axe u et une translation d le long
de u.

On remarque que la matrice de rotation (3x3) j-1Aj peut être obtenue par :

j-1
A j  Rot(x,  j ) Rot(z, j ) (3.2)

La matrice de transformation définissant Rj-1 dans Rj est donnée par :

j
Tj-1  Trans(z, - rj ) Rot(z, -  j )Trans(x, - d j ) Rot(x, -  j )
Chapitre III : Modélisation d’un robot manipulateur

 - d jC j 
 

j-1
A Tj d jS j  (3.3)
j
Tj-1  
 rj 
0 0 0 1 

II. 2. Modèle géométrique direct

Le modèle géométrique direct (MGD) est l’ensemble des relations qui permettent
d’exprimer la situation de l’organe terminal, c'est-à-dire les coordonnées opérationnelles du
robot, en fonction de ses coordonnées articulaires. Dans le cas d’une chaine ouverte simple,
il peut être représenté par la matrice de passage 0Tn :

0
Tn  0 T1 (q1 ) 1T2 (q2 ) ... n -1
Tn (qn ) (3.4)
Chapitre III : Modélisation d’un robot manipulateur

Le modèle géométrique direct peut aussi être représenté par la relation :

X = f(q) (3.5)

q étant le vecteur des variables articulaires tel que :

q  q1 q 2 ... q n 
T
(3.6)
Les coordonnées opérationnelles sont définies par
X  x1 x 2 ... x m 
T
(3.7)

Plusieurs possibilités existent pour la définition du vecteur X. Par exemple, avec


les éléments de la matrice 0Tn :


X  Px Py Pz sx s y sz n x n y n z a x a y a z 
T (3.8)
Chapitre III : Modélisation d’un robot manipulateur

En égalisant les deux relations, on aboutit au modèle géométrique direct.

s x n x a x px 
s n y a y p y  0
 y  T1 ... n -1
Tn (3.9)
s z n z a z pz 
 
0 0 0 1 
Exemple 3.1 :
Description de la géométrie du robot Staubli RX-90 (Fig. 3.5). La cinématique du porteur est du
type RRR et le poignet comporte trois rotations d’axes concourants, équivalent à une rotule
(Fig.3.6). D’un point de vue méthodologique, on place d’abord les axes Zj sur les axes des
articulations, puis les axes Xj selon les règles énoncées précédemment. On détermine ensuite les
paramètres géométriques du robot. Le placement des repères est indiqué sur la figure 3.6 et les
paramètres géométriques sont donnés dans le tableau 3.1.
Chapitre III : Modélisation d’un robot manipulateur

Fig.3.5. Vue générale du robot Staubli RX-90 Fig.3.6 Placement des repères et notations
J j j dj j rj  j : angle entre Zj-1 et Zj, correspondant à une
1 0 0 0 1 0
rotation autour de Xj-1.
2 0 90 0 2 0
 dj : distance entre Zj-1 et Zj le long de Xj-1.
3 0 0 D3 3 0
4 0 -90 0 4 RL4  j : angle entre les axes Xj-1 et Xj, correspondant à
5 0 90 0 5 0 une rotation autour de Zj
6 0 -90 0 6 0  rj : distance entre Xj-1 et Xj le long Zj.

Tableau 3.1. Paramètres géométriques du robot Staubli RX-90


Chapitre III : Modélisation d’un robot manipulateur

Modèle géométrique direct du robot Staubli RX-90. A partir du tableau 3.1 et compte tenu de la
relation (3.2), on écrit les matrices de transformation élémentaires j-1Tj :

 C j - S j 0 dj 
 
 C jS j C jC j - S j - rjS j 
j-1
Tj  
S S  S  j C j C j rjC j 
 j j 
 0 0 0 1 

C1 - S1 0 0 C 2 - S2 0 0 C3 - S3 0 D3


S1 C1 0 0 0 0 -1 0  S3 C3 0 0 
0
T1   1
T2   2
T3  
0 0 1 0 S 2 C2 0 0 0 0 1 0 
     
0 0 0 1 0 0 0 1 0 0 0 1 
C4 - S4 0 0  C5 - S5 0 0 C6 - S6 0 0
0 0 1 RL4 0 0 -1 0   0 0 1 0 
3
T4   4
T5   5
T6  
0 0 1 0   S 5 C5 0 0 - S 6 - C6 0 0
     
- S4 - C4 0 1  0 0 0 1  0 0 0 1
Chapitre III : Modélisation d’un robot manipulateur

Afin de calculer 0T6, il est préférable de calculer le produit des matrices j-1
Tj en partant
de la dernière matrice de transformation, ceci pour deux raisons :

 Les résultats intermédiaires jT6, notés Uj, seront utilisés pour l’obtention du modèle

géométrique inverse ;

 On minimise ainsi le nombre d’opérations du modèle.

On écrit donc successivement les Uj pour j = 5, …, 0 :

U5 = 5T6

C5C6 - C5S6 - S5 0
 S6 C6 0 0 
U 4  4 T6  4 T5 U5   
S5C6 - S5S6 C5 0 
 
 0 0 0 1 
Chapitre III : Modélisation d’un robot manipulateur

C4C5C6 - S4S6 - C4C5S6 - S4C6 - C4S5 0 


 S5C6 - S5S6 C5 RL4

U 3  3 T6  3 T4 U 4   
- S4C5C6 - C4S6 S4C5S6 - C4C6 S4S5 0
 
 0 0 0 1 

U2  2 T6 2 T3U3
Les vecteurs s, n, a, P de U2 ont pour composantes :

sx = C3(C4C5C6 – S4S6) – S3S5C6


sy = S3(C4C5C6 - S4S6) + C3S5C6
sz = -S4C5C6 – C4S6
nx = -C3(C4C5S6 + S4C6) + S3S5S6
ny = -S3(C4C5S6 - S4C6) - C3S5S6
nz = S4C5S6 – C4C6
Chapitre III : Modélisation d’un robot manipulateur

ax = -C3C4S5 – S3C5
ay = -S3C4S5 + C3C5
az = S4S5
Px = -S3RL4 + D3
Py = C3RL4
Pz = 0

U1  1T6 1 T2 U2  1T3U3
Les vecteurs s, n, a, P de U1 correspondants sont :
sx = C23(C4C5C6 – S4S6) – S23S5C6
sy = S4C5C6 + C4S6
sz = S23(C4C5C6 – S4S6) + C23S5C6
nx = -C23(C4C5S6 + S4C6) + S23S5S6
ny = S4C5S6 + C4C6
nz = -S23(C4C5S6 + S4C6) - C23S5S6
Chapitre III : Modélisation d’un robot manipulateur

ax = -C23C4S5 – S23C5
ay = -S4S5
az = -S23C4S5 + C23C5
Px = -S23RL4 + C2D3
Py = 0
Pz = C23RL4 + S2D3
Finalement:

U0  0 T6 0 T1U1
Les vecteurs s, n, a, P de U0 correspondants sont :
sx=C1(C23(C4C5C6 - S4S6)-S23S5C6)-S1(S4C5C6+C4S6)
sy=S1(C23(C4C5C6 - S4S6)-S23S5C6)+C1(S4C5C6+C4S6)
sz=S23(C4C5C6 - S4S6) + C23S5C6
nx=C1(-C23(C4C5S6 + S4C6)+S23S5S6)+S1(S4C5S6+C4C6)
Chapitre III : Modélisation d’un robot manipulateur

ny=S1(-C23(C4C5S6 + S4C6)+S23S5S6)-C1(S4C5S6+C4C6)
nz=-S23(C4C5S6 + S4C6) - C23S5S6
ax= -C1(C23C4S5 + S23C5)+S1S4S5
ay= -S1(C23C4S5 + S23C5)-C1S4S5
az= -S23C4S5 + C23C5
Px = -C1(S23RL4 - C2D3)
Py = -S1(S23RL4 - C2D3)
Pz = C23RL4 - S2D3

II.3 Exploitation du modèle géométrique lors d’une commande en position


Pour réaliser une commande en position, il est nécessaire de calculer les valeurs que doivent
prendre les variables articulaires. Ce calcul se fait par inversion du système d’équation (3.5), qui
représente le modèle géométrique du robot. Ce système étant formé d’équations non linéaires en
sin(i) et cos(i) et couplées n’est pas toujours inversible.
Chapitre III : Modélisation d’un robot manipulateur

Lorsque la solution existe et est unique, elle représente une commande en position.
Partant de la connaissance du modèle géométrique direct, nous pouvons aborder le problème
inverse qui consiste à calculer les variables articulaires en fonction des coordonnées
opérationnelles du repère lié à l’organe terminal.

II.4 Modèle géométrique inverse (MGI)


Le modèle géométrique direct permet de calculer les coordonnées opérationnelles en fonction
des coordonnées articulaires. Le problème inverse consiste à calculer les coordonnées
généralisées dans une situation désirée spécifiée par les coordonnées opérationnelles. On dit
dans ce cas que le robot manipulateur est résoluble lorsqu’il est possible de calculer des
configurations permettant d’atteindre une situation donnée. Lorsqu’elle existe, la forme explicite
qui donne toutes les solutions possibles (il y a rarement unicité de solution) constitue ce que l'on
appelle le modèle géométrique inverse (MGI). On peut distinguer trois méthodes de calcul du
MGI :
– la méthode de Paul [Paul 81] qui traite séparément chaque cas particulier et convient pour la
plupart des robots industriels ;

– la méthode de Pieper [Pieper 68] qui permet de résoudre le problème pour les robots à six
degrés de liberté ;
Chapitre III : Modélisation d’un robot manipulateur

– la méthode générale de Raghavan et Roth [Raghavan 90], donnant la solution générale des
robots à six articulations à partir d'un polynôme de degré au plus égal à 16.

Lorsqu'il n'est pas possible de trouver une forme explicite du modèle géométrique inverse, on
peut calculer une solution particulière par des procédures numériques.

Dans ce paragraphe, on présente la méthode de Paul.

Dans le calcul du MGI, trois cas se présentent :

– a) absence de solution lorsque la situation désirée est en dehors de la zone accessible du robot.
Celle-ci est limitée par le nombre de degrés de liberté, les débattements articulaires et la
dimension des segments ;

– b) infinité de solutions lorsque :


- le robot est redondant vis-à-vis de la tâche ;
- le robot se trouve dans certaines configurations singulières;

– c) solutions en nombre fini, exprimées par un ensemble de vecteurs {q1, …, qr}. On dit qu'un
robot manipulateur est résoluble [Pieper 68], [Roth 76] lorsqu'il est possible de calculer toutes
les configurations permettant d'atteindre une situation donnée. Aujourd'hui, tous les
Chapitre III : Modélisation d’un robot manipulateur

manipulateurs série ayant jusqu'à six degrés de liberté et qui ne sont pas redondants peuvent être
considérés comme résolubles. Le nombre de solutions dépend de l'architecture du robot
manipulateur.

II.5 Calcul du modèle géométrique inverse


Considérons un robot manipulateur dont la matrice de passage homogène a pour expression :

0
Tn  0 T1 1 T2 2 T3 ...n -1 Tn (3.10)

On note U0 la situation désirée

s x n x a x px 
s n y a y p y 
U0  
y
(3.11)
s z n z a z pz 
 
0 0 0 1
Chapitre III : Modélisation d’un robot manipulateur

On cherche à résoudre le système d'équations suivant :

U 0 0 Tn  0 T1 1 T2 2 T3 ...n -1 Tn (3.12)

Pour trouver les solutions de l'équation (3.12), Paul [Paul 81] a proposé une méthode qui
consiste à prémultiplier successivement les deux membres de l'équation (3.12) par les matrices
j
Tj-1 pour j variant de 1 à n-1, opérations qui permettent d'isoler et d'identifier l'une après l'autre
les variables articulaires que l'on recherche.
Pour un robot à six degrés de liberté par exemple, on procède comme suit :

 multiplication à gauche de l'expression (3.12) par 1T0 :


1
T0 U 0  1T2 2 T3 3 T4 4 T5 5 T6 (3.13)

Le terme de droite est fonction des variables q1, …, q6. Il a été déjà calculé avec le
modèle géométrique direct (MGD) si l’on a pris la précaution de commencer les
multiplications de matrices en partant des transformations de l’extrémité du
manipulateur. Le terme de gauche n’est fonction que des éléments de U0 et de la
variable q1 ;
Chapitre III : Modélisation d’un robot manipulateur

 Identification terme à terme des deux membres de l’équation (3.13). On se ramène


à un système d’une ou de deux équation le plus simple possible, fonction de q1
uniquement.
 Multiplication à gauche de l’expression (3.13) par 2T1 et calcul de q2.

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

U 0  0 T1 ...5 T6
1
T0 U 0 1 T2 ...5 T6
2
T1 U1  2 T3 ...5 T6 (3.14)
3
T2 U 2  3 T4 ...5 T6
4
T3 U 3  4 T5 5 T6
5
T4 U 4  5 T6

Les éléments des deuxièmes membres ayant déjà été calculés lors du calcul du MGD :
Chapitre III : Modélisation d’un robot manipulateur

U j1  j1 T6  j1 Tj U j pour j  0, ..., 4 (3.14)


II.6 Cas des robots avec poignet rotule
La plupart des robots industriels à 6 ddl comportent trois rotations d’axes concourants au
niveau du poignet (Fig.3.7). Un tel poignet, encore appelé poignet rotule, est caractérisé par le
jeu de paramètres géométriques suivant :

Fig.3.7. Robot à six ddl muni d’un poignet de type rotule


Chapitre III : Modélisation d’un robot manipulateur

d 5  r5  d 6  0

 4   5   6  0
S  0, S  0
 5 6

La position du centre de la rotule est alors fonction des variables articulaires q1, q2 et q3. Ce type
de structure assure un découplage position / orientation qui conduit à considérer deux ensembles
d’équations à trois inconnues chacun. La solution de chaque ensemble peut être trouvée en
mettant en œuvre la procédure présentée précédemment.

II.6.1 Equation de position


Puisque 0P6 = 0P4, on peut écrire que la quatrième colonne du produit des transformations
0
T1 1T2 2T3 3T4 est égal à la quatrième colonne de U0, soit :
Px  0 
P  0 
   0T 1T 2 T 3 T  
y
(3.15)
Pz  1 2 3 4
0 
   
 
1 1 
Chapitre III : Modélisation d’un robot manipulateur

On résout les variables (q1, q2, q3) à partir de ce système d’équation en pré multipliant
successivement les deux membres par jT0 (j=1, 2) pour isoler et identifier les variables
articulaire. Les éléments du deuxième membre ont été déjà calculés lors de l’établissement du
modèle géométrique direct (MGD) si l’on a pris la précaution de commencer les multiplications
de matrices en partant des transformations de l’extrémité du manipulateur.

II.6.2 Equation d’orientation

Puisque l’orientation de U0 est donnée par :

s n a   0 A 6 (q)
On en déduit que :

3
A 0 (q1 , q 2 , q 3 )s n a   3 A 6 ( 4 , 5 , 6 )

Expression qui s’écrit sous la forme :


Chapitre III : Modélisation d’un robot manipulateur

F G H  3
A 6 ( 4 , 5 , 6 ) (3.16)

Les variables (q1, q2, q3), donc 3A0, étant connues, le terme de gauche est connu. Pour obtenir
(,,), il suffit de multiplier successivement les deux membres de l’équation (3.16) par 4A3
puis par 5A4 et de procéder par identification terme à terme des deux membres. Ici encore, Les
éléments du membre de droite ont été déjà calculés lors de l’établissement du modèle
géométrique direct (MGD) si la multiplication des matrices de transformation a été réalisée en
partant de l’extrémité du manipulateur.

Exemple 3.2

Modèle géométrique inverse du robot Staubli RX-90. Le modèle géométrique direct a été établi
précédemment. Les paramètres géométriques sont donnés dans le tableau 3.1. Le robot a un
poignet rotule.
a) Calcul de (1, 2, 

i) En développant l’équation (3.15) (équation de position), on obtient :
Chapitre III : Modélisation d’un robot manipulateur

Px  C1(-S23RL4  C2D3) 


P   
 y   S1( -S23RL4  C2D3)

Pz   C23RL4  S2D3 
   
  
1 1 
On remarque que les éléments du membre de droite constituent la quatrième colonne de 0T6,
déjà calculée pour le MGD. Ces équations ne permettent pas d’obtenir de solution.

ii) En pré multipliant l’équation précédente par 1T0, on obtient pour les éléments de gauche :

U(1)  C1Px  S1Py


U(2)  -S1Px  C1Py
U(3)  Pz
1
Les éléments de droite sont donnés par la quatrième colonne de T6 calculée
précédemment :
Chapitre III : Modélisation d’un robot manipulateur

T(1)  S23RL4  C2D3


T(2)  0
T(3)  C23RL4  S2D3

En identifiant U(2) et T(2), on trouve les deux solutions suivantes pour 1 :

1  ATAN2(P y , Px )

 '1  1  180
iii) en pré multipliant encore par 2T1, on obtient les éléments de gauche :

U(1)  C2(C1Px  S1Py )  S2Pz


U(2)  -S2(C1Px  1Py )  C2Pz
U(3)  S1Px  C1Py
Chapitre III : Modélisation d’un robot manipulateur

Les éléments de droite représentent la quatrième colonne de la matrice 2T6 :

T(1)  - S3RL4  D3
T(2)  C3RL4
T(3)  0

On peut calculer 2 et  en considérant les deux premières équations et en résolvant un


système de type 6. On obtient tout d’abord une équation en 2 telle que :
XS2  YC2  Z
avec :
Chapitre III : Modélisation d’un robot manipulateur

X  - 2Px D3
Y  - 2B1D3
Z  (RL4) 2  ( D3) 2  (Pz ) 2  ( B1) 2
B1  Px C1  Py S1
d’où l’on déduit que :

YZ - X X 2  Y 2  Z2
C2 
X2  Y2
YZ  Y X 2  Y 2  Z2 avec   1
S2 
X2  Y2

On obtient donc deux solutions de la forme :


2  ATAN2(S2, C2)

Connaissant , on peut calculer à partir de :


Chapitre III : Modélisation d’un robot manipulateur

 - PzS2 - B1C2  D3
 S3 
RL4

C3  - B1S2  Pz C2
 RL4

et l’on obtient :

3  ATAN2(S3, C3)

b) Calcul de (4, 5, 

Les variables (1, 2, étant connues, on s’intéresse maintenant aux équations
d’orientation (3.16). On note :

F G H  3 A 0 s n a 
Chapitre III : Modélisation d’un robot manipulateur

Les expressions des éléments de F s’écrivent :

U(1,1)  C23(C1s x  S1s y )  S23s z


U(2,1)  -S23(C1sx  S1s y )  C23s z
U(3,1)  S1s x  C1s y

Les expressions de G et H s’obtiennent à partir de F en remplaçant (sx, sy, sz) par (nx, ny, nz)
et par (ax, ay, az) respectivement.
i) Identification des termes de [F G H] = 3A6
Les éléments de 3A6 représentent les termes d’orientation de 3T6 déjà calculés pour le
MGD :
C4C5C6 - S4S6 - C4C5S6 - S4C6 - C4S5 
3
A6   S5C6 - S5S6 C5

 
- S4C5C6 - C4S6 S4C5S6 - C4C6 S4S5 
Chapitre III : Modélisation d’un robot manipulateur

A partir des éléments (2,3), on pourrait calculer 5 par la fonction arcosinus, mais, pour des
raisons de précision numérique, ce résultat n’est pas retenu.
i) Identification des termes de 4A3 [ F G H ] = 4A6
Les éléments de la première colonne du terme de gauche s’écrivent :
U(1,1) = C4 Fx - S4 Fz
U(2,1) = - C4 Fz – S4 Fx
U(3,1) = Fy
Les expressions des deuxième et troisième colonnes s’obtiennent en remplaçant (Fx, Fy, Fz)
par (Gx, Gy, Gz) et par (Hx, Hy, Hz) respectivement. Les éléments de 4A6 représentent les
termes d’orientation de 4T6 déjà calculés pour le MGD :

C5C6 - C5S6 - S5 
4
A 6   S6 C6 0 
 
S5C6 - S5S6 C5 
A partir des éléments (2,3), on obtient une équation du type 2 en 4 :
Chapitre III : Modélisation d’un robot manipulateur

- C4 Hz – S4 Hx = 0
qui donne les deux solutions :

 4  ATAN2(H z ,H x )

 '4   4  180
A partir des éléments (1,3) et (3,3), on obtient un système de type 3 en 5 :
-S5 = C4 Hx – S4 Hz
C5 = Hy
qui a pour solution :
5 = ATAN2(S5, C5)
Enfin, en considérant les éléments (2,1) et (2,2), on obtint un système d’équation de type 3
en 6 :
S6 = -C4 Fz – S4 Fx
C6 = -C4 Gz – S4 Gx
qui a pour solution : 6 = ATAN2(S6, C6)
Chapitre III : Modélisation d’un robot manipulateur

III. Modélisation Cinématique


III.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é :
 
X  J(q) q (3.17)
X
Où J(q) est la matrice jacobienne de dimension (m x n) du mécanisme, égale à et fonction
q
de la 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 des coordonnées articulaires dq, soit :

dX = J(q) dq (3.18)

L’intérêt de la matrice jacobienne est multiple :


Chapitre III : Modélisation d’un robot manipulateur

 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 ;
 En statique, on utilise le jacobien J 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.
Le calcul de la matrice jacobienne peut se faire de différentes manières.

III.1.1. 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 (q)
J 
q (3.19)
Chapitre III : Modélisation d’un robot manipulateur

La formulation du jacobien dépend du système de coordonnées opérationnelles choisi.


Par exemple, si X = (Px, Py, Pz, )T représente le vecteur des coordonnées opérationnelles
d’un robot à 6 ddl, on a :

Px  f x (q1 ,...,q6 )


P  f (q ,...,q )
 y y 1 6

Pz  f z (q1 ,...,q6 )


X  f(q)  
  f (q1 ,...,q6 ) (3.20)
  f (q1 ,...,q6 )

  f (q1 ,...,q6 )

En dérivant X, on obtient :
Chapitre III : Modélisation d’un robot manipulateur

 f x f x 
 q  
q 6 
 1

f y  q 1 

 f y
 Px 
'
    
 '   q 1 q 6    
q2 
 Py   f z f z  
   q 3 

P '  
 z
   q 1 q 6   
 '      
  q 4  (3.21)
 '     
   q 1 q 6    
    q 
    5 

  '

    
 q 1 q 6  q 6 
 
   
   
 q 1 q 6 


Chapitre III : Modélisation d’un robot manipulateur

 f x f x

 q  
q 6
 1

 f y f y 
 q 
 1 q 6 

 f z f z 
  
q1 q 6 
J(q)  
   
  
 q1 q 6 
   
  
 q1 q 6 
   
  
 q1 q 6 

Par cette approche, chacun des termes Jij(q) de la matrice J(q) peut être calculé de manière
analytique par des dérivées partielles à partir du modèle géométrique direct.
Chapitre III : Modélisation d’un robot manipulateur

Exemple 3.3
Soit le robot plan à trois degrés de liberté d’axes rotoides parallèles représenté sur la figure 3.8.

Fig.3.8. Exemple d’un robot plan à trois ddl

On note L1, L2 et L3 les longueurs des segments. La matrice de transformation homogène de


l’outil dans le repère R0 est donnée par :
Chapitre III : Modélisation d’un robot manipulateur

C123 - S123 0 C1L1  C12L2  C123L3 


S123 C123 0 S1L1  S12L12  S123L3 
0
TE   
0 0 0 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  du dernier segment avec l’axe x0.

Px = C1 L1 + C12 L2 + C123 L3
Py = S1 L1 + S12 L2 + S123 L3
3
La matrice jacobienne est calculée en dérivant ces trois relations par rapport à ,et3 :
Chapitre III : Modélisation d’un robot manipulateur

- S1L1 - S12L2 - S123L3 - S12L2 - S123L3 - S123L3


J  C1L1  C12L2  C123L3 C12L2  C123L3 C123L3 
 
 1 1 1 
III.1. Modèle cinématique inverse
Afin de commander la vitesse de déplacement du robot, il est nécessaire de
définir les accroissements des angles moteurs conduisant aux accroissements
de position et d’orientation de l’effecteur du robot dans l’espace de la tâche.
L’inversion du système (3.18), quand elle est possible, permet de convertir un
écart au niveau des paramètres de la tache en un autre au niveau des
variables articulaires.
L’équation (3.22) constitue une commande en vitesse pour laquelle dq
représente la consigne.

dq = J-1 dX (3.22)
Chapitre III : Modélisation d’un robot manipulateur

Deux classes de méthodes peuvent être mises en œuvre pour obtenir le modèle différentiel
inverse :
1) Celle qui procède par dérivation des modèles géométriques inverses. Il s’agit de méthodes
analytiques qui ont pour avantage de donner tous les modèles différentiels inverses associés
aux différents modèles géométriques inverses. Mais, de part leur principe, elles exigent que
le robot manipulateur considéré soit résoluble.
2) Celle qui consiste à inverser le modèle différentiel direct en résolvant un système
d’équations linéaires.
La mise en œuvre de ce type de méthodes peut être faite de façon analytique ou numérique.
Les solutions analytiques ont pour avantage de diminuer considérablement le nombre
d’opération, mais on doit traiter séparément tous les cas singuliers.
Les solutions numériques sont plus générales. La plus répandue est basée sur la notion
de pseudo-inverse. Les algorithmes utilisés traitent de façon unifiée les cas réguliers,
Chapitre III : Modélisation d’un robot manipulateur

singuliers et redondants. Elles nécessitent un temps de calcul relativement important,


ce qui les rend plus adaptées pour la simulation que pour la commande en ligne.

IV. Modélisation Dynamique

Le modèle d’un système mécanique articulaire n’est qu’une approximation pour l’étude de son
comportement réel. Les modèles géométriques et différentiels font abstraction des masses,
inerties et de toutes les forces dynamiques (inertielles, centrifuges et de Coriolis) qui ne sont plus
négligeables lorsque la vitesse du robot devient élevée (quelques m/s).
Ces phénomènes dynamiques produisent des écarts de trajectoire suivie par le robot par rapport à
la trajectoire calculée.
De nombreux travaux ont été développés dans le but d’établir des modèles de comportement
dynamiques de robots articulés. Plusieurs formalismes de base peuvent être utilisés pour
l’obtention de tels modèles, parmi lesquels on peut citer :
 Equation de Lagrange
Chapitre III : Modélisation d’un robot manipulateur

 Equation de Newton-Euler
 Fonction de Gibbs
 Principe de travaux virtuels.
Dans ce cours, nous nous intéressons au formalisme de Lagrange.
Pour la commande des robots, l’expression du couple en fonction des coordonnées, vitesses et
accélérations généralisées est à déterminer, on appelle ceci modèle dynamique inverse.
On cherche alors une relation entre les couples/forces généralisés et les positions, vitesses et
accélérations généralisées.
Cette relation s’exprime par :

(3.23)

Avec :
Chapitre III : Modélisation d’un robot manipulateur

En simulation, l’expression des accélérations généralisées en fonction des couples, coordonnées


et vitesses généralisées est utile, c’est le modèle dynamique direct. Il est alors représenté par la
relation :

(3.24)

IV. 1. Formalisme de Lagrange


En utilisant le formalisme de Lagrange, le couple i utile pour chaque
articulation aura la forme suivante :
Chapitre III : Modélisation d’un robot manipulateur

d L L
i  ( ) 
dt  q. q i i=1,…, n (3.25)
i

avec

 i : couple correspondant à l’articulation i ;


 L : Lagrangien du système égal à E – U ;
 E : énergie cinétique totale du système ;
 U : énergie potentielle totale du système.
Chapitre III : Modélisation d’un robot manipulateur

IV. 2. Forme générale des équations dynamiques

L'énergie cinétique du système est une fonction quadratique des vitesses articulaires :

(3.26)

Où M la matrice de l'énergie cinétique, d'élément générique Mij, appelée aussi matrice d'inertie
du robot, qui est symétrique et définie positive. Ses éléments sont fonction des variables
articulaires (q).

L'énergie potentielle étant, elle aussi, fonction des variables articulaires (q), le couple i peut se
mettre, à partir des équations 3.25 et 3.26, sous forme :

.. . .
 i  M ( q ) q  H ( q, q ) q  G ( q ) (3.27)
Chapitre III : Modélisation d’un robot manipulateur

avec

. .
 H (q, q) q : Vecteur de dimension (nx1) représentant les couples/forces de Coriolis et des
forces centrifuges tel que :
. . . E
H q  M q (3.28)
q
 G  G1...Gn  : Vecteur des couples/forces de gravité.
T

Plusieurs formes sont possibles pour la matrice H. On peut par exemple calculer ses éléments à
partir du symbole de Christophell ci,jk tel que :

(3.29)
Chapitre III : Modélisation d’un robot manipulateur

Les éléments du vecteur G se calculent en écrivant que :

(3.30)

Les éléments de M, H et G, s'appellent les coefficients dynamiques du robot. Ils sont fonctions
dynamiques des paramètres géométriques et inertiels du mécanisme. Les équations dynamiques
d'un système mécanique articulé forment donc un système d’équations différentielles du second
ordre, couplées et non linéaires.

IV. 3. Calcul des coefficients dynamiques

Pour calculer les coefficients dynamiques, M, H et G, il faut tout d'abord calculer les énergies
cinétique et potentielle de tout les corps du robot. On procède ensuite comme suit :
.
q i2
 L'élément Mii est égal au coefficient de ( 2 ) dans l’expression de l’énergie cinétique,
. .
tandis que l’élément Mij, si i  j , est égal au coefficient de qi q j .
 Le calcul de se fait selon les équations (3.29).
 Le calcul de G se fait selon l’équation (3.30).
Chapitre III : Modélisation d’un robot manipulateur

IV. 4. Calcul de l’énergie cinétique

L'énergie cinétique totale du système est donnée par la relation :

n
E   Ei (3.31)
i 1
Où Ei désigne l'énergie cinétique du corps Ci, qui s'exprime par :

1 T
Ei  (i I ii  M iVgiTVgi ) (3.32)
2
Où :

 i : Vitesse de rotation du corps Ci


 Mi : masse du corps Ci
 Ii : tenseur d’inertie du corps Ci
 Vgi : Vitesse absolue du centre du corps Ci
Chapitre III : Modélisation d’un robot manipulateur

IV. 5. Calcul de l’énergie potentielle

Soit U l’énergie potentielle totale du bras manipulateur, et Ui l’énergie potentielle d’un corps Ci
de masse mi :

Ui  mi 0 g T 0 ri  mi 0 g T ( 0Ti i ri ) (i=1,2,…, n) (3.33)

avec :
0
g   g x g y g z 0

 0g : est le vecteur de la pesanteur exprimé dans le repère R0


 0ri : est le vecteur de coordonnées du centre de masse du corps Ci dans le repère R0.

L’énergie potentielle totale du bras manipulateur est la somme des énergies potentielles de tous
les segments, soit :

n n
U  U i   mi 0 g T 0 ri (3.34)
i 1 i 1
Chapitre III : Modélisation d’un robot manipulateur

Exemple 3.4 : Application du formalisme de Lagrange à un robot manipulateur à 2 ddl


On considère le robot à 2 ddl représenté par la figure suivante.

Avec :
 li : longueur du segment i
 lci : longueur du centre de gravité du segment i
Chapitre III : Modélisation d’un robot manipulateur

 i : position angulaire de l’articulation i


  : 1+2
 mi : masse des segments i

A partir de la figure ci-dessus, nous déterminons les coordonnées du bras manipulateur par
rapport au repère Oxy, ce qui donne :

x1  lc1 cos 1
(3.34)
y1  lc 2 sin 1

x2  l1 cos  1 lc 2 cos 


(3.35)
x2  l1 sin 1  lc 2 sin 

En dérivant les expressions précédentes, on obtient :


. . . . .
x1  lc1  1 sin 1 x 2  (l1  1 sin  1 lc 2  sin  )
. . . . .
y1  lc1  1 cos 1 y 2  l1  1 cos 1  lc 2  cos 
Chapitre III : Modélisation d’un robot manipulateur

En élevant au carré, nous aurons :


.2 . 2 .2 . 2 .2 . .
x1  l  1 sin 1
2
c1
2
x 2  l  1 sin 1  l  sin   2l1lc 2  1  sin 1 sin 
1
2 2 2
c2
2

. 2 . 2 . . 2 .2 . .
y1  l  1 cos 1
2
c1
2
y 2  l  1 cos 1  l  cos   2l1lc 2  1  cos 1 cos 
1
2 2 2
c2
2

La modélisation du robot se fait par l’application du formalisme d’Euler-Lagrange dont


l’équation générale est donnée précédemment. Cela permet d’obtenir directement les équations
d’évolution des couples appliqués. Nous avons L = E - C.

a) Détermination de l’énergie cinétique E


En se basant sur l’équation (3. 31), l’énergie cinétique du système est donnée par :

(3.36)

Remplaçons  par son expression, on obtient :


Chapitre III : Modélisation d’un robot manipulateur

(3.37)

avec :

(3.38)

l’équation (3.37) devient :

(3.39)

b) Détermination de l’énergie potentielle U


(3.40)

avec :
Chapitre III : Modélisation d’un robot manipulateur

(3.41)

l’équation (3.40) :

(3.42)

c) Détermination du Lagrangien L
Le Lagrangien L = E - U

(3.43)

d) Détermination du modèle dynamique du robot


Nous appliquons maintenant l’équation d’Euler-Lagrange donnée par l’équation (3.25) pour
déterminer le modèle dynamique correspondant au robot manipulateur à 2ddl, soit :
Chapitre III : Modélisation d’un robot manipulateur

d L L
i  ( ) 
dt  q. q i
i

Nous avons :

ce qui donne :
Chapitre III : Modélisation d’un robot manipulateur

Nous avons aussi pour la 2ème articulation :

ce qui donne :
Chapitre III : Modélisation d’un robot manipulateur

Finalement pour les deux articulations, nous obtenons :


Chapitre III : Modélisation d’un robot manipulateur

En robotique, si le mouvement des articulations constituant le robot manipulateur est rotoïde,


l’expression du couple peut être s’exprimé sous la forme matricielle suivante, ce qui
correspondant au modèle dynamique du robot :

(i = 1, 2) (3.44)

avec :

i : Vecteur des couples ou des forces généralisés.


 :Vecteur des variables articulaires du bras manipulateur.

.
 : Vecteur des vitesses articulaires.
..
 : Vecteur des accélérations articulaires.
M ( ) : Matrices d’inertie de dimension (nxn).
. .
H ( , )  : Vecteur des forces centrifuges et de Coriolis.
Chapitre III : Modélisation d’un robot manipulateur

G( ) : Vecteur de force de gravité de la charge.

Soit :

  1 2 
T

Le développement de l’équation (3.44) donne :

(3.45)

ce qui donne :

(3.46)

avec :
Chapitre III : Modélisation d’un robot manipulateur

Vous aimerez peut-être aussi