Documente Academic
Documente Profesional
Documente Cultură
INDUSTRIALI
CUPRINS
Bibliografie 246
1. NOŢIUNI GENERALE PRIVIND ROBOŢII
INDUSTRIALI
I. Caracteristici fizice
1.Manipularea
A. Corpul.
a. Tipuri
b. Gama maximă a mişcarilor posibile
( GMMP )
B. Braţul
a. Tipul
b. Numărul de braţe
c. GMMP.
C. Incheietura
a. Tipul
b. GMMP
D. Endefectorul
a. Tipul
b. GMMP
2. Dimensiunile corpului.
A. Corpul principal
B. Aria pardoselii necesare.
3. Forţa şi puterea
A. Greutatea încãrcãturii braţului
B. Puterea necesarã.
4. Armonie.
5. Suprasolicitare/solicitare sub posibilităţi. Performanţe.
6. Restricţii ambientale.
A. Temperatura ambientalã.
B. Umiditatea
C.Fluctuaţii.
II. Caracteristici mentale şi comunicative.
1. Capacitatea de calcul
2. Memoria
3. Inteligenţa.
4. Puterea de a raţiona.
5. Perceperea semnalelor.
6. Coordonarea creier-muşchi.
7. Necesitaţi sociale şi psihologice.
8. Pregătirea
9. Sensibilitatea.
10. Comunicãri între operatori.
11. Viteza de reacţie.
12. Autodiagnosticarea.
13. Specificitatea individualã.
III. Consideraţii energetice.
1. Puterea cerută.
2. Accesorii
3. Oboseală.
4. Timpul de muncă.
5. Durata estimată de viaţă.
6. Eficienta energetică.
După cum se observă diagrama conţine trei tipuri principale de
caracteristici de lucru :
- caracteristici fizice.
- caracteristici mentale şi comunicative.
- caracteristici energetice.
Vom studia în cele ce urmează diagrama “ Om - Robot “ pentru
caracteristicile fizice.
HARTA “OM-ROBOT”
Detalii parţiale ale hãrţii caracteristicilor fizice
300
200
100
300
200
100
0
100 200 300 400 500 600
Fig. 1.9. Răsucirea încheieturii [ grade ]
600
viteza
grade/sec
500
400
300
200
100
0
100 200 300 400 500 600
400
300
200
100
0
100 200 300 400 500 600
Fig. 1.11. Translaţia braţului pe orizontală [ grade ]
600
viteza
500 mm/sec
400
300
200
100
0
100 200 300 400 500 600
viteza
500 mm/sec
400
300
200
100
0
100 200 300 400 500 600
Fig.1.13. Rotaţia braţului stânga-dreapta [ mm ]
600
viteza
mm/sec
500
400
300
200
100
0
100 200 300 400 500 600
Fig. 1.14. Translaţia corpului ( coloanei ) [ mm ]
600
viteza
mm/sec
500
400
300
200
100
unde ,
N = numărul observaţiilor
X = cursa medie maximă în “mm” sau “grade”
Y = viteza liniară sau unghiulară medie maximă
DCM = domeniul curselor maxime
DVM = domeniul vitezelor maxime
2. CINEMATICA ROBOŢILOR INDUSTRIALI
z2 y2
x2
Rot(x,α)
x2 z1
Y0 y1
Trans(y,d) X0
x1
X0
⎡ d4 ⎤
⎢ − r 4Sα 4⎥
=⎢ ⎥ (2.22)
⎢ r 4Cα 4 ⎥
⎢⎣ 1 ⎥⎦
unde , cu Ci s-a notat Cos(θi) , iar cu Şi , Sin(θi).
⎡ d 4 ⎤ ⎡ f 1⎤
⎢ − r 4Sα 4⎥ ⎢ ⎥
f2
2
P4 = T3 ⎢
2 ⎥= ⎢ ⎥ (2.23)
⎢ r 4Cα 4 ⎥ ⎢ f 3⎥
⎢⎣ 1 ⎥⎦ ⎢⎣ 1 ⎥⎦
Utilizând forma generală a lui 2T3 , putem determina pe fi :
f1(θ3) = C3d4+S3Sα4r4+d3
f2(q3) = Cα3(S3d4-C3Sα4r4)-Sα3(Cα4r4+r3) (2.24)
f3(q3)= Sα3(S3d4-C3Sα4r4)+Cα3(Cα4r4+r3)
⎡ f 1⎤ ⎡ g1⎤
⎢ f 2⎥ ⎢ g2⎥
1
P4 = 1T2 2P4 = 1T2 ⎢ ⎥ = ⎢ ⎥ (2.25)
⎢ f 3⎥ ⎢ g3⎥
⎢ ⎥ ⎢ ⎥
⎣1⎦ ⎣1⎦
unde :
g1( θ3,q3 ) = F1(θ3,q3) + d2
g2( q2,q3 ) = Cα2F2( q2,q3 )-Sα2F3( r2, q3 ) (2.26)
g3( q2,q3 ) = Sα2F2( q2,q3 ) + Cα2F3( r2,q3 )
cu :
F1(θ3,q3 ) = C2f1 - S2f2
F2(q2,q3 ) = S2f1 + C2f2 (2.27)
F3(q2,q3 ) = f3 + r2
Insfârşit , înmulţind la stânga cu 0T1 , obţinem :
⎡C1 − S1 0 0 ⎤ ⎡ g1⎤
⎢ s1 C1 0 0 ⎥ ⎢ g2⎥
0
P4 = 0T1 1P4 = ⎢ ⎥ ⎢ ⎥ (2.28)
⎢0 0 1 r1⎥ ⎢ g3⎥
⎢ ⎥ ⎢ ⎥
⎣0 0 0 1⎦ ⎣ 1 ⎦
Cum însă
⎡ Px ⎤
⎢ Py ⎥
0
P4 = ⎢ ⎥
⎢ Pz ⎥
⎢ ⎥
⎣1⎦
rezultă coordonatele punctului caracteristic manipulat faţă de
sistemul de coordonate fix :
Px = C1g1 - S1g2
Py = S1g1 + C1g2 (2.29)
Pz = g3 + r1
T1(1,2) = -C5S6-S5Cα6C6
T1(2,2) = -Cα5S5S6+(Cα5C5Cα6-Sα5Sα6)C6 (2.36)
T1(3,2) = -Sα5S5S6+(Sα5C5Cα6+Cα5Sα6)C6
T1(1,3) = S5Sα6
T1(2,3) = -Cα5C5Sα6-Sα5Cα6
T1(3,3) = -Sα5C5Sα6+Cα5Cα6
U2(1,1) = (C5C4-Cα5S5S4)Fx+(C5S4+Cα5S5C4)Fy+Sα5S5Fz
U2(2,1) = (-S5C4-Cα5C5S4)Fx-(S5S4-Cα5C5C4)Fy+Sα5C5Fz
U2(3,1) = Sα5S4Fx-Sα5C4Fy+Cα5Fz
Expresiile coloanei a douã se obţin plecând de la cele ale
coloanei întâi înlocuind (Fx,Fy,Fz) cu (Gx,Gy,Gz) iar cele ale
coloanei a treia înlocuind (Fx,Fy,Fz) cu (Hx,Hy,Hz).
Elementele matricei membrului drept au forma :
T2(1,1) = C6
T2(2,1) = Cα6S6
T2(3,1) = Sα6S6
T2(1,2) = -S6
T2(2,2) = Cα6C6
T2(3,2) = Sα6C6
T2(1,3) = 0
T2(2,3) = -Sα6
T2(3,3) = Cα6
θ = [ θ1,....,θ6 ]T (2.48)
Vom calcula matricea Jacobi pentru f(θ) dată de ecuaţia (2.47).
J(θ) = δf(θ)/δθ
Calculăm separat Jacobianul lui fR,fS,fT faţã de θ.
Matricea δfR/δθ se calculează cu uşurinţã observând cã fiecare
Qi este o funcţie numai de “θ”`. Diferenţiând ecuaţia (2.46) faţă
de θi, obţinem :
δfR δQi
⎯⎯⎯ = 2vect (Q1.....Qi-1⎯⎯ Qi+1....Q6 (2.49)
δθ i δθi
pentru i = 1,...,6.
Observăm ca :
δQi
Q1.....Qi-1 ⎯⎯ Qi+1....Q6 = Q1.....Qi-1E(Q1....Qi-1)T(2.50)
δθi
0 -1 0
Notăm P= Q1...Q6 şi E = 1 0 0
0 0 0
Deoarece E este antisimetrică rezultă că şi
Q1....Qi-1E(Q1....Qi-1)T este antisimetrică.
δfR
⎯⎯ = (1 tr P -P)Q1...Qi-1 e (2.51)
δθi
unde i=1,..,6 e = [0,0,1]T, 1 = I3 şi e=vect(E).
în final obţinem : δfR/δθ = (1 trP-P)A (2.52)
unde A este o matrice 3x6 definită astfel :
A=[ e,Q1e,...,Q1...Q5e] (2.53)
Din ecuaţia : [δ tr(P)]/δθi = tr(δP/δθi) obţinem :
δfS/δθ = -2 qT A
unde q = vect(P) (2.54)
Vom calcula în cele ce urmează δfT/δθ.
δfT/δθ = δr1/δθ (2.55)
unde r1= a1 + [a2]1 +...+ [a6]1 (2.56)
Ţinând cont de relaţia : [ai]1 = wi+1 x [ai]1,prin derivarea relaţiei
(2.56) obţinem :
r1 = a1 + [a2]1+... +[a6]1 (2.57)
unde wi+1 este viteza unghiulară a elementului `i+1` faţă de bază
wi+1 = θ1e+θ2Q1e +...+θiQ1...Qi-1e (2.58)
Substituind ecuaţia (2.58) în (2.57) obţinem :
r1 = B θ (2.59)
unde B este o matriţã 3x6 definita astfel :
B = [e x r1,Q1e x r2,....,Q1...Q5e x r6] (2.60)
Astfel δfT /δθ = B (2.61)
Obţinem astfel matricea Jacobi ca o matrice 7 x 6
(1 tr P - P) A
J= -2qTA (2.62)
B
Y2 X3 X4 O5 5
Z2 X2 O6 6
O3
2
O2
Z1
1 Y1
X1
O1
Zo
Yo
Oo
Fig.2.2.Schema cinematică
Xo a robotului PUMA 600
Notaţiile Hartemberg-Denavit ale robotului PUMA 600 sunt :
i αi di ri θi
1 0 0 0 0
2 -90 0 -0.149 0
3 0 0.432 0 0
4 90 0.02 -0.432 0
5 -90 0 0 0
6 90 0 -0.056 0
Considerãm cã traiectoria este descrisă în spaţiul articulaţiilor
de următoarele relaţii :
θi(t) = π/6+π/30 t t ∈[0,3 sec.] i=1,2,..6 (2.67)
Faţă de sistemul de coordonate fix, coordonatele unui
punct, de exemplu articulaţia “4” la momentul tk se determină
rezolvând problema cinematică directă. Matricile de
transformare omogene ale robotului PUMA 600 au forma :
⎡C1 − S1 0 0⎤
⎢ S1 C1 0 0⎥
0
T1 = ⎢ ⎥ (2.68)
⎢0 0 1 0⎥
⎢ ⎥
⎣0 0 0 1⎦
⎡ C2 − S 2 0 0 ⎤
⎢ 0 0 1 −0149. ⎥
1
T2 = ⎢ ⎥ (2.69)
⎢− S 2 −C 2 0 0 ⎥
⎢ ⎥
⎣ 0 0 0 1 ⎦
⎡C 3 − S 3 0 ⎤
⎢ S 3 C 3 0 0⎥
2
T3 = ⎢ ⎥ (2.70)
⎢0 0 1 0⎥
⎢ ⎥
⎣0 0 0 1⎦
0
T3 = 0T1 1T2 2T3 (2.71)
⎡ X 4⎤ ⎡ x⎤
⎢ Y4 ⎥ ⎢ y⎥
⎢ ⎥ = 0T3 ⎢ ⎥ (2.71)
⎢ Z4 ⎥ ⎢z⎥
⎢ ⎥ ⎢ ⎥
⎣ 1 ⎦ ⎣1⎦
Pentru robotul Puma relaţia de mai sus devine :
⎡ X 4⎤ ⎡−0,02⎤
⎢ Y4 ⎥ ⎢ 0,432 ⎥
⎢ ⎥ = 0T3 ⎢ ⎥ (2.72)
⎢ Z4 ⎥ ⎢ 0 ⎥
⎢ ⎥ ⎢ ⎥
⎣ 1 ⎦ ⎣ 1 ⎦
Rezolvând sistemul (4.7) , rezultă :
X4 = 0,432Cos2θi(t)+0,149Sinθi(t)-0,864Cos2θi(t)Sinθi(t)-
0,02[Cos3θi(t)-Cosθi(t)Sinθi(t)]
Y4 = -0,149Cosθi(t)+0,432Cosθi(t)Sinθi(t)-
0.864Cosθi(t)Sin θi(t)-0,02[Cos2θi(t)Sinθi(t)-Sin3θi(t)]
2
Z4 = -0,432Sinθi(t)+0.04Cosθi(t)Sinθi(t)+0,432[-
Cos2θi(t)+Sin2θi(t)]
Obţinem astfel coordonatele operaţionale ( externe ) în
funcţie de cele articulare (interne) , care în acelasi timp
reprezinta şi ecuaţiile parametrice ale traiectoriei articulaţiei `4`.
Curba a cărei reprezentare parametrică este redată mai sus poate
fi vizualizată utilizând facilitatile oferite de Mathematica 2.1.
Fig.2.3. Reprezentarea traiectoriei articulaţiei `4` , pe intervalul
0-3 secunde.
al roboţilor industriali
⎡ Fx Gx Hx ⎤ ⎡C 4C5 − C 4C5 − S 4⎤
⎢ Fy Gy Hy ⎥⎥ = ⎢⎢ S 4C5 − S 4 S 5 C 4 ⎥⎥ (2.81)
⎢
⎢⎣ Fz Gz Hz ⎥⎦ ⎢⎣ − S 5 − C5 0 ⎥⎦
D( x , y , z )
V= ∫∫∫
V D ( u , v , w)
dudvdw (2.85)
în care
D(x,y,z)
⎯⎯⎯⎯
dudvdw,
se numeşte elementul de volum în coordonate (u,v,w).
De regulã V=[u1,u2] x [v1,v2] x [w1,w2].
În aceste condiţii expresia (2.85) devine :
u2 v2 w2
D( x , y , z )
V= ∫u1
du
v1
∫ dv
w1
∫
D ( u , v , w)
dw (2.86)
u2 v2 w2
D( x , y , z )
V= ∫
u1
du
v1
∫ dv
w1
∫D ( u , v , w)
dw (2.94)
0 ⎡Ai Pi ⎤
Tni = ⎢ (2.96)
⎣ 0 1 ⎥⎦
0 ⎡ Af Pf ⎤
Tnf = ⎢ (2.97)
⎣ 0 1 ⎥⎦
0 ⎡ A(t ) P(t ) ⎤
Tn(t) = ⎢ (2.98)
⎣ 0 1 ⎥⎦
qi = qi(t) (2.99)
y = v(t) (2.100)
z = w(t)
C1g1-S1g2 = K1(q1,q2,q3)
g3+r1 = K3(q1,q2,q3)
Punctul caracteristic se deplaseazã de-a lungul unei
drepte descrisã de ecuaţia (2.99). Pentru ca punctul caracteristic
sã aparţinã curbei impuse este necesar ca :
Px = u(t)
Py = v(t) (2.106)
Pz = w(t)
K1(q1,q2,q3) = u(t)
K3(q1,q2,q3) = w(t)
q1 = q1(t)
q2 = q2(t) (2.108)
q3 = q3(t)
t0<t1<t2<......<tm=tf (2.109)
u(t)=2(t/tm)3-3(t/tm)2 (2.117)
q1[t_]=0.493936+0.597234 t;
q2[t_]=-1.44054+0.00656 t;
q3[t_]=-0.018476+0.228319 t;
t1={{Cos[q1[t]],-Sin[q1[t]],0,0},{Sin[q1[t]],Cos[q1[t]],0,0},
{0,0,1,0},{0,0,0,1}};
t2={{Cos[q2[t]],-Sin[q2[t]],0,0},{0,0,0,-0.149},
{-Sin[q2[t]],-Cos[q2[t]],0,0},{0,0,0,1}};
t3={{Cos[q3[t]],-
Sin[q3[t]],0,0.432},{Sin[q3[t]],Cos[q3[t]],0,0},
{0,0,1,0},{0,0,0,1}};
t123[t_]=t1 . t2 . t3;
b={{-0.02,0.432,0,1}};
a=Transpose[b];
t0=t123[t] . a;
x[t_]=t0[[1]];xk[t_]=x[t][[1]];
y[t_]=t0[[2]];yk[t_]=y[t][[1]];
z[t_]=t0[[3]];zk[t_]=z[t][[1]];
ParametricPlot3D[{xk[t],yk[t],zk[t]},{t,0,1}]
u(t)=2(t/tm)3-3(t/tm)2 (2.137)
a={0,0,0.432,0.02,0,0};
b={0,-0.149,0,-0.432,0,-0.056};
al={0,-Pi/2,0,Pi/2,-Pi/2,Pi/2};
p={0.5,0.1,0.4}
f1[t3]=a[[4]] Cos[t3]+b[[4]] Sin[t3] Sin[al[[4]]]+a[[3]];
f2[t3]=Cos[al[[3]]] (Sin[t3] a[[4]]-
Cos[t3] Sin[al[[4]]] b[[4]])-Sin[al[[3]]] (Cos[al[[4]]]
b[[4]]+b[[3]]);
f3[t3]=Sin[al[[3]]] (Sin[t3] a[[4]]-Cos[t3] Sin[al[[4]]] b[[4]])+
Cos[al[[3]]] (Cos[al[[4]]] b[[4]]+b[[3]]);
Print[f2[t3]];
F1[t2_,t3_]=Cos[t2] f1[t3]-Sin[t2] f2[t3];
F2[t2_,t3_]=Sin[t2] f1[t3]+Cos[t2] f2[t3];
F3[t2_,t3_]=f3[t3]+b[[2]];
Print[F2[t2,t3]];
g1[t2_,t3_]=F1[t2,t3]+a[[2]];
g2[t2_,t3_]=Cos[al[[2]]] F2[t2,t3]-Sin[al[[2]]] F3[t2,t3];
g3[t2_,t3_]=Sin[al[[2]]] F2[t2,t3]+Cos[al[[2]]] F3[t2,t3];
Print[g3[t2,t3]];
P1[t1_,t2_,t3_]=Cos[t1] g1[t2,t3]-Sin[t1] g2[t2,t3];
P2[t1_,t2_,t3_]=Sin[t1] g1[t2,t3]+Cos[t1] g2[t2,t3];
P3[t1_,t2_,t3_]=g3[t2,t3]+b[[1]];
Print[P1[t1,t2,t3]];
H1[t1_,t2_,t3_]=f1[t3]^2+f2[t3]^2+F3[t2,t3]^2+a[[2]]^2;
H2[t1_,t2_,t3_]=f1[t3]^2+f2[t3]^2+a[[2]]^2+2 a[[2]] F1[t2,t3];
Print[H1[t1,t2,t3]];
InverseFuncţion->Automatic;
FindRoot[{P1[t1,t2,t3]==p[[1]],P2[t1,t2,t3]==p[[2]],P3[t1,t2,t3]
==p[[3]]},{t1,Pi/100},{t2,Pi/100},{t3,Pi/100}]
cosθi -sinθi 0
Qi = cosαi sinθi cosθi cosαi -sinαi
sinαi sinθi sinαi cosθi cosαi
Modulul αi ai bi θi iniţial
1 0 0 0 0
2 -90 0 -0.149 0
3 0 0.432 0 0
4 90 0.02 -0.432 0
c1(0.432c2-0.02c2c3-0.432c2s3+0.02s2s3-0.432s2c3)
[r]0 = s1(0.432c2-0.02c2c3-0.432c2s3+0.02s2s3-0.432s2c3)
-0.432s2+0.02s2c3+0.432s2s3-0.432c2+0.02c2c3+0.432c2s3
Deci :
x0 (t)= Cos(q1)(0.432Cos(q2)-0.02 Cos(q2) Cos(q3)-0.432
Cos(q2) Sin(q3)+0.02 Sin(q2) Sin(q3)-0.432 Sin(q2) Cos(q3))
y0 (t)= Sin(q1)(0.432 Cos(q2)-0.02 Cos(q2) Cos(q3)-0.432
Cos(q2) Sin(q3)+0.02 Sin(q2) Sin(q3)-0.432 Sin(q2) Cos(q3))
z0 (t)= -0.432Sin(q2)+0.02 Sin(q2) Cos(q3)+0.432 Sin(q2)
Sin(q3)-0.432 Cos(q2)+0.02 Cos(q2) Cos(q3)+0.432 Cos(q2)
Sin(q3)
∂x 0
= -Sin(q1) (0.432Cos(q2)-0.02 Cos(q2) Cos(q3)-0.432
∂q1
Cos(q2) Sin(q3)+0.02 Sin(q2) Sin(q3)-0.432 Sin(q2) Cos(q3))
∂x 0
=Cos(q1) (-0.432Sin(q2)+0.02 Sin(q2) Cos(q3)+0.432
∂q 2
Sin(q2) Sin(q3)+0.02 Cos(q2) Sin(q3)+0.432 Cos(q2) Cos(q3))
∂x 0
=Cos(q1) (0.432Cos(q2)+0.02 Cos(q2) Sin(q3)-0.432
∂q 3
Cos(q2) Cos(q3)+0.02 Sin(q2) Cos(q3)-0.432 Sin(q2) Sin(q3))
Deci :
∂x 0 ∂x 0 ∂x 0
d(x)0= dq1+ dq2+ dq3
∂q1 ∂q1 ∂q1
d(x)0=[-Sin(q1) (0.432Cos(q2)-0.02 Cos(q2) Cos(q3)-0.432
Cos(q2) Sin(q3)+0.02 Sin(q2) Sin(q3)-0.432 Sin(q2) Cos(q3))]
dq1+[ Cos(q1) (-0.432Sin(q2)+0.02 Sin(q2) Cos(q3)+0.432
Sin(q2) Sin(q3)+0.02 Cos(q2) Sin(q3)+0.432 Cos(q2)
Cos(q3))]dq2+[ Cos(q1) (0.432Cos(q2)+0.02 Cos(q2) Sin(q3)-
0.432 Cos(q2) Cos(q3)+0.02 Sin(q2) Cos(q3)-0.432 Sin(q2)
Sin(q3))] dq3
Analog se calculeaza d(y)0 şi d(z)0. Pentru o aplicatie
specifica se pot determina cu usurinta q1=q1(t) , q2=q2(t) şi
q3=q3(t) şi se introduc în relaţia de mai sus obţinindu-se valoarea
preciziei de poziţionare.
3. DINAMICA ROBOŢILOR INDUSTRIALI
δq δq
Astfel ecuaţia dinamicã a sistemului devine :
∅+∅*=0 (3.6)
Ecuaţia de mai sus este cunoscutã sub numele de ecuaţia “Kane”
Oi
ai
Zi
bi
Yi
Yi-1
Oi-1
cosθi -sinθi 0
i = [Qi]i-1 = cosαi sinθi cosαi cosθi -sinαi (3.7)
sinαi sinθi sinαi sinθi cosαi
iar vectorul translaţiei originii Oi-1 în Oi definit în coordonatele
sistemului “i-1”,este :
ai
[ai]i-1 = bi sinαi (3.8)
• bi cosαi
Versorul axei cuplei cinematice “i” este definit astfel :
[ei]i=[0,0,1]T (3.9)
ei+1
element i
element i-1
ei
Oi-1
0i+1
ai
ai+1
ρi-1 Ci
ρi
Oi
Oo
Ci-1 ci
ci-1
elementul Oi+1
elementul i-1 Oi
ai
ρi
Ci
Oi-1
di bi
ci
ρi-1
Oo
Ci-1
ci-1
(3.36)
(ii) dacă cupla cinematică “i” este de tip T, atunci :
n n
τ i= ∑
j =i
ei ⋅ mj pj = ei ∑j =i
mj pj. (3.37)
∑j =i
[ hj +sji x mj pj]i din ecuaţia (3.38) se poate calcula din
n
∑j =i
[ hj + sji x mj pj]i+1, iar termenul ∑mj[pj]i din ecuaţia (3.39 )
∑j =i
[ hj +sji x mj pj ]i = ∑
j =i +1
[ hj +(sj,i+1 +ai+1) x mj pj ]i + [hi +
n n
sii x mi pi ]i = ∑
j =i +1
[hj +sj,i+1 + mj pj ]i+[ai+1]i x ∑
j =i +1
mj[pj]i + [hi
n
+ sii x mi pi]I = Qi+1 ∑
j =i +1
[ hj + sj,i+1 x mj pj ]i+1 + ki (3.40)
cu [sii]i = [ρi]i.
în cazul calculului recursiv al termenului forţei motrice pentru
cazul cuplelor cinematice de tip T se foloseşte relaţia :
n n
∑j =i
mj [pj]i = mi [pi]i +Qi+1 ∑
j =i +1
mj [pj]i+1. (3.42)
d ∂T ∂_T
( )- = Qk (3.45)
dt ∂qk ∂ _ qk
unde ,
T - reprezintă energia cinetică a sistemului
qk - reprezintă coordonatele generalizate
k - reprezintă numărul gradelor de libertate
Qk - reprezintă forţele generalizate
Notând cu Tk energia cinetică corespunzătoare
modulului de ordin k , putem scrie :
T1 = 1/2 J(1)Δ1 q21 ;
T2 = 1/2 J(2)Δ2 q21 + 1/2 m2 q22
T3 = 1/2 J(3)Δ2 q21 + 1/2 m3 q22+ 1/2 J(3)Δ2 q23 (3.46)
T4 = 1/2 J Δ1 q 1 + 1/2 m4 q 2+ 1/2 J Δ2 q 3 +1/2 m4 q24
(4) 2 2 (4) 2
T5 = 1/2 J(5)Δ1 q21 + 1/2 m5 q22+ 1/2 J(5)Δ2 q23 +1/2 m5 q24 +1/2
m5q25
T6+7 = 1/2 J(6+7)Δ1 q21 + 1/2 (m6+m7) q22+ 1/2 J(6+7) Δ2 q23 +1/2
(m6 m7) q24 + 1/2 (m6 + m7) q25 + 1/2 J(6+7)Δ3 q26
Intrucât Δ1⊥Δ2 , Δ3⊥Δ2 , conform teoremei lui Steiner ,
există relaţiile :
J(4)Δ1 = J(4)O4,1 + m4 (q4 + l3)
J Δ1 = J(5)O5,1 + m5 [(q4 + l3)2 + (l4+q5)2]
(5)
7
+ m5 (q5 + l4 )2 + (m6 + m7 ) (q5 + l4 + l5 )2 ] q23 + ( ∑ mi ) q24
i= 4
7
+ ( ∑ mi ) q25+ J(6+7) Δ3 q26 }
i= 5
δθ1 = δq1
δθ3 = δq1+δq3
δθ6 = δq1+δq3+δq6
7 7
Q3 = M3+[( ∑
i= 5
Pi ) (q5+l4) + ( ∑ Pi ) l5 + P7l6 ] cq3
i =6
Q4 = F4
7
Q5 = F5 + ( ∑ Pi ) sq3
i= 5
Q6 = M6
h
Y
a
X
Fig.3.7.
In vederea determinării expresiei matricii tensorului de
inerţie al unui corp cilindric plin vom determina momentele de
inerţie axiale şi pe cele centrifugale prin integrarea unui element
de volum. Expresiile acestora sunt descrise de (3.55) şi (3.56).
Relaţiile de trecere de la coordonatele carteziene la cele
cilindrice , în cazul cind sistemele de axe sunt translatate sunt :
x = a + r cosθ
y = b + r cosθ (3.60)
z=z
Jacobianul transformarii este :
δx / δr δx / δθ δx / δz cosθ −r sin θ 0
J = δy / δr δy / δθ δy / δz = sin θ r cosθ 0 (3.61)
δz / δr δz / δθ δz / δz 0 0 1
Jzz = ∫ ( x ^ 2 + y ^ 2)dm (3.62)
dm = ρdV = ρ V(x,y,z) dxdydz = [j] V(r,θ,z)drdθdz (3.63)
[j] este modulul jacobianului transformării ; [j] = r
R 2 Pi H +h
Jzz = ρ ∫ ∫ ∫
0 0 h
[(b+rsinθ)2 + ( a+r cosθ)2]rdrdθdz = MR2/2 +
2 2
M(a +b ) (3.64)
Analog :
Jxx = ρ ∫∫∫ [( b+rsinθ )2+z2] rdrdθdz =
2 2 2 2
Mb +MR /4+MH /3+M(Hh+h ) (3.65)
Jyy = ρ ∫∫∫ [( a+rcosθ 2
) +z ] 2
rdrdθdz =
Ma2+MR2/4+MH2/3+M(Hh+h2) (3.66)
Jxy = ρ ∫∫∫ ( a+rcosθ ) (b+rsinθ) rdrdθdz = Mab (3.67)
Jxz = ρ ∫∫∫ ( a+rcosθ )z rdrdθdz = Ma(H+2h)/2 (3.68)
Jyz = ρ ∫∫∫ ( b+rsinθ )z rdrdθdz = Mb(H+2h)/2 (3.69)
unde , M este masa corpului.
MR2/4+MH2/3+M(Hh+h2) = E , şi -M(H+2h)/2 = A
obţinem expresia tensorului de inerţie :
⎡ E + Mb^ 2 − Mab Aa ⎤
⎢
J= ⎢ − Mab E + Ma ^ 2 Ab ⎥ (3.70)
⎥
⎢⎣ aA bA MR^ 2 / 2 + M (a ^ 2 + b^ 2) ⎥⎦
Analog se determinã tensorii de inerţie pentru :
- corpuri cilindride tubulare
- corpuri paralelipipedice
- corpuri piramidale
- corpuri conice şi tronconice
4. GENERAREA MIŞCÃRII ÎNTRE DOUÃ
PUNCTE ALE SPAŢIULUI DE LUCRU
qj
qfj
tf
qij t
qj
(qfj-qij)tf
qj
qij
tf t
qj
qj
3|Dj|/2tf
t
qj
6|Dj|ţf2
qi(t) = vm t (4.16)
Deci ,
qk (tf) = 0 (4.22)
k5 = ( 2amτ2-amtfτ+vmtf2-2vmtfτ)/2 (4.26)
[-amt2+amtft]/2+[2amτ2-amtfτ+vmtf2-2vmtfτ]/2
pentru t ∈ (tf-τ,tf]
Legea Bang-Bang
Vmax = 2|Dj|/tf
amax = 4|Dj|/tf2 (4.31)
qj
qj
qj i
tf/2 tf t
qj
2|Dj|/tf
qj
4|Dj|/tf2
Vm
Vk
τm tfm tfk t
0 ⎡Ai Pi ⎤
Tni = ⎢ (4.32)
⎣ 0 1 ⎥⎦
0 ⎡ Af Pf ⎤
Tnf = ⎢ (4.33)
⎣ 0 1 ⎥⎦
0 ⎡ A(t ) P(t ) ⎤
Tn(t) = ⎢ (4.34)
⎣ 0 1 ⎥⎦
La nivelul coordonatelor articulare qi ( i=1,2,...,n ) mişcarea este
descrisă prin ecuaţii de tipul :
qi = qi(t) (4.35)
x = u(t)
y = v(t) (4.36)
z = w(t)
C1g1-S1g2 = K1(q1,q2,q3)
g3+r1 = K3(q1,q2,q3)
Px = u(t)
Py = v(t) (4.42)
Pz = w(t)
K1(q1,q2,q3) = u(t)
K3(q1,q2,q3) = w(t)
q1 = q1(t)
q2 = q2(t) (4.44)
q3 = q3(t)
Cea de a doua modalitate de a determina relaţiile (9.39) este prin
interpolare. Pe traiectoria impusă (exprimată de preferinţă sub
forma parametrică ) se aleg un număr suficient de mare de
puncte “m” , corespunzătoare unei diviziuni a timpului total de
manipulare tf :
t0<t1<t2<......<tm=tf (4.45)
START
SFARSIT
alf={0,-Pi/2,-Pi/2,0,Pi/2,-Pi/2}
tet={0,Pi/2,0,0,0,0}
bb={-0.1,-0.1,0,-0.6,0,0}
aa={0,0,0,0,0,0}
rt={1,1,0,1,1,1}
f1[x_]=(Pi/30) (x-Sin[(2Pi/10)])
f2[x_]=(Pi/2)+(-Pi/60) (x-Sin[(2Pi/10)])
f3[x_]=0.01 (x-Sin[(2Pi/10)])
f4[x_]=(Pi/30) (x-Sin[(2Pi/10)])
f5[x_]=(Pi/30) (x-Sin[(2Pi/10)])
f6[x_]=(Pi/30) (x-Sin[(2Pi/10)])
f={f1[x],f2[x],f3[x],f4[x],f5[x],f6[x]}
e={{0},{0},{1}}
cr={{0},{0},{0}}
m={9.0,6.0,4.0,1.0,0.6,0.5}
ro1={{0},{0},{-0.1}}
ro2={{0},{0},{0}}
ro3={{0},{0},{0}}
ro4={{0},{0},{0.1}}
ro5={{0},{0.06},{0}}
ro6={{0},{0},{0.2}}
r={ro1,ro2,ro3,ro3,ro4,ro5,ro6}
i1={{0.02,0,0},{0,0.01,0},{0,0,0.01}}
i2={{0.05,0,0},{0,0.01,0},{0,0,0.06}}
i3={{0.4,0,0},{0,0.4,0},{0,0,0.01}}
i4={{0.001,0,0},{0,0.0005,0},{0,0,0.001}}
i5={{0.0005,0,0},{0,0.0002,0},{0,0,0.0005}}
i6={{0.003,0,0},{0,0.001,0},{0,0,0.002}}
am={i1,i2,i3,i4,i5,i6}
For[i=1,i<7,i++,ar=rt[[i]];g[x]=f[[i]];aj=aa[[i]];bj=bb[[i]];
te=tet[[i]];al=alf[[i]];
If[ar==1,
q[x_]={{Cos[te+g[x]],-Sin[te+g[x]],0},
{Cos[al]Sin[te+g[x]],Cos[al]Cos[te+g[x]],-Sin[al]},
{Sin[al]Sin[te+g[x]],Sin[al]Cos[te+g[x]],Cos[al]}};
Q[i_]=Transpose[q[x]];
a[i_]={{aj},{bj Sin[al]},{-bj Cos[al]}},
q[x_]={{Cos[te],-Sin[te],0},
{Cos[al]Sin[te],Cos[al]Cos[te],-Sin[al]},
{Sin[al]Sin[te],Sin[al]Cos[te],Cos[al]}};
Q[i_]=Transpose[q[x]];
a[i_]={{aj},{(bj+g[x]) Sin[al]},{-(bj+g[x]) Sin[al]}}];
If[ar==1,
dw[0]=cr;w[0]=cr;ca[0]=cr;r[[0]]=cr;w[i_]=Q[i] . w[i-
1]+D[g[x],x]e;
wi=w[i];aw=w[i-1];alt=D[g[x],x]e;
d1=wi[[2]] alt[[3]]-wi[[3]] alt[[2]];
d2=wi[[1]] alt[[3]]-wi[[3]] alt[[1]];
d3=wi[[1]] alt[[2]]-wi[[2]] alt[[1]];
expr1[i_]={d1,d2,d3};
dw[i_]=Q[i] . dw[i-
1]+D[g[x],{x,2}]e+expr1[i];adw=dw[i-1];dwa=dw[i];
di=a[i]-r[[i-1]];
exp1=adw[[2]] di[[3]]-adw[[3]] di[[2]];
exp2=adw[[1]] di[[3]]-adw[[3]] di[[1]];
exp3=adw[[1]] di[[2]]-adw[[2]] di[[1]];
expr2[i_]={exp1,exp2,exp3};
expa1=aw[[2]] di[[3]]-aw[[3]] di[[2]];
expa2=aw[[1]] di[[3]]-aw[[3]] di[[1]];
expa3=aw[[1]] di[[2]]-aw[[2]] di[[1]];
expr3[i_]={expa1,expa2,expa3};
aex=expr3[i];
expb1=aw[[2]] aex[[3]]-aw[[3]] aex[[2]];
expb2=aw[[1]] aex[[3]]-aw[[3]] aex[[1]];
expb3=aw[[1]] aex[[2]]-aw[[2]] aex[[1]];
expr4[i_]={expb1,expb2,expb3};
roi=r[[i]];
expc1=dwa[[2]] roi[[3]]-dwa[[3]] roi[[2]];
expc2=dwa[[1]] roi[[3]]-dwa[[3]] roi[[1]];
expc3=dwa[[1]] roi[[2]]-dwa[[2]] roi[[1]];
expr5[i_]={expc1,expc2,expc3};
expd1=wi[[2]] roi[[3]]-wi[[3]] roi[[2]];
expd2=wi[[1]] roi[[3]]-wi[[3]] roi[[1]];
expd3=wi[[1]] roi[[2]]-wi[[2]] roi[[1]];
expr6[i_]={expd1,expd2,expd3};
bex=expr6[i];
expe1=wi[[2]] bex[[3]]-wi[[3]] bex[[2]];
expe2=wi[[1]] bex[[3]]-wi[[3]] bex[[1]];
expe3=wi[[1]] bex[[2]]-wi[[2]] bex[[1]];
expr7[i_]={expe1,expe2,expe3};
ca[i]=Q[i](ca[i-1]+expr2[i]+expr4[i])+
expr5[i]+expr7[i];
Print[i],
dw[0]=cr;w[0]=cr;ca[0]=cr;r[[0]]=cr;
w[i_]=Q[i] . w[i-1];wi=w[i];aw=w[i-1];alt=D[g[x],x]e;
dw[i_]=Q[i] . dw[i-1];adw=dw[i-1];dwa=dw[i];
d1=wi[[2]] alt[[3]]-wi[[3]] alt[[2]];
d2=wi[[1]] alt[[3]]-wi[[3]] alt[[1]];
d3=wi[[1]] alt[[2]]-wi[[2]] alt[[1]];
expr1[i_]={d1,d2,d3};
di=a[i]-r[[i-1]];
exp1=adw[[2]] di[[3]]-adw[[3]] di[[2]];
exp2=adw[[1]] di[[3]]-adw[[3]] di[[1]];
exp3=adw[[1]] di[[2]]-adw[[2]] di[[1]];
expr2[i_]={exp1,exp2,exp3};
expa1=aw[[2]] di[[3]]-aw[[3]] di[[2]];
expa2=aw[[1]] di[[3]]-aw[[3]] di[[1]];
expa3=aw[[1]] di[[2]]-aw[[2]] di[[1]];
expr3[i_]={expa1,expa2,expa3};
aex=expr3[i];
expb1=aw[[2]] aex[[3]]-aw[[3]] aex[[2]];
expb2=aw[[1]] aex[[3]]-aw[[3]] aex[[1]];
expb3=aw[[1]] aex[[2]]-aw[[2]] aex[[1]];
expr4[i_]={expb1,expb2,expb3};
roi=r[[i]];
expc1=dwa[[2]] roi[[3]]-dwa[[3]] roi[[2]];
expc2=dwa[[1]] roi[[3]]-dwa[[3]] roi[[1]];
expc3=dwa[[1]] roi[[2]]-dwa[[2]] roi[[1]];
expr5[i_]={expc1,expc2,expc3};
expd1=wi[[2]] roi[[3]]-wi[[3]] roi[[2]];
expd2=wi[[1]] roi[[3]]-wi[[3]] roi[[1]];
expd3=wi[[1]] roi[[2]]-wi[[2]] roi[[1]];
expr6[i_]={expd1,expd2,expd3};
bex=expr6[i];
expe1=wi[[2]] bex[[3]]-wi[[3]] bex[[2]];
expe2=wi[[1]] bex[[3]]-wi[[3]] bex[[1]];
expe3=wi[[1]] bex[[2]]-wi[[2]] bex[[1]];
expr7[i_]={expe1,expe2,expe3};
ca[i]=Q[i] . (ca[i-1]+expr2[i]+expr4[i])+expr5[i]+expr7[i]-
D[g[x],{x,2}]e-2.expr1[i]];
jk=am[[i]];wi=w[i];dwa=dw[i];jt=jk . wi;
exf1=wi[[2]] jt[[3]]-wi[[3]] jt[[2]];
exf2=wi[[1]] jt[[3]]-wi[[3]] jt[[1]];
exf3=wi[[1]] jt[[2]]-wi[[2]] jt[[1]];
expr8[i_]={exf1,exf2,exf3};
ha[i]=jk . dwa+expr8[i];
g0={{0},{0},{-9.81}};p[i]=ca[i]-g0];
ab=rt[[6]];m6=m[[6]];pp6=Transpose[p[6]];pp=pp6[[1]];
rot=Transpose[ro6];roa=rot[[1]];
If[ab==1,
dm=m[[6]] pp;
cm1=roa[[2]] dm[[3]]-roa[[3]] dm[[2]];
cm2=roa[[1]] dm[[3]]-roa[[3]] dm[[1]];
cm3=roa[[1]] dm[[2]]-roa[[2]] dm[[1]];
mc1={cm1,cm2,cm3};
ty[6]=ha[6]+mc1;ft6[x_]=ty[6];ff6[x_]=ft6[x][[3]],
ty[6]=m[[6]]
pp;ft6[x_]=ty[6];ff6[x_]=ft6[x][[3]]];
Plot[ff6[x],{x,0,10}];
qpp6=Transpose[p[6]];
qpp5=Transpose[p[5]];
qpp4=Transpose[p[4]];
qpp3=Transpose[p[3]];
qpp2=Transpose[p[2]];
qpp1=Transpose[p[1]];
pp1=qpp1[[1]];
pp2=qpp2[[1]];
pp3=qpp3[[1]];
pp4=qpp4[[1]];
pp5=qpp5[[1]];
pp6=qpp6[[1]];Print[111];
e1=m[[2]] Q[2] . pp2+m[[3]] Q[2] . Q[3] . pp3+
m[[4]] Q[2] . Q[3] . Q[4] . pp4+
m[[5]] Q[2] . Q[3] . Q[4] . Q[5] . pp5+
m[[6]] Q[2] . Q[3] . Q[4] . Q[5] . Q[6] . pp6;
e2=m[[3]] Q[3] . pp3+
m[[4]] Q[3] . Q[4] . pp4+
m[[5]] Q[3] . Q[4] . Q[5] . pp5+
m[[6]] Q[3] . Q[4] . Q[5] . Q[6] . pp6;
e3=m[[4]] Q[4] . pp4+m[[5]] Q[4] . Q[5] . pp5+
m[[6]] Q[4] . Q[5] . Q[6] . pp6;
e4=m[[5]] Q[5] . pp5+m[[6]] Q[5] . Q[6] . pp6;
e5=m[[6]] Q[6] . pp6;Print[222];
ha1=Transpose[ha[1]];hab1=ha1[[1]];
ha2=Transpose[ha[2]];hab2=ha2[[1]];
ha3=Transpose[ha[3]];hab3=ha3[[1]];
ha4=Transpose[ha[4]];hab4=ha4[[1]];
ha5=Transpose[ha[5]];hab5=ha5[[1]];
haa={hab1,hab2,hab3,hab4,hab5};Print[333];
tau5[x_]=m[[5]] pp5+m[[6]] Q[6] . pp6;
tau4[x_]=m[[4]] pp4+m[[5]] Q[5] . pp5+
m[[6]] Q[5] . Q[6] . pp6;Print[444];
tau3[x_]=m[[3]] pp3+m[[4]] Q[4] . pp4+
m[[5]] Q[4] . Q[5] . pp5+m[[6]] Q[4] . Q[5] .
Q[6] . pp6;Print[555];
tau2[x_]=m[[2]] pp2+m[[3]] Q[3] . pp3+
m[[4]] Q[3] . Q[4] . pp4+m[[5]] Q[3] . Q[4] .
Q[5] . pp5+
m[[6]] Q[3] . Q[4] . Q[5] . Q[6] . pp6;Print[666];
tau1[x_]=m[[1]] pp1+m[[2]] Q[2] . pp2+
m[[3]] Q[2] . Q[3] . pp3+m[[4]] Q[2] . Q[3] .
Q[4] . pp4+
m[[5]] Q[2] . Q[3] . Q[4] . Q[5] . pp5+
m[[6]] Q[2] . Q[3] . Q[4] . Q[5] . Q[6] . pp6;
tau={tau1[x],tau2[x],tau3[x],tau4[x],tau5[x]};Print[777];
For[i=5,i>=1,i--,ac=rt[[i]];
ea={e1,e2,e3,e4,e5};ia=ea[[i]];
ap=a[i+1];
n1=ap[[2]] ia[[3]]-ap[[3]] ia[[2]];
n2=ap[[1]] ia[[3]]-ap[[3]] ia[[1]];
n3=ap[[1]] ia[[2]]-ap[[2]] ia[[1]];
n[i]={n1,n2,n3};
wq={pp1,pp2,pp3,pp4,pp5};wp=wq[[i]];
st=m[[i]] wp;
roi=r[[i]];ro11=Transpose[roi];rob=ro11[[1]];
ss1=rob[[2]] st[[3]]-rob[[3]] st[[2]];
ss2=rob[[1]] st[[3]]-rob[[3]] st[[1]];
ss3=rob[[1]] st[[2]]-rob[[2]] st[[1]];
s[i]={ss1,ss2,ss3};
k[i]=haa[[i]]+s[i]+n[i];Print[888];
tt=Transpose[ty[6]];t[6]=tt[[1]];
t[i_]=tau[[i]];
If[ac==1,Print[i];
t[i]=Q[i] . t[i+1]+k[i],
t[i]=tau[[i]];
Print[i^2]]];
ft1[x_]=t[1];Print[af];
ft2[x_]=t[2];Print[fff];
ft3[x_]=t[3];Print[kkk];
ft4[x_]=t[4];Print[of];
ft5[x_]=t[5];
ff1[x_]=ft1[x][[3]];Print[ah];
ff2[x_]=ft2[x][[3]];
ff3[x_]=ft3[x][[3]];
ff4[x_]=ft4[x][[3]];
ff5[x_]=ft5[x][[3]];
⎡0⎤ ⎡0,02 0 0 ⎤
m1= 9,0 [ρ1]1= ⎢⎢ 0 ⎥⎥ [I1]1 = ⎢ 0
⎢ 0,01 0 ⎥⎥
⎢⎣0,1⎥⎦ ⎢⎣ 0 0 0,01⎥⎦
⎡0 ⎤ ⎡0,05 0 0 ⎤
m2= 6,0 [ρ2]2= ⎢⎢0⎥⎥ [I2]2 = ⎢ 0
⎢ 0,01 0 ⎥⎥
⎢⎣0⎥⎦ ⎢⎣ 0 0 0,06⎥⎦
⎡0 ⎤ ⎡0,03 0 0 ⎤
m3= 9,0 [ρ3]3= ⎢⎢0⎥⎥ [I3]3 = ⎢ 0
⎢ 0,4 0 ⎥⎥
⎢⎣0⎥⎦ ⎢⎣ 0 0 0,01⎥⎦
⎡0⎤ ⎡0,001 0 0⎤
m4= 1,0 [ρ4]4= ⎢⎢ 0 ⎥⎥ [I4]4 = ⎢ 0
⎢ 0,0005 0⎥⎥
⎢⎣0,1⎥⎦ ⎢⎣ 0 0 0⎥⎦
⎡ 0 ⎤ ⎡0,0005 0 0 ⎤
m5= 0,6 [ρ5]5= ⎢⎢0,06⎥⎥ [I5]5 = ⎢ 0
⎢ 0,0002 0 ⎥⎥
⎢⎣ 0 ⎥⎦ ⎢⎣ 0 0 0,0005⎥⎦
⎡0⎤ ⎡0,003 0 0 ⎤
m6= 0,5 [ρ6]6= ⎢⎢ 0 ⎥⎥ [I6]6 = ⎢ 0
⎢ 0,001 0 ⎥⎥
⎢⎣0,2⎥⎦ ⎢⎣ 0 0 0,002⎥⎦
Unităţile de măsurã pentru mi, ρi, Ii, sunt respectiv : (Ns2/m) ,
(m) , (N s2 m).
Z4
X3 Y3 Y4
Z5 X6
O4 X5 Z6
4
3
X4 5
2 O5 EE
X2 Z3
O3 O6 6
Y2
Z2
Y1
Z
1
X1
O1
Yo
Zo
Xo
Oo
B= 2π/10
Vom studia varaiaţia forţelor motrice pentru un interval
de timp cuprins între 0 şi 10 secunde.In urma utilizãrii
programului de calcul descris mai sus se obţin următoarele
grafice de variaţie a forţei motrice în funcţie de timp.
6.1 Introducere
B
A
A = punctul iniţial
B = punctul de plecare
C = punctulde apropiere
D = punctul final
- AB = porţiunea de pornire ;
- BC = porţiunea de-a lungul cãreia se pãstreazã constante
viteza şi acceleraţia ;
- CD = porţiunea finalã , de poziţionare.
Aceastã fragmentare este necesarã în primul rând datoritã
exigentelor impuse de precizia de poziţionare. Evident cã este
necesarã o primã porţiune de accelerare de la viteza iniţialã ( de
cele mai multe ori zero ) la cea de regim. Porţiunea finalã este
necesarã pentru a putea realiza o puternicã decelerare ( de obicei
pânã la vitezã zero ) , fãrã de care nu s-ar putea realiza
poziţionarea exactã.
3-5-3. Secţionarea traiectoriei în porţiuni se produce ca şi pentru
4-3-4 , dar se folosesc alte polinoame de interpolare. Se
foloseşte funcţia “spline” cubicã când se secţioneazã traiectoria
în cinci porţiuni. Numãrul polinoamelor folosite pentru
descrierea completa a traiectoriei pentru un RI cu N grade de
libertate este 3xN , iar numãrul coeficienţilor de determinat este
7xN. În acest caz , se cere sã se determine extremele pentru
toate cele 3N porţiunile ale traiectoriilor. În urmãtorul
subcapitol vom examina schemele de planificare a traiectoriilor
4-3-4 şi ale traiectoriilor date de funcţii cubice spline.
(6.17)
sau ,
a21/t2+4a14/t1+3a13/t1+a0t12/t1+v0t1/t1 =0
(6.18)
şi
[(6a23t+2a22)/t22]i=0 = [( 12a14t2+6a13t+2a12)/t12]i=1 (6.19)
sau
2a22/t22+12a14/t12+6a13/t12+a0t12/t12=0 (6.20)
2) Pentru t=1 ( punctul de apropiere) În acest punct viteza şi
acceleraţia trebuie sã coincidã cu viteza şi acceleraţia din
punctul iniţial al urmãtoarei porţiuni a traiectoriei. Pentru
punctul examinat avem ;
h2(1)=a23+a22+a21+a20 (6.21)
2
v2(1) = h2(1)/t2 = [( 3a23t +2a22t+a21)]i=1 = [ 3a23+2a22+a21]/t2
(6.22)
a2(1) = h2(1)/t22 = [(6a23t+2a22)/t22]i=1 = [6a23+2a22]t22 (6.23)
În descrierea ultimei porţiuni a traiectoriei se foloseşte un
polinom de gradul 4.
hn (t ) = an 4t 4 + an 3t 3 + an 2t 2 + an1t + an 0 , t∈[0 , 1] (6.24)
In aceasta egalitate se înlocuieşte t cu t`= t-1 şi se
examineazã dependenţa de noua variabilã t` şi faţã de aceasta
vom efectua deplasarea în timp normat. Ddacã variabila t
aparţine intervalului [0 , 1] , atunci variabila t` aparţine
intervalului de [-1 , 0] .
Astfel , egalitatea (6.24) va avea forma :
hn (t ) = a n 4 t `4 + a n 3 t `3 + a n 2 t `2 + a n1t `+ a n 0 , t∈[0 , 1] (6.25)
In final vom gãsi viteza şi acceleraţia pe ultima porţiune:
t `3 +3a t `2 +2 a
vn ( t ) = ntn = n4
h` ( t `) 4a n3 n2 t `+ a n1
tn , (6.26)
hn(-1)/tn= [ tn ]
4 an 4t `3 +3 ant `2 +2 an 2t `+ an1
t `= −1 =
−4 an 4 +3 an 3 − a f tn 2 + v f tn
tn
(6.32)
hn ( −1)
tn 2
= [ 12 an 4t Á 2 + 6 a3t Á + 2 an 2
tn 2
]
i = −1
=
12 an 4 −6 an 3 + a f t n 2
tn
(6.33)
Condiţiile de continuitate a vitezei şi a acceleraţiei din
punctul de apropiere se noteazã în modul urmãtor :
[h`2(1) / t2 ]=[ h`n(-1) / tn ] şi [h`2(1) / t22 ]=[h`n(-1) / tn2 ] , (6.34)
sau
4 an 4 − 3 an 3 + a f t n 2 − v f t n 2
tn + 3at223 + 2 a22
t2 + a21
t2 = 0 , (6.35)
şi
−12 an 4 + 6 an 3 − a f t n 2 6 a23 2 a22
tn 2
+ t22
+ t2 2
= 0 (6.36)
δ1 = θ1 -θ0 = h1 (1)-h1(0) = a14 + a13 +[a0 t12 / 2]+ v0t1 , (6.37)
δ2 = θ2 -θ1 = h2 (1)-h2(0) = a23 + a22 + a21 , (6.38)
δn = θf -θ2 = hn (0)-hn (-1) =-an4 + an3 - [af tn2 / 2] + vf tn .(6.39)
Toţi coeficienţii necunoscuţi din polinoame ce descriu
schimbarea variabilei articulare pot fi determinati prin
rezolvarea în comun a ecuaţiilor (6.37) , (6.18) , (6.20) , (6.38) ,
(6.39) şi (6.35) .
Prezentând acest sistem de ecuaţii în forma matricealã ,
vom obţine :
y =Cx , (6.40)
unde
⎡δ 1 − a0t1 − v0 t1 ,−a0 t1 − v0 ,−a0 , δ 2 ,− a f t n + v f ,⎤
2
y=⎢ ⎥ (6.41)
2
⎢, a , δ + a f tn 2 − v t ⎥
⎣ f n 2 f n ⎦
⎡1 1 0 0 0 0 0 ⎤
⎢3 −1
0 0 0 ⎥⎥
⎢ t1 t1 t2 0
4
⎢ 62 t122 0 t− 22 0 0 0 ⎥
⎢ t1 1 2
⎥
C = ⎢ 0 0 1 1 1 0 0 ⎥ , (6.42)
⎢0 0 1 2 3 −3 4 ⎥
⎢ t2 t2 t2 tn tn
⎥
⎢ 0 0 0 t222 t262 tn62 −tn122 ⎥
⎢ 0 0 0 0 0 1 − 1⎥
⎣ ⎦
x = ( a13 , a14 , a21 , a22 , a23 , an3 , an4 , )T (6.43)
Astfel , problema planificãrii traiectoriei conduce la
rezolvarea ecuaţiei vectoriale (6.40) :
t
yi = ∑ cij x j , (6.44)
j =1
v0 =
h `1 ( 0 )
t1 = a11
t1 . (6.57)
De aici obţinem a11=v0t1. În continuare
a0 =
h1 ``( 0 )
t12
= 2 a12
t12 (6.58)
rezulta cã :
a12 = a0t12 / 2 .
Când t = 1 în concordanţã cu condiţia aplicata poziţiei în punctul
de pornire , avem :
h1(1) = a13+ (a0t12 / 2)+ v0t1+ θ0-= θ1 (6.59)
Din aceasta este uşor de dedus cã :
a13-o1-v0t1 -(a0t12 / 2 ) , (6.60)
unde δ1=θi - θi-1. În acest mod prima porţiune a traiectoriei este
determinata complet
h1(t) = [δ1 -v0t1 -(a0t12 / 2)]t3+[a0t12 / 2]t2+(v0t1) +θ0 (6.61)
În concordanţã cu expresia (6.56) viteza şi acceleraţia în
punctul final al primei porţiuni a traiectoriei sunt egale cu :
⎡⎛ a t 2 ⎞ ⎤
3δ1 − ⎢ ⎜ 021 ⎟ ⎥ −2 v0t1
h1 (1)
t1 = v1 = ⎣⎝
t1
⎠⎦
= 3tδ11 − 2v0 − a20t1 ,
(6.62)
h Á1 (1) 6δ1 − 2 a0t12 −6 v0t1 6δ1
t12
= a1 = t12
= t12
− 6tv10 − 2a0 ,
(6.63)
Aceastã vitezã şi acceleraţie trebuie sã coincidã în mod
corespunzãtor cu viteza şi cu acceleraţia din punctul iniţial al
urmãtoarei porţiuni a traiectoriei. Ultima porţiune a traiectoriei
este descrisa de polinomul :
hn(t)= an3t3+ an2t2+ an1t+ an0. (6.64)
Folosind condiţiile limitã pentru t = 0 şi t = 1 , obţinem :
hn(0)= an0= θn . (θn este dat), (6.65)
hn(1)= an3+ an2+ an1+ θn= θf , (6.66)
h`n(1)= vf= (3an3+2an2+ an1 ) / tn , (6.67)
[h`n(1) / tn2]= af= (6an3+2an2) / tn2 (6.68)
Rezolvând aceste ecuaţii în raport cu coeficienţii
necunoscuţi an3 , an2 , an1 , obţinem :
hn(t)=[δn -vftn +(aftn2 / 2)]t3 +(-3δn+3vftn-aftn2)t2+[3δn-
2vftn+(aftn2) / 2]t+θn ,
(6.69)
unde δn= θf - θn.
A douã porţiune a traiectoriei este descrisã de polinomul:
h2(t)=a23t3+a22t2+a21t+a20 . (6.70)
Din condiţiile continuitãţii pentru poziţie , viteza şi
acceleraţie în punctul de pornire gãsim :
h2(0)=a20=θ1 , (θ1 este cunoscut ) (6.71)
v1=h`2(0) / t2=a21 / t2 =h`1(1) / t1. (6.72)
De aici rezultã a21 = v1t2 ,
a1= h`2(0) / t22 =(2a22) / t22=h`1(1) / t12 (6.73)
2
şi urmeazã : a22=(a1t2 ) /2.
Luând în consideraţie coeficienţii gãsiţi se poate nota
h2(t)= a23t3+ [(a1t22) / 2]t2+ (v1 t2)+ θ1 , (6.74)
2
unde v1=(3δ1 )/ t1 -2v0-(a0t1 )/ 2 , a1=(6δ1) /t1 -(6v0) /t1 -2a0
Rãmâne sã se determine coeficientul a23. Cu ajutorul
egalitatii (6.69) vom determina viteza şi acceleraţia când t = 1 ,
care trebuie sã coincidã în mod corespunzãtor cu viteza şi cu
acceleraţia din punctul iniţial al porţiunii urmãtoare a traiectoriei
:
h2(1)= θ2= a23+ (a1t22)/ 2+ v1t2+ θ1 , (6.75)
h`2(1) / t2= v2= (3a23+ a1t22+ v1t2) / t2= v1+ a1t2+ (3a23)/ t2 , (6.71)
h``2(1) /t22= a2= (6a23+a1t22) /t22=a1+(6a23) / t22. (6.76)
Observãm cã fiecare din mãrimile θ2 , v2 şi a2 depind de
valoarea a23 .
A treia porţiune a traiectoriei este descrisã de polinomul :
h3(t) = a33t3+ a32t2+ a31t+ a30 . (6.77)
În punctul t = 0 , din concordanţa cu condiţiile de continuitate a
poziţiei, a vitezei şi a acceleraţiei avem :
h3(0) = a30= θ2= a23+ (a1t22) / 2+ v1t2 + θ1 , (6.78)
v2 = [h3(0)] / t3= a31 / t3 = h2(1) / t2. (6.79)
În acest mod , a31 =v2t3.
In continuare ,
a2 = h3(0) / t32= (2a32) / t32 = h``2(1) / t22 . (6.80)
De aici vom obţine :
a32 =(a2t32) / 2 .
Substituind valorile gãsite (obţinute) ale coeficienţilor
din expresia (6.73), obţinem :
h3(t) =a33t3+[(a2t32) / 2]t2 +v2t3t+θ2 . (6.81)
Vom determina în punctul t = 1 valorile vitezei şi acceleraţiei
care trebuie sã coincidã cu caracteristicile corespunzãtoare din
punctul iniţial al porţiunii urmãtoare :
h3(1)= θ3= θ2+ v2t3+ [(a2t32) / 2]+a33 ,
(6.82)
[h`3(1) / t3]= v3 [3a33+ a2t32 + v2t3] /t3= v2+a2t3+(3a33) / t3 , (6.83)
[h``3(1) /t32]= a3= (6a33+ a2t32]/ t32= a2+(6a33) /t32. (6.84)
Observãm cã fiecare din mãrimile θ3 , v3 şi a3 depinde de a33.
A patra porţiune a traiectoriei este descrisã de polinomul
h4(t)= a43t3 + a42t2+a41t + a40 . (6.85)
Folosind condiţiile aplicate poziţiei în punctul de
apropiere ca şi condiţiile de continuitate a vitezei şi acceleraţiei
din acest punct , obţinem :
h4(0)= a40= θ3= θ2+v2t3+ (a2t32) / 2+a33 , (6.86)
v3=h`4(0)/ t4=a41 / t4 = h`3(1) / t3, (6.87)
care dã :
a41= v3 t6.
In continuare :
a3= h``4 (0) /t42 = (2a42) / t42= h``3(1) /t22. (6.88)
De aici obţinem:
a42=(a3t42) / 2.
Substituind expresiile gãsite pentru coeficienţii din
egalitatea (6.80), obţinem :
h4(t)= a43 t3 +[(a3t42) / 2 ]t2+ (v3t4)t+ θ3 , (6.89)
unde θ3 , v3 şi a3 se determinã în mod corespunzator cu
egalitãţile (6.87) , (6.88) şi (6.89) , iar coeficienţii a23 , a33 şi a43
sunt ca şi înainte necunoscuţi. Cu ajutorul acestor coeficienţii
trebuie determinate în intregime polinoamele ce descriu cele trei
porţiuni de mijloc ale traiectoriei. Pentru aceasta ne vom folosi
de condiţiile din punctul limita dintre a patra porţiune şi ultima
porţiune a traiectoriei :
h4(1)= a43+ (a3t42) / 2 + v3t4 + θ3= θ4 , (6.90)
h`4(1)/t4= (3a43) /t4 + a3 t4 + v3 = v4 =(3δn) / tn -2vf + (aftn)/ 2
(6.91)
h``4(1) / t42 =ba43 / t42 + a3 = a4 =(-6δn)/ tn2 +(6vf)/ tn -2af,
(6.92)
Din aceste ecuaţii se pot gãsi valorile coeficienţilor necunoscuţi
a23 , a33 şi a43. Ca rezultat toate polinoamele vor fi determinate
în întregime. In continuare este prezentat aspectul final al
acestor polinoame :
h1 (t) = [δ1 -v0t1 -(a0t22 / 2)]t3+ [(a0t12) / 2]t2+ (v0t1)t+ θ0 , (6.93)
v1=(3δ1) / t1 -2v0 -(a0t1 ) / 2 ; (6.94)
2
a1=(6δ1) / t1 -(6v0 ) / t1 -2a0 ; (6.95)
3 2 2
h2(t) =a23t +[(a0t2 ) / 2]t + (v1t2)t+ θ1 ,
(6.96)
θ2= a23 +(a1t22) / 2 + v1t2+ θ1 , (6.97)
v2= v1+ a1t2 + (3a23) / t2 ; (6.98)
2
a2= a1+ (6a23) / t2 ; (6.99)
3 2 2
h3(t) = a33 t + [(a2t3 ) / 2]t + (v2t3)t + θ2 , (6.100)
θ3 = θ2 +v2t3 + [(a2t32) / 2]+ a33 , (6.101)
2
v3 = v2 + a2t3 + [(3a33) / t3]; a3 = a2+(6a33) / t3 , (6.102)
h4(t)= a43t3 + [(a3t42) / 2]t2+ (v3t4)t + θ3 , (6.103)
2 3 2 2
hn(t) = [δn -vftn +(aftn ) / 2]t + (-3δn+3vffn -aftn )t + [3δn -
2vftn+(aftn2) / 2]t + θ4 ,
(6.104)
v4 = [(3δn) / tn] -2vf+ [(aftn) / 2]; a4 = [(-6δn) / tn2]+ [(6vf) / tn]-2af
; (6.105)
2 2 2
a23 = t2 (x1/D) , a33 = t3 (x2/ D) , a43 = t4 (x3/D) , (6.106)
În plus:
x1 = k1 (u-t2) + k2(t42-d) - k3 [(u-t4)d + t42(t4-t2)] , (6.107)
x2 = -k1 (u+t3) + k2(c-t42)+ k3 [(u-t4)c+ t42(u-t2)] , (6.108)
x3 = k1 (u-t4) + k2(d-c) +k3[(t4-t2)c -d(u-t2)] , (6.109)
D = u(u-t2)(u-t4) , (6.110)
u = t2 + t3 + t4 , (6.111)
k1 = θ4- θ1 -v1u -a1(u2/2) , (6.112)
k2 = [v4- v1 -a1 u -(a4-a1)u/2] / 3 (6.113)
k3 = (a4-a1) / 6 , (6.114)
c = 3u2 -3ut2 + t22 , (6.115)
d = 3t42 + 3t3t4 + t32 , (6.116)
În acest mod se demonstreazã cã dacã sunt cunoscute
poziţiile din punctul iniţial şi din cel final , din punctul de
pornire şi din cel de apropiere ca şi timpul mişcãrii pe fiecare
din porţiunile traiectoriei , cu acestea este definitã complet
funcţia splinã cubicã ce dã regula de variaţie a coordonatelor
articulare. In acest subcapitol am examinat constructia funcţiei
“splinei” cubice pentru o traiectorie cu cinci puncte nodale.
7.1.1.Caracteristici tehnice
Y2 X3
Y4
X2
O3 5
Z2
2
O2
Z1
1 Y1
O1 X1
Zo
Yo
Oo
Xo
V(I)
VARIATO
R
V3
CONVERTO V1
R
NUMERIC-
ANALOG
INTERFATA
DE Calculat
MASURARE C2 or
C1
A
OSCILOSCOP
ROBOT RIP
6,3
Fig.7.3. Schema de mãsurare a curenţilor
C8 C2
Y C7 C5
C6
X
Fig. 8.1. Cubul înscris în spaţiul de lucru al robotului
Traductor
de poziţie
B5 B6 B1
Placã fixã
B2
B4
B3
Placã mobilã
P1
P3 P2
Fig. 10.1. Schema unui robot parallel
Fig. 10.2.
P 4
5 Spaţiul de lucru
6
5 Transfer Suport
Stânga
1
6
4 Dreapta
2
0 1/6 1/3 1/2 2/3 5/6 1(ciclu)
Fig. 8.3. Mers în unde ( λ = 5/6 )
5
3
1
6
4
2
0 1/6 1/3 1/2 2/3 5/6 1 (ciclu)
Fig. 8.4. Mers în unde ( λ = 2/3 )
Stabilitatea în mers
Tabelul 12.1.