Académique Documents
Professionnel Documents
Culture Documents
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)
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
dK i =
2
(
1 2
) 1
V x + V y2 + V z2 dm = trace(VV T )dm
2
(8)
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
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 .
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.
• •
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
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é.
Y0
y2 Lc2 G2 x2
q2
y1
Lc1 O2 L2
G1
x1
q1
O1 X0
L1
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
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.
•
− 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
joint θ d l α
1 q1 0 0 0
2 q2 0 L1 0
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
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
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
6
Chapitre 4 Robotique (modélisation dynamique)
[
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)
7
Chapitre 4 Robotique (modélisation dynamique)
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).