1 Uvod V zadnjih desetletjih je vse več in več primerov uporabe robotov v industrijski proizvodnji, kar je posledično povzročilo povečane zahteve po robustnosti, prilagodljivosti in natančnosti. Odgovor na te zahteve je bil v številnih primerih podan s povečanjem mehan- skih sposobnosti robotov. Za dosego mikrometrske pozi- cionirne natančnosti je bila povečana togost robotske roke, zmanjšana zračnost zglobov in uporabljeni pre- cizni pogoni, kar pa je pogosto vodilo do načrtovalskih kompromisov, kot na primer zahteva za povečanje to- gosti in zmanjšanje vztrajnosti. To je privedlo do pri- bliževanja robu mehanskih zmožnosti, naraščanju cene in zmanjšanju tržne kompetitivnosti robotskih sistemov [1]. V zadnjem času je opaziti povečane napore izdelo- valcev industrijskih robotskih sistemov za integracijo ra- zličnih senzorjev v sam sistem, kar zagotavlja povečanje natančnosti, fleksibilnosti in prilagodljivosti. Strojni vid je še vedno eden najperspektivnejših senzorjev [6] za uporabo v 3D povratnozančnem vodenju realnih industri- jskih robotov [3]. To področje je bilo v raziskovalnem pogledu zadnji dve desetletji zelo aktivno, vendar šele zdaj doživlja prve praktične uporabne učinke v industriji [5] v nasprotju s strojnim vidom samim, ki je postal dobro razvita industrija v zadnjih letih [8]. Za to je več razlogov. Sistem robotskega vida mora zadostiti nekaterim zahte- vam, ki ga razlikujejo npr. od merilnega sistema strojnega vida. Najprej je delovna razdalja kamer veliko večja, tudi nekaj metrov pri večjih robotih. Merjenje z visoko natančnostjo pri teh razdaljah je problem, saj zahteva ve- liko večjo ločljivost senzorjev, ki hitro preseže tehnološke in cenovne zmožnosti. Na primer, kamere z ločljivostjo 4 milijonov točk so danes v serijski proizvodnji, vendar si jih v številnih robotskih aplikacijah ne morejo privoščiti, 26 Torkar, Papa Slika 1. Testno okolje Figure 1. Test environment saj cena sistema vida, ki vključuje take kamere, že sko- raj doseže ceno robota. Dinamika industrijskih procesov zahteva kamere z visoko hitrostjo generiranja slik, kar pa v povezavi z zahtevo po obdelavi slik v realnem času pomeni dodatno omejitev pri integraciji sistema. Nasled- nji velik problem je spremenljiva osvetlitev v nestruk- turiranem industrijskem okolju, ki lahko močno oteži ob- delavo slike. Pri načrtovanju sistema vida za uporabo v robot- ski aplikaciji je posebej pomembno, da izberemo op- timalno opremo, ki bo zagotavljaja maksimalen učinek posameznih komponent. V tem članku predstavljamo postopek za določanje natančnosti umerjenega sistema stereovida v dvo- in trirazsežnem prostoru. Tak sistem je mogoče uporabiti za vizualno povratnozančno vodenje za natančno pozicioniranje centra robotskega orodja (TCP). 2 Metodologija Izvedli smo štiri načine testiranja natančnosti: statični 2D-test, dinamični 2D-test, statični 3D-test in dinamični 3D-test. Pri vseh testih smo uporabili matriko desetih in- frardečih diod LED (IR-LED), s čimer smo želeli prever- iti primernost teh diod za označevanje in za kalibracijski vzorec pri robotskih vizualnih povratnozančnih aplikaci- jah. Pri statičnem 2D-testu smo matriko IR-LED premikali z linearnin pogonskim vodilom pravokotno na optično os kamere in merili premike na zajeti sliki. Namen tega je bil poiskati najmanjši linearni odziv na sliki. Centroidi IR-LED so bili določeni na dva načina: na binarni sliki in na sivinski sliki kot masno središče. Med zajemom slike se matrika IR-LED ni premikala, s čimer smo izničili morebitne napake, ki nastanejo zaradi premikanja med zajemanjem. Povprečili smo premike centroidov desetih IR-LED diod v sekvenci 16 slik in izračunali standardno deviacijo, ki določa interval zaupanja. Pri dinamičnem 2D-testu smo preverjali popačenje oblik na slikah zaradi hitrih 2D-premikov linearnega go- nila, na katerem je bila pritjena matrika diod IR-LED. Primerjali smo slike diod IR-LED, zajete med premikan- jem, s statično zajetimi. Tako smo ocenili premike foto- centrov ter dinamično napako. 3D-test smo izvedli z dvema kalibriranima kamerama v načinu stereo. Z uporabo linearnega gonila smo pre- mikali matriko diod IR-LED v 3D-prostoru z različnimi velikostmi premikov. Iskali smo najmanjši premik, ki bi predstavljal linearni odziv in bi ga lahko uporabljali za 3D-rekonstrukcijo. Pri dinamičnem 3D-testu smo namestili matriko diod IR-LED na zapestje industrijskega robota. Robota smo nato vodili prek vnaprej definiranih prostorskih točk ter posneli njegovo trajektorijo s stereo kamerama. Rekon- struirane 3D-točke smo primerjali z definiranimi točkami v robotskem krmilniku. 3 Testno okolje Testno okolje (slika 1) sestavljajo: • kamera PhotonFocus MV-D1024-80-CL-8 s sen- zorjem CMOS in frekvenco zajemanja 75 slik na sekundo (fps) pri polni resoluciji (1024 × 1024 točk), • zajemalnik slik Active Silicon Phoenix-DIG48 PCI, Ocena natančnosti sistema robotskega vida 27 • matrika diod IR-LED (standardna deviacija natančnosti diod IR-LED je pod 0,007 točke [4]) na razdalji približno 2 m. Matrika je pritrjena na linearno vodilo Festo (DGE-25-550-SP) s ponovljivostjo +/-0,02 mm. Pri statičnem 2D-testu se je matrika diod IR-LED pre- mikala pravokotno na optično os. Razdalja med kamero in premikajočo se matriko je bila (v srednjem položaju) 195 cm; vidno polje kamere je bilo 220 cm×220 cm, kar pomeni, da je bila velikost točke 2,148 mm; Schneider- Kreuznach leče CINEGON 10mm/1,9F z IR filtrom (780 nm); odprtost zaslonke je bila 10,73 ms, čas za eno sliko pa 24,04 ms (oboje določeno eksperimentalno). Pri dinamičnem 2D-testu so bile razmere enake kot pri statičnem testu, le da se je linearno vodilo z matriko diod IR-LED premikalo s hitrostjo 460 mm/s, čas odprtosti za- slonke pa je bil 1 ms. Pri statičnem testu rekonstrukcije 3D sta bili razdalji leve in desne kamere do matrike diod IR-LED 205 cm; razdalja med optičnima centroma kamer je bila 123 cm; Schneider-Kreuznach leče CINEGON 10mm/1,9F z IR filtrom (780 nm); kalibracijsko območje: 342 × 333 točk; kalibracijski vzorec: 6 × 8 črno/belih kvadratov; kalibracijska metoda [7]; rekonstrukcijska metoda [2]. Rekonstrukcija je bila izvedena naknadno, stereo kore- spondenca ni bila problematična, zaradi preproste ge- ometrije matrike diod IR-LED. Pri dinamičnem 3D-testu smo uporabili industrijskega robota ABB IRB 140. Kalibrirani stereo video sistem je bil postavljen približno 2 m od robota in kalibriran na zgoraj opisan način. Zapestje robota se je premikalo prek oglišč navideznega trikotnika z dolžino stranice pri- bližno 12 cm. Slike smo zajemali med premikanjem rob- ota prek oglišč s približno hitrostjo 500 mm/s. Rela- tivne razdalje rekonstruiranega trikotnika smo primerjali s stranicami trikotnika, dobljenimi in rekonstruiranimi v statičnih razmerah. Robotova izvorna ponovljivost je 0,03 mm, njegova linearna točnost pa 0,01 mm. 4 Rezultati 4.1 Testiranje natančnosti 2D Podani so rezultati testiranja, kjer smo upoštevali tako bi- narne kakor tudi sivinske centroide. Za vsak premik sta predstavljena dva grafa. Podana je razlika v točkah med začetno sliko in za- porednimi slikami (na zaporednih položajih). Pri tem je za vsak položaj izračunan povprečen zamik vseh desetih markerjev (diod IR-LED), pri čemer je položaj vsakega izračunan kot povprečen položaj v sekvenci 16 slik, za- jetih v statičnem načinu v vsakem položaju. Črte v grafih bi bile v idealnem primeru popolnoma ravne. Rezultati premikov 0,01 mm, 0,1 mm in 1 mm za 2D- test so predstavljeni na sliki 2. Slika 3 predstavlja normalizirane razlike pri korakih premikanja za sivinske slike. Normalizacija je izvedena tako, da razliko točk v dveh sosednjih položajih delimo s širino celotnega intervala. Črtkana črta predstavlja idealni odziv. Nad izmerjenimi podatki je bil uporabljen linearni regresijski model in izračunana vrednost kvadrata Pear- sonovega produkta R2 (enačba 1) za določitev kakovosti ujemanja. Rezultati so predstavljeni v tabeli 1 za 2D- teste in v tabeli 3 za 3D-teste. Vrednost R2 lahko in- terpretiramo tudi kot razmerje variance niza meritev y glede na varianco niza pravih vrednosti x (glej enačbo 1) izračunano iz vseh meritev (N ); kjer vrednost 1 pomeni popolno ujemanje, nižje vrednosti pa nakazujejo določeno odstopanje. R 2 =   ∑ N i=1 (x − x)(y − y) √ ∑ N i=1 (x − x)2 ∑ N i=1 (y − y)2   2 (1) premik standardna R2 (mm) deviacija (mm) binarno sivine binarno sivine 0,01 0,045 0,027 0,4286 0,9825 0,1 0,090 0,042 0,8727 0,9937 1 0,152 0,069 0,9971 0,9999 Tabela 1. Primerjava standardnih deviacij in R2 vrednosti za različne velikosti premikov v 2D Table 1. Comparison of standard deviations and R2 values for different moving increments in 2D Upoštevaje empirično določen prag 0,994 za R2 in podatke v tabeli 1, lahko sklepamo, da je mogoče zaz- nati premike premikajočega objekta v razponu 0,1 mm - 1 mm, kar ovrednotimo z velikostnim razredom 1/5 točke. Ocena je uporabna za hitro določanje natančnosti sorod- nih sistemov vida. Vrednost praga je določena tako, da zagotavlja zadovoljivo dober približek linearnega regre- sijskega modela in obenem zagotavlja uporabne rezultate meritev. Dinamični 2D-test kaže razliko centrov markerjev (diod IR-LED) in velikost markerjev med statično in di- namično (linearno vodilo se premika s polno hitrostjo) za- jetimi slikami. Poleg zamika centrov so površine mark- erjev na dinamično zajetih slikah nekoliko večje kot na statično zajetih slikah. Tabela 2 predstavlja položaj centrov (X, Y) markerjev ter razlike v velikostih (širina, višina, površina) markerjev za statično in dinamično zajate slike. Glede na rezultate iz tabele 2 je natančnost pozicioni- ranja v smeri osi x dinamično zajetih slik v primerjavi 28 Torkar, Papa Slika 2. Razlike v točkah za premike 0,01 mm (zgoraj), 0,1 mm (sredina) in 1 mm (spodaj) Figure 2. Pixel difference for 0.01 mm (top), 0.1 mm (middle), and 1 mm (bottom) increments X Y širina višina površina statično 484,445 437,992 6 6 27 dinamično 484,724 437,640 7 6 32 Tabela 2. Primerjava slik zajetih v statičnem in dinamičnem načinu (vse mere so v slikovnih elementih) Table 2. Comparison of the images grabbed in a static and dynamic mode (all measurements are in pixels) s statično zajetimi približno 1/3 točke. To je posled- ica zamika centra markerja med premikanjem linearnega vodila. 4.2 Testiranje natančnosti 3D Statično relativno natančnost 3D-rekonstrukcije smo te- stirali s premikanjem matrike diod IR-LED na linearnem vodilu. Pri testu smo uporabili dve kalibrirani kameri Photonfocus, usmerjeni na matriko diod IR-LED. Ma- triko smo natančno premikali s serijami različnih korakov (0,01 mm, 0,1 mm in 1 mm). Za vseh 10 diod smo v zajetih slikah določili masni center v vsakem položaju. Nato smo izračunali relativno 3D-pot in jo primerjali z dejansko potjo linearnega vodila. Zaradi boljših rezulta- tov pri statičnem 2D-testu (slika 3 in tabela 1) smo tokrat upoštevali samo sivinske slike. Premiki za 0,01 mm, 0,1 mm in 1 mm so predstavljeni na sliki 4. Natančnost v 3D- je nižja kakor v 2D-primeru zaradi kalibracijskih in rekonstrukcijskih napak. Glede na dobljene rezultate (tabela 3) je 3D-natančnost približno 1/2 točke. Ocena natančnosti sistema robotskega vida 29 Slika 3. Normalizirane razlike za sivinske slike za vsak položaj pri vsakem koraku premika Figure 3. Normalized differences of grey-level images for each position comparing different increments Slika 4. Razlika točk pri 3D-rekonstrukciji Figure 4. Pixel difference in the 3D reconstruction premik standardna R2 (mm) deviacija (mm) 0,01 0,058 0,7806 0,1 0,111 0,9315 1 0,140 0,9974 Tabela 3. Primerjava standardnih deviacij in R2 vrednosti za različne velikosti premikov v 3D Table 3. Comparison of standard deviations and R2 values for different moving increments in 3D Tabela 4 predstavlja rezultate dinamičnega 3D-testa, kjer smo primerjali stranice a, b in c trikotnika, rekon- struiranega iz dinamično zajetih in statično zajetih slik. Primerjali smo 10 trikotnikov, dobljenih z vsako izmed diod v matriki. V tabeli so navedene povprečne dolžine stranic in njihova standardna deviacija. Opazili smo precejšnjo standardno deviacijo pri dolžinah stranic trikotnika, kar smo pripisali popačenju leč, saj je skoraj enaka pri statičnem ali dinamičnem načinu zajema slik. Rekonstrukcija slik v dinamičnem načinu samo malenkostno odstopa od slik, zajetih in rekostruiranih v statičnem načinu. a σ b σ c σ statično 193,04 12,46 89,23 2,77 167,84 12,18 dinamično 193,51 12,43 89,03 2,77 167,52 12,03 Tabela 4. Primerjava statično in dinamično zajetih trikotnikov (vse mere so v mm) Table 4. Comparison of static and dynamic triangles (all measurements are in mm) 5 Sklep Ocenili smo 2D- in 3D-natančnost sistema robotskega vida, sestavljenega iz dveh enakih kamer z ločljivostjo 1 milijon točk. Meritve so pokazale, da je statična 2D natančnost (brez dodatnega subtočkovnega procesiranja) in kompenzacije napak leč približno enaka 1/5 slikovnega elementa, ki pa se zmanjša na 1/2 slikovnega elementa, če so pozicije rekonstruirane v 3D. V dinamičnem primeru je analiza pokazala, da ne pride do dodatnih napak glede na statični primer, če se markerji gibljejo v 2D ali v 3D prostoru. Tako ostaja natančnost za hitrosti, ki jih ponavadi dosegajo industri- jski roboti, enaka kot pri statični analizi. 6 Zahvala Delo je bilo izvedeno v okviru projekta Arflex (IST- NMP2-016680) iz 6. OP, ki ga je sofinancirala Evropska komisija. 7 Literatura [1] Arflex European FP6 project official home page: http://www.arflexproject.eu [2] O. Faugeras, Three-Dimensional Computer Vision: A ge- ometric Viewpoint, The MIT Press, 1992. [3] S. Hutchinson, G. Hager, P.I. Corke, A tutorial on visual servo control, Yale University Technical Report, RR-1068, 1995. [4] G. Papa, D. Torkar, Investigation of LEDs with good re- peatability for robotic active marker systems, Jožef Stefan Institute technical report, No. 9368, 2006. [5] D. Robson, Robots with eyes, Imaging and machine vision-Europe, Vol. 17, 2006, pp. 30-31. [6] A. Ruf, R. Horaud, Visual servoing of robot manipulators, Part I: Projective kinematics, INRIA technical report, No. 3670, 1999. [7] Z. Zhang, A flexible new Technique for Camera Calibra- tion, Technical report, MSRTR-98-71, 1998. [8] N. Zuech, Understanding and applying machine vision, Marcel Dekker Inc., 2000. Drago Torkar je raziskovalec na Institutu “Jožef Stefan”. Uk- varja se z raziskavami vizualnega vodenja robotov, modeliran- jem industrijskih procesov z nevronskimi mrežami in s problemi strojnega vida. Njegovi rezultati so objavljeni v zbornikih med- narodnih konferenc in mednarodnih revijah. Gregor Papa je raziskovalec na Institutu “Jožef Stefan”. Raziskuje in deluje na področjih optimizacijskih tehnik, meta- hevrističnih algoritmov, visokonivojske sinteze digitalnih vezij, strojnih implementacij kompleksnih algoritmov in izboljšav in- dustrijskih izdelkov. Njegova znanstvena dela so objavljena v zbornikih mednarodnih konferenc, mednarodnih revijah in knji- gah.