Coordonatele articulare pentru doua puncte apartinand spatiului de lucru al robotului definite in coordonatele lor externe(operationale).
Legile de miscare pentru primele trei grade de libertate intre cele doua puncte definite in "1" in coordonate articulare (vitezele initiala si finala sunt nule), interpolate cu functii de gradul intai.
Vitezele si acceleratiile (unghiulare si ale centrelor de masa) gradelor de libertate "1"si "3" pentru deplasarea pe traiectoria definita la "1", conform legilor de miscare determinate in "4".
Planificarea traiectoriei intre cele doua puncte definite prin "1" (vitezele initiala si finala sunt nule) in sistemul 4-3-4, pentru gradul de libertate "3".
1. Coordonatele articulare pentru doua puncte
apartinand spatiului de lucru al robotului definite in coordonatele lor externe (operationale)
Problema cinematica inversa permite calculul coordonatelor articulare care aduc endefectorul in pozitia si orientarea dorita date fiind coordonatelor operationale.
Coordonatele externe (operationale) pentru doua puncte din spatiul de lucru al robotului sunt :
Punct initial: x = 0,27 m; y = 0,32 m; z = 0,60 m.
Punct final: x = 0,59 m; y = 0,47 m; z = 0,22 m.
Rezolvand problema cinematica inversa cu ajutorul urmatorului program in care introducem coordonatele externe pentru punctul initial si pentru punctul final , vom obtine urmatoarele valori ale coordonatelor interne pentru puctul initial, respectiv pentru punctul final.
a=;
b=;
al=;
p=
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]]);
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]];
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];
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]];
x=FindRoot[,,,]
Print[x];
Valorile coordonatelor interne vor fi:
Punct initial: q11 = 0,52 m; q21 = -1,34 m; q31 = - 0,61 m.
Punct final: q12 = 0,58 m; q22 = - 1,41 m; q32 = - 0,16 m.
Legile de miscare pentru primele trei grade de libertate
intre cele doua puncte definite in "1" in coordonate articulare
(vitezele initiala si finala sunt nule), interpolate cu functii de gradul intai
Vectorii pozitiei initiale (in coordonate articulare) sunt:
q11 = 0,52 m; q21 = -1,34 m; q31 = - 0,61 m.
Vectorii pozitiei initiale (in coordonate articulare) sunt:
q12 = 0,58 m; q22 = - 1,41 m; q32 = - 0,16 m.
Vom obtine legea de miscare in coordonate articulare prin interpolarea unei functii de gradul III.
Cerinte:
q1(t) = a10t3 + a11t2+ a12t+ a13
q2(t) = a20t3 + a21t2+ a22t+ a23
q3(t) = a30t3 + a31t2+ a32t+ a33
Pentru determinarea acestor legi de miscare trebuie sa aflam pentru fiecare functie cei patru coeficienti. Pentru aceasta avem nevoie de un sistem de patru ecuatii pe care il obtinem din urmatoarele conditii:
Valoarea functiilor in punctul initial t = 0 trebuie sa coincida cu coordonatele articulare ale punctului initial (determinate la punctul 1).
Valoarea functiilor in punctul final t = 1 trebuie sa coincida cu coordonatele articulare ale punctului final (determinate la punctul 1).
Viteza initiala sa fie zero.
Viteza finala sa fie zero.
Deci:.
v pentru prima lege de miscare avem:
q1(t) = a10t3 + a11t2+ a12t+ a13
Conditie: q1(0) = q11 a13 = 0,52
q1(1) = q12 a10 + a11+ a12+ a13 = 0,58
q1(0) = 0 a12 = 0
q1(1) = 0 3a10 +2a11 + a12 = 0
Pentru rezlvarea sistemului vom utiliza programul "Mathematica":
Solve[,]
Vom obtine urmatori coeficienti: a10 = -0,12; a11= 0,18; a12= 0; a13 = 0,52
Rezulta ca:
q1(t) = - 0,12t3 + 0,18t2+ 0,52
v pentru a doua lege de miscare avem:
q2(t) = a20t3 + a21t2+ a22t+ a23
Conditie: q2(0) = q21 a23 = -1,34
q2(1) = q22 a20 + a21+ a22+ a23 = -1,41
q2(0) = 0 a22 = 0
q2(1) = 0 3a20 +2a21 + a22 = 0
Pentru rezlvarea sistemului vom utiliza programul "Mathematica":
Solve[,]
Vom obtine urmatori coeficienti: a20 = 0,14; a21= -0,21; a22= 0; a23 = -1,34
Rezulta ca:
q2(t) = 0,14t3 -0,21t2-1,34
v pentru a treia lege de miscare avem:
q3(t) = a30t3 + a31t2+ a32t+ a33
Conditie: q3(0) = q31 a33 = -0,61
q3(1) = q32 a30 + a31+ a32+ a33 = -0,16
q3(0) = 0 a32 = 0
q3(1) = 0 3a30 +2a31 + a32 = 0
Pentru rezlvarea sistemului vom utiliza programul "Mathematica":
Solve[,]
Vom obtine urmatori coeficienti: a30 = - 0,9; a31= 1,35; a32= 0; a33 = -0,61
Rezulta ca:
q3(t) = - 0,9t3 +1,35t2- 0,61
Vitezele si acceleratiile (unghiulare si ale centrelor de masa)
gradelor de libertate "1"si "3" pentru deplasarea pe traiectoria definita la "1", conform legilor de miscare determinate in "4".
Legile de miscare pentru primele trei grade de libertate sunt:
q1(t) = - 0,12t3 + 0,18t2+ 0,52
q2(t) = 0,14t3 -0,21t2-1,34
q3(t) = - 0,9t3 +1,35t2- 0,61
Se calculeaza viteza unghiulara pentru elementul "3" : w[3], acceleratia unghiulara pentru elementul "3": dw[3] si acceleratia centrului de masa pentru elementul "3" : ca[3].
Viteza unghiulara si acceleratia elementului "i" se calculeaza cu relatiile:
WI-1 + I x eI , daca cupla cinematica "i"
este de rotatie
WI-1 , daca
cupla cinematica "i" este de translatie
wi =
wI-1 , daca
cupla cinematica "i" este de translatie
wI =
pentru I=1,., n unde w0 si w0 sunt vitezele unghiulare si acceleratiile bazei.
Pentru calculul vitezelor si
acceleratiilor centrelor de greutate, fie cI vectorul de
pozitie al centrului de greutate, CI al elementului i , qI
fiind vectorul directionat de la Oi la Ci . Vectorul
de pozitie a doua centre de greutate succesive este dat de
relatia:
ci = ci-1 - qi-1 + ai + qi sau
Dupa diferentierea ecuatiei de mai sus fata de timp obtinem formulele pentru calculul vitezelor si acceleratiilor centrelor de greutate atat pentru cupla cinematica de rotatie cat si pentru cupla cinematica de translatie.
alf=
tet=
bb=
aa=
rt=
f1[x_]=-0.12 x ^ 3+0.18x ^ 2 + 0.52;
f2[x_]=- 0.14 x ^ 3-0.21 x ^ 2 -1.34;
f3[x_]=-0.9 x ^ 3+1.35 x ^ 2 -0.61;
f4[x_]=x; f5[x_]=x; f6[x_]=x;
f=
e=,,}
cr=,,}
m=
ro1=,,}
ro2=,,}
ro3=,,}
ro4=,,}
ro5=,,}
ro6=,,}
r=
i1=,,}
i2=,,}
i3=,,}
i4=,,}
i5=,,}
i6=,,}
am=
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_]=,
,
};
Q[i_]=Transpose[q[x]];
a[i_]=,,},
q[x_]=,
,
};
Q[i_]=Transpose[q[x]];
a[i_]=,,}];
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_]=;
dw[i_]=Q[i] . dw[i-1]+D[g[x],]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_]=;
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_]=;
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_]=;
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_]=;
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_]=;
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_]=;
ca[i]=Q[i] . (ca[i-1]+expr2[i]+expr4[i])+expr5[i]+expr7[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_]=;
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_]=;
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_]=;
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_]=;
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_]=;
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_]=;
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_]=;
ca[i]=Q[i] . (ca[i-1]+expr2[i]+expr4[i])+expr5[i]+expr7[i]-D[g[x],]e-2.expr1[i]]];
-Pi -Pi Pi -Pi
2 2 2 2
Pi
2
Print [w[3]]
Print[dw[3]]
Print[ca[3]]
4. Planificarea traiectoriei intre cele doua puncte definite prin '1'
(vitezele initiala si finala sunt nule) in sistemul 4-3-4, pentru gardul de libertate '3'
Planificarea traiectoriei in coordonate articulare se realizeaza atunci cand ne intereseaza pozitia initiala si finala. Planificarea traiectoriei in coordonate operationale ne intereseaza atunci cand deplasarea endefectorului se face de-a lungul unei traiectorii.
Pentru deplasarea endefectorului intre punctul initial si final, definite in coordonate articulare, se determina legile de variatie ale coordonatelor articulare ale gradului de libertate "3", utilizand doua puncte nodale intermediare (unul de plecare si celelalt de apropiere). Coordonatele articulare pentru punctul initial sunt:
q11 = 0,52 m;
q21 = -1,34 m;
q31 = - 0,61 m.
Coordonatele articulare pentru punctul final :
q12 = 0.58 m;
q22 = - 1.41 m;
q32 = - 0.16 m.
Pentru gradul de libertate "3" coordonata articulara a punctului initial este PI(-0,61), iar coordonata articulara a a punctului final este Pf(-0.16). Vitezele si acceleratiile initiale si finale sunt:vi = 0, vf = 0, ai = 0, af = 0,
Pentru a asigura o buna precizie de pozitionare trebuie sa fragmentam traiectoria in trei segmente. Astfel, traiectoria initiala se imparte in trei traiectorii:
o portiune de pornire PiA, de-a lungul careia se realizeaza acceleratia si se ating viteza si acceleratia maxima;
o portiune AB, de-a lungul careia viteza si acceleratia raman constante, ea reprezinta cea mai mare parte din traiectoria initiala PiPf;
o portiune finala BPf, de pozitionare, care are ca scop asigurarea unei bune precizii de pozitionare prin micsorarea vitezei si acceleratiei.
Prin punctele Pi,A,B,Pf traiectoria se imparte in trei zone, astfel h(t) este legea care descrie traiectoria in coordonate articulare si va fi o functie in trei trepte. Pentru prima portiune avem h1 (t) o functie de gradul 4, pentru a doua avem h2 (t) o functie de gradul 3 si pentru a treia h3 (t) o functie de gradul 4. Functiile alese permit sa se efectueze interpolarea traiectoriei pentru punctele nodale date care asigura realizarea conditiei continuitatii pozitiei, a vitezei si a acceleratiei pe tot intervalul de timp [t0, tf].
Tinand cont de cele mentionate mai sus vom avea 14 conditii din care vom afla cele 14 necunoscute din functiile h1 (t), h2 (t), h3 (t).
Pentru punctul initial Pi:
h1 = a14t4 + a13t3+ a12t2+ a11t+ a10 , t [0,1]
Conditia pentru pozitie: h1(0) = - 0.61 (ecuatia 1)
h1(0) = a10 = - 0,61
Conditia pentru viteza: (ecuatia 2)
v1(t) = 4 a14t3 + 3a13t2+ 2a12t+ a11
v1(0) = a11=0
Conditia pentru acceleratie: (ecuatia
3)
a1(t) = 12a14t2 + 6a13t+ 2a12
a1(0) = 2a12=0
Pentru punctul de plecare A:
h2 = a23t3 + a22t2+ a21t+ a20 , t [0,1]
Conditia de continuitate a pozitiei: h1(1) = h2(0) (ecuatia 4)
h2(0) = a20 = - 0,51
a14 + a13+ a10=a20
Conditia de continuitate a vitezei: (ecuatia 5)
v2(t) = 3a23t2 + 2a22t+ a21
v2(0) = a21
4a14 + 3a13 = a21
Conditia de continuitate a acceleratiei:
(ecuatia 6)
a2(t) = 6a23t + 2a22
a2(0) = 2a22
12a14t + 6a13=2a22
Pentru punctul de apropiere B:
h3(t)= a34t4 + a33t3+ a32t2+ a31t +a30 , t [0,1]
Pentru t1=t-1, t 1 [-1,0]
h3(t1)= a'34t14 + a'33 t13+ a'32 t12+ a'31 t1 +a'30
h3(t1)= a34t14
+ (4a34+ a33)t13+ (6a34 +3a33
+ a32) t12 + (4a34 +3a33
+ 2a32+a31) t1+
(a34 +a33 + a32+a31+a30)
a'34= a34
a'33= 4a34+a33
a'32=6a34+3a33+a32
a'31=4a34+3a33+2a32+a31
a'30=a34+a33+a32+a31+a30
Conditia de continuitate a pozitiei: h2(1) = h3(-1)
a23+a22+a21+a20= a'34-a'33+a'32-a'31+a'30 (ecuatia 7)
Conditia de continuitate a vitezei:
3a23+2a22+a21= -4a'34+3a'33-2a'32+a'31 (ecuatia 8)
Conditia de continuitate a
acceleratiei:
6a23+2a22= 12a'34-6a'33+2a'32 (ecuatia
9)
Pentru punctul final Pf:
Conditia pentru pozitie: h3(0)= -0.16
h3(0)= a'30= -0.16 (ecuatia 10)
Conditia pentru viteza:
a'31=0 (ecuatia 11)
Conditia pentru acceleratie:
a'32=0 (ecuatia 12)
Conditiile de definire ale punctelor nodale intermediare sunt:
- pentru punctul A: h2(0) = q31 +Δ = -0,61+ 0,1 (ecuatia 13)
- pentru punctul B: h2(1) = q32 -Δ = -0.16 - 0,1 (ecuatia 14)
Astfel, cele 14 ecuatii cu 14 necunoscute sunt prezentate mai jos:
Acest sistem va fi rezolvat cu ajutorul unui program in MATH2.2:
Solve[,
Pentru t [0,1] se calculeaza a34, a33, a32, a31,a30, rezolvandu-se sistemul de ecuatii urmator
a34 = a
4a34 +a33 = a'33
6a34 + 3a33 +a32 = a
4a34 +3a33 +2a32 +a31 = a'31
a34 +a33 +a32 +a31 + a30 = a'30
se ajunge la urmatoarele valori:
a30 = - 0,8075
a31 = 1,7675
a32 = -1,4175
a33 = 0,1225
a34 = 0,175
Polinoamele h1(t) h2(t) h3(t):
h1(t)= -0,075t4 + 0,175t3 -0,61 , t [0,1]
h2(t)= -0,05t3 +0,075t2 +0,225t -0,51 , t [0,1]
h3(t)= 0,175t4 +0,1225t3 -1,4175t2 +1,7675t -0,8075 , t [0,1]
ANEXA
Caracteristicile robotului PUMA 600
Binecunoscutul robot industrial Puma 600 prezinta urmatoarele caracteristici inertiale:
Unitatile de masura pentru, , sunt respectiv :
, , .
Parametrii H - D ai acestui robot industrial sunt redati mai jos:
articultia initial
1 0 0 0 0
2 -90 0 -1,149 0
3 0 0,432 0 0
4 90 0,02 -0,430 0
5 -90 0 0 0
6 90 0 -0,056
Traiecoriile celor 6 articulatii sunt descrise de urmatoarele curbe :
pentru i=1,2,...6
In urma rularii programului de simulare al comportamentului dinamic al robotilor industriali se obtin urmatoarele grafice de variatie ale momentelor motrice in raport cu timpul :
BIBLIOGRAFIE
Note de curs
Chircor M - Roboti industriali, Ovidius University Press
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |