Sunteți pe pagina 1din 5

Limbaje de programare pentru roboti Cursul 3

2.1 Introducere in generarea traiectoriei


O componenta a sistemului de conducere a unui robot trebuie sa fie planificatorul de traiectorie (de miscare). Aceasta componenta ( subsistem ) stabileste traiectoriile pe care le va urma cuplele conducatoare ale robotului. In robotica , prin traiectorie se intelege o curba ( o variatie ) careia i se asociaza o variabila temporala. Astfel se poate vorbi de traiectorie in spatiul coordonatelor cuplelor conducatoare (coordonatelor generalizate). Aceasta inseamna precizarea variabilelor q(t) , n-nr. gradelor de libertate , L { , se prezinta descrierea variabilelor in timp a pozitiilor celor n cuple , putem avea si

o traiectorie in spatiul coordonatelor carteziene. (t) x , y , z pozitie

Prin vectorul (t) se descrie pozitia si orientarea efectorului final in timp. De regula , conducerea unui robot cuprinde 2 etape : 1) Planificarea traiectoriei : in spatiul coordonatelor , de regula se pleaca de la sarcina robotului care este data prin pozitia si orientarea elementului final. Este precizat atat pozitia cat si orientarea punctului de inceput ( initial ) cat si pozitia si orientarea punctului final. Pentru a trece in spatiul coordonatelor generalizate se apeleaza la modelul geometric invers (cinematica inversa a pozitiilor). In functie de z(t) se trece in coordonatele q(t) ; q(t) =f(z(t)). Iesirea din planificatorul de traiectorie se obtine prin generatorul de traiectorie care determina valorile lui q(t) la momentele de esantionare. a)

In schema prezenetata sistemul de reglare a miscarii lucreaza in bucla inchisa pe baza informatiilor de la sensor. In felul acesta se determina indeplinirea de catre cuplele conducatoare a pozitiei planificate. Cea de-a doua planificare a abordarii in spatiul coordonatelor operationale presupune generarea traiectoriei dorite pentru efector. Deci , se stabilesc pozitiile si orientarile acestuia la

momente de esantionare. Deoarece sistemul de reglare a miscarii necesita pentru comanda cuplelor valoarea vectorului q este necesar si in acest caz modelul geometric invers. La aceasta abordare , schema bloc a generarii este urmatoarea : b)

Indiferent de varianta abordata , planificatorul de traiectorie trebuie sa tina seama si de urmatoarele aspecte : - existenta sau nu a obstacolului in spatiul de lucru al robotului. - impunerea de catre procesul tehnologic a unei anumite traiectorii de catre efector. De exemplu: traiectorie liniara sau un arc de cerc sau precizarea a catorva pozitii pe care trebuie sa la atinga efectorul. - existent unor restrictii dinamice privind momentul , forta , viteza sau acceleratia maxima pe care le poate dezvolta sistemul de actionare al robotului. Iar valorile respective vor fi afectate de restrictiile dinamice impuse. Conform acestor aspecte se poate alege varianta de abordare a planificarii traiectoriei. Trebuie avute in vedere avantajele si dezavantajele pe care le prezinta fiecare abordare. Pentru planificarea in coodronate generalizate , avem urmatoarele avantaje : - planificarea se face in marimile care se folosesc drept comenzi pentru elementele de executie (pozitia , viteza , acceleratia cuplelor conducatoare). - complexitatea calculelor este mai mica decat la varianta in coordonate operationale. - restrictiile dinamice pot fi luate in considerare fara complicatii deoarece se lucreaza cu marimile asociate cuplelor conducatoare. - planificarea nu este restrictionata de evitarea configuratiilor singulare. Aceasta situatie se intampla in cazul raportarii in coordonate operationale. In cazul variantei de planificare in coordonate operationale , avantajele si dezavantajele se inverseaza. La aceasta abordare principala problema este a complexitatii calculelor pentru toate momentele de esantionare. Tinand seama de cele mai spuse mai sus , alegerea variantei de planificare se va face in functie de specificul aplicatiei in care este folosit robotul. Daca se lucreaza intr-un mediu fara obstacole si din punct de vedere tehnologic traiectoria de strabatut de catre efector poate fi definita printr-un numar redus de puncte atunci se prefera planificarea in coordonate generalizate. Trecerea de la coordonatele carteziene la coordonatele cuplelor conducatoare se face numai pentru puncte care definesc traiectoriile. In acest fel se ajunge la algoritm de planificare care au o complexitate a calculelor redusa. In acest fel se pot indeplini planificari de viteze si acceleratii optime din punct de vedere a sistemului de actionare a

fiecarei cuple conducatoare. Toate aceste aspecte fac ca planificarea in coordonate generalizate sa fie cea mai des folosita in prezent. Planificarea in coordonate operationale se va folosi numai atunci cand trebuie realizat un anumit tip de traiectorie pentru efectorul robotului. Cazul del mai des utilizat fiind cel al deplasarii efectorului in linie dreapta. 2) Controlul pentru indeplinirea traiectoriei :

2.2. Planificarea traiectoriei in coordonate generalizate.


In acest caz se pleaca de la sarcina de indeplinit , specificata prin valori ale vectorului z , de la aceste valori trebuie sa se ajunga la valorile corespunzatoare ale vectorului q. Pe baza acestui vector se va materializa algoritmul de planificare. Trecerea de la z la q se face pe baza modelului geometric invers. In cazul modelului geometric invers apare problema solutiilor multiple.

2.3 Planificarea traiectoriei intre doua pozitii precizate.


Consideram qi si qf ca fiind pozitia initiala repectiv pozitia finala dorita pentru efectori. Aceste date sunt cunoscute. Legea de miscare pentru o cupla conducatoare a robotului se poate scrie sub urmatoarea forma : q(t) = qi + D * r(t) unde : 0 t tf tf momentul final al miscarii D = qf - qi r(t) - determina legea de miscare realizata de cupla conducatoare. In planificarea traiectoriei se va tine seama si de restrictiile dinamice. De asemenea se va constata ca sunt precizate si valorile : vmax si amax. Acestea sunt marimile admisibile pentru cuplele conducatoare. Vectorul vmax se va determina tinand seama de caracteristicile elementelor de actionare si de rapoartele de transmitere ale sistemelor de transmisie. Valorile vmax se determina in functie de momentul sau forta maxima pe care o poate dezvolta fiecare cupla conducatoare. In acest caz se va tine cond si de caracteristicile inertiale ale cuplelor. In functie de forma legii r(t) rezulta mai multe tipuri de traiectorii : a) Traiectoria liniara : in acest caz variatia in timp a fiecarei coordonate generalizate este liniara. Legea de miscare are urmatoarea forma. q(t) = qi + D * t/tf ; 0 t tf

Fig.1

Fig.2

Conditiile pe care trebuie sa le satisfaca polinomul sunt urmatoarele : b) Traiectorie qj (0) = qji qj(tf) = qji qj (0)=0 qj(tf) = 0 j=1,,n Miscarea fiecarei cuple cinematice planificata in timp se considera ca un polinom de gradul III. qj(t) = a0 + a1*t + a2*t2 + a3*t4 , 0 t tf Coeficientii a0 pana la a3 se determina pana cand se respecta condiriile de mai sus. Dupa calculele simple de determinare a coeficientilor , legea de miscare pentru coordonatele cuplelor conducatoare sunt urmatoarele : qj(t) = qji + 3/tf2*Dj*t2 + 2/tf3*Dj*t3.

Se apreciaza datorita rigiditatii structurii mecanice a robotului , se produce o filtrare a acestei discontinuitati. Se poate face o verificare a restrictiilor dinamice in cazul timpului : t=tf/2. Valorile acestea extreme pentru viteza si acceleratie trebuie sa fie inferioare vitezei respectiv acceleratiei maxime. c) Traiectorie polinomiala de gradul 5. Pentru a obtine si continuitatea accelereatiei , se poate folosi tot o lege de variatie polinomiala pentru care pe langa conditiile precizate mai sus se vor adauga alte 2 conditii : qj**(0) = 0 qj**(tf) = 0 In acest caz se ajunge la un polinom de grad 5 si cei 6 coeficienti se determina pe baza conditiilor precizate. Forma finala a legii de miscare este : qj(t) = qji + 10/tf3* Dj*t3 15/tf4*Dj*t4 + 6/tf5*Dj*t5 , 0 t tf -