Vous êtes sur la page 1sur 8

Chapitre 4 Robotique (modélisation dynamique)

Chapitre 4
Modélisation dynamique d’un bras manipulateur.

4.1 Introduction :
Un système mécanique peut être traduit sous forme d’un modèle dynamique pour
faciliter son étude grâce aux équations différentielles, qui existent entre les variables d’états
du mécanisme, leurs dérivés et les forces extérieures agissant sur chaque corps. La forme la
plus générale est :
•• • •
M ( q ) q + C ( q, q ) q + G ( q ) = U (1)

4.2 Modèle dynamique :


Le modèle dynamique (1) exprime les couples (ou les forces) moteurs des actionneurs des

différents bras du robot manipulateurs en fonctions des positions q, des vitesses q , et des
••
accélérations q , articulaires et des forces extérieurs F à exercer sur l’organe terminal . il
exprime l’équilibre entre les couples d’entraînement et le couple de freinage dus aux inerties,
aux forces centrifuges et de Coriolis ainsi qu’aux forces de gravitation. Ce modèle est aussi
appelé, modèle dynamique inverse.
• ••
U = f(q, q, q, F) (2)
où :
• U ∈ ℜ n : Vecteurs des couples moteurs dont la dimension est égale au nombre de
degrés de liberté du robot manipulateur.
• q : Vecteur des positions articulaires.

• q : Vecteur des vitesses articulaires.
••
• q : Vecteur des accélérations articulaires.
• F : Forces ou moments extérieurs exercés par et/ou sur l’organe terminal.

4.2.1 Formalisme de Lagrange:


Le modèle dynamique (2) peut être obtenu par plusieurs méthodes, la plus utilisée est
celle de Lagrange qui décrit le comportement dynamique d’un système en termes de travail et
d’énergie.
Le modèle dynamique est obtenu par les équations d’Euler-Lagrange (EL) suivantes :
 
d  δL  δL
 − = Ui i=1….n, (3)
dt δ q•  δqi
 i

Avec L : désigne la fonction de Lagrange donnée par l’équation :


• •
L(q, q ) = K (q, q ) − U (q ). (4)
 •

avec :  K ( q , q ): Energie cinétique.


 U (q ) : Energie potentielle.

4.2.2 Calcul de l’énergie cinétique :

1
Chapitre 4 Robotique (modélisation dynamique)
Soit un point de l’articulation ‘‘i’’ de vecteur ir des cordonnées dans le repère Ri. Les
coordonnées de ce point dans le repère R0 de la base du robot sont exprimées par le vecteur :
r= 0Ti ir (5)
où :
0
Ti=0T11T2……i-1Ti (6)
0
Ti : Est la matrice ∈ ℜ de transition homogène du repère Ri dans le repère R0.
4× 4

Le vecteur de vitesse V du point considéré par rapport au repère R0 s’écrit :


dr n  δ 0Ti •  i
V = =∑  qj r (7)
dt j =1  δq j 
L’énergie cinétique d’une masse infinitésimale ‘‘ dm ’’ en ir ayant un vecteur de vitesse
V=[Vx Vy Vz]T est définie par :

dK i =
2
(
1 2
) 1
V x + V y2 + V z2 dm = trace(VV T )dm
2
(8)

On remplace V par son expression dans (8), on trouve :

1  n n δ 0Ti i i T δ 0TiT • • 
dK i = trace ∑∑ r r dm q q  (9)
2  j =1 k =1 δq j δq K j K 
L’énergie cinétique de l’articulation ‘‘i’’ est donnée par :
Ki = ∫ dK i .
articulati on i
(10)

l’intégrale n’agit que sur le terme ir irT, nous définissons ainsi une pseudo-matrice d’inertie
∈ ℜ 4×4 pour l’articulation i :

 x 2 dm
∫ ∫ yx dm ∫ zx dm ∫ x dm 
 ∫ xy dm ∫ y dm ∫ zy dm ∫ y dm
2

Ii = ∫ r r dm =  xz dm yz dm
i i T
(11)
∫ ∫ ∫ z dm ∫ z dm 
2
articulation i
 x dm
∫ ∫ y dm ∫ z dm ∫ dm 
L’énergie cinétique totale du robot s’écrit alors :

n
1 n  n n δ 0Ti δ 0Ti T • • 
K = ∑ Ki = ∑ ∑∑trace Ii q q  (12)
i =1 2 i =1  j =1 K =1 δq j δq K j K 

Puisque la trace d’une somme de matrices est égale la somme des traces individuelles de
chaque matrice, K s’écrit alors :

1 n n • •
K= ∑∑
2 j =1 K =1
m jK (q) q j q K (13)

1 •T •
où : K= q M (q ) q (14)
2

Où l’élément m jk(q) de M(q) ∈ ℜ 4×4 est définit par :

2
Chapitre 4 Robotique (modélisation dynamique)
n  δ 0T δ 0Ti T 
m jK (q ) = ∑ trace  i I i  (15)
i =1  δq j δq K 

Nous pouvons conclure que la matrice d’inertie M(q) est symétrique [M(q)=M(q)T], et définie
positive M(q) >0.

Alors l’énergie cinétique K dépend des variables articulaires q et q .

4.2.3 Calcul de l’énergie potentielle :


L’énergie potentielle d’un robot manipulateur est donnée par :
n
U (q) = ∑ U j (q) (16)
j =1

où : Uj(q) : désigne l’énergie potentielle du corps Cj, et elle est définie par :
Uj (q)=-m j 0gT 0Pj (q) (17)
Avec:
g : Vecteur ∈ ℜ 3 de l’accélération de la gravitation, exprimé dans le repère R0 de la base du
0 T

robot .
0
pj : Vecteur ∈ ℜ 3 des coordonnées du centre de masse du corps Cj par rapport repère R0.

Etant donnée que le vecteur 0pj est en fonction des positions articulaires q, l’énergie
potentielle U dépend alors de la variable q.

4.2. 4 Formulation du modèle dynamique :


En exploitant les relations (3) et (4) nous obtenons :

• •
 
d δK (q, q )  δK (q, q ) δU (q )
 − + = Γi i=1,…..,n (18)
dt  δ q•  δqi δqi
 i 
δK 1  • •

avec : •
=  mij (q) q j + m Ki (q) q K  (19)
δq 2 
i

δK •
puisque M(q) est symétrique, alors : •
= mij (q ) q j
δ qi
  δm (q ) • •
d  δK  ••
= +
ij
Donc : q q m ( q ) qj (20)
dt  δ q•  δq K K j ij

 i 
L’expression du couple Γi devient :

•• δmij (q) • • 1 δm Kj (q ) • • δU
Γi = m ij (q ) q j + qK q j − qK q j + (21)
δq K 2 δq i δqi

En utilisant la symétrie de la matrice M(q), nous obtenons :

δm ij (q) • • 1 δm Kj (q) • • 1 δm ij (q ) • • δm iK (q ) • • δm Kj (q ) • • 


qK q j − qK q j =  qK q j + qK q j − qK q j 
δq K 2 δqi 2  δq K δq j δqi 

3
Chapitre 4 Robotique (modélisation dynamique)

1 δm ij (q ) δm iK (q ) δm Kj (q )  • •
=  + − q q (22)
2  δq K δq j δqi  K j


L’utilisation des symboles de Christoffel, nous permet d’écrire C Kj ,i (q, q) , sous la
forme suivante:

• 1 δm ij (q ) δm iK (q ) δm Kj (q )  • • •
C ij (q, q ) =  + −  q K = C Kj ,i (q, q ) q K (23)
2  δq K δq j δqi 
Une écriture matricielle de (21) et(23) donne les équations du modèle dynamique du robot
δU
manipulateur avec G(q) un vecteur la iéme coordonnée donnée par , d'où :
δqi
•• • •
M ( q ) q + C ( q, q ) q + G ( q ) = U
• •
où : C (q, q ) q . ∈ ℜ n est le vecteur regroupant les forces centrifuges et de Coriolis et G(q)
∈ ℜ n : est le vecteur des forces de gravité.

4.3 Modèle du robot à deux degrés de liberté (ddl) :


Nous allons modéliser un robot à deux degrés de liberté et qui a deux articulations rotoïdes
(Figure 1), c'est-à-dire qui se déplace dans le plan vertical.
m1: Masse du corps 1.
m2 : Masse du corps 2
G1 : Centre de masse du corps 1.
G2 : Centre de masse du corps 2.
L1 : Longueur du corps 1.
L2 : Longueur du corps 2.
Lc1 : position du centre de masse G1 par rapport à O1.
Lc2 : positions du centre de masse G2 par rapport à O2.

Y0

y2 Lc2 G2 x2
q2
y1
Lc1 O2 L2
G1
x1
q1
O1 X0
L1

Fig (1) représentation du robot à deux axes rotoïdes.

Ce bras est constitué de deux axes de masses respectives m1 et m2 de longueurs respectives L1


et L2. Les vecteurs numériques utilisés pour la simulation sont celles des axes 2 et 3 du robot
Puma 560.

4
Chapitre 4 Robotique (modélisation dynamique)
Soit :
x
X =   : Vecteur des coordonnées opérationnelles donnant la position de l’organe terminal.
 y
q 
q=  1  : Vecteur des coordonnées généralisées.
q 2 

4.3. 1 Modèle géométrique :


Les positions des masses m1,m2 sont données par :
 xc1   Lc1 cos(q 1 )
 y  =  L sin(q ) . (24)
 c1   c1 1 

 xc 2   L1 cos(q1 ) + Lc 2 cos(q1 + q 2 )
 y  =  L sin(q ) + L sin(q + q ) . (25)
 c2   1 1 c2 1 2 

Avec Lc=L/2.

4.3. 2 Modèle cinématique :


Le modèle cinématique appelé aussi modèle variationnel permet de calculer les vitesses
ou la variation de l’organe terminal en fonction des vitesses articulaires.


 
 − L c1 1 sin q1 
q
Vc1 = • . (26)
 L q cos q 
 c1 1 1 

• •
 •

− L q sin( q ) − L ( q + q 2 ) sin( q1 + q 2 ) 
Vc 2 = • 1 1 1 c 2 1
. (27)
 L q cos(q ) + L (q• + q• ) cos(q + q ) 
 1 1 1 c2 1 2 1 2 

4.3. 3 Paramètres de Denavit-Hartenberg(D-H) :


Nous définissons les paramètres (D-H) de ce robot manipulateur à deux degrés de liberté
comme suit.

joint θ d l α
1 q1 0 0 0
2 q2 0 L1 0

4.3. 4 Calcul de la matrice du passage :


Les matrices de passage intermédiaires sont 0T1 et 1T2 .
Exprimées suivant la forme (Annex).

cos(q1 ) − sin(q1 ) 0 0
 sin(q ) cos(q ) 0 0
0
T1 =  1 1
(28)
 0 0 1 0
 
 0 0 0 1

5
Chapitre 4 Robotique (modélisation dynamique)
cos(q 2 ) − sin(q 2 ) 0 L1 
 sin(q ) cos(q ) 0 0 
1
T2 =  2 2  (29)
 0 0 1 0
 
 0 0 0 1

Donc la matrice de passage globale est donnée par :


cos(q1 + q 2 ) − sin(q1 + q 2 ) 0 L1 cos(q1 )
 sin(q + q ) cos(q + q ) 0 L1 sin(q1 ) 
0
T2 = T1 T2 = 
0 1 1 2 1 2
(30)
 0 0 1 0 
 
 0 0 0 1 

4.3. 5 Calcul de la matrice d’inertie :


Afin de calculer la matrice d’inertie M(q), on calcule d’abord ses éléments mjk(q) par
la formule (15), on a donc :

 δ 0T1 δ 0T1T   δ 0T2 δ 0T2T 


m11 (q ) = trace  I1  + trace  I2  (31)
 δq1 δq1   δq1 δq1 

 x 2 dm1 m1 Lc1 
∫
0 0

∫y
2
 0 dm1 0 0 
I1 =   (32)
∫ z dm1
2
 0 0 0 
 m1 Lc1 0 0 m1 

 m2 Lc 2 + m p L2 
 ∫ x 2 dm2 0 0

∫y
2
 0 dm2 0 0 
I2 =   (33)
∫z
2
 0 0 dm 2 0 
m2 Lc 2 + m p L2 0 0 m2 
 

Après le développement de la formule (31) on obtient :

m11 (q) = j1 (θ1 ) + j 2 (θ 2 ) + m2 L12 + 2(m2 L1 Lc 2 + m p L1 L2 ) cos(q 2 ) (34)

 j1 (θ 1 ) = ( x 2 + y 2 )dm1
avec :  ∫
 j 2 (θ 2 ) = ∫ ( x + y )dm2
2 2

Telle que ji (θ i) représente l’inertie par rapport à l’axe (Oi ,Z i) du corps Ci.
De la même manière l’application de la formule (15) permet d'écrire

m22 (q) = j 2 (θ 2 ) (35)


m21 (q ) = j 2 (θ 2 ) + (m2 Lc 2 L1 + m p L1 L2 ) cos(q 2 ) (36)

4.3. 6 Calcul du vecteur des termes de gravité :


L’énergie potentielle de chaque corps Cj (i=1,2) s’obtient à partir de la relation (16) et (17).

6
Chapitre 4 Robotique (modélisation dynamique)

 U 1 = − gm1 Lc1 sin( q1 )



U 2 = − g ( m 2 L1 + m p L1 ) sin( q1 ) − g ( m 2 Lc 2 + m p L2 ) sin( q1 + q 2 )

D’où l’expression de l’énergie potentielle totale, ou dans le repère 0 , 0 g = (0 − g 0)


T

[
U = g (m1 Lc1 + m2 L1 + m p L1 ) sin(q1 ) + (m2 Lc 2 + m p L2 ) sin(q1 + q 2 ) ] (37)
δU
et d’après la relation G (q ) = on trouve
δqi
δU
G1 (q ) = = g [(m1 Lc1 + m2 L1 + m p L1 ) cos(q1 ) + (m2 Lc 2 + m p L2 ) cos(q1 + q 2 )] (38)
δq1

δU
G2 (q ) = = g [(m2 Lc 2 + m p L2 ) cos(q1 + q 2 )] (39)
δq 2

4.3. 7 Calcul de la matrice C(q, q ) :
A partir de la relation (23) et la matrice M(q), on peut calculer les éléments de la matrice

C(q, q ), on a donc :
• 1  • T δm11 ( q )  δm11 ( q ) δm11 ( q )  •  δm12 ( q ) δm12 ( q )  • 
C11 ( q , q ) = q +  − q + −  q . (40)
2 δq  δq1 δq1  1  δq1 δq1  2 
• •
C11 (q, q) = −(m2 L1 Lc 2 + m p L1 L2 ) q 2 sin(q 2 ) (41)

• 1  • T δm12 (q )  δm11 (q ) δm21 (q )  •  δm12 (q ) δm22 (q )  • 


C12 (q, q ) = q +  − q +  − q 
2 δq  δq 2 δq1  1  δq 2 δq1  2 
(42)
• • •
C12 (q, q) = −(m2 L1 Lc 2 + m p L1 L2 )(q 1 + q 2 ) sin(q 2 ) (43)

• 1  • T δm21 (q )  δm21 (q ) δm11 (q )  •  δm22 (q ) δm12 (q )  • 


C 21 (q, q ) = q +  −  q 1 +  −  q 2 
2 δq  δq1 δq 2   δq1 δq 2  
(44)
• •
C 21 (q, q) = (m2 L1 Lc 2 + m p L1 L2 ) q 1 sin(q 2 ) (45)

• 1  • T δm22 (q )  δm21 (q ) δm21 (q )  •  δm22 (q ) δm22 (q )  • 


C 22 (q, q ) = q +  − q +  − q 
2 δq  δq 2 δq 2  1  δq 2 δq 2  2 
(46)

C 22 (q, q ) = 0. (47).

4.3. 8 Modèle dynamique du robot à deux degrés de liberté :


D’après les paragraphes précédents, les matrices et le vecteur des termes des gravités du
modèle dynamique du bras manipulateur sont exprimés comme suit:
Matrice d’inertie :

7
Chapitre 4 Robotique (modélisation dynamique)

 j (θ ) + j2(θ2 ) + m2L12 + 2( m2L1Lc2 + mpL1L2 ) cos(q2 ) j2 (θ2) + ( m2L1Lc2 + mpL1L2 ) cos(q2 )


M(q) =  1 1  (48)
 j2(θ2 ) + ( m2L1Lc2 + mpL1L2 ) cos(q2 ) j2 (θ2 ) 

Matrice des forces centrifuge et Coriolis


 • • • 

 −(m2L1Lc2 + mpL1L2 )q2 sin(q2 ) (m2L1Lc2 + mpL1L2 )( q1 + q2 )sin(q2 )
C(q, q) =  • 
 (m2L1Lc2 + mpL1L2 )q1 sin(q2 ) 0 
(49)
Vecteur des efforts gravitationnels.
 g (m1 Lc1 + m2 L1 + m p L1 ) cos(q1 ) + (m2 Lc 2 + m p L2 ) cos(q1 + q 2 )
G (q ) =   (50)
 (m2 Lc 2 + m p L2 ) cos(q1 + q 2 ) 

Paramètre d’inertie
1 1
I 1 = m1 L12 I 2 = m2 L22 .
3 3

4. 4 Génération de la trajectoire :
La dynamique du robot exige d’imposer des trajectoires réalisables, ainsi la continuité en
position, vitesse et accélération offre au robot la possibilité de poursuivre la trajectoire avec
des commandes réalisables.
La décomposition de la tâche en plusieurs points intermédiaires nécessite une continuité du
premier et du second ordre.
L’imposition d’une position finale constante par exemple, nécessite l’utilisation d’un
polynôme du troisième degré permettant une continuité en position et en vitesse.
Cette tâche se traduit par le passage d’un état d’équilibre à un autre, ces deux états définiront
les conditions aux limites du polynôme d’interpolation.

• •

 p ( 0) = θ 0 p ( 0) = θ 0
P (t ) = a 0 + a1t + a 2 t + a 3t .
2 3
 • • (51).
 p (t f ) = θ f p (t f ) = q f

θf
•  a0 = θ 0
θf  a1 = θ .
 • •
 a = 3 (θ − θ ) − 2 θ 0 − 1 θ f
 2 t3 f 0
tf tf
 f

• a = − 2 (θ − θ ) + 1 (θ + θ• )

θ0  3 t 3f
f 0
t 2f
f 0

θ0
t0 tf
Fig (2) Génération d’un polynôme d’interpolation

A partir des conditions aux limites (équation I.52), on calcule les différents coefficients du
polynôme p(t).

Vous aimerez peut-être aussi