ERK'2020, Portorož, 132-135 132 Vodenje rotacijskega invertiranega nihala Aljaž Blažič, Gorazd Karer Fakulteta za elektrotehniko, Univerza v Ljubljani E-pošta: aljaz96@gmail.com, gorazd.karer@fe.uni-lj.si Control of a rotary inverted pendulum Abstract. The rotary inverted pendulum represents a compact platform of a nonlinear mechanical system with fast dynamics. The system is found in many laboratories, as it represents an impressive platform for the demonstration and development of control of distinctly nonlinear systems. The paper includes theoretical modelling, simulation of the dynamic system and development of a closed-loop control system for the rotary inverted pendulum. On a linearized model of the system, a linear quadratic regulator was designed in order to stabilize the system in the upper unstable equilibrium position. The states of the process were estimated with an extended Kalman filter. A swing-up regulator was implemented, which brought the pendulum from the lower equilibrium position close to the upper unstable position. These approaches were implemented and verified in simulation and then tested on the pilot plant [1]. 1 Uvod Rotacijsko invertirano nihalo predstavlja kompaktno platformo nelinearnega mehanskega sistema s hitro dinamiko. Sistem najdemo v številnih laboratorijih, saj predstavlja impresivno platformo za demonstracijo in razvoj vodenja izrazito nelinearnih sistemov. Prispevek obsega teoretično modeliranje, simulacijo dinamičnega sistema in razvoj sistema zaprtozančnega vodenja rotacijskega invertiranega nihala. Na lineariziranem modelu sistema je bil načrtan optimalni regulator stanj z namenom stabilizacije sistema v zgornji ravnovesni legi. Stanja procesa smo ocenjevali z razširjenim Kalmanovim filtrom. Implementiran je bil regulator za dvig nihala, ki je nihalo pripeljal iz spodnje ravnovesne lege v bližino zgornje nestabilne ravnovesne lege. Omenjene pristope smo načrtali in preverili simulacijsko, nato pa smo jih preizkusili na pilotni napravi [1]. 2 Opis naprave Nihalo Furuta nihalo je bilo prvič razvito leta 1992 na Tokijskem inštitutu za tehnologijo. Naprava je sestavljena iz ročice, ki rotira v horizontalni ravnini okrog navpične osi. Na rotirajočo ročico je pritrjeno nihalo, ki prosto niha okrog vzdolžne osi ročice (slika 1). Enosmerni motor je mehansko povezan z ročico, na katero deluje z navorom 𝜏 . Ročica ima dolžino 𝐿 1 in maso 𝑚 1 , nihalo pa dolžino 𝐿 2 ter maso 𝑚 2 . Dolžini 𝑙 1 in 𝑙 2 sta razdalji od osi vrtenja do težišča. Vztrajnostna momenta okoli težišča ročice in nihala sta 𝐽 1 in 𝐽 2 . Koeficienta dušenja sta predstavljena z 𝑏 1 in 𝑏 2 , kjer je 𝑏 1 dušenje v ležajih motorja, 𝑏 2 pa dušenje ležajev, ki povezujejo ročico in nihalo. Na rotacijsko invertirano nihalo lahko gledamo kot na sistem z enim vhodom in dvema izhodoma. Vhod 𝑢 predstavlja napetost, s katero vzbujamo enosmerni motor. Izhoda 𝜗 1 in 𝜗 2 predstavljata zasuk ročice in kot nihala. Slika 1: Shematski prikaz rotacijskega invertiranega nihala [2] 3 Nelinearni matematični model Za razvoj nelinearnega modela smo uporabili teoretično modeliranje. Celoten postopek izpeljave s pomočjo Lagrangove enačbe je prikazan v [2]. Ravnotežni enačbi iz članka smo modificirali, da se ujemata s koordinatnim sistemom modela na (sliki 1). Enačbi (1) in (2) prikazujeta ravnotežni enačbi nelinearnega modela: 𝛼 𝜗 ̈ 1 + 𝛽 𝜗 ̇ 1 𝜗 ̇ 2 − 𝛾 𝜗 ̈ 2 + 𝛿 𝜗 ̇ 2 2 + 𝑏 1 𝜗 ̇ 1 = 𝜏 , (1) 𝛾 𝜗 ̈ 1 − [𝐽 2 + 𝑚 2 𝑙 2 2 ]𝜗 ̈ 2 + 1 2 𝛽 𝜗 ̇ 1 2 −𝑔 𝑚 2 𝑙 2 sin(𝜗 2 ) − 𝑏 2 𝜗 ̇ 2 = 0, (2) kjer so: 𝛼 = 𝐽 1 + 𝑚 1 𝑙 1 2 + 𝑚 1 𝐿 1 2 + [𝐽 2 + 𝑚 2 𝑙 2 2 ]sin 2 (𝜗 2 ), 𝛽 = [𝐽 2 + 𝑚 2 𝑙 2 2 ]sin(2𝜗 2 ), 𝛾 = 𝑚 2 𝐿 1 𝑙 2 cos(𝜗 2 ), 𝛿 = 𝑚 2 𝐿 1 𝑙 2 sin(𝜗 2 ). Za opisani nelinearni model veljajo naslednje predpostavke [2], [3]:  Gred motorja in ročica sta togo spojeni.  Ročica in nihalo sta povsem toga. 133  Uporabili smo le koeficiente viskoznega trenja. Zanemarili smo dušenje, ki nastane zaradi zračnega upora, statičnega in Coulombovega trenja.  Vztrajnostni moment smo upoštevali le glede na glavno os gibanja.  Vztrajnostni moment motorja je zanemarljiv. Določili smo matematični model, ki povezuje vzbujalno napetost motorja 𝑢 in navor 𝜏 . Upoštevali smo predpostavko, da je dinamika zaradi induktivnosti dovolj hitra, da jo lahko zanemarimo. Iz Kirchoffovega zakona izrazimo povezavo med napetostjo 𝑢 in tokom 𝑖 na motorju oblike: 𝑅 𝑚 𝑖 + 𝐾 𝑚 𝜗 ̇ 1 = 𝑢 , (3) pri čimer 𝑅 𝑚 predstavlja električno upornost motorja, 𝐾 𝑚 pa inducirano protinapetostno konstanto. Enačba (4) prikazuje linearno odvisnost med električnim tokom 𝑖 na motorju in navorom motorja 𝜏 : 𝜏 = 𝐾 𝑡 𝑖 , (4) pri čimer 𝐾 𝑡 predstavlja navorno konstanto motorja [3]. Enačbi (3) in (4) vstavimo v ravnotežno enačbo (1). V ravnotežni enačbi vpeljemo nekaj dodatnih spremenljivk, katere nimajo direktnega fizikalnega pomena, a naredijo zapis kompaktnejši: 𝛼 𝜗 ̈ 1 + 𝛽 𝜗 ̇ 1 𝜗 ̇ 2 − 𝛾 𝜗 ̈ 2 + 𝛿 𝜗 ̇ 2 2 + 𝑏 ̂ 1 𝜗 ̇ 1 = 𝐾 𝑢 𝑢 , (5) 𝛾 𝜗 ̈ 1 − 𝐽 ̂ 2 𝜗 ̈ 2 + 1 2 𝛽 𝜗 ̇ 1 2 − 𝑔 𝑚 2 𝑙 2 sin(𝜗 2 ) − 𝑏 2 𝜗 ̇ 2 = 0, (6) kjer so: 𝛼 = 𝐽 1 + 𝑚 1 𝑙 1 2 + 𝑚 1 𝐿 1 2 + 𝐽 ̂ 2 sin 2 (𝜗 2 ) , 𝛽 = 𝐽 ̂ 2 sin(2𝜗 2 ) , 𝛾 = 𝑚 2 𝐿 1 𝑙 2 cos(𝜗 2 ) , 𝛿 = 𝑚 2 𝐿 1 𝑙 2 sin(𝜗 2 ), 𝐽 ̂ 2 = 𝐽 2 + 𝑚 2 𝑙 2 2 , 𝑏 ̂ 1 = 𝑏 1 + 𝐾 𝑡 𝐾 𝑚 𝑅 𝑚 −1 , 𝐾 𝑢 = 𝐾 𝑡 𝑅 𝑚 −1 . Nelinearni matematični model (5-6) pretvorimo v zapis v prostoru stanj: 𝑥 ̇ 𝑧 = 𝑓 𝑧 (𝑥 𝑧 ,𝑢 𝑧 ), 𝑦 𝑧 = 𝐶 𝑥 𝑧 , (7) pri čimer 𝑥 𝑧 (𝑡 ) = [ 𝜗 1 𝜗 2 𝜗 ̇ 1 𝜗 ̇ 2 ] 𝑇 predstavlja vektor stanj sistema, 𝑢 𝑧 (𝑡 ) vzbujanje sistema, 𝑦 𝑧 (𝑡 ) vektor izhoda sistema, 𝐶 izhodno matriko, 𝑓 𝑧 (𝑥 𝑧 ,𝑢 𝑧 ) pa vektorsko nelinearno preslikavo, ki jo lahko izrazimo: 𝑓 𝑧 (𝑥 𝑧 ,𝑢 𝑧 ) = 1 Δ [ Δ𝜗 ̇ 1 Δ𝜗 ̇ 2 𝑏 2 𝛾 𝜗 ̇ 2 + 𝐽 ̂ 2 𝜇 + 𝛾𝜂 𝑏 2 𝛼 𝜗 ̇ 2 + 𝛾𝜇 + 𝛼 𝜂 ] + 1 Δ [ 0 0 −𝐽 ̂ 2 𝐾 𝑢 −𝛾 𝐾 𝑢 ] 𝑢 𝑧 , (8) kjer so: Δ = 𝛾 2 − 𝐽 ̂ 2 𝛼 , 𝜇 = 𝑏 ̂ 1 𝜗 ̇ 1 + 𝛽 𝜗 ̇ 1 𝜗 ̇ 2 + 𝛿 𝜗 ̇ 2 2 , 𝜂 = [𝑔 𝑚 2 𝑙 2 − 𝐽 ̂ 2 cos(𝜗 2 ) 𝜗 ̇ 1 2 ]sin(𝜗 2 ). Izhod sistema predstavljata prvi dve stanji, zato lahko izhodno matriko zapišemo kot 𝐶 = [𝐼 2×2 0 2×2 ]. 3.1 Določitev parametrov nelinearnega matematičnega modela Najprej smo določili parametre elementov sistema, ki jih je bilo mogoče enostavno izmeriti. Rezultati meritev so prikazani v tabeli 1 [3]. Tabela 1. Izmerjeni parametri modela Oznaka Vrednost 𝐿 1 95 mm 𝐿 2 72 mm 𝑚 2 3,30 g 𝑙 2 52,5 mm Ostale parametre smo ocenili z izvajanjem eksperimentov na sistemu. Uporabili smo optimizacijo z metodo Nelder-Mead, kjer smo iskanji minimum izbrane kriterijske funkcije. Določanje parametrov modela smo razdelili na dva dela. V prvem delu smo fiksirali ročico. S tem smo zmanjšali kompleksnost modela in lažje določili en del parametrov modela. V drugem delu smo izvajali eksperimente na celotnem modelu in tako določili še vse preostale parametre. 4 Linearni matematični model Linearizacijo nelinearnega matematičnega modela smo izvedli s pomočjo aproksimacije s Taylorjevo vrsto v okolici zgornje ravnovesne lege 𝑥 0 = [0,𝜋 ,0,0] 𝑇 in 𝑢 0 = 0. Definicija spremenljivk v delovni točki (𝑥 0 ,𝑢 0 ): 𝑥̃ 𝑧 = 𝑥 𝑧 − 𝑥 0 , 𝑢̃ 𝑧 = 𝑢 𝑧 − 𝑢 0 in 𝑦̃ 𝑧 = 𝑦 𝑧 − 𝐶 𝑥 0 . Linearni matematični model v delovni točki opišemo z naslednjima enačbama: 𝑥̃ ̇ 𝑧 = 𝐴 𝑧 𝑥̃ 𝑧 + 𝐵 𝑧 𝑢̃ 𝑧 , 𝑦̃ 𝑧 = 𝐶 𝑥̃ 𝑧 , (9) kjer sta 𝐴 𝑧 in 𝐵 𝑧 definirani kot Jacobijevi matriki: 𝐴 𝑧 = 𝜕 𝑓 𝑧 (𝑥 𝑧 ,𝑢 𝑧 ) 𝜕 𝑥 𝑧 | (𝑥 0 ,𝑢 0 ) in 𝐵 𝑧 = 𝜕 𝑓 𝑧 (𝑥 𝑧 ,𝑢 𝑧 ) 𝜕 𝑢 𝑧 | (𝑥 0 ,𝑢 0 ) . (10) Zapis zveznega linearnega sistema v prostoru stanj (9) pretvorimo v diskretnega z metodo stopnične invariance [4]. Za čas vzorčenja 𝑡 𝑠 smo vzeli 5 𝑚𝑠 , ki je tudi uporabljen na pilotni napravi. Enačbi (11) prikazujeta zapis diskretnega linearnega sistema v prostoru stanj: 𝑥 𝑘 = 𝐴 𝑑 𝑥 𝑘 −1 + 𝐵 𝑑 𝑢 𝑘 −1 , 𝑦 𝑘 = 𝐶 𝑥 𝑘 , (11) 134 kjer ocenimo matriki 𝐴 𝑑 in 𝐵 𝑑 z naslednjima enačbama: 𝐴 𝑑 = ̇ ∑ 𝑡 𝑠 𝑖 𝑖 ! 𝐴 𝑧 𝑖 𝑛 𝑖 =0 in 𝐵 𝑑 = ̇ [∑ 𝑇 𝑠 𝑖 +1 (𝑖 +1)! 𝑛 𝑖 =0 𝐴 𝑧 𝑖 ]𝐵 𝑧 . (12) V praksi se izkaže, da dobimo zadovoljive rezultate že pri majhnih vrednostih 𝑛 . 5 Regulator za dvig nihala V poglavju predstavimo metodo, s katero pripeljemo nihalo iz spodnje ravnovesne lege v okolico zgornje. Regulator za dvig nihala temelji na potenciranju pozicije nihala. Sistem močneje vzbujamo, ko smo blizu spodnje ravnovesne lege in vse manj, ko se bližamo zgornji ravnovesni legi. Regulacijski zakon predstavimo z enačbo: 𝑢 𝑠𝑢 = 𝑘 𝑣 |𝑥̃ 𝑧 (2)| 𝑛 𝑠𝑖𝑔𝑛 (𝑥̃ 𝑧 (4) cos(𝑥̃ 𝑧 (2))), (13) pri čimer 𝑘 𝑣 in 𝑛 predstavljata konstanti s katerima vplivamo na dinamiko nihanja sistema [5]. Funkcija 𝑠𝑖𝑔𝑛 vrne predznak podanega argumenta. Spremenljivka 𝑥̃ 𝑧 (2) predstavlja odklon nihala od zgornje ravnovesne lege, medtem ko 𝑥̃ 𝑧 (4) predstavlja kotno hitrost nihala. Konstanti smo določili s poizkušanjem na pilotni napravi in znašata 𝑘 𝑣 = −0.03 in 𝑛 = 3. 6 Optimalni regulator stanj Optimalni regulator stanj načrtamo z minimizacijo kriterijske funkcije: 𝐽 = ∫(𝑥̃ 𝑧 𝑇 𝑄 𝑥̃ 𝑧 + 𝑟 𝑢̃ 𝑧 2 ) ∞ 0 𝑑𝑡 , (14) pri čimer 𝑄 predstavlja pozitivno semidefinitno in simetrično matriko, 𝑟 pa pozitiven skalar [6], [7]. Optimalni regulator stanj smo implementirali s pomočjo Matlabove funkcije lqr. Za vhode funkcija sprejme matriki 𝐴 𝑧 in 𝐵 𝑧 ter matriko 𝑄 in skalar 𝑟 . Kot izhod nam funkcija poda vektor 𝑘 . Regulirno veličino izračunamo z enačbo: 𝑢̃ 𝑧 = −𝑘 𝑇 𝑥̃ 𝑧 . (15) Enačbo (15) modificiramo, da zagotovimo sledenje referenčnemu signalu zasuka ročice. 𝑢̃ 𝑧 = 𝑘 𝑇 (𝑟 ̃− 𝑥̃ 𝑧 ) (16) pri čimer je referenčni signal 𝑟 ̃= [𝑟 𝜗 1 0 0 0] 𝑇 . S prvo komponento spremenljivke 𝑟 ̃ spreminjamo referenco položaja ročice. Optimalni regulator stanj deluje dobro le v okolici delovne točke, okoli katere smo ga načrtali. Enačba (17) prikazuje preklapljane med optimalnim regulatorjem stanj in regulatorjem za dvig nihala: 𝑢 𝑧 = { 𝑢̃ 𝑧 , |𝑥̃ 𝑧 (2)| < 𝜋 6 𝑢 𝑠𝑢 , 𝑠𝑖𝑐𝑒𝑟 (17) Pomanjkljivost optimalnega regulatorja stanj je v tem, da morajo biti vsa stanja sistema merljiva. Dostopnost vseh stanj pa je mnogokrat omejena zaradi raznih tehnoloških in ekonomskih omejitev. Problemu merljivosti stanj se je mogoče izogniti z njihovim ocenjevanjem iz ostalih merljivih spremenljivk. 7 Ocenjevanje stanj procesa V poglavju predstavimo pristop k ocenjevanju stanj procesa. Problem nedostopnosti stanj rešimo z uporabo metode razširjenega Kalmanovega filtra. 7.1 Razširjeni Kalmanov filter Razširjeni Kalmanov filter (v nadaljevanju EKF) je nelinearna izpeljanka Kalmanovega filtra, ki linearizira model v okolici trenutne ocene. Uporaba EKF omogoča združevanje podatkov tako, da je rezultat zanesljivejši od vsake posamezne meritve s senzorja, saj upošteva lastnosti nelinearnega modela ter šuma na vhodu kot tudi izhodu procesa. Algoritem ERK poteka v dveh korakih. Najprej določimo predikcijsko oceno (a priori) naslednjega stanja. Ocena je odvisna od prejšnjega stanja kot tudi od vhoda v sistem. Natančnost rezultata je odvisna od natančnosti matematičnega modela sistema. V drugem delu pa izvedemo korekcijsko oceno (a posteriori) trenutnega stanja. Ocena je odvisna od predikcijske ocene stanja in trenutne meritve [8]. Za vhodni in izhodni šum mora veljati, da njuni kovariančni matriki znašata: 𝑄 𝑘 = 𝐸 [𝑤 𝑘 𝑤 𝑘 𝑇 ] 𝑅 𝑘 = 𝐸 [𝑣 𝑘 𝑣 𝑘 𝑇 ] (18) pri čimer predstavlja 𝐸 operator matematičnega upanja, 𝑤 𝑘 vrednost vhodnega šuma in 𝑣 𝑘 vektor izhodnega šuma. S poskušanjem smo nastavili kovariančne matrike šuma na diagonalne matrike konstantnih vrednosti. Enačbi (19) opisujeta predikcijski korak [9]: 𝑥̂ 𝑘 |𝑘 −1 = ̇ 𝑥̂ 𝑘 −1|𝑘 −1 + 𝑡 𝑠 𝑓 𝑧 (𝑥̂ 𝑘 −1|𝑘 −1 ,𝑢 𝑘 −1 ) 𝑃 𝑘 |𝑘 −1 = 𝐴 𝑑 ∗ 𝑃 𝑘 −1|𝑘 −1 𝐴 𝑑 ∗ 𝑇 + 𝐵 𝑑 ∗ 𝑄 𝑘 −1 𝐵 𝑑 ∗ 𝑇 (19) pri čimer 𝑥̂ predstavlja oceno stanj, 𝑃 pa oceno kovariance. Z indeksiranjem 𝑘 |𝑘 − 1 povemo, da gre za oceno spremenljivke v trenutku 𝑘 iz podatkov v trenutku 𝑘 − 1. Matriki 𝐴 𝑑 ∗ in 𝐵 𝑑 ∗ določimo z enačbama (12). Uporabljene matrike 𝐴 𝑧 in 𝐵 𝑧 določimo z enačbama (10), le da namesto delovne točke (𝑥 0 ,𝑢 0 ) uporabimo oceno stanja (𝑥̂ 𝑘 −1|𝑘 −1 ,𝑢 𝑘 −1 ). Enačbe (20) opisujejo korekcijski korak [9]: 𝐾 𝑘 = 𝑃 𝑘 |𝑘 −1 𝐶 𝑇 (𝐶 𝑃 𝑘 |𝑘 −1 𝐶 𝑇 + 𝑅 𝑘 ) −1 𝑥̂ 𝑘 |𝑘 = 𝑥̂ 𝑘 |𝑘 −1 + 𝐾 𝑘 (𝑦 𝑘 − 𝐶 𝑥̂ 𝑘 |𝑘 −1 ) (20) 𝑃 𝑘 |𝑘 = 𝑃 𝑘 |𝑘 −1 − 𝐾 𝑘 𝐶 𝑃 𝑘 |𝑘 −1 Pred začetkom algoritma EKF je potrebno določiti začetno oceno stanja 𝑥̂ 0 in začetno oceno kovarinace 𝑃 0 . Ob zagonu se nihalo nahaja v spodnji ravnovesni legi, 135 zato začetno stanje 𝑥̂ 0 nastavimo na nič. Začetno vrednost kovariance 𝑃 0 pa nastavimo na dovolj veliko vrednost. 8 Preizkus na pilotni napravi Model, regulator in EKF smo najprej implementirali v simulaciji in preizkusili njihovo delovanje. Ko smo bili zadovoljni z obnašanjem sistema, smo delovanje preizkusili še na pilotni napravi. Pojavile so se težave, saj model ni popolnoma odražal vseh lastnosti realne naprave. Pri majhnih vzbujalnih napetostih je lepenje in trenje v jermenskem prenosu preveliko, da bi se motor zavrtel. Neželeno nelinearnost smo poskušali odpraviti z zamikom napetosti, kot je predlagano v [1]. S poizkušanjem smo določili matriko 𝑄 in skalar 𝑟 , tako da je optimalnemu regulatorju stanj uspelo sistem stabilizirati v zgornji ravnovesni legi ter hkrati slediti referenci ročice. Z EKF ocenjujemo tudi vrednosti, ki jih merimo s senzorji zasuka. Izkazalo se je, da dobimo boljše rezultate, ko upoštevamo meritve direktno iz senzorjev. Tako s EKF ocenjujemo le hitrosti ročice in nihala, ki nista direktno merljivi na napravi. Razlog za nenatančno napoved EKF je v slabi kakovosti modela. Slika 2 prikazuje primer eksperimenta, kjer primerjamo odzive sistema v simulaciji in na napravi. Nihalo se najprej nahaja v spodnji ravnovesni legi. Z regulatorjem za dvig nihala sistem pripeljemo v okolico zgornje ravnovesne lege. V simulaciji potrebuje nihalo en nihaj, medtem ko na napravi potrebuje dva nihaja, da se približa zgornji ravnovesni legi. To nakazuje na odstopanje med modelom in napravo. Ko se približamo zgornji ravnovesni legi, se zgodi preklop na optimalni regulator stanj, ki sistem stabilizira v zgornji ravnovesni legi, hkrati pa še sledi referenci ročice. Na napravi opazimo, da se ročici ne uspe ustaliti ob referenci. Nihanje okrog nje je najverjetneje posledica zračnosti prenosnega mehanizma. 9 Zaključek Za inverzno rotacijsko nihalo je značilno, da izkazuje izrazite nelinearne lastnosti. Nelinearnost je otežila določitev parametrov modela, kar je zmanjšalo tudi kakovost vodenja. Problem nelinearnosti bi lahko zmanjšali z nadgradnjo strukture modela, kjer bi upoštevali še statično in Coulombovo trenje. Na pilotni napravi nam je uspelo nihalo dvigniti v okolico zgornje ravnovesne lege in ga tam tudi stabilizirati. V nadaljevanju bi se lahko posvetili izboljšavi modela in poskušali odpraviti nihanje ročice okoli reference. Literatura [1] M. Bošnak, „Majhno invertirano nihalo“, Zbornik 25. mednarodne Elektrotehniške in računalniške konference ERK, str. 143–146, 2016. [2] B. Cazzolato in Z. Prime, „On the dynamics of the Furuta pendulum“, Journal of Control Science and Engineering, 2011. [3] M. Pernuš in M. Peterka, „Modeliranje rotacijskega nihala“, Zbornik 10. konference Avtomatizacija v industriji in gospodarstvu, 2017. [4] S. Blažič, „Digitalno vodenje, Prosojnice predavanj“, Univerza v Ljubljani, Fakulteta za elektrotehniko, 2018. [5] P. Seman, B. Rohal Ilkiv, M. Juhas, in M. Salaj, „Swinging up the Furuta pendulum and its stabilization via model predictive control“, Journal of Electrical Engineering, vol.64,str.152–158, 2013. [6] E. Guechi, S. Bouzoualegh, Z. Youcef in S. Blažič, „MPC control and LQ optimal control of a two-link robot arm: A comparative study“, Machines, vol. 6, str. 1–14, avg. 2018. [7] R. Mohammadi Asl, A. Mahdoudi, E. Pourabdollah in G. Klančar, „Combined PID and LQR controller using optimized fuzzy rules“, Soft Comput, vol. 23, str. 5143–5155, jul. 2019. [8] R. Juhant, „Sistemi za navigacijo v okoljih s senzorskimi in zunanjimi omejitvami“, Univerza v Ljubljani, Fakulteta za elektrotehniko, 2015. [9] G. Klančar, „Autonomous mobile systems: Nondeterministic events in mobile systems, Prosojnice predavanj“, Univerza v Ljubljani, Fakulteta za elektrotehniko, 2019. Slika 2: Odziv sistema v simulaciji in na pilotni napravi. Prikaz spreminjanja kota nihala in odmika ročice.