You are on page 1of 21

ELE8203: Robotique

Cours 8: Dynamique des robots manipulateurs

Instructeur: Jérôme Le Ny

Département de Génie Électrique


Motivation et agenda

• La cinématique permet de décrire le mouvement mais pas ses causes

• La dynamique permet de faire le lien entre forces/moments et


accélérations. Rôle de la répartition des masses, inertie

• Physiquement, un moteur délivre un couple, qui permet d’actionner le


robot. Le mouvement en résulte, par les lois de la mécanique classique

• Les stratégies de commande en position ou vitesse font une abstraction de


la dynamique du robot grâce à la robustesse de l’asservissement de bas
niveau des moteurs. Mais ne permettent pas de bien suivre des trajectoires
rapides ou à forte accélération par exemple (couplage dynamique entre les
segments)

• Pour améliorer les performances, on souhaite prendre en compte un


modèle dynamique du robot → permettra une commande en couple

1
Agenda

1. Fondements de mécanique lagrangienne, énergie potentielle et cinétique

2. Équations du mouvement d’un manipulateur série

2
Fondements de mécanique lagrangienne,
énergie potentielle et cinétique
Équations d’Euler-Lagrange

• Pour établir les équations du mouvement d’un manipulateur, on part des


équations d’Euler-Lagrange (admises)
• Permet de décrire la dynamique d’un système par une approche
énergétique (alternative équivalente à Newton-Euler)
• Système dont la configuration est décrite par n coordonnées généralisées
q = (q1 , . . . , qn ) [variables articulaires]
• Système soumis à
• des forces conservatives, dérivant d’une énergie potentielle P(q) [pesanteur]
• d’autres forces externes: forces généralisées f = (f1 , . . . , fn ) telles que fi q̇i
est une puissance fournie au système [couples/forces délivrés aux
articulations par les moteurs]
• Lagrangien du système dans un état x = (q, q̇), dont K(q, q̇) est l’énergie
cinétique: L(q, q̇) = K(q, q̇) − P(q) (c-à-d L(q1 , . . . , qn , q̇1 , . . . , q̇n ))

• Équations d’Euler-Lagrange (E-L), système de n équations du second ordre


d ∂L ∂L
− = fi , 1 ≤ i ≤ n
dt ∂ q̇i ∂qi

3
Exemple: mouvement 1D d’une masse ponctuelle

mg
0

• Masse ponctuelle m
• Énergie cinétique: K(x, ẋ) = 21 m ẋ 2
• Énergie potentielle de pesanteur: P(x) = mgx
• Lagrangien: L(x, ẋ) = 21 m ẋ 2 − mgx
• ∂L/∂ ẋ = mẋ, ∂L/∂x = −mg .
• Équations d’E-L donnent ici 1 équation: mẍ + mg = f

4
Exemple: mouvement d’un pendule sphérique

zs
• Masse ponctuelle, 2 d.d.l. ϕ, θ
h iT
• P s = l sin θ cos ϕ l sin θ sin ϕ −l cos θ
• vP/s
s
=? xs ys
2
• K = 12 m∥vP/s ∥2 = ml
2
(θ̇2 + ϕ̇2 sin2 θ)
l
• P = mgzP = −mgl cos θ θ
• ∂L/∂θ, ∂L/∂ϕ, ∂L/∂ θ̇, ∂L/∂ ϕ̇
• Vérifiez que les équations du mouvement sont P

ml 2 θ̈ − ml 2 sin θ cos θ ϕ̇2 + mgl sin θ = 0


mg
ml 2 sin2 θ ϕ̈ + 2ml 2 cos θ θ̇ϕ̇ = 0.
ϕ
• Linéaires en q̈, quadratiques en q̇

5
Énergie potentielle de pesanteur d’un solide

• Pour les manipulateurs, il est nécessaire de calculer l’énergie potentielle et


cinétique de solides continus, pas juste de masses ponctuelles
• Simplifications pour les solides indéformables: s’expriment en fonction de
la masse totale, position du centre de masse, moments d’inertie, . . .
• Masse totale d’un solide occupant un volume V (t): m = P∈V (t) ρ(P)dP
R

• Centre de masse (CDM): barycentre B(t) = m1 P∈V (t) ρ(P)P dP


R

#» # » #»
Z Z
1 1
∀A, ρ(P)AP dP = AB; ρ(P)BP dP = 0
m P∈V (t) m P∈V (t)

• Energie potentielle de pesanteur (O quelconque définit origine)


# » # » # »
Z Z
P=− ρ(P)g · OPdP = −g · ρ(P)OPdP = −m g · OB
P∈V (t) P∈V (t)

6
Énergie cinétique d’un solide

• {s} un repère stationnaire attaché à un référentiel par rapport auquel on


veut exprimer l’énergie cinétique du solide
• {b} un repère attaché au solide. B le CDM

• La vitesse d’un point P quelconque du solide vP/s = vB/s + ωb/s × BP
• Énergie cinétique du solide
Z
1
K= ρ(P)∥vP/s ∥2 dP
2 P∈V (t)

Z Z
1 1
K= ρ(P)∥vB/s ∥2 dP + ρ(P)∥ωb/s × BP∥2 dP
2 P∈V (t) 2 P∈V (t)

Z
+ ρ(P)vB/s · (ωb/s × BP)dP
P∈V (t)
1
= m∥vB/s ∥2 + (II ) + (III )
2
• Le terme (III) est nul
!
#» #»
Z Z
ρ(P)vB/s ·(ωb/s ×BP)dP = vB/s · ωb/s × ρ(P)BPdP = 0.
P∈V (t) P∈V (t)

7
Énergie cinétique d’un solide (suite)


Z
1 1
K= m∥vB/s ∥2 + ρ(P)∥ωb/s × BP∥2 dP
2 2 P∈V (t)

• Le 1er terme est la contribution de la vitesse linéaire


• Le 2ème terme est la contribution de la vitesse rotationnelle. Terme
1
I (ωb/s , ωb/s ), quadratique en ωb/s
2 B
• Tenseur d’inertie (forme bilinéaire symmétrique)
IB (u, v ) := u · IB (v ) = IB (u) · v ,
• Opérateur d’inertie (linéaire)
# » # »
Z
IB (u) = − BP × (BP × u) ρ(P)dP,
P∈V (t)

• En conclusion

1 1
K= m∥vB/s ∥2 + IB (ωb/s , ωb/s )
2 2

8
Calcul en coordonnées, matrice d’inertie

1 1
K= m∥vB/s ∥2 + IB (ωb/s , ωb/s )
2 2
• Calcul de K peut se faire dans n’importe quelles coordonnées
• Calculs souvent plus simple dans les coords. de {b}, en centrant {b} en B
1 b 1 b T b b
K = m (vB/s )T vB/s
b
+ (ωb/s ) I ωb/s
2 2
• Représentation de IB par la matrice d’inertie I b (constante)
#» #»
Z
IB (u) = − BP × (BP × u) ρ(P)dP
P∈V (t)
Z Z
b
⇒ I = −[r ]2× ρ(r )dr = [r ]T× [r ]× ρ(r )dr
r ∈V b r ∈V b
 
Ixx Ixy Ixz Z
I b = Iyx Iyy ,
Iyz  xx I = ρ(x, y , z) (y 2 + z 2 ) dxdydz,
 
V b
Izx Izy Izz ,
Z
Ixy = Iyx =− ρ(x, y , z) (xy ) dxdydz, etc.
Vb

9
Changements de repères

" #
1 b T b b b Ib 0
K = (V b/s ) I V b/s , I :=
2 0 mI3

• I b : matrice d’inertie généralisée du solide, exprimée dans le repère {b}


• Soit c un autre repère, centré à C
1 b T b b 1
K= (V ) I V b/s = (V cb/s )T I c V cb/s , I c := (Ad T b )T I b Ad T b ,
2 b/s 2 c c

" # » # » #
Rbc I b Rcb − m[ CB c ]2× m[ CB c ]×
Ic = #»
−m[ CB c ]× mI3
• Pour repère {c} stationnaire, I c dépendra en général de la
position/orientation du solide

10
Exemple: mouvement d’un segment unique actionné par un moteur

yb
xb
B
d
θl

C mg

• Mouvement dans le plan vertical, rotation autour d’un axe passant par C
• Vitesse angulaire ωb/s
b
= [0, 0, θ̇l ]T
• Calcul dans b: Kseg = 12 md 2 θ̇l2 + 12 Izzb θ̇l2 =: 12 Jl θ̇l2
• Calcul dans b translaté à C en utilisant I c (N.B.: −[u]2× = ∥u∥2 I3 − uu T )
• S’ajoute l’énergie cinétique du rotor 21 Jm θ̇m
2
= 12 Jm Γ2 θ̇l2
• P = mgd(1 − cos θl ), L = 21 J θ̇l2 − mgd(1 − cos θl )
• Équations du mouvement

J θ̈l + mgd sin θl = τl − b θ̇l = Γτm − b θ̇l


11
Équations du mouvement d’un
manipulateur série
Énergie cinétique et potentielle d’un manipulateur

• n articulations, n + 1 segments, base 0 immobile " #


Ik 0
• Segment k: repère {k} centré au CDM Bk , inertie I k =
0 mk I3
• Il exist une certaine matrice jacobienne J k (q) telle que
" #
k
k ωk/s
V k/s = = J k (q)q̇
vBkk /s

• Note: seulement k premières colonnes de J k non nulles


• L’énergie cinétique s’écrit
n
!
1 T X k 1
K(q, q̇) = q̇ (J (q)) I J (q) q̇ =: q̇ T M(q)q̇
T k k
2 2
k=1

• M(q) est la matrice d’inertie du manipulateur. Symétrique, définie positive


• On devrait ajouter aussi la contribution des rotors à K
• Énergie potentielle de pesanteur
n n
X # » X
P(q) = −g · mk OBk = g mk hk (q)
k=1 k=1

12
Exemple: énergie d’un manipulateur RR planaire

y2 x2 θ2
B2
ℓ2
L2
L1
y1 x1 m2 g
ys C
ℓ1 θ1
B1
xs
m1 g

• Vitesses angulaires ω1/s = θ̇1 z, ω2/s = (θ̇1 + θ̇2 )z


• Vitesses des CDM dans {1} et {2}
# »
vB1 /s = ω1/s × OB1 = ω1/s × (ℓ1 x1 ) = ℓ1 θ̇1 y1 ,
# »
vB2 /s = vC /s + ω2/s × CB2 = L1 θ̇1 y1 + ℓ2 (θ̇1 + θ̇2 )y2
= L1 θ̇1 s2 x2 + (L1 θ̇1 c2 + ℓ2 (θ̇1 + θ̇2 ))y2
13
Exemple: énergie d’un manipulateur RR planaire (suite)

• Si Izz1 et Izz2 moments d’inertie des segments 1 et 2 par rapport aux axes
B1 z et B2 z
1 1
K(θ, θ̇) = m1 ℓ21 θ̇12 + m2 [L21 s22 θ̇12 + (L1 θ̇1 c2 + ℓ2 (θ̇1 + θ̇2 ))2 ]
2 2
1 1 1
+ Izz1 θ̇12 + Izz2 (θ̇1 + θ̇2 )2 = θ̇ T M(θ)θ̇
2 2 2
• Énergie potentielle P(θ) = m1 g ℓ1 s1 + m2 g (L1 s1 + ℓ2 s12 )
• On a aussi (simplification 2D de l’inertie et des jacobiennes)
 
Izzi 0 0
˜1 T ˜1 ˜1 ˜2 T ˜2 ˜2
M(θ) = J (θ) I J (θ) + J (θ) I J (θ), avec Ĩ =  0 i mi 0
 
0 0 mi

et les matrices jacobiennes: (θ̇1 , θ̇2 ) → (ωz , vx , vy )


   
1 0 1 1
J˜1 (θ) =  0 0 , J˜ (θ) =  L1 s2
2
0
   
l1 0 L1 c2 + ℓ2 ℓ2

14
Équations du mouvement d’un manipulateur

n
1 T 1X
L(q, q̇) = q̇ M(q)q̇ − P(q) = Mij (q)q̇i q̇j − P(q).
2 2 i,j=1

n n n
!
d ∂L X X X ∂Mij (q)
= Mij (q)q̈j + Ṁij (q)q̇j = Mij (q)q̈j + q̇k q̇j
dt ∂ q̇i j=1 j=1
∂qk
k=1
n
∂L 1 X ∂Mjk (q) ∂P(q)
= q̇j q̇k − .
∂qi 2 ∂qi ∂qi
j,k=1

• Équations d’E-L: pour 1 ≤ i ≤ n,


n n  
X X ∂Mij (q) 1 ∂Mjk (q) ∂P(q)
Mij (q)q̈j + − q̇j q̇k + = fi
j=1
∂qk 2 ∂q i ∂qi
j,k=1

15
Équations du mouvement d’un manipulateur (suite)

• Après manipulations, avec gi (q) = ∂P(q)


∂qi
,
n
X n
X
Mij (q) q̈j + Γi,jk (q) q̇j q̇k + gi (q) = fi , 1 ≤ i ≤ n.
j=1 j,k=1

• Symboles de Christoffel (de la matrice d’inertie M)


 
1 ∂Mij (q) ∂Mik (q) ∂Mjk (q)
Γi,jk (q) = + −
2 ∂qk ∂qj ∂qi
• Forme vectorielle

M(q)q̈ + C (q, q̇)q̇ + g (q) = f

• C est la matrice de Coriolis du manipulateur Cij (q, q̇) =


Pn
k=1 Γi,jk (q)q̇k .
• Forces d’inertie, centrifuges, de Coriolis, de pesanteur
• f peut combiner couples des moteurs et frottements, par ex. f = τ − Kf q̇
• Dynamique inverse, ((q, q̇), q̈) → τ = M(q)q̈ + h(q, q̇)
• Dynamique directe, ((q, q̇), τ ) → q̈ = M(q)−1 (τ − h(q, q̇))

16
Exemple: manipulateur RR planaire (suite)

• On avait pour la matrice d’inertie

M11 (θ) = m1 ℓ21 + m2 (L21 + ℓ22 + 2L1 ℓ2 c2 ) + Izz1 + Izz2 , M22 (θ) = m2 ℓ22 + Izz2 ,
M12 (θ) = M21 (θ) = m2 ℓ2 (L1 c2 + ℓ2 ) + Izz2 .

et l’énergie potentielle

P(θ) = m1 g ℓ1 s1 + m2 g (L1 s1 + ℓ2 s12 ),

• Calculer les symboles de Christoffel Γi,jk , la matrice de Coriolis C (θ, θ̇), les
termes de pesanteur g (θ)

17
Questions?

18

You might also like