Sunteți pe pagina 1din 19

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 ntrun program creat prin metoda offline.

4.1.1. Programarea online


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

Roboi industriali

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).

44

Roboi industriali

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


45

Roboi industriali

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.

46

Roboi industriali

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.

47

Roboi industriali

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
transformare1, 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:

1
2
3

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

1 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.

48

Roboi industriali
2

Cu evitarea singularitilor2 i cu impunerea configuraiilor3 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).
1
2
3

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

1
2
3

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:
1
2
3
4
5

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.

2 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.

3 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).

49

Roboi industriali

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)


50

Roboi industriali

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 Language
IRL Industrial Robot Language
SLIM Standard Language for Industrial Manipulators
MELFA-BASIC III i IV Limbaje de programare, de nivel nalt, pentru roboi industriali

Detalii privind limbajele de programare pentru roboi industriali


MRL 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
51

Roboi industriali

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.
52

Roboi industriali

MELFA-BASIC III Limbaj de programare, de nivel nalt, pentru roboi industriali


MELFA-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.

53

Roboi industriali

ANEXA Capitol Roboi Industriali


A.1. Axe
Articulaiile 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 rotaie
Simbolizarea 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.

54

Roboi industriali

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 coordonate


Un 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.
55

Roboi industriali

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

56

Roboi industriali

sistemul de coordonate al articulaiilor. La o micare n sistem de coordonate cartezian sunt implicate


toate articulaiile robotului.

A.4. Interpolare liniar


Daca 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.

57

Roboi industriali

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. Singulariti
O 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.

58

Roboi industriali

Ambiguitile introduse de punctele de singularitate se elimin prin definirea configuraiei dorite a


robotului pentru direcia de micare a TCP dorit.

A.7. Configuraie
n 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.

59

Roboi industriali

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 continue


Cnd 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.

60

Roboi industriali

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

61

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