cinematica robotilor industriali

40
 CINEMATICA ROBOŢILOR INDUSTRIALI PROBLEMA CINEMATICĂ DIRECTĂ Problema cinematic ă direc tă repre zint ă ansa mblul relaţ iilor care permit defin irea  poziţiei endefectorului în funcţie de coordonatele articulare, practic ea asigurând conversia coordonatelor interne (articulare) în coordonate externe (operaţionale). Poziţia endefectorului este definitã prin cele „m” coordonate : X = [ x 1 , x 2 , .... , x m ] (1) Variabilele articulare sunt definite astfel : q = [ q 1 , q 2 , .... , q n ] T (2) Problema cinematică directă se exprimă prin relaţia : X = f(q) (3) iar problema cinematică inversă prin relaţia : q = f -1 (X) Exist ã mai multe modalitaţ i de def ini re a vec tor ulu i „X” , combin ân d una din metodele de definire a poziţiei cu una dintre metodele de definire a orientării. De exemplu utilizând cosinuşii directori, obţinem: X = [P x , P y , P z , s x ,s y , s z , n x , n y , n z , a x , a y , a z ] T (4) În cele mai multe cazuri , calculul lui „X” implică calculul matricei de transformare a endefectorului. Utilizând triedrele şi notaţiile „Hartemberg-Denavit” , matricea de transformare a coordonatelor triedrului „i” în coordonate „i-1”, se defineşte ca fiind i-1 T i  i-1 T i = C i S i d i C i S i C iC i S i riS i S i S i S i C i C i ri C i θ θ  α θ α θ α α  α θ α θ α α   0 0 0 0 1 (5) Conversia coordonatelor articulare în coordonate operaţionale se face prin rezolvarea  prob leme i cine matic e directe iar conversia coord onat elor coor dona telor oper aţion ale în coordonate articulare se face prin rezolvarea problemei cinematice inverse.  Aplicaţie la problema cinematicã directă Faţă de sistemul de coordonate fix, coordonatele unui punct, de exemplu articulaţia “4” la momentul „t k ” se determină rezolvând problema cinematicã directă. Matricile de transformare omogene ale robotului PUMA 600 au forma : 0 T 1 = C S S C 1 1 0 0 1 1 0 0 0 0 1 0 0 0 0 1 1 T 2 = C S S C 2 2 0 0 0 0 1 01 4 9 2 2 0 0 0 0 0 1 .

Upload: mugurciobanu

Post on 09-Jul-2015

513 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 1/40

 

CINEMATICA ROBOŢILOR INDUSTRIALI

PROBLEMA CINEMATICĂ DIRECTĂ

Problema cinematică directă reprezintă ansamblul relaţiilor care permit definirea poziţiei endefectorului în funcţie de coordonatele articulare, practic ea asigurând conversiacoordonatelor interne (articulare) în coordonate externe (operaţionale). Poziţia endefectoruluieste definitã prin cele „m” coordonate :

X = [ x1 , x2 , .... , xm ] (1)Variabilele articulare sunt definite astfel :

q = [ q1 , q2 , .... , qn ]T (2)Problema cinematică directă se exprimă prin relaţia :

X = f(q) (3)iar problema cinematică inversă prin relaţia :

q = f -1(X)

Existã mai multe modalitaţi de definire a vectorului „X” , combinând una dinmetodele de definire a poziţiei cu una dintre metodele de definire a orientării.De exemplu utilizând cosinuşii directori, obţinem:X = [Px , Py , Pz , sx ,sy , sz , nx , ny , nz , ax , ay , az]T (4)În cele mai multe cazuri , calculul lui „X” implică calculul matricei de transformare a

endefectorului.Utilizând triedrele şi notaţiile „Hartemberg-Denavit” , matricea de transformare a

coordonatelor triedrului „i” în coordonate „i-1”, se defineşte ca fiind i-1Ti 

i-1Ti =

C i S i di

C iS i C iC i S i riS i

S iS i S iC i C i riC i

θ θ  

α θ α θ α α  

α θ α θ α α  

− −

0

0 0 0 1

(5)

Conversia coordonatelor articulare în coordonate operaţionale se face prin rezolvarea  problemei cinematice directe iar conversia coordonatelor coordonatelor operaţionale încoordonate articulare se face prin rezolvarea problemei cinematice inverse.

 Aplicaţie la problema cinematicã directă

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 :

0T1 =

C S 

S C 

1 1 0 0

1 1 0 0

0 0 1 0

0 0 0 1

1T2 =

C S 

S C 

2 2 0 0

0 0 1 0 149

2 2 0 0

0 0 0 1

− −

.

Page 2: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 2/40

 

2T3 =

C S 

S C 

3 3 0

3 3 0 0

0 0 1 0

0 0 0 1

0T3 = 0T1 1T2 2T3  X 

 Z 

4

4

4

1

= 0T3 

 x

 y

 z 

1

Pentru robotul Puma relaţia de mai sus devine : X 

 Z 

4

4

4

1

= 0T3 

0 02

0 432

0

1

,

,

Rezolvând sistemul ce rezultă din relaţia precedentă, 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)Sin2θ i(t)-

0,02[Cos2θ i(t)Sinθ i(t)-Sin3θ i(t)]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 acelaşi timp reprezintă şi ecuaţiile parametrice ale traiectoriei articulaţiei „4”

Page 3: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 3/40

 

PROBLEMA CINEMATICĂ INVERSĂ

Problema cinematică inversă permite calculul coordonatelor articulaţiilor, care aducendefectorul în poziţia şi orientarea dorită, date fiind coordonatele absolute (operaţionale).

Atunci când problema cinematică inversă are soluţie, ea se constituie în modelulgeometric invers „MGI”.

Dacă nu putem găsi o soluţie analitică problemei cinematice inverse (ceea ce seîntîmplă destul de frecvent) putem apela la metode numerice, al căror neajuns însă îlconstituie volumul mare de calcule. Cea mai frecventă metodă este metoda Newton-Raphson.

Există o varietate de metode de rezolvare a problemei cinematice inverse ( Pieper 68 ,Paul 81 , Lee 83 , Elgazaar 85 , Pieper şi Khalil 88 ).

Dintre acestea se remarcă pentru facilităţile pe care le oferă metoda Pieper şi Khalil şimetoda lui Paul.

Metodă lui Khalil şi Pieper permite rezolvarea problemei cinematice inverse indiferentde valorile caracteristicilor geometrice al robotului, dar pentru roboţii cu şase grade delibertate şi care posedă sau trei cuple cinemtice de rotaţie cu axele concurente sau trei cuplecinematice de translaţie.

Datorită flexibilităţii şi faptului că posedă soluţie a problemei cinematice inverse,această structură cu trei cuple de rotaţie cu axele concurente (numită şi structură "decuplată" )se regăseşte în majoritatea modelelor de roboţi comercializate.

Poziţia punctului de intersecţie al celor trei axe este unic determinată doar devariabilele „q1,q2,q3”.

Un alt avantaj al structurii decuplate este că permite disocierea şi tratarea separată a poziţionării şi a orientării.

Metoda lui „Paul” tratează separat fiecare caz în parte.

Mai există şi alte metode, ca cea a lui „Lee şi Elgazaar” care însă nu au un mare gradde generalitate şi nu suportă generalizari.Spunem că un robot are soluţie la problema cinematică inversă dacă putem să-i

calculãm toate configuraţiile care permit atingerea unei poziţii date. Nu toate mecanismele articulate satisfac aceasta condiţie.Dupã Roth, roboţii cu mai puţin de şase grade de libertate au întotdeauna soluţie.

Roboţii cu sase grade de libertate au soluţie, dacă prezintă una dintre urmãtoarelecaracteristici :

- posedă trei cuple de translaţie;- posedă trei cuple de rotaţie cu axe concurente;- posedă o cupla de rotaţie şi una de translaţie coaxiale;

- posedă doua perechi de cuple de rotaţie cu axe concurente.Aproape toate structurile de roboţi industriali utilizate în industrie prezintă o soluţie a problemei cinematice inverse şi de aceea au structuri asemănatoare celor descrise anterior.

Din punct de vedere al numărului de soluţii existã trei cazuri :I. Problema cinematică inversă nu are soluţii, ca în cazul când ţinta se află în afara

spaţiului de lucru al robotului.II. Problema cinematică inversă are o infinitate de soluţii atunci când :

- robotul este redundant vis a vis de misiunea încredinţată;- robotul se află într-o configuraţie singulară. Robotul nu-şi poate rotiendefectorul în jurul anumitor axe. Această situaţie nu se datoreazăstructurii robotului ci valorilor numerice ale unor parametri ce descriu

situaţiile impuse.

Page 4: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 4/40

 

III. Problema cinematică inversă are un numar finit de soluţii şi toate pot fi calculatefară ambiguitate. Numărul de soluţii depinde de arhitectura robotului.

Pentru clasa roboţilor cu şase grade de libertate posedând trei cuple cinematice derotaţie cu axe concurente numãrul maxim de soluţii este de 32.

Acest număr, obţinut atunci când nici un parametru geometric nu este nul, descreşte

atunci când aceştia iau anumite valori particulare.Numarul de soluţii mai depinde şi de marimea curselor articulaţiilor.

Rezolvarea problemei cinematice inverse

Fie un robot industrial a cărui matrice de transformare omogenă are expresia :0Tn = 0T1

1T2.....n-1Tn (15)Vom nota

U0 = 0T11T2......n-1Tn (16)

unde U0 =

1000

 Pz az nz  sz 

 Pyayny sy

 Pxaxnx sx

(17)

Matricea „U0” face parte din datele iniţiale ale problemei. Ea descrie poziţia finală pecare endefectorul trebuie să o atingă.

Rezolvarea problemei cinematice inverse constă în determinarea variabilelor articulare pornind de la relaţia (1.15) , în funcţie de „s , n , a şi P”.

Calculul primelor trei articulaţii

Există un algoritm care se referă la unul dintre cele mai frecvente arhitecturi de roboţi:cel al roboţilor cu şase grade de libertate care posedă trei cuple cinematice de rotaţie cu axeconcurente.

Poziţia punctului de intersectie al celor trei axe concurente este în funcţie numai de„q1,q2,q3”.

Având o structură „decuplată” se pot separa problemele de poziţionare de cele deorientare.

Deoarece avem de a face cu o structură decuplată :0P6 = 0P4 (20)

 Px

 Py

 Pz 1

=

0

T0 

1

T2 

2

T3 

3

T4 

0

0

0

1

(21)

Folosind relaţia (1.20) putem determina variabilele „q1,q2,q3”. Din (1.21) obţinem :

3P4 = 3T4 

0

0

0

1

=

C S d 

C S C C S r S  

S S S C C r C  

4 4 0 4

4 4 4 4 4 4 4

4 4 4 4 4 4 4

0 0 0 1

− −

α α α α    

α α α α     

0

0

0

1

= (22)

Page 5: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 5/40

 

=

r S 

r C 

4

4 4

4 4

1

α  

α  

unde:- Ci = reprezintă Cos(θ i) ,- Si = reprezintă Sin(θ i).

2P4 = 2T3 

r S 

r C 

4

4 4

4 4

1

α  

α  =

  f  

  f  

  f  

1

2

3

1

(23)

Utilizând forma generalã a lui 2T3 , putem determina pe f i :f 1(θ 3) = C3d4+S3Sα 4r 4+d3 f 2(q3) = Cα 3(S3d4-C3Sα 4r 4)-Sα 3(Cα 4r 4+r 3) (24)

f3(q3)= Sα 3(S3d4-C3Sα 4r 4)+Cα 3(Cα 4r 4+r 3)Se observă că f 1 este funcţie numai de θ 3, în timp ce f 2 şi f 3 sunt funcţii de θ 3 şi der3.înmulţind la dreapta cu 1T2 , obţinem :

1P4 = 1T2 2P4 = 1T2 

  f  

  f  

  f  

1

2

3

1

=

 g 

 g 

 g 

1

2

3

1

(25)

unde :g1( θ 3,q3 ) = F1(θ 3,q3) + d2 

g2( q2,q3 ) = Cα 2F2( q2,q3 )-Sα 2F3( r 2, q3 ) (26)g3( q2,q3 ) = Sα 2F2( q2,q3 ) + Cα 2F3( r 2,q3 )cu :

F1(θ 3,q3 ) = C2f 1 - S2f 2 F2(q2,q3 ) = S2f 1 + C2f 2 (27)F3(q2,q3 ) = f 3 + r 2 

In sfârşit, înmulţind la stăga cu 0T1 , obţinem :

0P4 = 0T1 1P4 =

C S 

 s C 

1 1 0 0

1 1 0 0

0 0 1 1

0 0 0 1

 

 g 

 g 

 g 

1

2

3

1

(28)

Cum însă

0P4 =

 Px

 Py

 Pz 

1

 

rezultă coordonatele punctului caracteristic manipulat faţă de sistemul de coordonate fix :Px = C1g1 - S1g2 Py = S1g1 + C1g2 (29)Pz = g3 + r 1 

Page 6: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 6/40

 

Calculul lui θ 4 , θ 5 , θ 6

Mecanismul de orientare este constituit din trei cuple cinematice de rotaţie cu axeconcurente.

O soluţie generală pentru determinarea lui θ 4 , θ 5 , θ 6 se obţine pornind de laecuaţia :

3A0 [ s n a ] = 3A6 (30)Aceasta poate fi pusă şi sub forma :

3A0 [ s n a ] = 3A4 4A5 5A6 (31)În forma ei generală matricea i-1Ai are forma :

i-1Ai = A(x, α i) A(z , θ i) (32)Pentru a simplifica membrul drept, înmulţim ambii membrii cu A(x,-α 4). Aceastădescompunere facilitează soluţia dar nu este obligatorie. Prin înmulţire obţinem :

A(x,α 4) 3A0 [ s n a ] = A (z,θ 4) 4A55A6 (33)

Termenul din stânga este cunoscut şi îl vom nota cu [ F G H ]Vom obţine:

[ F G H ] = A(z, θ 4 ) 4A5 5A6 (34)Soluţia ecuaţiei precedente se obţine prin înmulţiri succesive ;

A(z, -θ 4 ) [ F G H ] =4A5 5A6 (35) Notam membrul stâng cu U(i,j) iar pe cel drept cu T(i,j).Atfel prima coloana a membrului stâng devine :

U1(1,1) = C4Fx+S4Fy U1(2,1) = -S4Fx+C4Fy U1(3,1) = Fz 

Analog se obţin expresiile celei de a doua şi celei de a treia coloane.U1(1,2) = C4Gx+S4Gy U1(2,2) = -S4Fx+C4Gy U1(3,2) = Gz U1(1,3)= C4Hx+S4Hy U1(2,3)= -S4Hx+C4Hy U1(3,3)= Hz 

Pentru membrul drept obţinem :T1(1,1) = C5C6-S5Cα 6S6T1(2,1) = Cα 5S5C6+(Cα 5C5Cα 6-Sα 5Sα 6)S6

T1

(3,1) = Sα 5S5C6+(Sα 5C5Cα 6+Cα 5Sα 5)S6T1(1,2) = -C5S6-S5Cα 6C6T1(2,2) = -Cα 5S5S6+(Cα 5C5Cα 6-Sα 5Sα 6)C6 (36)

T1(3,2) = -Sα 5S5S6+(Sα 5C5Cα 6+Cα 5Sα 6)C6T1(1,3) = S5Sα 6T1(2,3) = -Cα 5C5Sα 6-Sα 5Cα 6T1(3,3) = -Sα 5C5Sα 6+Cα 5Cα 6

Înmulţind în continuare ecuaţia (1.35) la stânga, obţinem :5A4A(z, θ 4) [F G H ] =5A6 (37)

Elementele componente ale primei coloane a matricei membrului stâng au forma :

U2

(1,1) = (C5C4-Cα 5S5S4)Fx+(C5S4+Cα 5S5C4)Fy+Sα 5S5FzU2(2,1) = (-S5C4-Cα 5C5S4)Fx-(S5S4-Cα 5C5C4)Fy+Sα 5C5Fz

Page 7: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 7/40

 

U2(3,1) = Sα 5S4Fx-Sα 5C4Fy+Cα 5FzExpresiile coloanei a doua se obţin plecând de la cele ale coloanei 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α 6S6T2(3,1) = Sα 6S6T2(1,2) = -S6T2(2,2) = Cα 6C6T2(3,2) = Sα 6C6T2(1,3) = 0T2(2,3) = -Sα 6T2(3,3) = Cα 6

 Din egalitatea U 2(3,3) = T 2(3,3) obţinem θ  4 

Cunoscând θ  4 , din U 1

(1,3) = T 1

(1,3) şi U 1

(3,3) = T 1

(3,3) obţin θ  5  În sfârşit din U 2(1,1) = T 2(1,1) şi U 2(1,2) = T 2(1,2) rezultă θ  6  .

Există poziţii şi orientări corespunzatoare anumitor valori particulare alecaracteristicilor geometrice ale robotului, cărora le corespund ecuaţii nedeterminate alecoordonatelor robotului, numite singularităţi.

 Program de calcul pentru problema cinematică inversă

În vederea realizării unui program de calcul am apelat la un limbaj de programare careoferă importante facilităţi de calcul matricial şi numeric: „Mathematica 3.0”.

Redăm mai jos programul sursă realizat în baza algoritmului de rezolvare a problemeicinematice inverse descrise mai sus:

a={0,0,0.432,0.02,0,0}; b={0,-0.149,0,-0.432,0,-0.056}; notaţiile H-D ale robotului PUMA 600al={0,-Pi/2,0,Pi/2,-Pi/2,Pi/2};

coordonatele punctului din spaţiul de lucru ( operaţionale ) p={0.5,0.12,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]]);

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];

Page 8: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 8/40

 

P3[t1_,t2_,t3_]=g3[t2,t3]+b[[1]];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];InverseFunction->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}]A1[t1_]={{Cos[t1],-Sin[t1],0},{Cos[al[[1]]] Sin[t1],Cos[al[[1]]] Cos[t1],-in[al[[1]]]},{Sin[al[[1]]] Sin[t1],Sin[al[[1]]] Cos[t1],Cos[al[[1]]]}};

A2[t2_]={{Cos[t2],-Sin[t2],0},{Cos[al[[2]]] Sin[t2],Cos[al[[2]]] Cos[t2],Sin[al[[2]]]},{Sin[al[[2]]] Sin[t2],Sin[al[[2]]] Cos[t2],Cos[al[[2]]]}};

A3[t3_]={{Cos[t3],-Sin[t3],0},{Cos[al[[3]]] Sin[t3],Cos[al[[3]]] Cos[t3],Sin[al[[3]]]},{Sin[al[[3]]] Sin[t3],Sin[al[[3]]] Cos[t3],Cos[al[[3]]]}};

A4[t4_]={{Cos[t4],-Sin[t4],0},{Cos[al[[4]]] Sin[t4],Cos[al[[4]]] Cos[t4],Sin[al[[4]]]},{Sin[al[[4]]] Sin[t4],Sin[al[[4]]] Cos[t4],Cos[al[[4]]]}};

A5[t5_]={{Cos[t5],-Sin[t5],0},{Cos[al[[5]]] Sin[t5],Cos[al[[5]]] Cos[t5],Sin[al[[5]]]},

{Sin[al[[5]]] Sin[t5],Sin[al[[5]]] Cos[t5],Cos[al[[5]]]}};A6[t6_]={{Cos[t6],-Sin[t6],0},{Cos[al[[6]]] Sin[t6],Cos[al[[6]]] Cos[t6],Sin[al[[6]]]},

{Sin[al[[6]]] Sin[t6],Sin[al[[6]]] Cos[t6],Cos[al[[6]]]}};OR={{0,-1/sqrt[2],1şqrt[2]},{1/sqrt[2],-1/2,-1/2},{1/sqrt[2],1/2,1/2}};aa1=A1[0.79];aa2=A2[-1.26];aa3=A3[-0.236];aaa=aa1.aa2.aa3;K=aaa . A4[t4] . A5[t5] . A6[t6];F=K[[1]];G=K[[2]];H=K[[3]];f11=F[[1]];f12=F[[2]];f13=F[[3]];g21=G[[1]];g22=G[[2]];g23=G[[3]];h31=H[[1]];h32=H[[2]];h33=H[[3]];OR1=OR[[1]];OR2=OR[[2]];OR3=OR[[3]];or11=OR1[[1]];or12=OR1[[2]];or13=OR1[[3]];or21=OR2[[1]];or22=OR2[[2]];or23=OR2[[3]];or31=OR3[[1]];or32=OR3[[2]];or33=OR3[[3]];FindRoot[{f13==0.4,g23==0.3,h31==0.45},{t4,0.01},{t5,0.01},{t6,0.01}]

 Aplicaţie

Am ales două poziţii din spaţiul de lucru al robotului „RIP 6,3” descrise de

următoarele coordonate operaţionale :q1op=[ 680.7 , 393 , 1200 ]q2op=[ 335 , 580.23 , 1000 ]

  pentru care prin aplicarea algoritmului de calcul am obţinut următoarele coordonatearticulare:

q1art=[ 1.046 , -9.473 , 11.373 ]q2art=[ 0.732 , -5.362 , 7.539 ]

Page 9: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 9/40

 

Calculul distanţei maxime a spaţiului de lucru al roboţilor industriali

Calculul maximului distanţei de la origine la punctul caracteristic este însă o problemădificilă, având în vedere faptul cã expresia acestei distanţe este o funcţie cu un numãr de

variabile egal cu cel al numărului de grade de libertate (în cele mai frecvente cazuri 6).Volumul de calcule este foarte mare şi uneori suntem obligaţi să apelăm la metode

numerice de rezolvare a unor ecuaţii, cele analitice nefiind operante.De aceea am imaginat prezenta metodă, care porneşte de la problema cinematică

inversă, evitând astfel volumul mare de calcule necesitat de determinarea maximului uneifuncţii cu şase variabile.

Fără a micşora din gradul de generalitate al metodei se vor calcula maximul distanţei pentru robotul „RIP 6,3”.

Înlocuind valorile parametrilor „Hartemberg-Denavit” ale robotului „RIP 6,3” înformulele (3.29) , (3.27) , (3.26) , (1.27) , obţinem :

D2 = 0.01728 C3 - 0.373248 S3 + 0.395849 (38)Aceasta reprezintă o ecuaţie trigonometrică în Sin(θ 3) şi Cos(θ 3). Ea are soluţie dacă

este îdeplinită condiţia :( 0.01728 )2 + ( 0.373248 )2 ≥ ( 0.395849 - D2 )2 (39)

Efectuând calculele , obţinem :D4 -0.792 D2 + 0.017 < 0 (40)

Rezolvând această inecuaţie, şi alegând valorile poziţive pentru D , obţinem :D ∈ [ 0.15 , 0.87721 ]Deci pentru robotul „RIP 6,3” valoarea maximă a distanţei ce poate fi parcursă şi

 pentru care există soluţie a problemei cinematice inverse este 0.87721 m.Această distanţă poate fi situată oriunde în interiorul spaţiului de lucru al robotului,

dar trebuie să ţinem cont de faptul cã acesta nu este omogen.De asemeni folosind metoda expusă mai sus putem spune dacă poziţia unui punct dinspaţiu, exprimată în coordonatele sistemului fix poate fi accesată de către robot.

Calculând distanţa de la acest punct la origine, pentru o anumită structură de robot, putem indica dacă valoarea distanţei satisface ecuaţia (40) sau nu şi deci, dacă problemacinamatică inversă are sau nu soluţie.

Aceasta este echivalent cu a determina dacă punctul se află sau nu în interiorulspaţiului de lucru al robotului, ceea ce reprezintă o metodă rapidă de diagnostic alapartenenţei punctului caracteristic manipulat la spaţiul de lucru al robotului.

Page 10: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 10/40

 

DINAMICA ROBOŢILOR INDUSTRIALI

Ecuaţiile cinematice şi dinamice ale unui robot industrial de tip serial

Un robot industrial de tip serial este un mecanism spaţial care contine cuplecinematice de rotaţie sau de translaţie.

Considerăm un set de coordonate generalizate „{qi}n”, pe care le grupăm într-unvector n-dimensional al coordonatelor generalizate, „q”.

Vitezele generalizate se definesc ca fiind derivată în raport cu timpul al coordonatelor generalizate, „q”.

Fie „ck ” şi „ck ” vitezele şi acceleratiile centrelor de greutate ale elementelui „k”, iar „wk” şi „wk” vitezele şi acceleraţiile unghiulare ale aceluiasi element „k”.

Astfel contribuţia elementului „k” la forţa de inerţie generalizată se defineşte ca fiind:  δ ck    δ wk 

∅k * = -(  )T

mk  ck - (  )T

hk  (40)  δ q δ q∅k * este un vector n-dimensional,iar hk  este derivata în raport cu timpul al momentuluiunghiular al elementului `k` în raport cu centrul sau de greutate

hk = Ik wk  +wk x Ik wk  (42)unde:

Ik  este tensorul centroidal de inerţie al elementului `k`. δ ck /δ q şi δ wk /δ q suntmtrici 3 x n.

Vectorul n-dimensionl al forţei de inerţie generalizată a sistemului este :δ ck   δ wk 

∅* = ∑ ∅k * = -∑ [(   )

T

mk ck + (  )

T

hk ]. (43)δ q δ qPe de altă parte, dacă asupra elementului „k” se acţionează cu un sistem de forţe şi

momente care produc o forţa rezultantă „f k ” actionând în centrul de greutate al elementului şiun moment „nk ”, atunci vectorul n-dimensional al forţelor generalizate,corespunzator elementului „k” este :

 δ ck  δ wk 

∅k = (  )T f k + (  ) Tnk . (44) δ q δ q

Vectorul n-dimensional al forţelor active generalizate care acţionează asupra sistemului estedefinit mai jos :

  δ ck    δ wk 

∅ = ∑ [(  ) T f k + (  )Tnk ], (45)  δ q δ q

Astfel ecuaţia dinamică a sistemului devine : ∅ + ∅ * = 0 (46)Ecuaţia de mai sus este cunoscuta sub numele de ecuaţia „Kane”

Calculul vitezelor unghiulare şi al acceleraţiilor

Viteza unghiulară şi acceleraţia elementului „i” se calculează cu relaţiile :

Page 11: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 11/40

 

wi =

+

)("",

)("",

1

1

T t r a n s l a t i ed ee s t eic i n e m a t i c ac u p l ad a c aw

 Rr o t a t i ed ee s t eic i n e m a t i c ac u p l ad a c aew

i

iii θ (47)

wi =

++

−−

)("",

)("",

)("",

1

11

1

T tr a n s la t i ed ee s t eic i n e m a ti c ac u p l ad a c aw

 Rr o ta t i ed ee s t eic in em a t i c ac u p lad a c aee xww

T tr a n s la t i ed ee s t eic i n e m a ti c ac u p l ad a c aw

i

iiiiii

i

θ θ   

(48)Pentru:

i=1,2,....,n,unde:

wo şi wo sunt vitezele unghiulare şi acceleraţiile bazei. în scopul reduceriicomplexitătii calculelor, toti vectorii corespunzatori elementului „i” se vor exprima in funcţiede coordonatele sistemului „i”.

Astfel vitezele şi acceleraţiile unghiulare se vor exprima cu ajutorul următoarelor formule :

QiT[wi-1]i-1 + θ i[ei]i, dacă cupla cinematică „i” este „R”

[wi]i = QiT[wi-1]i-1, dacă cupla cinematică „i”este „T” (49)

QiT[wi-1]i-1 + [wi x θ iei + θ iei]i , dacă cupla cinematică „i” este „R”

[wi]i = QiT[wi-1]i-1 , dacă cupla cinematică „i”este „T” (50)

Dacă sistemul de referinţă inerţial este ales cel al bazei, atunci:

[wo]o=0, [wo]o=0.

Calculul vitezelor şi acceleraţiilor centrelor de greutate

Fie „ci” vectorul de poziţie al centrului de greutate, „Ci”, al elementului „i”, „ρ i” fiindvectorul direcţionat de la „Oi” la „Ci” (vezi figurile 3.1 şi 3.2).Vectorul de poziţie a doua centre de greutate succesive este dat de relaţia :

ci = ci-1-ρ i-1 + ai +ρ i (51)sau,în coordonatele sistemului „i” :

[ci]i = QiT [ci-1 +ai +ρ i-1]i-1 + [ρ i]i. (52)

După diferenţierea ecuaţiilor (52) faţă de timp, obţinem următoarele formule :- dacã cupla „i”este de tip „R”,atunci :

[ci] = QiT [ci-1 +wi-1 x (ai-ρ i-1)]i-1 +[wi x ρ i]i (53)

[ci]i = QiT [ci-1 +wi-1 x (ai x ρ i-1) + wi-1 x (wi-1 x (ai-ρ i-1))]i-1 + [wi x ρ i +wi x (wi x ρ i)]i

(54)- dacă cupla cinematică „i”este de tip „T”, atunci :

[ci]i = QiT [ci-1+wi-1 x (ai-ρ i-1)]i-1 + [wi x ρ i-bi ei]i (55)

[ci]i = QiT [ci-1 +wi-1 x (ai-ρ i-1)+wi-1 x (wi-1 x (ai-ρ i-1))]i-1 +[wi x ρ i +wi x (wi-1 x ρ i)-bi

ei - 2wi x bi ei]i. (56)

Page 12: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 12/40

 

Fig.3.1. Elemente succesive articulate printr-o cuplă de rotaţie.

Fig.3.2. Elemente succesive articulate printr-o cuplă de translaţie. pentru:

i=1,2,....,n,,unde co şi co sunt respectiv viteza şi acceleraţia centrului de greutate al bazei.Dacă baza este aleasă ca sistem inerţial de referinţă, atunci :

[co]o = 0 şi [co]o =0.In derivarea ecuaţiilor (52),am folosit următoarele formulele de derivare ale vectorilor :

element i-1

element i

Oi

Oi+1

Ci

Ci-1

Oo

Oi-1

ai+1

cic

i-1

ai

ρ

i

ρi-

1

ei+1

ei

ai

Oi

OoC

i-1

Ci

Oi+1

di

 bi

ci

ci-1

Oi-1

ρ

i

ρ i-1

ei

ei+1

elementul`i-1`

elementul `i`

Page 13: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 13/40

 

=

"""",

"""",

1

1

T t i pd ee s t eic i n e m a t i c ac u p l ad a c aeb x aw

 Rt i pd ee s t eic i n e m a t i c ac u p l ad a c a x awa

iiii

ii

i(57)

Program de calcul pentru determinarea vitezelor şi a acceleraţiilor

Pe baza algoritmului descris mai sus şi utilizând limbajul “Mathematica 2.1. “ amrealizat următorul program de calcul :

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} Notaţiile H-D ale robotului RIP 6,3aa={0,0,0,0,0,0}rt={1,1,0,1,1,1}

f1[x_]=0.5295+0.0852 t ;f2[x_]=-1.43-0.20487 t ;f3[x_]=-0.03+0.448586 t ; Funcţiile ce descriu variaţia coordonatelor interne ,f4[x_]=x-4 ; interpolate cu funcţii de gradul întâif5[x_]=x-5 ;f6[x_]=x-6 ;

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,3.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]}};

Page 14: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 14/40

 

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]];

Page 15: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 15/40

 

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];

 Aplicaţie

Pentru o mişcare executată între două puncte P1 şi P2 , ale spaţiului de lucru (definiteanterior), mişcare generată în coordonate articulare, se vor determina vitezele şi acceleraţiilegradelor de libertate 1 şi 3.

Astfel în programul de mai sus vitezele unghiulare au fost notate cu “w”, matricile detransformare cu “Q”, acceleraţiile unghiulare cu “dw” , iar acceleraţiile centrelor de greutatecu “ca”.

Redăm mai jos aceste mărimi pentru gradele de libertate întâi şi trei.

Print[w[3]];

Page 16: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 16/40

 

{{(1 - 0.20487 Cos[4 - x] + 0.0852 Cos[1.43 + 0.20487 x] Sin[4 - x])Sin[6 - x] + Cos[6 - x] (Cos[5 - x] (-0.0852 Cos[4 - x] Cos[1.43 + 0.20487 x] -0.20487 Sin[4 - x]) - Sin[5 - x] (1 - 0.0852 Sin[1.43 + 0.20487 x]))},{-(Cos[6 - x] (1 - 0.20487 Cos[4 - x] + 0.0852 Cos[1.43 + 0.20487 x] Sin[4 - x])) +Sin[6 - x] (Cos[5 - x] (-0.0852 Cos[4 - x] Cos[1.43 + 0.20487 x] - 0.20487 Sin[4 - x]) -

Sin[5 - x] (1 - 0.0852 Sin[1.43 + 0.20487 x]))},{1 + (-0.0852 Cos[4 - x] Cos[1.43 + 0.20487 x] - 0.20487 Sin[4 - x])Sin[5 - x] + Cos[5 - x] (1 - 0.0852 Sin[1.43 + 0.20487 x])}}Print[dw[3]];

{{-(Cos[6 - x] (1 - 0.20487 Cos[4 - x] + 0.0852 Cos[1.43 + 0.20487 x] Sin[4 - x])) +Sin[6 - x] (Cos[5 - x] (-0.0852 Cos[4 - x] Cos[1.43 + 0.20487 x] - 0.20487 Sin[4 - x]) -Sin[5 - x] (1 - 0.0852 Sin[1.43 + 0.20487 x])) + Sin[6 - x] (0.0852 Cos[4 - x] Cos[1.43 +

0.20487 x] + 0.20487 Sin[4 - x] - 0.0174549 Sin[4 - x] Sin[1.43 + 0.20487 x]) + Cos[6 - x] (-0.0174549 Cos[1.43 + 0.20487 x] Sin[5 - x] + (-0.0852 Cos[4 - x] Cos[1.43 + 0.20487 x] -0.20487 Sin[4 - x]) Sin[5 - x] + Cos[5 - x] (1 - 0.0852 Sin[1.43 + 0.20487 x]) + Cos[5 - x]

(0.20487 Cos[4 - x] - 0.0852 Cos[1.43 + 0.20487 x] Sin[4 - x] + 0.0174549 Cos[4 - x]Sin[1.43 + 0.20487 x]))}, {(1 - 0.20487 Cos[4 - x] + 0.0852 Cos[1.43 + 0.20487 x] Sin[4 - x])Sin[6 - x] + Cos[6 - x] (Cos[5 - x] (-0.0852 Cos[4 - x] Cos[1.43 + 0.20487 x] - 0.20487 Sin[4

- x]) - Sin[5 - x] (1 - 0.0852 Sin[1.43 + 0.20487 x])) - Cos[6 - x] (0.0852 Cos[4 - x] Cos[1.43+ 0.20487 x] + 0.20487 Sin[4 - x] - 0.0174549 Sin[4 - x] Sin[1.43 + 0.20487 x])+ Sin[6 - x] (-0.0174549 Cos[1.43 + 0.20487 x] Sin[5 - x] + (-0.0852 Cos[4 - x] Cos[1.43 +

0.20487 x] - 0.20487 Sin[4 - x]) Sin[5 - x] + Cos[5 - x] (1 - 0.0852 Sin[1.43 + 0.20487 x]) +Cos[5 - x] (0.20487 Cos[4 - x] - 0.0852 Cos[1.43 + 0.20487 x] Sin[4 - x] + 0.0174549 Cos[4

- x] Sin[1.43 + 0.20487 x]))}, {0.0174549 Cos[5 - x] Cos[1.43 + 0.20487 x] + Cos[5 - x] (-0.0852 Cos[4 - x] Cos[1.43 + 0.20487 x] - 0.20487 Sin[4 - x]) - Sin[5 - x] (1 - 0.0852Sin[1.43 + 0.20487 x]) + Sin[5 - x] (0.20487 Cos[4 - x] - 0.0852 Cos[1.43 + 0.20487 x] Sin[4- x] + 0.0174549 Cos[4 - x] Sin[1.43 + 0.20487 x])}}Print[ca[3]];

{{-0.183804 - 0.0349098 (0.03 - 0.448586 x) Cos[1.43 + 0.20487 x] -0.00725904 (-0.03 + 0.448586 x) Cos[1.43 + 0.20487 x] Sin[1.43 + 0.20487 x] +Sin[1.43 + 0.20487 x] (2.1684 10-19 Cos[1.43 + 0.20487 x] +0.000725904 Cos[1.43 + 0.20487 x] Sin[1.43 + 0.20487 x]) -Cos[1.43 + 0.20487 x] (0.000725904 Cos[1.43 + 0.20487 x]2 +0.00174549 Sin[1.43 + 0.20487 x] + 0.0852 (0.020487 - 0.00852 Sin[1.43 + 0.20487 x])Sin[1.43 + 0.20487 x])}, {0.0764391 Cos[1.43 + 0.20487 x] - 0.000725904 Cos[1.43 +

0.20487 x]2

- 0.00725904 (-0.03 + 0.448586 x) Cos[1.43 + 0.20487 x]2

-0.20487 (0.020487 - 0.00852 Sin[1.43 + 0.20487 x]) - 0.00174549 Sin[1.43 + 0.20487 x] -0.0174549 (0.03 - 0.448586 x) Sin[1.43 + 0.20487 x] + 0.20487 (0.20487 (-0.03 + 0.448586

x) + 0.0852 (0.03 - 0.448586 x) Sin[1.43 + 0.20487 x])}, {0.00725904 (0.03 - 0.448586 x)Cos[1.43 + 0.20487 x]2 + 0.0174549 (-0.03 + 0.448586 x) Sin[1.43 + 0.20487 x] +0.0852 Sin[1.43 + 0.20487 x] (0.20487 (-0.03 + 0.448586 x) + 0.0852 (0.03 - 0.448586 x)

Sin[1.43 + 0.20487 x]) - Cos[1.43 + 0.20487 x] (2.1684 10 -19 Cos[1.43 + 0.20487 x] +0.000725904 Cos[1.43 + 0.20487 x] Sin[1.43 + 0.20487 x]) - Sin[1.43 + 0.20487 x]

(0.000725904 Cos[1.43 + 0.20487 x]2 + 0.00174549 Sin[1.43 + 0.20487 x] + 0.0852(0.020487 - 0.00852 Sin[1.43 + 0.20487 x]) Sin[1.43 + 0.20487 x])}}

Page 17: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 17/40

 

Generarea mişcării

Roboţii industriali realizează trei mari grupe de operaţii :

- deplasări pure;- eforturi statice pure;- sarcini complexe rezultate din combinarea deplasărilor şi a eforturilor.În cele ce urmează va fi analizată numai prima categorie de operaţii, deplasarile pure.

În timpul unei deplasări un robot trebuie să parcurgă o anumită traiectorie după oanumită lege orară. Această traiectorie este definită prin poziţiile şi orientările succesive aleendefectorului.

Studiul acestei probleme este necesar în vederea determinării semnalelor de comandă pe fiecare grad de libertate necesar deplasării endefectorului pe traiectoria impusă.

Traiectoria endefectorului se realizează prin compunerea mişcării tuturor gradelor delibertate.

Practic, mişcarea endefectorului se descompune în mişcări ale gradelor de libertate,  poziţiilor iniţiale şi finale ale endefectorului din spaţiul coordonatelor operaţionale lecorespund poziţii în spaţiul coordonatelor articulare.

Generarea mişcării la nivelul unui grad de libertate se poate realiza în două moduri :1) În coordonate articulare (interne).2) În coordonate operaţionale (externe).

1) În coordonate articulare endefectorul îşi atinge „ţinta” (punctul final) în momentulîn care toate articulaţiile îşi ating valoarea coordonatei finale.

Dezavantajul major al metodei constă în faptul că nu există un control al traiectoriei,ci numai al poziţiei finale. Metoda se aplică în cazul roboţilor de vopsit.

2) Generarea mişcării la nivelul unui grad de libertate în coordonate operationale serealizează prin determinarea uneia sau a mai multor funcţii de interpolare care asigurăatingerea anumitor puncte din spaţiul operaţional în funcţie de timp.

Această metodă înlãtură dezavantajele metodei precedente.

Printre modalităţile de generare a mişcării între doua puncte există:a) Deplasarea între două puncte din spaţiul de lucru al robotului, fără a i se impune

nici o restricţie. În acest caz mişcarea este liberă între cele două puncte. b) Deplasarea între două puncte din spaţiul de lucru al robotului cu condiţia atingerii

unor puncte intermediare, în vederea evitarii unor coliziuni cu diferitele obstacole din spaţiulsău de lucru.

c) Deplasarea între două puncte din spaţiul de lucru al robotului, traiectoria fiindu-iimpusă (liniară, circulară, etc.)

d) Deplasarea între două puncte din spaţiul de lucru al robotului de-a lungul uneitraiectorii impuse.

În unele dintre cazurile descrise mai sus, generarea mişcării se poate face în spaţiulcoordonatelor articulare (a şi b).

În celelelte cazuri, mişcarea fiind definită prin coordonatele operaţionale, acesteatrebuiesc transformate în coordonate articulare.Generarea mişcarii în spaţiul articulaţiilor prezintă numeroase avantaje, cum ar fi :

- mişcarea este minimală pe fiecare dintre articulaţii;

- volumul de calcule necesar este mai mic;- mişcarea nu este afectată de trecerea prin puncte singulare;

Page 18: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 18/40

 

- limitările de viteză şi de cuplu se cunosc, ele corespunzând limitelor fizice aledispoziţivelor de acţionare (motoare elecetrice, hidraulice, etc.). În schimb există undezavantaj major, cel al deplasării imprevizibile între poziţia iniţială şi cea finală,existând riscul coliziunilor. Din acestă cauză această metodă de generare a mişcăriise recomandã pentru mişcări rapide în spaţii lipsite de obstacole.

Generarea mişcării în spaţiul operational prezintă avantajul controlului traiectoriei dar are şi unele dezavantaje, cum ar fi:

- este necesară în permanenţă conversia coordonatelor din spaţiul operaţional în cel alarticulaţiilor, „on line”;

- metoda nu se poate aplica în cazul punctelor singulare sau a celor care nu aparţinspaţiului de lucru al robotului;

- limitele de viteză şi cuplu fiind definite în spaţiul articulatiilior, nu se pot utiliza directîn cel operational. În acest caz se impun limitări prin valorile medii ale parametrilor de

 performanţă ai robotului, indiferent de configuraţie, rezultând uneori utilizarea lui sub nivelul performanţelor sale.

Generarea mişcării între două puncte în spaţiul articulaţiilor 

Fie un robot industrial cu „n” grade de libertate, „q i şi q f ” vectorii poziţiei iniţiale şifinale în spaţiul articulatiilor iar „vm şi am” respectiv viteza şi acceleraţia maximă. Legea demişcare este exprimată prin ecuaţia :

q(t) = qi + r(t) D (58)unde:

0<t<tf şi D = qf -qi (59)r(t) este o funcţie de interpolare definită prin următoarele condiţii iniţiale:

r(0) = 0;r(tf ) = 1 (60)

Cele mai frecvente funcţii de interpolare utilizate sunt cele polinomiale de gradul întâi sautrei.În cazul utilizării funcţiilor polinomiale de gradul întâi, mişcarea fiecărei articulaţii

este descrisă printr-o funcţie de gradul întâi, ecuaţia mişcării putându-se exprima sub forma :q(t) = qi + t/tf D (61)

Prin derivarea relaţiei de mai sus se obţine :q`(t) = D/tf  (62)

Deci viteza va fi constantă de a lungul intregii traiectorii. Graficele de variaţie ale coordonateiarticulare, vitezei şi acceleraţiei sunt redate în figura 3.5.

r(t) = a0t3+a1t2+a2t+a3 (63)iar condiţiile limită sunt :

q(0) = qi q(tf ) = qf  q(0) = 0 (64)q(tf ) = 0

Coeficienţii „ai” se obţin prin rezolvarea sistemului de mai sus, rezultând :a0=qia1=0a2=3D/tf 

2 a3=-2D/tf 

3 Deci:

r(t) = 3(t/tf )2-2(t/tf )3 (65)Graficele de variaţie ale coordonatelor articulare, vitezei şi acceleraţiei sunt redate în figura3.3.

Page 19: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 19/40

 

În unele cazuri se impun legile de variaţie ale vitezelor şi acceleraţiilor în funcţie detimp.

Cea mai frecvent utilizată lege de variaţie a vitezelor este după un profil trapezoidal.q j qf 

 j

qi j

tf  tq j 

(qf  j-qi

 j)tf  

tq j 

t

Fig. 3.3. Interpolarea liniară pentru un modul

Page 20: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 20/40

 

q j qf 

 j 

qi j  tf  t

q j 3|D j|/2tf  

t

q j 

6|Dj|/tf 2 

t

Fig.3.4. Interpolarea cu polinoame de gradul trei pentru un modul

Pentru intervalul [0, τ ] avem urmãtoarele condiţii limită :

qk (0)=am qk (0)=0 (66)qk (0)=0

Prin integrarea lui (66) se obţine :qk (t) = amt+k 1 

Din relaţia de mai sus rezultă că:qk (t) = amt2/2

Pentru intervalul (τ , tf -τ ] condiţile limită sunt :qk = 0qk = vm 

Prin integrare se obţine :

qi(t) = vm tqi(t) = vm t2/2+k 3 

Page 21: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 21/40

 

Dar,qi(τ ) = amτ 2/2 , din condiţia de continuitate în τ .vmτ 2/2+k 3 = amτ 2/2 => k 3 = τ 2/2(am-vm)

Deci:qi(t) = vmt2/2+τ 2/2(am-vm)

Pentru t = tf -τ , obţinem :qi(tf -τ ) = (vmtf 

2+τ 2am-2vmtf τ )/2Pentru intervalul (tf -τ ,tf ] condiţiile limită devin :

qk = -am qk (tf )= 0

Prin integrarea se obţine :qk (t) = -amt+k 4 

Pentru k 4 obţinem:k 4 = amtf  , şi deci : qk (t) = -amt+amtf  

Integrând se obţine :

qk (t) = (-amt2

/2+amtf t )+k 5 Din condiţia de continuitate în tf -τ se obţine :k 5 = ( 2amτ 2-amtf τ +vmtf 2-2vmtf τ )/2

Deci, pentru diagramele de variaţie a vitezelor şi acceleraţiilor impuse modulului „k” seobţine:

amt2/2 pentru t ∈ [o, τ ]qk (t) = [vmt2+τ 2(am-vm)]/2 pentru t ∈(τ ,tf -τ ]

[-amt2/2+amtf t]+[2amτ 2-amtf τ +vmtf 2-2vmtf τ ]/2 pentru t ∈ (tf -

τ ,tf ]În acest exemplu am considerat o anumitã alurã a graficelor de variaţie ale vitezelor şi

acceleraţiilor şi timpi de accelerare şi decelerare egali. Metoda expusã mai sus se preteazaînsã şi la o generalizare, putând lua în considerare timpi de accelerare şi decelerare diferiţi(τ 1  ≠  τ 2) şi grafice de variaţie ale vitezelor şi acceleraţiilor având o alta alurã datã de oexpresie analiticã oarecare.

 Aplicaţie

Fie două puncte P1 şi P2 din spaţiul de lucru al robotului RIP 6,3, descrise încoordonate operaţionale şi pentru care am determinat în capitolul 1 coordonatele articulare

 prin rezolvarea problemei cinematice inverse. Am luat în considerare numai primele treigrade de libertate care asigură poziţionarea.

P1op=[0.50,0.12,0.4]P2op=[0.40,0.1,0.30]

P1art=[0.529533,-1.43014,-0.03022]P2art=[0.614724,-1.63487,0.418366]

Dorim să generăm mişcarea între cele douã puncte în coordonate articulare. Putemexprima legile de mişcare cu ajutorul unor funcţii polinomiale de gradul întâi sau de gradultrei. Pentru a reduce volumul calculelor vom opta în acest caz pentru funcţiile de gradul întâi.

Deci, vom avea :

q1(t) = 0.5295 + 0.0852 ( t/tf )q2(t) = -1.43 – 0.20487 ( t/tf )

Page 22: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 22/40

 

q3(t) = -0.03 + 0.448586 ( t/tf )Dacă luăm în considerare un timp total tf = 1 sec. , relaţiile de mai sus devin :

q1(t) = 0.5295 + 0.0852 tq2(t) = -1.43 – 0.20487 tq3(t) = -0.03 + 0.448586 t

Vom analiza şi varianata interpolării cu funcţii de gradul trei.q1(t) = 0.5295 + 0.0852 [3(t/tf )2-2(t/tf )3]q2(t) = -1.43 – 0.20487 [3(t/tf )2-2(t/tf )3]q3(t) = -0.03 + 0.448586 [3(t/tf )2-2(t/tf )3]

Pentru un timp total tf = 1 sec. , relaţiile de mai sus devin :q1(t) = 0.5295 + 0.0852 (3t2-2t3)q2(t) = -1.43 – 0.20487 (3t2-2t3)q3(t) = -0.03 + 0.448586 (3t2-2t3)

Page 23: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 23/40

 

Planificarea traiectoriilor roboţilor industriali

Problemele cinematicii, dinamicii şi ale generării mişcării la nivelul unui grad demobilitate au fost examinate în capitolele anterioare, astfel încât, în acest capitol ne vom referi

la problema determinării algoritmului pentru conducere ce asigură mişcarea RI în lungul uneitraiectorii prestabilite.

Înainte de începerea mişcării RI este important să se cunoască dacă exista petraiectoria RI obstacole şi dacă există restricţii pe traiectoria endefectorului.

Pot exista două tipuri de coliziuni:- ale corpului robotului cu obstacole din spaţiul său de lucru;- ale endefectorului cu obstacole din spaţiul sãu de lucru.

În funcţie de răspunsurile la aceste două întrebări regula de conducere a roboţilor aparţine unuia din cele patru tipuri indicate în tabelul 5.1. Din acest tabel se observă căregulile de conducere a roboţilor se împart în două categorii :

- când există obstacole pe traiectorie;- când nu există obstacole pe traiectorie.În acest capitol sunt examinate diferite moduri de planificare a traiectoriilor când

lipsesc obstacolele.În situaţia î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 spaţiul în care sunt date poziţia şi orientarea sub forma unei curbe spaţiale ceuneşte aceste puncte.

Curba de-a lungul cãreia se deplaseazã endefectorul din poziţia iniţialã în cea finalã  se numeşte traiectoria end-efectorului.

Sarcina noastră constă în elaborarea unui algoritm pentru alegerea şi descriereamişcării dorite a manipulatorului între punctul iniţial şi cel final al traiectoriei.Diferenţa dintre diferitele metode de planificare a traiectoriilor roboţilor se reduce la

aproximaţii sau la interpolarea traiectoriei alese cu polinoame de diferite clase şi la alegereaunei succesiuni oarecare de puncte de sprijin în care se produce corectarea parametrilor mişcării robotului pe traiectoria dintre punctul iniţial şi cel final.

Punctul iniţial şi cel final al traiectoriei pot fi descrise atât în coordonate interne(articulare) cât şi în coordonate externe (operaţionale). Mai frecvent se utilizează coordonateleoperaţionale, întrucât cu ajutorul lor este mai comod să se stabilească poziţia corectă aendefectorului.

Dacă între punctul iniţial şi cel final al traiectoriei este necesară cunoaşterea

coordonatelor articulare, valorile lor se pot obţine cu ajutorul programului de rezolvare a problemei cinematice inverse.

De regulă traiectoria ce uneşte poziţia iniţială şi finală a EE nu este unică.Este posibilă, de exemplu, deplasarea EE atât în lungul dreptei care uneste cele două

 puncte cât şi de-a lungul unei curbe oarecare ce satisface un şir de restricţii pentru poziţia şiorientarea EE pe porţiunile iniţiale şi finale ale traiectoriei.

Page 24: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 24/40

 

Tabelel 3.1 Tipuri de conducere a roboţilor.

Obstacole pe traiectoria robotului

Există Lipsesc

Limitele pe

traiectoria

robotului

Există

Planificareaautonomă atraiectoriei ceasigură ocolireaobstacolelor, plusreglarea mişcãrii înlungul traiectorieialese în procesul defuncţionare arobotului

Planificareaautonomă atraiectoriei

 plus reglareamişcãrii înlungultraiectorieialese în

 procesul defuncţionare arobotului

Lipsesc

Conducera pe poziţie plusdetectarea şiocolireaobstacolelor în

 procesul de mişcare

Conducera pe poziţie

În acest capitol se examinează modalitãţile de planificare atât ale traiectoriilor rectilinii cât şi al traiectoriilor plane neliniare.

Mai întâi vom examina cel mai simplu caz de planificare al traiectoriilor ce satisfacecâteva restricţii privind caracterul mişcãrii EE iar apoi rezultatul obţinut îl vom generaliza cuscopul luãrii în consideraţie a limitelor dinamicii robotului.

Pentru o mai bună înţelegere, planificarea mişcării poate fi socotită ca o “cutieneagrã”. La intrare se indică câteva variabile ce caracterizează limitele aflate pe traiectorie.Ieşirea este o succesiune dată în timp a punctelor intermediare în care sunt determinate încoordonate articulare şi operaţionale, poziţia, orientarea, viteza şi acceleraţia EE prin careobiectul manipulat trebuie sã treacã între punctul iniţial şi cel final.

La planificarea traiectoriilor se foloseşte una dintre urmãtoarele douã abordãri :1) Programatorul indică un set precis de restricţii pentru poziţie, viteza şi acceleraţia

coordonatelor generalizate ale manipulatorului în câteva puncte ale traiectoriei

(puncte nodale). După aceasta, planificatorul traiectoriilor alege dintr-o clasăoarecare a funcţiilor funcţia care trece prin punctele nodale şi care satisface în aceste puncte restricţii date.

2) A doua abordare constă în aceea că programatorul indică traiectoria dorită arobotului sub forma unei funcţii oarecare descrisă analitic, de exemplu o traiectorierectilinie descrisă în coordonate carteziene. Programatorul produce o aproximare atraiectoriei date în coordonate articulare sau operaţionale.

În prima abordare, determinarea restricţiilor şi planificarea traiectoriei se produce încoordonate articulare.

Întrucât în mişcarea EE nu apar restricţii, programatorului îi este greu sã determine

traiectoria realizatã a EE şi de aceea apare posibilitatea ciocnirii cu obstacole.

Page 25: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 25/40

 

În cazul celei de a două abordări restricţiile se indică în coordonate operaţionale în timpce acţionările de forţă au parametrii exprimaţi în coordonate articulare.

Cu ajutorul transformărilor funcţionale (problema cinematică inversă) se trece de lalimitele exprimate în coordonate operaţionale la cele în coordonate articulare şi numai dupăaceea se caută printre funcţiile de clasã stabilite traiectoria ce satisface restricţiile exprimate în

coordonate articulare.Cele două abordări de mai sus pentru planificarea traiectoriei ar putea fi folosite(practic în timp real) pentru realizarea eficientă a succesiunilor de puncte nodale aletraiectoriilor robotului.

Totuşi, succesiunea dată în timp a vectorilor „{q(t) , d[q(t)]/dt , d2[q(t)]/dt2}” în spaţiulvariabilelor articulare se formează fãră a lua în consideraţie limitele dinamicii manipulatoruluiceea ce poate conduce la apariţia unor erori.

Formularea generală a problemei planificării traiectoriilor.

Planificarea traiectoriilor se poate produce atât în coordonate articulare cât şi

operaţionale.La planificarea traiectoriilor în coordonate articulare pentru descrierea completă a

mişcării manipulatorului se indică dependenţa în funcţie de timp a tuturor variabilelor articulare ca şi a primele două derivate ale lor.

Dacă planificarea traiectoriilor se face în coordonate operaţionale se indică dependenţade timp a poziţiei, vitezei şi acceleraţiilor EE şi pe baza acestor informaţii se determinăvalorile coordonatelor articulare ale vitezelor şi acceleraţiilor lor.

Planificarea mişcării în coordonate articulare prezintã trei avantaje :1) Se indică comportamentul variabilelor controlate direct în procesul de mişcare al

robotului;2) Planificarea traiectoriei se poate realiza practic în timp real;3) Traiectoriile variabilelor articulare sunt mai uşor de planificat.

Deficienţa constă în modul complicat de determinare a poziţiei diferitelor elemente alerobotului şi a EE în procesul mişcării.

O asemenea procedură este adesea necesară pentru a evita ciocnirea cu obstacole ceexistă pe traiectoria EE.

În caz general algoritmul principal de formare a punctelor nodale ale traiectoriei dinspaţiul variabilelor articulare este foarte simplu:

t = t0 ciclul : asteptaţi momentul următor al corecţiei ;

t = t+dt ;h(t) este funcţia care exprimă poziţia dată a manipulatorului în spaţiul variabilelor articulare lamomentul t.

Dacã t= tf  , ieşiţi din procedură;Realizaţi ciclul;

Aici „dt” este intervalul de timp dintre două momente succesive ale corecţiei parametrilor de mişcare ai robotului.

Pe traiectoria planificată există trei tipuri de restricţii :1) punctele nodale ale traiectoriei trebuie să se calculeze uşor prin procedee nerecurente;2) trebuie să se asigure continuitatea coordonatelor articulare şi a primelor două derivate;3) trebuie să fie reduse la minimum mişcările inutile de tip împrăştiere.

Page 26: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 26/40

 

Restricţiiile enumerate mai sus sunt satisfãcute de traiectoriile generate de succesiuni polinoamiale.

Spre exemplu, dacă, pentru descrierea mişcării unei articulaţii „i” se foloseştesuccesiunea „p” a polinoamelor, ele trebuie să conţină „3(p+1)” coeficienţii aleşi înconcordanţă cu condiţiile iniţiale şi finale pentru poziţie, viteză şi acceleraţie şi să asigure

continuitatea acestor caracteristici pe întreaga traiectorie.Dacă se adaugă o restricţie suplimentară, de exemplu, se indică o poziţie într-un punctoarecare, intermediar al traiectoriei, atunci pentru realizarea acestei condiţii se cere o condiţiesuplimentară.

De regulă, se indică două condiţii suplimentare pentru poziţie (în apropierea punctuluiiniţial al traiectoriei şi în aproperea celui final) care asigură direcţiile nepericuloase alemişcarii pe porţiunile iniţială şi finală şi o precizie mai mare a conducerii mişcării.

În acest caz, variaţia fiecărei variabile articulare poate fi descrisă cu un singur polinomde gradul şapte sau cu douã polinoame: unul de grad patru şi unul de grad trei ( 4-3-4) sau ( 3-5-3 ).

Aceste procedee sunt examinate în următoarele subcapitole.

Dacă planificarea traiectoriei se face în coordonate operaţionale algoritmul indicat maisus se transformă, având urmãtorul aspect :

t = to ciclul : asteptaţi momentul următor al corecţiei;

t = to + dt ;unde:

H(t) este poziţia EE în spaţiul operaţional la momentul t;Q[H(t)] este vectorul coordonatelor articulare ce corespund lui H(t);

Dacă t = tf  ieşiţi din procedură;Realizaţi ciclul;

Aici, pe lângă determinarea funcţiei traiectoriei H(t) în fiecare punct de corecţie al parametrilor de mişcare a RI se cere sã se determine şi valorile variabilelor articulare cecorespund poziţiei calculate a EE . Funcţia matriceala H(t) descrie poziţia EE în spaţiulabsolut şi în momentul de timp “t” şi dupã cum se aratã în subcapitolul 5.3 , ea reprezintãmatricea de transformare a coordonatelor cu o dimensiune de 4 x 6.

 În general, planificarea traiectoriilor în coordonate operaţionale se compune din 2 paşi succesivi:

1) formarea succesiunii punctelor nodale în spaţiul operaţional, care sunt dispuse înlungul traiectoriei planificate a EE;

2) alegerea unor funcţii de orice clasã care descrie (aproximeazã) porţiunile traiectoriei

între punctele nodale , în concordanţã cu un criteriu oarecare.

Existã douã abordãri principale faţã de planificarea traiectoriilor în spaţiul operaţional.În prima dintre ele majoritatea calculelor, optimizarea traiectoriilor şi reglarea

ulterioarã a mişcãrii se produc în coordonate operaţionale. Dând acţionãrii semnalul decomandã se calculeazã diferenţã dintre poziţia curentã şi cea datã a EE în spaţiul operaţional.Punctele nodale de pe traiectoria rectilinie datã în spaţiul cartezian se aleg pentru intervalelede timp fixate. Calcularea valorilor coordonatelor articulare în aceste puncte se produce în

 procesul de conducere a mişcarii RI, utilizând modelul geometric invers.A doua abordare constã în aproximarea porţiunilor rectilinii ale traiectoriei din spaţiul

variabilelor articulare obţinute ca rezultat al interpolãrii traiectoriei între punctele nodale cu polinoamele de grad mic. Reglarea mişcãrii în aceastã abordare are loc la nivelul variabilelor 

Page 27: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 27/40

 

articulare. Semnalul de comandã transmis la acţionare se calculeazã pentru diferenţa dintre poziţia curentă şi cea datã a RI în spaţiul coordonatelor articulare.

Prima dintre abordãrile enumerate mai sus pentru planificarea traiectoriilor în spaţiuloperaţional permite sã se asigure o mare precizie a mişcării în lungul traiectoriei date. Totuşi,toţi algoritmii cunoscuţi pentru conducerea mişcãrii se construiesc având în vedere lipsa

traductorilor care mãsoarã poziţia EE în spaţiul operaţional şi în cel articular. Aceastaconduce la necesitatea realizării transformării coordonatelor operaţionale ale EE în vectorulcoordonatelor articulare ale RI, dar în procesul mişcãrii aceasta este o problema care cere unvolum mare de calcule şi adesea un timp mare pentru conducerea RI. Mai departe, cerinţelefaţã de traiectorie ( continuitate, condiţii limitative ) se formuleazã în coordonate operaţionale,în timp ce limitãrile dinamice ce sunt luate în consideraţie în etapa planificãrii traiectoriei seindicã în spaţiul coordonatelor articulare. Neajunsurile enumerate ale primei abordãri conducla faptul cã se foloseşte mai mult a doua abordare bazatã pe transformarea coordonatelor carteziene ale punctelor nodale în coordonate articulare corespunzãtoare, cu efectuareaulterioarã a interpolãrii în spaţiul variabilelor articulare cu polinoame de grad mic. Aceastãabordare necesitã mai puţin timp pentru calcule în comparaţie cu prima abordare şi uşureazã

luarea în considerare a limitelor dinamicii RI. Totuşi precizia mişcãrii în lungul traiectorieidate în spaţiul operaţional se micşoreazã în acest caz. În subcapitolul următor vom examinacâteva scheme de planificare a traiectoriilor ce folosesc abordãrile indicate.

Traiectoriile în spaţiul variabilelor articulare

La conducerea roboţilor industriali, înainte de a trece la planificarea traiectoriei demişcare este necesar sã se determine configuraţiile robotului în punctul iniţial şi cel final altraiectoriei. Planificarea traiectoriilor în spaţiul variabilelor articulare se va efectua ţinândcont de urmãtoarele considerente:1) În momentul ridicãri obiectului de manipulat mişcarea EE trebuie sã fie îndreptatã de laobiect; în caz contrar se poate produce ciocnirea EE cu suprafaţa pe care este aşezat obiectul.2) Se va indica poziţia punctului iniţial al EE şi normala ce trece prin poziţia iniţialã pesuprafaţa pe care este aşezat obiectul, stabilindu-se astfel coordonatele punctului iniţial.Indicându-se timpul în care EE ajunge în acest punct, se poate comanda viteza de mişcarea aEE.3) Condiţii analoage se pot formula pentru punctul de apropiere de poziţia finalã : EE trebuiesã treacã prin punctul de apropiere aflat pe normala EE ce trece prin poziţia finalã a EE spresuprafaţa pe care trebuie sã fie aşezat obiectul manipulat. Aceasta asigurã o direcţie corectã amişcãrii pe intervalul finalã a traiectoriei (intervalul de apropiere).4) Din cele arãtate mai sus rezultã cã orice traiectorie a mişcãrii RI trebuie sã treacã prin 4

 puncte date: punctul iniţial, punctul de pornire, de apropiere şi cel final.5) Pe traiectorie trebuie sã se indice urmãtoarele:a) punctul iniţial - descris de vitezã şi acceleraţie (adesea egale cu zero);

 b) punctul de plecare - poziţia , viteza şi acceleraţia sunt continui ;c) punctul de apropiere - la fel ca şi pentru cel de plecare;d) punctul final - sunt date viteza şi acceleraţia (de obicei egale cu zero).6) Valorile coordonatelor articulare trebuie sã se afle în limitele restricţiilor fizice şigeometrice ale fiecãrei articulaţii.7) La determinarea timpului de mişcare este necesar sã se ţinã seama de urmãtoarele:a) timpul de parcurgere a porţiunii iniţiale şi a celei finale a traiectoriei se alege ţinând seamade viteza cerutã pentru apropierea şi plecarea EE, şi reprezintã o constantã oarecare ce

depinde de caracteristicile acţionãrilor de forţã ale articulaţiilor;

Page 28: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 28/40

 

 b) timpul de mişcare pe intervalul medie a traiectoriei se determina prin valorile maxime alevitezelor şi acceleraţiilor fiecãreia dintre articulaţii. Pentru normare se foloseşte timpul maximnecesar pentru trecerea prin aceasta porţiune a traiectoriei articulaţiei care este cea mai puţinrapidã.

Se recomandă sã se aleagã un grad oarecare al funcţiilor polinomului ce permite sã se

efectueze interpolarea traiectoriei pentru  punctele nodale date (punctul iniţial, de pornire, deapropiere şi cel final) care asigurã realizarea condiţiei continuitãţii poziţiei, a vitezei şi aacceleraţiei pe tot intervalul de timp [ to , tf ].

 Punctul iniţial :1) poziţia (este datã);2) viteza (este datã de obicei egalã cu zero);3) acceleraţia (este datã de obicei zero);

 Puncte intermediare :4) poziţia în punctul de plecare, de pornire (se alege);5) poziţia în punctul iniţial (se schimbã neîntrerupt la trecerea între porţiunile succesive aletraiectoriei);6) viteza (se schimbã neîntrerupt la trecerea între porţiunile succesive ale traiectoriei);7) acceleraţia (se schimba neîntrerupt la trecerea între porţiunile succesive ale traiectoriei);8) poziţia în primul punct de apropiere (se alege);9) poziţia în punctul de apropiere (se schimbã neîntrerupt la trecerea între porţiunile succesiveale traiectoriei) ;10) viteza (se schimbã neîntrerupt la trecerea între porţiunile succesive ale traiectoriei) ;11) acceleraţia (se schimba neîntrerupt la trecerea între porţiunile succesive ale traiectoriei);

 Punctul final :12) poziţia (este datã)13) viteza (este datã , de obicei zero)14) acceleraţia (este datã , de obicei zero)Una dintre modalitãţi constã în aceea cã se descrie mişcarea articulaţiei “i” cu un polinom degradul şapte:

qi(t) = a7t7+a6t6+....+ a2t2+a1t+a0 ,în care coeficienţii necunoscuţi ai se determinã din condiţiile limitã date şi din condiţiile decontinuitate. Totuşi folosirea unui asemenea polinom de un grad mare are un şir deinconveniente. În particular sunt greu de determinat valorile extreme. Abordarea alternativaconstã în faptul cã se împarte traiectoria mişcãrii în câteva porţiuni şi fiecare din acestea seinterpoleazã cu un polinom de grad mic.

Existã diferite mijloace de împãrţire a traiectoriei în porţiuni, fiecare din ele avândavantaje şi dezavantaje. Varianta 4-3-4 este cea mai rãspândită. Legea de variaţie a

coordonatelor articulare pentru un grad de mobilitate se exprimã în figura 3.5.

Page 29: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 29/40

 

D

C

 

B

A

Fig. 5.1.

A = punctul iniţialB = punctul de plecareC = punctulde apropiereD = punctul final

- AB = intervalul de pornire ;- BC = intervalul de-a lungul cãreia se pãstreazã constante viteza şi acceleraţia ;- CD = intervalul finalã, de poziţionare.

Pentru a obţine o bunã precizie de poziţionare trebuie sã fragmentãm traiectoria în cel

 putin trei intervale :- un interval de pornire , la sfârşitul cãreia se ating viteza şi acceleraţia maximã ;- un interval de-a lungul cãreia se pãstreazã constante viteza şi acceleraţia iar EE parcurge

cea mai mare parte a traiectoriei;- un interval final, de poziţionare.Uneori, în funcţie de necesitãţi, şi intervalul medianã se împarte la rândul ei în mai multeintervale, dacã existã obstacole sau dacã se impune modificarea parametrilor cinematici.Aceastã fragmentare este necesarã în primul rând datoritã exigenţelor impuse de precizia de

 poziţionare. Evident cã este necesarã un prim interval de accelerare de la viteza iniţialã ( decele mai multe ori zero ) la cea de regim. Intervalul 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ã.În cadrul variantei 3-5-3 secţionarea traiectoriei în intervale se produce ca şi pentru 4-3-4, dar se folosesc alte polinoame de interpolare. Numãrul polinoamelor folosite pentru descriereacompleta a traiectoriei pentru un RI cu N grade de mobilitate este 3xN , iar numãrulcoeficienţilor de determinat este 7xN. În acest caz, trebuiesc determinate extremităţile pentrutoate cele 3N intervale ale traiectoriilor. În urmãtorul subcapitol vom examina schemele de

 planificare a traiectoriilor în sistemul 4-3-4 .

Calculul traiectoriei în cazul 4-3-4

În legãtura cu faptul cã pentru fiecare interval a domeniului de variaţie a coordonatelor articulare se cere sã se determine N intervale ale variabilelor articulare, este comod sã sefoloseascã timpul normat t, t∈[0,1]. Aceasta permite sã se obţinã caracterul unitar al

Page 30: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 30/40

 

ecuaţiilor ce descriu schimbarea fiecãreia dintre variabilele articulare pe fiecare interval altraiectoriei. Astfel timpul normat variază de la t=0 ( momentul iniţial pentru fiecare dinintervalele traiectoriei ) pânã la t=1 ( momentul final pentru fiecare din intervaleletraiectoriei). Introducem urmãtoarele notaţii :-) t , este timpul normat, t=t/tm ; t∈[0,1].

-) τ este timpul real , mãsurat în secunde.-) τ i este momentul ( în timp real ) de terminare a intervalului “i” al traiectoriei;-) ti = (τ i - τ i-1 ) este intervalul de timp real consumat pentru parcurgerea intervalul “i” altraiectoriei.t = ( τ  - τ  i-1 )/( τ  i - τ  i-1 ) ; τ   ∈ [ τ  i-1 - τ  i ] ; t ∈[0,1].Domeniul de variţie al variabilelor articulare “j” se indicã sub forma unei succesiuni de

  polinoame hi(t). Pe fiecare interval al domeniului, pentru fiecare variabilã articularã, polinoamele folosite exprimate în timp normat au forma:h1(t) = a14t4+a13t3+a12t2+a11t+a10 (primul interval)h2(t) = a23t3+a22t2+a21t+a20 (al doilea interval)

……………………………………………………hn(t) = an4t4+an3t3+an2t2+an1t+an0 (ultimul interval)Indexul variabilei ce se aflã în partea stângã a fiecãrei egalitãţi indicã numãrul porţiuniitraiectoriei, intervalul “n” fiind ultima. Indexul din notaţiile coeficienţilor necunoscuţi aij auurmãtoarea semnificaţie:- coeficientul “i” pentru intervalul “j” al traiectoriei.Condiţiile limitã pe care trebuie sã le satisfacã sistemul ales de polinoame sunt urmãtoarele :1) Poziţia iniţiala θ 0 =θ (t0);2) Valoarea vitezei iniţiale v0 (de obicei este zero);3) Valoarea acceleraţiei iniţiale a0 (de obicei zero);4) Poziţia în punctul de pornire θ 1 (se alege);5) Continuitatea în poziţie în punctual de plecare, în momentul τ1, adica θ (t1)= θ (t1*)6) Continuitatea în viteză, în punctual de plecare, în momentul τ 1, adicã v(t1)= v(t1

*)7) Continuitatea în acceleraţie în punctual de plecare în momentul τ 1, adică a(t1)= a(t1

*)8) Poziţia în punctul de apropiere θ 2 ( se alege )9) Continuitatea în poziţie, în punctul de apropiere, în momentul τ 2, adicã θ (t2)= θ (t2

*)10) Continuitatea în vitezã, în punctul de apropiere, în momentul τ 2, adicã v(t2)= v(t2

*)11) Continuitatea în acceleraţie, în punctul de apropiere, în momentul τ 2, adicã a(t2)= a(t2

*)12) Poziţia finalã θ f = θ (tf )13) Valoarea vitezei finale vf (de obicei nulã)14) Valoarea acceleraţiei finale af (de obicei nulã)

vi(t) = dhi(t)/dτ = dhi(t)/dt x dt/ dτ = [1/(τ i- τ i-1)] x dhi(t)/dt = 1/ti dhi(t) /dt = [1/ti] f i(t) ,i=1,2,..,n (67)

ai(t) = dh2i(t)/dτ 2 = [1/(τ i- τ i-1)]2 x d2hi(t)/dt2 = 1/ti

2 dh2i(t) /dt2 =

= [1/ti2] f i(t) , i=1,2,..,n (68)

Pentru descrierea primului interval al traiectoriei se foloseşte un polinom de gradul 3.h1(t) = a14t4+a13t3+a12t2+a11t +a10 , t∈[0,1]. (69)Luând în consideraţie egalitãţile (67) şi (68) viteza şi acceleraţia de pe aceastã porţiune auforma:

v1(t) = d[h1(t)]/t1 = [ 4a14t3+3a13t2+2a12t+a11]/t1 (70)a1(t) = d2[h1(t)]/t1

2 = [ 12a14 t2+ 6a13t + 2a12 ]/t12 (71)

Page 31: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 31/40

 

1). Pentru t=0 (punctul iniţial al intervalului dat al traiectoriei) Din condiţiile limitã în acest punct rezultã :a10 = h1(0) = θ 0 (θ 0 dat ) (72)v0 = d[h1(0)] / t1 = {[ 4a14t3+3a13t2+2a12t+a11]/t1}t=0 = a11/t1 (73)

Din această relaţie rezultă : a11 = v0t1 şia0 = d2[hi(0)]/t1

2 = {[ 12a14 t2+ 6a13t + 2a12 ]/t12 }t=0 = 2a12/t1

2 (74)Substituind valorile obţinute ale coeficienţilor în egalitatea (69) vom obţine:h1(t) = a14t4 + a13t3 +[a0t1

3/2]t2+(v0t1) t + θ 0 , t∈[0,1]. (75)2). Pentru t=1 ( punctul final al primului interval al traiectoriei )

În acest punct vom reduce condiţiile limitã aplicate, excluzând cerinţa deplasãrii  precise a coordonatelor articulare prin poziţia datã, dar pãstrând condiţiile privindcontinuitatea vitezei şi a acceleraţiei. Aceste condiţii semnificã faptul cã viteza şi acceleraţiala capãtul primului interval al traiectoriei trebuie sã coincidã cu viteza şi acceleraţia de laînceputul intervalului al doilea. La capãtul primului interval viteza şi acceleraţia sunt egale înmod corespunzãtor:v1(1) = v1 = dh1(1)/t1 = [4a14+3a13+a0t12+v0t1]/t1 (76)a1(1) = a1 = d2h1(1)/t1

2 = [12a14 + 6a13 + a0t12]/t1

2 (77)Pentru descrierea celui de al doilea interval al traiectoriei se foloseşte un polinom de gradulal treilea.h2(t) = a23t3+a22t2+a21t+a20 , t∈[0,1]. (78)1). Pentru t=0 (punctul de plecare) folosind egalitãtile (3.67) şi (3.68) avem în acest punct :h2(0) = a20 = θ 2 (79)v1= dh2(0)/t2={[3a23t2+2a22t+a21]/t2}t=0 = a21/t2 (80)De aici rezultã cã :a1 = dh2(0)/t2

2 = {[6a23t+2a22]/t22}t=0 = 2a22/t2

2 (81)

şi se obţine a22 = a1t2

2

/2Întrucât în acest punct viteza şi acceleraţia trebuie sã coincidã în mod corespunzãtor cuviteza şi acceleraţia din punctul final al intervalului anterioar al domeniului de variaţie acoordonatelor articulare se impun egalitãţile:d[h2(0)]/t2 = d[h1(1)]/t1 şi d2[h2(0)]/t2

2 = d2[h1(1)]/t12 (82)

care conduc în mod corespunzãtor la urmãtoarele condiţii :[( 3a23t2+2a22t+a21)/t2]t=0 = [( 4a14t3+3a13t2+2a12t+a11)/t1]t=1 (83)sau,a21/t2 = 4a14/t1+3a13/t1+a0t1

2/t1+v0t1/t1 (84)şi[(6a23t+2a22)/t2

2]t=0 = [( 12a14t2+6a13t+2a12)/t12]t=1 (85)

sau2a22/t2

2 = 12a14/t12+6a13/t1

2+a0t12/t1

2 (86)2) Pentru t=1 (punctul de apropiere) În acest punct viteza şi acceleraţia trebuie sã coincidã cuviteza şi acceleraţia din punctul iniţial al urmãtoarului interval al domeniului de variaţie acoordonatelor articulare. Pentru punctul examinat avem ;h2(1)=a23+a22+a21+a20 (87)v2(1) = h2(1)/t2 = [( 3a23t2+2a22t+a21)]t=1 = [ 3a23+2a22+a21]/t2 (88)a2(1) = h2(1)/t2

2 = [(6a23t+2a22)/t22]t=1 = [6a23+2a22]t2

2 (89)În descrierea ultimului interval al domeniului de variaţie al coordonatelor articulare sefoloseşte un polinom de gradul 3.

( )01

2

2

3

3

4

4 nnnnnn at at at at at h ++++= , t∈[0 , 1] (90)

Page 32: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 32/40

 

În aceasta egalitate se înlocuieşte t cu t`= t-1 şi se examineazã dependenţa de nouavariabilã t` şi faţã de aceasta vom efectua deplasarea în timp normat. Dacã variabila “t”aparţine intervalului [0 , 1] , atunci variabila “t`” aparţine intervalului de [-1 , 0] .

Astfel , egalitatea (90) va avea forma :( )

01

2

2

3

3

4

4```` nnnnnn

at at at at at h ++++= , t∈[0 , 1] (91)

În final vom gãsi viteza şi acceleraţia pe ultimul interval:

( ) ( )

n

nnnn

n

nn

at at at a

t h

n t v 12

2

3

3

4 `2`3`4``

+++

== , (92)

( )( )

a t n

h n t 

t n

an t an t an

t n`

` ̀ ` `

= =+ +

2

1 2 4 6 3 2 2

2, (93)

1. Pentru t̀ = 0 (punctul final al intervalului examinat al traiectoriei).În concordanţã cu condiţiile limitã din acest punct avem:

hn(0) = an0 = θ f  , (94)vf =h`n (0)/ tn = an1 /tn , (95)

De aici rezultã:an1 = vf tn .

Mai departe ,af =h`n(0) / tn

2 =2an2 / tn2 (96)

şi în final :an2 =af tn

2 / 2.2. Pentru t`=-1În concordanţã cu condiţiile limitã din punctul de apropiere obţinem :hn(-1)=an4 - an3 + [ af tn

2 / 2 ] -vf  tn+ θ f = θ 2 (1) (97)

hn(-1)/tn=n

n f n f nn

n

nnnn

t vt aaa

`t t 

a`t a`t a`t a +−+−

−=

+++=

2

3412

23

434

1

234

(98)( )

n

n f nn

n

nn

n

n

t aaa

`t t 

a`t a`t a

h2

34

2

23

2

4

2

612

1

26121 +−

−=

++−=

=

(99)Condiţiile de continuitate a vitezei şi a acceleraţiei din punctul de apropiere conduc la:

[h`2(1) / t2 ]=[ h`n(-1) / tn ] şi [h`2(1) / t22 ]=[h`n(-1) / tn

2 ] , (100)sau

  02

21

2

22

2

23

22

34 2334

=+++−+−

a

a

a

t vt aaa

n

n f n f nn (101)

şi

=++−+−

2

2

22

2

2

23

2

2

34 26612

a

a

t aaa

n

n f nn 0 (102)

 Notăm:δ 1 = θ 1 -θ 0 = h1 (1)-h1(0) = a14 + a13 +[a0 t1

2 / 2]+ v0t1 , (103)δ 2 = θ 2 -θ 1 = h2 (1)-h2(0) = a23 + a22 + a21 ,

(104)δ n = θ f -θ 2 = hn (0)-hn (-1) =-an4 + an3 - [af  tn

2 / 2] + vf  tn . (105)Toţi coeficienţii necunoscuţi din polinoame ce descriu schimbarea variabilei

articulare pot fi determinati prin rezolvarea în comun a ecuaţiilor (103), (104), (105).

Prezentând acest sistem de ecuaţii în forma matricealã, vom obţine :y =Cx , (106)

Page 33: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 33/40

 

unde

−++−−−−−−=

n f 

t a

n f 

 f n f 

t a

t va

vt aavt at v yn f 

2

200101021

2

210

,,

,,,,,

δ 

δ δ (107)

=

1100000

000

00

0011100

0000

0000

0000011

222

2

2

2

222

2

2

2

12

1

211

1 2662

43321

21 26

143

nn

nn

t t t t 

t t t t t 

t t 

t t t 

C  ,

(108)x = ( a13 , a14 , a21 , a22 , a23 , an3 , an4 , )T Astfel, problema planificãrii traiectoriei conduce la rezolvarea ecuaţiei matriciale

(109):

∑=

=1  j

  jiji xc y ,

sau x = C-1y. (109)Structura matricei C permite sã se găseascã uşor coeficienţii necunoscuţi. Pe lângã

aceasta, matricea inversã C-1 existã întotdeauna numai dacã intervalele de timp t i (când i =

1,2,...n ) sunt pozitive. Rezolvând ecuaţia (109) obţinem toţi coeficienţii necunoscuţi ai polinoamelor care descriu coordonata articularã “j”. Întrucât pentru polinomul ce descrieultimul interval al domeniului de variaţie a coordonatei articulare a fost efectuatã o substituţie,atunci dupã determinarea coeficienţilor ani din ecuaţia (109), este necesar sã se efectuezeînlocuirea inversã, ce constă în substituirea t`=t-1 în egalitatea (105).

 Aplicaţie

Pentru deplasarea endefectorului între două puncte definite în coordonate articulare,  planificarea mişcării efectuându-se în coordonate articulare, se vor determina legile de

variaţie ale coordonatelor articulare ale gradului de mobilitate “ 3 “ utilizând două punctenodale intermediare (unul de plecare şi celălalt de apropiere).

Page 34: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 34/40

 

 Rezolvare

Fie două puncte A şi B din spaţiul de lucru al robotului industrial . Coordonatelearticulare corespunzătoare acestor două puncte sunt :

A [ 0.610 , -1.630 , 0.40 ] ; D [ 0.490 , -1.210 , 0.520 ] .Acestea reprezintă punctul iniţial “A“ şi punctul final “D”.Se impune să specificăm valorile vitezelor şi ale acceleraţiilor iniţiale. Acestea sunt:

vA = 0 ; aA = 0 ; vD = 0 ; aD = 0 .Pentru a asigura o bună precizie de poziţionare trebuie să fragmentăm traiectoria în cel

 puţin trei segmente prin introducerea a cel puţin două puncte nodale,- unul de plecare B ( q1

B , q2B , 0.42 ) ;

- unul de apropiere C ( q1C , q2

C , 0.42 ).Astfel, intervalul iniţial se împarte în trei intervale:- un interval de pornire AB , de-a lungul căruia se realizează accelerarea şi se ating viteza şi

acceleraţia maximă;- un interval BC de-a lungul căruia viteza şi acceleraţia rămân constante; ea reprezintă cea

mai mare parte din traiectoria iniţială AD;- un interval final CD, de poziţionare, care are ca scop asigurarea unei bune precizii de

 poziţionare prin micşorarea vitezei şi a acceleraţiei.Uneori intervalul median BC se împarte la rândul ei în mai multe un intervale dacă de-alungul lui există obstacole.În cele ce urmează vom studia (pe cazul concret mai sus enunţat) situaţia cea mai frecventîntâlnită şi anume cu două puncte nodale intermediare şi trei un intervale.

Pentru fiecare robot industrial cu N grade de mobilitate, fiecăruia dintre cele 4 punctenodale ale traiectoriei îi corespund 4N puncte nodale. Deci şi la nivelul gradului de mobilitate

“3” vom avea 4 puncte nodale şi trei porţiuni. Legile de variaţie ale variabilei articulare “3”sunt descrise prin trei polinoame, câte unul pentru fiecare porţiune. Vom adopta cazul 4-3-3.Rezultă că pentru intervalul “i” legea de variaţie a coordonatei articulare “3” este descrisă de

 polinomul hi(t), astfel:

h1(t) = a14t4+a13t3+a12t2+a11t +a10 , t∈[0,1].h2(t) = a23t3+a22t2+a21t+a20 , t∈[0,1]. , t∈[0,1].h3(t) = a34t4+a33t3+a32t2+a31t +a30 , t∈[0,1].

Problema se reduce deci la a determina cei 14 coeficienţi care definesc cele trei  polinoame de mai sus. Pentru aceasta vom apela la condiţiile limită şi la condiţiile decontinuitate ale poziţiei, vitezei şi acceleraţiei în cele două puncte nodale.

Pentru poziţia iniţială A

h1(t) = a14t4+a13t3+a12t2+a11t +a10 , t∈[0,1].

h1(0) = 0,40 condiţia limită pentru poziţiev1(0) = 0 condiţia limită pentru viteză a1(0) = 0 condiţia limită pentru acceleraţie

Aceste trei condiţii sunt condiţiile limită în punctul iniţial şi ele reprezintă trei din cele14 ecuaţii necesare determinării lui h1(t).

Page 35: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 35/40

 

h1(0) = a10  ⇒ a10 = 0,40 (ecuaţia 1 )v1(t) = d[h(t)]/t1 = [ 4a14t3+3a13t2+2a12t+a11]/t1 v1(0) = a11  ⇒ a11 = 0 (ecuaţia 2 )a1(t) = d2[h(t)]/t1

2 = [ 12a14 t2+ 6a13t + 2a12 ]/t12 

a1(0) = a12  ⇒ a12 = 0 (ecuaţia 3 )

Pentru punctul de plecare B

h2(t) = a23t3+a22t2+a21t+a20 , t∈[0,1]. , t∈[0,1].

h2(0) = a20

v2(0) = dh2(0)/t2={[3a23t2+2a22t+a21]/t2}t=0 = a21/t2 De aici rezultã cã :a2(0) = dh2(0)/t2

2 = {[6a23t+2a22]/t22}t=0 = 2a22/t2

2 Întrucât în acest punct poziţia, viteza şi acceleraţia trebuie sã coincidã în mod

corespunzãtor cu poziţia, viteza şi acceleraţia din punctul final al intervalului anterior aldomeniului se impun egalitãţile :

h1(1) = h2(0) condiţia de continuitate a poziţiei în Ba14+a13+a10 = a20 (ecuaţia 4 )

d[h2(0)]/t2 = d[h1(1)]/t1  condiţia de continuitate a vitezei în B4a14+3a13 = a21 (ecuaţia 5 )

d2[h2(0)]/t22 = d2[h1(1)]/t1

2  condiţia de continuitate a acceleraţiei în B12a14+6a13 = 2a22 (ecuaţia 6 )

Pentru punctul de apropiere C

h3(t) = a34t4+a33t3+a32t2+a31t +a30 In scopul micşorării volumului de calcule vom efectua substituia :

t` = t – 1 ⇒ t` ∈ [-1 , 0 ]Obţinem :

h3(t`) = a`34t`4+a`33t`3+a`32t`2+a`31t` +a`30

v3(t`) = d[h3(t`)]/t` = [ 4a`34t`3+3a`33t`2+2a`32t`+a`31]a3(t`) = d2[h3(t`)]/t`2 = [ 12a`34 t`2+ 6a`33t` + 2a`32 ]

Identificând polinomul iniţial cu cel obţinut prin schimbarea de variabilă . obţinem :

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

Condiţiile de continuitate ale poziţiei, vitezelor şi acceleraţiilor în punctul C sunt :

h2(1) = h3(-1)

Page 36: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 36/40

 

a23+a22+a21+a20 = a`34-a`33+a`32-a`31+a`30  condiţia de continuitate a poziţiei în C (ecuaţia 7 )v2(1) = v3(-1)3a23+2a22+a21 = -4a`34+3a`33-2a`32+a`31  condiţia de continuitate a vitezei în C (ecuaţia 8 )

a2(1) = a3(-1)6a23+2a22 = 12a`34-6a`33+2a`32  condiţia de continuitate a acceleraţiei în C (ecuaţia 9 )

Pentru punctul D

Vom impune următoarele condiţii limită :

h3(0) = 0,52a`30 = 0,52  (ecuaţia 10 )

v3(0) = 0a`31 = 0  (ecuaţia 11 )

a3(0) = 0a`32 = 0 (ecuaţia 12 )

 Până acum am obţinut 12 ecuaţii, celelalte 2 ecuaţii necesare până la obţinerea unui sistem determinat de 14 ecuaţii cu 14 necunoscute se obţin din condiţiile de definire ale poziţiei punctelor nodale intermediare.

Acestea sunt:

-  pentru Bh2(0) = 0,42 ⇒ a20 = 0,42 (ecuaţia 13)-  pentru Ch2(1) = 0,50 ⇒ a23+a22+a21+a20 = 0,50 (ecuaţia 14)

Am obţinut astfel următorul sistem de ecuaţii liniare de 14 ecuaţii cu 14 necunoscute :

a10 = 0,40a11 = 0

a12 = 0a14+a13+a10 = a20 4a14+3a13 = a21 12a14+6a13 = 2a22

a23+a22+a21+a20 = a`34-a`33+a`32-a`31+a30 3a23+2a22+a21 = -4a`34+3a`33-2a`32+a`31 6a23+2a22 = 12a`34-6a`33+2a`32 a`30 = 0,52a`31 = 0a`32 = 0a23+a22+a21+a20 = 0,50a20 = 0,42

Page 37: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 37/40

 

Prin rezolvarea sistemului de mai sus utilizând Mathematica 3.0 sau oricare alt limbajştiinţific, obţinem :

a10=0.4 , a11= 0, a12=0 , a13=0.02 , a14=0 ,a20=0.42 , a21=0.06 , a22=0.06 , a23=-0.04 ,

a30= 0.52, a31=0 , a32=0 , a33=0.02 , a34=0

Astfel cele trei polinoame care descriu mişcarea elemetului “3” sunt:

h1(t) = 0.02t3+0.4

h2(t) = -0.04t3+0.06t2+0.06t+0.42

h3(t) = 0.02t3+0.52

Page 38: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 38/40

 

 BIBLIOGRAFIE 

[1] Angeles J., O.Ma - An algorithm for inverse dynamics of n-axis general manipulator usingKane`s equations , Computers Math.Applic. Vol.17,No.12,1989.

[2] Angeles J., O.Ma - Dynamics simulation of n-axis serial robotic manipulators using anatural orthogonal complement, The international Journal of  RoboticResearch,Vol.7,Nr.5, Oct. 1988.

[3] Angeles J. - Iterativ Kinematic Inversion of General Five - Axis Robot Manipulators, TheInternational Journal of Robotic Research,Vol.4. Nr.4,Winter 1986

[4] Angeles J. - On the Numerical Solution of the Inverse Kinematic Problem, TheInternational Journal of Robotic Research,Vol 4,Nr.2,Summer 1985.

[5] Angeles J.A. Alivizatos and P.J.Zsombor-Murray - The synthesis of smooth trajectory for  pick-and-place operatons , IEEE Trans.Syst.Man Cybern. 18(1) , 173-178 (1988).[6] Angeles J. , S.Lee - The formulation of dynamical , equations of holonomic mrchanicalsystems using a natural orthogonasl complement , International Journal of Robotic Research

4/1987.[7] Atkenson C. , Chae H.A. , Hollerbach J. - Estimation of inertial parameters of manipulator load and links , Cambridge , Massachuesetts , MIT Press. 1986.[8] Angeles J. - Spatial kinematic chains : Analysis , synthesis , and optimization , Berlin :Springer verlag.[9] Angeles J. , Rojas A. - On the use of condition-number minimization and continuon in theiterative kinematic analysis of robot manipulator , Proc.Fifth IASTED Symposium Robotics,

 New Orleans1985.[10] Baştiurea Gh. ş.a. – Comanda numericã a maşinilor-unelte,

Editura tehnică , Bucureşti 1976

[11] Chircor M. - Asupra volumului spaţiului de lucru al roboţilor industriai , Sesiunea deComunicãri Stiintifice, Braila,1993.[12] Chircor M. – Noutãţi în cinematica şî dinamica roboţilor industriali , Editura FundaţieiAndrei Saguna , Constanţa , 1997.[13] Chircor M. - Calculul deplasãrilor finite la roboţii de topologie paralelã , A XVIII - aConferinţa de Mecanicã Solidelor , Constanţa , 09 - 11 iunie 1994.[14] Chircor M. - Calculul deplasãrilor roboţilor industriali folosind notaţiile Hartemberg-Denavit , Acta Universitatis Cibiniensis , Sibiu ,1995.[15] Chircor M.- Calculul energiei consumate de robotul industrial la manipularea unei sarcini, Acta Universitatis Cibiniensis , Sibiu ,1995.[16] Chircor M. - The control of the motion in Internal and External Coordinates ,

International Symposium on Systems atheory , Robotics , Computers and ProcessInformatics , Craiova , 6-7 june 1996.[17] Chircor M. - A limit of the Serial Topology , International Symposium on Systemsatheory , Robotics , Computers and Process Informatics , Craiova , 6-7 june 1996.[18] Chircor M. – Cercetãri privind construcţia modularã a roboţilor industriali – Tezã dedoctorat , Universitatea Politehnicã Bucureşti , 1997.[19] Cojocaru G., Fr.Kovaci - Roboţii în acţiune, Ed.Facla, Timişoara,1998./[20] Davidoviciu A., G.Drãgãnoiu , A.Moanga , Modelarea , simularea şi comandamanipulatoarelor şi roboţilor industriali , Ed.Tehnica , Bucureşti 1986.[21] Denavit J., McGraw-Hill - Kinematic Syntesis of Linkage,Hartenberg R.SN.Y.1964.[22] Drimer D.,A.Oprea,Al. Dorin - Roboţi industriali şi manipulatoare, Ed. Tehnicã 1985.

Page 39: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 39/40

 

[23] Dombre E., Wisama Khalil - Modelisation et commande des robots , Editions Hermes ,Paris 1988.[24] Doroftei Ioan – Introducere în roboţii păşitori , Editura CERMI , Iaşi 1998.[25] Dorn W.S., D.D.McCracken - Metode numerice cu programare in FORTRAN, EdituraTehnicã, Bucureşti 1973.

[26] Golub G - Matrix , The Johns Hopkins University Press, London.

[27] Hartemberg R.S. and J.Denavit - A kinematic notation for lower pair mechanisms , J.appl.Mech. 22,215-221 (1955).[28] Hasegawa , Matsushita , Kanedo - On the study of standardisation and symbol related toindustrial robot in Japan , Industrial Robot Sept.1980.[29] HollerbachJ.M. - Wrist-partitioned inverse kinematic accelerations and manipulator dynamics. , International Journal of Robotic Research 2,61-76 (1983)[30] Ispas V.,I.Pop,M.Bocu - Roboţi industriali, Ed.Dacia, Cluj, 1985.[31] Ispas V. - Aplicaţiile cinematicii în construcţia manipulatoarelor şi a roboţilor industriali , Ed.Academiei Române 1990.

[32] Khalil W. - J.F.Kleinfinger and M.Gautier , Reducing the computational burden of thedynamic model of robots. , Proc. IEEE Conf.Robotics ana Automation , San Francisco , Vol.1, 1986.[33] Kane T.R., D.A. Levinson - The use of Kane`s dynamic equations in robotics,

International Journal of Robotic Research,Nr. 2/1983.[34] Kane T.R. - Dynamics of nonholonomic systems , Trans.ASME , J.appl.Mech. , 83 , 574-578 (1961).[35] Kazerounian K. , Gupta K.C. , Manipulator dynamics using the extended zero reference

 position description , IEEE Journal of Robotic and Automation RA-2/1986.[36] Kovacs Fr., G.Cojocaru - Manipulatoare, roboţi şi aplicaţiile lor industriale,Ed.Facla,Timişoara,1982.[37] Kovacs Fr , C. Rãdulescu - Roboţi industriali , Reprografia Universitãţii Timişoara ,

1992.[38] Kyriakopoulos K. J. and G.N.Saridis - Minimum distance estimation and collision

 prediction under uncertainty for on line robotic motion planning., International Journal of Robotic Research 3/1986.[39] Larionescu D. - Metode numerice , Editura Tehnicã, Bucureşti 1989.[40] Luh J.S.Y., Walker M.W. , Paul R.P.C. - On line computational scheme for mechanicalmanipulators , Journal of Dynamic Systems Measures and Control 102/1980[41] Ma O.- Dynamics of serial - typen-axis robotic manipulators, Thesis, Department of 

Mechanical Engineering,McGill University,Montreal,1987.

[42] Monkam G. - Parallel robots take gold in Barcelona, ,Industrial Robot,4/1992.[43] Monkam G. - Parallel robots take gold in Barcelona , Industrial Robot 4/1992.[44] Olaru A. - Dinamica roboţilor industriali , Reprografia Universitãţii PolitehniceBucureşti , 1994.[45] Platon V. – Sisteme avansate de producţie , Editura tehnică, Bucureşti , 1990.[46] Panã C. , Drimer D. - Probleme ale construcţiei modulare a manipulataoarelor şiroboţilor , I Simpozion National de Roboţi Industriali , Bucureşti 1981.[47] Pandrea N. - Determinarea spaţiului de lucru al roboţilor industriali , Simpozion Nationalde Roboţi Industriali , Bucureşti 1981.[48] Pandrea N. - Asupra echilibrãrii statice a mecanismelor RRT pentru roboţi industriali ,Simpozion National de Roboţi Industriali , Bucureşti 1981.

[49] .Păunescu T. – Celule flexibile de prelucrare , Editura Universităţii “Transilvania “Braşov , 1998.

Page 40: Cinematica Robotilor Industriali

5/10/2018 Cinematica Robotilor Industriali - slidepdf.com

http://slidepdf.com/reader/full/cinematica-robotilor-industriali 40/40

 

[50] Paul R. , Shimano B. - Kinematic control equations for simple manipulators , IEEETrans. Systems , Man and Cybernetics SMC-11.[51] Pelecudi Christian - Teoria mecanismelor spaţiale, Ed. Academiei, 1972.

[52] Powell I.L.,B.A.Miere - The kinematic analysis and simulation of the parallel topologymanipulator , The Marconi Review,1982.[53] Raghavan M. , Roth B. - Kinematic analysis of 6R manipulator of genaral geometry ,Proc. 5 th International Symposium on Robotic Research , MIT Press , CambridgeMassachusets , 1990.[54] Renaud M. - Quasi-minimal computation of the dynamic model of a robot manipulator utilising the Newton-Euler formulism and the notion of augmented body. Proc.IEEEConf.Robotics Automn Raleigh , Vol.3 , 1987.[55] Roşculet M. - Analizã matematicã , Editura Didacticã si Pedagodicã, Bucureşti 1973.[56] Seeger G. - Self-tuning of commercial manipulator based on an inverse dynamic model ,J.Robotics Syst. 2 / 1990.[57] Soos E., C.Teodosiu - Calcul tensorial cu aplicaţii în mecanica solidelor, Editura

Stiinţificã şi Enciclopedicã, Bucureşti 1983.[58] Stănescu A. , A. Curaj – Tehnici de generare automată a mişcărilor roboţilor, ReprografiaUniversităţii Politehnice Bucureşti , 1997.[59] Stanescu A. Dumitrache I.- Inteligenţa artificiala şi robotica , Ed.Academiei , Bucureşti1983.[60] Tandirci Murat ,Jorge Angeles, John Darcovich - On Rotation Representations inComputational Robot Kinematics ,Tamio Arai,Hisashi Osumi - Three wire suspension robot, Industrial Robot,4/1992.[61] Uicker J.J. - On the dynamic analysis of spatial linkage 4x4 , Northwest University 1965.[62] Vâlcovici V., St. Bãlan, R. Voinea - Mecanica teoreticã, Editura tehnicã,1968.

[63] Vukobratovic M. - Applied dynamics of manipulation robots , New York , 1989.[64] Walker M.W. and D.E.Orin - Efficient dynamic computer simulation of robotmechanisms , J.Dynamic Syst. Meas. Control 104 205-211 (1982).[65] STAS R 12928/2-90.[66] STAS R 12928/3-90.[67] STAS R 12928/1-90.[68] STAS 12938-91[69] OIDICM - Actualitãţi în domeniul roboţilor industriali , Bucureşti 1987.[70] OIDICM - Robotizarea proceselor tehnologice de ştanţare şi matriţare , Nr. 1-45/1989.[71] OIDICM , SID 69 - Noutãţi în robotica industrialã , Bucureşti , 1987.[72] OIDICM , SID 53 - Utilizarea robotilor industriali la sudarea metalelor şi la procese

conexe , Bucureşti , 1985.[73] IDAR Colecţie ( Informare - Documentare - Automatizare - Robotizare - Calculatoare )Bucureşti , 1980-1990.[74] INID Colecţie , Buletine de informare şi documentare tehnico-ştiinţifice , Bucureşti1980-1990.