Professional Documents
Culture Documents
ROBOTTECHNIKA. Bevezets Alapfogalmak Robotok morfolgiai felptse Alapmozgsok Orientci Robotikai rendszer elemei Hardver Szoftver Robotok geometriai rendszerei Klso koordintarendszerek s nevezetes pontok Homogn transzformci Denavit-Hartenberg transzformci A robotvezrls belso alapfeladata Robotok gpi funkcii Pozcionls Pozcionl rendszerek felptse A pozcionl rendszer rszei Motor Mozgstalakt tmro Irnyt rendszer Megfogs rzkels Belso szenzorok tmrok Kommunikci Robot kommunikcija a kiszolglt berendezssel Robotok programozsa On-line programozs Off-line programozs
1 4 4 7 7 8 8 8 9 9 10 11 12 13 13 13 13 13 13 13 13 13 13 14 14 14 17 19 24 24 24
Programnyelvek Programnyelvek szintjei Gpi kd robotprogramozs NC szeru (G formtum) programnyelv Robotfunkcikra orientlt nyelvek Mozgsler nyelvek AML Deklarcik Opertorok s standard fggvnyek. Mozgsutastsok Nvekmnyes mozgsok. Abszolt mozgsok Palettval kapcsolatos utastsok Egyb, mozgssal kapcsolatos utastsok Megfog utastsok Kommunikcis s vrakoz utastsok Programtechnikai utastsok Az AML editor Az AML szimullt betants Az AML szimultor BAPS VAL Feladatler nyelvek AUTOPASS Robotok alkalmazstechnikja Tipikus robotizlt munkahelyek A robotizlt munkahely eszkzei A robot informcis kapcsolatai Esettanulmnyok Cella kiszolgls Szerels Nemzetkzi trendek, irnyzatok Robot s mechatronika Irodalomjegyzk
25 25 25 25 25 25 25 26 27 28 28 29 30 31 32 32 33 34 35 36 36 36 36 36 37 37 37 37 37 37 37 37 37 37
Bevezets A tantrgy clkituzse: robotok, mint mechatronikai egysgek megismerse A robotokban alkalmazott alapveto egysgek ttekintse A robotok rendszerekben val mukdtetsnek felvzolsa A robotok programozsa alapjainak elsajttsa A Robot alkalmazsok tanulmnyozsa Fejlodsi tendencik megismerse Mi az a robot? A sz eredete a szlv rabota, ami munkt jelent. A magyar nyelvben a robot kemny, unalmas, fraszt munka, ebbol a szlv szbl ered. A robot mai jelentsei: (kznyelvi): fraszt munka hztartsi gp jtk szoftver (pl.webcrawler) (irodalmi) technikai alkots Karel Capek 1921 Isaac Asimov 1950 ipari robot (Ennek a tantrgynak ez a tmja)
Alapfogalmak A robot mechatronikai szerkezet, amely (nylt) kinematikai lnc mechanizmust s (intelligens) vezrlst tartalmaz, irnytott mozgsokra kpes automatikus mukdsre kpes elort programozhat feladatokat vgez egyttmukdik a krnyezetvel
Mechatronics: The synergistic integration of mechanical engineering with electronics and intelligent computer control in the design and manufacture of products and processes. Azaz: A mechatronika a gpszmrnki tevkenysg szinergikus integrcija az elektronikval s az intelligens szmtgpes vezrlssel a termkek s folyamatok tervezsben s a gyrtsban. A robotok felosztsra sokfle szempont ltezik. A japn s az eurpai terminolgia eltr egymstl. Japnban minden robot, ami mozog s mg valamit csinl.
Mozgatott mechanizmus: ipari manipultor (buta vezrls, kevs szabadsg) programozhat manipultor egyszeru mozgs, kttt program teleopercis manipultor tetszoleges mozgs, nincs program ipari robot (okos vezrls, szabadon programozhat) pont-szakasz vezrlsu robot PS, point-straight line mozgs, a plya paramterei nem adhatk meg, csak a clpont programozhat plyavezrlsu robot szervorobot, CP, contiunuous path robot, a plya paramterei megadhatk, programozhatk (plyatpus, sebessg, gyorsuls, stb.) intelligens, szenzorvezrelt robot
ero
A robotok osztlyozhatk: mozgsuk munkaterk felptsk vezrlsk feladatuk energiaforrsuk mretk szerint stb. Robotok osztlyozsa mozgsuk szerint: csak a clpont programozhat (pont-szakasz vezrls) plya paramterei is programozhatk (plyavezrls) a Munkaterk szerint (nem igazn lnyegi osztlyozs, rszletesebben a morfolginl trgyaljuk): derkszgu koordints (hasb) munkateru robot hengerkoordints robot gmbkoordints robot Vezrlsk szerint: alacsony kltsgu (PLC jellegu) vezrls nagytuds (enhanced, CNC jellegu) vezrls Intelligens (mestersges intelligencia funkcikat alkalmaz) vezrls Feladatuk szerint: anyagkezelo robot: a robot a munkadarabot manipullja muveletvgzo robot: a robot a szerszmot kezeli, mozgatja szerelo robot: munkadarabot is, szerszmot is kezel, mozgat. Energiaforrsuk szerint: villamos hajts robot hidraulikus robot (pneumatikus robot)
Robotok morfolgiai felptse Ha a tr (jelen esetben a robot munkatere) tetszoleges pontjt tetszoleges irnyts robotkzzel, vagy a kzben levo szerszmmal el akarjuk rni, 6 fggetlenl irnythat, mozgathat robotkoordintra van szksgnk.
Alapmozgsok Az alapmozgsok megvalstsa halad vagy forg mozgst lehetov tevo knyszerekkel trtnhet. Egy tetszoleges trbeli pont helyzett 3 koordintjval adhatjuk meg. Ez a pont elrheto 3 megfeleloen egymsra ptett robotkarral. A robot karjait, tagjait sszekto knyszerek lehetnek halad (H, vagy transzverzlis T, vagy prizmatikus P) knyszerek, mozgsok, csszkk, vagy forg (F, vagy rotcis R) mozgsok, knyszerek, tengelyek, csuklk. ltalnosan a robot tagokat sszekto knyszert robot csuklnak fogjuk nevezni, s T vagy R betuvel jelljk. A 3 koordintt teht 2 flekppen valsthatjuk meg, azaz 23 = 8 morfolgiai alapvltozat kpezheto. Ezek a kvetkezok: 1. TTT 2. TTR 3. TRT derkszgu robot (rectangular), hasb alak munkatr. (nem gyakori tpus) szerelo, festo robot (pl. ASEA)
4. 5. 6. 7. 8.
(nem gyakori tpus) henger koordints robot (pl. FANUC, RB) (nem gyakori tpus) UNIMATE nehzzemi robot s SCARA szerelo robot PUMA, antropomorf robot.
Orientci Az orientci 3 szgkoordinta megadst s a 3 forg mozgs megvalstst jelenti. Robotkezekben alkalmazott leggyakoribb megoldsok: Euler: z - y' - z' Kardn: x - y' - z'' RPY (roll - pitch - yaw): y - z' - y'
Robotikai rendszer elemei Egy robotos rendszer ltalban egyttmukdo gpi s emberi eroforrsokat felhasznlva pl fel. Hardver Fobb hardver sszetevok: robot mint gpszeti berendezs a robotvezrlo technolgiai berendezs technolgiai berendezs vezrlse a trsberendezs, segdberendezs trsberendezs vezrlse PLC betant egysg szenzor szenzor processzor cella vezrlo tervezo s programoz munkalloms kommunikcis kapcsolatok Cski Tibor: Robottechnika eloadsvzlat 8
LAN Szoftver tervezo sw. UNIX op.r. CAD CAPP CAM hlzati sw. robot programoz rendszer UNIX vagy PC-s op.r. programoz feladat tervezo interpreter szimultor compiler kommunikcis sw. robot vezrlo rendszer op.r. RT robot program rtelmezo robot vezrlo taszkok kommunikcis sw.
Robotok geometriai rendszerei A robot mozgst clszeruen koordintarendszerekben adhatjuk meg. A koordintarendszerek kapcsolatt transzformcik rjk le. A robotot szemllhetjk kvlrol s a robot belsejbol, minden pont a lerstl fggetlenl azonos kell hogy legyen.
P(TCP) z PQ Q RP=p M x UM R z x UR U x
U universe vilg R robot W workpiece munkadarab P TCP programmed point, tool center point programozott pont Q a megmunklsi pont
MQ
10
Homogn transzformci
z'
y' z Q q' P
q y
x'
A robotkarok egymshoz viszonytott helyzetnek egzakt megadsa rdekben minden robotkarhoz rgztnk egy gynevezett belso koordintarendszert s a karok egymshoz viszonytott helyzett ezen koordintarendszerek kztti transzformcival rjuk le.
q = T q'
h p T= 0 0 0 1
Cski Tibor: Robottechnika eloadsvzlat 11
Ahol
eltolsi vektor.
Denavit-Hartenberg transzformci Hogyan vehetjk fel clszeruen ezeket a koordintarendszereket? Szablyok: A z tengelyek a knyszer (csukl, tengely, csszka) geometriai tengelyei, A belso koordintarendszerek kezdopontjai a zi -re lltott normltranszverzlisok talppontjai, 1. Kitro zi s zi+1 esetn egyrtelmuen meghatrozhat. 2. Metszo zi s zi+1 esetn a metszspont. 3. Prhuzamos zi s zi+1 esetn tetszs szerinti kezdopontot vlasztunk. 4. Egybeeso zi s zi+1 esetn tetszs szerinti kezdopontot vlasztunk. Az xi tengelyek irnya megegyezik a normltranszverzlisok irnyaival 1. Kitro zi s zi+1 esetn egyrtelmuen meghatrozhat. 2. Metszo zi s zi+1 esetn a tetszoleges, de clszeruen vlasztott xi irny. 3. Prhuzamos zi s zi+1 esetn vgtelen sok , de meghatrozott irny normltranszverzlis ltezik, de a kezdopont tetszoleges. 4. Egybeeso zi s zi+1 esetn tetszs szerinti irnyt s kezdopontot vlasztunk. Ilyen vlaszts mellett a robottagok egymshoz viszonytott helyzete az n. Denavit-Hartenberg paramterek ( , , d, a) segtsgvel ngy transzformcival megadhat. A paramterek kzl s d a robottagok mozgsa sorn folyamatosan vltozik, s a konstrukcisan rgztett lland rtkek, melyek az adott robotra jellemzok. Tbb robotkar egymshoz kapcsoldsa esetn az egyes koordintarendszerek transzformcijt megvalst DH mtrixok sszeszorzdnak. A transzformcit az egymst kveto tagprokra elvgezve a robot programozott pontjnak helyzete megadhat.
T =T,11,2 T ... H 0
12
T DH
c s = 0 0
s c s s a c c c c s a s s c d 0 0 1
Pozcionls
A pozcionl rendszer rszei Motor Mozgstalakt tmro Irnyt rendszer Megfogs A robotok megfogszerkezetei alkalmazkodnak az ltaluk kiszolglt technolgiai folyamathoz. Mivel az emberi kz munkavgzo kpessgt s mozgsait igyekszenek msolni, az emberi kz mozgst lekpzo szerkezet lenne a legkedvezobb, ez azonban nehezen valsthat meg. A klnbzo trgyak megfogsa alakzr vagy erozr kapcsolattal realizlhat. Megfogsi elvek: szortpofk (2, 3), ujjak, specilis kszlkek Feladatuk szerint: munkadarab megfogk, szerszm megfogk.
13
rzkels A robotoknak mukdsk egyes fzisairl s a kiszolglt technolgiai folyamatrl klnbzo informcikkal kell rendelkeznik. Ezeket az informcikat a szenzorok szolgltatjk s a robot irnytrendszere rtelmezi oket. Szenzorok csoportostsi szempontjai: A krnyezetbol val informciszerzs mdja szerint: rintkezses, rintkezs nlkli. Az informcikat vagy a szenzor s a mrendo test kztti klcsnhatson alapul elv, vagy pedig a szenzorhoz kapcsolt kzeg pillanatnyi jellemzoi alapjn kapjuk. A szenzorok struktrja az alkalmazott mrotalakttl s a fizikai hatselvtol fgg. A mrotalaktk lehetnek: aktvak, passzvak. A passzv talaktok fizikai mennyisgei pl. ellenlls, induktivits, kapacits, stb. Az aktv talaktk jellemzoi pl. feszltsg, ram, tlts, stb. Alkalmazsi terletek. Az rintkezses szenzorok geometriai s fizikai jellemzokrol szolgltatnak informcit. Alkalmazsi helyeik robotokon: A krnyezettel val kapcsolattartsban ero, nyomatk, t (helyzet) rzkelse, A megfogszerkezetben ero s elmozduls lehatrolsa, A karokon ero, nyomatk, elmozduls rtknek meghatrozsa, A hajtrendszerben ero, nyomatk, nyoms, ramerossg s feszltsg mrse. Az rintkezs nlkli szenzorok leggyakoribb alkalmazsi terlete az tmrs, jabban az alakfelismers. Elonyk a tapintero hatsnak kikszblse. Elhelyezkedsk szerint megklnbztetnk klso s belso szenzorokat.
Belso szenzorok
A belso szenzorok a robotmechanikra, a hajtrendszerre s a megfogszerkezetre vannak teleptve. Funkcijuk szerint tmrok, szgsebessgmrok, ero-s nyomatkmrok.
tmrok
A robotkarok csuklkoordintit realizl szgelfordulsok s elmozdulsok pillanatnyi rtknek meghatrozsra szolglnak. Fajti: Digitlis, abszolt kdolt mrolc, kdtrcsa,
14
Digitlis, nvekmnyes lineris rcs, forgad, Ero (nyomatk) rzkelo Elsosorban a hajtrendszerek s a technolgiai folyamattal kzvetlen kapcsolatban ll megfogszerkezetek s szerszmok mukdst szablyozzk. Mukdsi elvk a mroelem alakvltozsn alapul, amely a nylsmro blyegek segtsgvel ellenllsvltozss, illetve feszltsgvltozss alakthat. Mind egy-, mind tbbkomponenses ero-, illetve nyomatkrzkelok hasznlatosak.
Klso szenzorok A robot s a krnyezet kzt teremtenek kapcsolatot. A robotok leggyakoribb alkalmazsi terlete a felmrsek szerint: - nts, - kovcsols, - palettzs s egyszeru alkatrsz sszeraks, - ponthegeszts, - festkszrs, - vhegeszts, - sorjtlants, - automatikus ellenorzs, - gyrtcellban val alkalmazs, - automatizlt szerels. Szinte mindegyik terleten rendkvl fontos a klso rzkels, mert segtsgvel pl. a technolgiai folyamat turshatron kvli eltrseit is kezelni lehet. A klso szenzorok ltal szolgltatott informcik nvelik a robot intelligencia szintjt, segtsgkkel mdosthatk az eredeti mozgsplykat megvalst programok. A klso rzkels kt nagy terlete: tapintrzkels, ltrzkels. A tapintrzkels n. binris rzkels, azaz a szenzor rzkeli, hogy a robot kapcsolatba kerl-e valamilyen trggyal, de nem azonostja azt. Az rzkels trtnhet rintssel, mikrokapcsol, tapints tmro, vagy tapints induktv rzkelo ltal. Valamely trgy jelenlte annak megrintse nlkl is rzkelheto. Ennek megoldsai:
15
Optikai
Induktv s kapacitv (ritkbb) rints nlkli rzkelok. A ltrzkelok a robot legfejlettebb szenzorai. Tulajdonkppen a kamert s a kpfeldolgoz processzort rtjk alatta. Tpusai: ktdimenzis ltrzkelo klnll trgyak binris rzkelsre, ktdimenzis ltrzkelo klnll trgyak szrke rnyalatai szerinti rzkelsre, ktdimenzis ltrzkelo egymssal rintkezo, vagy tfedsben lvo trgyak rzkelsre, ktdimenzis ellenorzo kszlkek, ktdimenzis vonalkvetok, klnll trgyrl hromdimenzis informcik kiszursre alkalmas rendszerek perspektvikus brzols, sztereotechnika, strukturlt megvilgts vagy psztz keress elvn, hromdimenzis informci kiszurse rendezetlen trgyhalmazokrl, trbeli helysznelemzs mobil robotok navigcijhoz, tvonalkeresshez s az akadlyok elkerlshez.
16
Kommunikci
ZEMIRNYTS LAN KEZEL KEZEL Kazetta Floppy CAPP
D/A analg szervhoz CELLAVEZRL V24 tmr Bin I/O ROBOTVEZRL ROBOT MECHANIKA
A robot a kezelovel s tovbbi automatikusan mukdo berendezsekkel interfszeken keresztl kommunikl. A kommunikci a mukdshez s az egyttmukdshez szksges informcicsere megvalstst jelenti. A kommunikcikat megvalst interfszek Binris logikai interfsz Binris jeleket csatol a robotvezrlo s a robot, valamint a krnyezete kztt. A binris jelekkel trtno kommunikci a legegyszerubben megvalsthat, programozsa is a legegyszerubb. A binris jelek lekezelse ltalban PLC-vel, vagy PLI-vel trtnik. A robotvezrlo szempontjbl inputok pl. a krs bitek, felttel bitek, stb., outputok pl. a parancs bitek, nyugtz bitek, stb.
Digitlis interfsz A digitlis interfsz sszetett informcik gyakran ktirny tovbbtsra szolgl. Az informcik kdoltak. Az informcicsere szabvnyos protokollok segtsgvel trtnik. A bitszintu, binris logikai kommunikcinl intelligensebb partnereket felttelez (vezrlsek, intelligens szenzorok, stb.) Az tvitel mdja:
17
Prhuzamos tvitel IEEE busz Centronics interfsz Soros tvitel RS 232 USB tvitel bit buszokon Analg interfsz A robotvezrlo s krnyezete kztti analg jelekkel trtno kommunikci lebonyoltsra szolgl. Analg jelekkel a pozcionl rendszerek szablyozkreit, illetve a szenzorok analg kimeno jeleit csatoljuk a robotvezrlohz. Ezen analg jelek kezelse nem tartozik kzvetlenl a programoz, illetve a robot opertor hatskrbe, ezrt rszletes trgyalstl itt eltekintnk.
Kezeloi kommunikcit megvalst interfsz A robot s a robotvezrls optimlis esetben automatikusan, emberi beavatkozs nlkl vgzi munkjt. Azokban az esetekben azonban, amikor az opertor kzremukdse is szksges (bellts, betants, programozs, hibakeress, stb.), megfelelo s jl hasznlhat kezelo szervek hatkonny tehetik a munkt. Hasonlan a korszeru CNC vezrlsekhez, a megjelents s az adatbeads knyelmessge, ttekinthetosge, a kezelot segto funkcik megvalstsa az eladhatsg egyik fontos szempontja lett. A korszeru robotvezrlsekben is egyre fontosabb a grafikus megjelents. Kijelzok: alfanumerikus display (grafikus) Nyomgombok: funkcigombok soft-key alfanumerikus Betant elemek: botkormny egr pozcionl gmb robotmodell
Robotprogram beviteli interfsz Az online vagy offline megrt programok bevitelre s a kiprblt s kijavtott, "belott" robotprogramok eltrolsra szolgl interfsz. Egyedi robotvezrlok esetn leggyakoribb a floppy lemez, rendszerbe integrlt robotvezrlseknl a hlzati interfsz az optimlis megolds.
18
Robot kommunikcija a kiszolglt berendezssel A robot s a trsberendezs kztti kommunikci legfontosabb clja az egyttmukdo berendezsek szinkronizlsnak megvalstsa. A kvetkezokben nhny pldn keresztl a robotvezrlo s a trsberendezs kztti binris jelek segtsgvel trtno informcicsere megvalstsi lehetosgeit vizsgljuk. A pldk egy, a ksobbiekben ismertetendo programnyelven kszltek, de a pldk egyszerusge miatt mr ezen a helyen is rtheto a mukdsk. A robot s a trsberendezs egyttmukdsnek hardver s szoftver felttelei vannak. A kvetkezokben felttelezzk, hogy a megfelelo sszekttetsek lteznek, a trsberendezs vezrlsben a kommunikci kezels megoldott, s csak a robot programozsi krdseivel foglalkozunk. A trsberendezssel val kommunikci leggyakrabban s legegyszerubben binris I/O-n kereszl valsthat meg, ezrt pldinkban csak ezzel foglalkozunk. A robotnak (mint minden automatikusan mukdtetett berendezsnek) "bizalmatlannak" kell lennie, minden felttelt s a vgrehajtst ellenoriznie kell. Ha egy berendezst ember mukdtet, akkor egy rendkvl jl szenzorlt, magas intelligenciafok, nagyon bonyolult dntshozatali algoritmusokat hasznl felgyelo rendszer, az ember vgzi a szinkronizlsi, hibadetektlsi, beavatkozsi funkcikat. Automatikus, gpi mukdtets esetn egy tlagos ipari rendszerben ilyen fok intelligens megoldsra ltalban sem igny, sem gazdasgos lehetosg nincsen, ezrt egyszerubb, de megbzhat megoldsokra van szksg. Ezrt szksges a felttelek alapos s gondos vizsglata, a lehetosgek elozetes ttekintse, s lehetoleg az sszes felmerlo lehetosgre a vlasz megtervezse. A mintapldkban ezeknek az alapjaival foglalkozunk. A megolds bonyolultsga mindig a trsberendezs vezrlojnek tudstl is fgg. 1. plda: a robot vezrel mindent. Felttelezseink: "buta" trsberendezs a robot felel mindenrt a robot ellenoriz mindent az idozts nem mlhat a vgrehajtsi sebessgen, lass s gyors trsberendezs esetn is megfeleloen kell mukdnie A vgrehajts lpsei: 1. parancskiads 2. a vgrehajts ellenorzse Cski Tibor: Robottechnika eloadsvzlat 19
3. a parancs megszntetse A parancskiads elott a vgrehajthatsg feltteleit ellenorizni lehet/kell. Feladat: adagols (pl. szerszmgp) Megoldand: burkolat nyitsa, zrsa Vezrelendo: nyit=NOT(zr) . Output, kimeno jel, mert a robotvezrlo lltja az rtkt. Ellenorizendo: nyitva, zrva. A burkolat szenzorlt, rzkelt llapotai, input vltozk, a robotvezrlo a trsberendezstol kapja az rtkeket. nyitva s zrva egymsnak nem negltjai, a burkolat llapota nem binris, ezek csak a szlso rtkei. Blokkvzlat:
nyit=1
Nem nyitva?
Igen
adagol
nyit=0
Nem zrva?
Igen
/* nyit nevu output csatornara 1-et ad, parancs */ /* a burkolat nyitasara */ nyit_var: testi(nyitva, off, nyit_var); /* mindaddig, amig a burkolat nincs */ /* nyitva, itt var */ adagol(); /* a burkolat kinyilt, az adagolas elvegezheto*/ writeo(nyit, off); /* parancs a burkolat zarasara */ zar_var: testi(zarva, off, zar_var); /* mindaddig, amig a burkolat nincs */ /* zarva, itt var */ end; /* vege a programreszletnek */ Idodiagram:
nyit
nyitva
zarva
2. program: palettacsere Feladat: palettacsere Vezrlendo: csere. Output, a robot lltja. Ellenorizendo: vanp. vanp=1, ha rzkeli a paletta jelenltt. Tjols mechanikusan trtnik, nem kell vezrelni. Az idoztstol nem fgghet, a palettacsere s a robotprogram vgrehajtsi sebessgtol fggetlenl jl kell mukdnie, ezrt ellenorizni kell a paletta eltvoltst s megrkezst is!
21
Programrszlet: cserel: meg_van: meg_nincs: subr(); writeo(csere, on); /* parancs a csere inditasara testi(vanp, on, meg_van); /*meg ott a regi pal testi(navp, off, meg_nincs); /* meg nincs uj pal. writeo(csre, off); /* csre megtortent, leall end;
*/ */ */ */
Idodiagram: csere
vanp
3. plda: kzfogs Feladat: hegeszto berendezs be- s kikapcsolsa Vezrlendo: h_start=NOT(h_stop) Ellenorizendo: h_aram. h_aram=1, ha van hegeszto ram
Programrszlet: hegeszt: subr(); writeo(h_start, on); /* bekapcsolas */ varj: testi(h_aram, off, varj); /*varj, amig nincs hegeszto aram*/ linear(50); /* egyenes interpolacio, 50 mm/perc sebesseg*/ pmove(<p1, pfelso, p4>); /* egyenesek vegpontjai */ writeo(h_start, off); /* kikapcsolas */ vege: testi(h_aram, on, vege); /* varj, mig tenyleg kikapcsol*/ end;
22
Idodiagram: h_start
h_aram
4. plda: a robot egyttmukdik egy intelligens vezrlovel. A kommunikci nem felttlenl egyszerubb, de a trsberendezs ltal elltott feladat sokkal sszetettebb lehet! A parancskiadst s az ellenorzst egyarnt kezfogssal clszeru megvalstani. (csinld - rtettem - tudomsul vettem hogy rtetted tudomsul vettem, hogy tudomsul vetted) A robotvezrlo kiadja a parancsot, s megvrja, amg a trsberendezs elkezdi vgrehajtani. (O=csinald, I=vettem) Ezutn a robotvezrlo megvrja, (ttlenl vagy ms feladat vgrehajtsval), amg a trsberendezs jelzi, hogy ksz, s visszajelez, hogy rtette (I=tkesz, O=rendben). Idodiagram: csinald
vettem
rendben
tkesz
subr(); writeo(csinald, on); /*inditas*/ testi(vettem, off, indult); /*var, mig visszajelez*/ writeo(csinald, off); /*jelzett*/ testi(vettem, on, i0); /* var, mig visszaveszi*/ testi(tkesz, off, kesz); /*var, mig a tars jelzi, hogy kesz*/ writeo(rendben, on); /* szol, hogy latja*/ testi(tkesz, on, res); /* var, mig szol, hogy eszrevette*/ writeo(rendben, off); /* visszaveszi a jelzest*/ end;
Robotok programozsa
On-line programozs Robotok on-line programozsrl akkor beszlnk, ha a programozs a bekapcsolt robot mellett, a robotvezrlo szolgltatsait hasznlva trtnik. A programban szereplo pontok megadsa gyakran betantssal, a robot megfogjnak a kvnt pontba trtno mozgatsval valsul meg. Elonye, hogy az elkszlt program szintaktikailag nagy valsznusggel helyes, nincsenek a munkatren kvli pontok. Htrnya, hogy a betantsos helyszni programozs idejre a robot kiesik a termelsbol. Off-line programozs A program rsa a robottl trben elvlik, a program rshoz nincs szksg a robot s a robotvezrls hasznlatra. A program rst clszeruen valamilyen szmtgpes eszkz segti, menurendszerrel, szintaktikus ellenorzssel, szimultorral. Elonye, hogy a programozs nem vesz el gpi idot a robottl, a program jl dokumentlt, archivlt lehet. Htrnya, hogy nem eredmnyez felttlenl vgrehajthat programot, tkzsek, idoztsi hinyossgok esetleg csak a program "belvsekor" derlnek ki.
24
Programnyelvek
Programnyelvek szintjei
Gpi kd robotprogramozs A programozs nehzkes, de nagyon hatkony program rhat. NC szeru (G formtum) programnyelv Az NC gpekhez hasonl szintaktikj programnyelv, annak elonyeivel s htrnyaival. Robotfunkcikra orientlt nyelvek A robotok sszes lehetosgt kihasznl, viszonylag programnyelvek, nem nagyon knyelmesen hasznlhatak. Mozgsler nyelvek A robotok legfontosabb funkcijra, a mozgsra, mozgatsra koncentrl programnyelvek, ma a legelterjedtebb, jl hasznlhat, hatkony nyelvek. Egyik legfontosabb kpviselojk az AML nyelv. AML Az AML az A Manufacturing Language (kb. Egy gyrtsprogramozsi nyelv) kezdobetuibol kpzett sz. Az IBM fejlesztette ki sajt cljaira. Robotprogramozsra az AML-nek egy szuktett vltozatt hasznljuk, amely IBM 7576 tpus SCARA robot programozsra alkalmas. A rendszer moduljai: AML programozsi nyelv editor, szerkeszto program betants szimultor (a robot betantsnak kpernyon trtno szimullsra) programszimultor (az AML program vgrehajtsnak szimullsra, ellenorzsre) help (segto rendszer) debugger (hibakereso) kommuniktor a robotvezrlovel alacsony szintu
25
Deklarcik
Formja: cimke: utasts; A cmkvel nevet adunk a definiland vltoznak vagy szubrutinnak, az utastsban pedig meghatrozzuk a tpust s ltalban a kezdortkt is. Az AML vltoz tpusai: geometriai pont. A pontot 3 koordintjval s a megfog elfordulsi szgvel adhatjuk meg. Plda: p1: new pt(300, -300, -100, 180); Itt x=300 mm, y= -100 mm, z= -100 mm, a megfog elfordulsa R=180 fok pozitv irnyban. A pt() fggvny a megadott adatokbl geometriai struktrt kpez. string. A stringet rtkvel adhatjuk meg. Plda: st: new 'Ez egy string valtozo erteke'; tmb. Tmb megadsa a vltozk rtkeinek felsorolsval trtnhet. Egy tmbnek brmilyen tpus elemi lehetnek, vegyesen is.
Pldul: sok: new<1, p1, st, -100>; A sok nevu tmb elso eleme egy szm, melynek rtke 1, msodik eleme az elobb definilt p1 pont, harmadik eleme az st nevu string, negyedik eleme a -100 rtk. vals vltoz a: new real(1.1); logikai vltoz
26
v: new TRUE; szenzor tpus vltoz. Az AML felttelezi, hogy a szenzor jelet n bites A/D talakt kimenete adja az s. bittol kezdve.
ero: sensor(s, n); szubrutin. A szubrutinoknak nevk van s res vagy nem res paramterlistjuk. Egy rutin klnbzo szm paramterekkel is hvhat.
felvesz: subr(mit, honnan); paletta. Az AML rendkvl jl hasznlhat vltoz tpusa a paletta. A paletta logikailag egytt kezelheto pontok halmaza, melyen az AML muveleteket enged meg. A pontok elore vagy htrafel bejrhatk, lncoltak (az utols utn az elso kvetkezik, az elso elott az utols), s tetszoleges sorrendben is elrhetok. Palettzs jellegu feladatok ezrt AML-ben knnyen s elegnsan programozhatk.
talca: new pallet(ba, ja, jf, dbs, n); A talca a definilt paletta neve, ba a bal als pontja, ja a jobb als, jf a jobb felso, dbs az egy sorban levo darabok (pontok) szma, n az sszes darab szma.
sszeads kivons szorzs oszts inkrementls dekrementls logikai s logikai vagy logikai nem hatvnyozs egsz oszts = relci nem egyenlo nagyobb mint 27
GE LT LE ABS ACOS ASIN ATAN ATAN2 COS EXP LN MAX MIN MOD SIN SQRT TAN
nagyobb egyenlo kisebb mint kisebb egyenlo abszolt rtk arkusz koszinusz arkusz szinusz arkusz tangens arkusz tangens x/y koszinusz exponencilis fv termszetes logaritmus maximum minimum modulo szinusz ngyzetgyk tangens
Mozgsutastsok
Nvekmnyes mozgsok.
djmove(<i,j,k,l>,<a,b,c,d>); Az i., j. k., l. robotcsuklt nvekmnyesen a, b, c, d rtkkel elmozdtja. Az 1. csuk a vll, a 2. a knyk, a 3. a kz lineris z irny mozgatsa, a 4. a megfog elfordtsa. Pl.: djmove(2,45); a 2. csuklt, a knykt elfordtja 45 fokkal pozitv irnyban. djmove(<1,2>, <30,-15);
28
az 1. csuklt pozitv irnyban 30 fokkal, a 2. csuklt negatv irnyban 15 fokkal elfordtja a jelenlegi helyzetkhz kpest. dmove(<x,y,z,r>,<a,b,c,d>); A robotkoordintkat a megadott rtkkel megvltoztatja nvekmnyesen. Pl.: dmove(z, -50); A kezet lefel mozgatja 50 mm-rel. dmove(<x,y>,<100,100>); A programozott pont x s y koordintjt 100-100 mm-rel megnveli. dpmove(pont); A programozott pont koordintit a pont rtkvel megvltoztatja. PL. pont: new pt(100,100,0,0); . . dpmove(pont); az elozo pldabeli elmozdulst okozza.
Abszolt mozgsok
jmove(<i,j,k,l>, <a,b,c,d>); Az i., j., k., l. csuklkoordintt az a, b, c, d rtkre mozgatja. Pl. jmove(<1,3>, <100,-100>); Az 1. koordintt, a vllat +100 fokos helyzetbe lltja, a 3. koordintt, a kezet -100 mm-re mozgatja. Cski Tibor: Robottechnika eloadsvzlat 29
move(<x,y,z,r>, <a,b,c,d>); A robotkoordintkat a megadott rtkre mozgatja. Pl.: move(z,-100); A z koordintt a -100 mm-es helyzetbe mozgatja. move(<x,y,r>,<300,300,360>); Az x s az y koordintkat a 300, 300 mm-es pontba mozgatja, mikzben a megfogt egy teljes fordulattal pozitv irnyban elfordtja. pmove(pont); A programozott pontot a pont-ba mozgatja. Pl: pmove(p1); pmove(pt(300,300,-150,720)); A msodik pldban a pt() fggvny a megadott rkekbol egy pont tpus vltozt generl, majd a pmove() fggvny ebbe a pontba mozgatja a robot programozott pontjt. pmove(<p1,p2,p3>); A programozott pontot a p1, p2, p3 pontokon t mozgatja. Termszetesen mindegyik pontnak a robot munkaterben kell lennie! zmove(a); A robot kezt z irnyban az a mretre mozgatja. Az a rtknek negatvnak kell lennie!
30
nextpart(pal); prevpart(pal); A pal nevu palettn a kvetkezo (nextpart) illetve az elozo (prevpart) paletta pozcit teszi aktuliss. Emlkeztetol: a paletta pozcik lncoltak! getpart(pal); Mozgs a paletta aktulis munkadarab pozcijra. setpart(pal, n); A paletta n. munkadarab pozcijt jelli ki aktulisnak.
linear(v); Bekapcsolja a lineris interpolcit (a programozott pont a kvetkezokben trbeli egyenes mentn fog mozogni), s belltja a plyasebessget v mm/perc rtkure. v=0 esetn a lineris interpolcit kikapcsolja, a programozott pont az arnyos csuklinterpolcinak megfelelo mdon mozog. circular(v); Bekapcsolja a krinterpolcit s belltja a plyasebessget v mm/perc rtkure. v=0 esetn kikapcsolja a krinterpolcit, a tovbbiakban a programozott pont arnyos csuklinterpolcival mozog. Bekapcsolt krinterpolci esetn a mozgsutastsokban krv pontjainak kell szerepelnik clpontokknt. home(i,j); Az i. s j. robotcsuklt referencia pontra kldi. Pl.: home(1,2); A vll s a knyk referencia helyzetbe megy, a z s a megfog elfordulsa nem vltozik.
31
Kommunikcis s vrakoz utastsok break(); Felttel nlkli programozott stop. resume(); Programvgrehajts folytatsa. delay(t); Programvgrehajts ksleltetse t msodpercig. waiti(d, e, t, sr); t msodpercig vr arra, hogy a d input csatorna rtke e legyen. Ha a megadott idon bell ez nem kvetkezik be, hvja a sr szubrutint. writeo(d,e); A d output csatornra e rtket ad ki. Az e 0 vagy 1 lehet, d-nek output vltoznak kell lennie. blink(d); Villogtatja a megadott d output csatornt. endblink(d);
32
Villogtats kikapcsolsa. guard(d,e); Figyeli a megadott d input csatornt. Ha rtke e-v vlik, megszaktja a mozgst. endguard(d); Kikapcsolja a figyelst. monitor(d,e,sr); Figyeli a megadott d inputot. Ha az aktulis rtk a megadott e rtkuv vlik, hvja a sr szubrutint. endmonitor(d); Kikapcsolja a figyelst az adott csatornra. testi(d); A d cmu input csatornn levo rtket adja vissza. testi(d,e,c); Feltteles ugrst hajt vgre a c cmkre, ha a d input csatornn e rtku jel van.
Programtechnikai utastsok s: subr(p1,p2, ,pn) . . . end; s nevu szubrutint definil, p1, p2, pn paramterekkel. branch(c); Cski Tibor: Robottechnika eloadsvzlat 33
Felttel nlkli ugrs a megadott c cmkre. while (felt) do begin . . . end; A begin s end kztti utastsok vgrehajtdnak, amg a felt felttel teljesl. if felt then ut1 else ut2; A vezrls a felt felttel teljeslstol fggoen ut1 vagy ut2 utastst hajtja vgre. Ha az else hinyzik, a kvetkezo utasts rvnyes. Az AML editor Az aktulis programfile-t a fomenuben vlasztjuk ki. Ha nem ltezo nevet adunk meg, a rendszer j file-t hoz ltre. Az AML programoknak .aml kiterjesztsueknek kell lennik. Az editorba belpve kiadhatunk: elsodleges parancsokat (a kpernyo tetejn levo mezoben adhatk meg. A mezobe a HOME billentyu lenyomsval juthatunk el.) sor parancsokat (a kpernyo bal oldaln, a sorok elott adhatk ) karakterszintu parancsokat (a szerkesztett sorokban adhatk) A funkcibillentyuk hasznlata: F1 help F2 trli a nem kvnt vltoztatst F3 reset, trli a hibt vagy kiadott parancsot F4 kirja az utols keressi (find) parancsot F5 kirja az utols cserlsi (change) parancsot F6 belps a betant zemmdba F7+ALT az aktulis, betantott robotpozcit betlti a szerkesztett programba. F8 kilps az editorbl F9 ugrs a file elejre
34
F10
Nhny fontos elsodleges parancs: C DI F PR SA SY change, csere: a megadott stringet minden elofordulsban a megadott msikra cserli dir: listt ad az AML knyvtrrl find, keress: megkeresi a megadott stringet print, nyomtats: kinyomtatja a filet save, ments: elmenti a szerkesztett filet ms nven syntax check, szintaktikus ellenorzs: ellenorzi a programot szintaktikai szablyok alapjn
Nhny fontos sorparancs A B C CC-CC D DD-DD Ixxx M after: blokk kezdetnek kijellse before: blokk vgnek kijellse copy: msolja a megadott sort a fenti kijells utn (A) vagy el (B) msolja a megadott sorokat a kijells szerint delete: trli a sort trli a megadott sorokat insert: beszr xxx db res sort move: mozgatja a megjellt sort a kijells szerint
Az AML szimullt betants Kiadhat parancsok: F1 help TAB robotkar konfigurci vlts (jobbkezes-balkezes) SHIFT+TAB konfigurci vlts cursor finom robotpozcionls SHIFT+cursor durva pozcionls PgU, PgD R tengely mozgats F7, F8 Z tengely mozgats F9 grasp F10 release ESC eltrolja a betantott robotkoordintkat Cski Tibor: Robottechnika eloadsvzlat 35
Az AML szimultor F9 F5 F8 F3,F4 F6 F7 szimulci start visszatrs az editorhoz visszatrs a fomenuhz digitlis output kijelzs lptetse opcik belltsa digitlis input rtknek vltoztatsa
BAPS A Bosch cg sajt robotjaihoz kifejlesztett programnyelv. Hatkony, sok jl hasznlhat szolgltatssal.
VAL Eredetileg a PUMA robotokhoz kifejlesztett programnyelv, egyszerusge s ttekintehtosge miatt taln a legelterjedtebb. Ma mr nagyon sok robotvezrlsben hasznljk. Feladatler nyelvek
AUTOPASS Magas szintu, a mestersges intelligencia elemeit is hasznl programnyelv, ma mg csak ksrleti fzisban van.
36
Robotok alkalmazstechnikja
Esettanulmnyok
Cella kiszolgls
Szerels
Robot s mechatronika
Irodalomjegyzk
1. Dr. Kulcsr Bla: Robottechnika 2. Szabn dr. Mak Ildik: Robottechnika. http://www.szgt.uni-miskolc.hu/~mako/robel1.pdf, http://www.szgt.unimiskolc.hu/~mako/robel2.pdf, http://www.szgt.uni-miskolc.hu/~mako/robel3.pdf http://www.szgt.uni-miskolc.hu/~mako/robel4.pdf
37