CATEGORII DOCUMENTE |
Aeronautica | Comunicatii | Electronica electricitate | Merceologie | Tehnica mecanica |
ARGUMENT
Notiunea de robot dateaza de peste 4 mii
de ani. Omul si-a imaginat dispozitive mecanizate inteligente care sa preia o
parte insemnata din efortul fizic depus. Astfel a construit jucarii automate si
mecanisme inteligente sau si-a imaginat robotii in desene, carti, filme
'SF' etc.
Termenul 'robot' a fost
folosit in 1920 de cehul Karel Capek intr-o piesa numita 'Robotul
universal al lui Kossum'. Ideea era simpla: omul face robotul dupa care
robotul ucide omul. Multe filme au continuat sa arate ca robotii sunt masinarii
daunatoare si distrugatoare.
Dupa 1977 tendinta multor
producatori a fost de a umaniza forma robotilor si de a crea androizii.
In 1941 Isaac Asimov a folosit
cuvantul 'robotizare' pentru descrierea tehnologiei robotilor si a
prezis cresterea unei industrii robotice puternice. In 1956 a luat fiinta prima
companie ce realiza roboti industriali, iar in 1961 Compania de automobile 'Genral
Motors' 'angaja' primul robot industrial. Incepand cu 1980
asistam la o expansiune a robotilor industriali in diverse industrii.
Robotii ofera beneficii substantiale
muncitorilor, industriilor si implicit tarilor. In situatia folosirii in
scopuri pasnice, robotii industriali pot influenta pozitiv calitatea vietii
oamenilor prin inlocuirea acestora in spatii: periculoase, cu conditii de mediu
daunatoare omului, cu conditii necunoscute de exploatare etc.
Este adevarat ca robotii industriali
prin calitatile lor pot cauza reduceri masive de personal acolo unde sunt
implementati, dar creeaza si meserii alternative:
- tehnicieni in industria roborizarii;
- ingineri;
- vanzatori;
- programatori;
Beneficiile introducerii robotilor
in industrie includ managementul controlului si al productivitatii si cresterea
evidenta a calitatii produselor. Robotii pot lucra zi si noapte fara a obosi
sau a-si reduce performanta. Consecvent
realizeaza reduceri substantiale ale pretului de cost in primul rand prin
reducerea consumurilor de materii prime si al prelucrarii automate a acestora.
De asemenea utilizarea robotilor aduce avantaje pe piata concurentiala. Prin
dezvoltarea rapida a industriei si a tehnicii de calcul, putem observa evolutia
robotilor industriali catre generatiile inteligente ce le ofera caracteristica
de a 'intelege' mediul in care lucreaza.
Structura generala a robotilor
industriali depinde foarte mult de utilitatea si scopul pentru care sunt
produsi. Functiile de baza sunt reprezentate de:
- subsistemul cinematic;
- subsistemul de actionare;
- subsistemul de comanda si programare;
- subsistemul senzorial.
Subsistemul cinematic cuprinde
structura capabila sa execute miscarile pentru a actiona asupra mediului
inconjurator. Astfel in functie de mediul in care este folosit, robotul poate
fi dotat cu:
- roti;
- senile;
- picioare mecanice;
- diversi suporti
- benzi transportoare
PROGRAMAREA ROBOTILOR
Aplicatiile si chiar profitabilitatea unei celule de fabricatie cu robot depind de metodele de programare utilizate.
Scopul activitatii de programare a robotului este acela de a transfera o succesiune de miscari complexe catre controller-ul robotului, folosind instructiuni simple si diverse metode de programare, astfel incat sa poata fi automatizat un proces de fabricatie.
Metodele de programare ale robotului se pot compara cu metodele de programare pentru alte echipamente cu control numeric, dar cerintele tehnice sunt mai mari din cauza posibilitatilor mai complexe de miscare ale robotilor.
In plus, producatorii de roboti ofera diferite interfete de programare, care nu respecta un standard. Rezultatul este ca nu exista inca un singur limbaj de programare pentru toate tipurile de roboti. Fiecare producator mai important poate avea implementat un limbaj de programare specific pentru robotii pe care ii produce.
Metode de programare
Un prim criteriu de clasificare a metodelor de programare a robotilor se refera la utilizarea sau nu a robotului in timpul crearii programului. Daca se utilizeaza robotul in timpul programarii, atunci se vorbeste despre programare online. Daca nu se utilizeaza, atunci se programeaza offline. Alte detalii despre metodele de programare se pot vedea in figura urmatoare:
Pentru programarea unei aplicatii se pot folosii si combinatii dintre mai multe medote de programare. Este un lucru obisnuit sa se foloseasca programarea teach-in pentru corectia propozitiilor planificate intru-un program creat prin metoda offline.
Programarea online
Metodele de programare online suporta, in general, numai comenzi pentru miscari. De obicei nu se suporta comenzi care sa tina cont de senzori externi.
Metodele de programare online cuprind: programarea manuala si programarea teach-in. In prezent, programarea manuala se foloseste numai pentru dispozitive de alimentare/evacuare (feeding devices).
Programarea manuala
Programarea manuala inseamna stabilirea de puncte de miscare prin limitatori statici(opritori), la nivelul axelor. De aceea, in aceasta metoda se folosesc coordonatele robot. In robotica, sistemul de coordonate robot este un sistem de masurare diferit de cel Cartezian. Sistemul de coordonate robot foloseste valorile pozitiilor articulatiilor pentru a specifica un punct din spatiul de lucru. Articulatiile pot fi liniare sau rotationale. De exemplu, in cazul robotilor articulati cu 6 axe, pentru determinarea unica a unei pozitii se dau toate cele sase valori dorite pentru pozitia articulatiilor.
Avantaje:
Ø timpi mai mici necesari pentru programare;
Ø nu este necesar un computer pentru programare;
Ø deoarece se utilizeaza miscari PTP, chiar si un simplu controller poate obtine viteze mari de pozitionare.
Dezavantaje:
Ø este necesara munca la nivelul mecanic;
Ø pozitionarea robotului se limiteaza la cateva puncte;
Ø nu exista functionalitate aditionala.
Programarea manuala este utilizata pentru aplicatii foarte simple, ca de pilda alimentarea si evacuarea cu piese a masinilor CNC sau a altor puncte de lucru.
Programarea Teach-in
Programarea teach-in poate fi subdivizata in trei metode: teach-in direct, programare master-slave si teach-in indirect.
Observatie!!! Daca nu se dau alte informatii suplimentare, atunci cand se vorbeste despre programarea teach-in, de obicei, se face referire la metoda teach-in indirect.
Caracteristici comune pentru toate metodele teach-in:
Ø Robotul este miscat in timpul programarii;
Ø Punctele de pozitionare sunt definite de senzorii interni (traductoarele de deplasare atasate axelor).
a) Teach-in direct
Caracteristici:
Ø Programatorul conduce cu mana end-effector-ul robotului in pozitiile pe care doreste sa le obtina(robotul are inhibat sau dezactivat sistemul de franare al axelor).
Ø Pozitiile robotului sunt inregistrate fie direct(la o comanda explicita a programatorului), fie automat(inregistreaza exact toate miscarile pe care operatorul le aplica end-effector-ului). Al doilea caz, cel al inregistrarii automate, este numit si programare play-back si necesita spatiu mare de memorare a programului.
Necesitati:
Ø roboti cu greutate mica;
Ø raport de transmisie mic pentru angrenajele mecanice de miscare a axelor(in special pentru transmisii cu roti dintate).
Programarea cu teach-in direct este utila pentru robotii folositi in aplicatii de tratare a suprafetelor(vopsire, polizare,etc.)
b) Programarea Master-Slave
Programarea Master-slave este comparabila cu programarea teach-in direct. In acest caz operatorul nu misca robotul in mod direct, ci foloseste un model miniatura al robotului. Robotul principal (slave) va urmarii miscarile realizate cu robotul model (master). Aceasta metoda necesita un echipament complex pentru programare.
c) Teach-in indirect
Programarea teach-in indirect sau simplu programarea teach-in este cea mai utilizata metoda de programare a robotilor.
Caracteristici:
Ø Robotul este miscat prin actionarea unor taste functionale de pe panoul de operare(Teach Panel) al robotului. De aceea, motoarele robotului sunt active in timpul programarii.
Ø Pozitia dorita a robotului este memorata prin apasarea unei taste functionale de pe panoul de operare al robotului.
Ø Panoul de operare permite introducerea de informatii suplimentare pentru fiecare pozitie(ex: citire intrari digitale).
Ø Utilizatorul poate alegesi schimba sistemul de coordonate in care doreste sa miste robotul, de-a lungul procesului de programare(ex: coordonate universale, coordonate robot, coordonate piesa etc.).
d) Proprietati generale pentru metodele de programare Teach-in
Avantaje:
Ø Verificarea imediata a modului de miscare(programare demonstrativa);
Ø Necesitati reduse de memorie pentru program;
Ø Pentru programe simple se obtin cei mai mici timpi de programare;
Ø Usor de implementat.
Dezavantaje:
Ø Pentru programe complexe, este necesar un timp mare de programare;
Ø Productia este oprita in timpul programarii robotului;
Ø Celula de fabricatie trebuie sa fie construita inainte de inceperea programarii;
Ø Deseori programul robotului este incomplet sau are documentatia incompleta;
Ø Nu este usor sa se foloseasca informatii de la senzori in programul robotului;
Ø Sunt putine functii de programare suportate pentru prelucrari de date de tip algoritmi de calcul;
Ø Este greu sa se programeze traiectorii curbilinii complexe(ex: parabole).
Programarea offline
Programarea offline a unui robot se face, de exemplu, prin generarea de text in programul robotului, respectand o sintaxa data de un limbaj de programare specific robotilor. Programarea offline a unui robot are urmatoarele avantaje in comparatie cu metoda online:
Ø Nu este necesara prezenta unui robot in timpul programarii.
Ø Se poate dezvolta programe complexe prin utilizarea unor structuri de programare(inf., then.,for., while.,do. etc.).
Ø Sunt usor de tratat semnale de la senzori si de utilizat comenzi pentru iesiri digitale.
Principalele dezavantaje sunt:
Ø Deseori, pozitiile nu se pot defini exact, din calcule matematice( este necesara si utilizarea metodei teach-in).
Ø Este dificil de realizat un test complet al programului in modul offline.
Programarea in mod text
Programarea in mod text face apel la utilizarea unor limbaje de programare de nivel inalt, specifice robotilor. Realizarea oricarui program necesita folosirea unui sistem de dezvoltare al programelor(un mediu de programare). Acest sistem are urmatoarele functii :
Ø Implementarea (scrierea) programelor;
Ø Verificarea sintactica si semantica a programelor, conform regulilor limbajului utilizat, si compilarea programelor;
Ø Testarea programelor (simulare);
Ø Stocarea si organizarea programelor (in directoare, cu posibilitatea de copiere, stergere, modificare etc.);
Ø Interfete catre alte sisteme de dezvoltare programe;
Ø Comunicatie cu utilizatorul;
Ø Incarcare (recuperare) a programelor in (din) controller-ul robotului (download, upload sau backup).
Programarea in mod grafic
Pentru programarea in mod grafic, se folosesc sisteme CAD in scopul de a modela geometric obiectele aplicatiei. Aceste informatii geometrice se folosesc de programe specializate pentru a genera miscari ale robotului pe anumite traiectorii. Utilizatorul introduce diversi parametri necesari in definirea caracteristicilor fiecarei traiectorii. Sistemul calculeaza o traiectorie ca o secventa de puncte intermediare prin care robotul trebuie sa treaca.
De
exemplu, pentru procesarea unei suprafete, utilizatorul va introduce distanta
dintre scula si suprafata piesei, care trebuie sa ramana
Prin preluarea efortului de calculat al punctelor traiectoriei, acest mod de programare usureaza mult sarcina utilizatorului si reduce considerabil timpul de programare, in special pentru aplicatii cu miscari complexe. Functia de simulare a sistemului poate reprezenta grafic orice miscare, in vederea testarii. Acest mod de programare este folosit din ce in ce mai mult pentru aplicatii complexe de tratare a suprafetelor :vopsire, polizare, slefuire, sudare, periere etc.
Alte metode de programare:
Exista si alte metode offline de programare. Cateva dintre ele sunt folosite si in industrie, dar majoritatea se utilizeaza in cercetare:
Ø Programarea orientata pe spatiu (Workshop oriented programming);
Ø Programarea orientata pe sarcini (Task oriented programming-implicit programming);
Ø Programarea prin miscare in realitate virtuala (Programming by moving in virtual reality);
Ø Programarea vizuala cu diagrame si 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 invatare automata (roboti inteligenti).
Limbaje de programare pentru roboti
Limbajele de programare de nivel inalt, folosite pe computere pentru dezvoltarea de programe PC, au multe lucruri in comun cu limbajele de programare pentru roboti (structuri de control, manipulari de date etc.). Oricum, trebuie avute in vedere urmatoarele aspecte aditionale atunci cand se utilizeaza un limbaj de programare pentru roboti:
Ø Robotul se misca intr-un spatiu tridimensional complex (exista pericol de coliziune).
Ø Interactiunea robotului cu echipamentele periferice reprezinta o parte importanta din numarul de comenzi ale limbajului de programare.
Ø Starea echipamentelor periferice ale robotului se poate modifica, in mod aleator, (neprevazut) in timpul functionarii.
Ø Programul trebuie sa proceseze informatii de la senzori.
Ø Obiectele manuite de robot au diverse proprietati fizice (ex: masa, volum, temperatura).
Clasificare:
Limbajele de programare pentru roboti se poate clasifica dupa nivelul lor de abstractizare. Metodele de programare offline sunt divizate in patru nivele ierarhice, conform cu figura urmatoare:
Ierarhia limbajelor de programare dupa nivelul de abstractizare.
Limbajele de la nivelele task layer si object layer sunt denumite limbaje implicite. Ele au cel mai mare nivel de abstractizare. Limbajele explicite sunt cele care opereaza la cele robot layer si joint layer. Nivelul comenzilor pentru articulatii are cel mai mic nivel de abstratizare.
Limbaje de programare explicite
Urmatoarele detalii subliniaza cateva aspecte principale ale limbajelor de programare explicite.
Ø Accepta descrierea obiectelor in spatiul de lucru
Starea de pornire (pozitie si orientare).
Ø Accepta descrierea partilor principale(gripper si puncte de apucare)
Este uzual sa se descrie pozitia si orientarea obiectului in sistemul de coordonate al robotului (cu originea la baza robotului) si, relativ, sistemul de coordonate al obiectului, ca o functie de transformare, pozitia si orientarea partilor principale(gripper si puncte de apucare).
Ø Accepta intrari de date numerice pentru definirea unor pozitii si orientari. Aceste date pot proveni din : metode teach-in ,masurare, modele CAD.
Ø Accepta comenzi pentru miscari brute (ample)
Cu evitarea coliziunilor in spatiul de lucru prin introducerea de catre utilizator a unor comenzi "de trecere".
Cu evitarea singularitatilor si cu impunerea configuratiilor de pozitie de catre programator.
Ø Accepta comenzi pentru miscari fine.
Miscarile fine produc deplasari mici si orientari fine ale uneltei, in general pentru operatii de asamblare sau prelucrare suprafete. In general, pentru comanda acestor miscari se foloseste sistemul de coordonate TPC (al uneltei).
Miscari provocate de senzori (ex: senzori de proximitate);
Strategii de asamblare prin programarea mai multor comenzi de miscare.
Precizarea aceleiasi pozitii in doua sisteme de coordonate se face prin transformarea unui set de coordonate(din primul sistem) intr-un alt set de coordonate(din al doilea sistem) cu o functie generala(de transformare) care tine seama numai de datele celor doua sisteme de coordonate.
Punct de singularitate = este un punct in care
robotul "pierde" un grad de libertate. De asemenea, daca robotul trebuie sa se
deplaseze liniar si cu viteza
Robotul poate ajunge intr-o anumita pozitie a TPC in mai multe configuratii adica cu diferite valori ale pozitiilor articulatiilor. Pentru evitarea ambiguitatii se definesc diversi parametrii de configuratie doriti.
Luarea in considerare prin functii de program, a fortelor, momentelor si a limitelor de flexibilitate.
Ø Componente de limbaj pentru programarea paralela si/sau in timp real :
Comparatie:
In contrast cu limbajele implicite, limbajele explicite au urmatoarele caracteristici
Strategia dezvoltarii programelor pentru roboti industriali
Dezvoltarea riguroasa si ordonata de programe pentru roboti se face urmand pasii de proiect specificati in figura urmatoare :
Exista cateva strategii de programare generale care sunt larg utilizate pentru realizarea de programe : lucrul in echipa, folosirea experientei acumulate, utilizarea de biblioteci de functii si proceduri despre care se stie ca sunt corecte si testate, preluarea de modele generale pe care programatorul le particularizeaza pentru aplicatia reala etc. La acestea se adauga diferite tehnici de programare.
Tehnici de programare
Daca programul este complex, se prefera impartirea lui in mai multe mici subprograme cu functii clare si diferite. Acest lucru permite concentrarea programatorului pe rand la rezolvarea unor probleme mai simple.
Pentru implementarea acestor subprograme se pot folosi proceduri si functii. Separarea repetata a diverselor actiuni ale programului conduce la aparitia mai multor proceduri si subrutine, care trebuie organizate. Divizarea codului unui program in functii, proceduri si subrutine conduce la nevoia de structurare a programelor. O structura buna a unui program trebuie sa asigure o lizibilitate (citire si intelegere) usoara a acestuia. Acest aspect este important, mai ales atunci cand un programator trebuie sa modifice sau sa dezvolte un program realizat de alt programator.
In mod particular, pentru tratarea intrarilor/iesirilor digitale, trebuie cunoscute tehnicile de programare pentru automatizari cu evenimente secventiale si aleatoare, asa cum se folosesc la PLC-uri.
Structurarea programelor:
Un program include informatii pentru executia unor actiuni. Aceste informatii se impart in : comenzi si date. In mod uzual, datele necesare pentru actiuni nu sunt cuprinse in program, ci sunt preluate din alte surse, cum ar fi :
Ø Memoria de date (ex: lista de pozitii);
Ø Sistemele de masurare (ex: senzori tactili sau de proximitate);
Ø De la utilizator (ex: panou operator - teach panel ).
Comenzile din program constau in instructiuni de comanda si, daca este cazul, in alti parametrii specifici necesari executiei acestor instructiuni.
Fluxul informatiei intr-un program pentru roboti
Limbaje de programare pentru robotii industriali
Dintre cele mai cunoscute limbaje de programare in mod text pentru roboti se pot enumera:
Ø MRL - Mitsubish Robol Language ;
Ø IRL - Industrial Robot Language ;
Ø SLIM- Standard Language for Industrial Manipulators ;
Ø MELFA - BASIC III si IV - Limbaje de programare, de nivel inalt, pentru roboti industriali.
Detalii privind limbajele de programare pentru roboti industriali:
MRL - Mitsubish Robol Language
Acest limbaj de programare a fost conceput si folosit de firma Mitsubishi pentru programarea robotilor sai industriali din primele generatii. Programele sunt incarcate din PC in controller sub forma de fisiere text. Controller-ul actioneaza ca un interpretor de comenzi, executand instructiunile linie dupa linie, la fel ca la masinile CNC.
Pentru programare este disponibil un set destul de bogat de comenzi.
Comenzile sunt impartite in sapte clase :
Aceste comenzi se refera la definirea pozitiilor si coordonatelor, la diverse tipuri de interpolari ale miscarii, la viteze, acceleratii, temporizari etc.
Sunt destinate structurarii programului : ramuri decizionale, bucle, iteratii, intreruperi de semnal, porniri-opriri, operatii cu numaratoare etc.
Realizeaza actiuni de inchidere/deschidere gripper. Controlul fortei de strangere cu gripper prin impunerea unui parametru de strangere (daca este actionat de motor).
Aceste comenzi sunt destinate controlului perifericelor cu intrari/iesiri digitale (sau analogice). Se pot realiza citiri si scriere pe un singur bit sau pe mai multi biti, in paralel.
Realizeaza principalele operatii matematice si transfer al datelor (rezultatelor) in memorie.
Transfera informatii intre calculator (PC) si controller-ul robotului. Informatiile pot fi : pozitii ale axelor sau in diverse sisteme de coordonate (robot, TCP), numaratoare, stare intrari/iesiri digitale, alti parametrii.
Ultimul set de comenzi opereaza pentru starea unor parametrii generali ai controller-ului, selectia programelor, resetarea unor alarme, retragerea robotului in pozitia de referinta si, in general, cu comenzi de nivel superior necesare si pentru controlul robotului de la distanta.
Aceste clase de comenzi sunt, intr-o masura mai mare sau mai mica, existente in limbajele de programare pentru roboti industriali.
IRL - Industrial Robot Language (DIN 66321)
Standardul DIN 66321 descrie structura de baza si modul de realizare a programului de nivel inalt pentru roboti industriali IRL (Industrial Robot Language). Standardul defineste sintaxa si semantica instructiunilor IRL. Limbajul permite utilizatorului sa programeze miscarile unui robot si sa execute organigrame logice conform unei structuri de program definite de utilizator. Cu ajutorul unor compilatoare, un program IRL poate fi transferat in 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 pentru roboti, creat pe parcursul a zece ani de personal din universitati si de ingineri care au sarcina de a dezvolta si de a folosi limbaje de programare pentru roboti. Aceste persoane s-au intalnit in 1994 la Comitetul Japonez pentru Roboti pentru a crea acest limbaj. SLIM a fost construit pe baza modelului limbajului BASIC, utilizat de mult timp pentru a programa computere obisnuite. Deoarece SLIM este o extensie a acestui limbaj, s-au adaugat instructiuni speciale pentru controlul miscarilor si pentru tratarea intrarilor/iesirilor digitale.
MELFA - BASIC III - Limbaj de programare, de nivel inalt, pentru roboti industriali MELFA - BASIC este un limbaj de programare pentru roboti care are la baza, la fel SLIM, limbajul universal BASIC. Limbajul BASIC a fost dezvoltat la Daratmouth College in SUA, pentru utilizarea de catre studenti a unui limbaj de programare usor de invatat. BASIC este prescurtarea de la denumirea : "Beginners All-purpose Symbolic Instructions Code".
Exista multe variante de limbaje de programare care au plecat din BASIC. MELFA - BASIC este o astfel de varianta. La fel ca SLIM, MELFA - BASIC are instructiuni suplimentare pentru controlul miscarilor si prin lucrul cu intrari/iesiri digitale.
In MELFA - BASIC, un program are doua parti :
Ø Partea Declarativa : unde se declara datele utilizatorului (declaratii de variabilitate, constante etc.);
Ø Partea de Instructiuni : unde se implementeaza programul conform cerintelor aplicatiei. In aceasta parte se controleaza miscarile robotului, se realizeaza comunicatiile cu echipamentele periferice, cu calculatorul sau cu panoul de control.
MELFA - BASIC IV - Limbaj de programare, de nivel inalt, pentru roboti industriali.
Este ultima versiune de limbaj de programare dezvoltata de Mitsubishi pentru controller-ele robotilor pe care ii produce. Controller-ele Mitsubishi pot fi utilizate si in combinatie cu alte tipuri de roboti (KUKA, ABB etc.).
Indicatii pentru laboratorul de roboti industriali :
In masura posibilitatilor, elevii trebuie sa studieze, in detaliu, cel putin un limbaj de programare ( de preferinta cele mai moderne) si sa realizeze programe pe care sa le testeze fie pe un robot real, fie pe un software de simulare, cum este, de exemplu, COSIMIR - Festo Didactic.
Bibliografie :
SITEURI: www.electromania.ro
Manual clasa a x-a mecatronica
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 6087
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved