Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » tehnologie » tehnica mecanica
ROBOTI INDUSTRIALI

ROBOTI INDUSTRIALI




TEMA

Pentru robotul PUMA 600, ale carui caracteristici inertiale si parametrii Hartemberg - Denavit se cunosc, se vor determina urmatoarele:

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


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.