Ocena natančnosti sistema robotskega vida Drago Torkar, Gregor Papa Odsek za računalniške sisteme, Institut "Jožef Stefan ", Jamova c. 39, 1000 Ljubljana, Slovenija E-počta: drago.torkar@ijs.si, gregor.papa@ijs.si Povzetek. Umerjeno povratnozančno vodenje industrijskih robotov v trirazsežnem(3D) prostoru še ni popolnoma zaživelo v industrijskih aplikacijah. Za to obstaja več razlogov, med katerimi posebej omenjamo nepoznavanje in zato nezaupanje v tehnoloske zmoznosti vizualnih sistemov vodenja. Natančnost in ponovljivost sta pomembna parametra pri nacšrtovanju vsakega dela z robotom, zato v tem cšlanku predlagamo postopek za dolocšitev natančnosti sistema robotskega stereovida v dvo- in trirazseznem prostoru in predstavimo rezultate. Ključne besede: vodenje robotov, umerjeno povratnozancno vodenje Robot Vision Accuracy Estimation Extended abstract. In the paper we describe a procedure for the accuracy estimation in a 2D and a 3D environment of a calibrated robot stereo vision system consisting of two identical 1 Megapixel cameras and present results of the evaluation. Within the static 2D test, the IR-LED array was moved by a linear drive perpendicular to the camera optical axes and the increments in the image were measured. The purpose was to detect the smallest linear response in the image (see Figure 2). The IR-LED centroids were determined in two ways: on binary images and on grey-level images as centers of mass. During image grabbing, the array did not move thus eliminating any dynamic effects. We averaged the movement of centroids of 10 iR-LEDs in a sequence of 16 images and calculated the standard deviation to obtain accuracy confidence intervals (Table 1 and Figure 3). The dynamic 2D test revealed the shape distorsions in the images due to fast 2D movements of linear drive. We compared a few images of the IR-LED array taken during movement to the statically obtained ones which provided information of photocenter displacements and an estimation of the dynamic error (Table 2). The static 3D accuracy evaluation was performed with two fully calibrated cameras in a stereo setup. Using a linear drive, the array of IR-LEDs was moved along the line in a 3D space with different increments and the smallest movement producing a linear response in the reconstructed 3D space was sought (Table 3 and Figure 4). In the 3D dynamic test, we attached the IR-LED array to the wrist of an industrial robot. We dynamically guided it through some predefined points in space and simultaneously recorded the trajectory with fully calibrated stereo cameras. Then, we compared the reconstructed 3D points from images to the predefined points fed to the robot controller (Table 4). The obtained results show the accuracy 1/5 of a pixel in static 2D and 1/3 of a pixel in dynamic 2D conditions. In 3D, both the static and dynamic accuracy drop to 1/2 of a pixel. Key words: Robot control, Calibrated visual servoing. 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 mehanskih sposobnosti robotov. Za dosego mikrometrske pozi-čionirne natančšnosti je bila povečšana togost robotske roke, zmanjšana zračnost zglobov in uporabljeni pre-čizni pogoni, kar pa je pogosto vodilo do načšrtovalskih kompromisov, kot na primer zahteva za povečšanje togosti in zmanjšanje vztrajnosti. To je privedlo do pri-blizevanja robu mehanskih zmoznosti, naraščanju čene in zmanjšanju trzne kompetitivnosti robotskih sistemov [1]. V zadnjem čšasu je opaziti povečšane napore izdelo-valčev industrijskih robotskih sistemov za integračijo različnih senzorjev v sam sistem, kar zagotavlja povečanje natančnosti, fleksibilnosti in prilagodljivosti. Strojni vid je še vedno eden najperspektivnejsih senzorjev [6] za uporabo v 3D povratnozančšnem vodenju realnih industrijskih robotov [3]. To področje je bilo v raziskovalnem pogledu zadnji dve desetletji zelo aktivno, vendar sšele zdaj dozivlja prve praktične uporabne učinke v industriji [5] v nasprotju s strojnim vidom samim, kije postal dobro razvita industrija v zadnjih letih [8]. Za to je več razlogov. Sistem robotskega vida mora zadostiti nekaterim zahtevam, 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 veliko večjo ločljivost senzorjev, ki hitro preseze tehnološke in čenovne zmoznosti. Na primer, kamere z ločljivostjo 4 milijonov točk so danes v serijski proizvodnji, vendar si jih v sštevilnih robotskih aplikačijah ne morejo privosščšiti, Slika 1. Testno okolje Figure 1. Test environment saj cena sistema vida, ki vključuje take kamere, že skoraj doseže ceno robota. Dinamika industrijskih procesov zahteva kamere ž visoko hitrostjo generiranja slik, kar pa v povezavi ž zahtevo po obdelavi slik v realnem času pomeni dodatno omejitev pri integraciji sistema. Naslednji velik problem je spremenljiva osvetlitev v nestruk-turiranem industrijskem okolju, ki lahko mocno oteži obdelavo slike. Pri nacrtovanju sistema vida ža uporabo v robotski aplikaciji je posebej pomembno, da ižberemo optimalno opremo, ki bo žagotavljaja maksimalen ucinek posamežnih komponent. V tem clanku predstavljamo postopek ža dolocanje natancnosti umerjenega sistema stereovida v dvo- in triražsežnem prostoru. Tak sistem je mogoce uporabiti ža vižualno povratnožancno vodenje ža natancno požicioniranje centra robotskega orodja (TCP). 2 Metodologija Ižvedli smo štiri nacine testiranja natancnosti: staticni 2D-test, dinamicni 2D-test, staticni 3D-test in dinamicni 3D-test. Pri vseh testih smo uporabili matriko desetih in-frardecih diod LED (IR-LED), s cimer smo želeli preveriti primernost teh diod ža ožnacevanje in ža kalibracijski vžorec pri robotskih vižualnih povratnožancšnih aplikacijah. Pri staticnem 2D-testu smo matriko IR-LED premikali ž linearnin pogonskim vodilom pravokotno na opticšno os kamere in merili premike na žajeti sliki. Namen tega je bil poiskati najmanjši linearni odživ na sliki. Centroidi IR-LED so bili dolocšeni na dva nacšina: na binarni sliki in na sivinski sliki kot masno središce. Med žajemom slike se matrika IR-LED ni premikala, s cšimer smo ižnicšili morebitne napake, ki nastanejo žaradi premikanja med žajemanjem. Povprecili smo premike centroidov desetih IR-LED diod v sekvenci 16 slik in ižracunali standardno deviacijo, ki doloca interval žaupanja. Pri dinamicnem 2D-testu smo preverjali popacenje oblik na slikah žaradi hitrih 2D-premikov linearnega gonila, na katerem je bila pritjena matrika diod IR-LED. Primerjali smo slike diod IR-LED, žajete med premikanjem, s staticno žajetimi. Tako smo ocenili premike foto-centrov ter dinamicno napako. 3D-test smo ižvedli ž dvema kalibriranima kamerama v nacinu stereo. Z uporabo linearnega gonila smo premikali matriko diod IR-LED v 3D-prostoru ž ražlicnimi velikostmi premikov. Iskali smo najmanjši premik, ki bi predstavljal linearni odživ in bi ga lahko uporabljali ža 3D-rekonstrukcijo. Pri dinamicnem 3D-testu smo namestili matriko diod IR-LED na žapestje industrijskega robota. Robota smo nato vodili prek vnaprej definiranih prostorskih tock ter posneli njegovo trajektorijo s stereo kamerama. Rekonstruirane 3D-tocke smo primerjali ž definiranimi tockami v robotskem krmilniku. 3 Testno okolje Testno okolje (slika 1) sestavljajo: • kamera PhotonFocus MV-D1024-80-CL-8 s sen-žorjem CMOS in frekvenco žajemanja 75 slik na sekundo (fps) pri polni resoluciji (1024 x 1024 tock), • žajemalnik slik Active Silicon Phoenix-DIG48 PCI, • matrika diod IR-LED (standardna deviacija natančnosti diod IR-LED je pod 0,007 tocke [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 seje matrika diod IR-LED premikala 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 cmx220 cm, kar pomeni, daje bila velikost tocke 2,148 mm; SchneiderKreuznach lece CINEGON 10mm/1,9F z IR filtrom (780 nm); odprtost zaslonke je bila 10,73 ms, cas za eno sliko pa 24,04 ms (oboje doloceno eksperimentalno). Pri dinamicnem 2D-testu so bile razmere enake kot pri staticnem testu, le da seje linearno vodilo z matriko diod IR-LED premikalo s hitrostjo 460 mm/s, cas odprtosti zaslonke pa je bil 1 ms. Pri staticnem testu rekonstrukcije 3D sta bili razdalji leve in desne kamere do matrike diod IR-LED 205 cm; razdalja med opticnima centroma kamer je bila 123 cm; Schneider-Kreuznach lece CINEGON 10mm/1,9F z IR filtrom (780 nm); kalibracijsko obmocje: 342 x 333 tock; kalibracijski vzorec: 6 x 8 crno/belih kvadratov; kalibracijska metoda [7]; rekonstrukcijska metoda [2]. Rekonstrukcija je bila izvedena naknadno, stereo korespondenca ni bila problematicna, zaradi preproste geometrije matrike diod IR-LED. Pri dinamicnem 3D-testu smo uporabili industrijskega robota ABB IRB 140. Kalibrirani stereo video sistem je bil postavljen priblizno 2 m od robota in kalibriran na zgoraj opisan nacin. Zapestje robota seje premikalo prek oglišc navideznega trikotnika z dolzino stranice priblizno 12 cm. Slike smo zajemali med premikanjem robota prek oglišc s priblizno hitrostjo 500 mm/s. Relativne razdalje rekonstruiranega trikotnika smo primerjali s stranicami trikotnika, dobljenimi in rekonstruiranimi v staticnih razmerah. Robotova izvorna ponovljivost je 0,03 mm, njegova linearna tocšnost pa 0,01 mm. 4 Rezultati 4.1 Testiranj e natančnosti 2 D Podani so rezultati testiranja, kjer smo upoštevali tako binarne kakor tudi sivinske centroide. Za vsak premik sta predstavljena dva grafa. Podana je razlika v tocškah med zacšetno sliko in zaporednimi slikami (na zaporednih polozajih). Pri tem je za vsak polozaj izracunan povprecen zamik vseh desetih markerjev (diod IR-LED), pri cemer je polozaj vsakega izracunan kot povprecen polozaj v sekvenci 16 slik, zajetih v staticnem nacinu v vsakem polozaju. Crte 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 tock v dveh sosednjih polozajih delimo s širino celotnega intervala. (Črtkana crta 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 interpretiramo tudi kot razmerje variance niza meritev y glede na varianco niza pravih vrednosti x (glej enacbo 1) izracunano iz vseh meritev (N); kjer vrednost 1 pomeni popolno ujemanje, nizje vrednosti pa nakazujejo doloceno odstopanje. R2 N (x — x)(y — y) (x — x)2E N (1) (y — y)2 premik standardna R 2 (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 razlicne velikosti premikov v 2D Table 1. Comparison of standard deviations and R2 values for different moving increments in 2D Upoštevaje empiricno dolocen prag 0,994 za R2 in podatke v tabeli 1, lahko sklepamo, daje mogoce zaznati premike premikajocšega objekta v razponu 0,1 mm -1 mm, kar ovrednotimo z velikostnim razredom 1/5 tocke. Ocena je uporabna za hitro dolocanje natancnosti sorodnih sistemov vida. Vrednost praga je dolocena tako, da zagotavlja zadovoljivo dober priblizšek linearnega regre-sijskega modela in obenem zagotavlja uporabne rezultate meritev. Dinamicni 2D-test kaze razliko centrov markerjev (diod IR-LED) in velikost markerjev med staticno in di-namicšno (linearno vodilo se premika s polno hitrostjo) zajetimi slikami. Poleg zamika centrov so povrsšine mark-erjev na dinamicno zajetih slikah nekoliko vecje kot na staticšno zajetih slikah. Tabela 2 predstavlja polozaj centrov (X, Y) markerjev ter razlike v velikostih (širina, višina, površina) markerjev za staticno in dinamicno zajate slike. Glede na rezultate iz tabele 2 je natancnost pozicioni-ranja v smeri osi x dinamicno zajetih slik v primerjavi 2 i i razlika [točka] razlika [točka] razlika [točka] 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 staticno 484,445 437,992 6 6 27 dinamicno 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 staticno zajetimi priblizno 1/3 tocke. To je posledica zamika centra markerja med premikanjem linearnega vodila. 4.2 Testiranje natančnosti 3D Staticno relativno natancnost 3D-rekonstrukcije smo testirali s premikanjem matrike diod IR-LED na linearnem vodilu. Pri testu smo uporabili dve kalibrirani kameri Photonfocus, usmerjeni na matriko diod IR-LED. Matriko smo natancno premikali s serijami razlicnih 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 rezultatov pri statičnem 2D-testu (slika 3 in tabela 1) smo tokrat upostevali samo sivinske slike. Premiki za 0,01 mm, 0,1 mm in 1 mm so predstavljeni na sliki 4. Natančnost v 3D- je nizja kakor v 2D-primeru zaradi kalibracijskih in rekonstrukcijskih napak. Glede na dobljene rezultate (tabela 3) je 3D-natančšnost priblizšno 1/2 točke. 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 normalizirana razlika Slika 4. Razlika tock 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 struiranega iž dinamicno žajetih in staticno žajetih slik. Primerjali smo 10 trikotnikov, dobljenih ž vsako ižmed diod v matriki. V tabeli so navedene povprecšne dolžšine stranic in njihova standardna deviacija. Opažili smo precejšnjo standardno deviacijo pri dolžinah stranic trikotnika, kar smo pripisali popacenju lec, saj je skoraj enaka pri staticnem ali dinamicnem nacšinu žajema slik. Rekonstrukcija slik v dinamicšnem nacinu samo malenkostno odstopa od slik, žajetih in rekostruiranih v staticšnem nacšinu. Tabela 4 predstavlja režultate dinamicšnega 3D-testa, kjer smo primerjali stranice a, b in c trikotnika, rekon- 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) a a b a c a statično 193,04 12,46 89,23 2,77 167,84 12,18 dinamicno 193,51 12,43 89,03 2,77 167,52 12,03 5 Sklep Ocenili smo 2D- in 3D-natancnost sistema robotskega vida, sestavljenega iz dveh enakih kamer z ločljivostjo 1 milijon tock. Meritve so pokazale, da je staticna 2D natancnost (brez dodatnega subtockovnega procesiranja) in kompenzacije napak lec priblizno enaka 1/5 slikovnega elementa, ki pa se zmanjša na 1/2 slikovnega elementa, ce so pozicije rekonstruirane v 3D. V dinamicnem primeru je analiza pokazala, da ne pride do dodatnih napak glede na staticni primer, ce se markerji gibljejo v 2D ali v 3D prostoru. Tako ostaja natancnost za hitrosti, kijih ponavadi dosegajo industrijski roboti, enaka kot pri staticšni analizi. 6 Zahvala Delo je bilo izvedeno v okviru projekta Arflex (IST-NMP2-016680) iz 6. OP, ki gaje 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 geometric 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 repeatability 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 Calibration, Technical report, MSRTR-98-71, 1998. Drago Torkar je raziskovaleč na Institutu "Jozef Stefan". Ukvarja se z raziskavami vizualnega vodenja robotov, modeliranjem industrijskih pročesov z nevronskimi mrezšami in s problemi strojnega vida. Njegovi rezultati so objavljeni v zbornikih mednarodnih konferenč in mednarodnih revijah. Gregor Papa je raziskovaleč na Institutu "Jozef Stefan". Raziskuje in deluje na področjih optimizačijskih tehnik, meta-hevrističšnih algoritmov, visokonivojske sinteze digitalnih vezij, strojnih implementačij kompleksnih algoritmov in izboljsšav industrijskih izdelkov. Njegova znanstvena dela so objavljena v zbornikih mednarodnih konferenč, mednarodnih revijah in knjigah. [8] N. Zuech, Understanding and applying machine vision, Marcel Dekker Inc., 2000.