ERK'2019, Portorož, 98-101 98 Kalibracija nizkocenovnega robotskega manipulatorja Luka ˇ Cehovin Zajc, Anže Rezelj, Danijel Skoˇ caj Univeza v Ljubljani, Fakulteta za raˇ cunalništvo in iformatiko, Veˇ cna pot 113, 1000 Ljubljana, Slovenija E-pošta:{luka.cehovin,anze.rezelj,danijel.skocaj}@fri.uni-lj.si Calibration of a low-cost robotic manipulator We present a method for an efficient calibration of a ge- ometric model of a robotic manipulator using a camera. The method is applied to a low-cost manipulator plat- form that we have built for educational purposes. Our experiments demonstrate that the proposed calibration method indeed improves the accuracy of the manipula- tors in tasks such as grasping of simple objects. 1 Uvod Z razvojem robotike in sorodnih inženirskih disciplin se veˇ ca zahteva po veˇ cji dostopnosti robotskih platform, ki bi omogoˇ cala širšo uporabo in bolj dosegljivo izobraže- vanje na tem podroˇ cju. Na žalost pa so industrijski roboti ter roboti primerljive kvalitete še vedno zelo dragi in kot taki veˇ cini nedostopni, kar otežuje množiˇ cno uporabo in pouˇ cevanje te tehnologije. V izogib uporabi simuliranih okoljih [1], ki ne omogo- ˇ cajo prave izkušnje in interakcije, so raziskovalci in ro- botski zanesenjaki poizkusili razviti dostopnejše rešitve [2, 3, 4, 5, 6, 7]. Se pa s padajoˇ co ceno tako izdelanih ro- botskih manipulatorjev praviloma niža tudi njihova kva- liteta. Industrijski robotski manipulatorji so zgrajeni iz veliko bolj kvalitetnih sestavnih delov, poleg tega so tudi namensko umerjeni z drago temu namenjeno opremo [8, 9, 10, 11, 12]. Nizkocenovni manipulatorji pa so obiˇ cajno zasnovani tako, da je proces izdelave dostopen in enosta- ven, kar omogoˇ ca širši množici ljudi sestavo takšnih ro- botov. To pa seveda izkljuˇ cuje uporabo dragih sestavnih delov in zapletenega procesa izdelave, vkljuˇ cno s kom- pleksnim umerjanjem robota, ki zahteva namensko kali- bracijsko opremo. V tem delu bomo predstavili pristop za avtomatsko kalibracijo nizkocenovnega robotskega manipulatorja, ki ne zahteva drage namenske kalibracijske opreme. Zahte- vani kalibracijski vzorec, ki ga namestimo na vrh robota, lahko natisnemo kar s 3D tiskalnikom. Predlagani posto- pek predpostavlja, da je robotski manipulator umešˇ cen v okolje oznaˇ ceno z vizualnimi oznakami, ki jih sistem de- tektira s kamero. Na ta naˇ cin lahko s pomoˇ cjo kamere izmeri lego kalibracijske predloge v delovnem prostoru. Za razliko od nekaterih pristopov, ki za kalibracijo zahte- vajo namestitev kamere na robota [13, 14], je predlagan pristop bolj primeren za uporabo na nizkocenovnih lahkih manipulatorjih, kjer bi bila takšna namestitev nerodna ali nemogoˇ ca. Predlagan postopek nato z minimizacijo od- stopanj pozicije kalibracijskega vzorca od pozicije izra- ˇ cunane z upoštevanjem geometrijskega modela robota in rotacij sklepov robota izraˇ cuna optimalne parametre ro- bota. Na ta naˇ cin lahko brez dodatne opreme na preprost in avtomatski naˇ cin umerimo robota in poveˇ camo natanˇ c- nost sistema. V nadaljevanju bomo v poglavju 2 najprej predstavili uporabljeno robotsko-senzorsko platformo, ki smo jo raz- vili za namene pouˇ cevanja robotike in raˇ cunalniškega za- znavanja in na kateri smo ovrednotili predstavljeno kali- bracijo. Sam postopek kalibracije je opisan v poglavju 3. Rezultati evalvacije so predstavljeni v poglavju 4, ˇ clanek pa bomo zakljuˇ cili s sklepnimi ugotovitvami ter smerni- cami za nadaljnje delo. 2 Robotsko-senzorska platforma Nizko-cenovna robotska platforma [15] je sestavljena iz robotskega manipulatorja, kamere in raˇ cunalnika na osnovi sistema Raspberry Pi, ki služi kot centralna toˇ cka med manipulatorjem, kamero in uporabnikom platforme. Shema platforme je prikazana na Sliki 1. Slika 1: Robotsko-senzorska platforma. 2.1 Robotski manipulator Naši cilji pri izdelavi robotskega manipulatorja so bile naslednje lastnosti: enostavnost izdelave, cenovna dosto- pnost, enostavnost in varnost uporabe ter dovoljšna ro- bustnost. Izdelava je bolj podrobno opisana v [16]. V osnovi gre za antropomorfni manipulator s petimi prosto- stnimi stopnjami. Sklepi so realizirani s servo motorji z namenskim krmilnim vezjem. Segmenti so natisnjeni s 99 3D tiskalnikom. Cena komponent takega manipulatorja je okrog 250e. 2.2 Geometrijski model Da lahko robotski manipulator uporabimo v naprednih naˇ cinih krmiljenja z inverzno kinematiko, je potrebno de- finirati njegov geometrijski model, ki nam pove, kje v prostoru se nahaja doloˇ cen sklep ob podanem stanju po- sameznih sklepov. Klasiˇ cen pristop pri opisu geometrij- skega modela je uporaba Denavih-Hartenbergerjevih (DH) parametrov [17]. Za posamezni sklepi so DH parametri dh i = (a i ;d i ; i ; i ); (1) kjer a i in d i definirata odmika po oseh x i in z i 1 , i in i pa definirata rotacijo okoli osi x i in z i 1 . Celo- ten geometrijski model je potem množica DH parametrov za posamezne sklepe, za naš manipulator je model torej DH = [ 5 i=1 dh i . Ker je eden od parametrov posame- znega sklepa spremenljiv, bomo stanje DH parametrov definirali z oznako DH(q), kjer q oznaˇ cuje vektor spre- menjivih parametrov. Shematiˇ cno je geometrijski model na podlagi DH parametrov prikazan na Sliki 2. Transfor- macijo lege vrha manipulatorja lahko doloˇ cimo kot pro- dukt transformacij posameznih sklepov, ki so odvisne od DH parametrov A 0 5 (DH(q)) = 5 Y i=1 A i 1 i (dh i (q i )); A i 1 i (dh i (q i )) =T zi 1 (d i )R zi 1 ( i )T xi (a i )R xi ( i ); (2) kjerT o (t) oznaˇ cuje homogeno transformacijo translacije vzdolž osio za razdaljot,R o (r) pa rotacijo okrog osio za kotr. Slika 2: Shematiˇ cen prikaz geometrijskega modela robota. Natanˇ cen geometrijski model je pomemben za plani- ranje premikov z inverzno kinematiko, predvsem za ope- racije, ki zahtevajo natanˇ cnost. V našem sistemu je pred- vsem pomembna povezava s podatki iz kamere, na primer z lokacijo zaznanih predmetov, ki jih mora manipulator prijeti. Zaradi nizke cene materialov in s tem omejene na- tanˇ cnosti pri konstrukciji se pri našem manipulatorju po- javljajo doloˇ cena odstopanja od geometrijskega modela, ki v praksi privedejo do slabe natanˇ cnosti. Ta odstopanja se lahko tudi razlikujejo od manipulatorja do manipula- torja. Cilj naše kalibracije je torej doloˇ citi popravke za DH parametre, ki so specifiˇ cni za posamezni manipula- tor, kar bomo v naslednjem poglavju oznaˇ cili z DH. 3 Metodologija kalibracije Pri zasnovi kalibracijskega postopka smo želeli, da je ce- loten proces ˇ cim bolj samodejen. Obenem postopek ne sme zahtevati posebne dodatne strojne opreme in se mora izvajati na raˇ cunalniku, ki se uporablja za krmiljenje plat- forme. Postopek je razdeljen na samodejni zajem meri- tev lege vrha manipulatorja ter minimizacijo funkcije na- pake. 3.1 Samodejen zajem meritev V prvem koraku zajamemo veˇ c meritev lege vrha mani- pulatorja, ki jo doloˇ cimo preko kamere z detekcijo ka- libracijske predloge pritrjene na manipulator. Kalibracij- ska predloga je natisnena s 3D tiskalnikom, na njej pa so z barvo pobarvane krogle s poznanim relativnim odmikom. Take krogle zaznamo z algoritmom raˇ cunalniškega vida ter njihove centre v sliki uporabimo pri izraˇ cunu lege pre- dloge v prostoru. Prilagojen manipulator za zajem meri- tev je prikazan na Sliki 3. Slika 3: Zajem meritev s kalibracijsko predlogo. Teoretiˇ cna lega vrha manipulatorja (1) je izraˇ cunana na podlagi geometrij- skega modela robota. Oranžne krogle so zaznane s kamero, na podlagi njihovega položaja v sliki in znane relativne lege je iz- raˇ cunana lega vrha manipulatorja v prostoru (2). S kalibracijsko predlogo lahko doloˇ cimo relativno lego predloge glede na kamero, ker pa sistem s pomoˇ cjo oznak na delovni površini pozna tudi lego kamere glede na izho- dišˇ ce robota, lahko izmerjeno lego vrha manipulatorja v njegovem delovnem prostoru (koordinatnem sistemu ro- bota) dobimo kot M =W 1 G; (3) kjerW oznaˇ cuje transformacijo iz koordinatnega sistema kamere v koordinatni sistem robota,G pa transformacijo iz koordinatnega sistema kamere v koordinatni sistem ka- libracijske predloge. Celoten postopek zajema poteka tako, da se manipu- lator premika v razliˇ cna stanja v katerih se poskusi do- loˇ citi lego njegovega vrha. To zaradi omejenega vidnega polja kamere in narave kalibracijske predloge ne bo mo- goˇ ce v vseh primerih ali pa meritev ne bo dovolj zane- sljiva, zato take slike zavržemo. Še vedno je postopek dovolj hiter, da dobimo približno 10 meritev na minuto. 100 3.2 Postopek optimizacije Naš poglavitni cilj je izboljšava pozicije vrha manipula- torja, zato je glavni ˇ clen v funkciji napake razdalja med napovedjo geometrijskega modela in izmerjeno pozicijo vrha robota. Zaradi izenaˇ cevalnega vpliva doloˇ cenih DH parametrov moramo v napako dodati tudi regularizacijski ˇ clen. Konˇ cna funkcija napake je torej L( DHjDH;Q;M) = 1 N N X j=1 l( DHjDH;q j ;M j ) + X d2 DH kdk; (4) kjerQ inM oznaˇ cujeta množici parov stanj manipula- torja q j in izmerjenih leg vrha manipulatorja M j , pa vpliv regularizacije. Razdalja za posamezno meritevj je definirana kot Evklidska razdalja med toˇ cko vrha mani- pulatorja glede na geometrijski model in meritvijo pozi- cije vrha robota glede na kamero l( DHjDH;q j ;M j ) = kA 0 5 (DH(q j ) + DH)u M j uk; (5) kjeru oznaˇ cuje vektor izhodiˇ ca [0; 0; 0; 1]. Optimizacijo smo implementirali z uporabo knjižnice za strojno uˇ cenje Tensorflow [18], ki je znana predvsem kot osnova za implementacijo umetnih nevronskih mrež, vendar lahko v njej rešujemo tudi druge optimizacijske probleme. Uporabili smo iterativni algoritem gradien- tnega spusta s stopnjo uˇ cenja 0:1. Parameter vpliva re- gularizacije je bil nastavljen na = 0:05. 4 Eksperimentalna analiza V eksperimentih smo uspešnost postopka kalibracije ovre- dnotili na dva naˇ cina. Najprej smo ovrednotili sam posto- pek optimizacije z zajemom novih testnih meritev z istim postopkom. V drugi fazi smo izboljšan geometrijski mo- del preizkusili še v praksi v scenariju premikanja kock. V analizi smo uporabili štiri manipulatorje, vsakega s svojo kamero (uporabili smo navadne spletne kamere). Vse ka- mere smo pred zaˇ cetkom skalibrirali s standardnim po- stopkom kalibracije. 4.1 Analiza kalibracije Za boljšo analizo postopka minimizacije funkcije napake smo za vsak manipulator zajeli dve množici s 500 meri- tvami lege vrha manipulatorja. Prva množica je uˇ cna, na podlagi nje smo izvedli optimizacijo. Druga množica je testna, uporabili smo jo za preverjanje smiselnosti izbra- nih popravkov DH parametrov. Na Sliki 4 je prikazana vrednost povpreˇ cne razdalje med meritvami in geometrijskim modelom za vse mani- pulatorje na uˇ cni in testni množici med optimizacijskim postopkom. Vidimo lahko, da napaka zelo hitro pade, prav tako vidimo, da napake padejo s podobno hitrostjo za uˇ cno in testno množico. Vse to nakazuje, da je mo- del popravkov DH parametrov dovolj kompleksen, obe- nem pa se verjetno ni pretirano prilagodil na uˇ cno mno- žico in je uporaben v praksi. Natanˇ cnost na obeh mno- žicah za vse manipulatorje je povzeta v Tabeli 1, v njej Nekalibriran Kalibriran ID uˇ cna testna uˇ cna testna 1 24.1 5.1 23.0 4.9 4.3 3.7 5.3 3.9 2 18.5 3.7 20.5 4.9 3.5 2.8 4.7 3.6 3 22.1 4.7 22.5 3.9 4.4 4.7 3.6 4.0 4 24.9 5.6 24.0 6.2 4.4 4.2 5.3 5.3 Tabela 1: Povpreˇ cna razdalja (v mm) med modelom in meri- tvijo s standardnim odklonom. Prikazane so vrednosti za neka- librirane in kalibrirane modele manipulatorjev na uˇ cni in testni množici. je razvidno, da se povpreˇ cna napaka za vse manipula- torje zmanjša z veˇ c kot okoli 20mm na manj kot 6mm. Standardni odklon se po kalibraciji ne zmanjša opazno, a si ga lahko razložimo kot mešanico interne ponovljivo- sti manipulatorja, ki je bila v [16] ocenjena na 3mm in majhnega dela napaˇ cnih optiˇ cnih meritev lege vrha mani- pulatorja. Slika 4: Prikaz postopka optimizacije za vse štiri manipulatorje na uˇ cni in testni množici za prvih200 korakov. Vpliv kalibracije na napako si lahko prikažemo tudi individualno glede na posamezno meritev. Na Sliki 5 je razvidno, da so napake pred kalibracijo še zelo velike, po kalibraciji pa se napake opazno zmanjšajo. Slika 5: Vizualizacija napak (v mm) pred in po kalibraciji na testni množici meritev za manipulator3. 4.2 Uspešnost prijemanja V drugem eksperimentu smo preverili praktiˇ cno uporab- nost kalibracije. Implementirali smo postopek v katerem je vsak manipulator poskusil 100-krat premakniti plastiˇ cno kvadratno kocko ˇ crne barve z velikostjo stranice 20mm. Kocka je bila zaznana z uporabo algoritma raˇ cunalniškega vida, kar je pogost scenarij v naših primerih uporabe v pe- dagoške namene. Eksperiment je potekal v delno-samodejnem 101 ID Nekalibriran Kalibriran 1 69 99 2 97 100 3 18 88 4 27 99 Tabela 2: Rezultati eksperimenta uspešnosti prijemanja kocke. Za vsak maniupulator je navedeno število uspešnih premikov. naˇ cinu; vsi manipulatorji so zaˇ celi s kocko na istem me- stu in so jo potem premikali po vnaprej doloˇ cenih loka- cijah na delovni površini robota. Posredovanje operaterja je bilo potrebno samo, ˇ ce je manipulator kocko izrinil iz delovnega obmoˇ cja ali pa jo je neuspešno poskusil prijeti 10-krat zapored. Rezultati eksperimenta so predstavljeni v Tabeli 2. Vidimo, da so imeli nekalibrirani manipulatorji zelo razli- ˇ cno uspešnost pri izvrševanju naloge, kar nakazuje na raznolikost izgradnje. Po zajemu meritev, kalibraciji in uporabi spremenjenih parametrov se je uspešnost mani- pulatorjev bistveno izboljšala. Edina izjema je manipula- tor 2, ki je imel tudi nekalibriran dobro uspešnost. Dej- stvo, da tudi po kalibraciji manipulatorji veˇ cinoma niso popolnoma uspešni pa lahko pripišemo še drugim faktor- jem kot so slaba strategija planiranja premikov (upora- bljamo delno stohastiˇ cni pristop) ter problemi s prijemali na doloˇ cenih manipulatorjih. 5 Zakljuˇ cek Predstavili smo uˇ cinkovit postopek za samodejno kalibra- cijo nizkocenovnih robotskih manipulatorjev. Sam algo- ritem temelji na raˇ cunalniškem vidu za zajem meritev, ki se nato uporabijo v postopku optimizacije geometrijskega modela robota. Prednost samega pristopa je, da je poceni in ne zahteva nove namenske strojne opreme. Pristop smo preizkusili na naši robotsko-senzorski platformi, ki je za- radi naˇ cina izdelave in omejitev poceni materiala zelo do- vzetna za odstopanja od teoretiˇ cnega modela. Pokazali smo, da lahko tudi taki manipulatorji s postopkom samo- dejne kalibracije, ki traja manj kot eno uro, dosežejo do- volj dobro natanˇ cnost za preproste scenarije prijemanja, kar je bil tudi naš cilj. V nadaljnem delu bomo metodo razširili na veˇ c manipulatorjev in preuˇ cili tudi možnost uporabe bolj zapletenega kalibracijskega modela, ki bi vkljuˇ ceval tudi globalno lego manipulatorja v prostoru in odvisnosti med posameznimi DH parametri. Literatura [1] Mohammed Abu Qassem, Iyad Abuhadrous, and Hatem Elaydi. Modeling and simulation of 5 dof educational ro- bot arm. In Advanced Computer Control (ICACC), 2010 2nd International Conference on, volume 5, pages 569– 574. IEEE, 2010. [2] Morgan Quigley, Alan Asbeck, and Andrew Ng. A Low- cost Compliant 7-DOF Robotic Manipulator. 2011 IEEE International Conference on Robotics and Automation, pages pp. 6051 – 6058, 2011. [3] S. O. Adebola, O. A. Odejobi, and O. A. Koya. Design and implementation of a locally-sourced robotic arm. 2013 AFRICON, 2013. [4] B Pronadeep and N Vishwajit. Low cost shadow function based articulated robotic arm. 2015 International Confe- rence on Energy, Power and Environment: Towards Su- stainable Growth (ICEPE), 2015. [5] Mr. Rahul S Pol, Mr. Sagar Giri, Mr. Aditya Ravishankar, and Ms. Varsha Ghode. LabVIEW based four DoF robo- tic ARM. 2016 International Conference on Advances in Computing, Communications and Informatics (ICACCI), pages pp. 1791 – 1798, 2016. [6] Subrata Karmoker, Md. Mobarak Hossain Polash, and K M Zakir Hossan. Design of a low cost PC interface Six DOF robotic arm utilizing recycled materials. 2014 International Conference on Electrical Engineering and Information and Communication Technology, 2014. [7] José Alberto Naves Cocota, Hideo Silva Fujita, and Ita- mar Jorge da Silva. A low-cost robot manipulator for education. 2012 Technologies Applied to Electronics Tea- ching (TAEE), 2012. [8] Y . Zhang and F. Gao. A calibration test of stewart plat- form. In 2007 IEEE International Conference on Networ- king, Sensing and Control, pages 297–301, April 2007. [9] Albert Nubiola and Ilian A. Bonev. Absolute calibration of an abb irb 1600 robot using a laser tracker. Robot. Comput.-Integr. Manuf., 29(1):236–245, February 2013. [10] Hoai-Nhan Nguyen, Jian Zhou, and Hee-Jun Kang. A new full pose measurement method for robot calibration. Sen- sors, 13(7):9132–9147, Jul 2013. [11] Albert Nubiola, Mohamed Slamani, Ahmed Joubair, and Ilian A. Bonev. Comparison of two calibration methods for a small industrial robot based on an optical cmm and a laser tracker. Robotica, 32(3):447–466, 2014. [12] Gang Zhao, Pengfei Zhang, Guocai Ma, and Wenlei Xiao. System identification of the nonlinear residual errors of an industrial robot using massive measurements. Robotics and Computer-Integrated Manufacturing, 59:104 – 114, 2019. [13] G. Dick van Albada, Jose M. Lagerberg, Arnoud Visser, and Louis O. Hertzberger. A low-cost pose-measuring sy- stem for robot calibration. Robotics and Autonomous Sy- stems, 15:207–227, 1995. [14] Jose Mauricio S.T. Motta, Guilherme C. de Carvalho, and R.S. McMaster. Robot calibration using a 3d vision- based measurement system with a single camera. Robo- tics and Computer-Integrated Manufacturing, 17(6):487 – 497, 2001. [15] Luka ˇ Cehovin Zajc, Anže Rezelj, and Danijel Skoˇ caj. Open-source robotic manipulator and sensory platform. In International Conference on Robotics and Education RiE 2017, pages 250–256. Springer, 2017. [16] Anže Rezelj. Izdelava nizkocenovnega lahkega robot- skega manipulatorja. Master’s thesis, Univerza v Lju- bljani, Ljubljana, Slovenija, 2017. [17] J. Denavit and R. S. Hartenberg. A kinematic notation for lower-pair mechanisms based on matrices. Trans. ASME E, Journal of Applied Mechanics, 22:215–221, June 1955. [18] Martín Abadi et al. TensorFlow: Large-scale machine le- arning on heterogeneous systems, 2015. Software availa- ble from tensorflow.org.