Hapticno vstavljanje igle z uporabo teleoperacije Žiga Bizjak, Tim Kambic, Robi Ravnikar, Damjan Parne, Janez Podobnik, MatjaZ Mihelj, Marko Munih, Sebastjan Slajpah Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana E-mail: zb3444@student.uni-lj.si, tk2777@student.uni-lj.si, robi.ravnikar@gmail.com, dp0678@student.uni-lj.si, janez.podobnik@fe.uni-lj.si, matjaz.mihelj@fe.uni-lj.si, marko.munih@fe.uni-lj.si, šebaštjan.šlajpah@fe.uni-lj.ši Teleoperated needle insertion Haptic needle insertion is one of the key components in haptic teleoperation surgery. In this paper we present the use of one Omega.7 (master device) and three Phantom robots connected with a triangle platform (slave device) to insert a needle into lower arm. Pseudoadmittance control was implemented to control the pose of the slave device and also to provide feedback to master device. In addition, an augmented reality was used to further enhance the performance of the operator. The application was divided into six phases: initialisation, moving slave device from the workspace, selecting working point, moving slave robot to that working point, hold robots, and teleoperation. The performance of the presented system was tested on a mockup (artificial arm with integrated tube representing vein) by successfully extracting fluid from artificial vein. 1 Uvod Uporaba teleoperacijsko vodenih robotov v medicini je zelo pomembna, saj nam omogoča izvajanje preciznih gibov, ki presegajo zmoZnosti kirurga. Z robotom pa lahko uporabnikove gibe ustrezno zmanjšamo, omejimo delovno območje, zmanjšamo nevarnost postoperativnih zapletov ter posledično vplivamo na samo trajanje ho-spitalizacije po operaciji. Vstavljanje igle je naloga, ki prikazuje uporabnost robotskega sistema v medicini. Na temo robotov v medicini je objavljenih kar nekaj del [1, 2, 3]. Teleoperacija predstavlja delo na daljavo, kjer tako delo kot razdalja nista natancno dolocena. Razdalja se lahko se nanaša na fizicno razdaljo, kjer je operater locen od robota z veliko razdaljo, lahko pa pomeni tudi razliko v merilu, kot na primer pri kirurških mikromanipulator-jih za operacije na mikroskopski ravni. Teleoperacijski sistem je sestavljen iz treh delov: upravljalne naprave, izvršne naprave ter regulatorja. Primer teleoperacijskega sistema v medicini je kirurški sistem DaVinci [4]. Uporaba teleoperacijskih sistemov je smotrna v primeru, kjer je manipulacija nevarna za cloveška zivljenja ali pa fizicne zahteve za manipulacijo presegajo cloveške zmoznosti. Teleoperacija se uporablja v vesoljskih in vojaških aplikacijah, varnostnih sistemih, podvodnih vozilih in v medicini [5]. Robotski sistemi in slikovne tehnologije so revoluci-onirale medicinsko področje. Kljub naprednku pa algoritmi umetne inteligence zaenkrat se niso sposobni člove-ske razsodnosti in intuicije, zato je pomembno sodelovanje kirurga z robotom. Tako izvedeni posegi so manj in-vazivni ter pozitivno vplivajo na postoperativne procese. V tem delu bomo predstavili aplikacijo za teleoperacijsko robotsko vstavljanje igle v zilo. Operater preko hapticne povratne zanke dobi informacijo o kontaktu igle in zile, kot pomoc operaterju pa je v aplikacijo vkljucena tudi obogatena resnicnost. 2 Metodologija Teleoperacijski sistem sestavljata upravljalna in izvrsna naprava. Upravljalno napravo predstavlja hapticni robot Omega.7 (Force Dimension, Švica). Robot ima 7 pro-stostnih stopenj (tri pozicije, tri orientacije ter se dodatno prijemalo na vrhu). Robot ima aktivno vodeno pozicijo in prijemalo, medtem ko je orientacija vrha robota zgolj pasivna. Robot lahko generira hapticno povratno informacijo samo v obliki sil v smeri x, y in z. Izvrsna naprava je sestavljena iz treh robotov Phantom, ki so preko trikotne plosce povezani v paralelni mehanizem (glej sliko 1). Vsak robot ima tri prostostne stopnje, medtem ko ima plosca sest prostostnih stopenj. Roboti so zaradi varnosti na plosco pritrjeni preko magnetnih sfericnih sklepov. Dodaten nivo varnosti pa predstavlja varnostno stikalo, ki mora biti pritisnjeno celoten cas izvajanja gibanja. V sistem je vkljucen se projektor NEC VT570 z lo-cljivostjo 1024 x 768 slikovnih pik. Sluzi kot prikazovalnik za obogateno resnicnost. Izvrsna naprava je opremljena s kirursko kanilo, za simulacijo pacientove roke pa je uporabljena plasticna roka opremljena s cevko, ki predstavlja zilo. Celotno vodenje je narejeno v programskem paketu Matlab/Simulink, vizualizacijapaje realizirana s programsko knjiznico OpenCV Vzorcna frekvenca robotskega sistema znaša 5 kHz. 2.1 Direktna in inverzna kinematika izvršne naprave Globalni koordinatni sistem x0-y0-z0 izvršne naprave (plo-šce) sovpada s koordinatnim sistemom robota Phantom 1. Homogene transformacijske matrike Hi, H2 in H3, ki ERK'2018, Portorož, 155-158 155 Slika 1: Shema sistema (upravljalna in izvršna naprava) z označenimi koordinatnimi sistemi povezujejo globalni koordinatni sistem plosče z globalnimi koordinatnimi sistemi posameznih Phantom robotov (enačba (1)), smo določili na podlagi znane konfiguracije sistema. [ Pjh 1 T H [ ph Pjh 1 (1) Pi Pphl + PPh2 + PPh3 3 (2) XR ZR yr Rin Pph2 ~ Pphl |Pph2 — Pphl | Pphl — Pph3 XR X |Pph1 — Pph3 | ZR X Xr [ XR yR ZR ] (3) (4) (5) (6) Pphl Pph2 Pph3 ™ ^^t? r _i i t* in i 0 J-Mn Pin + 2 o a/3 2 3 0 ] (7) R-in [ ^ 3 0 ] (8) Pi„ + ^Ri„[0 | 0 ]T . (9) Dobljene pozicije vrhov robotov Phantom smo z uporabo matrik H1, H2 in H3 pretvorili iz globalnega koordinatnega sistema izvrsne naprave v globalne koordinatne sisteme posameznih robotov Phantom (enačba (10)). r phP t Pph 1 H"M pt ph 1 (10) Phantom roboti, pritrjeni na plosčo, tvorijo enako-stranični trikotnik. Določanje direktne kinematike plosče temelji tako na računanju geometrije trikotnika. Vrh izvrsne naprave je definiran v sredisču plosče. Pozičija vrha pin je določena z enačbo (2). 2.2 Regulacija lege izvrsne naprave Za znano lego izvrsne naprave lahko določimo zeljene polozaje robotov Phantom (ph1priphi, ph2Pr,ph2, ph3P enačbe (7)-(9)). Za regulačijo polozaja vrha Phantom robotov smo implementirali proporčionalno-diferenčirni (PD) regulator v zunanjih koordinatah na osnovi tran-sponirane Jačobijeve matrike JTh. PD regulator lahko zapisemo z Vektorji Pph1, Pph2 in pph3 so pozičije vrhov posameznih robotov Phantom izrazene v globalnem koordinatnem sistemu (slika 1). Orientačija vrha izvrsne naprave Rin je določena s sistemom enačb (3)-(6). F ph Tph Kp (phPr,ph — phPph) — Kdph]Pph (11) jThFph (12) Inverzna kinematika izvrsne naprave ni direktno vezana na sklepne spremenljivke robotov Phantom, ampak se prevede na določitev pozičije vrha posameznega robota Phantom. Glede na geometrijo (plosča je enako-stranični trikotnik s straničo a =150 mm) se jih določi kot kjer sta Kp in Kd proporcionalno in diferenčirno ojačenje regulatorja (določena eksperimentalno), phpph hitrostvrha robota Phantom, rph pa določeni navori za posamezne motorje. 2.3 PsevdoadmitanCno vodenje Teleoperačija na podlagi psevdoadmitanče [6] temelji na uporabi virtualnega posrednika. Pri tem izvrena naprava sledi virtualnemu posredniku, sama izvrsna naprava pa na upravljalno enoto vpliva preko haptične povratne povezave. Virtualni posrednik se giblje kot funkčija razlike med pozičijama upravljalne (pun) in izvrsne (pin) naprave. Za vodenje izvrsne naprave določimo silo virtualnega posrednika Fp z uporabo PD regulatorja F Fp Kpp (pun pin ) + Kdp]P (13) Z uporabo admitančnega modela zapisanega v Laplačeo-vem prostoru P F s2 + bs + k (14) s 156 lahko določimo hitrost virtualnega posrednika pp 13 p _F.,. ms2 + bs + k p (15) Pri tem veličine m, b in k opisujejo dinamične parametre sistema (maso, dušenje in togost). Hitrost virtualnega posrednika pp predstavlja tudi referenčno hitrost izvršne naprave pr,in = pp, po integraciji pa tudi Zeljeno lego pr,in J pr,indt. Sila, ki deluje na virtualnega posrednika Fp, nam pred stavlja tudi nasprotno povratno silo, s katero izvršna naprava vpliva na upravljalno enoto Fun model vodenja je prikazan na sliki 2. —Fp. Celoten Slika 2: Model teleoperacijskega sistema na podlagi psevdoad-mitance s haptično povratno zanko 2.4 Gibanje upravljalne naprave Pri zagonu aplikacije kot tudi med samo aplikacijo je potrebno upravljalno napravo postaviti v zeleno lego. Ker ima upravljalna naprava aktivne samo pozicije, rotacije pa so pasivne, lahko vodimo samo pozicijo vrha pun. Trajektorijo gibanja generiramo po metodi minimalnega casovnega odvoda pospeška [7]. Spremembo pospeška upravljalne naprave pun lahko zapišemo z enacbo (16) Ko manipulatorja dosezšeta zacšetni legi, se sistem avtomatsko premakne v stanje začetna lega. ZAČETNA LEGA: V tem stanju se izvršna naprava odmakne na rob delovnega prostora. S tem omogocimo, da lahko bolnik varno namesti roko v za to predvideno delovno obmocje. Upravljalna naprava v tem primeru sledi gibanju izvšne naprave. Koncno lego ter hitrost izvršne naprave se lahko prilagodi glede na potrebe aplikacije. Ko izvršna naprava doseze zeljeno lego, se aktivira stanje nastavitev tocke. NASTAVITEVTOCKE: To stanje vkljucuje obogateno resnicnost. Z upravljalno napravo premikamo virtualno tocko (rdeco piko), ki sejo s projektorjem projecira v delovni prostor. Z postavitvijo pike dolocšimo grobo pozicijo delovne tocke oziroma zile. Ker je premikanje tocke zgolj ravninski problem, so premiki upravljalne naprave mozšni zgolj v ravnini (premiki v vertikalni smeri so one-mogoceni). Naslednje stanje se aktivira, ko uporabnik zapre prijemalo na vrhu upravljalne naprave. PREMIK K TOCKI: V tem stanju se vrh izvršne naprave (igla) premakne nad prej dolocšeno delovno tocško. Izvršna naprava se premika zgolj po horizontalni ravnini. Ker smo v prejšnjem stanju upravljalno napravo uporabili za nastavitev delovne tocške, je potrebno po koncšanem gibanju izvrsšne naprave upravljalno napravo postaviti v zacetno lego, legi obeh naprav pa ustrezno resetirati in poravnati. Ko vrh izvršne naprave doseze delovno tocke, se aktivira stanje ohranjanje lege. OHRANJANJE LEGE: To stanje je pogojeno z uporabo prijemala na vrhu upravljalne naprave. Le-to je uporabljeno kot stikalo: ko je prijemalo odprto, je signal Sun = 0, ko pa je prijemalo zaprto, je signal Sun = 1. 9 D1 36 60 jj2'Pun 3 Pttn) (16) INICIALIZACIJA kjer je p f,un koncna pozicija upravljalne naprave, D pa razlika med dolocenim casom izvedbe naloge tf in trenutnim ze pretecenim casom t (D = tf — t). Zeljeno lego upravljalne naprave dolocimo s trojno integracijo odvoda pospeška prj[in = fff Pund t d t d t. Z implementacijo PD regulatoija izračunamo potrebno silo Fun, da premaknemo upravljalno napravo v zšeleno lego Fun K-pun(pr,un pun) Kdunpun • (17) To silo pošljemo na krmilnik robota Omega, ki poskrbi za ustrezen premik robota. 3 Aplikacija Aplikacija robotskega vstavljanja igle v zilo je razdeljena na šest stanj. Diagram prehajanja stanj je prikazan na sliki 3. INICIALIZACIJA: Na zacetku aplikacije se tako upravljalna kot izvrsšna naprava postavita v svoji zacšetni legi. ZACETNA LEGA NASTAVITEV TOCKE PREMIK K TOCKI OHRANJANJE Sun = 1 LEGE S„„ = 0 TELEOPERACIJA Slika 3: Diagram prehanja stanj pri izvajanju naloge. Med stanjema ohranjanje lege in teleoperacija preklapljamo s prijema-lom na vrhu upravljalne naprave (odprto prijemalo Sun = 0 oziroma zaprto prijemalo Sun = 1). p 157 To stanje je aktivno ob odprtem prijemalu. V tem stanju tako upravljalna kot izvršna naprava držita trenutni legi. Uporabi se ga takrat, ko je premikanje izvršne naprave nezaželjeno, npr. ko je igla vstavljena v žilo. TELEOPERACIJA: Ob preklopu prijemala izvršne naprave v Sun = 1 se aktivira teleoperacijsko vodenje. V tem primeru je lega vrha upravljalne naprave posredna referenca za gibanje izvršne naprave, kot je to opisano v poglavju 2.3. Vodimo lahko tako pozicijo kot orientacijo izvršne naprave, preko hapticne povratne informacije pa uporabnik tudi čuti sile interacije izvršne naprave. To stanje se uporablja za izvedbo ustrezne manipulacije igle (vstavljanje igle v zilo, odstranitev igle). Z uporabo prijemala se lahko preklaplja med tem stanjem in stanjem ohranjanje lege. Za namen aplikacije smo pripravili tudi preprost uporabniški grafi cni umestnik, ki omogoca zagon in ustavitev aplikacije. 4 Razprava Aplikacijo smo testirali s pomocjo umetne roke in teko-cine, kije predstavljala umetno kri. Prvi operaterje skrbel za zagon aplikacije in za nadzor varnostnega stikala na robotih Phantom, drugi operater pa je preko robota Omega vodil izvajanje teleoperacije. Na sliki 4 je prikazana uspešna izvedba aplikacije vstavitve igle v roko in pretok tekocine v posodo, namešceno na platformi. Prednost arhitekture teleoperacije je, da lahko operater spremeni merilo premikov, kar pomaga pri natancnosti vstavljanja igle. V aplikaciji lahko nastavljamo merilo premikov tako za rotacijske kot za translacijske premike. V testnih pogojih je celoten proces vstavljanja igle trajal okoli 30 sekund. Samo izvajanje bi sicer lahko pohitrili, ampak smo zaradi varnostnih razlogov pustili daljše case izvajanja dolocenih stanj. Medicinski roboti verjetno ne bodo nikoli prevzeli nalog zdravstvenega osebja, vendar pa so jim lahko v veliko pomoc. S pravo uporabo aplikacije lahko rešimo veliko problemov v moderni medicini. Robotsko vstavljanje igle bi lahko uporabili v kontaminiranih podrocjih, v podrocjih kjer medicinsko osebje fizicno ne more dostopati do bolnika ali pa bi lahko aplikacijo razšili na uporabo pri operacijah. Primer uporabe bi lahko bil vstavljanje infuzije kesonskim delavcem, ki delajo globoko pod morjem na velikih pritiskih, kjer zdravstveno osebje nima dostopa. Primer uporabe je tudi bolnik v karanteni, kjer ne zelimo dodatno izpostavljati zdravstvenih delavcev. V tem primeru bi lahko vbrizgali zdravila ali vzeli kri z robotom. Zaradi uporabe umetne roke in zile, bi za realno uporabo morali nekatere parametre (predvsem za togost sistema) na novo oceniti in preizkusti. Stanja smo dolocili z ozirom na varnost bolnika, kar posledicno pomeni, da je vecina gibov izvedenih z majhno hitrostjo. Graficni vsmesnik za operaterja je zelo enostaven in omogoca le vklop in izkop sistema, kar pomeni, da uporabnik ne potrebuje dodatnega izobrazevanja za uporabo aplikacije. Za to aplikacijo je bila uporabljena genericna oblika Slika 4: Slika uspešnega testa na umetni roki. Na sliki vidimo realizacijo postavitve igle ter ciljne posode za tekočino. Na roki je vidna tudi umetna Žila, s pomočjo katere smo tekočino pripeljali do mesta vboda. platforme. Za realno aplikacijo bi bilo potrebno realizirati namenskega robota za izvajanje medicinskih operacij. Prav tako bi bilo potrebno prilagoditi tudi ostale sklope sistema. Čeprav je ta aplikacija zgolj testiranje principa delovanja, predstavlja osnovo za prihodnje aplikacije namenjene v medicinske namene in aplikacije, kjer je teleoperacije potrebna za uspešno izvedbo. Literatura [1] F. T. Čullen, Technology and Terrorism. Routledge, 2017. [2] P. F. Hokayem and M. W. Spong, "Bilateral teleo-peration: An historical survey," Automatica, vol. 42, no. 12, pp. 2035-2057,2006. [3] N. Abolhassani, R. Patel, and M. Moallem, "Needle insertion into soft tissue: A survey," Medical Engineering and Physics, vol. 29, no. 4, pp. 413-431,2007. [4] G. H. Ballantyne and F. Moll, "The da Vinci telero-botic surgical system: the virtual operative field and telepresence surgery," Surgical Clinics of North America, vol. 83, no. 6, pp. 1293-1304,2003. [5] S. Lichiardopol, "A survey on teleoperation," Technische Universitat Eindhoven, DCTreport, 2007. [6] J. J. Abbott and A. M. Okamura, "Pseudo-admittance bilateral telemanipulation with guidance virtual fixtures," The International Journal of Robotics Research, vol. 26, no. 8, pp. 865-884,2007. [7] A. Piazzi and A. Visioli, "Global minimum-jerk trajectory planning of robot manipulators," IEEE Transactions on Industrial Electronics, vol. 47, no. 1, pp. 140-149,2000. 158