ERK'2021, Portorož, 139-142 139 Optimizacijski problem generiranja ˇ casovno minimalne trajektorije z uporabo B´ ezierovih krivulj Martina Benko Loknar, Gregor Klanˇ car, Saˇ so Blaˇ ziˇ c Univerza v Ljubljani, Fakulteta za elektrotehniko, Trˇ zaˇ ska cesta 25, SI-1000 Ljubljana, Slovenija E-mail: martina.loknar@fe.uni-lj.si Povzetek ˇ Clanek obravnava problem ˇ casovno minimalnega plani- ranja gladkih trajektorij za avtonomne mobilne sisteme. Izraˇ cunana gladka pot je definirana po delih in jo sestavl- jajo B´ ezierove krivulje. Hitrostni profili na posameznih segmentih so ˇ casovno minimalni in imajo na spojih upo- rabljenih krivuljnih primitivov zvezno hitrost in pospeˇ sek. Reˇ sitev iˇ sˇ cemo z izraˇ cunavanjem ˇ casa potovanja vzdolˇ z segmentov B´ ezierovih krivulj z nekaterimi prostimi para- metri. Pri tem uporabimo algoritem, ki vzdolˇ z dane poti generira ˇ casovno minimalen hitrostni profil z upoˇ stevanjem omejitev hitrosti, pospeˇ ska in trzaja. 1 Uvod Algoritmi planiranja poti imajo v mobilni robotiki izjemno ˇ siroko uporabo in generirajo geometrijsko pot od zaˇ cetne do konˇ cne toˇ cke prek vnaprej definiranih toˇ ck. Glavni cilj teh algoritmov je najti optimalno pot, ki (1) minimizira razdaljo med zaˇ cetno in konˇ cno toˇ cko, (2) se izogne ovi- ram in (3) je (dovolj) gladka. [1]. Algoritmi planiranja trajektorij pa toˇ ckam geometrijske poti pripiˇ sejo ˇ se ˇ casovne trenutke, ko bi naj jih mobilni sistem dosegel. Problem ˇ casovno minimalnega planiranja trajektorij ostaja aktualen zaradi naraˇ sˇ cajoˇ cih zahtev po optimalnem delovanju mo- bilnih sistemov, robotov in avtomatiziranih strojev. Definiranje ˇ casovnih trenutkov vzdolˇ z poti vpliva na kinematiˇ cne in dinamiˇ cne lastnosti gibanja mobilnega sis- tema: sile in navori zavisijo od pospeˇ ska vzdolˇ z trajek- torije, medtem ko vibracije njegove mehanske strukture veˇ cinoma doloˇ cajo vrednosti trzaja. Da bi zadostili kine- matiˇ cnim omejitvam vozila, mora biti dobljena pot gladka; biti mora izvedljiva pri visokih hitrostih in hkrati neˇ skodlji- va za mehanski sistem v smislu izogibanja vibracijam in prevelikim pospeˇ skom aktuatorjev [2]. Mnogo raziskav se zato posveˇ ca omejitvam ali minimizaciji trzaja na dani poti [3]. Planiranje trajektorije oziroma v sploˇ snem plani- ranje gibanja mobilnih sistemov pa se pogosto razstavi na dva loˇ cena problema: problem planiranja poti in prob- lem planiranja hitrosti na tej dani poti [4]. Osnovni grad- niki gladkih poti so krivuljni primitivi, kot so na primer polinomi, klotoide in B´ eziereve krivulje. ˇ Siroka uporaba B´ ezierevih krivulj, ki jih definirajo t.i. kontrolne toˇ cke, je posledica njihovih ugodnih lastnosti [5]– [8]. Izbor kon- trolnih toˇ ck pomembno vpliva na lastnosti generirane kri- vulje, zato so raziskave pogosto usmerjene v optimizacijo lege kontrolnih toˇ ck, tudi z uporabo metahevristiˇ cnih op- timizacijskih algoritmov (npr., genetski algoritmi, opti- mizacija z roji delcev, ang. tabu-search, ang. firefly algo- rithm) [9][10]. Problem planiranja hitrosti na dani poti pa se ukvarja z generiranjem hitrostnega profila, ki je na dani poti izvedljiv. Kot omenjajo avtorji v [11], se v raziskavah pogosto predpostavi doloˇ ceno obliko hitrost- nega profila (polinom, trapez ipd.). ˇ Clanek obravnava problem generiranja ˇ casovno min- imalnih trajektorij za kolesni mobilni sistem, ki se giba v omejenem prostoru brez ovir. Dirkalno stezo smo razdelili na veˇ c posameznih odsekov in na vsakem doloˇ cili B´ ezier- ovo krivuljo, na kateri je bil ˇ cas voˇ znje najkrajˇ si. ˇ Casovno minimalen hitrostni profil na posameznem krivuljnem prim- itivu smo doloˇ cili z algoritmom, ki upoˇ steva omejitve hitrosti, radialnega in tangentnega pospeˇ ska in radialnega in tangentnega trzaja. 2 Definicija problema Naj bo gibanje delca vzdolˇ z trikrat zvezno odvedljive pla- narne krivuljeC opisano kot funkcija ˇ casa t2 [0;t f ] s pozicijskim vektorjemr(t) z zaˇ cetkom v danem fiksnem izhodiˇ sˇ cu. Vektorje hitrostiv(t), pospeˇ skaa(t) in trzaja j(t) lahko izrazimo v tangentno-normalni obliki kot: v(t) =v(t) ^ T (1a) a(t) =a T (t) ^ T+a R (t) ^ N (1b) j(t) =j T (t) ^ T+j R (t) ^ N; (1c) pri ˇ cemer sta ^ T in ^ N enotski tangentni in enotski nor- malni vektor. Kolesni mobilni sistem ima nalogo, da v ˇ cim krajˇ sem ˇ casu prevozi dirkalno stezo v ravninskem prostoru brez ovir. Pri tem je njegovo gibanje dodatno omejeno z dinamiˇ cnimi omejitvami hitrosti, pospeˇ ska in trzaja: 0 k v(t)k v MAX ; 8t2 [0;t f ]; (2a) a 2 T (t) a 2 TMAX + a 2 R (t) a 2 RMAX 1; 8t2 [0;t f ]; (2b) j 2 T (t) j 2 TMAX + j 2 R (t) j 2 RMAX 1; 8t2 [0;t f ]: (2c) Naˇ s cilj je razviti in implementirati algoritem za gener- iranje trajektorije, ki zadosti vsem naˇ stetim omejitvam. 140 Algoritem, ki vzdolˇ z dane poti generira ˇ casovno mini- malen hitrostni profil z omejitvami hitrosti, pospeˇ ska in trzaja, je sestavljen iz dveh korakov. V prvem koraku algoritma (podrobneje opisan v [12]) se upoˇ stevajo ome- jitve hitrosti in pospeˇ ska. V drugem koraku algoritem modificira prvotni hitrostni profil tako, da so upoˇ stevane tudi omejitve trzaja, pri ˇ cemer se postopek razlikuje glede na tip krˇ sitve (toˇ ckaste ali intervalne krˇ sitve trzaja). Na danem izvedljivem segmentu poti, ki je v naˇ sem primeru Bernstein-B´ ezierova krivulja, je optimizacijski problem najti hitrostni profilv(t), ki doseˇ ze konec krivulje v min- imalnem ˇ casu tako, da pri tem ni preseˇ zena nobena od omejitev. Eden od dosedanjih poskusov reˇ sitve tega prob- lema je opisan tudi v [13]. 3 Krivuljni primitivi N-dimenzionalen Bernsteinov polinomn-tega reda,r n ( ) : [0;1]!R N , je definiran kot: r n ( ) = n X i=0 P i;n B i;n ( ); 2 [0;1] (3) pri ˇ cemer je normaliziran ˇ cas (0 1),P i;n 2R N jei-ta kontrolna toˇ cka inB i;n ( ) je baza Bernsteinovih polinomov, definirana kot: B i;n ( ) = n i i (1 ) n i ; (4) za vsei2f0;:::;ng, pri ˇ cemer je n i binomski koefi- cient. Naj boP n = [P 0;n ;:::;P n;n ]2R N (n+1) vek- tor kontrolnih toˇ ck polinoma r n ( ). Bernsteinov poli- nom v enaˇ cbi(3) lahko tedaj zapiˇ semo v matriˇ cni obliki: r n ( ) =P n 2 6 6 4 B 0;n ( ) B 1;n ( ) ::: B n;n ( ) 3 7 7 5 (5) Kadar se Bernsteinovi polinomi uporabljajo za opis pla- narnih in prostorskih krivulj, se jih pogosto imenuje tudi B´ ezierove krivulje. Zaradi ugodnih geometrijskih last- nosti in numeriˇ cne stabilnosti se B´ ezierove krivulje pogosto uporabljajo pri naˇ crtovanju poti mobilnih sistemov [5]. Prva in zadnja toˇ cka Bernsteinovega polinoma iz enaˇ cbe (3) sta tudi njuni konˇ cni toˇ cki: r n (0) =P 0;n and r n (1) =P n;n : (6) Poleg tegaN-dimenzionalen Bernsteinov polinomn-tega reda leˇ zi notraj konveksne ogrinjaˇ ce, ki jo definira P n . Zaˇ cetek in konec B´ ezierove krivulje je tudi tangenten na prvi in zadnji odsek konveksnega poligona: dr n d =0 =n(P 1;n P 0;n ) (7) dr n d =1 =n(P n;n P n 1;n ) (8) Preostale lastnosti Bernsteinovih polinomov (odvodi, raˇ cunanje doloˇ cenih integralov, de Casteljaujev algoritem, viˇ sanje stopnje polinomov ipd.) ne spadajo v vsebinskega okvir tega ˇ clanka; za zainteresiranega bralca je veˇ c detajlov na voljo v [5]. 3.1 Konstrukcija posamezne krivulje B´ ezierove krivulje, ki jih doloˇ ca zelo veliko ˇ stevilo kon- trolnih toˇ ck, so numeriˇ cno nestabilne, zato je pri plani- ranju poti zaˇ zeljeno konstruirati gladko pot, ki jo ses- tavlja veˇ c B´ ezierovih krivulj nizkega reda. Na spojih posameznih krivulj mora biti izpolnjen pogoj zvezne ukriv- ljenosti. Najmanjˇ si red B´ ezierovih krivulj, ki zadosti tej zahtevi jen = 5. B´ ezierova krivulja petega redar 5 ( ) = [x( );y( )] T je definirana s ˇ sestimi kontrolnimi toˇ ckami P i;5 = [x i ;y i ],i2f0;1;:::5g: r 5 ( ) = (1 ) 5 P 0;5 +5 (1 ) 4 P 1;5 +10 2 (1 ) 3 P 2;5 +10 3 (1 ) 2 P 3;5 +5 4 (1 )P 4;5 + 5 P 5;5 (9) ˇ Clanek obravnava zgolj B´ ezierove krivulje petega reda, zato bomo v nadaljevanju ˇ clanka zaradi preglednosti pri sklicevanju na kontrolne toˇ cke izpuˇ sˇ cali drugi indeks, ki oznaˇ cuje red krivulj. Za uˇ cinkovito iskanje optimalne tra- jektorije je zelo pomemben naˇ cin konstrukcije B´ ezierovih krivulj in izbor ustreznih optimizacijskih parametrov. Od- vod ukrivljenosti doloˇ ca vrednost radialnega trzaja (prvi ˇ clen v spodnjem izrazu): j(t) = v v 3 2 ^ T+ 1 v d dt v 3 ^ N (10) ki jo vP 0 postavimo na 0 kot smiselno dodatno omejitev trzaja na spojih zlepkov. Koordinate posameznih kontrol- nih toˇ ckP i oznaˇ cimo z(x i ;y i ) zai2f0;:::;5g. Zai2 f0;:::;4g pa oznaˇ cimo razdalje med zaporednimi kon- trolnimi toˇ ckamid(P i ;P i+1 ) zd i+1 in kote^(d i ;y = 0) s’ i (slika 1). Velja: x i+1 x i =d i+1 cos’ i+1 (11a) y i+1 y i =d i+1 sin’ i+1 (11b) Izraza 11a-11b ovrednotimo za i 2 f0;1g, uporabimo adicijske izreke in dobimo naslednji izraz za ukrivljenost 0 vP 0 : lim !0 ( ) = 0 = 4 5 d 2 d 2 1 sin(’ 2 ’ 1 ) (12) in za odvod ukrivljenosti 0 0 vP 0 : lim !0 d d = 12 5 1 d 2 1 d 3 sin(’ 3 ’ 1 )+ + 0 12 d 2 d 1 cos(’ 2 ’ 1 )+6 (13) ˇ Ce drugi ˇ clen v izrazu (13) postavimo na 0, potem: d 2 d 1 = 1 2cos(’ 2 ’ 1 ) (14) Ukrivljenost in njen odvod vP 0 sta tedaj: 0 = 4 10 tan(’ 2 ’ 1 ) d 1 (15a) 0 0 = 12 5 d 3 sin(’ 3 ’ 1 ) d 2 1 (15b) Konstrukcija posamezne B´ ezierove krivulje tako poteka v naslednjih korakih (slika 1): 141 1. Zaˇ crtamo prvo kontrolno toˇ cko in jo oznaˇ cimo z P 0 . V smeri’ 1 odmerimo dolˇ zinod 1 in oznaˇ cimo drugo toˇ cko zP 1 . 2. V smeri’ 1 nato odmerimo dolˇ zinod jj 2 , ki sledi iz izraza (14): d jj 2 =d 2 cos(’ 2 ’ 1 ) = 1 2 d 1 (16) 3. V pravokotni smeri nato odmerimo razdaljo d ? 2 , (izraz 12): d ? 2 = 5 4 d 2 1 0 (17) in tretjo kontrolno toˇ cko oznaˇ cimo sP 2 . 4. Vse toˇ cke, ki so odP 2 v isti smeri (pravokotno na daljicoP 0 P 1 ) oddaljene zad ? 3 (izraz 13), oznaˇ cimo s ˇ crtkano ˇ crto: d ? 3 = 5 12 d 2 1 0 0 (18) 5. Zaˇ crtamo zadnjo kontrolno toˇ cko in jo oznaˇ cimo s P 5 . V smeri kota’ 5 odmerimo dolˇ zinod 5 in peto kontrolno toˇ cko oznaˇ cimo sP 4 . 6. Vse toˇ cke, ki so od P 4 oddaljene za d ? 4 (izrazi 11a-11b, 12 zai = 4) pravokotno glede na daljico P 4 P 5 , oznaˇ cimo s ˇ crtkano ˇ crto: d ? 4 = 5 4 d 2 5 5 (19) 7. ˇ Cetrta kontrolna toˇ ckaP 3 leˇ zi na preseˇ ciˇ sˇ cu obeh ˇ crtkanih ˇ crt. B´ ezierova krivulja je sedaj popolnoma definirana. Slika 1: Konstrukcija B´ ezierove krivulje. 3.2 Generiranje celotne trajektorije Kolesni mobilni sistem se po ravni podlagi lahko giba po dirkalni stezi – omejenem prostoru brez ovir. Da bi poveˇ cali uˇ cinkovitost optimizacije, dirkalno stezo razde- limo na posamezne odseke, na katerih iˇ sˇ cemo optimalne trajektorije. Problem je zastavljen tako, da je na posa- meznem odseku steze vnaprej znan poloˇ zaj(x 1 ;y 1 ) prve kontrolne toˇ cke B´ eziereve krivulje, kot’ 1 , ter vrednosti ukrivljenosti 0 in odvoda ukrivljenosti 0 0 vP 0 . Shema na sliki (2) opisuje sploˇ sno delovanje pred- stavljenega algoritma za generiranje trajektorij. Dirkalna steza je sestavljena izm segmentov inj je trenutno za- poredno ˇ stevilo segmenta, na katerem se izvaja raˇ cunanje: j 2 f1;2;:::mg. Uporabljena nelinearna optimizaci- jska metoda je funkcija fmincon programskega okolja MATLAB, gradientna metoda, ki v vsaki iteraciji spre- meni proste parametre krivulje tako, da se vrednost kri- terijske funkcije (ˇ cas potovanja vzdolˇ z krivulje) postopno zmanjˇ suje in naposled doseˇ ze minimum. ˇ Cas potovanja t T vzdolˇ z krivulje se izraˇ cuna z uporabo algoritma, ki generira ˇ casovno minimalen hitrostni profil. Pri tem je potrebno paziti, da so hitrosti in pospeˇ ski na spojih zlep- kov zvezni. Postopek se ponavlja na vsakem segmentu, dokler ni doloˇ cena celotna trajektorija vzdolˇ z dirkalne steze. 𝑗 = 1 𝑗 = 𝑗 + 1 NES NE vhodni podatki: omejitve poti, dinamične omejitve Bézierova krivulja s fiksnimi parametri: (𝑥 1 , 𝑦 1 ), 𝜑 1 , 𝜅 1 , 𝜅 1 ′ Rešitev na 𝑗 -tem segmentu: ▪ 𝑃 𝑖 za Bézierovo krivuljo ▪ čas. min. hitrostni profil časovno minimalen hitrostni profil (zveznost: 𝑣 (𝑡 ), 𝑎 (𝑡 )) ⇒ 𝑡 𝑇 spremeni: 𝑑 1 , 𝑑 5 / 𝑑 1 , 𝑑 5 , (𝑥 5 , 𝑦 5 ), 𝜑 5 , 𝜅 5 konec začetek Type equation here. DAS 𝑡 𝑇 = 𝑡 𝑀𝐼𝑁 ? DAS 𝑗 = 𝑚 ? fmincon Slika 2: Konstrukcija B´ ezierove krivulje. Algoritem za generiranje ˇ casovno minimalne trajek- torijeT je bil izveden v dveh razliˇ cicah. V prvi razliˇ cici z reˇ sitvijoT 2 sta prosta parametra le dva, razdaljid 1 ind 5 , zaˇ cetni pribliˇ zek optimizacije pa je ˇ cas potovanja vzdolˇ z hevristiˇ cno doloˇ cene B´ ezierove krivulje. V drugi razliˇ cici z reˇ sitvijoT 5;II ), pa je prostih parametrov pet: razdaljid 1 , d 5 ,(x 5 ;y 5 ), kot’ 5 in 5 . Zaˇ cetni pribliˇ zek optimizacije (T 5;I ) pa je reˇ sitev optimizacijskega problema na istem odseku z dvema prostima parametroma. 4 Rezultati simulacij in komentarji Simulacije smo izvedli v programskem okolju MATLAB. Na dani dirkalni stezi, razdeljeni na 6 odsekov, smo z gradientno metodo izraˇ cunali ˇ casovno minimalno trajek- torijo za kolesni mobilni sistem z naslednjimi dinamiˇ cnimi omejitvami:v MAX = 1:5m=s,a TMAX = 2m=s 2 ,a RMAX = 4m=s 2 ,j TMAX = 6m=s 3 andj RMAX = 8m=s 3 . 142 Slika (3) prikazuje dano 6-segmentno dirkalno stezo in ˇ casovno minimalne trajektorije (debele ˇ crte). Vmesni rezultati iteracij so prikazani s tankimi ˇ crtami. Slika 3: Iskanje ˇ casovno minimalnih trajektorij T2 (zgoraj) in T5;II (spodaj). Tabela (1) prikazuje ˇ case potovanjat i [s] na posameznih odsekih dirkalne steze. Trenutni delni rezultati naˇ se ˇ stu- dije so pokazali, da naj bi bil ˇ cas potovanja najkrajˇ si v primeru optimizacije le dveh prostih parametrov, ki doloˇ cata B´ ezierove krivulje. Poleg tega, da nastavitev moˇ znosti optimizacije v funkcijifmincon zahteva veliko izkuˇ senj, pa nekonsistentnost rezultatov lahko kaˇ ze na nezveznost kriterijske funkcije, kar je veliko bolj kompleksen, a ne nereˇ sljiv problem. t 1 t 2 t 3 t 4 t 5 t 6 P 6 i=1 t i T 2 1,97 0,62 2,73 2,34 0,93 0,47 9,06 T 5;I 1,97 0,59 2,81 2,34 0,98 0,54 9,23 T 5;II 1,91 0,57 2,78 2,29 0,98 0,54 9,07 Tabela 1: ti in celoten ˇ cas potovanja P 6 i=1 ti zaT . 5 Zakljuˇ cek ˇ Clanek predstavi delovanje algoritma za planiranje ˇ cas- ovno minimalnih trajektorij v okolju brez ovir. Temelji na uporabi B´ ezierovih krivulj in upoˇ steva prostorske (gibanje po dirkalni stezi v ravnini) in dinamiˇ cne omejitve (hitrosti, pospeˇ ska in trzaja). Kljub nekaterim omejitvam pred- stavljene metode verjamemo, da bodo rezultati te ˇ studije lahko osnova za naˇ se raziskovanje v prihodnosti. V prihodnje se bomo najprej usmerili v razvoj in val- idacijo algoritma za generiranje ˇ casovno minimalnih tra- jektorij s hkratnim upoˇ stevanjem poteka dirkalne steze na naslednjih odsekih (analogija s strategijo pomiˇ cnega hor- izonta, v ang. receding horizon strategy) in natanˇ cnejˇ so analizo uˇ cinkovitosti algoritma (raˇ cunskih ˇ casov). Morda bi se kot ugoden naˇ cin reˇ sevanja izkazala tudi uporaba B´ ezerovih krivulj viˇ sjega reda. Zahvala ˇ Clanek je nastal s finanˇ cno podporo Agencije Republike Slovenije za raziskovalno dejavnost (ˇ st. P2-0219). Literatura [1] A. Tharwat, M. Elhoseny, A. E. Hassanien, T. Gabel, and A. Kumar, “Intelligent B´ ezier curve-based path planning model using Chaotic Particle Swarm Optimization algo- rithm,” Cluster Computing, vol. 22, pp. 4745–4766, 2019. [2] A. Gasparetta, P. Boscario, A. Lanzutti, and R. Vi- doni, Motion and Operation Planning of Robotic Systems, vol. 29 of Mechanisms and Machine Science. Cham: Springer International Publishing, 2015. [3] D. Gonz´ alez, J. P´ erez, V . Milan´ es, and F. Nashashibi, “A Review of Motion Planning Techniques for Automated Vehicles,” IEEE Transactions on Intelligent Transporta- tion Systems, vol. 17, no. 4, pp. 1135–1145, 2016. [4] X. Qian, F. Altch´ e, P. Bender, C. Stiller, and A. De La Fortelle, “Optimal trajectory planning for autonomous driving integrating logical constraints: An MIQP perspec- tive,” IEEE Conference on Intelligent Transportation Sys- tems, Proceedings, ITSC, pp. 205–210, 2016. [5] C. Kielas-Jensen and V . Cichella, “BeBOT: Bernstein Polynomial Toolkit for Trajectory Generation,” IEEE In- ternational Conference on Intelligent Robots and Systems, no. 3, pp. 3288–3293, 2019. [6] L. Zheng, P. Zeng, W. Yang, Y . Li, and Z. Zhan, “B´ ezier curve-based trajectory planning for autonomous vehicles with collision avoidance,” IET Intelligent Transport Sys- tems, vol. 14, no. 13, pp. 1882–1891, 2020. [7] R. Cimurs, J. Hwang, and I. H. Suh, “Bezier curve-based smoothing for path planner with curvature constraint,” Proceedings - 2017 1st IEEE International Conference on Robotic Computing, IRC 2017, pp. 241–248, 2017. [8] H. Li, Y . Luo, and J. Wu, “Collision-free path planning for intelligent vehicles based on b´ ezier curve,” IEEE Access, vol. 7, pp. 123334–123340, 2019. [9] G. Kamaras, P. Stamatopoulos, and S. Konstantopou- los, “Path planning for terrain of steep incline using Bezier curves,” Proceedings - International Conference on Tools with Artificial Intelligence, ICTAI, vol. 2020- Novem, pp. 101–105, 2020. [10] B. Li, L. Liu, Q. Zhang, D. Lv, Y . Zhang, J. Zhang, and X. Shi, “Path planning based on firefly algorithm and Bezier curve,” 2014 IEEE International Conference on In- formation and Automation, ICIA 2014, no. July, pp. 630– 633, 2014. [11] X. Qian, I. Navarro, A. de La Fortelle, and F. Moutarde, “Motion planning for urban autonomous driving using B´ ezier curves and MPC,” in 2016 IEEE 19th International Conference on Intelligent Transportation Systems (ITSC), vol. 2030, pp. 826–833, IEEE, nov 2016. [12] G. Klanˇ car, A. Zdeˇ sar, S. Blaˇ ziˇ c, and I. ˇ Skrjanc, Wheeled Mobile Robotics: From Fundamentals Towards Au- tonomous Systems. 2017. [13] M. Loknar, G. Klanˇ car, and S. Blaˇ ziˇ c, “Trajectory Plan- ning By Applying Optimal Velocity Profile Algorithm on Bernstein-B´ ezier Motion Primitives,” 29. Mednarodna Elektrotehniˇ ska in raˇ cunalniˇ ska konferenca, pp. 144–147, 2020.