Documente Academic
Documente Profesional
Documente Cultură
Robotica Avansata Curs PDF
Robotica Avansata Curs PDF
1. INTRODUCERE
cu Medalia de aur
Medalia de aur
3
1.2 Tendinţe de dezvoltare ale roboticii
- mediu structurat
- percepţie artificială
- programe implicite
Manipulare
Interacţiune Roboţi de
Senzori om maşină Servicii
Deplasare pe roţi
Vehicule
Vehicule Ghidate Roboţi de
Ghidate Telerobot
Automat Avansate Serviciu Mobili
Automat
Reţea
Internet
Stabilitate Senzori
Maşină Maşină
Mecanism Robot
Păşire Păşire
de păşire Humanoid
multiped biped
1. ROBOŢI INDUSTRIALI:
ELECTRONICĂ
MECANICĂ CALCULATOARE
MECATRONICĂ şi ROBOTICĂ
z1 z2 zk MEDIU
Perturbaţii
(„zgomote“) . . .
x1 y1
(S)
Intrări x2 y2 Ieşiri
Input
.
. T .
. Output
. .
xm yn
Y=T.X (2.1)
Matricea de transfer T
Z MEDIU
(S)
X T Y
TR ΔY ΔY
(SR)
TR
Z – caracter aleatoriu
Y’ = T ( X + Z ) (2.2)
8
Bucla de reacţie (SR) asigură eliminarea perturbaţiilor.
ΔY = Y’ – Y (2.3)
Y = T ( X + Z + TR . ΔY ) (2.4)
Ierarhizarea sistemelor
Sistemul de rang „R“ conţine unul sau mai multe sisteme de rang „R-1“ .
subsistemele acestuia.
Două sisteme sunt cuplate dacă cel puţin o ieşire a unuia este o intrare în celălalt.
(S1) (S2)
Y (1) X (2)
⎧⎪1 ∀ x 2 p = y1q p = 1, m
e pq =⎨ (2.10)
⎪⎩0 ∀ x 2 p ≠ y1q q = 1, n
y21 y22
i = 1...n.
y11 y12 K 31 = 0 K 32 = 0
x21 x31
(S2) (S3)
EF
OB
RI SC
MI
DL
Zj
Yj
Oj
j
Sj rP ( Xi, Yi, Zi )
P ( Xj, Yj, Zj )
i
rj Xj
P ∈ (S j )
Zi
i
rP
Si
Oi
Yi
Xi
i i j
rp = r j + rp
i i j
r p = r j + Bij ⋅ r p (3.1)
r p = (x i y i z i )
i T
Vectorul de poziţie al punctului P în sistemul solidului „Si“
r p = (x j y j z j ) (3.2)
j T
Vectorul de poziţie al punctului P în sistemul solidului „Sj“
r j = (r0 x r0 y r0 z )
i T
Vectorul de poziţie al originii Oj in raport cu Oi
i i j
Cu quadri-vector rp = T j ⋅ rp (3.3)
13
r p = (x i y i z i 1) r p = (x j y j z j 1) T ij = [a kl ] k = l = 1,3
i T j T
(3.4)
⎧x i ⎫ ⎡ a 11 a 12 a 13 a 14 ⎤ ⎧x j ⎫
⎪ y ⎪ ⎢a a 22 a 23 a 24 ⎥ ⎪⎪ y j ⎪⎪
⎪ i ⎪ ⎢ 21 ⎥⋅⎨ ⎬
⎨ ⎬= (3. 3’)
⎪ z i ⎪ ⎢a 31 a 32 a 33 a 34 ⎥ ⎪ z j ⎪
⎪⎩ 1 ⎪⎭ ⎢⎣ 0 0 0
⎥
1 ⎦ ⎪⎩ 1 ⎪⎭
i
R j = Matricea de rotaţie ⎡ e11 e12 e13 r0 x ⎤
⎢e r0 y ⎥ ⎡ i R j r j⎤
i
e 22 e 23
T j = ⎢ 21 ⎥=⎢
i
⎥ (3. 5)
i
r j = Matricea de translaţie ⎢e 31 e 32 e 33 r0 z ⎥ ⎢ O T 1 ⎥⎦
⎢ ⎥ ⎣
⎣0 0 0 1⎦
Zj
Sj
Zi
Oj
Yi i
rj j
rP
P
Si
Oi i
rP
Xj
0
Xi rj
0
ri 0
rP
Z0
S0
O0
Y0
X0
0 0 i
r p = Ti ⋅ r p (3.6)
i i j
rp = T j ⋅ rp
0 0 j
r p = T i ⋅ i Tj ⋅ r p (3.7)
0 0
Relaţia de recurenţă T j = T i ⋅ i Tj i=j-1 j=1..6 (3.8)
MI MI RI EF
T SC = T RI ⋅ TEF ⋅ TSC (3.9)
MI MI DL OB
T SC = T DL ⋅ TOB ⋅ TSC
MI MI RI EF MI DL OB
T SC = T RI ⋅ TEF ⋅ TSC = T DL ⋅ TOB ⋅ TSC (3.10)
MI
T RI = depinde de amplasarea robotului în hală
RI
TEF = funcţie de coordonatele generalizate
EF
TSC = depinde de construcţia efectorului final
M
T DL = depinde de amplasarea DL (MU) în hală
DL
TOB = depinde de situarea OB în DL
OB
TSC = se citeşte din desenul de execuţie al OB
RI MI −1 MI DL OB EF −1
TEF = T RI ⋅ T DL ⋅ TOB ⋅ TSC ⋅ TSC (3.11)
OB R
efectorului final în raport cu robotul TSC ⇒ TEF prin modificarea
Z0
Zi
θi
k0 Yi
ki ji θi
i0 j0
θi ii O0 = Oi Y0
X0 = Xi
⎡1 0 0 0⎤ ⎡ cos θi 0 sin θi 0⎤
⎢0 cos θ − sin θi 0⎥ ⎢ 0 1 0 0⎥
Rot ( x i , θi ) = ⎢ i ⎥ Rot ( y i , θi ) = ⎢ ⎥
⎢0 sin θi cos θi 0⎥ ⎢− sin θi 0 cos θi 0⎥
⎢ ⎥ ⎢ ⎥
⎣0 0 0 1⎦ ⎣ 0 0 0 1⎦
⎡cos θi − sin θi 0 0⎤
⎢ sin θ cos θi 0 0⎥
Rot (z i , θi ) = ⎢ i ⎥ (3.12)
⎢ 0 0 1 0⎥
⎢ ⎥
⎣ 0 0 0 1⎦
Zi
Z0
ki Oi
c
Xi ii ji Yi
k0
O0 j0 b
a i0 Y0
X0
⎡1 0 0 0⎤ ⎡1 0 0 0⎤
⎢0 1 0 b⎥ ⎢0 1 0 0⎥
Trans( y i , b) = ⎢ ⎥ Trans(z i , c) = ⎢ ⎥
⎢0 0 1 0⎥ ⎢0 0 1 c⎥
⎢ ⎥ ⎢ ⎥
⎣0 0 0 1⎦ ⎣0 0 0 1⎦
EF n δ'
1 6 M
z0
p OB
RI o
a
δ
x0 O0 y0
n = {n x nz}
T
Versor normal ny
o = {o x oz }
T
Versor de orientare oy (3.14)
a = {a x az}
T
Versor de apropiere ay
p = {p x pz }
T
Vectorul de poziţie py
17
0 0
T j = T i ⋅ i Tj i=j-1 j=1..6 (3.15)
0 0 0 0 0 0 0 0
T 6 = T 5 ⋅ 5 T6 T 5 = T 4 ⋅ 4 T5 T 4 = T 3 ⋅ 3 T4 . . . T 2 = T1 ⋅ 1T2
6
i −1
T 6 = T1 ⋅ 1T2 ⋅ 2 T3 ⋅ 3 T4 ⋅ 4 T5 ⋅ 5 T6 = ∏
0 0
Ti (3.16)
1
R ⎡n o a p ⎤
Matricea de situare T EF = ⎢ ⎥ (3.17)
⎣0 0 0 1⎦
R 0
Ecuaţia matriceală a manipulării T EF = T 6 (3.18)
18
4. MODELUL GEOMETRIC AL SITUĂRII OBIECTULUI MANIPULAT
i-1
αi
ai
i-2 O’i-1
Oi xi
di xi-1
Oi-1 θi
Oi-2
Metoda Denavit - Hartenberg s-a introdus în 1955. Este cea mai răspândită metoda
cu efectorul final. Numărul cuplei cinematice este dat elementul cu cifră mai
2) Axa z i-1 este axa cuplei cinematice „i”, care leagă elementul „i-1” de elementul „i”.
3) Axa x i-1 este perpendiculara comună a axelor z i-1 şi z i-2 şi este orientată de la
elementare:
⎡cos θi − sin θi 0 0⎤ ⎡1 0 0 0 ⎤ ⎡1 0 0 a i ⎤ ⎡1 0 0 0⎤
⎢ sin θ cos θi 0 0⎥⎥ ⎢⎢0 1 0 0 ⎥⎥ ⎢⎢0 ⎥ ⎢
1 0 0 ⎥ ⎢0 cos α i − sin α i 0⎥⎥
Ti = ⎢
i −1 i
⋅ ⋅ ⋅ (4.2)
⎢ 0 0 1 0 ⎥ ⎢0 0 1 d i ⎥ ⎢0 0 1 0 ⎥ ⎢0 sin α i cos α i 0⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣ 0 0 0 1 ⎦ ⎣0 0 0 1 ⎦ ⎣0 0 0 1 ⎦ ⎣0 0 0 1⎦
(liniare şi unghiulare):
¾ Tabelul Denavit-Hartenberg
θi di ai αi
0-1 θ1 d1 a1 α1
1-2 θ2 d2 a2 α2
2-3 θ3 d3 a3 α3
6
R 0
T EF = T 6 0
T 6 = ∏ i −1 T i (4.3)
1
θi di ai αi
0–1 θ1 0 0 0
1–2 0 d2 a2 +900
2–3 0 d3 0 0
⎡cos θ1 − sin θ1 0 0⎤ ⎡1 0 a2 ⎤0 ⎡1 0 0 0⎤
⎢ sin θ cos θ1 0 0⎥ ⎢0 0 −1 0 ⎥ ⎢0 1 0 0⎥
T1 = ⎢ ⎥ T2 = ⎢ ⎥ T3 = ⎢ ⎥
0 1 1 2
⎢ 0 0 1 0⎥ ⎢0 1 1 d2 ⎥ ⎢0 0 1 d3 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣ 0 0 0 1⎦ ⎣0 0 0 1⎦ ⎣0 0 0 1⎦
0
T3 = 0 T1 ⋅1 T2 ⋅2 T3
zi-1 i-1 i
i
i-1
zR zP
i-2 αi-1 xi
zQ
Oi
xP
di
Oi-1=R ai-1 θi
xR xi-1
Q=P xQ
cinematice „i”, care leagă elementul „i-1” de elementul „i”. Transformarea omogenă este o
funcţie de 4 parametri dintre care una este variabilă iar celelalte trei sunt constante. De fapt
putem afirma că fiecare parametru exprimă o matrice elementară motiv pentru care se mai
are loc printr-o rotaţie cu unghiul αi-1 în jurul axei xi-1 de suprapunere a
are loc printr-o translaţie cu ai-1 de-a lungul axei xi-1 suprapunând originea
i −1 i −1
T i = T R ⋅ R TQ ⋅ Q TP ⋅ P Ti (4.7)
⎡1 0 0 0 ⎤ ⎡1 0 0 a i −1 ⎤ ⎡cos θi − sin θi 0 0⎤ ⎡1 0 0 0⎤
⎢0 cos α 0⎥⎥ ⎢⎢0 0 ⎥⎥ ⎢⎢ sin θi 0 0⎥⎥ ⎢⎢0 0 ⎥⎥
i −1
Ti = ⎢ i −1 − sin αi −1 ⋅
1 0
⋅
cos θi
⋅
1 0 (4.9)
⎢0 sin αi −1 cos αi −1 0 ⎥ ⎢0 0 1 0 ⎥ ⎢ 0 0 1 0 ⎥ ⎢0 0 1 di ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣0 0 0 1 ⎦ ⎣0 0 0 1 ⎦ ⎣ 0 0 0 1 ⎦ ⎣0 0 0 1⎦
⎡ cos θi sin θi 0 a i −1 ⎤
⎢sin θ ⋅ cos α cos θi ⋅ cos α i −1 − sin α i −1 − d i ⋅ sin α i −1 ⎥
Ti = ⎢ ⎥
i −1 i i −1
(4.10)
⎢ sin θi ⋅ sin α i −1 cos θi ⋅ sin α i −1 cos α i −1 d i ⋅ cos α i −1 ⎥
⎢ ⎥
⎣ 0 0 0 1 ⎦
Modelul Craig elimină confuzia datorată utilizării indicelui „i” pentru axa „i-1” ca în
model datorat cazului axelor paralele. Transformarea omogenă după modelul Craig
singularităţii de model pentru cazul axelor paralele succesive, prin înlocuirea distanţei
cu unghiul de aliniere „βi”, al axei „yi” cu axa „yi-1”. Utilizând acest model
problemele menţinându-se.
i-1
Ti = Rot (zi-1 , θi) . Trans (xi-1 , ai) . Rot (xi -1, αi) . Rot (yi , βi) (4.11)
25
4.1.4 Modelul Hsu - Everett
zi z'i-1 zi-1
βi αi
zi-1 i+1
yi
i y'i-1
βi
θi i+1
i αi xi
αi
βi
i-1 x'i-1
ai
Oi
O'i-1 y'i-1
di yi-1
Oi-1 x'i-1
θi
xi-1
parametrul „di”,
i-1
Ti = Rot (zi-1 , θi) . Trans (zi-1 , di) . Trans (xi-1 , ai) . Rot (xi-1 , αi) . Rot (yi , βi)
(4.12)
variabili rămâne acelaşi, fiind vorba doar de unul singur pentru o cuplă cinematică
conducătoare. Chiar dacă iniţial volumul de calcul este mai mare, simplificările de
M M=O3
1
z3
d2
θ1
A x1
0 a) b)
θ1
O0=O1
x0
Fig. 4.6 Notaţiile utilizate de modelul Kovács pentru o structura de robot RTT
a) schema cinematică b) schema asociată
Modelul Kovács constă în ataşarea unui contur poligonal deschis dispozitivului
0 0
T 3 = T1 ⋅ 1T2 ⋅ 2 T2' ⋅ 2' T2'' ⋅ 2 ''
T3 (4.13)
0
T 3 = Rot (z0 , θ1) . Trans (z1 , d2) . Trans (x2’ , a2’) . Rot (x2’’ , α2’’) . Trans (z2’’ , d3)
(4.14)
⎡cos θ1 − sin θ1 0 0 ⎤ ⎡1 0 0 0 ⎤ ⎡1 0 0 a 2 ⎤ ⎡1 0 00 ⎤ ⎡1 0 0 0⎤
⎢ sin θ 0 0 ⎥ ⎢0 1 0 0 ⎥ ⎢0 1 0 0 ⎥ ⎢0 0 − 1 0 ⎥ ⎢0 0⎥
0
T3 = ⎢ 1 cos θ1 ⎥⋅⎢ ⎥⋅⎢ ⎥⋅⎢ ⎥⋅⎢
1 0
⎥
⎢ 0 0 1 0 ⎥ ⎢0 0 1 d 2 ⎥ ⎢0 0 1 0 ⎥ ⎢0 1 0 0 ⎥ ⎢0 0 1 d3 ⎥
⎣⎢ 0 0 0 1 ⎦⎥ ⎣⎢0 0 0 1 ⎦⎥ ⎣⎢0 0 0 1 ⎦⎥ ⎣⎢0 0 0 1 ⎦⎥ ⎣⎢0 0 0 1 ⎥⎦
(4.15)
27
⎡cos θ1 0 sin θ1 d 3 sin θ1 + a 2 cos θ1 ⎤
⎢ sin θ 0 − cos θ1 − d 3 cos θ1 + a 2 sin θ1 ⎥
T3 = ⎢ ⎥
0 1
(4.16)
⎢ 0 1 0 d2 ⎥
⎢ ⎥
⎣ 0 0 0 1 ⎦
prezentat anterior, utilizând însă alte notaţii. Situarea (orientarea + poziţionarea) sunt
Sn = B1 . B2 . ... .
Bn (4.17)
(4.18)
28
4.1.6 Modelul Kovács utilizând noţiunea PeSiR SS
N
SN
O’
O
SO
PeSiR N - N’. Situarea relativă a două sisteme de referinţă N şi N’, se exprimă prin
matricea de situare:
⎡1 0 0 0⎤
⎢r nx ox ax ⎥
SN' = ⎢ x ⎥
N
(4.19)
⎢ry ny oy ay⎥
⎢ ⎥
⎣ rz nz oz az ⎦
(4.21)
⎡1 0 0 o ⎤
⎢q c5 ⋅ c 6 s 4 ⋅ s5 ⋅ c6 − c 4s 6 c 4 ⋅ s5 ⋅ c6 + s 4s 6 ⎥
T N' = ⎢ 1 ⎥
N
(4.22)
⎢q 2 c5 ⋅ s 6 s 4 ⋅ s 5 ⋅ s 6 + c 4c 6 c 4 ⋅ s 5 ⋅ s 6 − s 4c 6 ⎥
⎢ ⎥
⎣q 3 − s5 s 4 ⋅ c5 c 4 ⋅ c5 ⎦
T N ' = {q1 q 2 q 3 q 4 q 5 q 6 }
N v T
(4.23)
N v N v
S N' = T N' (4.24)
N v
unde matricea de situare S N ' are expresia:
S N ' = {rx ry rz o rx o ry o rz }
N v T
(4.25)
T N ' = {q i }
N v T
i = 1,6 (4.26)
sau
N v
T& N ' =
∂
∂t
( N v
T N' = ) ( N v
T& N ' )var . = {q& i }var .
T ∂
∂t
( N v
T N' )
ct . =0 (4.29)
( ) ( )
2
N
&T& vN ' = ∂ N v
T N' =
N
&& vN '
T = {&q&i }var .
T
(4.30)
var .
∂t 2
∂{q i }ct.
unde: qi ct. este partea constantă =0
∂t
6
∑ (q var. ) j
j=1
L= q var . ≠ 0 (4.31)
(q var. ) j
T M = {q c1 q c 2 q c3 q c 4 q c5 q c 6 }
N' v T
(4.32)
în care elementul N’M este nedeformabil (rigid). Întrucât q& ci = &q&ci = 0 modelele
N N M N N'
p= TM⋅ p= T N '⋅ p (4.33)
N' N' M
p= T M ⋅ p (4.34)
⎧⎪ N p = N T N ' ⋅ N ' T M ⋅M p
⎨N N M
(4.35)
⎪⎩ p = T M ⋅ p
se obţine:
N
T M = T N' ⋅ T M = ∏ T
N N N'
(4.36)
M
N N N' N'
T& M = T& N ' ⋅ T M T& M = 0 (4.37)
respectiv:
N
&& M = N T
T && N ' ⋅ N ' T M (4.38)
Considerând lanţul cinematic deschis (Fig. 4.8 a) format din două elemente N şi M
legate printr-o cuplă cinematică NN’ şi având un „offset” N’M, expresia matricei de
N
SM = T M = ∏ T
N N
(4.39)
M
2 N
&SM = ∂ ∏ T &S& M = ∂ ∏ T
N N
N
(4.41)
∂t M ∂t 2 M
N ′
∂ ⎛ N ⎞M N ″ ∂2 ⎛ N ⎞ M
p = ⎜ ∏ T ⎟⋅ p p = 2 ⎜ ∏ T ⎟⋅ p (4.42)
∂t ⎝ M ⎠ ∂t ⎝ M ⎠
M ′ M ″
deoarece pentru P∈M rezultă: p = p =0
C
3 C2
2
M C1 C3
B
2’ 2’’ 2’’’
B2
1 B1 B3
I II
1’’ 1’’’
A2
1’
A 0 A1 A3
a 0 III b
Contururile închise ale mecanismului (Fig. 4.8 b) se formează astfel încât fiecare conexiune
care leagă elementul „m” de elementul „0” să se includă în maximum două contururi închise.
Conturul I: 0 – A1 – B1 – C1 – C2 – B2 – A2 – 0
Conturul II: 0 – A2 – B2 – C2 – C3 – B3 – A3 – 0
Conturul III: 0 – A1 – B1 – C1 – C3 – B3 – A3 – 0
33
⎛ 0 ⎞ ⎛ 0 ⎞ ⎛ 0 ⎞
Sm = ⎜ ∏ T ⎟ = ⎜ ∏ T ⎟ = ⎜ ∏ T ⎟ = ⋅ ⋅ ⋅
0
(4.43)
⎝ m ⎠1 ⎝ m ⎠ 2 ⎝ m ⎠ 3
0
unde ∏T corespunde conexiunii NN’, iar numărul de egalităţi matriceale din
m
6
R
T EF = 0 T 6 = ∏ i −1 T i
1
Pe baza matricei coordonatelor generalizate:
q = {q1 q 2 q6}
T
q3 q4 q5 (4.46)
0 −1
T1 ⋅R T EF =1 T 2 ⋅2 T 3 ⋅3 T 4 ⋅4 T 5 ⋅5 T 6 =1 T 6
1 −1 −1
T 2 ⋅0 T1 ⋅R T EF = 2 T 3 ⋅3 T 4 ⋅4 T 5 ⋅5 T 6 = 2 T 6
2 −1 −1 −1 (4.47)
T 3 ⋅1 T 2 ⋅0 T1 ⋅R T EF = 3 T 4 ⋅4 T 5 ⋅5 T 6 = 3 T 6
3 −1 −1 −1 −1
T 4 ⋅2 T 3 ⋅1 T 2 ⋅0 T1 ⋅R T EF = 4 T 5 ⋅5 T 6 = 4 T 6
4 −1 −1 −1 −1 −1
T 5 ⋅3 T 4 ⋅2 T 3 ⋅1 T 2 ⋅0 T1 ⋅R T EF = 5 T 6
Produsele matriceale conduc la următoarea egalitate:
Dintre aceste relaţii se selectează relaţia care este dependentă numai de variabila „qi”
EXEMPLUL 4.2
RzTzTx:
⎧p x = a 2 cos θ1 + d 3 sin θ1
⎪
⎨p y = a 2 sin θ1 − d 3 cos θ1 (4.50)
⎪
⎩p z = d 2
Primele două ecuaţii ale sistemului 4.50 conduc la obţinerea lui d3.
( ) ( )
d 32 cos 2 θ1 + sin 2 θ1 + a 22 cos 2 θ1 + sin 2 θ1 = p 2x + p 2y
35
d 32 + a 22 = p 2x + p 2y pt. a2 = const.
y
B
A = r cos ϕ si B = r sin ϕ unde ϕ = arctg iar r = A 2 + B 2 (4.53)
A
± px a2
θ1 = arctg − arctg
d 32 + a 22 − p 2x d3
36
5 MODELUL CINEMATIC DIRECT ŞI INVERS AL ROBOTULUI
xi
N
EF
M=Oi
z0
P A
RI O
yi zi
x0 O0 y0
r&
Φ = {Φ
&x &y
Φ & z }T este vectorul viteză unghiulară rezultant al EF;
Φ
37
Se defineşte matricea vitezelor generalizate:
r&
Q = {q& 1 q& 2 q& 6 }
T
q& 3 q& 4 q& 5 (5.2)
∂
unde: q& i = (θi ) pentru o cuplă conducătoare de rotaţie;
∂t
∂
q& i = (d i ) pentru o cuplă de translaţie;
∂t
r& r&
Legătura dintre cele două relaţii X şi Q este dată de matricea Jacobiană:
r& r&
X = J⋅Q (5.3)
sau
P& x = J11q& 1 + J12 q& 2 + J13q& 3 + J14 q& 4 + J15 q& 5 + J16 q& 6 (5.5)
∂P ∂q i
pentru: P& x = x q& i = (5.6)
∂t ∂t
se obţine ∂Px = J11∂q1 + J12 ∂q 2 + J13∂q 3 + J14 ∂q 4 + J15 ∂q 5 + J16 ∂q 6 / ∂q1 (5.7)
respectiv:
∂Px ∂q ∂q ∂q ∂q ∂q
J11 = − J12 2 − J13 3 − J14 4 − J15 5 − J16 6 (5.8)
∂q1 ∂q1 ∂q1 ∂q1 ∂q1 ∂q1
38
şi având în vedere că în fiecare cuplă conducătoare parametrii cinematici sunt
∂q 2 ∂q 3 ∂q 4 ∂q 5 ∂q 6 ∂Px
= = = = =0 J11 = (5.9)
∂q1 ∂q1 ∂q1 ∂q1 ∂q1 ∂q1
soluţionând linie cu linie relaţia 5.4. Sistemul de 36 de relaţii rezultat este de forma:
coloane depind numai de q1, elementele celei de-a doua coloane depind numai de q2,
ş.a.m.d., adică: Ji1 = f(q1) Ji2 = f(q2) ... Ji6 = f(q6) (5.12)
Astfel primele trei linii ale matricei Jacobiene se obţin cu ajutorul submatricei de
translaţie, iar următoarele trei linii cu ajutorul submatricei de rotaţie din cadrul
xM
OM
zF
x0 yM P
zM
P
x
xF OF yF
F
r r r
X= F X 0 + F P (5.13)
prin relaţia:
F
r F r
P = R M ⋅M P (5.16)
−1 T −1
R =R R ⋅R = I
r r
şi cum: M
P = cons tan t ⇒ M
P′ = 0 (5.18)
40
se obţine:
F
r F
( T
) r F
( T F
) r F F r
P′= R ′ ⋅ R ⋅ R ⋅M P = R ′ ⋅ R ⋅ R ⋅M P = Ω⋅ R ⋅M P (5.19)
⎡ cos θ sin θ 0 ⎤
R = ⎢− sin θ cos α cos θ cos α sin α ⎥
T
(5.21)
⎢ ⎥
⎢⎣ sin θ sin α − cos θ sin α cos α ⎥⎦
⎡0 − 1 0 ⎤
R ′ ⋅ R = ⎢1 0 0⎥ ⋅ θ& = Ω
T
(5.22)
⎢ ⎥
⎢⎣0 0 0⎥⎦
F
r r F F r
V = F V0 + Ω⋅ R ⋅M P (5.23)
⎧a ⋅ cos θ⎫
F
r ⎪ ⎪
X 0 = ⎨ a ⋅ sin θ ⎬ (5.24)
⎪ d ⎪
⎩ ⎭
⎧− θ& ⋅ a ⋅ sin θ⎫
r ⎪ ⎪
F
V0 = ⎨ θ& ⋅ a ⋅ cos θ ⎬ (5.25)
⎪ d& ⎪
⎩ ⎭
41
Relaţia finală a vitezei liniare este
XF
XM
θi ZF = ZM
OF = OM
YF
1 θi
θi
0 YM
F
r F F r
deci din relaţia 5.23 se obţine: V = Ω⋅ R ⋅M P (5.27)
zi
yi
Oi
xi zn-1
i
r
Pn On-1 yn-1
xn-1
zi-1 r
xi-1 i −1
Pn xn
yi-1
Oi-1 yn On=M
zn
Pentru două elemente succesive „i-1” şi „i” legate între ele printr-o cuplă
i −1
r i −1 i −1 r
Vi = Ω i ⋅ R i ⋅i Pn (5.28)
42
r
Considerând vectorul i Pn ca unind punctul caracteristic M, aparţinând efectorului
i −1
r
final cu originea Oi, vectorul Pn se obţine din relaţia:
i −1
r i −1 r
Pn = R i ⋅i Pn (5.29)
i −1
r i −1 r
Vi = Ω i ⋅i −1 Pn (5.30)
i −1 i −1 i −1
⎡0 − 1 0 ⎤ ⎧Px ⎫ ⎧− Py ⎫
i −1
r ⎢1 0 0 ⎥ ⋅ θ& ⋅ ⎪ ⎪ ⎪ ⎪
sau: Vi =
⎢ ⎥ i ⎨ Py ⎬ = ⎨ Px ⎬ ⋅ θ& i (5.31)
⎢⎣0 0 0 ⎥⎦ i ⎪P ⎪ ⎪ 0 ⎪
⎩ z ⎭i ⎩ ⎭n
Pentru a exprima viteza elementului „i” în sistemul de referinţă fix este necesar să
i −1 0 i −1
⎧− Py ⎫ ⎡N x Ox Ax ⎤ ⎧− Py ⎫
r ⎪ ⎪ ⎪ ⎪
Vi = R i−1 ⋅ ⎨ Px ⎬ ⋅ θ& i = ⎢ N y Ay ⎥ ⋅
0
⎨ Px ⎬ ⋅ θ& i =
0
Oy
⎢ ⎥
⎪ 0 ⎪ ⎢⎣ N z Oz A z ⎥⎦ i−1 ⎪ 0 ⎪
⎩ ⎭n ⎩ ⎭n
(5.32)
⎡ 0 ⎧N x ⎫ 0
⎧O x ⎫ ⎤
⎢ ⎪ ⎪ i−1
= ⎢− ⎨ N y ⎬ (Py )n + ⎪⎨O y ⎪⎬ i−1 (Px )n ⎥⎥ ⋅ θ& i
⎢ ⎪N ⎪ ⎪O ⎪ ⎥
⎣ ⎩ z ⎭i−1 ⎩ z ⎭i−1 ⎦
⎧0⎫
i −1
r r r r ⎪ ⎪
Φ i = 0 ii + 0 ji + θk i = ⎨0⎬θi (5.33)
⎪1⎪
⎩ ⎭
⎧0⎫
r
i −1 & ⎪ ⎪
iar derivata: Φ i = ⎨0⎬θ& i (5.34)
⎪1⎪
⎩ ⎭
43
În mod similar pentru a exprima viteza unghiulară a elementului „i” în sistemul de
0 0 0
⎡N x Ox Ax ⎤ ⎡N x Ox Ax ⎤ ⎧0⎫ ⎧A x ⎫
r r& r
& = ⎪0⎪θ& = ⎪ ⎪ &
Φi = ⎢N y
0 &
Oy A y ⎥ ⋅i−1 Φ i=
⎢N Oy A y ⎥ ⋅i−1 Φ ⎨ ⎬ i ⎨A y ⎬ θi (5.35)
⎢ ⎥ ⎢ y ⎥ i
⎢⎣ N z Oz A z ⎥⎦ i−1 ⎢⎣ N z Oz A z ⎥⎦ i−1 ⎪1⎪ ⎪A ⎪
⎩ ⎭ ⎩ z ⎭i−1
Grupând viteza liniară şi viteza unghiulară relativă şi absolută conform relaţiei 5.1:
i −1
⎧− Py ⎫
⎪P ⎪
i −1 r ⎪ x ⎪
r
i −1 & ⎧V ⎫ i −1
r& ⎪ 0 ⎪ &
Xi = ⎨ r& ⎬ X i= ⎨ 0 ⎬ ⋅ θi (5.36a)
⎩Φ ⎭i ⎪ ⎪
⎪ 0 ⎪
⎪ ⎪
⎩ 1 ⎭n
⎧ P& x ⎫ ⎧ ⎧ N x ⎫ ⎫
0 0 0
⎧O x ⎫
⎪ ⎪
⎪& ⎪
P
⎪ y⎪ ⎪ −
⎪ ⎪ i −1
⎨ N y ⎬ (P )
y n +
⎪ ⎪ i −1
⎨O y ⎬ (P )
x n⎪
0 r ⎪ ⎪ ⎪ ⎪
r ⎧V ⎫ r ⎪
⎪⎪ Pz ⎪⎪ ⎪ ⎩ N z ⎭i −1
& O z ⎭i −1 ⎪⎪
0 & 0 & ⎩
X i = ⎨ r& ⎬ Xi = ⎨ ⎬ = ⎨
&x 0 ⎬ θ& i (5.36b)
⎩Φ ⎭i Φ
⎪ ⎪ ⎪ ⎧A x ⎫ ⎪
⎪Φ& y⎪ ⎪ ⎪ ⎪ ⎪
⎪ ⎪ ⎪ ⎨A y ⎬ ⎪
⎪⎩Φ
& z ⎪⎭ ⎪ ⎪A ⎪ ⎪⎭
i ⎩ ⎩ z ⎭i −1
XF di XM
1 ZF ZM
OF OM
0
YF YM
F
r r
rămâne numai componenta specifică translaţiei: V = F V0 (5.37)
elementelor „i-1” şi ”i” legate între ele printr-o cuplă de translaţie i-1Ci:
i −1 i −1
⎧0⎫ ⎧0⎫
i −1
r ⎪ ⎪ ⎪ ⎪ &
Vi = ⎨ 0 ⎬ = ⎨0⎬ ⋅ d i (5.38)
⎪d& ⎪ ⎪1⎪
⎩ i ⎭n ⎩ ⎭n
0 i −1
⎡N x Ox Ax ⎤ ⎧0⎫ ⎧A x ⎫
r 0 r ⎪ ⎪ & ⎪ ⎪
0
Vi = R i−1 ⋅ Vi = ⎢ N y
i −1
Oy Ay ⎥ ⋅ ⎨0⎬ ⋅ d i = ⎨A y ⎬ ⋅ d& i (5.39)
⎢ ⎥
⎢⎣ N z Oz A z ⎥⎦ i−1 ⎪1⎪ ⎪A ⎪
⎩ ⎭n ⎩ z ⎭i−1
i −1
r& r
0 &
Ţinând cont că vectorul viteză unghiulară relativă Φ i = 0 şi absolută Φ i = 0,
i −1
⎧0⎫
⎪0⎪
i −1 r ⎪ ⎪
i −1
r& ⎧V ⎫ i −1
r& ⎪1⎪ &
X i= ⎨ r& ⎬ X i= ⎨0⎬ ⋅ d i (5.40a)
⎩Φ ⎭i ⎪ ⎪
⎪0⎪
⎪ ⎪
⎩0⎭n
0 0
⎧ P& x ⎫ ⎧A x ⎫
⎪& ⎪ ⎪ ⎪
0 r
⎪ Py ⎪ ⎪A y ⎪
r
& ⎧V ⎫ r
0 &
⎪⎪ P& ⎪⎪ ⎪ A ⎪
0
X i = ⎨ r& ⎬ X i = ⎨ z ⎬ = ⎨ z ⎬ ⋅ d& i (5.40b)
&
⎩Φ ⎭i ⎪Φ x ⎪ ⎪ 0 ⎪
⎪Φ& y⎪ ⎪ 0 ⎪
⎪ ⎪ ⎪ ⎪
& z ⎪⎭ ⎩ 0 ⎭
⎪⎩Φ i i −1
45
6. MODELUL CINETOSTATIC AL DISPOZITIVULUI DE GHIDARE AL
ROBOŢILOR
Se consideră dispozitivul de ghidare al unui robot industrial având la bază lanţul cinematic
deschis prezentat în Fig. 6.1. Pentru determinarea reacţiunilor dinamice în cuplele cinematice şi
RA
MA
Mi n-1 n
A
RD Mn
i Fi
D
Fn
MD
i-1
2
M
Admiţând că, cupla cinematică D este o cuplă de translaţie, al cărui torsor al forţelor exterioare
r r
F M
include forţele/momentele i şi i de echilibrare ale cuplei cinematice analizate anterior,
R Ax = J11 ⋅ Fnx + J12 ⋅ Fny + J13 ⋅ Fnz + J14 ⋅ M nx + J15 ⋅ M ny + J16 ⋅ M nz (6.6)
47
Se determină elementele matricei Jacobiene:
⎧ ∂R Ax ∂R Ax ∂R Ax ∂R Ax ∂R Ax ∂R Ax
⎪ J 11 = J12 = J13 = J14 = J15 = J16 =
∂Fnx ∂Fny ∂Fnz ∂M nx ∂M ny ∂M nz
⎪
⎪ ∂R Ay ∂R Ay ∂R Ay ∂R Ay ∂R Ay ∂R Ay
⎪ J 21 = J 22 = J 23 = J 24 = J 25 = J 26 =
∂Fnx ∂Fny ∂Fnz ∂M nx ∂M ny ∂M nz
⎪
⎪ J = ∂R Az J 32 =
∂R Az
J 33 =
∂R Az
J 34 =
∂R Az
J 35 =
∂R Az
J 36 =
∂R Az
⎪⎪ 31 ∂Fnx ∂Fny ∂Fnz ∂M nx ∂M ny ∂M nz
⎨ ∂M Ax ∂M Ax ∂M Ax ∂M Ax ∂M Ax ∂M Ax (6.7)
⎪J 41 = J 42 = J 43 = J 44 = J 45 = J 46 =
⎪ ∂Fnx ∂Fny ∂Fnz ∂M nx ∂M ny ∂M nz
⎪ ∂M Ay ∂M Ay ∂M Ay ∂M Ay ∂M Ay ∂M Ay
⎪J 51 = J 52 = J 53 = J 54 = J 55 = J 56 =
⎪ ∂Fnx ∂Fny ∂Fnz ∂M nx ∂M ny ∂M nz
⎪ ∂M Az ∂M Az ∂M Az ∂M Az ∂M Az ∂M Az
⎪ J 61 = J 62 = J 63 = J 64 = J 65 = J 66 =
⎪⎩ ∂Fnx ∂Fny ∂Fnz ∂M nx ∂M ny ∂M nz
M eA
θ
MA
n
n-1
Fn
Mn
RA
hA
zn
k
i On
xn j dn
yn
r r
⎧ Fn = {Fnx Fny Fnz }3x1 R A = {R Ax R Ay R Az }3x1
T T
⎪⎪ r r
⎨ M n = {M nx M ny M nz }3x1 M A = {M Ax M Ay M Az }3x1
T T
(6.9)
r
⎪ d = {d r
d ny d nz }3x1 h A = {h Ax h Ay h Az }3x1
T T
⎪⎩ n nx
r
Pentru ΣM fA ≠ 0 vezi Roboţi Industriali – Kovacs F. şi Rădulescu C.: Litografia Institutul Politehnic ”Traian Vuia” Timişoara, 1992 – pag. 116.
r
unde: Fn - rezultanta forţelor exterioare;
r
M n - momentul rezultant al forţelor exterioare;
r r
d n - perpendiculara din On pe direcţia vectorului Fn ;
r
R A - reacţiunea din cupla cinematică A;
r
M A - momentul reactiv din cupla cinematică A;
r r
h A - perpendiculara din On pe direcţia vectorului R A .
⎧R Ax ⎫ ⎧Fnx ⎫ R Ax = −Fnx
⎪ ⎪ ⎪ ⎪
⎨R Ay ⎬ = −⎨Fny ⎬ R Ay = −Fny (6.10)
⎪R ⎪ ⎪F ⎪
⎩ Az ⎭ ⎩ nz ⎭ R Az = −Fnz
Ceea ce permite, ca din relaţia 6.7, să se determine elementele matricei Jacobiene din
∂R Ax
J11= = −1 J12 =J13 =J14 =J15 =J16 = 0
∂Fnx
∂R Ay
J 22 = = −1 J 21=J 23 =J 24 =J 25 =J 26 = 0 (6.11)
∂Fny
∂R Az
J 33 = = −1 J 31=J 32 =J 34 =J 35 =J 36 = 0
∂Fnz
r
Neglijând suma momentelor forţelor de frecare ΣM fA = 0 şi efectuând produsele:
49
⎡ i j k ⎤ r r
r r ⎢
h A × R A = ⎢ h Ax h Ay
⎥ (h R
h Az ⎥ = Ay Az
− h R
Az Ay )i − (h R
Ax Az − h R
r Az Ax
) j+
+ (h Ax R Ay − h Ay R Ax )k
(6.12)
⎢R Ax R Ay R Az ⎥⎦
⎣
⎡ i j k ⎤ r r
r r ⎢
d n × Fn = ⎢d nx d ny
⎥ (d F
d nz ⎥ = ny nz
− d F
nz ny )i − (d F
nx nz − d F
r nz nx
) j+
+ (d nx Fny − d ny Fnx )k
(6.13)
⎢ Fnx Fny Fnz ⎥⎦
⎣
⎧M Ax ⎫ ⎧M nx ⎫ ⎧ h Ay R Az − h Az R Ay ⎫ ⎧ d ny Fnz − d nz Fny ⎫
⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪
⎨M Ay ⎬ = −⎨M ny ⎬ − ⎨ h Az R Ax − h Ax R Az ⎬ − ⎨d nz Fnx − d nx Fnz ⎬ (6.14)
⎪M ⎪ ⎪ M ⎪ ⎪h R − h R ⎪ ⎪d F − d F ⎪
⎩ Az ⎭ ⎩ nz ⎭ ⎩ Ax Ay Ay Ax ⎭ ⎩ nx ny ny nx ⎭
Ceea ce permite să se determine elementele matricei Jacobiene din ultimele trei linii:
M Ax = −M nx − h Ay R Az + h Az R Ay − d ny Fnz + d nz Fny
= −M nx + h Ay Fnz − d ny Fnz − h Az Fny + d nz Fny (6.15)
= −M nx − (h Az − d nz )Fny + (h Ay − d ny )Fnz
∂M Ax ∂M Ax ∂M Ax
J 41 = =0 J 42 = = −(h Az − d nz ) J 43 = = + (h Ay − d ny )
∂Fnx ∂Fny ∂Fnz
∂M Ax ∂M Ax ∂M Ax
J 44 = = −1 J 45 = =0 J 46 = =0
∂M nx ∂M ny ∂M nz
(6.16)
M Ay = −M ny − h Az R Ax + h Ax R Az − d nz Fnx + d nx Fnz
= −M ny + h Az Fnx − d nz Fnx − h Ax Fnz + d nx Fnz (6.17)
= −M ny + (h Az − d nz )Fnx − (h Ax − d nx )Fnz
∂M Ay ∂M Ay ∂M Ay
J 51 = = +(h Az − d nz ) J 52 = =0 J 53 = = −(h Ax − d nx )
∂Fnx ∂Fny ∂Fnz
(6.18)
∂M Ay ∂M Ay ∂M Ay
J 54 = =0 J 55 = = −1 J 56 = =0
∂M nx ∂M ny ∂M nz
50
M Az = −M nz − h Ax R Ay + h Ay R Ax − d nx Fny + d ny Fnx
= −M nz − h Ay Fnx + d ny Fnx + h Ax Fny − d nx Fny (6.19)
= −M nz − (h Ay − d ny )Fnx + (h Ax − d nx )Fny
∂M Az ∂M Az ∂M Az
J 61 = = −(h Ay − d ny ) J 62 = = +(h Ax − d nx ) J 63 = =0
∂Fnx ∂Fny ∂Fnz
(6.20)
∂M Az ∂M Az ∂M Az
J 64 = =0 J 65 = =0 J 66 = = −1
∂M nx ∂M ny ∂M nz
J11 =J 22 =J 33 =J 44 =J 55 =J 66 = −1
J 42 = −(h Az − d nz ) = −J 51
J 43 = +(h Ay − d ny ) = −J 61 (6.21)
J 53 = −(h Ax − d nx ) = −J 62
⎡ J11 0 0 0 0 0⎤
⎢ 0 J 22 0 0 0 0⎥
⎢ ⎥
⎢ 0 0 J 33 0 0 0⎥
J rotatie =⎢ ⎥ (6.22)
⎢ 0 J 42 J 43 J 44 0 0⎥
⎢− J 42 0 J 53 0 J 55 0⎥
⎢ ⎥
⎣ − J 43 − J 53 0 0 0 J 66 ⎦
direcţia axei z şi pune în mişcare elementul „n” în raport cu „n-1”, se obţine din
relaţia:
d F eD
MD
n-1 Fn
n
RD
Mn
hD
zn
k
i On
xn j
dn
yn
⎪⎪ r r
⎨ M n = { M nx M ny M }T
nz 3 x1 M D = {M Dx M Dy M Dz }3x1
T
(6.25)
⎪ dr = {d d ny d nz }3x1
T
r
h D = {0 0 h Dz }3x1
T
⎪
r ⎩
n nx
Pentru ΣFfD ≠ 0 vezi Roboţi Industriali – Kovacs F. şi Rădulescu C.: Litografia Institutul Politehnic ”Traian Vuia” Timişoara, 1992 – pag. 126.
r
unde: Fn - rezultanta forţelor exterioare;
r
M n - momentul rezultant al forţelor exterioare;
r r
d n - perpendiculara din On pe direcţia vectorului Fn ;
r
R D - reacţiunea din cupla cinematică D;
52
r
M D - momentul reactiv din cupla cinematică D;
r
h D - paralela cu direcţia de mişcare.
⎧R Dx ⎫ ⎧Fnx ⎫ R Dx = −Fnx
⎪ ⎪ ⎪ ⎪
⎨R Dy ⎬ = −⎨Fny ⎬ R Dy = −Fny (6.26)
⎪R ⎪ ⎪F ⎪
⎩ Dz ⎭ ⎩ nz ⎭ R Dz = −Fnz
Ceea ce permite, ca din relaţia 6.7, să se determine elementele matricei Jacobiene din
∂R Dx
J11 = = −1 J12 =J13 =J14 =J15 =J16 = 0
∂Fnx
∂R Dy
J 22 = = −1 J 21 =J 23 =J 24 =J 25 =J 26 = 0 (6.27)
∂Fny
∂R Dz
J 33 = = −1 J 31 =J 32 =J 34 =J 35 =J 36 = 0
∂Fnz
r
Neglijând suma forţelor de frecare fD = 0 şi efectuând produsele:
Σ F
⎡ i j k ⎤
r r ⎢ ⎥ r r
hD × RD = ⎢ 0 0 h Dz ⎥ = −h Dz R Dy i + h Dz R Dx j (6.28)
⎢R Dx R Dy R Dz ⎥⎦
⎣
⎡ i j k ⎤ r r
r r ⎢
d n × Fn = ⎢d nx d ny
⎥ (d F
d nz ⎥ = ny nz
− d F
nz ny )i − (d F
nx nz − d F
r nz nx
) j+
+ (d nx Fny − d ny Fnx )k
(6.13)
⎢ Fnx Fny Fnz ⎥⎦
⎣
⎧M Dx ⎫ ⎧M nx ⎫ ⎧− h Dz R Dy ⎫ ⎧ d ny Fnz − d nz Fny ⎫
⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪
⎨M Dy ⎬ = −⎨M ny ⎬ − ⎨ h Dz R Dx ⎬ − ⎨d nz Fnx − d nx Fnz ⎬ (6.29)
⎪M ⎪ ⎪M ⎪ ⎪ 0 ⎪ ⎪d F − d F ⎪
⎩ Dz ⎭ ⎩ nz ⎭ ⎩ ⎭ ⎩ nx ny ny nx ⎭
Ceea ce permite să se determine elementele matricei Jacobiene din ultimele trei linii:
53
M Dx = −M nx + h Dz R Dy − d ny Fnz + d nz Fny
= −M nx − h Dz Fny − d ny Fnz + d nz Fny (6.30)
= −M nx − (h Dz − d nz )Fny − d ny Fnz
∂M Dx ∂M Dx ∂M Dx
J 41 = =0 J 42 = = −(h Dz − d nz ) J 43 = = −d ny
∂Fnx ∂Fny ∂Fnz
(6.31)
∂M Dx ∂M Dx ∂M Dx
J 44 = = −1 J 45 = =0 J 46 = =0
∂M nx ∂M ny ∂M nz
M Dy = −M ny − h Dz R Dx − d nz Fnx + d nx Fnz
= −M ny + h Dz Fnx − d nz Fnx + d nx Fnz (6.32)
= −M ny + (h Dz − d nz )Fnx + d nx Fnz
∂M Dy ∂M Dy ∂M Dy
J 51 = = +(h Dz − d nz ) J 52 = =0 J 53 = = d nx
∂Fnx ∂Fny ∂Fnz
(6.33)
∂M Dy ∂M Dy ∂M Dy
J 54 = =0 J 55 = = −1 J 56 = =0
∂M nx ∂M ny ∂M nz
∂M Dz ∂M Dz ∂M Dz
J 61 = = d ny J 62 = = −d nx J 63 = =0
∂Fnx ∂Fny ∂Fnz
(6.35)
∂M Dz ∂M Dz ∂M Dz
J 64 = =0 J 65 = =0 J 66 = = −1
∂M nx ∂M ny ∂M nz
J11 =J 22 =J 33 = J 44 = J 55 = J 66 = −1
J 42 = −(h Dz − d nz ) = − J 51
J 43 = − d ny = − J 61 (6.36)
J 53 = + d nx = − J 62
axei z şi pune în mişcare elementul „n” în raport cu „n-1”, se obţine din relaţia:
ROBOŢILOR
q, q& , &q& şi dorim să aflăm momentul motor Mm, cazul conducerea robotului;
mişcării robotului.
Modelul dinamic al unui robot utilizând metoda Lagrange – Euler este simplă şi
L = Ec – Ep (7.1)
56
Ecuaţiile dinamice clasice exprimate în termenii funcţiei lagrangene sunt:
d ⎛ ∂L ⎞ ∂L
⎜ ⎟− = Qi i = 1, n (7.2)
dt ⎜⎝ ∂q& i ⎟⎠ ∂q i
d ⎛ ∂L ⎞ ∂L
e. se determină ecuaţia dinamică Q i = ⎜ ⎟− i = 1, n
dt ⎜⎝ ∂q& i ⎟⎠ ∂q i
ir
r = {x i z i 1}
T
yi (7.3)
0r
r = {x 0 z 0 1}
T
y0 (7.4)
0r
T i = T i (q j ) q j = q j ( t )
0 r 0 0
r = T i ⋅i r j = 1, i (7.5)
⎛ i ∂0 Ti ⎞ i r
iar viteza: 0r
r = ⎜∑
&
⎜ j =1 ∂q
q& j ⎟⋅ r
⎟ ∂t
( )
∂ i r&
r =0 ir
r = cons tan t (7.6)
⎝ j ⎠
57
Pătratul vitezei se exprimă prin produsul scalar:
sau prin urma matricei produs (la o matrice pătratică suma pătratelor elementelor de
pe diagonala principală):
( rr& )
0 2
(
r r
= TR 0 r& ⋅0 r& T ) (7.8)
r 2 ⎡ i ∂0 T ⎛ i ∂0 T ⎞
T
⎤
⎛ ⎞
d r r
⎜
r
⎟
⎜ ⎟ = TR ⎢ ∑ i
q
& j ⋅i
r ⋅ ⎜ k∑
i
q
& k ⋅ i
r ⋅ ⎟
⎥=
⎝ dt ⎠ ⎢ j=1 ∂q j ∂
⎝ =1 kq ⎠ ⎥⎦
⎣
(7.9)
⎡i i ∂ T r r 0
⎛ ∂ Ti ⎞
0 T
⎤
= TR ⎢∑∑ i i
⋅ r⋅ ir ( ) T
⋅ ⎜⎜ ⎟ q& j ⋅ q& k ⎥
⎟
⎢ j=1 k =1 ∂q j ⎝ ∂q k ⎠ ⎥
⎣ ⎦
Energia cinetică a unei particule de masă „dm” localizătă în elementul „i” prin
r
vectorul de poziţie i r este:
r 2 ⎡ i i ∂0 T r r T ⎛ ∂ 0 Ti ⎞
T
⎤
1 ⎛ dr ⎞
dE ci = ⎜ ⎟ ⋅ dm = TR ∑ ∑
⎢
∂
i i i ⎜
⋅ r ⋅ r ⋅ dm⎜
∂
( )
⎟
⎟ q j ⋅ qk ⎥
& & (7.10)
2 ⎝ dt ⎠ ⎢ j =1 k =1 q q
⎝ k ⎠ ⎥
⎣ j
⎦
Energia cinetică a elementului „i” este suma energiilor cinetice ale tuturor punctelor
⎡ i i ∂0 T ⎛ 0
⎞
T
⎤
1
E c = ∫ dE ci = TR ⎢∑ ∑
∂
i i r i r T
⋅ ∫ r ⋅ r ⋅ dm⎜⎜
∂
∂
( )
T i ⎟ q& j ⋅ q& k ⎥
⎟ (7.11)
2 ⎢ j =1 k =1 q q
⎝ k ⎠ ⎥
Mi
⎣ j Mi
⎦
Matricea de inerţie:
Ji = ∫
ir
( )
rT
r ⋅ i r ⋅ dm (7.12)
Mi
58
sau:
⎡ ∫ x i2 dm ∫ x i y i dm ∫ x i z i dm ∫ x i dm⎤⎥
⎧x i ⎫ ⎢ Mi Mi Mi Mi
⎢ y x dm
⎪y ⎪
⎪ i⎪ ∫ i i
⎢Mi ∫y i2 dm ∫ y i z i dm ∫ y i dm ⎥⎥
∫ ⎨ z ⎬ ⋅ {x i yi zi 1}dm = ⎢ Mi Mi
z i2 dm
Mi
⎥ (7.13)
Mi ⎪ i ⎪ ⎢ ∫ z i x i dm ∫ z i y i dm ∫ ∫ z i dm ⎥
⎪⎩ 1 ⎪⎭ ⎢ Mi Mi Mi Mi
⎥
⎢ ∫ x i dm ∫ y i dm ∫ z i dm ∫ dm ⎥
⎣ Mi Mi Mi Mi ⎦
∫ (yi )
2
Ii xx = + z i2 dm Ii xy = ∫ x i y i dm
Mi Mi
∫ (z i )dm
2
Ii yy = + x i2 Ii xz = ∫ x i z i dm (7.14)
Mi Mi
Ii zz = ∫( x i2 + y i2 )dm Ii yz = ∫ y i z i dm
Mi Mi
∫ x i dm = M i x i ∫ y i dm = M i y i ∫ z i dm = M i z i (7.15)
Mi Mi Mi
Întrucât:
∫ x i dm = − 2 ∫ (y i ) ( ) ( )
2 1 2 1 1
+ z i2 dm + ∫ z i2 + x i2 dm + ∫ x i2 + y i2 dm =
Mi Mi 2 Mi 2 Mi
=
1
(− Ii xx + Ii yy + Ii zz )
2
(7.16 a)
∫ i
y 2
dm = −
1
∫
2 Mi
z 2
i (
+ x 2
i dm +
1
∫)
2 Mi
x 2
i + y 2
i dm +
1
∫
2 Mi
( )
y i2 + z i2 dm = ( )
Mi
=
1
(Ii xx − Ii yy + Ii zz )
2
59
∫ z i dm = − 2 ∫ (x i ) ( ) ( )
2 1 2 1 1
+ y i2 dm + ∫ y i2 + z i2 dm + ∫ z i2 + x i2 dm =
Mi Mi 2 Mi 2 Mi
(7.16 b)
= (Ii xx + Ii yy − Ii zz )
1
2
rezultă:
⎡ − Ii xx + Ii yy + Ii zz ⎤
⎢ Ii xy Ii xz Mi x i ⎥
⎢ 2 ⎥
Ii xx − Ii yy + Ii zz
⎢ Ii yx Ii yz M i yi ⎥
Ji = ⎢ 2 ⎥ (7.17)
⎢ Ii xx + Ii yy − Ii zz ⎥
⎢ Ii zx Ii zy Mi zi ⎥
⎢ 2 ⎥
⎢⎣ Mi x i M i yi Mi zi M i ⎥⎦
1 i i ⎡∂0 T ⎛ ∂
0
T ⎞
T
⎤
E c i = ∑ ∑ TR ⎢ i
⋅ J i ⋅ ⎜⎜ i ⎟
⎟
& j ⋅ q& k ⎥
q (7.18)
2 j=1 k =1 ⎢ ∂q j ⎝ ∂q k ⎠ ⎥
⎣ ⎦
6 1 6 i i ⎡∂0 T ⎛ ∂0 Ti ⎞ ⎤
T
E c = ∑ E c i = ∑∑ ∑ TR ⎢ i
⋅ J i ⋅ ⎜⎜ ⎟ ⎥ ⋅ q& j ⋅ q& k
⎟ (7.19)
i =1 2 i =1 j=1 k =1 ⎢ ∂q ⎝ ∂q k ⎠ ⎥
⎣ j
⎦
zero este planul xiOiyi al sistemului de referinţă propriu elementului „i”, este
exprimată de relaţia:
r 0
( r
E p i = − M i ⋅ g T ⋅ T i i rci ) (7.20)
ir
g = {0 0 g i 1}
T
unde vectorul acceleraţie gravitaţională este: (7.21)
60
iar vectorul de poziţie al centrului de greutate Ci al elementului „i”, în care este
( )
6 r 6 r
E p = ∑ E p i = −∑ M i ⋅ g T ⋅ T i i rci
0
(7.23)
i =1 i =1
d. Funcţia Lagrange
L = Ec – Ep (7.1)
⎡∂0 T T
⎤
⎛ ⎞
( )
0
1 6 i i ∂ T 6 r r
L = ∑∑ ∑ TR ⎢ i
⋅ J i ⋅ ⎜⎜ i ⎟ ⎥ ⋅ q& j ⋅ q& k + ∑ M i ⋅ g T ⋅ 0 T i i rci
⎟ (7.24)
2 i=1 j=1 k =1 ⎢ ∂q j ⎝ ∂q k ⎠ ⎥⎦ i =1
⎣
f. Ecuaţiile dinamice
d ⎛⎜ ∂L ⎞⎟ ∂L
− = Qi p = max i, j, k (7.25)
dt ⎜⎝ ∂q& p ⎟⎠ ∂q p
∂L 6 i ⎡∂0 T ⎛ ∂
0
T ⎞
T
⎤
= ∑ ∑ TR ⎢ i
⋅ J i ⋅ ⎜⎜ i ⎟ ⎥ ⋅ q& k
⎟ (7.26)
∂q& p i = p k =1 ⎢ ∂q p ∂
⎝ k ⎠ ⎥⎦
q
⎣
d ⎛⎜ ∂L ⎞⎟ 6 i ⎡∂0 T ⎛ ∂0 Ti ⎞ ⎤
T
= ∑ ∑ TR ⎢ i
⋅ J i ⋅ ⎜⎜ ⎟ ⎥ ⋅ &q& k +
⎟
dt ⎜⎝ ∂q& p ⎟⎠ i=p k =1 ⎢ ∂q p ⎝ ∂q k ⎠ ⎥
⎣ ⎦
6 i i ⎡ ∂2 0 T ⎛ ∂0 Ti ⎞ ⎤
T
+ ∑ ∑ ∑ TR ⎢ i
⋅ J i ⋅ ⎜⎜ ⎟ ⎥ ⋅ q& k ⋅ q& m +
⎟ (7.27)
i = p k =1 m =1 ∂
⎢ p m
q ∂ q ⎝ ∂q k ⎠ ⎥
⎣ ⎦
6 i i ⎡∂0 T ⎛ ∂ 20
T ⎞
T
⎤
+ ∑ ∑ ∑ TR ⎢ i ⎜
⋅ Ji ⋅ ⎜ i ⎟ ⎥
⋅ q& k ⋅ q& m
∂
⎢ p ∂ ∂ ⎟
i = p k =1 m =1
⎣
q ⎝ k m ⎠ ⎥⎦
q q
∂L 6 i i ⎡ ∂2 0 T ⎛ ∂ 0 Ti ⎞ ⎤
T
6 r T ⎛⎜ ∂ 0 T i i r ⎞⎟
= ∑ ∑ ∑ TR ⎜ ⎟
⎟ ⎥ ⋅ q j ⋅ q p + i∑
⎢ i
⋅ Ji ⋅ ⎜ ⎥ & & Mi ⋅ g ⋅ r (7.28)
∂q p i = p j=1 k =1 ⎢ ∂q j∂q p ∂ q ⎜ ∂q ci ⎟
⎣ ⎝ k ⎠ ⎦ = p ⎝ p ⎠
61
Având în vedere că ecuaţiile dinamice sunt independente de ordinea de sumare se
i i i
∑ D ij ⋅ &q&i + ∑∑ D ijk ⋅ q& j ⋅ q& k + D i = Q i i = 1,6 (7.29)
j=1 j=1 k =1
r
unde &q&i - acceleraţia generalizată &qr& = {&q& &q& ... &q& }T
i 1 2 n
r r r
q& j - viteza generalizată q& jq& k = {q& 1q& 2 q& 1q& 3 ... q& n −1q& n }
T
r
{
q& 2k = q& 12 q& 22 ... q& 2n }
T
(7.30)
6 ⎡∂0 T ⎛ ∂
0
T ⎞
T
⎤
D ij = ∑ TR ⎢ p
⋅ Jp ⋅ ⎜ p ⎟ ⎥
(7.31)
⎢ ∂q j ⎜ ∂q i ⎟ ⎥
p = max i , j
⎣ ⎝ ⎠ ⎦
pentru: i ≠ j D ij este cuplarea efectului inerţial între cuplele conducătoare „i” şi „j”;
6 ⎡ ∂2 0 T ⎛ ∂
0
T ⎞
T
⎤
Termenul cinetic: D ijk = ∑ TR ⎢ p
⋅ Jp ⋅ ⎜ p ⎟ ⎥
(7.32)
⎢ ∂q j∂q k ⎜ ∂q i ⎟ ⎥
p = max i , j, k
⎣ ⎝ ⎠ ⎦
pentru j ≠ k D ijk este termenul forţei Corriolis al cuplei conducătoare „i”, dependent
r T ⎛⎜ ∂ T p p r ⎞⎟
6 0
Di = − ∑ M i ⋅ g ⋅ r i = 1,6 (7.33)
⎜ ∂q i ci ⎟
p =1 ⎝ ⎠
62
Matricele D depind de dimensiunea elementelor, de masele lor şi de masa
masei este complet caracterizată. Pentru a mişca elementul se impune accelerarea lui.
Ecuaţia lui Newton pentru mişcarea de translaţie şi ecuaţia lui Euler pentru mişcarea
Ci
i
r
Fi
Fig. 7.1 Acţiunea unei forţe în centrul de masă
Ci
i
r
Ni
Ci
unde Ii – tensorul inerţial, relativ la un sistem de axe cu centrul în Ci;
Fi – rezultanta forţelor exterioare ce acţionează în centrul de masă;
Ni – momentul rezultant al forţelor exterioare în raport cu centrul de masă Ci;
a) Metoda iteraţiei de la baza robotului spre efectorul final. Pentru fiecare element
r i r ⎧1 daca i = rotatie
i
ωi = R i −1 ⋅i −1 ωi −1 + Δ i q& i i k i unde Δ i = ⎨ i = 1, n (7.36)
⎩0 daca i = translatie
i
r i
Vi = R i−1 [ i −1
r r r
] ⎧1 daca i = rotatie
Vi−1 + i−1 ωi−1×i−1 ri + Δ i q& i i k i unde Δ i = ⎨
0 daca i = translatie
(7.37)
⎩
i r& i
ω i = R i −1 ⋅i −1 r
ω i −1 i i[−1
r&
& + Δ i R ⋅i −1 ω & i i k i + &q&i i k i
i −1 × q ] (7.38)
i
r& i
V i = R i −1 [
i −1
r&
V i −1 r
&
i −1 + ωi −1 ×
i −1 r i −1 r
ri + ωi−1 × ( i −1 r r
)] [r&
ωi−1×i−1 r i + Δ i 2i ω & i i k i + &q&i i k i
i ×q ] (7.39)
i
r& i r& i r i r i r
V & ir ir
(
Ci = Vi + ωi × rCi + ωi × ωi × rCi ) (7.40)
0 r r&
De notat că pentru elementul 0 se obţine ω0 = 0 ω 0 = 0 . Având calculate acceleraţiile
liniare şi unghiulare ale centrului de masă al fiecărui element se aplică ecuaţiile lui
65
Newton – Euler pentru a calcula forţa de inerţie şi momentul necesar acţionării
i
r r&
Fi = M i ⋅i V Ci (7.41)
r r& ir i r
i
N i = Ci I i ⋅i ω Ci &
Ci + ωi × I i ⋅ ωi (7.42)
i-1
echilibru a momentelor:
( )
i
r r r r r r r r
N i = i n i − i n i+1 − i rCi ×i f i − i ri+1 − i rCi ×i f i+1 =
r r r r r r r r
= i n i − i n i+1 − i rCi ×i f i − i ri+1×i f i+1 + i rCi ×i f i+1 =
(7.44)
( )
r r r r r r r
= i n i − i n i+1 − i rCi × i f i − i f i+1 − i ri+1×i f i+1 =
ir i i +1 r ir i
r ir i i +1
r
= n i − R i+1 ⋅ n i+1 + rCi × Fi − ri+1× R i+1 ⋅ f i+1
În final se pot rearanja relaţiile de echilibru ale forţei şi momentelor astfel ca ele să
i
r r r r
Δ i = 1 daca i = rotatie Q m = i n iT ⋅i k i + i Q f
unde pentru: r r r r (7.47)
i
Δ i = 0 daca i = translatie Q m = i f iT ⋅i k i + i Q f
i
r
Q f - este forţa generalizată datorită frecărilor vâscoase, având expresia:
i
r r
Q f = b i ⋅ q& i ⋅i Q fc (7.48)
i
r
Q fc - este forţa generalizată datorită frecărilor uscate (coulombiene), având
expresia:
67
r d r r r r
Q fc = Δ i ⋅ c i ⋅ i ⋅ i k i ×i f i ⋅ sign (q& i ) + (1 − Δ i ) ⋅ c i ⋅ i k i ×i f i ⋅ sign (q& i )
i
(7.49)
2
i
r d r r
Δ i = 1 daca i = rotatie Q fc = c i ⋅ i ⋅ i k i ×i f i ⋅ sign (q& i )
unde pentru: 2 (7.50)
r r r
Δ i = 0 daca i = translatie Q fc = ci ⋅ i k i ×i f i ⋅ sign (q& )
i
Ecuaţiile lui Apple permit exprimarea dinamicii sistemelor mecanice. Ecuaţiile lui
continuare se tratează utilizarea ecuaţiilor lui Apple pentru sisteme de rigide cuplate.
Deci poziţie sistemului de particule (solidul rigid) este definită printr-un vector de
r
dimensiunea 3N x = (x1 , x 2 , x 3 , ………., x 3N ) T .
Să luăm în considerare constrângerile impuse sistemului:
mişcare şi este supus numai la astfel de constrângeri atunci vorbim de sisteme holonomice.
3N 3N
∑ A ν ( x, t ) ⋅ dx ν + A ⋅ dt = 0 sau ∑ A ν ( x ) ⋅ dx ν = 0 (7.52)
ν =1 ν =1
68
atunci acestea se numesc constrângeri non – holonomice. Dacă ele sunt impuse unui
sau constrângeri statice. Dacă este explicitată dependenţa de timp, aceste constrângeri
mai mare decât numărul de grade de liberatate ale sistemului. Sistemul are n = 3N + k
grade de libertate, iar aici avem nevoie de 3N+k ecuaţii scalare (3N ecuaţii
r
diferenţiale de tipul (7.54), pentru că sunt rN vectori de poziţie cu câte 3 proiecţii şi k
Se pune întrebarea care este setul de ecuaţii minimal pentru a descrie dinamica
sistemului. În acest scop pentru a deriva ecuaţiile lui Apple se utilizează metoda
deplasărilor virtuale:
(F − m &rr& + R )⋅ δrr = 0
r r
l l l l l l = 1, N (7.55)
r
unde δ rl - este deplasarea virtuală a particulei „l”.
69
Dacă sumăm pentru toate particulele l = 1, N :
∑ (F − m &r& )⋅ δr = 0
N r r r
l l l l (7.57)
l =1
lui Lagrange. De aceea de multe ori se cheamă ecuaţiile lui d’Alembert - Lagrange.
şi o renumerotare a maselor:
m1 → m1 , m 2 , m 3 m 2 → m 4 , m 5 , m 6 L m N → m 3 N − 2 , m 3 N −1 , m 3 N (7.59)
3N
∑ (Pν − m ν &x& ν ) ⋅ δx ν = 0 (7.60)
ν =1
n parametri independenţi q1, q2, …, qn, care determină poziţia sistemului şi care se
x ν = x ν (q1 q 2 L q n t) q i = q i (t ) i = 1, n (7.61)
70
Pentru un sistem staţionar timpul t nu este explicit exprimat. Deplasarea virtuală δx ν
n ∂x ν n ∂x ν
δx ν = ∑ ⋅ δq i =∑ a νi ⋅ δq i a νi = (7.62)
i =1 ∂q i i =1 ∂q i
3N n
∑ (Pν − m ν &x& ν ) ⋅ ∑ a νi ⋅ δq i = 0
ν =1 i =1
3N n 3N n
∑ Pν ⋅ ∑ a νi ⋅ δq i − ∑ m ν &x& ν ⋅ ∑ a νi ⋅ δq i = 0 (7.63)
ν =1 i =1 ν =1 i =1
n 3N n 3N
∑ ∑ m ν ⋅ &x& ν ⋅ a νi ⋅ δq i = ∑ ∑ Pν ⋅ a νi ⋅ δq i
i =1 ν =1 i =1 ν =1
Termenul din membrul drept reprezintă lucrul mecanic virtual al tuturor forţelor
3N
Q i = ∑ Pν ⋅ a νi i = 1, n (7.64)
ν =1
n
dA = ∑ Q i ⋅ δq i (7.65)
i =1
transforma membrul stâng al ecuaţiei (7.63 – ultima linie), se derivă expresia (7.61):
n ∂x ν ∂x ν n ∂x ν
x& ν = ∑ ⋅ qi +
& =∑ a νi ⋅ q& i +a νi aν =
i =1 ∂q i ∂t i =1 ∂t
(7.66)
n n n ∂a n ∂a n ∂a ∂a
&x& ν = ∑ a νi ⋅ &q&i + ∑ ∑ νi ⋅ q& i ⋅ q& j + ∑ νi ⋅ q& j + ∑ νi ⋅ q& i + ν
i =1 i =1 j =1 ∂q i j =1 ∂q j i =1 ∂t ∂t
n 3N n 3N δ&x& ν
∑ ∑ m ν ⋅ &x& ν ⋅ a νi ⋅ δq i = ∑ ∑ m ν ⋅ &x& ν ⋅ δ&q&i
⋅ δq i (7.68)
i =1 ν =1 i =1 ν =1
Introducând funcţia S:
1 3N
S= ⋅ ∑ m ν ⋅ &x& ν2 (7.69)
2 ν =1
3N ∂&x& ∂S
∑ m ν ⋅ &x& ν2 ⋅ ∂&q&ν =
∂&q&i
i = 1, n (7.70)
ν =1 i
n ∂S n n ⎛ ∂S ⎞
∑ ∂&q& δq i = ∑ Qi ⋅ δq i sau ∑ ⎜⎜ ∂&q& − Q i ⎟⎟δq i = 0 (7.71)
i =1 i i =1 i =1 ⎝ i ⎠
∂S
= Qi i = 1, n (7.72)
∂&q&i
rezultă că este suficient să calculăm energia de acceleraţie a unui element (corp rigid)
r 2
1 N ⎛ d 2 rl ⎞
corpul rigid ca un sistem de particule: S = ⋅ ∑ m l ⋅ ⎜⎜ 2 ⎟⎟ (7.73)
2 l=1 ⎝ dt ⎠
r
Dacă introducem centrul de masă cu vectorul său de poziţie rc , atunci:
r r r
rl = rc + rl' (7.74)
r
unde rl ' este vectorul de poziţie al particulei ml, raportat la centrul de masă Cl.
r r 2 ⎡⎛ d 2 rr ⎞ 2 r r r 2
1 N ⎛ d 2 rc d 2 rl' ⎞ 1 N d 2 rc d 2 rl ' ⎛ d 2 rl ' ⎞ ⎤
S = ⋅ ∑ m l ⋅ ⎜⎜ 2 + 2 ⎟⎟ = ⋅ ∑ m l ⎢⎜⎜ 2 ⎟⎟ + 2 2 ⋅ 2 + ⎜⎜ 2 ⎟⎟ ⎥ =
c
2 l=1 ⎝ dt dt ⎠ 2 l=1 ⎢⎝ dt ⎠ dt dt ⎝ dt ⎠ ⎥⎦
⎣ (7.75)
2r 2 2r N 2r r 2
1 ⎛d r ⎞ d r d r 1 N ⎛d r ⎞ 2
= ⋅ M⎜⎜ 2c ⎟⎟ + 2c ∑ m l ⋅ 2l' + ⋅ ∑ m l ⎜⎜ 2l ' ⎟⎟
2 ⎝ dt ⎠ dt l=1 dt 2 l=1 ⎝ dt ⎠
N
unde M = ∑ m l este masa totală a corpului rigid.
l=1
r
N d 2 rl ' d 2 ⎛ N r⎞
Expresia ∑ m l ⋅ 2 = 2 ⎜ ∑ m l ⋅ rl' ⎟ (7.76)
l=1 dt dt ⎝ l=1 ⎠
N r
conduce la: ∑ m l ⋅ rl' = 0 în raport cu centrul de masă Cl. (7.77)
l=1
1 r 2 1 N r
S= ⋅ M ⋅ a c + ⋅ ∑ m l ⋅ a l2' (7.78)
2 2 l=1
r
unde: a c este acceleraţia centrului de masă;
r
a l ' este acceleraţia centrului de masă ml în mişcarea s-a relativă raportată la
centrul de masă.
73
7.4 Modelul dinamic simplificat
Acest model decuplează axele robotului, luând în considerare numai o singură axă şi
M TM C
Mm
Fig. 7.4 Componenţa unei axe a robotului
considerare ca elemente mobile, elementele „i+1 .. n”. Lanţul cinematic „i+1 .. n”,
conţinând şi efectorul final cu obiectul manipulat, se vor considera în poziţia cea mai
dezavantajoasă, când momentul rezistent redus Mred este maxim. Toate reducerile se
fac la arborele motorului electric de acţionare rotativ, sau la tija pistonului motorului
forţele de greutate:
n
Pred = M red ⋅ ωm =
g g
∑ G j ⋅ VC j ⋅ cos α j
j=i +1
(7.80)
1 n
M red
g
=
ωm
∑ G j ⋅ VC j ⋅ cos α j
j=i +1
αj – unghiul de presiune.
j r
VCj
Cj
mj
αj
r
G Cj
m n
Pred
fr
= M red
fr
⋅ ωm = ∑ Ffr ⋅ Vj +
j
∑ M fr ⋅ ωk
k
j=i +1 k = m +1
(7.81)
1 ⎛ m n ⎞
M red
fr
= ⎜ ∑ F
ωm1 ⎜⎝ j=i+1 j
fr ⋅ V j + ∑ M fr k ⋅ ω ⎟
k⎟
k = m +1 ⎠
75
..
Momentul rezistent redus al forţelor de inerţie al lanţului cinematic „i+1 n” se
n
2 ∑ E Cj
j=i +1
M red = J red ⋅ ε m J red = (7.82)
in ω2m
unde: Jred - momentul de inerţie masic redus se determină din condiţia ca energia
(arborele de reducere).
n m 1 n 1
∑ E Cj = ∑ m j ⋅ VCj2 + ∑ J Ck ⋅ ω2k (7.83)
j = i +1 j = i +1 2 k = m +1 2
ω
ωreg
tacc tfr t
T
ωm
εm = (7.85)
kT
unde k < 1 exprimă ponderea tacc, respectiv tfr, în timpul total, respectiv:
t acc = t fr = kT (7.86)
Ψj
T= (7.87)
(1 − 2k ) ⋅ ωk reg
n
Pred = Fred ⋅ Vm =
g g
∑ G j ⋅ VC j ⋅ cos α j
j=i +1
(7.89)
1 n
Fred
g
=
Vm
∑ G j ⋅ VC j ⋅ cos α j
j=i +1
77
unde: Gj – forţa de greutate a elementului j;
VCj – viteza centrului de greutate al elementului j;
αj – unghiul de presiune.
j r
VCj
Cj
mj
αj
r
G Cj
m n
Pred
fr
= Fred
fr
⋅ Vm = ∑ Ffr ⋅ Vj +
j
∑ M fr ⋅ ωk
k
j=i +1 k = m +1
(7.90)
1 ⎛ m n ⎞
Fred = ⎜⎜ ∑ Ffr ⋅ Vj + ∑ M fr ⋅ ωk ⎟⎟
fr Vm1 ⎝ j=i+1 j k = m +1
k
⎠
n
2 ∑ E Cj
j=i +1
Fred = m red ⋅ a m m red = (7.91)
in Vm2
unde: mred - masa redusă se determină din condiţia ca energia cinetică înmagazinată
V
Vreg
tacc tfr t
T
Vm
am = (7.94)
kT
unde k < 1 exprimă ponderea tacc, respectiv tfr, în timpul total, respectiv:
t acc = t fr = kT (7.95)
hj
T= (7.96)
(1 − 2k ) ⋅ Vj reg
unde: h – cursa liniară a mişcării relative a elementului în mişcare de translaţie.
79
c) Determinare momentului de frânare
ω
ωm
t12 t2 t
pune condiţia ca pe durata frânării viteza unghiulară să scadă la zero în momentul t2.
1
E C = J red ⋅ ω2m (7.97)
2
t2 t2
sau E C = ∫ M red ⋅ dϕ = M red ∫ dϕ (7.98)
t 12 t 12
Pentru alegerea frânei se calculează momentul sau forţa de frânare care trebuie
ωm ωm
M fr = M fr Ffr = M fr (7.104)
red ω red V
fr fr
80
d) Determinare forţei de frânare
V
Vm
t12 t2 t
1
E C = m red ⋅ Vm2 (7.105)
2
t2 t2
sau E C = ∫ Fred ⋅ ds = Fred ∫ ds (7.106)
t 12 t 12
Pentru alegerea frânei se calculează momentul sau forţa de frânare care trebuie
Vm Vm
M fr = Ffr Ffr = Ffr (7.112)
red ωfr red Vfr
82
8. COMANDA ŞI CONTROLUL ROBOŢILOR
SISTEM DE PLATFORMĂ D
APARATE DE ENERGIZARE MOBILĂ
MASURĂ A FLUIDULUI
I
U
SISTEM DE CONDUCERE
Sistemul mecanic este compus din mecanisme, care asigură mişcarea efectorului
mecanic.
83
Sistemul de energizare a fluidului se utilizează la roboţi în cazul sistemelor de
informaţii (senzori culeg informaţii care nu sunt legate de deplasări – provenite din
dispozitivului de ghidare.
programate;
programator, care de cele mai multe ori a folosit dispozitivul de ghidare şi sistemul de
arhivare a programului.
Sarcinile sistemului de comandă sunt realizate de cele două componente ale sale:
b) subsistemul software.
componente permiţând:
Nivel Execuţia
de bază mişcării
1 2 6
precizie prin care trece traiectoria punctului caracteristic între punctul START şi
controlate digital.
ataşat bazei robotului sau a efectorului final este mai uşor de sesizat de către
ataşat efectorului final, mişcările sunt relative deoarece originea T – tool point a
(având originea la baza robotului sau la efectorul final). Acest lucru simplifică
joystick – ul. Pentru a exprima aceleaşi mişcări în diferite sisteme de coordonate sunt
generalizat (de exp. la programarea prin instruire), atunci se poate determina în mod
de către robot de la operatorul uman sub formă de program, memorarea acestor sarcini,
Z
M13
M12 M2
M11
M1
M1k ΔZ
ΔX C
M
M1 ’ M1’’
ΔY
B
X
A
b1) comanda punct cu punct asincronă – PTP asincronă, este cel mai vechi şi cel
şi sudare în puncte. În acest caz se specifică doar distanţa până la punctul ţintă şi
b2) comanda punct cu punct sincronă – PTP sincronă, îi este caracteristică faptul
că toate axele îşi încep mişcarea şi o termină în acelaşi timp. În acest caz se
b3) comanda multipunct – MP, este tot o comandă de tip PTP, însă numărul
punctelor impuse pe traiectorie este mult mai mare. La comanda MP, pe lângă
ti+1 – ti să se parcurgă cursele xi+1 – xi, yi+1 – yi şi zi+1 – zi, între punctele de precizie
Mi(xi, yi, zi) şi Mi+1 (xi+1, yi+1, zi+1). Aceste puncte de precizie sunt memorate
precizie nu este definită. Această comandă este folosită pentru roboţi utilizaţi la
cazul unor aplicaţii de sudare cu arc electric, tăiere cu jet de apă sau de laser,
⎧F( x , y, z) = 0
⎨ (8.3)
⎩Φ ( x , y, z) = 0
91
ceea ce impune corelarea mişcărilor relative ale cuplelor cinematice conducătoare.
Dacă la momentul tj punctul caracteristic trebuie să fie în poziţia Mj(xj, yj, zj),
⎧ Δx 1 j = x j − x 1
⎪
⎨Δy1 j = y j − y1 (8.4)
⎪
⎩ Δz 1 j = z j − z 1
către acesta, el fiind sau nu asistat de senzori / traductoare. Dacă operatorul uman se
Comanda manuală se poate realiza fie direct fie prin metoda master – slave.
Este asemănătoare cu programarea „on line” prin instruire a unui robot comandat
automat. Ea se realizează prin acţionarea de către operatorul uman a unor butoane,
întrerupătoare sau manete (joy – stick), care comandă direct motoarele de acţionare
ale cuple lor cinematice conducătoare. Toate butoanele, întrerupătoarele sau manetele
se montează pe un panou, care constituie interfaţa om – maşină.
Transmiterea la distanţă a comenzilor manuale se poate realiza prin:
⇒ cabluri / conducte de alimentare cu energie a motoarelor sistemului de acţionare;
92
⇒ unde radio prin emiţătoare / receptoare radio;
⇒ biocurenţi prelevaţi de la operatorul uman cu deficienţe fizice în cazul protezelor
sau ortezelor.
b) Comanda manuală copiere.
Comanda manuală directă este dificilă, deoarece supune operatorul uman la controlul
simultan aşi coordonat a unui număr mare de semnale şi informaţii. Comanda manuală
prin copiere constă în comandarea de către operatorul uman a unui lanţ cinematic identic
master”, iar robotul este un „ lanţ slave”. Instalaţiile master-slave se mai numesc şi „
Flexibilitatea şi productivitatea unui robot industrial este legată de faptul că sistemul său
Programarea robotului poate fi „on – line” (programare apropiată de robot) şi „off – line”
Programarea „on – line” este cea mai răspândită. Programarea mişcării se face prin
care s-a folosit programarea Playback se face în modul multipunct MP. Dezavantajul constă
Programarea Teach – in – programatorul conduce efectorul final spre situările marcate ale
Parametrii de mişcare ca: viteza, acceleraţia, precizia de atingerea a unui punct şi tipul
interpolării între două situări memorate, sunt introduşi de programator în faza de editare a
94
programului. După editare urmează faza de compilare, în care programul editat este
transformat într-un cod binar, perceput de sistemul de comandă. Tot în această fază se
robotului.
Cele mai des utilizate legi de mişcare sunt cele cu „profil de viteză”, „polinomiale” şi
„polinomiale cu racordări”.
x11
x1
t1 t11 t22 t2 t
V
V12
1 1
x 11 = a 1 ⋅ ( t 11 − t 1 ) 2 = x 11 = a ⋅ k 2 t 22
2 2
x 22 = V12 ( t 22 − t 11 ) = V12 (1 − 2 k ) t 2
( t 22 − t 11 ) = t 2 − ( t 11 − t 1 ) − ( t 2 − t 22 ) = (1 − 2 k ) t 2
1 1
x 2 = V12 ( t 2 − t 22 ) − a 2 ⋅ ( t 2 − t 22 ) 2 = V12 kt 2 − a ⋅ k 2 t 2 (9.2)
2 2
1 1
x 12 = x 11 + x 22 + x 2 = a ⋅ k 2 t 2 + V12 (1 − 2 k ) t 2 + V12 kt 2 − a ⋅ k 2 t 2 =
2 2
= V12 (1 − k ) t 2
x 12 x 12
k opt = 1 − =1−
V12 t 2 Vmax t 2
Se obţine amax din expresia:
2 x11 x12 − x 22 x12 − Vmax (1 − 2k opt ) t 2
a max = 2
x11 = x 2 = =
k opt t 22 2 2
(9.3)
x12 − Vmax (1 − 2k opt ) t 2
a max = 2
k opt t 22
F( t ) = C 0 + C1t + C 2 t 2 + L + C n −1 t n −1 + C n t n
F′( t ) = C1 + 2C 2 t + 3C 3 t 2 L + (n − 1)C n −1t n −2 + nC n t n −1 (9.4)
F′′( t ) = 2C 2 + 6C 3 t 2 L + (n − 2)(n − 1)C n −1t n −3 + n (n − 1)C n t n −2
Pentru trasarea legii de mişcare de ordinul zero se impun N perechi de valori, unde N
∀ t = t 1 = 0 F( t 1 ) = C 0 = 0 F′( t 1 ) = C1 = 0 F′′( t 1 ) = 2C 2 = 0
(9.5)
∀ t = t2 F( t 2 ) = x12 F′( t 2 ) = 0 F′′( t 2 ) = 0
98
Pentru N = 6 condiţii iniţiale impuse rezulta n = 5 gradul poligonului, adică:
F( t ) = C 3 t 3 + C 4 t 4 + C 5 t 5 (9.6)
Din a doua condiţie pusă în relaţiile (9.6) se obţine sistemul de 3 ecuaţii cu 3 necunoscute:
⎧ 3 4 5 x12
⎪F( t 2 ) = C 3 t 2 + C 4 t 2 + C 5 t 2 = x12 C 3 = 10
⎪ t 32
⎪⎪ x12
⎨F′( t 2 ) = 3C 3 t 2 + 4C 4 t 2 + 5C 5 t 2 = 0
2 3 4
⇒ C 4 = −15 (9.7)
⎪ t 42
⎪ x12
⎪F′′( t 2 ) = 6C 3 t 2 + 12C 4 t 2 + 20C 5 t 2 = 0
2 3
C5 = 6
⎪⎩ t 52
3 4 5
⎛ t ⎞ ⎛ t ⎞ ⎛ t ⎞
F( t ) = −10 x12 ⎜⎜ ⎟⎟ − 15x12 ⎜⎜ ⎟⎟ + 6 x12 ⎜⎜ ⎟⎟ (9.8)
⎝ t2 ⎠ ⎝ t2 ⎠ ⎝ t2 ⎠
x x
xj Mj
Δxj
xj’
Mj’
Mj Mi’
Mi xi’ Δxi
xi Mi
t ti tj t
V V
Vij
ti tj t t
a) b)
Fig. 9.2 Legea de mişcare cu profil de viteză o funcţie polinomială – a) şi
aproximarea cu segmente de dreaptă – b)
99
În cazul în care profilul vitezei nu este trapezoidal, ci o funcţie polinomială sau o funcţie
se obţine dacă:
de aproximare, câte una pentru fiecare grad de mobilitate al robotului, iar aceste funcţii
fiecare punct de precizie reclamă trei condiţii iniţiale (poziţie, viteză şi acceleraţie)
traiectorie prin n puncte sunt necesare n-1 funcţii polinomiale de aproximare: 2 funcţii
segmentele intermediare.
100
a) Pentru două puncte de precizie intermediare ale traiectoriei, Mk şi Mk+1
F( t ) = C 0 + C1t + C 2 t 2 + C 3 t 3 t ∈ [t k = 0, t k +1 ] (9.10)
F”(tk+1) F”(tk+2)
F(t) Mk+2
Mk+1
Mk
0 ≤ t ≤ t k +1 0 ≤ t ≤ t k + 2
tk tk+1 tk+2
momentele tk=0 şi tk+1, iar F’k şi F’k+1 reprezintă vitezele cuplei cinematice
F′( t ) = C1 + 2C 2 t + 3C 3 t 2 (9.12)
Înlocuind condiţiile iniţiale din relaţia (9.11) în relaţiile (9.10) şi (9.12) se obţine:
⎧⎪F( t k +1 ) = Fk +1 = Fk + Fk′ t k +1 + C 2 t 2k +1 + C 3 t 3k +1
⎨ (9.14)
⎪⎩F′( t k +1 ) = Fk′ +1 = Fk′ + 2C 2 t k +1 + 3C 3 t 2k +1
101
Rezolvând sistemul de ecuaţii (9.14) se obţine pe intervalul de timp t ∈ [t k , t k +1 ] :
1 ⎡ 3(Fk +1 − Fk ) ⎤
C2 = − 2 F ′ − F ′
t k +1 ⎢⎣ ⎥
k k +1
t k +1 ⎦
(9.15)
1 ⎡ 2(F − Fk +1 ) ⎤
C3 = 2 ⎢ k + Fk′ + Fk′ +1 ⎥
t k +1 ⎣ t k +1 ⎦
⎡ 1 0 0 0 ⎤
⎧ 0⎫ ⎢ 0
C
0 1 0 ⎥ ⎧ Fk ⎫
⎪C ⎪ ⎢ − 3 3 −2 − 1 ⎥ ⎪⎪Fk +1 ⎪⎪
⎪ 1⎪ ⎢ ⎥⋅
⎨ ⎬ = t2 t 2k +1 t k +1 ⎥ ⎨ Fk' ⎬
(9.16)
⎪C 2 ⎪ ⎢ k +1
t k +1
⎪ ⎪
⎪⎩C 3 ⎪⎭ ⎢ 2 −2 1 1 ⎥ ⎪F ' ⎪
⎢ 3 ⎥ ⎩ k +1 ⎭
⎣ t k +1 t 3k +1 2
t k +1 t 2k +1 ⎦
Se vor selecta valorile lui tk+1 pentru care punctul Mk+1 asigura o eroare de traiectorie
minimă:
⎡M 2⎤
t k +1 ∀ Φ = ⎢∑ q i ,k +1 − q i ,k ⎥ = min im (9.17)
⎣ i=1 ⎦
F′′(t k + 2 ) = 2C 2 + 6C 3 t k + 2 (9.19)
⎡t 4 2( t 3 + t 4 ) t3 0 0 L 0 0 0 ⎤
⎢0 t5 2( t 4 + t 5 ) t4 0 L 0 0 0 ⎥
⎢ ⎥
⎢0 0 t6 2( t 5 + t 6 ) t 5 L 0 0 0 ⎥⋅
⎢ ⎥
⎢M M M M M M M M ⎥
⎢⎣ 0 0 0 0 0 L t n −1 2( t n −2 + t n −1 ) t n −2 ⎥⎦
⎧
⎪ [
3 2
t 3t 4
t 3 (F4 − F3 ) + t 24 (F3 − F2 ) ] ⎫
⎪
⎧ F2 ⎫ ⎪
'
⎪
⎪ ' ⎪ ⎪
⎪⎪ F 3 ⎪ ⎪ t4t5
[
3 2
t 4 (F5 − F4 ) + t 5 (F4 − F3 )
2
] ⎪
⎪
' ⎪ ⎪ ⎪
⋅ ⎨ F4 ⎬ = ⎨
⎪ M ⎪ ⎪ t5t 6
[
3 2
t 5 (F6 − F5 ) + t 6 (F5 − F4 )
2
] ⎬
⎪
⎪ ⎪ ⎪ ⎪
⎪⎩Fn' −1 ⎪⎭ ⎪ M ⎪
⎪ 3 [
⎪⎩ t n −2 t n −1
t n −2 (Fn −1 − Fn −24 ) + t n −1 (Fn −2 − Fn −3 ) ⎪
2 2
]
⎪⎭ (9.23)
F( t ) = C 0 + C1t + C 2 t 2 + C 3 t 3 + C 4 t 4 (9.25)
F”(t2) F”(t0) M3
F2(t)
M2
M1 F1(t)
0 ≤ t ≤ t2 0 ≤ t ≤ t k +1
t1 t2 t3
⎧F( t 2 ) = F1 + C 3 t 32 + C 4 t 42 = F2
⎪⎪
⎨F′( t 2 ) = 3C 3 t 2 + 4C 4 t 2 = F2′
2 3
(9.27)
⎪
⎪⎩F′′( t 2 ) = 6C 3 t 2 + 12C 4 t 2 = F2′′
2
4 1
C3 = (F2 − F1 ) − F2′
t 32 t 22
(9.28)
−3 1
C 4 = 4 (F2 − F1 ) + 3 F2′
t2 t2
F”(tn-1) F”(tn)
Mn
Fn-1(t) Fn(t)
Mn-1
Mn-2
0 ≤ t ≤ t n −1 0 ≤ t ≤ tn
tn-2 tn-1 tn
1
C2 = (6Fn − 6 Fn −1 − 3Fn′ −1t n )
t 2n
1
C3 = (− 8Fn + 8 Fn −1 + 3Fn′ −1t n ) (9.31)
t 3n
1
C4 = (3Fn − 3 Fn −1 − Fn′ −1t n )2
t 4n
[ ]
Pentru determinarea matricei vitezelor F′ se impune condiţia de continuitate a legii
prin derivata a doua a funcţiei polinomiale de gradul patru - vezi relaţia (9.25):
F′′(t ) = 2C 2 + 6C 3 t (9.34)
2 ⎡ 3(F3 − F2 ) ⎤
F”(0) = ⎢ − 2F2′ − F3′ ⎥ (9.36)
t3 ⎣ t3 ⎦
Continuitatea legii de mişcare de gradul doi (în acceleraţie constantă)în punctul M2,
⎛2 3⎞ 1 6 3
⎜⎜ + ⎟⎟F2′ + F3′ = 2 (F2 − F1 ) + 2 (F3 − F2 ) (9.38)
⎝ t3 t2 ⎠ t3 t2 t3
punctul de precizie Mn-1, este obţinută din relaţiei (9.34) pentru t = tn-1:
F′′(t n −1 ) = 2C 2 + 6C 3 t n −1 (9.39)
au expresia:
106
1 ⎡ 3(Fk + 2 − Fk +1 ) ⎤
C2 = − 2 F′ − F′
t k + 2 ⎢⎣
k +1 k+2 ⎥
t k +2 ⎦
(9.15a)
1 ⎡ 2(Fk +1 − Fk + 2 ) ⎤
C3 = ⎢ + Fk′ +1 + Fk′ + 2 ⎥
t 2k + 2
⎣ t k+2 ⎦
ce se particularizează pentru k = n – 1:
1 ⎡ 3(Fn −1 − Fn −2 ) ⎤
C2 = − 2 F′ − F′
t n −1 ⎢⎣
n −2 n −1 ⎥
t n −1 ⎦
(9.40)
1 ⎡ 2(F − Fn −1 ) ⎤
C 3 = 2 ⎢ n −2 + Fn′ −2 + Fn′ −1 ⎥
t n −1 ⎣ t n −1 ⎦
6 6 2 4
F′′(t n −1 ) = Fn −2 − Fn −1 + Fn′ −2 + Fn′ −1 (9.41)
t 2n −1 t 2n −1 t n −1 t n −1
doua a funcţiei polinomiale de ordinul patru, prin a treia ecuaţie din relaţia (9.30):
F′′(0 ) = 2C 2 (9.42)
2
F′′(0 ) = (6Fn − 6 Fn −1 − 3Fn′ −1t n ) (9.43)
t 2n
se obţine:
1 ⎛ 2 3⎞ 3 6
Fn′ −2 + ⎜⎜ + ⎟⎟Fn′ −1 = 2 (Fn −1 − Fn −2 ) + 2 (Fn − Fn −1 ) (9.45)
t n −1 ⎝ t n −1 t n ⎠ t n −1 tn
107
Combinând relaţiile (9.38) cu (9.45) cu relaţia (9.23), prin completarea primei linii cu
⎡2 3 1 ⎤
⎢t + t t3
0 0 0 L 0 0 0 ⎥
⎢ 3 2
⎥
⎢ 4 t 2(t 3 + t 4 ) t3 0 0 L 0 0 0 ⎥
⎢ 0 t5 2(t 4 + t 5 ) t4 0 L 0 0 0 ⎥
⎢ ⎥
⎢ 0 0 t6 2(t 5 + t 6 ) t 5 L 0 0 0 ⎥
⎢ M M M M M M M M ⎥
⎢ ⎥
⎢ 0 0 0 0 0 L t n −1 2(t n −2 + t n −1 ) t n −2 ⎥
⎢ 1 2 3⎥
⎢ 0 0 0 0 0 L 0 + ⎥
⎣ t n −1 t n −1 t n ⎦
⎧ 3 6 ⎫
⎪ (F 3 − F 2 ) + ( F 2 − F1 ) ⎪
t 32 t 22
⎪ ⎪
⎧ F2 ⎫ ⎪
'
⎪
3
[ t 3 (F4 − F3 ) + t 4 (F3 − F2 )
2 2
] ⎪
⎪
⎪ ' ⎪ t t
3 4
F ⎪ ⎪
⎪ 3 ⎪
⎪ F4 ⎪ ⎪
'
t t
[
3 2
t 4 (F5 − F4 ) + t 5 (F4 − F3 )
2
] ⎪
⎪ ⎪
⎪ ⎪ 4 5 ⎪⎪
⋅ ⎨ F5' ⎬ = ⎨
⎪ M ⎪ ⎪ t5t 6
[
3 2
t 5 (F6 − F5 ) + t 62 (F5 − F4 )] ⎬
⎪
⎪ ⎪ ⎪ ⎪
⎪Fn −2 ⎪ ⎪
' M ⎪
⎪ ' ⎪ ⎪ 3 [ t (F − Fn −24 ) + t n −1 (Fn −2 − Fn −3 ) ⎪
2
⎩ Fn −1 ⎭ ⎪ t n −2 t n −1 n −2 n −1
2
]⎪
⎪ 3 6 ⎪
⎪ ( F n −1 − Fn −2 ) + (F n − F n −1 ) ⎪
⎪⎩ t 2n −1 t 2n ⎪⎭
(9.46)
Rezolvând sistemul matriceal al relaţiei (9.46)se obţin toate valorile matricei vitezei
[F′ ], definind astfel toate funcţiile polinomiale de gradul trei şi patru utilizate pentru
aproximare traiectoriei prescrise în planul mişcării.
Extinzând metoda prezentată pentru toate cele M cuple cinematice conducătoare ale
S v = max j ⎢
( )
⎡ max i Fij′ (t ) : 0 ≤ t ≤ t i+1 ⎤
⎥ (9.47)
⎢⎣ Vij ⎥⎦
conducătoare j.
Sa = max j ⎢
( )
⎡ max i Fij′′(t ) : 0 ≤ t ≤ t i+1 ⎤
⎥ (9.48)
⎢⎣ a ij ⎥⎦
conducătoare j.