Documente Academic
Documente Profesional
Documente Cultură
Cap.2 Roboti Industriali - 3
Cap.2 Roboti Industriali - 3
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.
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.
Roboi industriali
Deoarece se utilizeaz micri PTP, chiar i un simplu controller poate obine viteze mari de poziionare.
Dezavantaje:
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.
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:
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.).
Avantaje:
Uor de implementat
Dezavantaje:
Roboi industriali
Sunt puine funcii de programare suportate pentru prelucrri de date de tip algoritmi de calcul
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.
Deseori poziiile nu se pot defini exact, din calcule matematice (este necesar i utilizarea metodei teach-in).
Verificarea sintactic i semantic a programelor, conform regulilor limbajului utilizat, i compilarea programelor
Comunicaie cu utilizatorul
ncrcare (recuperare) a programelor n (din) controller-ul robotului (download, upload sau backup)
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.
Programare vizual cu diagrame i simboluri (Visual programming with diagrams and symbols)
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.
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
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.
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
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
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
1
2
3
Comparaie
n contrast cu limbajele implicite, limbajele explicite au urmtoarele caracteristici:
1
2
3
4
5
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:
Roboi industriali
Comenzile din program constau n instruciuni de comand i, dac este cazul, n ali parametri
specifici necesari execuiei acestor instruciuni.
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.
Roboi industriali
Partea Declarativ: Unde se declar datele utilizatorului (declaraii de variabile, constante etc.)
53
Roboi industriali
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.
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
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.
Roboi industriali
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)
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
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
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
A.7. Configuraie
n spaiul de lucru, braul robotului poate atinge aceeai poziie a TCP cu diferite valori ale
articulaiilor, fig.A.7.
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
59
Roboi industriali
60
Roboi industriali
Fig.A.9. Traiectoria TCP pentru micare continu i neted pe direciile AB, BC i CD.
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