PROGRAMIRANJE INDUSTRIJSKIH ROBOTA Iz same definicije industrijskog robota kao univerzalne, višefunkcionalne, programabilne mašine za izvršavanje različitih zadataka u industriji, vidimo da je programabilnost jedna od osnovnih karakteristika. Programabilnost ili mogućnost reprogramiranja znači da se programirana kretanja i pomoćne funkcije mogu menjati bez fizičke promene odnosno intervencije na samom robotu. Programiranje kretanja šest osa koje nisu kartezijanske što je slučaj kod većine robota čini ovaj problem mnogo složenijim nego što je to slučaj sa NU mašinama alatkama. Na složenosti doprinosi potreba uvođenja senzorskih informacija kao i potreba sinhronizacije rada sa tehnološkim okruženjem odnosno periferijom (mašine, konvejer). O složenosti, vrstama i nivoima upravljanja je bilo reči pa ćemo sada dati opštu strukturu odnosno arhitekturu jedne savremene upravljačke jedinice koja pored upravljanja samim robotom mora da obezbedi i upravljanje i/ili nadgledanje cele ćelije sa robotom kao i samo programiranje. Teachbox
Komunikacioni interfejsi, Host kompjuter, PC, ... Servo kontroleri
Monitor
Flopi disk
UJ Senzori spoljašnji
Kasetna jedinica
Operatorski panel
Analogni/digitalni I/O signali
U opštem slučaju bez obzira na vrstu programiranja program mora da obezbedi robotu sledeće informacije : koordinate signifikantnih tačaka a to su krajnje tačke u koje end-efektor mora da dođe, međutačke kroz koje end-efektor mora da prođe da bi izbegao prepreke i koliziju i referentne tačke koje određuju putanju kroz koju end-efektor prolazi pod određenim uslovima. Ovi uslovi mogu biti stanja signala sa senzora ili vrednosti nekih unutrašnjih parametara zadatih programom. Status end-efektora u tim tačkama (otvoreno, zatvoreno…) Brzine za svako kretanje Redosled i moguća izvršavanja operacija Ako izuzmemo jednostavne pneumatske robote (“pick and place”) koji rade između fiksnih tačaka i gde se programiranje vrši manuelno (svodi se na postavljanje graničnika ili
mikroprekidača između krajnjih tačaka dok se logika i redosled zadaju preko programabilnih automata ili table sa pinovima) metode programiranja možemo podeliti u dve grupe: METODE PROGRAMIRANJA
OBUČAVANJE
TEKSTUALNI JEZICI Off-line
On-line
VOĐENJEM
POMOĆU UREĐAJA
(Lead trough programing)
(Teach box/pendant)
1.1
Metode programiranja obučavanjem
…ili “on-line” metode su metode u kojima se sam robot koristi pri programiranju i čiji se željeni pokreti memorišu i kasnije reprodukuju. U principu su moguće dve metode : 1. Obučavanje vođenjem 2. Obučavanje uređajem To su jednostavne metode i od programera na zahtevaju poznavanje programskih jezika već veštinu za izvršavanje programiranog zadatka. Sistem programiranja mora da obezbedi samo programiranje, izvršavanje programa i editovanje istog u cilju unošenja izmena, dopune programa… Ovo su danas veoma zastupljene metode ali nisu pogodne za kompleksne programe a uz to zadržavaju robot (i celu ćeliju) dok se vrši programiranje. 1.1.1
Obučavanje pomoću uređaja
…je u principu veoma jednostavno i najčešće se koristi kod PTP upravljanja. Obučavanje se vrši pokretanjem end-efektora dok vrh ne zauzme određenu (željenu) poziciju i orjentaciju koji se memorišu. Ovo pomeranje end-efektora izvodi operator odgovarajućom tastaturom i/ili palicama na samom uređaju za obučavanje koje drži u ruci da bi izbliza mogao da prati ostvarivanje željene pozicije i orjentacije. Obučavanje se obično izvodi za to predviđenim brzinama kretanja a za precizna pozicioniranja moguće je izvršiti pomeranje određenih osa za samo 1 inkrement enkodera. U cilju povećanja fleksibilnosti programiranje obučavanjem se može vršiti u unutrašnjim koordinatama, spoljašnjim koordinatama i koordinatama sistema vezanog za vrh end-efektora. Obučavanje po unutrašnjim koordinatama nije uvek pogodno, pa se često koristi obučavanje u spoljašnjim koordinatama gde operator zadaje kretanja duž X-Y-Z referentnog koordinatnog sistema vezanog za osnovu robota. Pri ovome upravljački sistem u realnom vremenu vrši transformaciju koordinata (rešavanje IKP). Na sličan način se zadaje i orjentacija oko X-Y-Z koordinata jer se pri pozicioniranju ona obično drži konstantna. Pri reprodukciji kretanja između “obučenih” tačaka putanja zavisi od toga da li je u pitanju PTP ili CP upravljanje. U PTP modu mogući su različiti slučajevi. Ako sve ose startuju
u isto vreme i zaustavljaju se kada dostignu zadate vrednosti ne znamo ništa o putanji između tačaka, a ako sve ose startuju i zaustavljaju se u isto vreme putanja je glatki luk (vrši se kružna interpolacija). Ako pri tome zadamo mnogo bliskih tačaka imaćemo na neki način CP upravljanje. Pri pravom CP upravljanju obično je putanja između dve tačke prava, jer se u realnom vremenu mora izvršiti interpolacija i transformacija koordinata. Različite trajektorije (kao krug i slično) se mogu, kao što je poznato, ostvariti i linearnom interpolacijom. Pored zadavanja koordinata tačaka, statusa end-efektora i brzina moguće je programirati i odgovarajuće signale za periferne uređaje, čekanje ispunjenosti senzorskih informacija, vremensko čekanje itd. Savremeni sistemi imaju i mogućnost korištenja programa. 1.1.2
Obučavanje vođenjem
Ovaj način obučavanja se najviše primenjuje tamo gde su potrebna kontinualna kretanja kao pri bojenju ili elektrolučnom zavarivanju. Pri ovome operator direktno vodi endefektor po željenim trajektorijama pri čemu se simultano memorišu pozicije svih osa u određenom vremenskom trenutku. Pri reprodukovanju kretanja se reprodukuju željene trajektorije. Kod malih robota gde je moguće (oslobađanjem kočnica, smanjenjem pritiska ulja i slično) direktno vođenje robota, nije problem vršiti obučavanje. Međutim kod velikih robota (a i kod malih gde imamo zavojno vreteno i slično) nije moguće direktno vođenje pa se u tim slučajevima koriste odgovarajući simulatori-lutke identičnih dimenzija kao robot, lake strukture uravnotežene kontrategovima, sa mernim sistemima (istim kao u robota, nema motora) u zglobovima. Ovaj način programiranja zahteva veliku memoriju i nije pogodan za precizne trajektorije kao i za slučajeve gde je potrebno održavanje konstantne brzine.
1.2
Programski jezici za robote
U nekim industrijama i tehnologijama kao što su automobilska, avio industrija… gde je potrebno programirati na stotine i hiljade tačaka uz zadržavanje cele linije programiranje obučavanjem nije povoljno. S obzirom da svi podaci (koordinate) tačaka već postoje na crtežima ili geometrijskom modelu logično je koristiti tekstualne jezike. Međutim kod velikih robota i gde se zahtevaju veoma precizne pozicije moguća je i kombinacija on-lajn i of-lajn programiranja. U on-lajn delu obučavanjem se definišu tačke a u of-lajn logika i redosled. Prednosti ovakvog načina programiranja su:
Program se priprema bez korištenja robota odnosno zadržavanja proizvodnje Novi programi mogu koristiti prethodno razvijene rutine Programi se brzo i lako menjaju Lako uključivanje senzorskih i kompleksnih informacija Moguće je uključiti i podatke sa viših nivoa direktno iz CAD-a Moguća je grafička simulacija i provera programa
Program se piše sa minimalnim brojem podataka i može biti korišten za različite robote uz primenu različitih post procesora
1.2.1
Klasifikacija jezika za robote
Po jednoj klasifikaciji , jezici za programiranje industrijskih robota mogu biti: jezici I generacije jezici II generacije jezici budućih generacija . 1.2.1.1 Jezici prve generacije Spadaju u grupu jezika nivoa kretanja i koriste uredjaj za obučavanje u kombinaciji sa tekstualnim instrukcijama. Ovi jezici nemaju mogućnost aritmetičkog računa, komunikacije sa drugim računarima i nemogu prihvatiti koompleksne senzorske informacije (osim ON-OFF). Operatori iz pogona smatraju da im je lakši sistem programiranja obučavanjem, dok programeri tvrde obrnuto. 1.2.1.2 Jezici druge generacije Su takozvani strukturni jezici. Eliminišu mnoge nedostatke jezika i generacije i obično mogu koristiti uređaj za obučavanje za definisanje pozicija. Mogućnosti ovih jezika su: Upravljanje kretanjem robota (kao i kod prve generacije) Uključivanje kompleksnih senzorskih informacija i upravljanje uređajima (open 40 mm, close 30 N ,…) Ograničena mogućnost inteligencije ,odnosno,mogućnost modifikovanja kretanja robota po datom programu na bazi senzorskih informacija okoline. Komunikacija i obrada podataka. 1.2.1.3 Buduće generacije jezika To su jezici nivoa zadatka koji uključuju koncept modeliranja okoline. Modeliranje okoline može biti pomoću sistema za geometrijsko modeliranje (Solid model) ili pomću VISION sistema. Na osnovu “znanja” 3D okoline, robot svojim procedurama korak po korak izvršava zadatak. Ova “znanja” i automatsko samoprogramiranje, uz teehnike veštačke inteligencije, omogućavaju vrlo jednostavno programiranje (skoro govornim jezikom ) vrlo složenih zadataka, kao npr. sastavi štampač (ASSEMBLE PRINTER). Ovi jezici uključuju simulaciju, prooveru programa, otkrivanje kolizije,… Simulacija i grafička provera su već uključene u jezike II generacije (virtuelna realnost, VIRTUAL REALITY).