Sunteți pe pagina 1din 16

TEMA DE PROIECT

Pentru robotul PUMA 600, ale carui caracteristici


inertiale si parametrii Hartemberg Denavit se cunosc,
se vor determina urmatoarele:

1.

Coordonatele articulare pentru doua puncte apartinand spatiului


de
lucru
al
robotului
definite
in
coordonatele
lor
externe(operationale).

2.

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.

3.

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 cinematic invers permite calculul coordonatelor articulaiilor, care
aduc endefectorul n poziia i orientarea dorit, date fiind coordonatele absolute
(operaionale).Atunci cnd problema cinematic invers are soluie, ea se constituie n
modelul geometric invers MGI. Dac nu putem gsi o soluie analitic problemei
cinematice inverse (ceea ce se ntmpl destul de frecvent) putem apela la metode
numerice, al cror neajuns ns l constituie volumul mare de calcule. Cea mai frecvent
metod este metoda Newton-Raphson.
Coordonatele externe (operationale) pentru doua puncte din spatiul de lucru al
robotului PUMA 600 sunt :

Punct initial: x = 0,39 m; y = 0,12 m; z = 0,54 m.

Punct final: x = 0,40 m; y = 0,40 m; z = 0,42 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(articulare) pentru puctul initial,
respectiv pentru punctul final.
Programul coordonatelor punctului initial:
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.39,0.12,0.54}
Print[111111];
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]];Print[aaaaa];
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]];Print[bbbbbb];

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]];Print[cccccc];
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];
Programul coordonatelor punctului final :
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.40,0.40,0.42}
Print[111111];
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]];Print[aaaaa];
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]];Print[bbbbbb];
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]];Print[cccccc];
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: t1 = 3,06 m; t2 = -9,16 m; t3 = - 0,12 m.

Punct final: t11 = -5,2 m; t21 = 4.97 m; t31 = - 0,22 m.

2. 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.
Roboii industriali realizeaz trei mari grupe de operaii :
- deplasri pure;
- eforturi statice pure;
- sarcini complexe rezultate din combinarea deplasrilor i a eforturilor.
n cele ce urmeaz va fi analizat numai prima categorie de operaii, deplasarile
pure. n timpul unei deplasri un robot trebuie s parcurg o anumit traiectorie dup o
anumit lege orar. Aceast traiectorie este definit prin poziiile i orientrile succesive
ale endefectorului. Studiul acestei probleme este necesar n vederea determinrii
semnalelor de comand pe fiecare grad de libertate necesar deplasrii endefectorului
pe traiectoria impus. Traiectoria endefectorului se realizeaz prin compunerea micrii
tuturor gradelor de libertate.Practic, micarea endefectorului se descompune n micri
ale gradelor de libertate, poziiilor iniiale i finale ale endefectorului din spaiul
coordonatelor operaionale le corespund poziii n spaiul coordonatelor articulare.
Generarea micrii la nivelul unui grad de libertate se poate realiza n dou
moduri :
1) n coordonate articulare (interne).
2) n coordonate operaionale (externe).
1) n coordonate articulare endefectorul i atinge inta (punctul final) n
momentul n care toate articulaiile i ating valoarea coordonatei finale.
Dezavantajul major al metodei const n faptul c nu exist un control al
traiectoriei, ci numai al poziiei finale. Metoda se aplic n cazul roboilor de vopsit.
2) Generarea micrii la nivelul unui grad de libertate n coordonate operationale
se realizeaz prin determinarea uneia sau a mai multor funcii de interpolare care
asigur atingerea anumitor puncte din spaiul operaional n funcie de timp.
Aceast metod nltur dezavantajele metodei precedente.

Printre modalitile de generare a micrii ntre doua puncte exist:


a) Deplasarea ntre dou puncte din spaiul de lucru al robotului, fr a i se
impune nici o restricie. n acest caz micarea este liber ntre cele dou puncte.
b) Deplasarea ntre dou puncte din spaiul de lucru al robotului cu condiia
atingerii unor puncte intermediare, n vederea evitarii unor coliziuni cu diferitele
obstacole din spaiul su de lucru.
c) Deplasarea ntre dou puncte din spaiul de lucru al robotului, traiectoria
fiindu-i impus (liniar, circular, etc.)
d) Deplasarea ntre dou puncte din spaiul de lucru al robotului de-a lungul unei
traiectorii impuse.
n unele dintre cazurile descrise mai sus, generarea micrii se poate face n
spaiul coordonatelor articulare (a i b). n celelelte cazuri, micarea fiind definit prin
coordonatele operaionale, acestea trebuiesc transformate n coordonate articulare.
Conform rezultatelor de la etapa anterioara vectorii pozitiei sunt:

initiale : t1 = 3,06 m; t2 = -9,16 m; t3 = - 0,12 m


finale : t11 = -5,2 m; t21 = 4.97 m; t31 = - 0,22 m.
Vom obtine legea de miscare in coordonate articulare prin interpolarea unei
functii de gradul III.
Cerinte:
q1(t) = a1t3 + b1t2+ c1t+ d1
q2(t) = a2t3 + b2t2+ c2t+ d2
q3(t) = a3t3 + b3t2+ c3t+ d3
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:.

pentru prima lege de miscare avem:

q1(t) = a1t3 + b1t2+ c1t+ d1


q1(t) = 3a1t2 + 2b1t+ c1
q1(0)= t1
q1(1)= t1
q1(0)= 0
q1(1)= 0
Vom obtine urmatori coeficienti: a1 = 16.52; b1= -24.78; c1= 0; d1 = 3.06
Rezulta ca:
q1(t) = 16.52t3 -24.78t2+ 3.06

pentru a doua lege de miscare avem:

q2(t) = a2t3 + b2t2+ c2t+ d2


q2(t) = 3a2t2 + 2b2t+ c2
q2(0)= t2
q2(1)= t2
q2(0)= 0
q2(1)= 0
Vom obtine urmatori coeficienti: a2 = -28.26; b2= 42.39; c2= 0; d2 = -9.16
Rezulta ca:
q2(t) = -28.26t3 + 42.39t2- 9.16

pentru a treia lege de miscare avem:

q3(t) = a3t3 + b3t2+ c3t+ d3


q3(t) = 3a3t2 + 2b3t+ c3
q3(0)= t3
q3(1)= t3
q3(0)= 0
q3(1)= 0
Vom obtine urmatori coeficienti: a3 = 0.2; b3= -0.3; c3= 0; d3 = -0.12
Rezulta ca:
q3(t) = 0.2t3 -0.3t2 0.12

3.

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.

Planificarea traiectoriilor roboilor industriali


Problemele cinematicii, dinamicii i ale generrii micrii la nivelul unui grad de
mobilitate au fost examinate n capitolele anterioare, astfel nct, n acest capitol ne
vom referi la problema determinrii algoritmului pentru conducere ce asigur micarea
RI n lungul unei traiectorii prestabilite. nainte de nceperea micrii RI este important
s se cunoasc dac exista pe traiectoria RI obstacole i dac exist restricii pe
traiectoria endefectorului.
Pot exista dou tipuri de coliziuni:
-

ale corpului robotului cu obstacole din spaiul su de lucru;


ale endefectorului cu obstacole din spaiul su de lucru.
n funcie de rspunsurile la aceste dou ntrebri regula de conducere a
roboilor aparine unuia din cele patru tipuri indicate n tabelul 5.1. Din acest tabel se
observ c regulile de conducere a roboilor se mpart n dou categorii :
- cnd exist obstacole pe traiectorie;
- cnd nu exist obstacole pe traiectorie.

n acest capitol sunt examinate diferite moduri de planificare a traiectoriilor cnd


lipsesc obstacolele. n situaia n care exist obstacole, acestea vor fi ocolite, cea mai
simpl metod de a le ocoli fiind prin stabilirea unui numar de puncte
intermediare.Traiectoria stabilit a obiectului manipulat poate fi definit sub forma unei
succesiuni de puncte n spaiul n care sunt date poziia i orientarea sub forma unei
curbe spaiale ce unete aceste puncte.
Curba de-a lungul creia se deplaseaz endefectorul din poziia iniial n cea
final se numete traiectoria end-efectorului.
Sarcina noastr const n elaborarea unui algoritm pentru alegerea i descrierea
micrii dorite a manipulatorului ntre punctul iniial i cel final al traiectoriei. Diferena
dintre diferitele metode de planificare a traiectoriilor roboilor se reduce la aproximaii
sau la interpolarea traiectoriei alese cu polinoame de diferite clase i la alegerea unei
succesiuni oarecare de puncte de sprijin n care se produce corectarea parametrilor
micrii robotului pe traiectoria dintre punctul iniial i cel final.
Punctul iniial i cel final al traiectoriei pot fi descrise att n coordonate interne
(articulare) ct i n coordonate externe (operaionale). Mai frecvent se utilizeaz
coordonatele operaionale, ntruct cu ajutorul lor este mai comod s se stabileasc
poziia corect a endefectorului.Dac ntre punctul iniial i cel final al traiectoriei este
necesar cunoaterea coordonatelor articulare, valorile lor se pot obine cu ajutorul
programului de rezolvare a problemei cinematice inverse.
De regul traiectoria ce unete poziia iniial i final a EE nu este unic.Este
posibil, de exemplu, deplasarea EE att n lungul dreptei care uneste cele dou puncte
ct i de-a lungul unei curbe oarecare ce satisface un ir de restricii pentru poziia i
orientarea EE pe poriunile iniiale i finale ale traiectoriei.
La planificarea traiectoriilor se folosete una dintre urmtoarele dou
abordri :
1) Programatorul indic un set precis de restricii pentru poziie, viteza i
acceleraia coordonatelor generalizate ale manipulatorului n cteva puncte ale
traiectoriei (puncte nodale). Dup aceasta, planificatorul traiectoriilor alege
dintr-o clas oarecare a funciilor funcia care trece prin punctele nodale i care
satisface n aceste puncte restricii date.
2) A doua abordare const n aceea c programatorul indic traiectoria dorit a
robotului sub forma unei funcii oarecare descris analitic, de exemplu o
traiectorie rectilinie descris n coordonate carteziene. Programatorul produce o
aproximare a traiectoriei date n coordonate articulare sau operaionale.
n prima abordare, determinarea restriciilor i planificarea traiectoriei se produce n
coordonate articulare.

ntruct n micarea EE nu apar restricii, programatorului i este greu s determine


traiectoria realizat a EE i de aceea apare posibilitatea ciocnirii cu obstacole.
n cazul celei de a dou abordri restriciile se indic n coordonate operaionale n
timp ce acionrile de for au parametrii exprimai n coordonate articulare.Cu ajutorul
transformrilor funcionale (problema cinematic invers) se trece de la limitele
exprimate n coordonate operaionale la cele n coordonate articulare i numai dup
aceea se caut printre funciile de clas stabilite traiectoria ce satisface restriciile
exprimate n coordonate articulare.
Cele dou abordri de mai sus pentru planificarea traiectoriei ar putea fi folosite
(practic n timp real) pentru realizarea eficient a succesiunilor de puncte nodale ale
traiectoriilor robotului.

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:
t1 = 3.06 m;
t2 = -9.16 m;
t3 = - 0.12 m.

Coordonatele articulare pentru punctul final :


t11 = -5.2 m;
t21 = 4.97 m;
t31 = -0.22 m.
Pentru gradul de libertate 3 coordonata articulara a punctului initial este PI(-0.12),
iar coordonata articulara a a punctului final este Pf(-0.22).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 [t 0, 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:
Conditia pentru pozitie:
h1 = a14t4 + a13t3+ a12t2+ a11t+ a10 , t

(ecuatia 1)
[0,1]

h1(0) = a10 = - 0.12

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)

h2(0) = a20 = - 0,51


a14 + a13+ a10=a20

(ecuatia 4)

Conditia de continuitate a vitezei:

(ecuatia 5)

v2(t) = 3a23t2 + 2a22t+ a21


v2(0) = a21
4a14 + 3a13 = a21

Conditia de continuitate a acceleratie:

(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
Pentru t1=t-1, t 1

[0,1]

[-1,0]

h3(t1)= a34t14 + a33 t13+ a32 t12+ a31 t1 +a30

h3(t1)= a34t14 + (4a34+ a33)t13+ (6a34 +3a33 + a32) t12 + (4a34 +3a33 + 2a32+a31) t1+
(a34 +a33 + a32+a31+a30)
a34= a34
a33= 4a34+a33
a32=6a34+3a33+a32
a31=4a34+3a33+2a32+a31
a30=a34+a33+a32+a31+a30
Conditia de continuitate a pozitiei: h2(1) = h3(-1)
a23+a22+a21+a20= a34-a33+a32-a31+a30

(ecuatia 7)

Conditia de continuitate a vitezei:

3a23+2a22+a21= -4a34+3a33-2a32+a31

Conditia de continuitate a acceleratiei:(ecuatia 9)

6a23+2a22= 12a34-6a33+2a32

Pentru punctul final Pf:

(ecuatia 8)

Conditia pentru pozitie: h3(0)= -0.22


h3(0)= a30= -0.22

(ecuatia 10)

Conditia pentru viteza:


a31=0

(ecuatia 11)

Conditia pentru acceleratie:


a32=0

(ecuatia 12)

Conditiile de definire ale punctelor nodale intermediare sunt:


- pentru punctul A: h2(0) = q31 + = -0,12+ 0,1

(ecuatia 13)

- pentru punctul B: h2(1) = q32 - = -0.22 0,1

(ecuatia 14)

Astfel, cele 14 ecuatii cu 14 necunoscute sunt prezentate mai jos:

a10 = -0.12
a11 = 0
a12 = 0
a20 = -0.51
a14 + a13+ a10=a20
4a14 + 3a13 = a21
12a14t + 6a13=2a22
a23+a22+a21+a20= a34-a33+a32-a31+a30
3a23+2a22+a21= -4a34+3a33-2a32+a31
6a23+2a22= 12a34-6a33+2a32
a30= -0.22
a31=0
a32=0

Pentru t
ecuatii urmator:

[0,1] se calculeaza a34, a33, a32, a31,a30, rezolvandu-se sistemul de

a34 = a34
4a34 +a33 = a33
6a34 + 3a33 +a32 = a32
4a34 +3a33 +2a32 +a31 = a31
a34 +a33 +a32 +a31 + a30 = a30
Se ajunge la urmatoarele valori:
a30 = - 0,80
a31 = 1,76
a32 = -1,41
a33 = 0,12
a34 = 0,17
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]

Bibliografie
1) Curs Roboti Industriali - Chircor M.
2) Indrumar Proiect Roboti Industriali

S-ar putea să vă placă și