Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » tehnologie » tehnica mecanica
PLANIFICAREA TRAIECTORIILOR ROBOTILOR

PLANIFICAREA TRAIECTORIILOR ROBOTILOR


PLANIFICAREA TRAIECTORIILOR ROBOTILOR

1 Introducere

Problemele cinematicii si dinamicii robotilor industriali au fost examinate in capitolele anterioare, astfel incat in acest capitol ne vom referi la problema alegerii regulei pentru conducere ce asigura miscarea RI in lungul unei traiectorii stabile. Inainte de inceperea miscarii RI este important sa se cunoasca daca exista pe traiectoria RI obstacole si daca exista limite pe traiectoria endefectorului. Pot exista doua tipuri de coliziuni :

a corpului robotului cu obstacole din spatiul sau de lucru ;

a endefectorului cu obstacole din spatiul sau de lucru.



In functie de raspunsurile la aceste doua intrebari regula de conducere a robotilor apartine unuia din cele patru tipuri indicate in tabelul 1. Din acest tabel se observa ca regulile de conducere a robotilor se impart in doua categorii :

- cand exista obstacole pe traiectorie;

- cand nu exista obstacole pe traiectorie.

In acest capitol sunt examinate diferite moduri de planificare a traiectoriilor cand lipsesc obstacolele. In situatia in care exista obstacole , acestea vor fi ocolite , cea mai simpla metoda de a le ocoli fiind prin stabilirea unui numar de puncte intermediare.

Traiectoria stabilita a manipulatorului poate fi definita sub forma unei succesiuni de puncte in spatiul in care sunt date pozitia si orientarea sub forma unei curbe spatiale ce uneste aceste puncte. Curba de-a lungul careia se deplaseaza endefectorul din pozitia initiala in cea finala se numeste traiectoria endefectorului. Sarcina noastra consta in elaborarea unui aparat matematic pentru alegerea si descrierea miscarii dorite a manipulatorului intre punctul initial si cel final al traiectoriei.

Tabelel 1 Tipuri de conducere a robotilor.

Obstacole pe traiectoria robotului

Exista

Lipsesc

Limitele pe traiectoria robotului

Exista

Planificarea autonoma a traiectoriei ce asigura ocolirea obstacolelor, plus reglarea miscarii in lungul traiectoriei alese in procesul de functionare a robotului

Planificarea autonoma a traiectoriei plus reglarea miscarii in lungul traiectoriei alese in procesul de functionare a robotului

Lipsesc

Conducera pe pozitie plus detectarea si ocolirea obstacolelor in procesul de miscare

Conducera pe pozitie

Diferenta dintre diferitele mijloace de planificare a traiectoriilor robotilor se reduce la aproximatii sau la interpolarea traiectoriei alese cu polinoame de diferite clase si la alegerea unei succesiuni oarecare de puncte de sprijin in care se produce corectarea parametrilor miscarii robotului pe traiectoria dintre punctul initial si cel final. Punctul initial si cel final al traiectoriei pot fi descrise atat in coordonate interne (articulare) cat si in coordonate externe ( operationale). Mai frecvent se utilizeaza totusi coordonatele operationale, intrucat cu ajutorul lor este mai comod sa se stabileasca pozitia corecta a endefectorului. Fata de acestea coordonatele articulare nu sunt utile in calitate de sistem de lucru deoarece axele articulatiilor nu sunt ortogonale si deci nu este posibila o descriere independenta a pozitiei si orientarii EE. Daca in punctul initial si cel final al traiectoriei este necesara cunoasterea coordonatelor articulare, valorile lor se pot obtine cu ajutorul programului de rezolvare a problemei cinematice inverse. De regula traiectoria ce uneste pozitia initiala si finala a EE nu este unica. Este posibila de exemplu deplasarea EE atat in lungul dreptei care uneste cele doua puncte cat si de-a lungul unei curbe oarecari ce satisface un sir de limitari pentru pozitia si orientarea EE pe portiunile initiale si finale ale traiectoriei.

In acest capitol se examineaza modalitatile de planificare atat ale traiectoriilor rectilinii cat si al traiectoriilor palne neliniare. Mai intai vom examina cel mai simplu caz de planificare al traiectoriilor ce satisface cateva limite privind caracterul miscarii EE iar apoi rezultatul obtinut il vom generaliza cu scopul luarii in consideratie a limitelor dinamicii miscarii robotului. Pentru o mai buna intelegere, planificarea miscarii poate fi socotita ca o "cutie neagra". La intrare se dau cateva variabile ce caracterizeaza limitele aflate pe traiectorie. Iesirea este o succesiune data in timp a punctelor intermediare in care sunt determinate in coordonate articulare si operationale , pozitia , orientarea , viteza si acceleratia EE si prin care manipulatorul trebuie sa treaca intre punctul initial si cel final. La planificarea traiectoriilor se foloseste una dintre urmatoarele doua abordari :

Programatorul indica un set precis de limite pentru pozitie, viteza si acceleratia coordonatelor generalizate ale manipulatorului in cateva puncte ale traiectoriei ( puncte nodale). Dupa aceasta planificatorul traiectoriilor alege dintr-o clasa oarecare a functiilor functia care trece prin punctele nodale si care satisface in aceste puncte limitarile date.

A doua abordare consta in aceea ca programatorul indica traiectoria dorita a robotului sub forma unei functii oarecari descrisa analitic, de exemplu o traiectorie rectilinie descrisa in coordonate carteziene. Programatorul produce o aproximare a traiectoriei date in coordonate articulare sau operationale.

In prima abordare, determinarea limitelor si planificarea traiectoriei se produce in coordonate articulare. Inrucat in miscarea EE nu apar limite , programatorului ii este greu sa prezinte traiectoria realizata a EE si de aceea apare posibilitatea ciocnirii cu obstacole.

In cazul celei de a doua abordari limitele se indica in coordonate operationale in timp ce actionarile de forta realizeaza schimbarea coordonatelor articulare. De aceea pentru determinarea traiectoriei este suficient sa se indice cu aproximatie traiectoria . Cu ajutorul transformarilor functionale aproximative se trece de la limitele date in coorodnate operationale la cele in coordonate articulare si numai dupa aceea se cauta printre functiile de clasa stabilite traiectoria ce satisface limitele exprimate in coordonate articulare.

Cele doua abordari de mai sus pentru planificarea traiectoriei ar putea fi folosite ( practic in timp real ) pentru realizarea eficienta a succesiunilor de puncte nodale ale traiectoriilor robotului. Totusi succesiunea data in timp a vectorilor in spatiul variabilelor articulare se formeaza fara a lua in consideratie limitele dinamicii manipulatorului ceea ce poate conduce la aparitia unor erori.

2 Formularea generala a problemei planificarii traiectoriilor.

Planificarea traiectoriilor se poate produce atat in coordonate articulare cat si operationale. La planificarea traiectoriilor in coordonate articulare pentru descrierea completa a miscarii manipulatorului se indica dependenta in functie de timp a tuturor variabilelor articulare ca si primele doua derivate ale lor. Daca planificarea traiectoriilor se face in coordonate operationale se indica dependenta de timp a pozitiei, vitezei si acceleratiilor EE si pe baza acestor informatii se determina valorile coordonatelor articulare ale vitezelor si acceleratiilor lor. Planificarea miscarii in coordonate articulare prezinta trei avantaje :

1) Se indica comportamentul variabilelor conduse direct in procesul de miscare al robotului;

2) Planificarea traiectoriei se poate realiza practic in timp real;

3) Traiectoriile variabilelor articulare sunt mai usor de planificat. Deficienta consta in modul complicat de determinare a pozitiei verigilor si a EE in procesul miscarii. O asemenaea procedura este adesea necesara pentru a evita ciocnirea cu obstacole ce exista pe traiectoria EE. In caz general algoritmul principal de formare a punctelor nodale ale traiectoriei din spatiul variabilelor articulare este foarte simplu :

t = t0

ciclul : asteptati momentul urmator al corectiei ;

t = t+dt ;

h(t) este pozitia data a manipulatorului in spatiul variabilelor articulare la momentul t.

Daca t= tf , iesiti din procedura;

Realizati ciclul :

Aici dt este intervalul de timp dintre doua momente succesive ale corectiei parametrilor de miscare ai robotului.

Din algoritmul descris mai sus se observa ca toate calculele se efectueaza pentru determinarea functiei h(t) a traiectoriei care trebuie sa se innoiasca in fiecare punct al corectiei parametrilor pentru miscarea manipulatorului. Pe traiectoria planificata exista patru tipuri de limitari :

1) punctele nodale ale traiectoriei trebuie sa se calculeze usor prin procedeul nerecurent;

2) pozitiile intermediare trebuie sa se determine cu o singura cifra;

3) trebuie sa se asigure continuitatea coordonatelor articulare si a primelor doua derivate;

4) trebuie sa fie reduse la minimum miscarile inutile de tip imprastiere.

Limitarile enumerate mai sus sunt satisfacute de traiectoriile generate de succesiuni polinoamiale. Spre exemplu daca pentru descrierea miscarii unei articulatii "i"se foloseste succesiunea "p" a polinoamelor, ele trebuind sa contina 3(p+1) coeficientii alesi in concordanta cu conditiile initiale si finale pentru pozitie, viteza si acceleratie si sa asigure continuitatea acestor caracteristici pe intreaga traiectorie. Daca se adauga o limita suplimentara, de exemplu se indica o pozitie intr-un punct oarecare intermediar al traiectoriei, atunci pentru realizarea acestei conditii se cere un coeficient suplimentar. De regula, se indica doua conditi suplimentare pentru pozitie ( in apropierea punctului initial al traiectoriei si in aproperea celui final ) care asigura directiile nepericuloase ale miscarii pe portiunile initiala si finala si o precizie mai mare a conducerii miscarii. In acest caz, schimbarea fiecarei variabile articulare poate fi descrisa cu un singur polinom de gradul sapte sau cu doua polinoame : unul de grad patru si unul de grad trei ( 4-3-4 ) sau ( 3-5-3 ). Aceste procedee sunt examinate in urmatoarele subcapitole. Daca planificarea traiectoriei se face in coordonate operationale algoritmul indicat mai sus se transforma, avand urmatorul aspect :

t = to

ciclul : asteptati momentul urmator al corectiei;

t = to + dt ;

H(t) este pozitia EE in spatiul operational la momentul t;

Q[H(t)] este vectorul coordonatelor articulare ce corespund lui H(t);

Daca t = tf   iesiti din procedura;

Realizati ciclul;

Aici pe langa calcularea functiei traiectoriei H(t) in fiecare punct de corectie al parametrilor de miscare a RI se cere sa se determine si valorile variabilelor articulare ce corespund pozitiei calculate a EE . Functia matriceala H(t) descrie pozitia EE in spatiul absolut si in momentul de timp "t" si dupa cum se arata in subcapitolul 4 , reprezinta matricea de transformare a coordonatelor cu o dimensiune de 4x

In general, planificarea traiectoriilor in coordonate operationale se compune din 2 pasi succesivi:

formarea succesiunii punctelor nodale in spatiul operational , care sunt dispuse in lungul traiectoriei planificate a EE;

alegerea unor functii de orice clasa care descrie (aproximeaza) portiunile traiectoriei intre punctele nodale , in concordanta cu un criteriu oarecare.

Exista doua abordari principale fata de planificarea traiectoriilor in spatiul operational.

In prima dintre ele majoritatea calculelor, optimizarea traiectoriilor si reglarea ulterioara a miscarii se produc in coordonate operationale. Dand actionarii semnalul de comanda se calculeaza diferenta dintre pozitia curenta si cea data a EE in spatiul operational. Punctele nodale pe traiectoria rectilinie data in spatiul cartezian se aleg pentru intervalele de timp fixate. Calcularea valorilor coordonatelor articulare in aceste puncte se produce in procesul de conducere a miscarii RI, utilizand modelul geometric invers.

A doua abordare consta in aproximarea portiunilor rectilinii ale traiectoriei din spatiul variabilelor articulare obtinute ca rezultat al interpolarii traiectoriei intre punctele nodale cu polinoamele de grad mic. Reglarea miscarii in aceasta abordare are loc la nivelul variabilelor articulare. Semnalul de comanda transmis la actionare se calculeaza pentru diferenta dintre pozitia fluctuanta si cea data a RI in spatiul coordonatelor articulare.

Prima dintre abordarile enumerate mai sus pentru planificarea traiectoriilor in spatiul operational permite sa se asigure o mare precizie a miscarii in lungul traiectoriei date. Totusi toti algoritmii cunoscuti pentru conducerea miscarii se construiesc avand in vedere lipsa traductorilor care masoara pozitia EE in spatiul operational si in cel articular. Aceasta conduce la necesitatea realizarii transformarii coordonatelor operationale ale EE in vectorul coordonatelor articulare ale RI, dar in procesul miscarii aceasta este o problema care cere un numar mare de calcule si adesea un timp mare pentru conducerea RI. Mai departe, cerintele fata de traiectorie

( continuitate, conditii limitative ) se formuleaza in coordonate operationale , in timp ce limitarile dinamice ce sunt luate in consideratie in etapa planificarii traiectoriei se indica in spatiul coordonatelor articulare. Neajunsurile enumerate ale primei abordari conduc la faptul ca se foloseste mai mult a doua abordare bazata pe transformarea coordonatelor carteziene ale punctelor nodale in coordonate articulare corespunzatoare, cu efectuarea ulterioara a interpolarii in spatiul variabilelor articulare cu polinoame de grad mic. Aceasta abordare necesita mai putin timp pentru calcule in comparatie cu prima abordare si usureaza luarea in considerare a limitelor dinamicii RI. Totusi precizia miscarii in lungul traiectoriei date in spatiul operational se micsoreaza in acest caz. In subcapitolul 4 vom examina cateva scheme de planificare a traiectoriilor ce folosesc abordarile indicate.

3 Traicetoriile in spatiul variabilelor articulare

La conducerea RI , inainte de a trece la planificarea traiectoriei de miscare este necesar sa se determine configuratiile robotului in punctul initial si cel final al traiectoriei. Planificarea traiectoriilor in spatiul variabilelor articulare se va efectua tinand seama de urmatoarele considerente :

In momentul ridicari obiectului de manipulat miscarea EE trebuie sa fie indreptata de la obiect; in caz contrar se poate produce ciocnirea EE cu suprafata pe care este asezat obiectul.

Se va indica pozitia punctului initial al EE si normala ce trece prin pozitia initiala pe suprafata pe care este asezat obiectul, stabilindu-se astfel coordonatele punctului initial. Indicandu-se timpul in care EE ajunge in acest punct, se poate comanda viteza de miscarea a EE.

Conditii analoage se pot formula pentru punctul de apropiere de pozitia finala : EE trebuie sa treaca prin punctul de apropiere aflat pe normala EE ce trece prin pozitia finala a EE spre suprafata pe care trebuie sa fie asezat obiectul manipulat. Aceasta asigura o directie corecta a miscarii pe portiunea finala a traiectoriei.( portiunea de apropiere ).

Din cele aratate mai sus rezulta ca orice traiectorie a miscarii RI trebuie sa treaca prin 4 puncte date : punctul initial , punctul de pornire , de apropiere si cel final.

Pe traiectorie trebuie sa se indice urmatoarele :

a) punctul initial - descris de viteza si acceleratie ( adesea egale cu zero);

b) punctul de plecare - pozitia , viteza si acceleratia sunt continui ;

c) punctul de apropiere - la fel ca si pentru cel de plecare;

d) punctul final - sunt date viteza si acceleratia ( de obicei egale cu zero ).

Valorile coordonatelor articulare trebuie sa se afle in limitele restrictiilor fizice si geometrice ale fiecarei articulatii.

La determinarea timpului de miscare este necesar sa se tina seama de urmatoarele :

a) timpul de parcurgere a portiunii initiale si a celei finale a traiectoriei se alege tinand seama de viteza ceruta pentru apropierea si plecarea EE si reprezinta o constanta oarecare ce depinde de caracteristicile actionarilor de forta a articulatiilor;

b) timpul de miscare pe portiunea medie a traiectoriei se determina prin valorile maxime ale vitezelor si acceleratiilor fiecareia dintre articulatii. Pentru normare se foloseste timpul maxim necesar pentru trecerea prin aceasta portiune a traiectoriei articulatiei care este cea mai putin rapida.

Se cere sa se aleaga un grad oarecare al functiilor polinomului ce permite sa se efectueze interpolarea traiectoriei pentru punctele nodale date ( punctul initial , de pornire , de apropiere si cel final ) care asigura realizarea conditiei continuitatii pozitiei, a vitezei si a acceleratiei pe tot intervalul de timp [ to , tf ].

Punctul initial :

pozitia ( este data );

viteza ( este data de obicei egala cu zero );

acceleratia ( este data de obicei zero );

Puncte intermediare :

pozitia in punctul de plecare ( pornire ) ( este data );

pozitia in punctul initial ( se schimba neintrerupt la trecerea intre portiunile succesive ale traiectoriei ) ;

viteza ( se schimba neintrerupt la trecerea intre portiunile succesive ale traiectoriei ) ;

acceleratia ( se schimba neintrerupt la trecerea intre portiunile succesive ale traiectoriei ) ;

pozitia in primul; punct de apropiere ( este data ) ;

pozitia in punctul de apropiere ( se schimba neintrerupt la trecerea intre portiunile succesive ale traiectoriei ) ;

viteza ( se schimba neintrerupt la trecerea intre portiunile succesive ale traiectoriei ) ;

acceleratia ( se schimba neintrerupt la trecerea intre portiunile succesive ale traiectoriei ) ;

Punctul final :

pozitia ( este data )

viteza ( este data , de obicei zero )

acceleratia ( este data , de obicei zero )

Una dintre modalitati consta in aceea ca se descrie miscarea articulatiei "i" cu un polinom de gradul sapte:

qi(t) = a7t7+a6t6+.+ a2t2+a1t+a0

in care coeficientii necunoscuti ai se determina din conditiile limita date si din conditiile de continuitate. Totusi folosirea unui asemenea polinom de un grad mare are un sir de inconveniente. In particular sunt greu de determinat valorile extreme. Abordarea alternativa consta in faptul ca se imparte traiectoria miscarii in cateva portiuni si fiecare din acestea se interpoleaza cu un polinom de grad mic.

Exista diferite mijloace de impartire a traiectoriei in portiuni , fiecare din ele avand avantaje si dezavantaje. Urmatoarele variante sunt cele mai raspandite :

Traiectoria fiecarei variabile articulare se imparte in trei portiuni. Prima portiune ce indica miscarea intre punctul initial si cel de pornire este descrisa de un polinom de gradul 4. A doua portiune a traiectoriei intre punctul de pornire si punctul de apropiere este descrisa de un polinom de gradul 3. Ultima portiune a traiectoriei dintre punctul de apropiere si punctul final este descrisa de un polinom de gradul

Pentru a obtine o buna precizie de pozitionare trebuie sa fragmentam traiectoria in cel putin trei portiuni :

o portiune de pornire , la sfarsitul careia se ating viteza si acceleratia maxima ;

o portiune de-a lungul careia se pastreaza constante viteza si acceleratia iar EE parcurge cea mai mare parte a traiectoriei;

o portiune finala , de pozitionare.

Uneori, in functie de necesitati, si portiunea mediana se imparte la randul ei in mai multe portiuni, daca exista obstacole sau daca se impune modificarea parametrilor cinematici.


D

C

B

A

Fig. 1.O modalitate de fragmentare a traiectoriei.

A = punctul initial

B = punctul de plecare

C = punctulde apropiere

D = punctul final

AB = portiunea de pornire ;

BC = portiunea de-a lungul careia se pastreaza constante viteza si acceleratia ;

CD = portiunea finala , de pozitionare.

Aceasta fragmentare este necesara in primul rand datorita exigentelor impuse de precizia de pozitionare. Evident ca este necesara o prima portiune de accelerare de la viteza initiala ( de cele mai multe ori zero ) la cea de regim. Portiunea finala este necesara pentru a putea realiza o puternica decelerare ( de obicei pana la viteza zero ) , fara de care nu s-ar putea realiza pozitionarea exacta.

Sectionarea traiectoriei in portiuni se produce ca si pentru 4-3-4 , dar se folosesc alte polinoame de interpolare. Se foloseste functia "spline" cubica cand se sectioneaza traiectoria in cinci portiuni. Numarul polinoamelor folosite pentru descrierea completa a traiectoriei pentru un RI cu N grade de libertate este 3xN , iar numarul coeficientilor de determinat este 7xN. In acest caz , se cere sa se determine extremele pentru toate cele 3N portiunile ale traiectoriilor. In urmatorul subcapitol vom examina schemele de planificare a traiectoriilor 4-3-4 si ale traiectoriilor date de functii cubice spline.

3.1. Calculul traiectoriei in cazul 4-3-4.

In legatura cu faptul ca pentru fiecare portiune a traiectoriei se cere sa se determine N traiectorii ale variabilelor articulare , este comod sa se foloseasca timpul normat t , tI[0,1]. Aceasta permite sa se obtina caracterul unitar al ecuatiilor ce descriu schimbarea fiecareia dintre variabilele articulare pe fiecare portiune a traiectoriei. Astfel timpul normat se va schimba de la t=0 ( momentul initial pentru fiecare din portiunile traiectoriei ) pana la t=1 ( momentul final pentru fiecare din portiunile traiectoriei). Introducem urmatoarele notatii :

-) t , este timpul normat , tI

t este timpul real , masurat in secunde.

ti este momentul ( in timp real ) de terminare a portiunii "i" a traiectoriei;

-) ti = (ti ti-1 ) si este intervalul de timp real consumat pentru parcurgerea portiunii`i` a traiectoriei.

t = (t ti-1 ti ti-1 t I ti-1 ti ; tI

Traiectoria de miscare a variabilelor articulare `j` se indica sub forma unei succesiuni de polinoame hi(t). Pe fiecare portiune a traiectoriei, pentru fiecare variabila articulara, polinoamele folosite exprimate in timp normat au forma :

h1(t) = a14t4+a13t3+a12t2+a11t+a10 ( prima portiune )


h2(t) = a23t3+a22t2+a21t+a20 ( a doua portiune )

hn(t) = an4t4+an3t3+an2t2+an1t+an0 ( ultima portiune )

Indexul variabilei ce se afla in partea stanga a fiecarei egalitati indica numarul portiunii traiectoriei, portiunea "n" fiind ultima. Indexul din notatiile coeficientilor necunoscuti aij au urmatorul inteles :

coeficientul `i` pentru portiunea `j` a traiectoriei.

Conditiile limita pe care trebuie sa le satisfaca sistemul ales de polinoame sunt urmatoarele :

Pozitia initiala q q(t0).

Valoarea vitezei initiale v0 ( de obicei este zero )

Valoarea acceleratiei initiale a0 ( de obicei zero )

Pozitia in punctul de pornire q q(t1)

Continuitatea in pozitie in momentul t1 , adica q(t1)= q(t1*)

Continuitatea in viteza in momentul t1 , adica v(t1)= v(t1*)

Continuitatea in acceleratie in momentul t1 , adica

a(t1)= a(t1*)

Pozitia in punctul q q(t2)

Continuitatea in pozitie in momentul t2 , adica q (t2)= q(t2*)

Continuitatea in viteza in momentul t2 , adica v(t2)= v(t2*)

Continuiotatea in acceleratie in momentul t2 , adica

a(t2)= a(t2*)

Pozitia finala qf q (tf)

Valoarea vitezei finale vf ( de obicei nula )

Valoarea acceleratiei finale af ( de obicei nula )

vi(t) = dhi(t)/dt = dhi(t)/dt x dt/ dt ti ti-1 ] x dhi(t)/dt = 1/ti dhi(t) /dt = [1/ti] fi(t) , i=1,2,..,n (1)

ai(t) = dh2i(t)/dt ti ti-1 ]2 x d2hi(t)/dt2 = 1/ti2 dh2i(t) /dt2 =

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

Pentru descrierea primei portiuni a traiectoriei se foloseste un polinom de gradul 4.

h1(t) = a14t4+a13t3+a12t2+a11t +a10 , tI (3)

Luand in consideratie egalitatile (1) si (2) viteza si acceleratia de pe aceasta portiune au aspectul :

v1(t) = d[h(t)]/t1 = [ 4a14t3+3a13t2+2a12t+a11]/t1 (4)

a1(t) = d2[h(t)]/t12 = [ 12a14 t2+ 6a13t + 2a12 ]/t12 (5)

Pentru t=0 ( punctul initial al portiunii date a traiectoriei ) Din conditiile limita in acest punct rezulta :

a10 = h1(0) = q q dat )  (6)

v0 = h1(0)/t1 = i=0 = a11/t1 (7)

Din aceasta avem a11 = v0t1 si

a0 = d[hi(0)]/t12 = i=0 = 2a12/t12   (8)

Substituind valorile obtinute ale coeficientilor in egalitatea (3.) vom obtine :

h1(t) = a14t4 + a13t3 +[a0t13/2]t2+(v0t1) t + q tI (9)

Pentru t=1 ( punctul final al portiunii date a traiectoriei )

In acest punct vom reduce conditiile limita aplicate, excluzand cerinta deplasarii precise a traiectoriei prin pozitia data , dar pastrand conditiile privind continuitatea vitezei si a acceleratiei. Aceste conditii semnifica faptul ca viteza si acceleratia la capatul primei portiuni a traiectoriei trebuie sa coincida cu viteza si acceleratia de la inceputul portiunii a doua. La capatul primei portiuni viteza si acceleratia sunt egale in mod corespunzator :

v1(1) = v1 = dh1(1)/t1 = [4a14+3a13+a0t12+v0t1]/t1 (10)

a1(1) = a1 = d2h1(1)/t12 = [12a14 + 6a13 + a0t12]/t12 (11)

Pentru descrierea portiunii a doua a traiectoriei se foloseste un polinom de gradul al treilea.

h2(t) = a23t3+a22t2+a21t+a20 , tI (12)

1). Pentru t=0 ( punctul de plecare ) folosind egalitatile (1) si (2) avem in acest punct :

h2(0) = a20 = q (13)

v1= dh2(0)/t2=i=0 = a21/t2 (14)

De aici rezulta ca :

a1 = dh2(0)/t22 = i=0 = 2a22/t22 (15)

si se obtine a22 = a1t22/2

Intrucat in acest punct viteza si acceleratia trebuie sa coincida in mod corespunzator cu viteza si acceleratia din punctul final al portiunii anterioare a traiectoriei se impun egalitatile :

h2(0)/t2 = h1(1)/t1 si h2(0)/t22 = h1(1)/t12 (16)

care conduc in mod corespunzator la urmatoarele conditii :

[( 3a23t2+2a22t+a21)/t2]i=0 = [( 4a14t3+3a13t2+2a12t+a11)/t1]i=1 (17)

sau ,

a21/t2+4a14/t1+3a13/t1+a0t12/t1+v0t1/t1 =0 (18)

si

[(6a23t+2a22)/t22]i=0 = [( 12a14t2+6a13t+2a12)/t12]i=1 (19)

sau

2a22/t22+12a14/t12+6a13/t12+a0t12/t12=0  (20)

2) Pentru t=1 ( punctul de apropiere) In acest punct viteza si acceleratia trebuie sa coincida cu viteza si acceleratia din punctul initial al urmatoarei portiuni a traiectoriei. Pentru punctul examinat avem ;

h2(1)=a23+a22+a21+a20 (21)

v2(1) = h2(1)/t2 = [( 3a23t2+2a22t+a21)]i=1 = [ 3a23+2a22+a21]/t2   (22)

a2(1) = h2(1)/t22 = [(6a23t+2a22)/t22]i=1 = [6a23+2a22]t22 (23)

In descrierea ultimei portiuni a traiectoriei se foloseste un polinom de gradul 4.

, tI (24)

In aceasta egalitate se inlocuieste t cu t`= t-1 si se examineaza dependenta de noua variabila t` si fata de aceasta vom efectua deplasarea in timp normat. Ddaca variabila t apartine intervalului [0 , 1] , atunci variabila t` apartine intervalului de [-1 , 0] .

Astfel , egalitatea (24) va avea forma :

, tI (25)

In final vom gasi viteza si acceleratia pe ultima portiune: , (26)

, (27)

Pentru t`= 0 (punctul final al portiunii examinate a traiectoriei).

In concordanta cu conditiile limita din acest punct avem:

hn(0) = an0 = qf (28)

vf =h`n (0)/ tn = an1 /tn , (29)

De aici rezulta:

an1 = vf tn .

Mai departe ,

af =h`n(0) / tn2 =2an2 / tn2   (30)

si in final :

an2 =aftn2 / 2.

Pentru t`=1

In concordanta cu conditiile limita din punctul de apropiere obtinem :

hn(-1)=an4 - an3 + [ aftn2 / 2 ] -vf tn+ qf q (31)

hn(-1)/tn= (32)

(33)

Conditiile de continuitate a vitezei si a acceleratiei din punctul de apropiere se noteaza in modul urmator :

[h`2(1) / t2 ]=[ h`n(-1) / tn ] si [h`2(1) / t22 ]=[h`n(-1) / tn2 ] , (34)

sau

0 , (35)

si

0 (36)

d q q = h1 (1)-h1(0) = a14 + a13 +[a0 t12 / 2]+ v0t1 , (37)

d q q = h2 (1)-h2(0) = a23 + a22 + a21 ,   (38)

dn qf q = hn (0)-hn (-1) =-an4 + an3 - [af tn2 / 2] + vf tn .(39)

Toti coeficientii necunoscuti din polinoame ce descriu schimbarea variabilei articulare pot fi determinati prin rezolvarea in comun a ecuatiilor (37) , (18) , (20) , (38) , (39) si (35) .

Prezentand acest sistem de ecuatii in forma matriceala , vom obtine :

y =Cx , (40)

unde

(41)

, (42)

x = ( a13 , a14 , a21 , a22 , a23 , an3 , an4 , )T (43)

Astfel , problema planificarii traiectoriei conduce la rezolvarea ecuatiei vectoriale (40) :

, (44)

sau x = C-1y. (45)

Structura matricei C permite sa se gaseasca usor coeficientii necunoscuti. Pe langa aceasta , matricea inversa C exista intotdeauna numai daca intervalele de timp ti (cand i = 1,2,n ) sunt pozitive . Rezolvand ecuatia (45) obtinem toti coeficientii necunoscuti ai polinoamelor care descriu traiectoria coordonatei articulare "j" . Intrucat pentru polinomul ce descrie ultima portiune a traiectoriei a fost efectuata inlocuirea ce porneste ( ce muta ) intervalul schimbarii timpului normat , atunci , dupa determinarea coeficientilor ani din ecuatia (45) , este necesar sa se efectueze inlocuirea inversa , ce consta in substituirea t`=t-1 in egalitatea (25). Ca rezultat obtinem :

hn(t)=an4 t4 +(-4an4 +an3 )t3 +(6an4 -3an3 +an2 )t2 +(-4an4 +3an3 -2an2 +an1 )t+(an4 -an3+an2-an1+an0) , tI (46)

Pentru prima portiune a traiectoriei obtinem :

h1(t)=[d -v0t1 -(a0t12 / 2)- o ]t4 +ot3 +[a0t12 / 2]t2 +(v0f1)t+qo

v1 =(h`1(1) / t1)= (4d / t1 ) -3v0 -a0t1 -(o /t1 ) 

a1 =(h`1(1) / t12 )=(12d / t1 )-(12v0 / t1 )-5ao-(6o / t12 ).

Pentru a doua portiune a traiectoriei obtinem :

h2(t)=[d -v1t2 - (a1 t22 / 2 )]t3+[a1t22 / 2]t2+(v1t2)t+q

v2=[h`2(1) / t2]=(3d / t2)-2v1 -(a1t2 / 2) , (47)

a2=[h`2(1) / t22]=(6d / t22) - (6v1 / t2)-2a1t2 .

Pentru ultima portiune a traiectoriei obtinem :

hn(t)=[9dn -4v2tn - (a2tn2 / 2)-5vftn+(aftn2 / 2)]t4+[-8dn+5vftn-(aftn2 / 2)+3v2tn]t3+ +[a2tn2 / 2]t2+ (v2tn)t+q

unde o=f/g , si

f=2d [4+(2tn /t2 )+(2tn / t1 )+(3t2 / t1)]- (d t1 / t2)[3+(tn / t2)]+(2dnt1 / tn)-v0t1[6+(6t2 / t1)+ +(4tn / t1 )+(3tn / t2 )]-vft1 -a0t1tn[(5/3)+(t1 / t2)+(2t1 / tn)+(5t2 / 2tn)]+aft1tn ,

g=(tn / t2)+(2tn / t1)+2+(3t2 / t1)

Calculul traiectoriei in cazul interpolarii cu polinoame pentru traiectoria 3-5-3 .

Prima portiune a traiectoriei este deescrisa de :

h1(t)=[d -v0t1 -(a0t12 / 2)]t3+[a0t12 / 2]t2+(v0t1 )t+q

v1=[h`1(1) / t1]=(3d / t1)-2v0 -(a0t1 / 2) , (49)

a1=[h`1(1) / t12] = (6d / t12)-(6v0 / t1 )-2a0 .

A doua portiune a traiectoriei :

h2(t)=[6d -3v1t2 -3v2t2-(a1t22 / 2)+(a2t22 / 2)]t5+[-15d +8v1 t2+7v2t2+(3a1t22 / 2 )-a2t22]t4+[10d -6v1t2-4v2t2-(3a1t22 / 2)+(a2t22 / 2)]t3+[a1t22 / 2]t3+[a1t22 / 2]t2+(v1t2)t+q

v2=[h`2(1) / t2]=(3dn / tn)-2vf+(aftn / 2), (50)

a2=[h`2(1) /t22]=(-6dn / tn2)+(6vf / tn)-2af.

Ultima portiune a traiectoriei :

hn(t)=[dn-vftn+(aftn / 2)]t3+(-3dn+3vftn-aftn2)t2+[3dn-2vftn+(aftn2 / 2)]t+q (51)

Calculele analoage se utilizeaza la calcularea traiectoriei in alte situatii.

3.2.Descrierea traiectoriei cu functii "spline" cubice.

Interpolarea functiei date cu functii polinomiale cubice care asigura continuitatea primelor doua derivate in punctele nodale se numeste functie splina cubica. Un asemenea mijloc de interpolare asigura o precizie suficienta aproximatiei si netezimea functiei de aproximare . In general splina este in fiecare punct un polinom de gradul k cu derivatele "k-1" continui in punctele nodale. In cazul "splinelor" cubice continuitatea primei derivate asigura continuitatea vitezei , iar continuitatea celei de-a doua derivate semnifica continuitatea acceleratiei . Functiile splinele cubice au un sir intreg de calitati . In primul rand acestea sunt polinoame de grad minim care asigura continuitatea vitezei si acceleratiei . In al doilea rand gradul mic al polinoamelor utilizate scurteaza timpul de calcul.

La folosirea splinelor cubice fiecare din cele cinci portiuni ale traiectoriei se descrie cu un polinom ce are aspectul:

hj(t)=aj3t3+aj2t2+aj1t+aj0 , j=1,2,3,4,n (52)

cand tj-1 t tj tI[0 , 1] , aij semnifica coeficientul necunoscut i ce corespunde portiunii j a traiectoriei, portiunea n a traiectoriei fiind ultima . Utilizarea functiilor splinelor cubice presupune existenta a cinci portiuni ale traiectorii si sase puncte nodale . Totusi in rationamentele noastre anterioare noi am folosit numai patru puncte nodale : punctul initial , punctul de pornire , punctul de apropiere si punctul final .

Pentru a asigura un numar suficient de conditii limita pentru determinarea coeficientilor necunoscuti aji sunt necesare inca doua puncte nodale. Aceste puncte nodale suplimentare se pot alege pe segmentul traiectoriei intre punctul de pornire si punctul de apropiere . Nu este necesar sa se cunoasca precis valoarea coordonatei din aceste puncte , este suficient sa se indice momentele de timp si sa se ceara continuitatea vitezei si acceleratiei. In acest mod sistemul ales de polinoame de interpolare trebuie sa satisfaca urmatoarele conditii limita :

1) coordonata trebuie sa ia valorile date in punctul initial , in punctul de plecare , in punctul de apropiere si in punctul final ;

2) viteza si acceleratia trebuie sa fie continui in toate punctele nodale . Valorile acestor variabile sunt cunoscute pana la inceperea calcului traiectorie planificate . Prima si a doua derivata ale polinoamelor in raport cu timpul real sunt egale in mod corespunzator cu :

vj(t)=[h`j(t) / tj]=3aj3t2+2aj2t+aj1 , j=1,2,3,4,n, (53)

aj(t)=[h`j(t) / tj2]=(6aj3t+2aj2) / tj2 , j=1,2,3,4,n, (54)

unde tj este intervalul de timp real consumat la parcurgerea portiunii j a traiectoriei . Pozitia, viteza si acceleratia ce au fost date in punctul initial si in cel final ale traiectoriei ca si pozitia din punctul de pornire si de apropiere determina pe deplin coeficientii polinoamelor h1 (t) si hn (t) ce descriu portiunea initiala si cea finala a traiectoriei . Cand se cunosc h1 (t) si hn (t) coeficientii polinoamelor h2 (t) , h3 (t) , h4(t) se determina din conditiile continuitatii in punctele nodale .

Prima portiune a traiectoriei este descrisa de polinomul :

h1(t)=a13t3+a12t2+a11t+a10 . (55)

Cand t = 0 in concordanta cu conditiile initiale avem :

h1(0)=a10=q q este dat ) ,   (56)

v0 = . (57)

De aici obtinem a11=v0t1. In continuare

a0 = (58)

rezulta ca :

a12 = a0t12 / 2 .

Cand t = 1 in concordanta cu conditia aplicata pozitiei in punctul de pornire , avem :

h1(1) = a13+ (a0t12 / 2)+ v0t1+ q q

Din aceasta este usor de dedus ca :

a13-o1-v0t1 -(a0t12 / 2 ) , (60)

unde d qi qi-1. In acest mod prima portiune a traiectoriei este determinata complet

h1(t) = [d -v0t1 -(a0t12 / 2)]t3+[a0t12 / 2]t2+(v0t1) +q

In concordanta cu expresia (56) viteza si acceleratia in punctul final al primei portiuni a traiectoriei sunt egale cu :

(62)

, (63)

Aceasta viteza si acceleratie trebuie sa coincida in mod corespunzator cu viteza si cu acceleratia din punctul initial al urmatoarei portiuni a traiectoriei. Ultima portiune a traiectoriei este descrisa de polinomul :

hn(t)= an3t3+ an2t2+ an1t+ an0. (64)

Folosind conditiile limita pentru t = 0 si t = 1 , obtinem :

hn(0)= an0= qn qn este dat),   (65)

hn(1)= an3+ an2+ an1+ qn qf (66)

h`n(1)= vf= (3an3+2an2+ an1 ) / tn , (67)

[h`n(1) / tn2]= af= (6an3+2an2) / tn2 (68)

Rezolvand aceste ecuatii in raport cu coeficientii necunoscuti an3 , an2 , an1 , obtinem :

hn(t)=[dn -vftn +(aftn2 / 2)]t3 +(-3dn+3vftn-aftn2)t2+[3dn-2vftn+(aftn2) / 2]t+qn (69)

unde dn qf qn

A doua portiune a traiectoriei este descrisa de polinomul:

h2(t)=a23t3+a22t2+a21t+a20 . (70)

Din conditiile continuitatii pentru pozitie , viteza si acceleratie in punctul de pornire gasim :

h2(0)=a20=q q este cunoscut )  (71)

v1=h`2(0) / t2=a21 / t2 =h`1(1) / t1. (72)

De aici rezulta a21 = v1t2 ,

a1= h`2(0) / t22 =(2a22) / t22=h`1(1) / t12 (73)

si urmeaza : a22=(a1t22) /2.

Luand in consideratie coeficientii gasiti se poate nota

h2(t)= a23t3+ [(a1t22) / 2]t2+ (v1 t2)+ q (74)

unde v1=(3d )/ t1 -2v0-(a0t1 )/ 2 , a1=(6d ) /t12-(6v0) /t1 -2a0

Ramane sa se determine coeficientul a23. Cu ajutorul egalitatii (69) vom determina viteza si acceleratia cand t = 1 , care trebuie sa coincida in mod corespunzator cu viteza si cu acceleratia din punctul initial al portiunii urmatoare a traiectoriei :

h2(1)= q = a23+ (a1t22)/ 2+ v1t2+ q (75)

h`2(1) / t2= v2= (3a23+ a1t22+ v1t2) / t2= v1+ a1t2+ (3a23)/ t2 , (71)

h``2(1) /t22= a2= (6a23+a1t22) /t22=a1+(6a23) / t22. (76)

Observam ca fiecare din marimile q , v2 si a2 depind de valoarea a23 .

A treia portiune a traiectoriei este descrisa de polinomul :

h3(t) = a33t3+ a32t2+ a31t+ a30 . (77)

In punctul t = 0 , din concordanta cu conditiile de continuitate a pozitiei, a vitezei si a acceleratiei avem :

h3(0) = a30= q = a23+ (a1t22) / 2+ v1t2 + q , (78)

v2 = [h3(0)] / t3= a31 / t3 = h2(1) / t2.  (79)

In acest mod , a31 =v2t3.

In continuare ,

a2 = h3(0) / t32= (2a32) / t32 = h``2(1) / t22 . (80)

De aici vom obtine :

a32 =(a2t32) / 2 .

Substituind valorile gasite (obtinute) ale coeficientilor din expresia (73), obtinem :

h3(t) =a33t3+[(a2t32) / 2]t2 +v2t3t+q (81)

Vom determina in punctul t = 1 valorile vitezei si acceleratiei care trebuie sa coincida cu caracteristicile corespunzatoare din punctul initial al portiunii urmatoare :

h3(1)= q q + v2t3+ [(a2t32) / 2]+a33 , (82)

[h`3(1) / t3]= v3 [3a33+ a2t32 + v2t3] /t3= v2+a2t3+(3a33) / t3 , (83)

[h``3(1) /t32]= a3= (6a33+ a2t32]/ t32= a2+(6a33) /t32. (84)

Observam ca fiecare din marimile q , v3 si a3 depinde de a33.

A patra portiune a traiectoriei este descrisa de polinomul

h4(t)= a43t3 + a42t2+a41t + a40 . (85)

Folosind conditiile aplicate pozitiei in punctul de apropiere ca si conditiile de continuitate a vitezei si acceleratiei din acest punct , obtinem :

h4(0)= a40= q q +v2t3+ (a2t32) / 2+a33 ,  (86)

v3=h`4(0)/ t4=a41 / t4 = h`3(1) / t3,  (87)

care da :

a41= v3 t

In continuare :

a3= h``4 (0) /t42 = (2a42) / t42= h``3(1) /t22. (88)

De aici obtinem:

a42=(a3t42) / 2.

Substituind expresiile gasite pentru coeficientii din egalitatea (80), obtinem :

h4(t)= a43 t3 +[(a3t42) / 2 ]t2+ (v3t4)t+ q3 , (89)

unde q , v3 si a3 se determina in mod corespunzator cu egalitatile (87) , (88) si (89) , iar coeficientii a23 , a33 si a43 sunt ca si inainte necunoscuti. Cu ajutorul acestor coeficientii trebuie determinate in intregime polinoamele ce descriu cele trei portiuni de mijloc ale traiectoriei. Pentru aceasta ne vom folosi de conditiile din punctul limita dintre a patra portiune si ultima portiune a traiectoriei :

h4(1)= a43+ (a3t42) / 2 + v3t4 + q q , (90)

h`4(1)/t4= (3a43) /t4 + a3 t4 + v3 = v4 =(3dn) / tn -2vf + (aftn)/ 2 (91)

h``4(1) / t42 =ba43 / t42 + a3 = a4 =(-6dn)/ tn2 +(6vf)/ tn -2af, (92)

Din aceste ecuatii se pot gasi valorile coeficientilor necunoscuti a23 , a33 si a43. Ca rezultat toate polinoamele vor fi determinate in intregime. In continuare este prezentat aspectul final al acestor polinoame :

h1 (t) = [d -v0t1 -(a0t22 / 2)]t3+ [(a0t12) / 2]t2+ (v0t1)t+ q

v1=(3d ) / t1 -2v0 -(a0t1 ) / 2 ; (94)

a1=(6d ) / t12-(6v0 ) / t1 -2a0 ; (95)

h2(t) =a23t3+[(a0t22) / 2]t2+ (v1t2)t+ q , (96)

q = a23 +(a1t22) / 2 + v1t2+ q , (97)

v2= v1+ a1t2 + (3a23) / t2 ;  (98)

a2= a1+ (6a23) / t22 ; (99)

h3(t) = a33 t3 + [(a2t32) / 2]t2 + (v2t3)t + q (100)

q q +v2t3 + [(a2t32) / 2]+ a33 ,  (101)

v3 = v2 + a2t3 + [(3a33) / t3]; a3 = a2+(6a33) / t32 ,  (102)

h4(t)= a43t3 + [(a3t42) / 2]t2+ (v3t4)t + q (103)

hn(t) = [dn -vftn +(aftn2) / 2]t3+ (-3dn+3vffn -aftn2)t2 + [3dn -2vftn+(aftn2) / 2]t + q , (104)

v4 = [(3dn) / tn] -2vf+ [(aftn) / 2]; a4 = [(-6dn) / tn2]+ [(6vf) / tn]-2af ; (105)

a23 = t22(x1/D) , a33 = t32(x2/ D) , a43 = t42(x3/D) , (106)

In plus:

x1 = k1 (u-t2) + k2(t42-d) - k3 [(u-t4)d + t42(t4-t2)] ,   (107)

x2 = -k1 (u+t3) + k2(c-t42)+ k3 [(u-t4)c+ t42(u-t2)] , (108)

x3 = k1 (u-t4) + k2(d-c) +k3[(t4-t2)c -d(u-t2)] , (109)

D = u(u-t2)(u-t4) , (110)

u = t2 + t3 + t4 , (111)

k1 = q q -v1u -a1(u2/2) , (112)

k2 = [v4- v1 -a1 u -(a4-a1)u/2] / 3 (113)

k3 = (a4-a1) / 6 , (114)

c = 3u2 -3ut2 + t22 , (115)

d = 3t42 + 3t3t4 + t32 , (116)

In acest mod se demonstreaza ca daca sunt cunoscute pozitiile din punctul initial si din cel final , din punctul de pornire si din cel de apropiere ca si timpul miscarii pe fiecare din portiunile traiectoriei , cu acestea este definita complet functia splina cubica ce da regula de variatie a coordonatelor articulare. In acest subcapitol am examinat constructia functiei "splinei" cubice pentru o traiectorie cu cinci puncte nodale.

4. Planificarea traiectoriilor in coordonate carteziene

In subcapitolul anterior au fost examinate modurile de constructie a traiectoriilor in spatiul variabilelor articulare bazat pe utilizarea polinoamelor de interpolare de ordin mic. Desi coordonatele articulare determina complet pozitia si orientarea EE in spatiul cartezian, coordonatele articulare nu sunt intotdeauna utile. Aceasta este conditionata de faptul ca majoritatea coordonatelor articulare ale manipulatorului nu sunt ortogonale si nu permit schimbarea independenta a pozitiei si orientarii EE. Strategia de conducere a RI se prezinta de obicei sub forma unei succesiuni a punctelor nodale in spatiul operational prin care trebuie sa treaca EE. In legatura cu aceasta este necesar un aparat matematic ce permite sa se descrie atat punctele nodale prin care trebuie sa treaca EE cat si curba spatiala ( traiectoria ) ce uneste aceste puncte.

Paul a propus un mijloc de planificare a traiectoriei EE in spatiul operational care consta dintr-o succesiune de portiuni rectilinii. Intre portiunile rectilinii ale traiectoriei miscarea se realizeaza cu ajutorul interpolarii patratice. Portiunile rectilinii ale traiectoriei miscarii sunt obtinute ca rezultat al rezolvarii problemei cinematice inverse a punctelor din spatiul variabilelor articulare. Metoda propusa de Paul a fost dezvoltata si perfectionata de Tailor pe seama folosirii unui aparat cu cuaterniomi pentru descrierea orientarii EE.

Proprietatile cuaterniomilor au permis sa se simplifice calculul pentru descrierea miscarii de rotatie a EE intre punctele nodale. Toate abordarile mentionate privind planificarea traiectoriilor rectilinii in spatiul operational le vom examina in urmatoarele doua subcapitole.

4.1 Metoda ce foloseste matricea transformarii omogene.

In sistemele de programare a miscarii robotilor miscarea manipulatorului poate fi descrisa ca o succesiune de puncte nodale in spatiul operational. Fiecare dintre aceste puncte este descris de matricea transformarii omogene care face legatura intre sistemul de coordonate al EE si sistemul fix. Valorile coordonatelor articulare ce corespund pozitiilor EE in punctele nodale ale spatiului operational se obtin prin rezolvarea problemei cinematice inverse. In continuare pentru a realiza conducerea EE traiectoria intre doua puncte nodale succesive in spatiul variabilelor articulare se interpoleaza cu un polinom de gradul doi. Ca rezultat conducerea RI se realizeaza astfel incat EE sa se miste pe o linie dreapta ce uneste aceste puncte. Avantajul unui asemenea mijloc de conducere este posibilitatea de a manipula obiecte aflate in miscare. Desi pozitia EE din punctele nodale este descrisa in intregime de matricea de transformare omogena. Paul a propus sa se foloseasca pentru realizarea trecerii dintr-un punct nodal in altul o translatie si doua rotatii

In general pozitia pe care trebuie sa o ocupe RI se determina cu urmatoarea ecuatie principala :

0T66Tunealta = 0Cbaza(t)bazaPobiect (117)

unde ,

T6 este matricea pentru transformarea omogena ce are dimensiunea 4x4 si care descrie pozitia si orientarea EE in sistemul de baza;

Tunealta este matricea transformarii omogne ce ar dimensiunea 4x4 si care descrie pozitia si orientarea uneltei in raport cu sistemul de coordonate al EE. Mai precis, aceasta matrice descrie pozitia parti uneltei ce actioneaza direct si a carei miscare trebuie condusa;

Cbaza(t) este matricea transformarii omogene ce are dimensiunea 4x4 si care este functie de timp. Aceasta matrice descrie pozitia sistemului de lucru al coordonatelor obiectului manipulat in raport cu sistemul de baza al coordonatelor;

bazaPobiect este matricea transformarii omogene ce are dimensiunea 4x4 si care descrie pozitia si orientarea data a obiectului ce se manipuleaza in momentul apucarii lui si in raport cu sistemul de lucru.

Daca matricea 6Tunelta este inclusa deja in matricea 0T6 , in ecuatia (117) , matricea 0T6 , in ecuatia (117) matricea 6Tinstrument este unica si ea poate fi omisa.

Daca sistemul de lucru al coordonatelor obiectului coincide cu sistemul de baza al coordonatelor manipulatorului , atunci 0Cbaza(t) reprezinta o matrice unica in oricare moment de timp. Se poate observa ca partea stanga a ecuatiei (117) descrie pozitia si orientarea EE in momentul apucarii obiectului , in timp ce partea dreapta a acestei ecuatii descrie pozitia si orientarea partii din obiectul de manipulat supusa apucarii. In acest mod putem determina matricea 0T6 care stabileste configuratia RI, necesara pentru realizarea corecta a apucarii obiectului sub forma :

0T6=0Cbaza(t) bazaPobiect [6Tunelata]-1 (118)

Daca s-ar fi putut sa se calculeze destul de repede elementele matricei 0T6 si apoi sa se determine variabilele articulare, aceasta ar fi fost suficient pentru realizarea conducerii manipulatorului.

4.2. Traiectoria cu abateri limita

Modul descris mai sus de formare a traiectoriei in coordonate carteziene cere un consum mare de timp pentru calcul. Pe langa aceasta in timp real este prea complicat sa se realizeze evaluarea limitelor miscarii RI in spatiul coordonatelor interne. Exista un numar de posibilitati pentru a inlatura aceste probleme. Este posibil ca din timp (pana la realizarea miscarii ) sa se primeasca si sa se inregistreze in memoria calculatorului rezolvarea problemei cinematice inverse simuland functionarea algoritmului.

Realizarea miscarii date, in acest caz, nu este dificila intrucat succesiunea punctelor de comanda va fi citita din memoria calculatorului . O alta cale posibila consta in calcularea din timp a valorilor coordonatelor printr-o succesiune oarecare a punctelor fiecareia dintre portiunile traiectoriei si apoi sa se realizeze interpolarea cu polinoame de grad inferior. Dificultatea unei asemenea abordari consta in faptul ca numarul punctelor intermediare necesare pentru realizarea miscarii ce este destul de aproape de o miscare rectilinie, depinde de miscarea realizata. Alegerea apriorica a intervalului este destul de mica pentru a asigura mici abateri de la miscarea rectilinie si conduce la o mare crestere a volumului calculelor preliminare si a resurselor folosite ale memoriei. Avand in vedere toate acestea Tailor a propus un mijloc de planificare a traiectoriilor in spatiul variabilelor articulare denumit traiectorii cu abateri limitate .

In etapa calculelor preliminare, aceasta metoda permite alegerea unui numar de puncte intermediare suficient pentru ca abaterile traiectoriei planificate a EE de la miscarea rectilinie sa nu depaseasca limitele stabilite .

In cazul unei asemenea abordari mai intai se calculeaza vectorii coordonatelor articulare "q" , ce corespund punctelor modale ale traiectorei date in spatiul cartezian . Apoi vectorii calculati se folosesc in calitate de puncte nodale in procedura de construire a traiectoriei de schimbare a variabilelor analoaga cu procedura folosita la construirea traiectoriei in coordonate carteziene. Miscarea din punctul [q0 ] in punctul [q1 ] este descrisa cu ecuatia :

q(t) = q1-(T1-1)/T1Dq1 (119)

iar la trecerea de la portiunea dintre [qo]si [q1] la portiunea dintre [q1] si [q2] miscarea se stabileste cu formula

q(t`) = q1[(t-t`)2/4tT2] Dq1+ [(t-t`)2/4tT2] Dq2   (120)

unde Dq1= q1-q0 , Dq2= q2-q1 , T1 , T2 t` si t au acelasi sens ca si mai sus. Aceste ecuatii asigura o viteza constanta pentru miscarea dintre punctele nodale in spatiul coordonatelor articulare si o trecere lina cu acceleratie constanta de la o portiune a traiectoriei la alta portiune .

Totusi, in acest caz, sistemul de coordonate al EE poate sa se abata mult de la traiectoria rectilinie stabilita. Marimea abaterii se caracterizeaza prin diferenta dintre Fj(t) ce descrie pozitia EE si care corespunde punctului qj(t) in spatiul variabilelor articulare si Fd(t) ce descrie pozitia EE in momentul t cand al miscarii sale pe traiectoria rectilinie stabilita in spatiul cartezian. Abaterile de la pozitie si de la orientare se stabilesc conform cu formulele:

dp = [Pj(t)-Pd(t)]  (121)

dp = | partea unghiulara Rot(n,j j

unde Rot(n,j) = R-1d(t)Rj(t)

Stabilind abaterile maxime admise pentru pozitie si orientare dMAXR si dMAXP vom cere realizarea conditiilor :

dp<dMAXP  si dR<dMAXR 

Pentru aceasta este necesar sa se aleaga un numar suficient de puncte intermediare intre doua puncte nodale succesive. Modul propus de Taylor pentru construirea unor traiectorii cu abateri limitate este in esenta un algoritm de construire succesiva a punctelor intermediare ce asigura realizarea conditiilor (122). Acest algoritm poseda o mare convergenta, desi setul de puncte intermediare este format cu ajutorul algoritmului si nu este minim . Acest algoritm este prezentat mai jos

Algoritmul de formare a traiectoriilor cu abateri limitate

In cazul abaterilor maxime stabilite dMAXR si dMAXP corespunzatoare pentru pozitia si orientarea nodale stabilite Fi ale traiectoriei in spatiul cartezian, acest algoritm formeaza succesiunea punctelor nodale intermediare in spatiul variabilelor articulare, succesiunea in care abaterile sistemului de coordonate al EE de la traiectoria rectilinie stabilita in spatiul cartezian nu depasesc limitele stabilite. Etapele algoritmului sunt :

S1. Calcularea valorilor variabilelor .

Stabiliti vectorii coordonatelor [q0] si [q1] , ce corespund punctelor [F0] si[ F1] .

S2. Calcularea punctului mijlociu in spatiul variabilelor articulare . Calcularea punctului mediu [qm] in spatiul variabilelor

qm = q1-0,5 Dq1

unde Dq1= q1-q0 si calcularea pozitiri [Fm] a sistemului de coordonate a EE care corespunde valorilor coordonatelor [qm] .

S3. Calcularea punctului mijlociu in spatiul cartezian. Calcularea punctul mijlociu corespunzator [Fc] al traiectoriei in spatiul cartezian.

Pc = (P0+P1)/2 , Rc

unde Rot(n,q)=R-10R1

S Calcularea abaterii . Calcularea abaterii [Fm] de la dp=|pm-pc| , dR = | partea unghiulara Rot(n,j)=R-1cRm| = |j| ( mai corect este sa se scrie dR = | partea unghiulara Rot(n, j j| , unde Rot(n, j) = R-1cRm

S5. Verificarea conditiei abaterilor . Daca dp<dMAX incheiati functionarea algoritmului. In caz contrar calculati vectorul [qc] al coordonatelor ce corespund punctului [Fc] al traiectoriei carteziene si realizati pasii S2-S5 succesiv pentru doua subintervale inlocuind [F1]cu [Fc] si [Fc] cu [F0]. Acest algoritm are o convergenta destul de rapida .

De regula la o singura iteratie abaterea maxima se micsoreaza aproximativ de 4 ori . Tailor a cercetat viteza convergentei algoritmului prezentat pentru un RI cilindric (doua grade de libertate de translatie si doua de rotatie ). S-a dovedit ca la o singura iteratie abaterea maxima se micsoreaza de maximum 4 ori . Astfel metoda de construire a traiectoriilor cu abateri limitate consta in formarea unei succesiuni de puncte intermediare in spatiul variabilelor care sa asigure miscarea EE in spatiul cartezian si in lungul traiectoriei. Aceasta abatere de la traiectoria rectilinie stabilita nu depaseste limitele stabilite .





Politica de confidentialitate


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