Generalizirani robotski algoritmi za specifične funkcije pri kuhanju - rezanje Jan Vodopivec1, Matej Amon2, Sebastjan Šlajpah1, Marko Munih1, Matjaž Mihelj1 'Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana 2 BSH Hišni aparati d.o.o. Nazarje, Savinjska cesta 30, 3331 Nazarje E-pošta: jv8 760@student.uni-lj.si Generalized robotic algorithms in cooking -food slicing Abstract. In this paper we present one of the possibilities of using robots in kitchen. In collaboration with BSH Hišni aparati we focused on slicing different types of food with a robot. Motion capture system was used to track human motion and JR3 sensors to measure forces and torques while slicing different types of food. Captured trajectories were processed and implemented on a Motoman MH5 robot. Minimum-jerk-based interpolation was used in combination with impedance control. The robot successfully repeated slicing of food. 1 Uvod Družba zadnja leta stremi k avtomatizaciji in robotizaciji na praktično vseh področjih. V trgovinah uporabljamo samopostrežne blagajne, avtomobilska podjetja razvijajo samovozeča vozila, pri rehabilitaciji pomagajo robotski mehanizmi, travo lahko kosi robotska kosilnica, kmalu pa bodo verjetno v uporabo prišli tudi roboti, ki bodo pomagali pri raznih hišnih opravilih in v kuhinji. Podjetja, kot je Moley Robotics, že razvijajo kuhinjske pomočnike, ki naj bi nas ob kuhanju opazovali, nato pa znali sami poustvariti te jedi [1]. V sodelovanju s podjetjem BSH Hišni aparati smo na primeru rezanje hrane preverili možnost uporabe robotov pri kuhinjskih opravilih. Kuharski strokovnjak naj bi predstavil pravilne tehnike rezanja, pridobljene podatke pa bi uporabili za vodenje robota, da bi ta lahko samostojno narezal različne vrste živil. Poudarek je torej predvsem na zajemu in analizi trajektorij pri človeškem rezanju različnih vrst hrane ter implementaciji naloge na robotu. 2 Metodologija 2.1 Merjenje aktivnosti človeka Meritve človekovih aktivnosti so bile osnova za načrtovanje trajektorij in analizo sil, ki nastopajo pri rezanju. Večina raziskav se osredotoča predvsem na sekanje hrane, vendar s tem poškodujemo hrano, rez pa ni čist. Zato ljudje uporabljamo tudi strig, torej vlečenje noža pri rezanju, na ta način pa se tudi snov lažje reže [2]. Pri pravilnem rezanju nastopata zato dve komponenti sile, normalna in tangencialna na površino rezane snovi. Za meritve sta bila uporabljena dva senzorja sil in navorov JR3 50M31A-I25, sistem za merjenje gibanja Optotrak Certus in sedem inercialnih merilnih enot. Slika 1. Postavitev merilnega mesta z označenim koordinatnim sistemom, pogled od zgoraj. Optotrak Certus kameri sta bili postavljeni na desni strani delovnega mesta, saj je merjenec nož med rezanjem držal v desni roki. Koordinatni sistem je bil poravnan z robovi mize, os z je bila usmerjena pravokotno iz mize (Slika 1). Slika 2. Postavitev markerjev in merilnih inercialnih enot. Levo postavitev na merjencu, desno zgoraj postavitev skupka markerjev na deski, desno spodaj postavitev skupka na nožu ter prikaz obeh desk, pod katerimi sta JR3 senzorja. Na merjenca je bilo nameščenih 14 optičnih markerjev. Iz skupkov treh markerjev določimo pozicijo in orientacijo ploskve v prostoru, na kateri so nameščeni. Skupki so bili nameščeni na podstavku za desko, na nožu, dlani in na hrbtu, po en marker pa na komolcu in rami (Slika 2). Inercialne merilne enote so bile postavljene na dlani, podlakti in nadlakti obeh rok, še ena pa je bila na prsnici. Senzorja sil in navorov sta bila postavljena pod dvema rezalnima deskama (Slika 2), s ciljem ločitve sil, s katero pritiskamo ob držanju hrane in s katero potiskamo nož in režemo. Na levi deski smo hrano držali, na desni pa rezali. ERK'2018, Portorož, 151-158 155 2.2 Analiza trajektorij Rezali smo več različnih živil (Slika 3): bučke, jabolko, por, korenje in banano. Živila smo rezali na kolobarje in rezine, por pa smo tudi sekljali. 2.2.1 Rezanje bučke na kolobarje Slika 3. Primeri rezanja: a) rezanje bučke na kolobarje in b) sekljanje pora. Trajektorije pri rezanju so na Sliki 4 prikazane v ravnini y — z, za lepši prikaz je iz skupkov treh markerjev na dlani in nožu prikazan samo po eden. Pri rezanju se je komolec premikal približno premo naprej in nazaj, z dlanjo smo med posameznimi rezi delali krožne gibe, nož pa je pol reza opravil skupaj z dlanjo in naredil polkrog, drugo polovico reza pa se je premikal premo, saj se je z delom rezila dotikal deske. Položaj markerja na rami je v prostoru miroval, zato na grafu ni prikazan. Potrebno je poudariti, da navkljub trudu, da bi rezali tako, kot je pokazal šolani kuhar, tehnika rezanja še vedno ni bila povsem pravilna. V našem primeru smo rezali navpično navzdol in izvajali večjo silo v smeri osi z, nato pa naredili poteg v smeri y, namesto da bi cel rez izvedli s potegom noža v smeri y. 400 F 300 B S 200 150 100 50 -200 0 100 y / mm 200 300 samem držanju bučke silo zazna tudi desni senzor, medtem ko se pri rezanju sila prenese tudi na levi senzor. Za optimalno meritev bo potrebno nož opremiti s senzorjem sil in navorov. Normalna sila je delovala na ploščo v nasprotni smeri osi z, zato je bila njena vrednost negativna. V nadaljevanju bomo govorili o večjih in manjših silah, pri čemer bo govora o absolutnih vrednostih sile v posamezni smeri. Sila Fz v normalni smeri med posameznim rezom narašča do maksimalne vrednosti. Takrat je bila bučka prerezana in po dvigu noža se sila zmanjšuje (Slika 5a). Vsota sil obeh senzorjev je enaka teži živila in sili, s katero smo pritiskali na desko med držanjem živila. Med rezanjem smo opazovali tudi tangencialno silo Fy, ki deluje v smeri potega noža (Slika 5b). Zaradi prej opisane napačne tehnike rezanja se tangencialna sila pojavi šele proti koncu reza, saj smo šele takrat naredili poteg z nožem, nato narašča do konca potega, ko pa nož dvigujemo z deske, zopet pade na prvotno vrednost. Ob pravilnem rezanju naj bi se sicer normalna in tangencialna sila pojavili skupaj. a) £ - b) 10 1 2 3 4 5 6 t / s Slika 5. a) Sili Fz, b) sili Fy in c) kot med nožem in mizo dN pri rezanju bučke na kolobarje. Graf na Sliki 5c prikazuje kot noža glede na mizo. Med rezanjem živila je kot približno konstanten, ob koncu reza pa smo nož privzdignili in s tem za nekaj stopinj povečali kot. Pri pripravi na nov rez smo nož zopet postavili v začetni položaj, kot pa je bil približno konstanten do novega dviga. Rezali smo tudi jabolko na rezine, rezultati pa so podobni kot pri rezanju bučke. Slika 4. Trajektorije pri rezanju bučke na kolobarje v ravnini 2.2.2 Sekljanje pora y — z. Bučko smo držali na levi deski, z nožem pa rezali na desni deski. Sila Fz z levega senzorja je obarvana z modro, sila desnega pa z rdečo (Slika 5a in 5b). Sile se preko bučke prenašajo z ene deske na drugo. Tako že pri Pri sekljanju pora (Slika 3b) smo uporabljali samo desno desko, saj smo eno roko položili na zgornji rob rezila, z drugo pa držali za ročaj. Prikaz trajektorij na Sliki 6 je v tem primeru omejen na 13 ponovitev giba. Med sekljanjem smo enkrat 20 -4 350 250 0 100 152 dvignili nož in ga ponovno postavili na desko. Opazimo, da imamo povsem drugačne trajektorije kot pri rezanju bučke; dlan in nož premikamo po manjšem območju. 350 - 250 Jj 200 * 150 100 50 -200 -100 0 100 y / mm 200 300 3 4 t / s Med posameznimi točkami robotski krmilnik izvede interpolacijo. Uporabljena je zaprtozančna oblika metode minimalnega časovnega odvoda pospeška (»minimum-jerk trajectory«) [3]. Enačba (1) opisuje omenjeno metodo v prostoru stanj: xr 0 1 ir = 0 0 60 36 xr. D3 D2 xr 0 xr + 0 Xr_ 60 D3. (1) Slika 6. Trajektorije pri sekljanju pora v ravnini y — z. Kot se relativno glede na silo Fz zopet spreminja podobno kot pri prejšnjem primeru (Slika 7). Ko nož pritisnemo ob desko in s tem odsekamo del pora, sila naraste na maksimalno vrednost, kot pa se v tistem trenutku približa 0°, saj je nož skoraj poravnan z desko. Ko nož dvigamo, se sila zmanjša, kot pa se poveča. a) 10 [ y 0L b) Slika 7. a) Sila Fz in b) kot med nožem in mizo dN pri sekljanju pora. 2.3 Načrtovanje trajektorij za robota Ker naj bi robot premikal nož podobno kot človek pri rezanju oziroma sekljanju, smo se osredotočili na trajektorije noža. Preizkusili smo rezanje na kolobarje, kjer so trajektorije noža podobne elipsam. Izmerjeno trajektorijo smo interpolirali, ker so bili markerji občasno zakriti. Nato smo trajektorijo (Slika 4, zelena trajektorija), razdelili na posamezne reze in pogledali, kateri rez je bil najpočasnejši, torej je imel največ vzorcev. Vsem ostalim rezom smo nato s kubično interpolacijo z zlepki povečali število vzorcev, da se je ujemalo z najpočasnejšim. Iz posameznih rezov smo izračunali povprečno trajektorijo, na enak način pa hkrati tudi pripadajoče kote pri rezih. Kot rezultat postopka smo pridobili povprečno trajektorijo s pripadajočim povprečnim kotom noža v danem trenutku glede na mizo. Temu smo dodali še gib v stran po vsakem posameznem rezu, s tem smo dobili gibanje še vzdolž živila, rezultat rezanja pa so na ta način kolobarji. Število točk za zapis trajektorije je lahko majhno, pomembno je le zajeti spremembe smeri trajektorije. kjer sta z xr označeni točka na interpolirali trajektoriji in Xf želena lega robota na osnovi meritev človeka, D = tf — t pa je razlika med časom, ko naj bi robot dosegel točko xf in trenutnim časom. Interpolacija zagotavlja gladko trajektorijo, s spreminjanjem časa tf pa je mogoče vplivati na hitrost izvajanja naloge. 2.4 Vodenje robota Rezanje je bilo izvedeno z robotom Motoman MH5 s šestimi prostostnimi stopnjami, nosilnostjo 5 kg in ponovljivostjo ±0,02 mm (Slika 8). Izdelali smo prijemalo za nož, s katerim smo nož pritrdili na senzor, ki je bil na vrhu robota. Implementirano je bilo impedančno vodenje (Sliki 9), trajektorija pa je bila podana kot referenca v zunanjih koordinatah. Želeni položaj in orientacija xr skupaj z merjenima silo in navorom dotika h so vhodne vrednosti v impedančno enačbo, ki generira želeno lego podajnosti xc, uporabljeno kot reference za vodenje gibanja robota. Lega podajnosti je enaka želeni legi xr, če sta sila in navor dotika enaka nič, sicer pa se trajektorija prilagodi glede na izmerjene sile in navore ter impedančne parametre. Prednost impedančnega vodenja je ravno vnos podajnosti pri sledenju lege. V primeru, da želimo povsem podajen mehanizem, lahko nastavimo parameter togosti Kp na 0. Z večanjem togosti Kp povečujemo togost robota in posledično natančnost sledenja želeni trajektoriji tudi pod vplivom zunanjih sil. Slika 8. Robot Motoman MH5 s pritrjenim nožem. Impedančno *cl Vodenje a Inverzna U Mehanizem/ vodenje xe> lege dinamika okolje Slika 9. Vodenje na osnovi aktivne impedance [4]. 300 x f 0 0 2 5 6 7 153 3 Rezultati rezanja z robotom Z robotom smo preizkusili rezati banano, kot referenčno trajektorijo pa smo uporabili trajektorijo rezanja bučke na kolobarje. Banana je bila uspešno narezana na želene 3 mm debele kolobarje (Slika 10), kar dokazuje, da lahko robot uspešno izvede nalogo. a) Slika 10. Banana, rezana z robotom. 0,04 b) 5 0 5 "5 k,Mo "15 "20 6 4 2 0 m\ I jjJJL/uu^ 0 2 4 6 8 10 12 14 16 18 20 t / s Slika 13. a) Sila Fz in b) navor M med rezanjem z večanjem hitrosti robota. 4 Zaključek 0,14 0,13 S N 0,12 0,11 0,10 0,42 0,43 0,44 0,45 0,46 0,47 0,48 0,49 x / m Slika 11. Robotsko sledenje trajektoriji: z modro je označena referenca, z rdečo pozicija robota. Na Sliki 11 sta prikazani referenčna in dejanska trajektorija pri rezanju z robotom. Sledenje ni povsem natančno, kar je posledica podajnosti impedančnega vodenja. Zaradi tega lahko z nožem zadenemo tudi v rezalno desko, sistem pa je še vedno stabilen. Preizkusili smo tudi rezanje, pri katerem je robot povečeval svojo hitrost in rezal vse hitreje. Posledica impedančnega vodenja je v tem primeru odstopanje dejanske trajektorije od referenčne (Slika 12). S pospeševanjem sta se večala tudi sila Fz (Slika 13a) in navor (Slika 13b), ki sta sicer s parametrom Kp do neke mere nastavljiva. 0,44 0,45 0,46 0,47 0,48 0,49 0,50 0,51 0,52 0,53 x / m Z meritvami aktivnosti človeka smo pridobili uporabne podatke, ki smo jih analizirali in implementirali na robotu. Robot reže z zadovoljivo natančnostjo in zanesljivo. Projekt je mogoče nadaljevati, saj ostaja še ogromno nerešenih izzivov, zaradi katerih roboti še niso primerni kuhinjski pomočniki. Optimizirali bi lahko merjenje človeškega rezanja, predvsem z zmanjšanjem števila merilnih naprav. Koristno bi bilo tudi merjenje sile preko noža, ter s tem pridobitev dejanske sile, s katerimi nož reže. Po optimizaciji merjenja bi bilo potrebno meritve ponoviti s kuharskim mojstrom, ki bi rezal na različne načine. Kot primer, rezanje surovega mesa je povsem drugačno od rezanja na kolobarje, kar bi bilo potrebno upoštevati in najti ustrezno rešitev za implementacijo na robotu. Izboljšali bi lahko tudi metode pridobivanja trajektorij in izvajanja na robotu, na primer z dinamičnimi primitivi gibanja DMP (ang. Dynamic movement primitives) [5], s čimer bi imeli trajektorije opisane z enakim številom parametrov, ne glede na čas izvajanja. Literatura [1] Moley - The world's first robotic kitchen [Online]. Dosegljivo: http://www.moley.com/. [Dostopano 11. 1. 2018]. [2] E. Reyssat et al., "Slicing softly with shear," Physical review letters, vol. 109, št. 24, str. 244301, 2012. [3] S. Šlajpah. »Vodenje štirih robotov v arhitekturi dvoročnega teleoperacijskega sistema.« Univerzitetno diplomsko delo, Fakulteta za Elektrotehniko, Univerza v Ljubljani, Ljubljana. 2011. [4] M. Mihelj, T. Bajd, M. Munih, Vodenje robotov, Ljubljana: Založba FE in FRI, 2011. [5] Stefan Schaal, "Dynamic Movement Primitives - A Framework for Motor Control in Humans and Humanoid Robotics" Adaptive Motion of Animals and Machines, str. 261-280, 2006. Slika 12. Rezanje z večanjem hitrosti robota. 0,10 0,08 0,06 154