Вы находитесь на странице: 1из 6

Limbaje de programare pentru roboti Cursul 2

Limbaje de programare explicite pentru robot

1. Limbaje specializate pentru robot. 2. Biblioteca robot pentru un limbaj de calculator existent. 3. Biblioteca robot pentru un nou limbaj cu scop general.

1. Limbaje specializate pentru robot. Aceste limbaje de programare pentru robot au fost construite ( gandite ) prin dezvoltarea unui limbaj complet nou. Desi aceste limbaje se adreseaza unei arii de roboti specifici ele pot fi considerate ca limbaje generale de programare pe calculator. Exemplu: Limbajul VAL : a fost dezvoltat pentru controlul robotilor contruiti de UNIMATION. A fost dezvoltat in special ca limbaj de control al manipulatoarelor. Daca il consideram limbaj general de programare de calculator el a fost considerat ca un limbaj slab. De exemplu , acest limbaj nu suporta numere cu virgula mobila sau siruri de caractere. Programul nu suporta de asemenea argumente pentru subrutine. Limbajul V II (2) : care imbunatateste aceste caracteristici si se adauga o serie de caracteristici noi. Limbajul AL : dezvoltat de STANFORD UNIVERSITY. Este un limbaj vechi dar el furnizeaza un bun exemplu a acestor caracteristici care nu se regasesc in cele mai moderne limbaje ( controlul fortei , paralelism ). Deoarece acesti limbaj a fost contruit in mediul academic sunt referinte folositoare pentru descrierea lui. Desi vechi , se fac referiri la acest limbaj de programare pentru roboti.

2. Biblioteca robot pentru un limbaj de calculator existent. Aceste limbaje de programare pentru robot au fost dezvoltate pornind cu un limbaj popular de calculator ( Pascal , Basic ). La aceste limbaje s-a adaugat o biblioteca de sub-rutine specific pentru robot , in acest caz operatorul scrie un program de gen Pascal facand frecvent uz de apelari la pachetul de subrutine predefinite pentru sarcinile specific robotului. Exemplu : Limbajul AR-BASIC : contruit de American Cimflex , limbaj care cuprinde in esenta o biblioteca de sub-rutine pentru o implementare standard-basic. Limbajul JARS : implementat de NASA JET PROPULSION LABORATORY este de asemenea un exemplu de limbaj de programare pentru roboti bazat pe limbajul de calculator PASCAL.

3. Biblioteca robot pentru un nou limbaj cu scop general Aceste limbaje de programare pentru robot au fost dezvoltate mai intai pornind de la un limbaj cu scop general si apoi contruind o biblioteca de sub-rutine predefinite specific robotului. Exemple de limbaje de programare a robotilor sunt : Limbajul RAPID : dezvoltat de ABB-ROBOTICS Limbajul AML : dezvoltat de IBM

Studii ale aplicatiilor program actuale pentru celule de lucru robotizate au aratat ca un mare procent de limbaje de exprimare nu sunt specifice robotului. In schimb , foarte multe programe pentru robot folosesc initializarea , testarea logica , ramificarea miscarilor si comunicare. Limbaje de programare , nivel SARCINI. Al treilea nivel pentru metodologia programarii robotului este prezentat prin limbajele de programare , nivel SARCINA. Aceste limbaje permit operatorului sa comande in mod direct etapele dorite ale sarcinii. Mai precis , sa specific detalii pentru fiecare actiune a robotului pe care urmeaza sa o realizeze. Intr-un astfel de sistem , operatorul este capabil sa include instructiuni in aplicatia program , la un nivel inalt decat intr-un limbaj de programare explicit pentru robot. Un sistem de programare , nivel SARCINA pentru un robot , trebuie sa aiba abilitatea sa faca multe planificari a sarcinilor in mod automat. De exemplu : Daca avem o instructiune Apuca tija , in acest caz sistemul trebuie sa planifice o traiectorie pentru robot care sa evite coliziunea pentru orice obstacol din mediul inconjurator. De asemenea , robotul trebuie sa aleaga in mod automat un loc bun de prindere pe tija si trebuie sa realizeze prinderea. In cazul unui limbaj de programare explicit,toate aceste alegeri trebuie sa le faca programatorul. In ceea ce priveste limbaje de programare explicit acestea au cunoscut un progres , dar , adevarata programare la nivel SARCINA a robotului in industrie nu exista , inca. Limbajele de programare la acest nivel constituie tema activa de cercetare si continua ca o cercetare actuala in prezent.

Exemplu de aplicatie in cadrul celulei de lucru: Celula de lucru prezinta asamblarea a doua piese intr-un proces ipotetic de fabricatie.

Figura 1 1 transportor cu banda care se afla sub controlul unui calculator 2 camera video conectata la TV 3 robot industrial care este echipat cu un senzor de forta la dispozitivul de prindere 4 alimentator localizat pe bancul de lucru 5 presa pentru fixarea tijei pe placa Calculatorul controleaza apasarea si de asemenea comanda plasarea ansamblului pe o paleta. Intreaga activitatea este controlata de controllerul robotului intr-o succesiune dupa cum urmeaza: Etapa 1 : Transportorul cu banda este semnalat sa porneasca , acesta este oprit cand sistemul de vedere 2 raporteaza ca o piesa a fost detectata pe transportor Etapa 2 : Sistemul de vedere apreciaza pozitia piesei , si orientarea pe transportor. Acest sistem inspecteaza piesa pentru defecte. Etapa 3 : Folosind datele sistemului de vedere , robotul prinde piesa cu o forta specificata. Etapa 4 : Piesa este plasata in dispozitivul de fixare de pe bancul de lucru. In acest moment transportorul se poate deplasa pentru urmatoarea piesa realizandu-se etapele 1 si 2.

Etapa 5 : O tija este prinsa de pe alimentator de catre robot si inserata partial intr-o gaura tesita in piesa. Controlul fortei este folosit sa execute aceasta inserare si sa execute o simpla verificare a operatiei. Daca alimentatorul cu tije este gol , atunci este instiintat operatorul si robotul asteapta pana cand operatorul comanda reluarea activitatii. Etapa 6 : Ansamblul piesa tija este apucata de robot si plasata in presa. Etapa 7 : In acest moment presa este comandata sa actioneze. Cand operatia se incheie , presa semnalizeaza incheierea operatiei si robotul preia piesa fixand-o in dispozitivul de fixare. Etapa 8 : Prin controlul fortei , ansamblul este verificat pentru o insertie corespunzatoare a tijei. In aceasta etapa , robotul simte forta de reactiune cand tija este presata oblic. De asemenea se fac verificari prin care se stabileste cat de mult a iesit tija in afara din piesa. Etapa 9 : Daca ansamblul este apreciat sa fie bun , atunci robotul paseaza ansamblul in urmatorul locas al paletei. Daca paleta este plina atunci operatorul este atentionat ( semnalat ). Definirea unui astfel de proces prin tehnica de invatare nu este posibila. In acest caz se utilizeaza un limbaj de programare scris , textual. De exemplu , in legatura cu paletele , este dificil sa se invete robotul toate locatiile de pe paleta.

1.3 Arhitectura HARDWARE a structurii robotului. Este tipica pentru arhitectura robotilor si consta din 3 parti : Controllerul Manipulatorul Perifericele

Manipulatorul : are 5 grade de libertate , caracterizate din 5 axe de rotatie. Fiecare axa este actionata de catre un servomotor electric cu magneti permanenti. Spatiul de lucru al manipulatorului este o sfera. Controllerul : este caracterizat printr-un minicalculator bazat pe un microprocessor. Limbajul de programare utilizat ocupa 12 kB in memoria ROM.Controllerul si componentele acesteia sunt prezentate in urmatoarea schema bloc. Mini calculatorul transmite comenzi pentru fiecare axa. Fiecare servosistem de pozitionare consta din 3 componente si anume : Buffer de comunicatie Un microprocessor Un circuit de comanda a servomotorului.

Periferice : se utilizeaza o consola si un aparat de deservire. Consola este dispozitivul principal de comunicatie si poate fi un display. Aparatul de deservire se utilizeaza pentru comanda directa a robotului de catre operator. 5

Acest aparat se utilizeaza si pentru invatarea configuratiilor.

In scopul sincronizarii executiei programului cu alte dispozitive , au fost prevazute un numar de intrari/iesiri binare . Acestea pot fi folosite pentru pornirea si oprirea altor echipamente sau pentru preluarea unor informatii de la senzori simpli. In plus se pot adauga interfete pentru vedere artificiala sau alte tipuri de senzori inteligenti.