+ All Categories
Home > Documents > Cap.2 Roboti Industriali_3

Cap.2 Roboti Industriali_3

Date post: 10-Nov-2015
Category:
Upload: brescan-iulian
View: 77 times
Download: 5 times
Share this document with a friend
Description:
a
24
Roboţi industriali 4. Programarea roboţilor Aplicaţiile şi chiar profitabilitatea unei celule de fabricaţie cu robot depind de metodele de programare utilizate. Scopul activitaţii de programare a robotului este acela de a transfera o succesiune de mişcări complexe către controller-ul robotului, folosind instrucţiuni simple şi diverse metode de programare, astfel încât să poată fi automatizat un proces de fabricaţie. Metodele de programare ale robotului se pot compara cu metodele de programare pentru alte echipamente cu control numeric, dar cerinţele tehnice sunt mai mari din cauza posibilităţilor mai complexe de mişcare ale roboţilor. De aceea nu este rezonabilă aplicarea aceleiaşi metode de programare de la maşinile CNC. În plus, producătorii de roboţi oferă diferite interfeţe de programare, care nu respectă un standard. Rezultatul este că nu există încă un singur limbaj de programare pentru toate tipurile de roboţi. Fiecare producător mai important poate avea implementat un limbaj de programare specific pentru roboţii pe care îi produce. 4.1. Metode de programare Un prim criteriu de clasificare a metodelor de programare a roboţilor se referă la utilizarea sau nu a robotului în timpul creării programului. Dacă se utilizează robotul în timpul programării atunci se vorbeşte de programare online. Dacă nu se utilizează atunci se programează offline. Alte detalii despre metodele de programare se pot vedea în figura 2.3.1. Fig. 2.3.1. Metode de programare a roboţilor 43
Transcript

SISTEME MECATRONICE

Roboi industriali

4. Programarea roboilor

Aplicaiile i chiar profitabilitatea unei celule de fabricaie cu robot depind de metodele de programare utilizate.

Scopul activitaii de programare a robotului este acela de a transfera o succesiune de micri complexe ctre controller-ul robotului, folosind instruciuni simple i diverse metode de programare, astfel nct s poat fi automatizat un proces de fabricaie.

Metodele de programare ale robotului se pot compara cu metodele de programare pentru alte echipamente cu control numeric, dar cerinele tehnice sunt mai mari din cauza posibilitilor mai complexe de micare ale roboilor. De aceea nu este rezonabil aplicarea aceleiai metode de programare de la mainile CNC.

n plus, productorii de roboi ofer diferite interfee de programare, care nu respect un standard. Rezultatul este c nu exist nc un singur limbaj de programare pentru toate tipurile de roboi. Fiecare productor mai important poate avea implementat un limbaj de programare specific pentru roboii pe care i produce.

4.1. Metode de programare

Un prim criteriu de clasificare a metodelor de programare a roboilor se refer la utilizarea sau nu a robotului n timpul crerii programului. Dac se utilizeaz robotul n timpul programrii atunci se vorbete de programare online. Dac nu se utilizeaz atunci se programeaz offline. Alte detalii despre metodele de programare se pot vedea n figura 2.3.1.

Fig. 2.3.1. Metode de programare a roboilor

Pentru programarea unei aplicaii se pot folosi i combinaii dintre mai multe metode de programare. Este un lucru obinuit s se foloseasc programarea teach-in pentru corecia poziiilor planificate ntr-un program creat prin metoda offline.

4.1.1. Programarea onlineMetodele de programare online suport n general numai comenzi pentru micri. De obicei nu suport comenzi care s in cont de senzori externi.

Metodele de programare online cuprind: programarea manual i programarea teach-in. n prezent, programarea manual se folosete numai pentru dispozitive de alimentare/evacuare (feeding devices).

4.1.1.1. Programarea manual

Programarea manual nseamn stabilirea de puncte de micare prin limitatori statici (opritori), la nivelul axelor. De aceea, n aceast metod se folosesc coordonatele robot. n robotic, sistemul de coordonate robot (sau de coordonate articulaii) este un sistem de msurare diferit de cel Cartezian. Sistemul de coordonate robot folosete valorile poziiilor articulaiilor pentru a specifica un punct din spaiul de lucru. Articulaiile pot fi liniare sau rotaionale. De exemplu, n cazul roboilor articulai cu 6 axe, pentru determinarea unic a unei poziii se dau toate cela 6 valori dorite pentru poziia articulaiilor.

Avantaje: Timpi mai mici necesari pentru programare.

Nu este necesar un computer pentru programare.

Deoarece se utilizeaz micri PTP, chiar i un simplu controller poate obine viteze mari de poziionare.

Dezavantaje: Este necesar munc la nivelul mecanic.

Poziionarea robotului se limiteaz la cteva puncte.

Nu exist funcionalitate adiional.

Programarea manual este utilizat pentru aplicaii foarte simple, ca de pild alimentarea i evacuarea cu piese a mainilor CNC sau a altor puncte de lucru.

4.1.1.2. Programarea Teach-In

Programarea teach-in poate fi subdivizat n trei metode: teach-in direct, programare master-slave i teach-in indirect.

Obs. Dac nu se dau alte informaii suplimentare, atunci cnd se vorbete de programare teach-in, de obicei, se face referire la metoda teach-in indirect.

Caracteristici comune pentru toate metodele teach-in:

Robotul este micat n timpul programrii.

Punctele de poziionare sunt definite de senzorii interni (traductoarele de deplasare ataate axelor).

a) Teach-in direct

Caracteristici:

Programatorul conduce cu mna end-effector-ul robotului n poziiile pe care dorete s le obin (robotul are inhibat sau dezactivat sistemul de frnare al axelor).

Poziiile robotului sunt nregistrate fie direct (la o comand explicit a programatorului) fie automat (nregistreaz exact toate micrile pe care operatorul le aplic end-effector-ului). Al doilea caz, cel al nregistrrii automate, este numit i programare play-back i necesit spaiu mare de memorare a programului.

Necesiti:

Roboi cu greutate mic

Raport de transmisie mic pentru angrenajele mecanice de micare a axelor (n special pentru transmisii cu roi dinate)

Programarea cu teach-in direct este util pentru roboii folosii n aplicaii de tratare a suprafeelor (vopsire, polizare, lefuire etc.).

b) Programarea Master-Slave

Programarea Master-slave este comparabil cu programarea teach-in direct. n acest caz, operatorul nu mic robotul n mod direct, ci folosete un model miniatur (sau simplificat) al robotului. Robotul principal (slave) va urmrii micrile realizate cu robotul model (master). Aceast metod necesit un echipament complex pentru programare.

c) Teach-in indirect

Programarea teach-in indirect (sau simplu: programarea teach-in) este cea mai utilizat metod de programare a roboilor.

Caracteristici: Robotul este micat prin acionarea unor taste funcionale de pe panoul de operare (Teach Panel) al robotului. De aceea, motoarele robotului sunt active n timpul programrii.

Poziia dorit a robotului este memorat prin apsarea unei taste funcionale de pe panoul de operare al robotului.

Panoul de operare permite introducerea de informaii suplimentare pentru fiecare poziie (ex. citire intrri digitale, setare/resetare ieiri digitale).

Utilizatorul poate alege i schimba sistemul de coordinate n care dorete s mite robotul, de-a lungul procesului de programare (ex. coordonate universale, coordonate TCP, coordonate robot, coordonate pies etc.).

d) Proprieti generale pentru metodele de programare Teach-in

Avantaje:

Verificare imediat a modului de micare (programare demonstrativ)

Necesiti reduse de memorie pentru program

Pentru programe simple se obin cei mai mici timpi de programare

Uor de implementat

Dezavantaje:

Pentru programe complexe este necesar un timp mare de programare

Producia este oprit n timpul programrii robotului

Celula de fabricaie trebuie s fie construit nainte de nceperea programrii

Deseori programul robotului este incomplet sau are documentaia incomplet

Nu este uor s se foloseasc informaii de la senzori n programul robotului

Sunt puine funcii de programare suportate pentru prelucrri de date de tip algoritmi de calcul

Programele realizate nu sunt uor de structurat (n subprograme, proceduri, funcii etc.)

Este greu s se programeze traiectorii curbilinii complexe (ex. parabole)

4.1.2. Programarea offline

Programarea offline a unui robot se face, de exemplu, prin generarea de text n programul robotului, respectnd o sintax dat de un limbaj de programare specific roboilor. Programarea offline a unui robot are urmtoarele avantaje n comparaie cu metoda online:

Nu este necesar prezena unui robot n timpul programrii.

Se pot dezvolta programe complexe prin utilizarea unor structuri de programare (if.. then.., for .., while.. do.., etc.).

Sunt uor de tratat semnale de la senzori i de utilizat comenzi pentru ieiri digitale.

Principalele dezavantaje sunt:

Deseori poziiile nu se pot defini exact, din calcule matematice (este necesar i utilizarea metodei teach-in).

Este dificil de realizat un test complet al programului n modul offline.

4.1.2.1. Programarea n mod text

Programarea n mod text face apel la utilizarea unor limbaje de programare de nivel nalt, specifice roboilor. Realizarea oricrui program necesit folosirea unui sistem de dezvoltare al programelor (un mediu de programare). Acest sistem are urmtoarele funcii:

Implementarea (scrierea) programelor

Verificarea sintactic i semantic a programelor, conform regulilor limbajului utilizat, i compilarea programelor

Testarea programelor (simulare)

Stocarea i organizarea programelor (n directoare, cu posibilitatea de copiere, tergere, modificare etc.)

Interfee ctre alte sisteme de dezvoltare programe

Comunicaie cu utilizatorul

ncrcare (recuperare) a programelor n (din) controller-ul robotului (download, upload sau backup)

4.1.2.2. Programarea n mod grafic

Pentru programarea n mod grafic se folosesc sisteme CAD n scopul de a modela geometric obiectele aplicaiei. Aceste informaii geometrice se folosesc de programe specializate pentru a genera micri ale robotului pe anumite traiectorii. Utilizatorul introduce diveri parametrii necesari n definirea caracteristicilor fiecrei traiectorii. Sistemul calculeaz o traiectorie ca o secven de puncte intermediare prin care robotul trebuie s treac.

De exemplu, pentru procesarea unei suprafee, utilizatorul va introduce distana dintre scul i suprafaa piesei, care trebuie s rmn constant. De asemenea, va introduce punctul de start i direcia de micare. Aceste date sunt suficiente pentru calculul exact al unei traiectorii. Utilizatorul nu mai are nevoie s recurg la metode teach-in pentru fiecare punct.

Prin preluarea efortului de calcul al punctelor traiectoriei, acest mod de programare uureaz mult sarcina utilizatorului i reduce considerabil timpul de programare, n special pentru aplicaii cu micri complexe. Funcia de simulare a sistemului poate reprezenta grafic orice micare, n vederea testrii.

Acest mod de programare este folosit din ce n ce mai mult pentru aplicaii complexe de tratare a suprafeelor: vopsire, polizare, lefuire, periere, debavurare, sudare etc.4.1.2.3. Alte metode de programare

Exist i alte metode offline de programare. Cteva dintre ele sunt folosite i n industrie, dar majoritatea se utilizeaz n cercetare:

Programarea orientat pe spaiu (Workshop oriented programming)

Programarea orientat pe sarcini (Task oriented programming -implicit programming)

Programare prin micare n realitate vitual (Programming by moving in virtual reality)

Programare vizual cu diagrame i simboluri (Visual programming with diagrams and symbols)

Metode de programare hibride (amestecuri de mai multe metode diferite)

Programarea prin comenzi vocale (Programming by spoken commands)

Programare prin nvare autonom (roboi inteligeni)

4.2. Limbaje de programare pentru roboi

Limbajele de programare de nivel nalt folosite pe computere pentru dezvoltarea de programe PC au multe lucruri n comun cu limbajele de programare pentru roboi (structuri de control, manipulri de date etc.). Oricum, trebuie avute n vedere urmtoarele aspecte adiionale atunci cnd se utilizeaz un limbaj de programare pentru roboi:

Robotul se mic ntr-un spaiu tridimensional complex (exist pericol de coliziune).

Interaciunea robotului cu echipamentele periferice reprezint o parte important din numrul de comenzi ale limbajului de programare.

Starea echipamentelor periferice ale robotului se poate modifica n mod aleator (neprevzut) n timpul funcionrii.

Programul trebuie s proceseze informaii de la senzori.

Obiectele mnuite de robot au diverse proprieti fizice (ex. mas, volum, temperatur).

4.2.1. Clasificare

Limbajele de programare pentru roboi se pot clasifica dup nivelul lor de abstractizare. Metodele de programare offline sunt divizate n patru nivele ierarhice, conform cu figura 2.3.2.

Fig. 2.3.2. Ierarhia limbajelor de programare dup nivelul de abstractizare.

Limbajele de la nivelele task layer i object layer sunt denumite limbaje implicite. Ele au cel mai mare nivel de abstractizare. Limbajele explicite sunt cele care opereaz la nivelele robot layer i joint layer. Nivelul comenzilor pentru articulaii are cel mai mic nivel de abstractizare.

Limbaje de programare explicite

Urmtoarele detalii subliniaz cteva aspecte principale ale limbajelor de programare explicite.

Accept descrierea obiectelor n spaiul de lucru

Starea de pornire (poziie i orientare)

Accept descrierea prilor principale (gripper i puncte de apucare)Este uzual s se descrie poziia i orientarea obiectului n sistemul de coordonate al robotului (cu originea la baza robotului) i relativ sistemul de coordonate al obiectului, ca o funcie de transformare, poziia i orientarea prilor principale (gripper i puncte de apucare).

Accept intrri de date numerice pentru definirea unor poziii i orientri. Aceste date pot proveni din:Metode teach-in

Msurare

Modele CAD

Accept comenzi pentru micri brute (ample)

Cu evitarea coliziunilor n spaiul de lucru prin introducerea de ctre utilizator a unor puncte de trecere

Cu evitarea singularitilor i cu impunerea configuraiilor de poziie de ctre programator.

Accept comenzi pentru micri fine

Micrile fine produc deplasri mici i orientri fine ale uneltei, n general pentru operaii de asamblare sau prelucrare suprafee. n general, pentru comanda acestor micri se folosete sistemul de coordonate TCP (al uneltei).

Micri provocate de senzori (ex. senzori de proximitate)

Strategii de asamblare prin programarea mai multor comenzi de micare

Luarea n consideraie prin funcii de program a forelor, momentelor i a limitelor de flexibilitate

Componente de limbaj pentru programare paralel i/sau n timp real Controlul uneltelor i al perifericelor

Cooperare cu ali roboi

Ateptare pentru i/sau reacie la evenimente externe

Comparaie

n contrast cu limbajele implicite, limbajele explicite au urmtoarele caracteristici:

Nu au un model al mediului nconjurtor

Nu au posibilitatea de adugare sau completare de programe n mod autonom

Nu detecteaz n mod autonom operaii ilegale

Timpi de calcul mai mici i necesiti de memorie mai mici dect la sistemele implicite

Utilizatorul trebuie s programeze fiecare micare i s trateze prin program diversele erori posibile.

Strategia dezvoltrii programelor pentru roboi industriali

Dezvoltarea riguroas i ordonat de programe pentru roboi se face urmnd paii de proiect specificai n figura 2.3.3.

Fig. 2.3.3. Cele ase faze ale dezvoltrii unui program pentru comanda roboilor industriali.

Exist cteva strategii de programare generale care sunt larg utilizate pentru realizarea de programe: lucrul n echip, folosirea experienei acumulate, utilizarea de biblioteci de funcii i proceduri despre care se tie c sunt corecte i testate, preluarea de modele generale pe care programatorul le particularizeaz pentru aplicaia real etc. La acestea se adaug diferite tehnici de programare.

Tehnici de programare

Dac programul este complex, se prefer mprirea lui n mai multe mici sub-programe cu funcii clare i diferite. Acest lucru permite concentrarea programatorului pe rnd, la rezolvarea unor probleme mai simple. Pentru implementarea acestor sub-programe se pot folosi proceduri i funcii. Separarea repetat a diverselor aciuni ale programului conduce la apariia mai multor proceduri i subrutine, care trebuie organizate. Divizarea codului unui program n funcii, proceduri i subrutine conduce la nevoia de structurare a programelor. O structurare bun a unui program trebuie s asigure o lizibilitate (citire i nelegere) uoar a acestuia. Acest aspect este important, mai ales atunci cnd un programator trebuie s modifice sau s dezvolte un program realizat de alt programator.n mod particular, pentru tratarea intrrilor/ieirilor digitale, trebuiesc cunoscute tehnicile de programare pentru automatizri cu evenimente secveniale i aleatoare, aa cum se folosesc la PLC-uri.Structurarea programelor

Un program include informaii pentru execuia unor aciuni. Aceste informaii se mpart n: comenzi i date. n mod uzual, datele necesare pentru aciuni nu sunt cuprinse n program, ci sunt preluate din alte surse, cum ar fi:

Memoria de date (ex. lista de poziii)

Sistemele de msurare (ex. senzori tactili sau de proximitate)

De la utilizator (ex. panou operator teach panel)

Comenzile din program constau n instruciuni de comand i, dac este cazul, n ali parametri specifici necesari execuiei acestor instruciuni.

Fig. 2.3.4. Fluxul informaiei ntr-un program pentru roboi

4.2.2. Limbaje de programare pentru roboi industriali

Dintre cele mai cunoscute limbaje de programare n mod text pentru roboi se pot enumera:

MRL Mitsubish Robol LanguageIRL Industrial Robot LanguageSLIM Standard Language for Industrial ManipulatorsMELFA-BASIC III i IV Limbaje de programare, de nivel nalt, pentru roboi industriali Detalii privind limbajele de programare pentru roboi industrialiMRL Mitsubish Robol Language

Acest limbaj de programare a fost conceput i folosit de firma Mitsubishi pentru programarea roboilor si industriali din primele generaii. Programele sunt ncrcate din PC n controller sub form de fiiere text. Controller-ul acioneaz ca un interpretor de comenzi, executnd instruciunile linie dup linie, la fel ca la mainile CNC.

Pentru programare este disponibil un set destul de bogat de comenzi. Comenzile sunt mprite n 7 clase:

1) Comenzi de poziionare i control al micrii

Aceste comenzi se refer la definirea poziiilor i coordonatelor, la diverse tipuri de interpolri ale micrii, la viteze, acceleraii, temporizri etc.

2) Comenzi pentru controlul programului Sunt destinate structurrii programului: ramuri decizionale, bucle, iteraii, ntreruperi de semnal, porniri-opriri, operaii cu numrtoare etc.

3) Comenzi de control al gripper-ului (uneltei) Realizeaz aciuni de nchidere/deschidere gripper. Controlul forei de strngere cu gripper prin impunerea unui parametru de strngere (dac este acionat de motor).

4) Comenzi pentru intrri/ieiri digitale (sau analogice)

Aceste comenzi sunt destinate controlului perifericelor cu intrri/ieiri digitale (sau analogice). Se pot realiza citiri i scriere pe un singur bit sau pe mai muli bii, n paralel.

5) Comenzi pentru operaii matematice Realizeaz principalele operaii matemetice i transfer al al datelor (rezultatelor) n memorie.

6) Comenzi pentru comunicaie (Utiliznd RS232C) Transfer informaii ntre calculator (PC) i controller-ul robotului. Informaiile pot fi: poziii ale axelor sau n diverse sisteme de coordonate (robot, TCP), numrtoare, stare intrri/ieiri digitale, ali parametri.

7) Alte comenzi Ultimul set de comenzi opereaz pentru setarea unor parametrii generali ai controller-ului, selecia programelor, resetarea unor alarme, retragerea robotului n poziia de referin, i n general cu comenzi de nivel superior necesare i pentru controlul robotului de la distan.Aceste clase de comenzi sunt, ntr-o msur mai mare sau mai mic, existente n toate limbajele de programare pentru roboi ndustriali.IRL Industrial Robot Language (DIN 66312)Standardul DIN 66312 descrie structura de baz i modu lde realizare a programului de nivel nalt pentru roboi industriali IRL (Industrial Robot Language). Standardul definete sintaxa i semantica instruciunilor IRL. Limbajul permite utilizatorului s programeze micrile unui robot i s execute organigrame logice conform unei structuri de program definite de utilizator. Cu ajutorul unor compilatoare, un program IRL poate fi transferat n cod ICR (Intermediate Code for Robots) sau cod IRDATA (DIN 66314).SLIM Standard Language for Industrial Manipulators

SLIM (Standard Language for Industrial Manipulators) este un limbaj de pentru roboi creat pe parcursul a zece ani de personal din universiti i de ingineri care au sarcina de a dezvolta i de a folosi limbaje de programare pentru roboi. Aceste persoane s-au ntlnit n 1994 la Comitetul Japonez pentru Roboi pentru a crea acest limbaj. SLIM a fost construit pe baza modelului limbajului BASIC, utilizat de mult timp pentru a programa computere obinuite. Deoarece SLIM este o extensie a acestui limbaj, s-au adugat instruciuni speciale pentru controlul micrilor i pentru tratarea intrrilor/ieirilor digitale. Detalii despre fiecare instruciune se pot gsi n standardul japonez JIS B 8439-1992.MELFA-BASIC III Limbaj de programare, de nivel nalt, pentru roboi industrialiMELFA-BASIC este un limbaj de programare pentru roboi care are la baz, la fel ca SLIM, limbajul universal BASIC. Limbajul BASIC a fost dezvoltat la Dartmouth College, n SUA, pentru utilizarea de ctre studeni a unui limbaj de programare uor de nvat. BASIC este prescurtarea de la denumirea: Beginners All-purpose Symbolic Instruction Code.

Exist multe vasiante de limbaje de programare care au plecat din BASIC. MELFA-BASIC este o astfel de variant. La fel ca SLIM, MELFA-BASIC are instruciuni suplimentare pentru controlul micrilor i pentru lucrul cu intrri/ieiri digitale.

n MELFA-BASIC, un program are dou pri:

Partea Declarativ: Unde se declar datele utilizatorului (declaraii de variabile, constante etc.)

Partea de Instruciuni: Unde se implementeaz programul conform cerinelor aplicaiei.n aceast parte se controleaz micrile robotului, se realizeaz comunicaiile cu echipamentele periferice, cu calculatorul sau cu panoul de control. MELFA-BASIC IV Limbaj de programare, de nivel nalt, pentru roboi industriali

Este ultima versiune de limbaj de programare dezvoltat de Mitsubishi pentru controller-elel roboilor pe care i produce. Controller-ele Mitsubishi pot fi utilizate i n combinaie cu alte tipuri de roboi (Kuka, ABB etc.)Indicaii pentru laboratorul de roboi industriali:

n msura posibilitilor, elevii trebuie s studieze n detaliu cel puin un limbaj de programare (de preferin cele mai moderne) i s realizeze programe pe care s le testeze fie pe un robot real, fie pe un software de simulare, cum este de exemplu COSIMIR Festo Didactic.ANEXA Capitol Roboi IndustrialiA.1. AxeArticulaiile permit robotului s se deplaseze pe o anumit traiectorie. ntre articulaii exist elemente de legtur mecanice de diferite forme i lungimi. n mod obinuit, roboii au ntre 4 i 6 articulaii, astfel: Articulaii principale- Primele trei articulaii, fa de baza robotului, sunt denumite articulaii principale.- Aceste articulaii determin spaiul de lucru al end-effector-ului robotului.

Pentru a se nelege mai uor modul de micare al unui robot, se poate echivala mobilitatea acestuia cu mobilitatea unui om. Primele trei articulaii ale robotului sunt echivalante la om cu mobilitatea: trunchiului, a umrului i a cotului. Articulaii secundare (ale minii robotului) - Ultimele articulaii, spre unealta robotului, mai sunt numite i articulaiile minii robotului.- Ele realizeaz mobilitatea ncheieturii minii robotului.- Permit n primul rnd orientarea uneltei n spaiul de lucru.- Pentru articulaiile secundare se folosesc numai articulaii de rotaie.

Articulaiile secundare sunt echivalente la om cu mobilitatea dat de ncheietura minii.O articulaie de robot poate realiza fie o micare de translaie, fie o micare de rotaie n jurul unui punct fix. Ele se mai numesc articulaii liniare sau de rotaieSimbolizarea articulaiilor n documentaiile tehnice se face conform cu desenele din tabelul de mai jos.

Tabelul A.1. Diverse tipuri de articulaii pentru roboi.

Liniar i aliniat (telescope)

Liniar i nealiniat

Liniar cu articulaii adiionale

De rotaie, aliniat

De rotaie, nealiniat

Obs: "aliniat" nseamn c cele dou elemente mecanice care sunt conectate de articulaie sunt n permanen paralele n timpul micrii.A.2. Grade de libertate"Gradele de libertate specific numrul de posibiliti independente de a mica un robot, relativ la un sistem de coordonate fix".

Poziia unui corp liber este dat de locaia acestuia n spaiu [x, y, z] i de orientarea lui (rotaia n jurul axelor X, Y, Z). Astfel, un corp liber are 6 grade de libertate.

Pentru fiecare grad de libertate, este necesar o articulaie. Dar nu este o regula ca fiecare articulaie adiional s creasc numrul de grade de libertate ale unui corp. Figura de mai jos este un exemplu n acest sens. Corpul suspendar de troleul 1 are 2 grade de libertate, dei exist 3 articulaii: o articulaie liniar ntre pmnt i troleul 2, o articulaie liniar ntre troleul 2 i troleul 1 i o articulaie de rotaie ntre treleul 1 i coprul suspendat.

Fig. A.2. Mecanism cu 3 articulaii i 2 grade de libertate

Situaia de mai sus poate fi evitat prin aranjarea atent a succesiunii de articulaii. Un robot cu 6 articulaii poate ajunge n orice punct din spaiul su de lucru, deci are 6 grade de libertate. Se pot utiliza i roboi cu mai mult de 6 articulaii pentru mrirea spaiului de lucru sau pentru evitarea unor obstacole.

A.3. Sisteme de coordonateUn sistem de coordonate cartezian const n 3 axe ortogonale (drepte i perpendiculare ntre ele) care se intersecteaz ntr-un punct, numit origine. Cele trei axe se numesc X, Y i Z. Un punct P din spaiul cartezian este definit de coordonatele sale pe fiecare ax [x, y, z]. Coordonatele definesc distana punctului P fa de origine, pe fiecare ax. Un alt sitem de coordonate cartezian se poate obine dac se schimb punctul de origine i/sau dac se schimb sensul i orientarea axelor.n robotic se utilizeaz urmtoarele sisteme de coordonate carteziene, fig. A.3: Sistemul de coordonate Universal (World coordinate system de obicei ntr-un col de la baza spaiului cartezian al robotului)

Sistemul de coordonate Baz (Base coordinate systems originea este la baza robotului)

Sistemul de coordonate al Uneltei (TCP coordinate systems originea este n punctul central al uneltei, perpendicular pe unealt este axa Z iar axa X este n direcia n care acioneaz unealta)

Sisteme de coordonate Obiect (Object coordinate systems se poate defini unul pentru fiecare obiect manipulat)

Sisteme de coordonate Utilizator (User coordinate systems definit de utilizator n mod uzual n legtir cu obiecte staionare din spaiul de lucru)

Fig.A.3. Sisteme de coordonate carteziene.n robotic, pe lng sistemele de coordonate carteziene enumerate mai sus, se folosete frecvent Sistemul de Coordonate al Articulaiilor (sau Sistemul de Coordonate Robot). n acest sistem, pentru un robot cu 6 articulaii, o poziie din spaiu este definit de 6 valori ale articulaiilor robotului.

Panoul de comand al robotului (teach panel) este gndit s poat utiliza toate aceste sisteme de coordonate. Se poate comanda robotul s realizeze micri n sistemul de coordonate cartezian sau n sistemul de coordonate al articulaiilor. La o micare n sistem de coordonate cartezian sunt implicate toate articulaiile robotului.A.4. Interpolare liniarDaca TCP trebuie s se mite liniar, de-a lungul unei traiectorii drepte, controller-ul calculeaz prin interpolare poziiile intermediare ale TCP pornind de la poziiile de start i de stop ale micrii. Controller-ul calculeaz valorile pe care trebuie s le aibe articulaiile robotului pentru fiecare punct de pe linia dreapt. Controller-ul face acest lucru la fiecare ciclu de ceas ciclu de ceas, pentru punctul urmtor din traiectoria cartezian. Calculul poziiei noi din coordonate carteziene n coordonate articulaii se face printr-o metod numit transformare cinematic invers. Transformarea din coordonate articulaie n coordonate carteziene se numete transformare cinematic direct.Din punct de vedere matematic, transformarea direct este uoar i unic. Transformarea invers poate duce la ambiguiti deoarece se pot determina mai multe soluii, adic mai multe seturi de valori ale articulaiilor pentru care se obine aceeai poziionare a TCP.

Fig.A.4. Micare cu interpolare liniar.

Fig.A.5. Micare cu interpolare PTP.

Proprieti importante ale micrilor liniare:

Micare TCP n spaiu este predefinit (traiectoria sculei este clar specificat).

Controller-ul calculeaz punctele prin care traverseaz TCP n timpul micrii (online). Acest lucru necesit calcule de tip trasformare cinematic invers.

Valorile msurate de la senzorii de micare sunt transformate n coordonate carteziene ale TCP. Astfel se pot controla viteze i acceleraii ale TCP.

O micare liniar necesit putere de calcul mai mare dect o micare punct-la-punct (PTP). n afar de respectarea ct mai bun a traiectoriei liniare, cel mai important parametru al unei micri liniare este viteza TCP.

A.5. Interpolare PTP (punct-la-punct)

n timpul unei micri PTP controller-ul interpoleaz valorile articulaiilor ntre poziiile de start i de stop. Micrile PTP se folosesc atunci cnd nu intereseaz traiectoria micrii ntre cele dou poziii. Intereseaz doar atingerea noii poziii, ct mai repede.Proprieti importante pentru micrile PTP: Controller-ul calculeaz profilul de vitez (acceleraie, ramp, deceleraie) pentru fiecare articulaie n parte. Integrala profilului de vitez n totalul de timp de micare este egal cu unghiul dintre poziiile de start i de stop. Traiectoria TCP nu este de interes, interpolarea la articulaii poate produce traiectorii foarte complexe ale TCP.

Arice lan cinematic (chiar redundant) poate realiza micri PTP, deoarece nu este necesar calculul transformrii cinematice inverse.

Micarea articulaiilor poate fi simultan, cu vitez de micare maxim pentru fiecare articulaie, sau poate fi simultan cu viteza maxim a celei mai lente articulaii. n al doilea caz, toate articulaiile vor termina micarea n acelai timp. Acest tip de micare se mai numete micare PTP sincron.A.6. SingularitiO singularitate este o configuraie a articulaiilor robotului n care se pierde un grad de libertate (n comparaie cu alte configutraii).

Fig. A.6. Exemplu de punct de singularitate. Se pierde un grad de libertate pentru articulaia (3.

n orice punct de singularitate, o micare ntr-o anumit direcie a poziie TCP se poate obine cu mai multe seturi de valori ale articulaiilor, pentru poziia final. Tot n aceste puncte de singularitate, anumite direcii de micare ale TCP nu se pot obine (prin micarea cu vitez finit a articulaiilor).

Ca o consecin, o micare liniar cu vitez constant a TCP printr-un punct de singularitate poate necesita ca viteza de modificare a valorii unei articulaii s tind spre infinit. De aceea, o micare liniar trebuie s evite punctele de singularitate.

Ambiguitile introduse de punctele de singularitate se elimin prin definirea configuraiei dorite a robotului pentru direcia de micare a TCP dorit.A.7. Configuraien spaiul de lucru, braul robotului poate atinge aceeai poziie a TCP cu diferite valori ale articulaiilor, fig.A.7.

Fig. A.7. Aceeai poziie a TCP atins cu dou configuraii diferite.

Clarificarea ambiguitii de poziionare a braului robotului se face prin impunerea unei configuraii. Parametrii unei configuraii de poziionare, fig. A.8.: Ambiguitatea z0 - dreapta: coordonata x a poziiei centrului ncheieturii A (n sistemul de coordonate 0 centrul articulaiei 1) este pozitiv- stnga: invers Poziia extins a braului robotului - deasupra: Articulaia 3 deasupra liniei b din centrul articulaiei 2 spre centrul articulaiei 4- below: invers Singularitatea ncheieturii minii - ridicat: Articulaia 5 are unghi negativ (sensul acelar de ceasornic fa de dreapta c)- nclinat: invers.

Fig.A.8. Parametrii de configurare ai unei poziii TCP.Configuraiile specific suplimentar poziiile robotului n cazul apariiei de puncte de singularitate. Robotul din figura A.18. are configuraia: dreapta, deasupra, nclinat. n cazul ambiguitii poziiei finale ntr-o micare a robotului, programatorul trebuie s aleag configuraia de stop dorit (corect), n care s in cont de urmtoarele micri ale robotului. A.8. Traiectorii netede pentru micri continueCnd se utilizeaz opiunea de micri continue i netede, TCP prsete traiectoria planificat n zonele de final ale micrilor astfel nct s se nscrie pe noua traiectorie fr ocuri (schimbri prea rapide de direcie) n articulaii. Figura A.9. arat traseul TCP la parcurgerea traiectoriilor AB, BC, CD atunci cnd pentru robot este activ opiunea de micare continu.

Fig.A.9. Traiectoria TCP pentru micare continu i neted pe direciile AB, BC i CD.

Parametri cerui pentru realizarea de micri continue:

Raza sferei n jurul punctului de stop-start (micri liniare)

Abaterea relativ maxim (%) dintre valoarea articulaiei n punctul final i cea utilizat pentru micare neted (micri PTP).

Abaterea relativ maxim a poziiilor i/sau orientrilor dintre cele care ar fi existat n punctele de final i cele folosite pentru micare continu (micri liniare)

Semnale externe

Precizarea aceleiai poziii n dou sisteme de coordonate se face prin transformarea unui set de coordonate (din primul sistem) ntr-un alt set de coordonate (din al doilea sistem) cu o funcie general (de transformare), care ine seama numai de datele celor dou sisteme de coordonate.

Punct de singularitate = este un punct n care robotul pierde un grad de libertate. De asemenea, dac robotul trebuie s se deplaseze liniar i cu vitez constant printr-un punct de singularitate, atunci viteza ntr-una din articulaiile robotului ar trebui s tind la infinit, ceea ce este imposibil. De aceea, trebuie evitate micrile liniare prin puncte de singularitate.

Robotul poate ajunce ntr-o anumit poziie a TCP n mai multe configuraii adic cu diferite valori ale poziiilor articulaiilor. Pentru evitarea ambiguitii se definesc diveri parametrii de conguraie dorii (vezi anexa).

PAGE 59


Recommended