Académique Documents
Professionnel Documents
Culture Documents
Michel Llibre
ONERA - DCSD
Robotique MLL-2001
1
Composantes et changement de bases
Composantes :
xA xB
(V )A = ; (V ) =
yA B yB
zA zB
Changement de base :
(V )A = CAB (V )B (V )B = CBA (V )A
avec :
−1
CAB = CBA
Robotique MLL-2001
2
Propriétés de matrices de changement de base
On démontre facilement que :
h i
CAB = (iB )A ( jB )A (kB )A = [BB ]A
h i
CBA = (iA )B ( jA )B (kA )B = [BA ]B
−1 T
CAB = CAB = CBA
−1 T
CBA = CBA = CAB
det (CAB ) = ±1
3
Changement de bases successifs
(V )A = CAB (V )B
(V )B = CBC (V )C
→ CAC = CABCBC
(V )A = CAC (V )C
(V )A = CABCBC (V )C
Robotique MLL-2001
4
Changement de base d’un tenseur (opérateur)
→
− →
−
Opérateur F transformant V en W :
−
→ −´
³→
W =F V
D’où :
−1
[F ]A = CAB [F ]B CAB
Robotique MLL-2001
5
Produit vectoriel, tenseur antisymétrique et vecteur adjoint
Opérateur produit vectoriel :
− −
→ → −→ −→ →´
³−
U ×V =W ↔W =U V
−
→
U est le vecteur adjoint de U .
e , parfois ∗U , parfois U
Notation : U b à la place de U .
Robotique MLL-2001
6
Quelques propriétés remarquables lorsque k~uk = 1
³ ³ →´´
− →
−
~u × ~u × ~u × V = −~u × V → ue3 = −e
u
Projection sur ~u :
Pu = uuT = 1 + ue2
Hu = 1 − Pu = 1 − uuT = −e
u2
7
L’opérateur rotation
−
→ →´
³−
W = Rα,u V
→ −
− → → −
− → → ³−
− → − →´
W = V + sin α U × V + (1 − cos α) U × U × V
Robotique MLL-2001
8
Paramètres d’Euler α et −
→
u d’une rotation
¡ ¢
¡ ¢ ¡ ¢ sin α ue = 1
R −R T
R = 1
R + R T + 12 R − R T → 2
¡ ¢
2 1 + (1 − cos α)e
u2 = 1
R +R T
2
D’où :
trace (R ) − 1
cos α =
2
r32 − r23
sin α (u)X = 12
r13 − r31
r21 − r12
Les composantes de ~u sont exprimées dans la même base BX que les composantes
ri j de R .
Robotique MLL-2001
9
Encore l’opérateur rotation
Si on note :
BB = RAB (BA ) −1
→ RAB = RBA
BA = RBA (BB )
Il vient :
10
Encore l’opérateur rotation
Composition : produits ordre inverse :
Rα,u ' 1 + α ue
→ Rβ,v ◦ Rα,u ' Rα,u ◦ Rβ,v ' 1 + α ue + β ve
Rβ,v ' 1 + β ve
α2 ue2 α3 ue3
e+
Notation à proscrire : Rα,u = 1+α u 2!
+ 3!
+ · · · = eα ue
Robotique MLL-2001
11
Représentation des attitudes par angles d’Euler-Cardan
12 systèmes :
0 0 1
12
Le système RZXY : l /~k0 , t /~i1 et r /~j2 utilisé en robotique
Robotique MLL-2001
13
Le système RZXY : l,t, r utilisé en robotique
C03 = RZ (l) RX (t) RY (r)
cl cr − sl st sr −sl ct cl sr + sl st cr
C03 =
sl cr + cl st sr cl ct sl sr − cl st cr
= (ai j )
−ct sr st ct cr
Réciproquement :
l = Atan2 (−a , a )
l 0 = π+l
12 22
¡ π π¢
t = Arsin (a32 ) , t ∈ − 2 , + 2 et t0 = π − t
0
r = Atan2 (−a31 , a33 ) r = π+r
14
Traitement par continuité de la singularité des angles l,t, r
Lorsque :
cos (l ± r) 0 ± sin (l ± r)
π
t = t0 = ± ↔ (ai j ) =
sin (l ± r) 0 ∓ cos (l ± r)
2
0 ±1 0
D’où :
π
t = +2
a32 = +1 → S = Atan2 (a21 , a11 ) ;
D = l −r (les anciennes valeurs)
et l = S+D S−D
2 ; r= 2
π
t = −2
a32 = −1 → S = l +r (les anciennes valeurs)
D = Atan2 (a21 , a11 )
Robotique MLL-2001
15
Vitesse de rotation et dérivées des angles l,t, r
−
→ → −
− → − →
Ω 03 = l˙k0 + t˙ i1 + ṙ j2
D’où :
0 cl −sl ct l˙ −ct sr cr 0 l˙
(Ω03 )0 = t˙ ; (Ω03 ) = st 1
0 sl cl ct 3 0 t˙
1 0 st ṙ ct cr sr 0 ṙ
Réciproquement :
st st sr cr
l˙ sl −cl 1 − 0
ct ct ct ct
t˙ =
cl sl 0 (Ω03 )0 =
cr 0 sr (Ω03 )3
sl cl st st
ṙ − 0 sr 1 −cr
ct ct ct ct
Robotique MLL-2001
16
Le système classique d’angles d’Euler : RZXZ
ψ : précession, θ : nutation, φ : rotation propre
17
Vitesse de rotation et dérivées des angles d’Euler
−−→ →
− →
− →
−
Ω03 = ψ̇ k0 + θ̇ i1 + φ̇ k2
D’où :
0 cψ sψ sθ ψ̇ sθ sφ cφ 0 ψ̇
(Ω03 )0 =
0 sψ −cψ sθ
θ̇ ; (Ω03 )3 = sθ cφ −sφ 0 θ̇
1 0 cθ φ̇ cθ 0 1 φ̇
Réciproquement :
cθ cθ
sφ cφ
ψ̇ −sψ cψ 1 0
sθ sθ sθ sθ
θ̇ =
cψ sψ 0 (Ω03 )0 = cφ −sφ 0 (Ω03 )3
sψ cψ cθ cθ
φ̇ − 0 −sφ −cφ 1
sθ sθ sθ sθ
Robotique MLL-2001
18
Le système RZY X utilisé en aéronautique
ψ : cap, θ : assiette longitudinale, φ : roulis
19
Vitesse de rotation et dérivées des angles aéronautiques
−
→ →
− →
− →
−
Ω 03 = ψ̇ k0 + θ̇ j1 + φ̇ i2
D’où :
0 −sψ cψ cθ ψ̇ −sθ 0 1 ψ̇
(Ω03 )0 =
0 cψ sψ cθ
θ̇ ; (Ω03 )3 = cθ sφ cφ 0 θ̇
1 0 −sθ φ̇ cθ cφ −sφ 0 φ̇
Réciproquement :
sθ sθ sφ cφ
ψ̇ cψ sψ 1 0
cθ cθ cθ cθ
θ̇ =
−sψ cψ 0 (Ω03 )0 = 0
cφ −sφ (Ω03 )3
cψ sψ sθ sθ
φ̇ 0 1 sφ cφ
cθ cθ cθ cθ
Robotique MLL-2001
20
Quaternions
Q ∈ H de dimension 4 ;
Partition unique de H en 2 sous-espaces orthogonaux :
Produit de quaternion :
s = s1 s2 − v1 · v2
Q = Q1 Q2 = s + v →
v = s1 v2 + s2 v1 + v1 × v2
Robotique MLL-2001
21
Table de multiplication des quaternions
Les vecteurs de la base {e, iA , jA , kA } se multiplient en :
Q1 \Q2 e iA jA kA
e e iA jA kA
iA iA −e kA − jA
jA jA −kA −e iA
kA kA jA −iA −e
— ee = e
— iA iA = jA jA = kA kA = −e
— eiA = iA e = iA , e jA = jA e = jA et ekA = kA e = kA
— iA jA = kA = − jA iA , jA kA = iA = −kA jA et kA iA = jA = −iA kA
Robotique MLL-2001
22
Quaternions
Quaternion unité : Q = (1, 0, 0, 0) peut être noté 1.
Quaternion Q∗ conjugué de Q = s + v : Q∗ = s − v
Norme n (Q) d’un quaternion définie par : n (Q) = QQ∗ = s2 + kvk = kQk
2 2
23
Quaternions : Deux réalisations par matrices réelles 4 × 4
s s −x −y −z s x y z
x −z y −x −z y
x s s
Q = ↔ Mc = ou Ml =
y y z s −x −y z s −x
z z −y x s −z −y x s
¡2 ¢2
2 2
det (M) = det (M) = s + x + y + z2 = n2 (Q) = kQk4
Q3 = Q1 Q2 ↔ M3 = M1 M2
Q∗ ↔ M T
Q−1 ↔ M −1 = 1
n(Q) M T car adjointe(M) = n(Q)M T
Q unitaire → M −1 = M T
Q =M Q
3 c1 2
Q3 = Q1 Q2 → abusivement :
QT = QT Ml2
Robotique MLL-2001
3 1
24
Quaternions et rotations
e + (1 − cα ) ue2 ↔ Qα,u = cα/2 + sα/2 u alors :
Si Rα,u = 1 + sα u
De plus si v, w ∈ E3 ↔ V = (0 + v) , W = (0 + w) ∈ H alors :
25
Quaternions et rotations
Conversion quaternion Q = s + v en matrice de rotation :
26
Quaternions, rotations et changements de base
Si QAB ↔ RAB alors :
1 0
∀P ∈ H, (P)A = QcAB (P)B Q−1 (P)B
cAB =
0 CAB
C = (R ) = (R )
AB AB A AB B
avec
QcAB = (QAB ) = (QAB )
A B
et en particulier :
0 0
(V )A = CAB (V )B ↔ = QcAB Q−1
cAB
V V
A B
Robotique MLL-2001
27
Vitesse de rotation et dérivée des quaternions
BB = RAB (BA ) : QAB quaternion unitaire associé à RAB
BB animée d’une vitesse derotation ωAB par rapport à la base BA :
ΩAB quaternions pur associé à ωAB
d
=ω
dt/A RAB
e AB ◦ RAB ↔ dtd QAB = 12 ΩAB ◦ QAB
/A
³ ´
−1
e AB = dtd RAB ◦ RAB
ω ↔ 12 ΩAB = dtd (QAB ) ◦ Q−1
AB
/A /A
Attention en composantes :
d
dt
e AB ]A [RAB ]A = [RAB ]A [ω
[RAB ]A = [ω e AB ]B
d
dt [QAB ]A = 12 [ΩAB ]A [QAB ]A = 12 [QAB ]A [ΩAB ]B
Robotique MLL-2001
28
Intégration vitesse de rotation
Par angles d’Euler : Problème la configuration singulière
Ṙ = Ω̃R = Rω̃ ←→ Q̇ = 21 ΩQ = 12 Qω
Deux approches :
29
Intégration additive
(Exemple didactique par Euler ordre 1)
ou
30
Intégration multiplicative
Vecteur rotation fini :
Correction d’Edward :
∆θc = ∆θ + 12
1
∆θ− ∧ ∆θ
Intégration :
Robotique MLL-2001
R (t + ∆t) = R0 (∆t) R (t) = R (t) Rm (∆t) ←→ Q (t + ∆t) = Q0 (∆t) Q (t) = Q (t) Qm (∆t)
31
Situations et déplacements
DAB : déplacement (translation et rotation) de RA = (A, BA ) à RB = (B, BB ).
DAB : situation (position et oreintation) de RB relativement à RA
n−
→ o
DAB = AB , RAB
Intérêt :
³ ´
CAC = CABCBC + (AB) 0 0 0
A
DAC = DAB DBC car
(AC)A = (AB)A 1 +CAB (BC)B
Robotique MLL-2001
32
Mécanismes de type série ou parallèle
33
Mécanisme série
Le modèle géométrique q → X est toujours analytique :
34
Mécanisme série : Exemple d’inversion du modèle
X = G (q)
l > 2a → pas de solution
³ 2 2´
−2a
θ2 = arccos 2a2 l
θ 0 = −θ
2 2
l ≤ 2a 0 = α − 1 θ0
θ = α − 1
θ et θ
p
1 2 2
1 2 2
l = x2 + y2 “coude bas” “coude haut”
→
α = Atan2 (y, x)
θ = θ0 = π
l=0→
2 2
θ1 = θ0 = qcq
: conf. singulière bras replié
1
θ = θ0 = 0
l = 2a →
2 2
θ1 = θ0 = α
: conf. singulière bras tendu
1
35
Mécanismes parallèles
Le modèle X → q est toujours analytique :
36
Mécanisme parallèle : Exemple d’inversion du modèle
Deux points M solutions, ∩ des cercles de centre A1 et A2 de rayon r1 et r2 si :
37
Variété de configuration, nappes et variétés singulières
Robotique MLL-2001
38
Mécanismes particuliers
Mécanisme mixte série-parallèle
Mécanismes redondants.
Robotique MLL-2001
39
Modèles différentiels - Modèles statiques - Matrices
Jacobiennes des mécanismes série
δX = J (q) δq ou Ẋ = J (q) q̇
∂G
J (q) = DGq =
∂q
FX · δX = Fq · δq → Fq = JT FX
rang (J) = min(n , n ) = n
q x x
Configuration régulière :
nq = nx → det (J) 6= 0
rang (J) < min(n , n ) = n
q x x
Configuration singulière :
Robotique MLL-2001
nq = nx → det (J) = 0
40
Modèles différentiels - Matrices Jacobiennes des
mécanismes série
Singularité : Les lignes de J son dépendantes. Il ∃ u | uT J = 0.
Si u noyau de JT :
∀q̇ , Ẋ = Jq̇ → uT Ẋ le mécanisme ne peut générer de vitesse selon u
FX = λu , Fq = JT F → Fq = 0 le mécanisme à une rigidité infinie selon u
X
Exemple :
ẋ −a (s1 + s1+2 ) −as1+2 θ̇1
=
ẏ a (c1 + c1+2 ) ac1+2 θ̇2
det J = a2 sin θ2
Robotique MLL-2001
41
Résumé mécanisme de type série
— La transformation géométrique X = G (q) est analytique
— La transformation q = G−1 (X) n’est définie que pour q ∈ à des sous-espaces
(nappes)
En configuration singulière
— Différents solutions de q = G−1 (X) se rejoignent sur les frontières des nappes qui
sont les domaines singuliers,
— Cinématique : Ẋ ne peut engendrer les directions du noyau JT ,
— Il ∃ des q̇ ∈ au noyau de J tels que Ẋ = 0, même en configuration régulière si
redondant (trajectoires de l’espace de configuration à motricité nulle).
— Statique : Rigidité infinie du mécanisme pour FX selon le noyau de JT .
Robotique MLL-2001
42
Modèles différentiels - Matrices Jacobiennes des
mécanismes parallèle
δq = P (X) δX et q̇ = P (X) Ẋ
∂H ¡ −1 ¢
P (X) = DHX = =J
∂X
FX · δX = Fq · δq → FX = PT Fq
rang (P) = min(n , n ) = n
q x q
Configuration régulière :
nq = nx → det (P) 6= 0
rang (P) < min(n , n ) = n
q x q
Configuration singulière :
Robotique MLL-2001
nq = nx → det (P) = 0
43
Modèles différentiels - Matrices Jacobiennes des
mécanismes parallèle
Singularité : Les colonnes de P son dépendantes. Il ∃ u | Pu = 0.
Si u noyau de P :
∀F , F = PT F → uT F = 0 le mécanisme ne peut générer de force selon u
q X q X
Ẋ = λu , q̇ = PẊ → q̇ = 0 le mécanisme à une souplesse infinie selon u
q q
Exemple : on pose r1 = y2 + (x − a1 ) et r2 = y2 + (x − a2 )2
2
δr1 1
(x − a1 ) r11 y δx
= r 1
δr2 r2 (x − a2 )
1 1
r2 y δy
y(a2 −a1 )
det P (X) = r1 r2
Robotique MLL-2001
44
Résume mécanisme de type parallèle
— La transformation géométrique q = H (X) est analytique
— La transformation X = H −1 (q) n’est définie que pour X ∈ à des sous-espaces
(nappes)
En configuration singulière
45
Nombre de degré de liberté d’un mécanisme
Terme imprécis pouvant désigner :
46
Inversion itérative des modèles analytiques
Mécanisme série non redondant (Newton-Ralphson)
47
Inversion itérative des modèles analytiques
Mécanisme série redondant :
48
Compléments : Traversabilité des singularités série
A X = Xd correspond une ligne Xd = G (q) dans l’espace de configuration appelée
TMN : trajectoire à motricité nulle (en redondance simple nq = nx + 1, sinon c’est une
surface ou une hypersurface).
49
Singularités du mécanisme à 3 brins
Robotique MLL-2001
50
Inversion itérative des modèles analytiques
Mécanisme parallèle non redondant (Newton-Ralphson)
51
Inversion itérative des modèles analytiques
Mécanisme parallèle redondant :
Idem mais dim (δq) > dim (δX) → trop de contraintes sur X.
° °
Pas de solution a priori. On cherche à minimiser °qd − H (X)° puis kδq − PδXk
52
Compléments : Mécanisme parallèle redondant
FX = PT Fq noté FX = AFq
avec AN = 0 et NT N = 1
Robotique MLL-2001
53
Modélisation pratique des robots série
Robotique MLL-2001
54
Modélisation pratique des robots série
Paramètres caractéristiques :
55
Modélisation : Méthode parallèle
Repère R0 d’origine Oo arbitraire, configuration origine telle qi = 0 pour i = 1 à N
56
Paramètres géométriques de la modélisation parallèle
6N paramètres définissent le mécanisme :
¡ ¢
— les 3N comp. des vecteurs li = Oi−1 O− i i−1 dans Bi−1 (elles y sont ctes)
— les 3N comp. des vecteurs ui = (ui )i−1 dans Bi−1 (elles y sont ctes)
Remarque :
57
Situation de Ci par rapport à Ci−1
La situation de Ri par rapport à Ri−1 est donnée par :
Ci−1,i (Oi−1 Oi )i−1
Di−1,i =
0 0 0 1
avec
58
Les 4 paramètres de Denavit et Hartenberg (1955)
59
Les 4 paramètres de Denavit et Hartenberg (suite)
Situation de Ri+1 par rapport à Ri
cθ −sθi cαi sθi sαi ai cθi
i
s −cθi sαi
θ cθi cαi ai sθi
Di,i+1 = i
0 sαi cαi ri
0 0 0 1
Translation : qi = ri Rotation : qi = θi
Inconvénients :
60
Le modèle géométrique direct d’un robot série
Modèle de base : Situation de RN relativement au repère fixe R0
N
∏ Di−1,i est incorrect car ordre des produits non spécifié
i=1
— repère pièce RA défini relativement à R0 par D0A (donné)
— repère outil RM défini relativement à RN par DNM (donné).
61
Exemple : Le Robot Renault Acma-Cribier RV80
Robotique MLL-2001
62
Exemple : Le Robot Renault Acma-Cribier RV80
Squelette géométrique du RV80 en configuration origine
Robotique MLL-2001
R1 à R6 sont tous parallèles à R0 avec Oz0 verticale ascendante et Oy0 vers l’avant
(norme AFNOR Robotique).
63
Paramètres géométriques du RV80
axes 1 2 3 4 5 6
0 1 1 0 1 0
ui 0 0 0 1 0 1
1 0 0 0 0 0
0 0 0 0 0 0
li 0 0 a a 0 0
b 0 0 0 0 0
Robotique MLL-2001
64
Les six matrices de déplacement du RV80
c1 −s1 0 0 1 0 0 0 1 0 0 0
−s2 −s3
s1 c1 0 0 0 c2 0 0 c3 a
D0,1 = D1,2 = D2,3 =
0 0 1 b 0 s2 c2 0 0 s3 c3 0
0 0 0 1 0 0 0 1 0 0 0 1
c4 0 s4 0 1 0 0 0 c6 0 s6 0
−s5
0 1 0 a 0 c5 0 0 1 0 0
D3,4 = D4,5 = D5,6 =
−s4 0 c4 0 0 s5 c5 0 −s6 0 c6 0
0 0 0 1 0 0 0 1 0 0 0 1
Robotique MLL-2001
65
Le modèle géométrique du RV 80
Situation de R6 relativement à R0 :
COP (OP)o
D0,6 = D0,1 D1,2 D2,3 D3,4 D4,5 D5,6 = DOP =
0 0 0 1
avec O = Oo et P = O6 .
−as1 (c2 + c23 )
(OP)o = ac1 (c2 + c23 )
b + a (s2 + s23 )
Robotique MLL-2001
66
Le modèle géométrique du RV 80 (suite)
COP = C03C36 = (R1,Z R2+3,X ) (R4,Y R5,X R6,Y )
c1 −s1 c23 s1 s23
C03 = R1,Z R2+3,X = s1 c1 c23 −c1 s23
0 s23 c23
c4 c6 − s4 c5 s6 s4 s5 c4 s6 + s4 c5 c6
C36 = R4,Y R5,X R6,Y = s5 s6 c5 −s5 c6
−s4 c6 − c4 c5 s6 c4 s5 −s4 s6 + c4 c5 c6
Robotique MLL-2001
67
Modèle géométrique inverse du RV80 (Calcul des qi )
Si DAM donné (situation de RM / RA ) → DOP donné par :
C06 (OP)o
DOP = DOA DAM D−1
PM =
0 0 0 1
Soit :
et :
xP
yP = (OP) donnés
o
zP
Robotique MLL-2001
68
Robotique MLL-2001
Modèle géométrique inverse du RV80
69
Modèle géométrique inverse du RV80 (suite)
x p = −s1YP1
On a y p = c1YP1 avec yP1 = a (c2 + c23 )
zP = b + a (s2 + s23 )
D’où :
q
yP1+,− = ± x2p + xP2
70
Modèle géométrique inverse du RV80 (suite)
q
On pose l = kO1 Pk = xP2 + y2P + (zP − b)2
l 2 −2a2
l ≤ 2a → cos q3 = 2a2
(dans ∆ : O1 O3 P)
³ ´
l 2 −2a2
— solution “coude bas” : q3+ = arccos 2a2
— solution “coude haut” : q3− = −q3+
— l = 0 (P situé en O1 ) → q3+ = q3− = π (singularité bras replié)
— l = 2a (O1 , O3 , P alignés) → q3+ = q3− = 0 (singularité bras tendu)
Robotique MLL-2001
71
Modèle géométrique inverse du RV80 (suite)
³−−→ −−→´
On pose β = O1 y1 , O1 P d’où :
β = atan2 (z p − b, yP1 )
O1 O3 P isocèle → β = q2 + q23
D’où :
q2 = β − q23
72
Modèle géométrique inverse du RV80 (suite)
Calcul des paramètres q4 , q5 , q6
73
Modèle géométrique inverse du RV80 (suite)
Les huit solutions en configuration régulière
(q1+ , q2 , q3+ , q4+ , q5+ , q6+ ) avant, coude bas, poignet direct
(q1+ , q2 , q3+ , q4− , q5− , q6− ) avant, coude bas, poignet inversé
(q1+ , q2 , q3− , q4+ , q5+ , q6+ ) avant, coude haut, poignet direct
(q1+ , q2 , q3− , q4− , q5− , q6− ) avant, coude haut, poignet inversé
(q1− , q2 , q3+ , q4+ , q5+ , q6+ ) arrière, coude haut, poignet direct
(q1− , q2 , q3+ , q4− , q5− , q6− ) arrière, coude haut, poignet inversé
(q1− , q2 , q3− , q4+ , q5+ , q6+ ) arrière, coude bas, poignet direct
(q1− , q2 , q3− , q4− , q5− , q6− ) arrière, coude bas, poignet inversé
Les triplets (q4+ , q5+ , q6+ ) et (q4− , q5− , q6− ) dépendent des triplets (q1 , q2 , q3 ).
Robotique MLL-2001
74
Modèles cinématiques des robots réels
Modèles différentiels δX = J (q) δq ou δq = P (X) δX très peu utilisés
car Ẋ est moins commode que VP et ω
et
0 T
CAB
75
Modèles cinématiques des robots réels (suite)
Changement de point :
−
→
ω=ω →
− VM g
1 MP VP
−→ → =
→
− →
− →
−
V M = V P + ω × PM ω 0 1 ω
D’où :
T
g
1 PM g
1 PM
(JM ) = (JP ) et (PM ) = (PP )
0 1 0 1
Robotique MLL-2001
76
Modèles cinématiques des robots série
N N 1 si rotation
~ω = ∑ ~ωi−1,i = ∑ ρi q̇i~ui avec ρi =
i=1 i=1 0 si translation
−−→ ~ i−1
avec li−1,i = li + τi qi~ui , τi = 1 − ρi et ~ω0i−1 = ∑ ρk q̇k~uk
k=1
Permutation des sommations en k et i →
N ³ −→ ´
~VP = ∑ τi~ui + ρi~ui × li,N q̇i
i=1
Robotique MLL-2001
77
Modèles cinématiques des robots série (suite)
q̇1
q̇2
..
VP v1 v2 ··· vi ··· vN .
=
ω w1 w2 ··· wi ··· wN q̇i
..
.
q̇N
~v = τ ~u + ρ ~u × −
→
i i i i i li,N
avec
~wi = ρi~ui
Robotique MLL-2001
78
Matrice cinématique du robot RV80
(JP )3 : en P = O4 = O5 = O6 , vitesses en composantes dans B3
−a (c2 + c23 ) 0 0 0 0 0
0 as3 0 0 0 0
0 a (1 + c3 ) a 0 0 0
(JP )3 =
0 1 1 0 c4 s4 s5
s23 0 0 1 0 c5
c23 0 0 0 −s4 c4 s5
Robotique MLL-2001
79
Déterminant de J et singularités (RV80)
On trouve :
£ ¡ ¢¤
|J| = −a3 (c2 + c23 ) s3 −s5 s24 + c24 = a3 s3 s5 (c2 + c23 ) = a2 yP1 s3 s5
80
Inversion itérative des robots de type série
¡ sol ¢
On cherche qsol solution de Ddes
OM =G q
Situation courante DOM = G (q)
Erreur de situation :
−1 des
OM = DOM DMM des → DMM des = DOM DOM
Ddes
³ ´ ³ ´
f
∆A ' 2 CMM des −CMMdes
1 T
M
(∆A )
trace (CMM des ) < 1 → (∆A )M ← k(∆A )M k
M
°¡ ¢ °
° MMdes ° < ε et k(∆A ) k < ε → FIN (q est solution)
M M
81
Robotique MLL-2001
La plateforme de Stewart (1965) (V.E. Gough 1947)
82
Modèle géométrique de la plateforme de Stewart
Paramètres géométriques donnés :
83
Modèle cinématique d’un robot parallèle
(AA ) : coordonnées dans R des A
i A A i
Rappel :
(BBi ) : coordonnées dans RB des Bi
B
³ −−→´ ³−−→ ´
q̇i =~ui · VABi =~ui · VAB + ~ωAB × BBi =~ui · VABi + BBi ×~ui · ~ωAB
~ ~ ~
T
q̇1 u T (BB1 × u1 )
1
T T
q̇2 u2 (BB2 × u2 ) VAB
D’où
.. = .. ..
. . . ωAB
q̇N uTN (BBN × uN )T
Robotique MLL-2001
84
Modèle cinématique d’un robot parallèle
f1
et Fq = ..
F .
On pose FX =
MB
fN
N N −→
En sommant F = ∑ fi ui et MB = ∑ BBi × fi~ui
~
i=1 i=1
85
Inversion itérative des robots de type parallèle
¡ ¢
On cherche Dsol
OM solution de q
mes = H Dsol
OM
86
Les systèmes de transmission
Bielle-manivelle, parallélogrammes, réducteurs, différentiels, ....
Par définition :
∂W δmT
Cq = = Cm = RT Cm
∂q ∂q
D’où :
Cq = RT Cm
Robotique MLL-2001
87
Exemple : Robot AKR3000
Robotique MLL-2001
88
Boîte de vitesse du poignet du RV80
Robotique MLL-2001
89
Boucle de courant pour un actionneur électrique
Kc ξc
Couple obtenu : Cm = Cmcom − ṁ
1 + τp 1 + τp
l R kc ke
avec τ = , Kc = voisin de 1 et ξc = négligeable si R >> r
R+r R+r R+r
Robotique MLL-2001
90
Boucle de pression pour un actionneur hydraulique
Kc ξc
Couple obtenu Cm = Cmcom − ṁ
1 + τp 1 + τp
2
avec τ = B(L+l)
v L
, Kc = L+l voisin de 1 et ξc = L+l
S
négligeable si L >> l .
91
Modèle dynamique d’un robot
Modélisation dynamique complexe : Deux principales méthodes :
92
Les facteurs du modèle dynamique
Energie cinétique : T = 12 ṁT Am ṁ
Travail élémentaire (< 0) des forces de frottement sec : δWFS = δmT FSm
93
Structure du modèle dynamique (en mi )
³ ´
∂Amik ∂Ami j ∂Am jk
Coefficients de Christoffel : bmi, jk = 1
2 ∂m j + ∂mk − ∂mi
On pose :
N N
Bmi (m, ṁ) = ∑ ∑ bmi, jk ṁ j ṁk
j=1k=1
et
∂FV ∂WFS ∂UP
FV m ṁ = ; FSm = ; Pm = −
∂ṁi ∂mi ∂mi
Il vient : Modèle dynamique matriciel en m :
Modèle compact :
Am m̈ + Sm (m, ṁ) = Cm
Robotique MLL-2001
94
Structure du modèle dynamique (en qi )
On pose :
Aq = RT Am R ; FV q = RT FV m R
FSq = RT FSm ; Pq = RT Pm ; Cq = RT Cm
En posant :
³ ´ N N
∂Aqik ∂Aqi j ∂Aq jk
bqi, jk = 1
2 ∂q j + ∂qk − ∂qi → Bqi (q, q̇) = ∑ ∑ bqi, jk q̇ j q̇k
j=1k=1
Modèle compact :
Aq q̈ + Sq (q, q̇) = Cq
Robotique MLL-2001
95
Commande “dynamique” articulaire
Dynamique articulaire linéaire imposée (2ème ordre) :
¡ des ¢
m̈ = −2zωṁ + ω2 m −m
96
Régulateur proportionnel dérivé à coefficients constants
Simplification extrême conduit à :
³ ´ ¡ ¢
Cmcom = KP m des
− m − KV − F̂V ṁ − P̂m
avec :
97
Stabilité de la commande
Hyp : Constantes de temps mesures et actionneurs négligées,
¡ ¢
com = K mdes − m − K ṁ − P̂
réalisation parfaite de : Cm = Cm P V m
En utilisant l’identité remarquable ṁT Bm (m, ṁ) = 12 ṁT Ȧm ṁ on démontre que :
¡ ¢
dV
dt = −ṁT (KV + FV ) ṁ − ṁT FS + ṁT Pm − P̂m
— −ṁT FS est négatif (frottements secs signes opposés à ṁ)
— −ṁT (KV + FV ) ṁ est négatif (matrices KP et KV positives par hyp.)
Pm = P̂m → dV
dt < 0. Il y a stabilité si compensation parfaite poids et ressorts.
Les forces centrifuges et Coriolis ne sont pas déstabilisantes.
Robotique MLL-2001
98
Commande classique en tension d’un axe de robot
électrique
Boucle de vitesse avec correcteur proportionnel intégral
99
Commande classique en tension d’un axe de robot
électrique (suite)
Exemple de réglage de la commande (pour f négligeable) . Paramètres :
rJ
— constante de temps mécanique : τm '
kc ke
l
— constante de temps électrique : τ1 '
r
Réglages initiaux :
cte vit. : τV ≥ 4τ1
ṁ 1
cte. int. : τI = τm → =
τm
vcom 1 + τV p + τ1 τV p2
gain vit. : kV = ke
τV
¾
kV m 1
gain pos. : k p = → '
4τV mdes (1 + 2τV p)2 (1 + τ1 p)
Robotique MLL-2001
100
Commande classique en tension d’un axe de robot
électrique (suite)
Les lieux des pôles
Robotique MLL-2001
101
Commande classique en débit d’un axe de robot
hydraulique
Fonction de transfert servo-valve négligée
102
Commande classique axe de robot hydraulique (suite)
103
Commande classique axe de robot hydraulique (suite)
104
Commande prédictive en poursuite articulaire
pre
Cm = Amdes m̈des + Smdes (mdes , ṁdes )
com pre reg
Cm = Cm +Cm avec ¡ ¢ ¡ ¢
Cmreg = A des ω2 mdes − m + 2A des zω ṁdes − ṁ
m m
Robotique MLL-2001
105
Commande temps minimal à commutations
Problème : Réaliser en temps minimal une trajectoire paramétrique mdes (u)
ré-écrites :
106
Commande temps minimal à commutations (suite)
Limitations sur l’accélération paramétrique ü
D’où :
Umin (u, u̇) = maxi|λi6=0 Ui min (u, u̇)
→ Umin (u, u̇) ≤ ü ≤ Umax (u, u̇)
Umax (u, u̇) = mini|λi6=0 Ui max (u, u̇)
Robotique MLL-2001
107
Commande temps minimal à commutations (suite)
Robotique MLL-2001
108
Commande temps minimal à commutations (suite)
Robotique MLL-2001
109
Commande temps minimal à commutations (suite)
Problème : Le calcul des points A1 est très long : Calcul itératif nécessitant
l’intégration de 2 trajectoires à chaque itération.
D’où l’algorithme :
4) A partir de T intégrer traj. rétrograde antérieure (ü = Umin ) jusqu’à ancienne traj.
Robotique MLL-2001
5) Retour en 2.
110
Commande temps minimal à commutations (suite)
La mise en oeuvre nécessite le calcul
— Pour tout u de :
/
d des d // 2
– m = mdes (u) ; mu = du m (u) ; mu = du 2m
des (u)
/ //
– Am = Am (m) , λ = Am mu ; Am mu
— Pour tout couple (u, u̇) de U = 0 ou de la trajectoire :
/
– Sm (m, mu u̇)
– I (u, u̇) ; S (u, u̇) ;Umin (u, u̇) ;Umax (u, u̇) ;U (u, u̇)
Génération de la courbe U = 0 : Recherche 1er point de U (0, u̇) = 0 (par dicho par ex.)
puis recherche U (u + ∆u, u̇) = 0 (par Newton-Ralphson par ex.) de u = 0 à u f inal .
Robotique MLL-2001
111
Commande cartésienne par guidage en position articulaire
Robotique MLL-2001
112
Commande cartésienne par guidage en vitesse articulaire
¡ ¢
Ẋ com = kP X des − X → q̇com = PẊ com ou q̇com = J−1 Ẋ com
113
Commande cartésienne par guidage en vitesse articulaire
(suite)
Erreur de situation :
— ∆X position = ∆M = OMdes − OM
— ∆Xorientation = ∆A :
0 −sψ cψ cθ ψdes − ψ
– Angles aéro. par ex. : (∆A )B0 =
0 cψ sψ cθ θ − θ
des
1 0 −sθ ϕdes − ϕ
Robotique MLL-2001
114
Commande cartésienne par guidage en vitesse articulaire
(suite)
Erreur d’orientation (suite) :
115
Commande cartésienne par guidage en vitesse articulaire
(suite)
Saturation homothétique des vitesses cartésiennes commandées
|Ẋicom |
λ = maxi Ẋimax
— Si λ ≤ 1 → Pas de saturation
— Si λ > 1, correction homothétique :
Xicom = λ1 Ẋicom
Robotique MLL-2001
116
Commande “dynamique” cartésienne
Dynamique cartésienne linéaire imposée :
Ẍ = ω2 ∆X − 2zωẊ
117
Poursuite cartésienne avec guidage en vitesse articulaire
Robotique MLL-2001
118
Poursuite cartésienne avec découplage cartésien
reg pre
Cqcom = Cq +Cq avec
C pre = A ¡PẌ des + ṖẊ des ¢ + S ¡qdes , q̇des ¢
q q q
£ ¡ ¢¤ dans le cas d’un robot parallèle
Cqreg = Aq P ω2 ∆X + 2zω Ẋ des − Ẋ
C pre = A J −1 ¡Ẍ des − J˙q̇des ¢ + S ¡qdes , q̇des ¢
q q q
£ ¡ ¢¤ dans le cas d’un robot série
Cqreg = Aq J −1 ω2 ∆X + 2zω Ẋ des − Ẋ
Robotique MLL-2001
119
Poursuite cartésienne avec découplage cartésien
Robotique MLL-2001
120
Principe de la commande en force sur obstacle fixe
Robotique MLL-2001
121
Exemple de correcteur pour une commande en force
p
1+ ω = 8ω q
F
=Ã ω I ! avec I 9 0
et ω0 = mk
F des p 3
ωF = 2 ω0
1+ 3
ωF
8
pour kI = 27 ω0 ; kP = 13 ; kV = − f + 2mω0
Robotique MLL-2001
122
Caractérisation des tâches de commande hybride
Partition de l’espace cartésien en axes commandés en position ou en force
123
Caractérisation des tâches de commande hybride (suite)
Partition de l’espace cartésien en axes commandés en position ou en force
124
Caractérisation des tâches de commande hybride (suite)
Partition de l’espace cartésien en axes commandés en position ou en force
Vissage selon Oz :
position x, y, z F =F =F =0
x y z
axes bloqués Commande
rotation x, y Mx = My = 0
position − −
axes libres Commande
rotation z Ωdes
z
Robotique MLL-2001
125
Matrices de partition en sous-espaces position et force
Soient p1 , p2 , ... , pP les P directions de l’espace cartésien R6 commandées en
position
h i
On note P = p1 ··· pP la matrice 6 × P et
avec P + F = 6 et ΠP + ΠF = 16×6
Robotique MLL-2001
126
Commande hybride par guidage cinématique articulaire
¡ ¢
q̇com = J −1 ΠP ẊP + ΠF ẊF
com com et q̈com = 2zω (q̇com − q̇)
Robotique MLL-2001
127
Commande hybride par guidage cinématique cartésien
¡ com ¢ −1
¡ com ¢
Ẋ com = ΠP ẊPcom + ΠF ẊFcom , Ẍ com = 2zω Ẋ − J q̇ et q̈com =J Ẍ − J q̇
˙
Robotique MLL-2001
128
Robotique MLL-2001 La suspension active pour soufflerie SACSO
129