ERK'2021, Portorož, 171-174 171 Klasifikacija trajektorije roke z meritvami pozicije za podporo sodelovanju robota s ˇ clovekom Matija Mavsar 1 1 Laboratorij za humanoidno in kognitivno robotiko, Odsek za avtomatiko, biokibernetiko in robotiko, Institut Joˇ zef Stefan, Jamova cesta 39, 1000 Ljubljana E-mail: matija.mavsar@ijs.si Hand Trajectory Classification from Position Measurements for Human-Robot Collaboration Human-robot collaboration enables higher efficiency in performing complex tasks, while relieving humans of stre- ssful and repetitive work. In order to ensure safe and successful cooperation, it is necessary to monitor the mo- tions of both the robot and the human, where information about the worker’s intended movement can be especially useful. In this paper, we present a neural network struc- ture, which, based on past position measurements, per- forms trajectory classification and thus predicts the tar- get slot, where a person will move the hand when per- forming a collaborative task with a robot. The classifica- tion accuracy of the neural network was tested for differ- ent numbers of past consecutive position measurements. The results showed high accuracy in predicting the cor- rect trajectory, with more measurements leading to bet- ter performance. The predictions allow the robot to be controlled safely and in a timely manner, thus preventing collision and optimizing the process. 1 Uvod Delovna mesta sodobnih robotov se v zadnjih letih premi- kajo iz zaprtih in predvidljivih prostorov v bolj komple- ksna okolja, kjer je na voljo manj informacij, stanja pa se lahko spreminjajo hitro. Obenem se poveˇ cuje potreba po sodelovanju med robotom in ˇ clovekom, saj to omogoˇ ca hitrejˇ se in uˇ cinkovitejˇ se opravljanje nalog, prav tako pa pri tem ˇ cloveka razbremenimo najbolj stresnih, napornih in ponavljajoˇ cih se opravil. Za zagotavljanje varnega in uspeˇ snega sodelovanja med robotom in ˇ clovekom je potreben ustrezen nadzor robota, ki se mora sproti prilagajati trenutnemu gibanju ˇ cloveka oziroma njegovih okonˇ cin, kar pripomore k veˇ cji usklajenosti [1]. Kadar robot in ˇ clovek delata na istem de- lovnem mestu, je ˇ se posebej koristna informacija o ˇ clove- kovi nameri, saj lahko s tem robot predvidi ˇ clovekov gib in se mu pravoˇ casno umakne oziroma prilagodi svoje de- lovne naloge. Sodobni merilni sistemi, kot je OptiTrack, omogoˇ cajo spremljanje trenutne lege ˇ cloveka, kar lahko izkoristimo za ugotavljanje prihodnjih pozicij. V ˇ clanku predstavimo arhitekturo nevronske mreˇ ze, ki na podlagi preteklih zaporednih meritev pozicije ˇ clo- veˇ ske roke napove, v katerega izmed moˇ znih ciljnih mest Slika 1: Prikaz sestavljalnega procesa, ki ga delavec izvaja v sodelovanju z robotom. Predmet mora premakniti v eno izmed ˇ stirih mest, prikazanih na levi strani slike, nevronska mreˇ za pa s pomoˇ cjo meritev pozicije roke izvede klasifikacijo trajektorije in s tem predvidi mesto odlaganja predmeta. bo oseba premaknila objekt tekom preprostega sestavljal- nega procesa (slika 1), pri katerem iz nasprotne smeri sodeluje tudi robot. Na podlagi pridobljene napovedi se lahko robot ustrezno odzove in s tem omogoˇ ca bolj tekoˇ ce sodelovanje. V eksperimentih preizkusimo in primerjamo veˇ c nevronskih mreˇ z, ki kot vhod sprejmejo razliˇ cno ˇ ste- vilo preteklih meritev pozicije, in pokaˇ zemo, da lahko mreˇ za z visoko natanˇ cnostjo klasificira trajektorijo ˇ clove- ˇ ske roke in s tem predvidi konˇ cno odlagalno mesto. Pre- dlagani sistem je tako mogoˇ ce uporabiti kot podporo v delovnem okolju, kjer sodelujeta ˇ clovek in robot, saj z njim lahko poveˇ camo dinamiˇ cnost procesa. 2 Sorodne raziskave Na podroˇ cju sodelovanja robota s ˇ clovekom so raziskave usmerjene v reˇ sevanje raznovrstnih problemov, kot je na primer napovedovanje ˇ cloveˇ skih gibov [2] in uˇ cinkovitej- ˇ se uˇ cenje robotskih gibov s pomoˇ cjo demonstracij [3, 4]. Pri razliˇ cnim nalog so se kot uporabne izkazale metode globokega uˇ cenja, npr. za prepoznavanje kretenj [5] in aktivno vodenje robota z upoˇ stevanjem trenutnih sil, hi- trosti in pozicij [6], njihova uˇ cinkovitost pa seˇ ze tudi na preostala podroˇ cja, kot so sledenje objektom [7] in spod- 172 Softmax 2500 400 4 3·S Zaporedne meritve pozicij Izhodne verjetnosti za posamezno odlagalno mesto Slika 2: Arhitektura nevronske mreˇ ze za klasifikacijo trajek- torije na podlagi S vhodnih zaporednih meritev pozicije roke. Mreˇ za je sestavljena iz polno povezanih, izpustnih in norma- lizacijskih plasti. Na izhodnih vrednostih se tekom treniranja za izraˇ cun napake izvede normalizirana eksponentna funkcija (angl. softmax function), s ˇ cimer pridobimo verjetnosti za posa- mezno odlagalno mesto. bujevalno uˇ cenje [8]. Za prepoznavanje in predvidevanje ˇ cloveˇ skih gibov pri sodelovanju robota in ˇ cloveka so bile razvite ˇ stevilne metode; v [9] je predstavljen sistem sklepanja, ki pred- vidi, katere naloge ˇ clovek trenutno opravlja in katera de- janja bodo tekom procesa ˇ se potrebna, s ˇ cimer optimi- zirajo delovni naˇ crt robota. V [10] so avtorji predsta- vili interakcijske elementarne gibe, s katerimi je mogoˇ ce predvideti konˇ cno obliko ˇ crke na podlagi delnih vzorcev, podobno v [11] ocenjujejo parametre dinamiˇ cnih elemen- tarnih gibov s Kalmanovim filtrom, v [12] pa predstavijo verjetnostne elementarne gibe za uˇ cenje robotskih gibov s pomoˇ cjo posnemovalnega uˇ cenja. Na nevronskih mreˇ zah temeljijo nekatere metode za razpoznavanje razliˇ cnih kretenj [13] in za prepoznavanje namere, ali ˇ zeli ˇ clovek predati predmet robotu [14]. Na- povedovanje prihodnjih telesnih poz na podlagi preteklih skeletnih meritev je bilo med drugim izvedeno z gene- rativnimi modeli [2], kjer je sicer napoved mogoˇ ca le za doloˇ cen interval v prihodnosti, in rekurenˇ cnimi nevron- skimi mreˇ zami [15], ki sestojijo iz spominskih elemen- tov in se zato dobro obnesejo v dinamiˇ cnih okoljih. Prav tako z rekurenˇ cnimi mreˇ zami so [16] napovedali verje- tnost razliˇ cnih izvajanih nalog na podlagi znaˇ cilk pogleda opazovane osebe in telesnih znakov. Predstavljena ne- vronska mreˇ za kljub dinamiˇ cni naravi problema nima re- kurenˇ cne strukture, vendar pa preprosta sestava omogoˇ ca klasifikacijo trajektorije brez potencialno moteˇ cih vpli- vov preteklih meritev, enostavnejˇ se pa je tudi procesira- nje razliˇ cno dolgih gibov. 3 Klasifikacija trajektorije z uporabo ne- vronske mreˇ ze Predlagana nevronska mreˇ za tekom sodelovalne naloge robota in ˇ cloveka izvaja klasifikacijo trajektorije roke in s tem napove, v katerega izmed konˇ cnih odlagalnih mest bo ˇ clovek odloˇ zil predmet. Mreˇ za je sestavljena iz polno povezanih plasti, kot vhod pa sprejme trenutno meritev pozicije roke ter poljubno ˇ stevilo preteklih meritev. Na izhodu poda ˇ stiri vrednosti, ki se nanaˇ sajo na verjetno- sti, da bo delavec predmet premaknil v doloˇ ceno konˇ cno odlagalno mesto. V nadaljevanju podrobneje opiˇ semo strukturo uˇ cnih podatkov in arhitekturo nevronske mreˇ ze. 3.1 Struktura uˇ cnih podatkov Vhod v nevronsko mreˇ zo za klasifikacijo trajektorije je enodimenzionalni vektor v2R 3 S dolˇ zine 3 S, kjer S predstavlja ˇ stevilo zaporednih meritev, vsaka meritev pa je pozicija roke v karteziˇ cnem prostoru (y2R 3 ). Posa- meznemu vhodnemu zaporedju meritev v pripada oznaka K2N, K2[1;4], ki predstavlja ˇ stevilko konˇ cnega mesta, v katerega je delavec odloˇ zil predmet pri izvajanju pri- padajoˇ ce trajektorije. Pari podatkov, ki se uporabljajo za treniranje nevronske mreˇ ze so tako D=fv j ;K j g M j=1 ; (1) kjer je M ˇ stevilo uˇ cnih vzorcev. 3.2 Arhitektura nevronske mreˇ ze Sestava predlagane nevronske mreˇ ze za klasifikacijo traj- ektorije je prikazana na sliki 2. Vhodna plast sestoji iz 3 S nevronov in sprejme S zaporednih karteziˇ cnih meritev pozicije roke, nato sledijo polno povezana plast z 2500 nevroni, normalizacijska plast, izpustna plast (angl. dro- pout layer) z izpustno verjetnostjo 0:3, polno povezana plast velikosti 400, normalizacijska plast, na koncu pa ˇ se izhodna plast s ˇ stirimi nevroni, ki se nanaˇ sajo na moˇ zna konˇ cna mesta odlaganja. 3.2.1 Metoda treniranja nevronske mreˇ ze Za treniranje nevronske mreˇ ze smo najprej na podlagi iz- hodnih vrednosti p=(p 1 ; p 2 ; p 3 ; p 4 ) izraˇ cunali verjetno- sti za posamezno konˇ cno mesto s pomoˇ cjo normalizirane eksponentne funkcije oz. funkcije ohlapnega maksimuma (angl. softmax function), nato pa implementirali napako negativne logaritmiˇ cne verjetnosti (angl. negative log li- kelihood loss). Za posamezen izhod mreˇ ze p pri vhodu v smo glede na ˇ stevilko pravilnega konˇ cnega mesta K na- pako torej izraˇ cunali kot E(p;K)= log( e p K 4 j=1 e p K ): (2) 4 Eksperimenti Z eksperimenti smo preizkusili natanˇ cnost nevronske mre- ˇ ze pri klasifikaciji trajektorij. Pri tem smo ˇ stevilo S, ki oznaˇ cuje ˇ stevilo meritev, vkljuˇ cenih v vhodnem vektorju v, spreminjali od 1 do 4. Tako smo primerjali natanˇ cnost klasifikacije glede na razliˇ cno ˇ stevilo zaporednih meri- tev. Temu primerno smo prilagodili tudi velikost vho- dne plasti nevronske mreˇ ze. ˇ Stevilo zaporednih meritev bi navzgor lahko poveˇ cevali, vendar pa pri tem izgubimo moˇ znost klasifikacije kmalu po zaˇ cetku giba. Prav tako smo ˇ zeleli ohraniti zadosten ˇ casovni razmik med zapore- dnimi meritvami, saj tako zajamemo veˇ cje obmoˇ cje traj- ektorije, na podlagi katerega mreˇ za izvaja klasifikacijo. 4.1 Pridobivanje uˇ cnih podatkov in treniranje Uˇ cni vzorci so bili pridobljeni v eksperimentu, kjer mora delavec v sodelovanju z robotom premikati predmet iz enega konca mize v enega izmed ˇ stirih moˇ znih odlagal- nih mest. Pri zbiranju meritev je delavec premikal pred- met iz zaˇ cetne toˇ cke v razliˇ cna konˇ cna mesta, pri tem 173 1 2 3 4 1 2 3 4 Dejansko odlagalno mesto 87.7% 10.6% 0.5% 1.3% 6.8% 83.1% 4.9% 5.2% 12.1% 34.2% 36.0% 17.6% 8.4% 23.5% 6.0% 62.1% 1 2 3 4 1 2 3 4 90.8% 8.1% 0.0% 1.1% 7.0% 81.0% 9.6% 2.3% 14.1% 13.7% 56.9% 15.3% 9.1% 8.9% 12.3% 69.6% 1 2 3 4 Predvideno odlagalno mesto 1 2 3 4 Dejansko odlagalno mesto 95.3% 3.2% 0.9% 0.6% 9.7% 81.2% 8.4% 0.6% 14.7% 8.0% 61.3% 16.0% 6.6% 5.5% 17.9% 70.0% 1 2 3 4 Predvideno odlagalno mesto 1 2 3 4 91.5% 6.9% 0.3% 1.3% 2.4% 89.6% 7.4% 0.7% 6.8% 15.4% 61.1% 16.7% 1.4% 10.1% 11.9% 76.7% S = 4 S = 3 S = 1 S = 2 1 2 3 4 1 2 3 4 87.5% 9.8% 0.4% 2.4% 6.2% 80.7% 9.4% 3.6% 6.9% 13.4% 70.5% 9.3% 4.7% 8.1% 9.2% 78.0% 1 2 3 4 Predvideno odlagalno mesto 1 2 3 4 Dejansko odlagalno mesto 93.2% 5.1% 0.8% 0.8% 10.2% 80.5% 8.4% 0.9% 5.2% 11.8% 75.5% 7.4% 4.7% 4.9% 11.8% 78.7% 1 2 3 4 Predvideno odlagalno mesto 1 2 3 4 88.2% 10.1% 0.2% 1.5% 3.5% 89.3% 5.5% 1.7% 1.7% 18.5% 68.3% 11.6% 1.5% 7.9% 8.2% 82.4% 1 2 3 4 1 2 3 4 Dejansko odlagalno mesto 85.1% 14.9% 0.0% 0.0% 7.6% 83.6% 4.4% 4.4% 9.4% 31.8% 44.8% 13.9% 4.4% 18.6% 9.7% 67.2% S = 1 S = 2 S = 4 S = 3 Validacijski podatki Testni podatki Slika 3: Matrike pravilnih in napaˇ cnih klasifikacij na validacijskih (levo) ter testnih podatkih (desno) za razliˇ cna ˇ stevila zaporednih meritev S. V m-ti vrstici in n-tem stolpcu matrike je prikazan deleˇ z vseh odlagalnih mest m, ki so bila klasificirane kot n, zato so vsote vrstic vedno 100%. Natanˇ cnost se vidno izboljˇ sa pri veˇ cjem ˇ stevilu zaporednih meritev S. pa je imel na roki pritrjene markerje za sistem OptiTrack V120:Trio. Ob zaˇ cetku giba se je sproˇ zilo snemanje pozi- cij s frekvenco 120 Hz, ob koncu giba pa je bilo snemanje prekinjeno. Poleg meritev pozicije smo po vsakem gibu shranili tudi ˇ stevilko konˇ cnega odlagalnega mesta K. Pridobili smo bazo 1200 gibov oz. zaporedij izmer- jenih pozicij roke, od ˇ cesar smo 100 gibov prihranili za konˇ cno testiranje nauˇ cenih mreˇ z. Preostalih 1100 gibov smo ˇ casovno podvzorˇ cili z nakljuˇ cnim faktorjem, da je bilo konˇ cno ˇ stevilo pozicijskih meritev za vsak gib med 10 in 20. Iz vsakega giba smo pridobili vsa zaporedja meritev v dolˇ zine S. Skupno ˇ stevilo uˇ cnih zaporedij je bilo 26323 (5 S), od ˇ cesar jih je bilo 23963 (5 S) uporabljenih za treniranje, 2360 (5 S) pa za validacijo mreˇ ze pri procesu uˇ cenja (manjˇ si kot je S, veˇ cje je ˇ stevilo vzorcev zaradi krajˇ sega zaporedja). Na enak naˇ cin smo iz 100 testnih gibov pridobili 1272 (5 S) zaporedij. 4.1.1 Treniranje Nevronska mreˇ za je bila implementirana z orodjem Py- Torch [17] na grafiˇ cni kartici NVIDIA GeForce GTX 1080. Pri treniranju je bil uporabljen optimizacijski algoritem RMSprop [18], stopnja uˇ cenja je bila nastavljena na 5 10 5 , velikost uˇ cnih paketov pa je bila 128. Treniranje se je ustavilo po 60 epohah brez izboljˇ sanja napake na validacijskih podatkih. 4.2 Rezultati Slika 3 prikazuje matrike pravilnih in napaˇ cnih klasifi- kacij na validacijskih ter testnih podatkih za ˇ stiri razliˇ ci- ce nevronske mreˇ ze (ˇ stevilo zaporednih meritev S od 1 do 4). Vrednosti v posamezni vrstici predstavljajo deleˇ ze klasifikacij za pripadajoˇ ce odlagalno mesto (vsota v vsaki vrstici je tako 100%), kjer natanˇ cnosti na validacijski bazi (levo) segajo pribliˇ zno od 45% do 95%. Ta baza je bila uporabljena za ustavitev treniranja, zato so za bolj vero- dostojen prikaz uspeˇ snosti mreˇ ze ustreznejˇ si rezultati te- stne baze, prikazani na sliki 3 desno. Natanˇ cnosti klasi- fikacije na testni bazi se podobno kot na validacijski bazi gibljejo pribliˇ zno od 36% do 95%, opaziti pa je boljˇ so natanˇ cnost pri viˇ sanju ˇ stevila zaporednih meritev S, kjer je izboljˇ sanje najbolj oˇ citno pri S> 1. Na sliki 4a je graf natanˇ cnosti v odvisnosti od deleˇ za izvedenega giba, iz katerega je razvidno, da s kasnejˇ simi meritvami lahko bolj natanˇ cno doloˇ cimo, v katero konˇ c- no odlagalno mesto bo delavec premaknil predmet, saj so si gibi v zaˇ cetnem delu bolj podobni kot na koncu. Stolpiˇ cni diagram slike 4b prikazuje primerjavo posame- znih razliˇ cic mreˇ ze pri natanˇ cnosti klasifikacije, kjer je upoˇ stevana povpreˇ cna natanˇ cnost na vseh zaporedjih dol- ˇ zine S v testnih podatkih. Podobno kot na sliki 3 je tudi tu razvidno izboljˇ sanje natanˇ cnosti z veˇ canjem S. Rezultati eksperimentov kaˇ zejo, da se natanˇ cnost kla- sifikacije izboljˇ sa s procesiranjem veˇ cjega ˇ stevila zapore- dnih meritev pozicije, vendar pa se najveˇ cji skok v na- tanˇ cnosti pojavi ˇ ze pri poveˇ canju parametra S iz 1 na 2. Za najviˇ sjo natanˇ cnost je zato najbolj primerna vrednost parametra S= 4, kadar pa je zaˇ zelena hitrejˇ sa odzivnost na trenutne meritve, pa S= 2 zagotavlja zadovoljivo na- tanˇ cnost klasifikacije. 5 Zakljuˇ cek V ˇ clanku smo predstavili arhitekturo nevronske mreˇ ze za klasifikacijo trajektorij, ki jih ˇ clovek izvaja pri opravlja- nju naloge v sodelovanju z robotom, in pridobili bazo gi- bov, na kateri smo preizkusili veˇ c razliˇ cic mreˇ ze z razliˇ c- nim ˇ stevilom vhodnih zaporednih meritev pozicije. Poka- 174 40 50 60 70 80 90 100 Dele izvedenega giba [%] 60 70 80 90 100 Natan nost klasifikacije [%] S=1 S=2 S=3 S=4 S=1 S=2 S=3 S=4 tevilo zaporednih meritev (S) 0 20 40 60 80 Skupna natan nost klasifikacije [%] a) b) Slika 4: Graf a) predstavlja natanˇ cnost klasifikacije gibov iz te- stne baze v odvisnosti od deleˇ za izvedenega giba tekom procesa premikanja predmeta do odlagalnega mesta. Vidno je postopno veˇ canje natanˇ cnosti, saj se trajektorije proti koncu giba med se- boj bolj razlikujejo kot na zaˇ cetku. Na grafu b) pa so primerjane skupne natanˇ cnosti vseh zaporednih meritev v testnih podatkih za ˇ stiri razliˇ cice mreˇ ze. zali smo, da lahko mreˇ za kljub svoji preprosti strukturi z visoko natanˇ cnostjo predvidi, v katero izmed konˇ cnih leg bo ˇ clovek premaknil predmet, s ˇ cimer lahko omogoˇ cimo bolj tekoˇ ce sodelovanje med robotom in ˇ clovekom. Moˇ znosti za nadaljnje raziskovanje vkljuˇ cujejo upo- rabo rekurenˇ cnih nevronskih mreˇ z, ki so sposobne pro- cesirati celotna zaporedja podatkov in lahko podajo na- povedi ˇ ze po obdelavi prvega vzorca (npr. prve meritve pozicije). Za veˇ cjo avtonomnost procesa klasifikacije bi bil koristen tudi dodaten sistem, ki bi ugotavljal, kdaj se gib delavca zaˇ cne in konˇ ca, prav tako uporabna iz- boljˇ sava mreˇ ze pa bi bila moˇ znost klasificiranja neposre- dno iz barvno-globinskih slik delavca s pomoˇ cjo kamere, kar bi odstranilo potrebo po uporabi draˇ zje opreme, kot je sistem OptiTrack. Literatura [1] G. Hoffman, “Evaluating fluency in human–robot collabo- ration,” IEEE Transactions on Human-Machine Systems, let. 49, ˇ st. 3, str. 209–218, 2019. [2] J. B¨ utepage, H. Kjellstr¨ om, in D. Kragic, “Anticipating many futures: Online human motion prediction and gene- ration for human-robot interaction,” v IEEE International Conference on Robotics and Automation (ICRA), 2018, str. 4563–4570. [3] A. Gams in A. Ude, “On-line coaching of robots through visual and physical interaction: Analysis of effectiveness of human-robot interaction strategies,” v IEEE Interna- tional Conference on Robotics and Automation (ICRA), 2016, str. 3028–3034. [4] M. Simoniˇ c, T. Petriˇ c, A. Ude, in B. Nemec, “Analysis of methods for incremental policy refinement by kinesthetic guidance,” Journal of Intelligent & Robotic Systems, let. 102, ˇ st. 1, 2021. [5] H. Liu in L. Wang, “Gesture recognition for human-robot collaboration: A review,” International Journal of Indu- strial Ergonomics, let. 68, str. 355–367, 2018. [6] Y . Li in S. S. Ge, “Human–Robot Collaboration Based on Motion Intention Estimation,” IEEE/ASME Transactions on Mechatronics, let. 19, ˇ st. 3, str. 1007–1014, 2014. [7] S. Krebs, B. Duraisamy, in F. Flohr, “A survey on leve- raging deep neural networks for object tracking,” v IEEE 20th International Conference on Intelligent Transporta- tion Systems (ITSC), 2017, str. 411–418. [8] V . Franc ¸ois-Lavet, P. Henderson, R. Islam, M. G. Belle- mare, in J. Pineau, “An introduction to deep reinforcement learning,” arXiv preprint arXiv:1811.12560, 2018. [9] K. P. Hawkins, S. Bansal, N. N. V o, in A. F. Bobick, “An- ticipating human actions for collaboration in the presence of task and sensor uncertainty,” v IEEE International Con- ference on Robotics and Automation (ICRA), 2014, str. 2215–2222. [10] H. Ben Amor, G. Neumann, S. Kamthe, O. Kroemer, in J. Peters, “Interaction primitives for human-robot coope- ration tasks,” v IEEE International Conference on Robo- tics and Automation (ICRA), 2014, str. 2831–2837. [11] D. Widmann in Y . Karayiannidis, “Human motion predic- tion in human-robot handovers based on dynamic move- ment primitives,” v European Control Conference (ECC), 2018, str. 2781–2787. [12] G. J. Maeda, G. Neumann, M. Ewerton, R. Lioutikov, R. Lioutikov, O. Kroemer, in J. Peters, “Probabilistic mo- vement primitives for coordination of multiple human– robot collaborative tasks,” Autonomous Robots, let. 41, ˇ st. 3, str. 593–612, 2017. [13] P. Bao, A. I. Maqueda, C. R. del Blanco, in N. Garc´ ıa, “Tiny hand gesture recognition without localization via a deep convolutional network,” IEEE Transactions on Con- sumer Electronics, let. 63, ˇ st. 3, str. 251–257, 2017. [14] J. Kwan, C. Tan, in A. Cosgun, “Gesture recognition for initiating human-to-robot handovers,” arXiv preprint arXiv:2007.09945, 2020. [15] J. Zhang, H. Liu, Q. Chang, L. Wang, in R. X. Gao, “Recurrent neural network for motion trajectory predic- tion in human-robot collaborative assembly,” CIRP An- nals, 2020. [16] P. Schydlo, M. Rakovic, L. Jamone, in J. Santos-Victor, “Anticipation in human-robot cooperation: A recurrent neural network approach for multiple action sequences prediction,” v IEEE International Conference on Robotics and Automation (ICRA), 2018, str. 5909–5914. [17] A. Paszke, S. Gross, F. Massa, A. Lerer, J. Bradbury, G. Chanan, T. Killeen, Z. Lin, N. Gimelshein, L. An- tiga, A. Desmaison, A. Kopf, E. Yang, Z. DeVito, M. Ra- ison, A. Tejani, S. Chilamkurthy, B. Steiner, L. Fang, J. Bai, in S. Chintala, “PyTorch: An imperative style, high-performance deep learning library,” v Advances in Neural Information Processing Systems, 2019, let. 32, str. 8024–8035. [18] T. Tieleman, G. Hinton idr., “Lecture 6.5-rmsprop: Di- vide the gradient by a running average of its recent ma- gnitude,” COURSERA: Neural networks for machine le- arning, let. 4, ˇ st. 2, str. 26–31, 2012.