ERK'2022, Portorož, 208-211 208 Optimalna postavitev obdelovanca pri robotski površinski obdelavi na podlagi indeksa manipulabilnosti Tomaž Pušnik, Saša Stradovnik, Aleš Hace Fakulteta za elektrotehniko, računalništvo in informatiko, Univerza v Mariboru Koroška cesta 46, 2000 Maribor E-pošta: tomaz.pusnik@um.si, sasa.stradovnik@um.si, ales.hace@um.si Optimal placement of the workpiece in robotic surface machining based on manipulability index Abstract. Completing a difficult robotic task includes finding an optimal placement of the workpiece in the robot workspace. The workpiece placement should be in such position, that all the surface waypoints are reachable by the robot, s o i t can later apply the required parameters of the trajectory. This paper solves the problem of finding an optimal workpiece placement based on manipulability index with optimization algorithm. We present workpiece placement feasability with colour map visualization in the practical example with Microsoft mixed reality headset HoloLens 2. 1 Uvod Aplikacije z vsakodnevno spreminjajočimi se majhnimi in kompleksnimi serijami izdelkov postajajo zaradi zahtevnih želj kupcev in prilagajanja njihovim potrebam vse pogostejše. V kolikor takšne aplikacije vključujejo robotsko površinsko obdelavo, pa se lahko pojavijo težave s pozicioniranjem obdelovancev, ki jih ne moremo rešiti arbitrarno. Postopki pozicioniranja za enkrat niso dovolj fleksibilni, zato je potrebno točno vnaprej vedeti, kje in kako bomo obdelovanec vpeli. Za vpenjanje lahko porabimo veliko časa, po zagonu robotskega programa pa ugotovimo, da robot ne bo dosegel vseh potrebnih točk, torej obdelave ne bo izvedel uspešno. Običajno pri uporabi težkih industrijskih robotov v preprostejših aplikacijah ni toliko pozornosti na določitvi optimalne lege izdelkov. V primeru bolj kompleksnih robotskih nalog, kot je obdelava površin pa postane pozicioniranje obdelovanca za zagotavljanje izvedljivosti naloge zelo pomembno. To velja še posebej, če je uporabljeni robot sodelujoči in ne-predimenzioniran. V literaturi se opisani problem največkrat pojavlja pri robotskemu rezkanju, kjer z optimizacijskimi postopki iščejo lego obdelovanca v kateri robot dosega največjo togost. V delu [1] to rešujejo s »PSO« algoritmom (ang. Particle swarm optimization). Pogosto uporabljen je tudi »GA« algoritem (ang. Genetic algorithm), s katerim v delu [2], namesto lege obdelovanca, iščejo optimalno lego robota. Glavni cilj našega dela je bil optimizacija lege vpetja obdelovanca za robotsko površinsko obdelavo na podlagi Yoshikawinega indeksa manipulabilnosti [3], pri čemer smo uporabili metodo »Surrogate optimization« [4]. Ustvarili smo tudi barvno mapo manipulabilnosti, ki smo jo prikazali s pametnimi očali Hololens 2 [5]. V nadaljevanju je predstavljen model obdelovanca, metoda za izračun barvne mape, optimizacijska metoda, optimalna lega ter vizualizacija na pametnih očalih. 2 Pregled sistema Sodelujoči robot UR5 je nameščen na premični platformi z obdelovancem in orodjem za mikrokovanje. Proces robotskega mikrokovanja temelji na aktuatorju, ki z aksialnim nihanjem premika trdo kovinsko kroglo po površini obdelovanca. Obdelovanec je vpet na delovni površini premične platforme, kar pomeni, da je njegova z-os fiksna. Iskan je samo položaj na ravnini x-y in rotacijski kot »Yaw« ( γ ) okoli z-osi. Fleksibilna robotska celica je vidna na sliki 1, podrobneje pa je predstavljena v [6]. Slika 1: Fleksibilna robotska celica (privzeta postavitev obdelovanca) in relacija koordinatnih sistemov 2.1 Model obdelovanca Originalen CAD model obdelovanca (slika 2a) je bil pretvorjen v STL model, ki je sestavljen iz povezanih nizov trikotnikov, le-ti pa opisujejo površinsko geometrijo predmeta. Zaradi zapletene geometrije smo izvedli fino in enakomerno prerazporeditev trikotnikov (ang. »remesh«), vidno na sliki 2b. Obdelovanec meri ca. 245x110x120 mm (DxŠxV), prerazporejene stranice trikotnikov pa ca. 1,25 mm. Ker spodnjega dela obdelovanca ni potrebno obdelovati, ta ni bil vključen v prerazporeditev. Prerazporejena obdelovalna površina je vidna na sliki 2c. Oranžne točke predstavljajo središča 209 trikotnikov, modre puščice pa njihove normale. Število trikotnikov je bilo ustrezno zmanjšano (slika 2d), tako da to ni vplivalo na kvaliteto nadaljnjih rezultatov, s tem pa se je bistveno skrajšal čas izračunov. a) b) c) d) Slika 2: Preoblikovanje modela obdelovanca: a) CAD model, b) STL model, c) 90.000 točk, d) 3.000 točk 3 Metode 3.1 Orientacija orodja Izhodišča normal določajo točke po površini obdelovanca, za katere moramo preveriti dosegljivost in manipulabilnost za orodje nameščenim na robotski roki. Izhodišče normale je v središču pripadajočega trikotnika glede na koordinatni sistem obdelovanca in ga lahko zapišemo z vektorjem [ ] T i i ii p xyz = . Smer normale ˆ i n je znana in se nanaša na površino obdelovanca. Za določitev orientacije potrebujemo še dva pravokotna vektorja v pridruženi tangentni ravnini na površini obdelovanca, pri čemer pa lahko upoštevamo, da je rotacija orodja okoli lastne z-osi irelevantna. Potem lahko tangento določimo tako, da enotski vektor [ ] ˆ 001 = T z baznega koordinatnega sistema obdelovanca {W} vektorsko množimo z normalo ˆ ˆˆ ˆˆ () =×× ii i t nznz . Tretji vektor oz. bitangento določimo z vektorskim produktom normale in tangente ˆ ˆ ˆ = × i ii b nt (slika 3). Slika 3: Koordinatni sistem ene točke pi na obdelovancu Rotacijska matrika z zgornjimi vektorji je sledeča: ˆ ˆ ˆ i W p iii R tbn  =  (1) Orientacijo orodja določimo kot (180 ) i WW E px R RR =⋅° , saj mora biti robotsko orodje poravnano pravokotno na obdelovanec. R x predstavlja elementarno rotacijsko matriko okoli x-osi. Lega orodja v določeni točki površine obdelovanca je potem podana s homogeno transformacijsko matriko: () =  W WW Ei E i Tp R p (2) Ker je znan začetni položaj obdelovanca glede na bazni koordinatni sistem robota B W T , nam množenje matrik poda relativno postavitev robotskega orodja gleda na bazo robota, kot je prikazano na sliki 1. () = ⋅ B BW E WE i T TT p (3) 3.2 Indeks manipulabilnosti Za vsako lego orodja določeno s točko na obdelovancu predstavljeno z matriko () W Ei Tp želimo poiskati dosegljivost oz. rešitev inverzne kinematike (IK) za izbrano robotsko konfiguracijo. V kolikor za vsako lego obstaja rešitev IK, potem lahko dalje računamo indeks manipulabilnosti. Če je točka dosegljiva, pa še ne pomeni, da se bo v njej lahko uspešno izvedel robotski gib, sploh, če je ta v bližini singularnega območja. Eden od meril za ocenjevanje sposobnosti gibanja robota izhaja iz volumna elipsoida, ki je prikazan na sliki 4 [3]. Indeks manipulabilnosti w je za manipulator v konfiguraciji q definiran kot skalarna vrednost: d e t (()()) = T w JqJq (4) Slika 4: Vizualizacija elipsoida manipulabilnosti. Singularni vektorji in singularne vrednosti vi in si Jakobijana prikazujejo smer in dolžino osi elipsoida 4 Barvna mapa manipulabilnosti Barvna mapa predstavlja območja pozicioniranja na podlagi indeksa manipulabilnosti obdelovanca w workpiece za poljubno lego B W T , ki je definiran, kot povprečna vrednost glede na vse točke na obdelovancu: 1 1 () i N workpiece i p w wp N = = ∑ (5) kjer je N število vseh točk p i na obdelovancu, w pa je definiran v enačbi (4). Najprej se kreira pravilna diskretna mreža (slika 5a) vzdolž ravnine x-y, pri čemer se določi tudi nabor orientacij v posameznem vozlišču. V vsakem vozlišču 210 (lega B W T ) se nato izračuna povprečna manipulabilnost w workpiece za vsako orientacijo obdelovanca (slika 5b). Vozlišče z rotacijami, ki dosegajo višje povprečne vrednosti manipulabilnosti, je bolj primerno za pozicioniranje obdelovanca. Označimo ga z w node (6): 1 1 () rot i N node workpiece i r rot w wr N = = ∑ (6) kjer je N rot število vseh rotacij r i za posamezno vozlišče. Vrednost w node se uporablja zgolj za prikaz barvne mape, ter ni vključena v optimizacijski postopek. a) b) Slika 5: Postopek izračuna barvne mape: a) mrežna razporeditev, b) rotacijski kot γ 5 Optimizacija Cilj optimizacije je iskanje najbolj optimalne lege obdelovanca na podlagi povprečnega indeksa manipulabilnosti. Optimalna lega mora predhodno izpolnjevati dva pogoja: (i) obdelovanec mora biti v celoti površinsko obdelan oz. dosegljiv v isti legi, brez ponovnega vpenjanja in (ii) če je le možno, mora konfiguracija robota po celotni površini ostati enaka. Izbran je bil algoritem »Surrogate optimization«, ki je v Matlab programskem okolju najprimernejši za časovno zahtevne funkcije [4,7]. Iskanje globalnega minimuma poteka v več dimenzijah, ki so predmet meja, linearnih ali nelinearnih omejitev. Algoritem najprej ustvari niz naključnih poskusnih leg znotraj meja in v njih oceni kriterijsko funkcijo. Nato ustvari nadomestni model (ang. surrogate model) kriterijske funkcije z interpolacijo radialne bazne funkcije skozi te lege. Globalni minimum kriterijske funkcije išče z vzorčenjem več tisoč naključnih leg znotraj meja. 5.1 Kriterijska funkcija V predstavljeni aplikaciji je iskalni prostor sestavljen iz ravnine x-y. Vrednost na z-osi je konstantna in določena s površino platforme. Za ohranjanje nizke kompleksnosti se upošteva samo kot vrtenja γ okoli z- osi. Kriterijska funkcija za minimizacijo izhaja iz povprečne manipulabilnosti obdelovanca (5) in je sledeča: min max min max min tako da 0 360  ≤≤  ≤≤   ≤γ ≤ °  opt workpiece opt opt x xx w y yy (7) kjer so x min = –350 mm, x max = 350 mm, y min = –850 mm, in y max = 0 mm, zgornje in spodnje meje premične platforme. Čeprav smo definirali spodnje in zgornje meje, je iskalni prostor sestavljen iz kota rotacije, ki se spreminja v homogeni transformacijski matriki B W T . Pri vrtenju obdelovanca blizu m e j s e l a h k o z g odi, da so nekatere točke na obdelovancu zunaj premične platforme. Dodatna omejitev preverja, ali je pozicija x v matriki B E T (enačba 3) znotraj definiranih meja. Lega obdelovanca z najvišjo povprečno vrednostjo manipulabilnosti lahko vključuje kritične točke, kjer je manipulabilnost bistveno zmanjšana. To pomeni, da je zaradi bližine singularne lege robotska naloga lahko težje izvedljiva. Področja s slabo manipulabilnostjo smo izključili iz obravnave tako, da smo določili minimalno vrednost indeksa manipulabilnosti (0,028). Vse točke na obdelovancu morajo biti dosegljive, robot pa ne sme biti v samokoliziji, koliziji z obdelovancem ali s premično platformo. Zaznavanje kolizij temelji na geometriji fizičnega prostora, ki ga zaseda robot in njegovo okolje. Psevdokoda iskanja optimalne lege obdelovanca je prikazana v Algoritmu 1. Algoritem 1. Iskanje optimalne lege obdelovanca 1: Izračunaj matrike () W Ei Tp 2: Definiraj optimizacijski vektor pose x (, ,) opt opt opt xy γ 3: Vstavi vektor pose x v matriko B W T 4: Izračunaj matrike B E T 5: if translacijska komponenta x v 0,35 > B E T 6: odstrani B E T 7: else 8: uporabnik določi robotsko konfiguracijo Qi 9: for each B E T 10: poišči rešitev IK 11: preveri kolizije v konfiguraciji Qi 12: end 13: end 14: if vse lege B E T dosegljive 15: določi min. vrednost za indeks manipulabilnosti w 16: for each Qi 17: izračunaj indeks manipulabilnosti w 18: end 19: izračunaj povprečni indeks obdelovanca wworkpiece 20: end 6 Rezultati Zaradi že omenjenih omejitev sta za celotno površinsko obdelavo od osmih možnih konfiguracij primerni le dve, to sta t. i. leva »FDF« (ang. Front-Down-Flip) in desna »RUNF« (ang. Rear-Up-NoFlip) konfiguracija. Najvišja povprečna vrednost manipulabilnosti obdelovanca (višja vrednost pomeni boljšo manipulabilnost) w workpiece = 0,0740 je v »FDF« konfiguraciji vidna na sliki 6 in se nahaja v sledeči legi: x opt = 201,5 mm, y opt = –637,8 mm, opt γ = 102  . Rezultati v optimalni legi so prikazani tudi barvno glede na indeks manipulabilnosti w za vsako lego orodja na površini obdelovanca za obe konfiguraciji (slika 6). Modra barva ponazarja visoko, rdeča barva pa nizko vrednost manipulabilnosti, kar velja tudi za barvno mapo na sliki 8. 211 Slika 6: Optimalna postavitev za konfiguracijo »FDF« in indeks manipulabilnosti za obe konfiguraciji Dodatna analiza s škatličnim diagramom na sliki 7 pokaže manjši raztros in ugodnejše minimalne vrednosti manipulabilnosti v kritičnih točkah v isti optimalni legi za konfiguracijo »RUNF«. V tej konfiguraciji je sicer nekoliko nižja povprečna manipulabilnost (0,0735), kar pa lahko vseeno ocenjujemo kot bolj primerno za obdelavo celotne površine. Slika 7: Škatlični diagram indeksa manipulabilnosti dveh različnih konfiguracij v isti optimalni legi Optimizacijski rezultati v sorodnih delih so največkrat predstavljeni numerično, brez vizualizacije. To v praksi ni najbolj intuitivno, saj mora človek ročno odmeriti pozicijo in orientacijo vpetja. Slika 8: Barvna mapa manipulabilnosti in optimalna lega obdelovanca prikazana s pametnimi očali Hololens 2 V našem delu, s pametnimi očali Hololens 2 [5] kombiniramo vizualizacijo dveh zadev, prikazanih na sliki 8: (i) barvno mapo, ki prikazuje optimalnost pozicioniranja obdelovanca po celotni delovni površini celice (indeks w node predstavlja eno sfero) in (ii) optimalno lego obdelovanca (obarvan s sivo) izračunano z optimizacijskim algoritmom. 7 Zakl j u ček V tem prispevku je bila uporabljena optimizacijska metoda za iskanje najboljše lege obdelovanca na podlagi Yoshikawinega indeksa manipulabilnosti. Ugotovljeno je bilo, da enostavna povprečna vrednost indeksa manipulabilnosti verjetno ni najboljši optimizacijski kriterij, saj skrije raztros v obravnavanih točkah obdelovanca, prikrije pa tudi kritične točke s (pre)nizko vrednostjo uporabljenega indeksa. To se je pokazalo pri spremembi robotske konfiguracije v izračunani optimalni legi, kar nakazuje na to, da bo v prihodnosti formalni optimizacijski kriterij potrebno ustrezno izpopolniti. Izdelana je bila tudi aplikacija za praktično in intuitivno vizualizacijo s pametnimi očali Hololens 2. Vizualizacija z barvno mapo omogoča hiter pregled optimalnih območij, hkrati pa služi kot verifikacija optimizacijskega algoritma. Prihodnji izzivi vključujejo raziskavo razdelitve površine obdelovanca na regije, z namenom izboljšanja manipulabilnosti s prilagajanjem robotske konfiguracije. V skladu z dosedanjimi rezultati bi v posamezni regiji izvedli nadzorovano in avtomatsko spreminjanje konfiguracij robota, ter na ta način generirali čimbolj ugodno robotsko pot za površinsko obdelavo. Verjamemo, da bo nadaljnja integracija teh konceptov s HoloLens 2 predstavljala dodatno vrednost robotski aplikaciji, zaradi česar bo bolj primerna za uporabo v industriji. L itera tu ra [1] Z. -Y. Liao, Q. -H. Wang, T. -H. Pan, "Optimization of Robot Posture and Workpiece Setup in Robotic Milling With Stiffness Threshold," in IEEE/ASME Transactions on Mechatronics, vol. 27, no. 1, pp. 582-593, Feb. 2022, doi: [2] D., N.C.N., and L., W.: ‘Optimal robot placement with consideration of redundancy problem for wrist-partitioned 6R articulated robots’, Robotics and Computer-Integrated Manufacturing, 2017, 48, pp. 233-242 [3] Yoshikawa T. Manipulability of Robotic Mechanisms. The International Journal of Robotics Research. 1985;4(2):3-9. doi:10.1177/027836498500400201 [4] Gutmann, H.-M. A radial basis function method for global optimization. Journal of Global Optimization 19, Issue 3, 2001, pp. 201–227. https://doi.org/10.1023/A:1011255519438 [5] https://www.microsoft.com/en-us/hololens [6] S. Stradovnik, R. Pučko, Hace, “Fleksibilna kolaborativna robotska celica za površinsko obdelavo s hitrim intuitivnim učenjem in hologramskim AIG.si 21: 8. april 2021, 2021, pp. [7] https://www.mathworks.com/help/gads/surrogate- optimization-algorithm.html