Ventil 1 / 2018 • Letnik 24 1 Uvod Strojni vid in robotska manipulacija, združena v eno- vito razvojno okolje, predstavljata v industriji standar- dno rešitev. Proizvajalci robotskih sistemov praviloma poskrbijo za uporabniku prijazno nizko- in visoko- nivojsko integracijo, ki v enovitem razvojnem okolju omogoča hitro kalibriranje, programiranje in nasta- vljanje ter preprosto uporabo. Po drugi strani zdru- ževanje nekompatibilnih komponent za manipulacijo in vid zahteva izvedbo integracije po računskem po- stopku, ki sledi neposredno iz geometrijskega opisa problema [1]. Glavni poudarek pri robotskem vidu je na razpoznavanju leg objektov ali vzorcev v prosto- ru [2]; bistvena je umeščenost slikovnega področja v delovno območje robotskega manipulatorja. Kamero kalibriramo glede na robot, kar pomeni podati v ma- tematičnem zapisu odgovor na vprašanje, kje leži in kakšno je slikovno področje kamere glede na mani- pulator. Omenimo, da kljub pospešenemu razvoju in prodoru 3D-vida v kontekstu avtomatizacije prevla- dujejo planarni problemi, torej razpoznavanje objek- tov na znani ravnini in višini, čeprav temu velikokrat sledi robotska manipulacija v urejena stanja v vseh prostostnih stopnjah. 2 Geometrijski opis Vsaki komponenti v sistemu pripnemo lasten koordi- natni sistem, ki je vedno fiksen glede na objekt. Med- sebojna lega objektov je enaka medsebojni legi nji- hovih koordinatnih sistemov. Koordinatne sisteme v sistemu s fiksno stacionarno kamero postavimo, kot kaže slika 1. Prikazan je 4-osni SCARA mehanizem, vendar bi splošni opis z zamenjavo robotske kinema- tike ostal nespremenjen. Referenčni koordinatni sistem REF je fiksno posta- vljen poljubno v prostoru. Matematični zapis nekoliko skrajšamo, če ga postavimo v koordinatno izhodišče baze robota. Robotsko orodje označimo s sistemom GRIP, ki predstavlja vrh kinematične verige robot- ske roke, lego objekta pa s sistemom OBJ. Fizična lega kamere za kalibracijo ni bistvena; pomembna Slika 1 : Postavitev koordinatnih sistemov Izvleček: Industrijski strojni vid je v avtomatizaciji standardno orodje. Proizvajalci in ponudniki robotske manipulacije ponujajo svoje rešitve, ki so integrirane v njihova lastna razvojna okolja. Take sisteme je zaradi visoke stopnje integracije preprosto kalibrirati, uporabljati in nastavljati. Združevanje komponent različnih proizvajalcev v de- lujoč sistem po meri pa zahteva izvedbo kalibracije po računskem postopku, ki je odvisen od konfiguracije kamere in robota. Prikazali bomo kalibracijo stacionarne kamere, vzporedne z delovno ravnino robotskega manipulatorja in odjem a) s pomočjo inverzne homogene transformacije ter b) kalibracijo s psevdoinverzno matriko. Ključne besede: strojni vid, robotska manipulacija, kalibracija, stacionarna kamera 56 kalibracija Stacionarne kamere pri robotSki manipulaciji Tomaž Koritnik, Darko Koritnik ROBOTIKA Dr. Tomaž Koritnik, univ. dipl. inž., Darko Koritnik, univ. dipl. inž., oba DAX, d. o. o., Trbovlje Ventil 1 / 2018 • Letnik 24 je lega slikovnega območjaa, zato sistem kamere CAM postavimo v koordinatno izhodišče slikovne- ga območja. Vsi koordinatni sistemi so desnosučni in v enakih enotah (mm), razen koordinatni sistem slike nekalibriranega slikovnega območja, ki ima za enoto slikovni element in po konvenciji izhodišče v zgornjem levem kotu slike. Označimo ga s PIC. Za opis medsebojne lege koordinatnih sistemov bomo uporabili homogene transformacije [3]. V prikaza- nem primeru imajo vse matrike enako obliko (1), ki je nekoliko poenostavljena glede na splošno, saj so osi z vseh koordinatnih sistemov vzporedne in je torej za opis vseh medsebojnih rotacij dovolj samo en kot α okrog osi z. Medsebojne lege koordinatnih sistemov v homoge- nem zapisu so izražene kot multiplikacija homogenih transformacij: Če je kamera kalibrirana, lahko izrazimo lego objekta tudi v referenčnem koordinatnem sistemu robota: Dana postavitev omogoča poenostavitvi:  Izmed vseh leg orodja GRIP nas zanima le tista, ko orodje prime želeni objekt OBJ; takrat sta legi GRIP in OBJ poravnani (istoležna sistema) in transformacija med njima dobi obliko enotske matrike.  Razlika med sistemoma CAM in PIC je vedno le v predznaku (j→-y) ter v faktorju skaliranja med slikovnimi elementi in milimetri, ki ga enostavno izračunamo samo enkrat (npr. z meritvijo znane milimetrske dimenzije objekta v slikovnih elemen- tih), zato lego objekta glede na kamero vedno iz- ražamo direktno v sistemu CAM. Z upoštevanjem poenostavitev se enačba (3) skrči v: 3 Kalibracija z inverzno homogeno transformacijo Objekt postavimo na poljubno mesto v vidno polje kamere. To storimo z robotom, da lahko neposredno odčitamo lego vrha robota v trenutku, ko ta odloži objekt, in dobimo REFHobj. To omogoča vsak upo- rabniški vmesnik za vodenje robotov. V splošnem dobimo 3 koordinate za pozicijo ter 3 za rotacijo. V prikazanem primeru zadoščajo 3 koordinate pozicije in en kot rotacije okrog osi z. Nato robot umaknemo iz vidnega polja kamere in lego odloženega objekta zajamemo s kamero ter tako dobimo CAMHobj. Zdaj sta znani 2 od treh matrik iz enačbe (4) in REFHcam izrazimo kot: To je matematični odgovor na vprašanje, kje leži slikov- no območje kamere glede na robot. Vprašanju, kakšno je to območje, pa je zadoščeno s podatkom o skali- ranju med slikovnimi elementi in milimetri, ki je nepo- sredno odvisen od goriščne razdalje uporabljenega objektiva in oddaljenosti od delovne ravnine. Rešitev sistema na ta način je natanko determinirana, kar po- meni, da vsebuje le natanko toliko informacije, kot je nujno potrebno za rešitev. Ker ni redundance, ne vemo, kako točna in natančna je dobljena rešitev. Potrebno je torej pozorno in natančno pozicioniranje robota in objekta ter zanesljiv algoritem za določitev lege objek- ta glede na kamero. Velikost pogreškov se opazi šele ob uporabi rešitve, ko dobljeno matriko uporabimo v obratni smeri za preračun lege objekta OBJ iz sistema CAM v sistem REF in opazujemo pogreške robota gle- de na dejansko lego objektov. Zaradi tega ta preprosta pot do rešitve ni najbolj praktično uporabna. 4 Kalibracija s psevdoinverzno matriko Poizkušamo najti sistem, ki bo poleg rešitve vseboval tudi redundantno informacijo o tem, kako dobra je dobljena rešitev. Kamero opišemo z vektorskim mo- delom (slika 2), preslikavo med koordinatami kamere in točko v prostoru pa v matrični obliki [4]: 57 ROBOTIKA Slika 2 : Vektorski model kamere (1) (2) (3) (4) (5) Ventil 1 / 2018 • Letnik 24 Matrično enačbo zapišemo kot sistem, izrazimo ter vstavimo konstanto w''' in dobimo: Sistem zopet zapišemo v matrični obliki: Zaradi homogenosti privzamemo, da je element S33 = 1, ali pa vsakega od ostalih elementov skaliramo z de- ljenjem z S33, kar na sistem enačb nima vpliva. Sistem enačb (8) je zapisan v obliki in je predeter- miniran, zato rešitev za x poiščemo s psevdoinverzno matriko je psevdoinverzna ali Moore-Penros(ova) in- verzna matrika [4] matrike A in vrne rešitev parametrov po kriteriju najmanjših kvadratov za sistem (8). Pri reši- tvi sistema na opisan način lahko uporabimo več točk, kot je minimalno potrebno, in na ta način povečamo verjetnost, da bo kalibracija natančnejša. Pozicije točk v referenčnem in koordinatnem sistemu kamere dobimo podobno kot pri metodi z inverzno transformacijo. 5 Zaključek Integracija strojnega vida v robotsko manipulacijo zah- teva adekvaten geometrijski opis in rešitev. Izkaže se, da zadostuje razširitev geometrijskega problema direktne kinematike mehanizmov z rabo homogenih transfor- macij. Vse potrebne podatke za rešitev lahko pridobi- mo neposredno iz dejanskih fizičnih pozicij komponent sistema, pri čemer robotsko roko uporabimo kot meril- nik pozicij. Morebitno kodiranje podatkov ali drugačno omejevanje dostopa proizvajalcev na tem osnovnem nivoju ni ovira. Od prikazanih načinov za kalibracijo ka- mere je praktično uporaben način s psevdoinverzno matriko, ki poleg kalibracije ob zadostnem številu točk ponuja tudi dobro oceno o natančnosti kalibracije. Z ve- čanjem števila točk kvaliteta kalibracije narašča, vendar le do neke meje, saj vektorski model kamere zgolj pribli- žno opisuje realnost. Ob prodoru kamer z visoko ločlji- vostjo to v praksi skupaj s pozicijsko ponovljivostjo ro- botskih orodij postaja realen problem, ki ga omilita bolj podroben model popačenja leče ter uporaba objekti- vov z manjšimi tolerancami, ki so posebej namenjeni za kamere z visoko ločljivostjo. Kalibracija fiksne stacionar- ne kamere je veljavna, dokler se ne spremeni njena lega. Podatke o kalibraciji pa lahko uporabimo tudi v obratni smeri – za kalibracijo manipulatorja ob morebitni na- domestitvi ali okvari robotske roke. Ker vemo, kakšna je (oz. naj bi bila) lega koordinatnega sistema kamere glede na robot, lahko rešitev enačbe (4) uporabimo za kalibracijo sklepov manipulatorja na način, da se odčita- na lega vrha robota ob poravnavi s kalibracijskim objek- tom ujema z izračunano lego preko kamere. V praksi je sicer vedno dobrodošla enostavnost uporabe in možnosti hitrih sprememb sistema, ki jih omogoča visoka stopnja integracije posameznih komponent v enovitih sistemih. Po drugi strani pa je prednost, če imamo v tako konkurenčnem segmen- tu, kot je oprema za industrijsko avtomatizacijo, ve- čjo svobodo izbire in kombiniranja komponent, saj je malo verjetno, da prav en proizvajalec opreme ponu- ja najboljšo, najprimernejšo ali najugodnejšo rešitev za vse komponente sistema, še posebej, če potrebu- jemo specifične, ozko specializirane podsisteme. Literatura [1] Steger, C., et al.: Machine Vision Algorithms and Applications, John Wiley & Sons, 2017. [2] Horn, B. K. P.: Robot Vision, MIT Press, 1986. [3] Bajd, T.: Robotika, Založba FE in FRI, 2002. [4] Nagchaudhuri, A. Thint, M. Garg, D. P.: Camera- -Robot Transform for Vision-Guided Tracking in a Manufacturing Workcell, Journal of Intelligent and Robotic Systems, Vol. 5 (1992), str. 283–298. 58 ROBOTIKA (6) (7) (8) (9) Stationary Camera Calibration in Robotic Manipulation Abstract: Industrial machine vision in automation is a standard tool. Manufacturers of robotic manipulation equipment provide vision solutions which are integrated into their own proprietary software development environments. High level integration ensures that such systems are easy to calibrate, set and use. Enabling cross-vendor com- ponents to work together in custom built systems is achieved through a calibration procedure which is deter- mined by robot arm and camera configuration. Here we outline calibration procedures for a stationary camera fixed in parallel to the robot work plane by a) inverse homogeneous transform and b) pseudo-inverse matrix. Keywords: machine vision, robotic manipulation, calibration, stationary camera