5
Nastavljanje parametrov regulatorja z optimizacijskimi algoritmi Dušan Fister Univerza v Mariboru Fakulteta za strojništvo Smetanova 17, Maribor dusan.fi[email protected] Riko Šafariˇ c Univerza v Mariboru Fakulteta za elektrotehniko, raˇ cunalništvo in informatiko Smetanova 17, Maribor [email protected] Iztok Jr. Fister Univerza v Mariboru Fakulteta za elektrotehniko, raˇ cunalništvo in informatiko Smetanova 17, Maribor iztok.fi[email protected] Iztok Fister Univerza v Mariboru Fakulteta za elektrotehniko, raˇ cunalništvo in informatiko Smetanova 17, Maribor iztok.fi[email protected] POVZETEK Vsak regulacijski sistem za optimalno delovanje zahteva pra- vilno nastavitev vhodnih parametrov. Uporabnik tega sis- tema strmi k temu, da bo njegov sistem deloval ˇ cim bolj op- timalno. Za industrijske robote to pomeni, da sistem zago- tavlja varnost in funkcionalnost. Velikokrat uvrˇ camo funk- cionalnost pred varnost, kar povzroˇ ca nevˇ seˇ cnosti v praksi. Sami ˇ zelimo robotu optimalno nastaviti regulacijske parame- tre tako, da bo zagotavljal tako varnost kot tudi funkcional- nost. ˇ Ceprav je naˇ s robot miniaturna razliˇ cica industrijskega robota, tudi ta za pravilno delovanje zahteva dovolj kakovo- stne nastavitve regulacijskih parametrov. Cilj naˇ se ˇ studije je za iskanje optimalnih regulacijskih parametrov razviti algo- ritem po vzoru obnaˇ sanja netopirjev in ga uspeˇ sno uporabiti v praksi. Kjuˇ cne besede regulacije, mehatronika, optimizacijski algoritmi 1. UVOD Optimizacijske algoritme uporabljamo za poveˇ canje produk- tivnosti, storilnosti, kakovosti in hitrosti dela robotskih stro- jev. Vsak robot mora skozi dobo obratovanja delovati zane- sljivo, varno ter funkcionalno. Priˇ cakovati je, da bo robot zaradi poveˇ canja produktivnosti deloval karseda hitro, ven- dar zaradi tega ne bo ogroˇ zal varnosti ljudi v njegovi bli- ˇ zini. Pomembni faktor za delovanje robotskih mehanizmov predstavlja regulator, tj. element, ki zmanjˇ suje napako, oz. razliko med ˇ zeleno in dejansko vrednostjo. Poznamo veˇ c vrst regulatorjev, od najpreprostejˇ sega P-regulatorja, ki omogoˇ ca le ojaˇ canje napake, do nekoliko kompleksnejˇ sih PI- in PD-regulatorjev, do najkompleksnejˇ sega PID-regulatorja. V kraticah imen teh regulatorjev pomeni I-ˇ clen integriranje in D-ˇ clen diferenciranje napake. Da zagotovimo pravilno nastavljen regulator, moramo pravilno nastaviti vsak posa- mezen ˇ clen posebej. Robot optimalno deluje ˇ sele, ko so glede na njegove zahteve dela optimalno nastavljeni vsi ˇ cleni re- gulatorja. Enaˇ cba (1) matematiˇ cno prikazuje regulacijske ˇ clene in njegove nastavljive parametre, tj. u = KP (y zel - y dej )+ KI Z (y zel - y dej )+ KD(y zel - y dej ) 0 , (1) kjer y zel predstavlja ˇ zeleno referenˇ cno vrednost, medtem ko y dej dejansko vrednost prenihaja. Naˇ s uporabljen regulator, opisan z enaˇ cbo (1), sestoji iz izkljuˇ cno PI-ˇ clena, kar pomeni, da D-ˇ clen v naˇ sem primeru odpade. Najpreprostejˇ si naˇ cin nastavljanja parametrov je roˇ cno na- stavljanje, ki pa zahteva izkuˇ senega tehnika in obilo po- trpeˇ zljivosti. Obstajajo razliˇ cne avtomatske metode nasta- vljanja, kjer najveˇ ckrat v te namene uporabljamo optimiza- cijske algoritme po vzoru iz narave. Korenine teh algoritmov segajo v leto 1871, ko je Charles Darwin objavil znanstveno delo o naravni selekciji [1]. Ta je navdihnila Alana Turinga pri razvoju t.i. genetskega iskanja, ki uporablja Darwinovo evolucijsko teorijo pri reˇ sevanju optimizacijskih problemov [14]. Leta 1988 je John Holland algoritem s selekcijo in mu- tacijo poimenoval genetski algoritem, kar se je ohranilo vse do danes [7]. Podrobnejˇ si zgodovinsko pregled je naveden v [4]. Z robotom SCARA (angl. Selective Compliance Assem- bly Robot Arm) [12], prikazanim na sliki 1, se je prvi za- ˇ cel ukvarjati Albin Jagarinec. Leta 2005 je uspeˇ sno razvil adaptivni regulator [8], medtem ko je leto kasneje Marko Kolar preizkusil algoritem z mehko logiko [11]. Jure ˇ Cas se je ukvarjal z zveznim nevronskim sliding-mode regulato- rjem [15], medtem ko je Tomaˇ z Slaniˇ c iskal optimalne na- stavitve parametrov omenjenega robota z genetskim algo- ritmom [13]. V tem prispevku opisujemo avtomatsko nasta- StuCoSReC Proceedings of the 2015 2 nd Student Computer Science Research Conference Ljubljana, Slovenia, 6 October 13

Nastavljanje parametrov regulatorja z optimizacijskimi ... · enostavno implementacijo algoritma za re sevanje realnega problema in hkrati ponuja hitro konvergenco re sitev. Gre

  • Upload
    hacong

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Nastavljanje parametrov regulatorja z optimizacijskimialgoritmi

Dušan FisterUniverza v Mariboru

Fakulteta za strojništvoSmetanova 17, Maribor

[email protected]

Riko ŠafaricUniverza v Mariboru

Fakulteta za elektrotehniko,racunalništvo in informatiko

Smetanova 17, [email protected]

Iztok Jr. FisterUniverza v Mariboru

Fakulteta za elektrotehniko,racunalništvo in informatiko

Smetanova 17, [email protected]

Iztok FisterUniverza v Mariboru

Fakulteta za elektrotehniko,racunalništvo in informatiko

Smetanova 17, [email protected]

POVZETEKVsak regulacijski sistem za optimalno delovanje zahteva pra-vilno nastavitev vhodnih parametrov. Uporabnik tega sis-tema strmi k temu, da bo njegov sistem deloval cim bolj op-timalno. Za industrijske robote to pomeni, da sistem zago-tavlja varnost in funkcionalnost. Velikokrat uvrscamo funk-cionalnost pred varnost, kar povzroca nevsecnosti v praksi.Sami zelimo robotu optimalno nastaviti regulacijske parame-tre tako, da bo zagotavljal tako varnost kot tudi funkcional-nost. Ceprav je nas robot miniaturna razlicica industrijskegarobota, tudi ta za pravilno delovanje zahteva dovolj kakovo-stne nastavitve regulacijskih parametrov. Cilj nase studije jeza iskanje optimalnih regulacijskih parametrov razviti algo-ritem po vzoru obnasanja netopirjev in ga uspesno uporabitiv praksi.

Kjucne besederegulacije, mehatronika, optimizacijski algoritmi

1. UVODOptimizacijske algoritme uporabljamo za povecanje produk-tivnosti, storilnosti, kakovosti in hitrosti dela robotskih stro-jev. Vsak robot mora skozi dobo obratovanja delovati zane-sljivo, varno ter funkcionalno. Pricakovati je, da bo robotzaradi povecanja produktivnosti deloval karseda hitro, ven-dar zaradi tega ne bo ogrozal varnosti ljudi v njegovi bli-zini. Pomembni faktor za delovanje robotskih mehanizmovpredstavlja regulator, tj. element, ki zmanjsuje napako,oz. razliko med zeleno in dejansko vrednostjo. Poznamovec vrst regulatorjev, od najpreprostejsega P-regulatorja, kiomogoca le ojacanje napake, do nekoliko kompleksnejsih PI-

in PD-regulatorjev, do najkompleksnejsega PID-regulatorja.V kraticah imen teh regulatorjev pomeni I-clen integriranjein D-clen diferenciranje napake. Da zagotovimo pravilnonastavljen regulator, moramo pravilno nastaviti vsak posa-mezen clen posebej. Robot optimalno deluje sele, ko so gledena njegove zahteve dela optimalno nastavljeni vsi cleni re-gulatorja. Enacba (1) matematicno prikazuje regulacijskeclene in njegove nastavljive parametre, tj.

u = KP (yzel− ydej) +KI

∫(yzel− ydej) +KD(yzel− ydej)′,

(1)

kjer yzel predstavlja zeleno referencno vrednost, medtem koydej dejansko vrednost prenihaja. Nas uporabljen regulator,opisan z enacbo (1), sestoji iz izkljucno PI-clena, kar pomeni,da D-clen v nasem primeru odpade.

Najpreprostejsi nacin nastavljanja parametrov je rocno na-stavljanje, ki pa zahteva izkusenega tehnika in obilo po-trpezljivosti. Obstajajo razlicne avtomatske metode nasta-vljanja, kjer najveckrat v te namene uporabljamo optimiza-cijske algoritme po vzoru iz narave. Korenine teh algoritmovsegajo v leto 1871, ko je Charles Darwin objavil znanstvenodelo o naravni selekciji [1]. Ta je navdihnila Alana Turingapri razvoju t.i. genetskega iskanja, ki uporablja Darwinovoevolucijsko teorijo pri resevanju optimizacijskih problemov[14]. Leta 1988 je John Holland algoritem s selekcijo in mu-tacijo poimenoval genetski algoritem, kar se je ohranilo vsedo danes [7]. Podrobnejsi zgodovinsko pregled je navedenv [4].

Z robotom SCARA (angl. Selective Compliance Assem-bly Robot Arm) [12], prikazanim na sliki 1, se je prvi za-cel ukvarjati Albin Jagarinec. Leta 2005 je uspesno razviladaptivni regulator [8], medtem ko je leto kasneje MarkoKolar preizkusil algoritem z mehko logiko [11]. Jure Casse je ukvarjal z zveznim nevronskim sliding-mode regulato-rjem [15], medtem ko je Tomaz Slanic iskal optimalne na-stavitve parametrov omenjenega robota z genetskim algo-ritmom [13]. V tem prispevku opisujemo avtomatsko nasta-

StuCoSReC Proceedings of the 2015 2nd Student Computer Science Research ConferenceLjubljana, Slovenia, 6 October 13

Slika 1: Dvoosni robot.

vljanje parametrov PI-polozajnega regulatorja na dvoosnemrobotu SCARA z algoritmom po vzoru obnasanja netopir-jev (angl. Bat Algorithm, krajse BA) [18]. Slednji obljubljaenostavno implementacijo algoritma za resevanje realnegaproblema in hkrati ponuja hitro konvergenco resitev. Greza novejsega predstavnika algoritmov iz druzine inteligencerojev (angl. Swarm Intelligence), ki za svoje delovanje upo-rabljajo biolosko-socialno obnasanje insektov (npr. roji ce-bel, druzine mravelj, ipd.) oz. zivali (npr. jate ptic, rib,ipd.) [10].

2. REGULACIJSKA PROGAGlavnino regulacijske proge predstavlja dvoosni robot SCA-RA, ki pooseblja gibanje cloveske roke okoli rame in ko-molca, za kar skrbita dva enosmerna motorja. H glavni gredivsakega motorja je prigrajen tudi inkrementalni merilnik po-lozaja, ki sluzi kot dajalnik povratnega signala. Za ucin-kovito gibanje sklopa skrbita gonilnika motorjev, ki zdru-zujeta polozajni regulator, komparator in smerni diskrimina-tor za identifikacijo signalov iz inkrementalnega dajalnika terojacevalnik referencnega signala. Slednjega doloca vmesnikmed racunalnikom in robotom, katerega imenujemo DSP-2 Roby kartica [16]. Razvita je bila na UM, FERI in jeneposredno povezana z racunalnikom, od koder pridobivazahtevane podatke in kamor posilja povratne informacije.Optimizacija zato v celoti tece na racunalniku.

2.1 Model robotaRegulacijska proga robota je nelinearna, saj model robotazapisemo kot clen drugega reda [17]. Pomeni, da obicajnimetodi nastavljanja regulatorja, npr. Bodejeva metoda [9]in krivulja lege korenov [3] pri nacrtovanju nista vec upo-rabni Enacba (2) predstavlja model robota.

[τmot1

τmot2

]=

[Jm1n1 +

a1+2a2cos(q2)n1

a3+a2cos(q2)n1

a3+a2cos(q2)n2

Jm2n2 +a3+J3o

n2

[q1q2

]+ 2 +

−a2 q2(2q1+q2)sin(q2)n1

a2sin(q2)q12

n2

=

[a bc d

]·[q1q2

]+

[ef

] (2)

Osnovni parametri za izracun modela robota so dolzine l,mase m in teziscni vztrajnosti momenti J posameznih ositer gonil, medtem ko dodatni cleni predstavljajo polozaj q,hitrost q in pospesek osi q.

Optimizacijski problem je definiran kot OP = {I, S, f, goal},kjer I predstavlja mnozico vseh nalog x ∈ I, ki se lahko po-javijo na vhodu, S je mnozica dopustnih resitev x ∈ S in fkriterijska funkcija. goal doloca, ali kriterijsko funkcijo mi-nimiziramo ali maksimiziramo. Vhod v optimizacijski pro-blem je podan z dvema dvojicama parametrov:

x = {Kp1,Kp2,Kv1,Kv2} , (3)

kjer parametra Kp1 in Kp2 oznacujeta velikost proporcio-nalnega dela (P-clena) prve oz. druge osi, ter Kv1 oz. Kv2velikost integralnega dela (I-clena) prve oz. druge osi.

Med optimizacijskim postopkom pri znanem modelu in zna-nem izhodu iscemo optimalne vhodne spremenljivke [2]. Pritem izhodne spremenljivke razvrstimo v tri razlicne katego-rije, tj.:

• Overi - dejanski prenihaj posamezne osi,

• Essi - staticni pogresek posamezne osi in

• T imei - nastavitveni cas posamezne osi.

Vse tri izhodne spremenljivke pridobivamo neposredno izkartice DSP-2 Roby, medtem ko jih na racunalniku dodatnoobdelamo in uporabljamo za vrednotenje kakovosti vhodnihpodatkov. Ti predstavljajo osnovo za vrednotenje kakovostipoljubnega odziva na stopnicno funkcijo. Robotu tako po-dajamo navodila za delo, npr. premakni obe osi za dolocenkot. Robot poskusa doseci najhitrejsi premik ob uposteva-nju zahtevanega prenihaja, minimalnega staticnega pogre-ska in minimalnega nastavitvenega casa. Zahtevan prenihajvnese uporabnik programa pred zacetkom optimizacije.

Vrednotenje, oz. ocenjevanje odziva in posledicno kakovostiizhodnih podatkov (posredno vhodnih) izvaja ocenjevalnafunkcija (angl. objective function), prikazana v enacbi (4):

fi = E1i·(1−|Pi −Overi|)+E2i·(1−T imei)+E3i·(1−Essi),(4)

ki jo maksimiziramo. Zaradi medsebojno mehanske skloplje-nosti dvoosnega robota veckriterijske optimizacije ne mo-remo vrsiti. Zato uporabimo utezeno vsoto kriterijev, kiutezijo posamezen parameter tako, da na koncu znasa maksi-malna vrednost (popolni odziv) ocenjevalne funkcije fi = 1.Blizje enici torej smo, kakovostnejse rezultate pridobivamo.

3. ALGORITEM PO VZORU OBNAŠANJANETOPIRJEV

Algoritem po vzoru obnasanja netopirjev (angl. Bat Algori-thm, krajse BA) je novejsi predstavnik optimizacijskih algo-ritmov po vzoru iz narave. Nastal je leta 2010 pod okriljemmatematika Xin-She Yanga. Algoritem temelji na sposob-nosti navigacije netopirjev v popolni temi. Netopirji pred-stavljo eno redkih bioloskih vrst, ki se v naravi orientirajo spomocjo t.i eholokacije. Pojav oznacuje periodicno oddaja-nje kratkih ultrazvocnih pulzov, odbijajocih se od plena ali

StuCoSReC Proceedings of the 2015 2nd Student Computer Science Research ConferenceLjubljana, Slovenia, 6 October 14

ovire in merjenjem casa odmeva. Posledicno lahko ob znanihitrosti potovanja zvoka po zraku dolocimo oddaljenost odplena ali ovire.

Obnasanje netopirja lahko zapisemo z matematicnim mode-lom, ki temelji na naslednjih osnovnih pojmih:

• dejanski frekvenci oddajanja Qi,

• dejanski hitrosti leta v(t)i in

• dejanskemu polozaju netopirja x(t)i ,

medtem ko nakljucni let netopirja zapisemo kot kombinacijotreh enacb:

Qi = Qmin + (Qmin −Qmin) · β, (5)

v(t+1)i = v

(t)i +

[x(t)i − x

(t)best

]·Qi, (6)

x(t+1)i = x

(t)i + v

(t)i , (7)

kjer Qmax in Qmin predstavljata zgornjo in spodnjo mejofrekvence inicializiranih ob zagonu, krmilni parameter β je

nakljucno stevilo generirano v intervalu [0, 1] in x(t)best trenu-

tna najboljsa resitev.

Proces iskanja v algoritmu BA je odvisen od dveh procesov,tj. preiskovanja (angl. exploration) in izkoriscanja (angl.exploitation). Preiskovanje je mocnejse zlasti ob zacetku op-timizacije, ko so polozaji posameznikov razmetani nakljucnopo preiskovalnem prostoru. Izkoriscanje pomeni, da zacnepreiskovalni proces izboljsevati najdeno resitev obicajno zmetodami lokalnega iskanja. Vsak posameznik se pri pre-iskovanju prostora giba v smeri trenutne najboljse resitve,kar v naravi pomeni, da netopir oddaja ultrazvocne pulzevisokih glasnosti Ai, ki posledicno potujejo dlje. Te pulzeoddaja le nekajkrat v sekundi, npr. osem do desetkrat, kardefiniramo s parametrov emisija pulzov ri. Ko netopir opaziplen, se mu zacne priblizevati, glasnost zacne upadati, med-tem ko emisija pulzov raste. V tej fazi zacne preiskovalnialgoritem preiskani prostor resitev izkoriscati. Matematicnoobstajata torej dva racunska postopka za opis obeh kom-ponent preiskovalnega proces, tj. preiskovanje je zapisanov enacbah (5)-(7), medtem ko izkoriscanje sledi zapisu venacbi (8):

xnovi = xstari + ε · A(t). (8)

Glasnost Ai in emisija pulzov ri se sicer v originalnem al-goritmu spreminjata, vendar se je za potrebe nase optimi-zacije izkazalo najbolje, da oba parametra nastavimo fiksnoin s tem uravnavamo mejo med procesoma preiskovanja inizkoriscanja. S tem dosezemo nekoliko nizjo konvergencov zacetnih generacijah. Oba parametra sta v originalnemalgoritmu odvisna od funkcijskih predpisov, ki pa zacetnovrednost parametra v nekaj generacijah fiksirata na kon-stantne vrednosti, zato se parametra v poznejsih generaci-jah obnasata podobno, kot ce bi ju fiksirali. Vse omenjeneenacbe lahko strnemo v optimizacijski algoritem, kateregapsevdokod je prikazan v algoritmu 1. Algoritem zacnemo zinicializacijo nakljucnih posameznikov. Populacijo ovredno-timo ter poiscemo posameznika z najkakovostnejso resitvijo.

Algoritem 1 Algoritem na osnovi obnasanja netopirjev

Vpis: Populacija netopirjev xi = (xi1, . . . , xiD)T za i = 1 . . . Np,MAX FE.Izpis: Najboljsa resitev xbest in njena vrednost fmax =max(f(x)).

1: init bat();2: eval = vrednoti novo populacijo;3: fmax = isci najboljso resitev(xbest );4: while termination condition not met do5: for i = 1 to Np do6: y = generiraj novo resitev(xi);7: if rand(0, 1) < ri then8: y = izboljsaj najboljso resitev(xbest )9: end if{ lokalno iskanje }

10: fnew = vrednoti novo resitev(y);11: eval = eval + 1;12: if fnew ≤ fi and N(0, 1) < Ai then13: xi = y; fi = fnew;14: end if{ shrani najboljso resitev pogojno }15: fmax=isci najboljso resitev(xbest );16: end for17: end while

Slednji ima najvisjo vrednost ocenjevalne funkcije in pred-stavlja trenutno najboljso globalno resitev. Jedro algoritmapredstavlja globalna zanka, ki se izvaja dokler ne presezemomaksimalnega stevila iteracij, oz. dovolj kakovostne predpi-sane resitve. V tej zanki iz vsakega posameznika generiramonovo resitev s pomocjo preiskovanja. Glede na verjetnost, daemisija pulzov pade pod doloceno mejo ce je ta dovolj blizuresitve pa nadaljujemo tudi na proces izkoriscanja, imeno-vanega tudi lokalno iskanje. Novo pridobljeno resitev shra-nimo le, ce je glasnost oddajanja ultrazvocnih pulzov dovoljmajhna, kar pomeni, da se netopir nahaja blizu plena. Vnasprotnem primeru resitev zavrzemo.

Algoritem isce optimalne parametre za nastavitev regula-torja v omejenem definicijskem obmocju, ki preprecuje ne-stabilno delovanje robota. Po vsakem izracunanem premikunovo nastale parametre vpise v regulator ter pocaka na izvr-sitev le-teh. Kriterijska funkcija vsako dvojico parametrovovrednoti ter rezultat posreduje algoritmu. Vsako ovredno-tenje zaradi mehanskih omejitev traja natancno deset se-kund, zato za nas hitrost izvajanja algoritma ni pomembna.Vsekakor pa s povecevanjem stevila posameznikov ter ge-neracij premo sorazmerno povecujemo tudi cas potreben zaoptimizacijo.

4. REZULTATIV tem poglavju predstavljamo rezultate pridobljene na re-alni laboratorijski aplikaciji. Zaradi stohasticnosti algoritmaje posnetih vec odzivov na stopnicno funkcijo, ceprav se vpraksi uporablja le osnovno testiranje, ko deluje robot brezprenihaja. Rezultati so bili posneti s pomocjo orodja MA-TLAB/Simulink ter vmesniske kartice DSP-2 Roby. Prika-zani rezultati veljajo za dvoosnega robota (n = 2). Krmilniparametri algoritma BA so bili nastavljeni med eksperimentina naslednje vrednosti:

• stevilo posameznikov Np = 10,

• stevilo iteracij ngen = 10,

• emisijo pulzov ri = 0.1,

• glasnost oddajanja pulzov Ai = 0.9 in

StuCoSReC Proceedings of the 2015 2nd Student Computer Science Research ConferenceLjubljana, Slovenia, 6 October 15

• faktor skaliranja (frekvenca) Qi = {0.5, 1.5}.

V sklopu eksperimentalnega dela smo ozvedli tri teste, kise med seboj razlikujejo po razlicnih vrednostih zahtevanihprenihajev:

• prvo testiranje: P1 = 0 %, P2 = 0 %,

• drugo testiranje: P1 = 10 %, P2 = 10 % in

• tretje testiranje: P1 = 15 %, P2 = 25 %.

Vsa testiranja so prikazana tabelaricno in graficno.

4.1 Prvo testiranjePrvo in najosnovnejse testiranje je prikazano v tabeli 1 insliki 2. Vsaka tabela in slika na kratko opisujeta dogajanjepo koncani optimizaciji, vhodni podatki v realni laborato-rijski sistem sta optimizirani dvojici. Velja omeniti tudi za-nimivost aplikacije, katero predstavlja povratni gib robota,izveden s preprostim P-regulatorjem za gib nazaj na nicelnotocko.

Tabela 1: Prvo testiranje

Izmerjeni rezultati 1. os 2. os

Vrednost ocenjevalne funkcije fi 0.96516 0.98324Vrednost prenihaja Overi 0.0187 0Vrednost staticnega pogreska Essi 0.00058 0.00544Vrednost nastavitvenega casa T imei 0.906 0.504

Testiranje je bilo dokaj uspesno izvedeno, kar dokazuje tudivisoka vrednost povprecne ocenjevalne funkcije. Prenihajprve osi je bil nastavljen nekoliko nenatancno, medtem koje prenihaj druge osi natancno zadel zahtevano nastavitev.Staticni progresek je pomemben del robotove natancnosti.Visjo natancnost je dosegel s prvo osjo, saj ta belezi nizjostopnjo napake. Nastavitveni cas je parameter, ki pove kakorobot zaniha blizu resitve. Daljsi kot je nastavitveni cas,slabsa je kakovost parametrov. Doloca ga ozko tolerancnoobmocje, tj. hitreje kot se robot ustali v tem obmocju, krajsinastavitveni cas ga odlikuje.

Slika 2: Prvo testiranje

Iz slike 2 je razvidno, da se je robot uspesno premaknil zakot dva radiana, vendar v okolici nekoliko zanihal in povzro-cil dolg nastavitveni cas, kar se sklada s tabelo 1. Z doda-tnim eksperimentalnim nastavljanjem krmilnih parametrovbi lahko nastavitveni cas drasticno izboljsali, vendar oteze-vali preprosto uporabo nase aplikacije. Poleg tega bi bilopotrebno nekajkrat ponastaviti spekter moznih stevil iz ka-terih pridobivamo posamezne clene dvojic parametrov in jihcimbolj priblizati k optimalnim nastavitvam, kar dodatno

zaostruje uporabo aplikacije. Predpostavili smo, da morabiti algoritem in njegova uporaba enostavna in funkcionalna,kar pa nekoliko slabsa kakovost posameznih rezultatov. Voci bode tudi podnihaj, ki se pojavi takoj po dosegu zah-tevane vrednosti in dodatno dodeljuje manevrski prostor zafinejso obdelavo.

4.2 Drugo testiranjeDrugo testiranje predstavljata tabela 2 in slika 3. Testira-nje je bilo izvedeno za zahtevana prenihaja P1 = 10 % inP2 = 10 %. Nastavljanje parametrov se za ta rezim v praksine uporablja vec, mi smo ga uporabili kot dodaten optimi-zacijski problem za podkrepitev rezultatov.

Tabela 2: Drugo testiranje

Izmerjeni rezultati 1. os 2. os

Vrednost ocenjevalne funkcije fi 0.9739 0.9854Vrednost prenihaja Overi 0.10733 0.10237Vrednost staticnega pogreska Essi 0.00579 0.00113Vrednost nastavitvenega casa T imei 0.714 0.444

Tabela 2 kaze koncne rezultate drugega testiranja. Razvidnoje, da je v tem primeru nekoliko kakovostneje nastavljenadruga os. O tem prica visja vrednost ocenjevalne funkcije.Tudi prenihaja sta v veliki meri natancno nacrtana, ma-ksimalna napaka znasa zgolj 0.7 %. Staticni pogresek jenekoliko ohlapneje nacrtan v primerjavi s prvim primerom.Ta sicer znasa precej manj za drugo os, medtem ko se jeza prvo os enormno povecal. Nastavitveni cas je v obehprimerih krajsi, kar dodatno izboljsuje vrednost ocenjevalnefunkcije.

Slika 3: Drugo testiranje

Graficno predstavljen odziv dopolnjuje kakovost tabelaricnopredstavljenih rezultatov. Odziv je iz graficnega stalisca ka-kovostneje optimiziran kot prvi, najvec k temu pripomorekrajsi nastavitveni cas. Iz fizikalnega stalisca je treba ome-niti, da so zacetna eksperimentalna testiranja krmilnih pa-rametrov potekala prav na tem rezimu delovanja - P1 = 10% in P2 = 10 %. Pomeni, da so ti parametri najugodnejsiza opisovano testiranje, medtem ko za druga testiranja neveljajo vec v popolni meri. To pa je prednost in obenemslabost nastavljanja krmilnih parametrov.

4.3 Tretje testiranjeTretje testiranje poosebljata tabela 3 in slika 4, zahtevanakombinirana prenihaja znasata P1 = 15 % in P2 = 25%. Tabelaricni rezultati tretjega testiranja prinasajo gledena vrednost ocenjevalne funkcije pozitivne lastnosti, ven-dar zahtevajo glede na natancnost nacrtanega prenihaja in

StuCoSReC Proceedings of the 2015 2nd Student Computer Science Research ConferenceLjubljana, Slovenia, 6 October 16

Tabela 3: Tretje testiranje

Izmerjeni rezultati 1. os 2. os

Vrednost ocenjevalne funkcije fi 0.95527 0.97839Vrednost prenihaja Overi 0.16721 0.25872Vrednost staticnega pogreska Essi 0.00202 0.00027Vrednost nastavitvenega casa T imei 1.222 0.606

trajanja nastavitvenega casa prve osi dodatno optimizacijo.Kakovostno so nacrtani vsi izhodni podatki za drugo os.Pojav dolgega nastavitvenega casa in posledicno nizje oce-

Slika 4: Tretje testiranje

njevalne funkcije prikazuje tudi slika 4. Ceprav je druga osuspesno nastavljena, zaradi velikega prenihaja in vztrajno-stnih mas vpliva na prvo os. Znano je namrec, da sta obe osimedsebojno mehansko sklopljeni, kar posledicno zmanjsujekakovost pridobljenih podatkov druge osi.

5. SKLEPZ naso aplikacijo smo hoteli pokazati, da so optimizacijskialgoritmi po vzoru iz narave, konkretneje algoritem BA, pri-merni za nastavljanje parametrov regulatorjev. AlgoritemBA, ki je znan zaradi svoje enostavne implementacije terhitre konvergence, poleg zvezne optimizacije matematicnihmodelov ponuja oporo tudi takim vrstam problemov. Cetudiregulator v vseh treh primerih ni bil optimalno nastavljen,izstopajo namrec rezultati prve osi, smo bili objektivno zdobljenimi resitvami zadovoljni. Vsekakor bi s povecanjemstevila posameznikov v populaciji ter stevila iteracij lahkopricakovali kakovostnejse rezultate, vendar bi po drugi stranipovecali potreben optimizacijski cas.

Rezultati poskusov so pokazali, da najbolj izstopa dolg na-stavitveni cas prve osi, saj ta predstavlja nosilno oporo tudidrugi osi. S hitrim spreminjanjem polozaja in vztrajnostnihmomentov pa slednja vpliva na prvo, kar predstavlja glavnomehansko tezavo. Tezavo bi lahko resili z manjsanjem regu-lacijskega I-clena, oz. ponovno optimizacijo z ozjim nabo-rom razpolozljivih vrednosti tega clena (Kv1).

V prihodnje zelimo algoritem BA hibridizirati s strategijamidiferencialne evolucije in tako izboljsati rezultate optimiza-cije [6]. Trenutno so v teku tudi testiranja genetskega al-goritma (GA), optimizacije z roji delcev (PSO) in diferenci-alne evolucije (DE). Dodatno izboljsavo predstavlja adapta-cija krmilnih parametrov, kjer postopek rocnega nastavlja-nja parametrov avtomatiziramo ter s tem eliminiramo pred-casno konvergenco v lokalne optimume [5]. Prav ta lastnostpredstavlja glavno tezavo omenjenega algoritma, saj optimi-zacija tece dokler izboljsujemo trenutno najboljso najdenoresitev.

6. REFERENCES[1] C. Darwin. R.(1859): On the origin of species by

means of natural selection. Murray. London, 1871.

[2] A. E. Eiben and J. E. Smith. Introduction toevolutionary computing. Springer Science & BusinessMedia, 2003.

[3] W. R. Evans. Control system synthesis by root locusmethod. American Institute of Electrical Engineers,Transactions of the, 69(1):66–69, 1950.

[4] D. Fister. Nacrtovanje samonastavljivega regulatorja 2DOF robota s pomocjo BA algoritma. Diplomsko delo: Univerza v Mariboru, Fakulteta za strojnistvo, 2015.

[5] I. Fister, D. Strnad, X.-S. Yang, and I. Fister Jr.Adaptation and hybridization in nature-inspiredalgorithms. In Adaptation and Hybridization inComputational Intelligence, pages 3–50. Springer,2015.

[6] I. Fister Jr, D. Fister, and X.-S. Yang. A hybrid batalgorithm. arXiv preprint arXiv:1303.6310, 2013.

[7] D. E. Goldberg and J. H. Holland. Genetic algorithmsand machine learning. Machine learning, 3(2):95–99,1988.

[8] A. Jagarinec. Adaptivni regulator z mehko logiko zadvoosni SCARA mehanizem. Diplomsko delo :Univerza v Mariboru, Fakulteta za elektrotehniko,racunalnistvo in informatiko, 2005.

[9] L. H. Keel and S. P. Bhattacharyya. A bode plotcharacterization of all stabilizing controllers.Automatic Control, IEEE Transactions on,55(11):2650–2654, 2010.

[10] J. Kennedy, J. F. Kennedy, R. C. Eberhart, andY. Shi. Swarm intelligence. Morgan Kaufmann, 2001.

[11] M. Kolar. Vodenje SCARA robota z mehko logiko.Diplomsko delo : Univerza v Mariboru, Fakulteta zaelektrotehniko, racunalnistvo in informatiko, 2005.

[12] H. Makino, N. Furuya, K. Soma, and E. Chin.Research and development of the scara robot. InProceedings of the 4th International Conference onProduction Engineering, pages 885–890, 1980.

[13] T. Slanic. Genetski regulator za dvoosnega SCARArobota. Diplomsko delo : Univerza v Mariboru,Fakulteta za elektrotehniko, racunalnistvo ininformatiko, 2006.

[14] A. M. Turing. Intelligent machinery, a hereticaltheory. The Turing Test: Verbal Behavior as theHallmark of Intelligence, page 105, 1948.

[15] J. Cas. Izdelava zveznega nevronskega sliding-moderegulatorja za teleoperiranje SCARA robota.Diplomsko delo : Univerza v Mariboru, Fakulteta zaelektrotehniko, racunalnistvo in informatiko, 2006.

[16] M. Curkovic. Vgrajeni sistemi DSP/FPGA v sistemihvodenja. Magistrsko delo Univerza v Mariboru,Fakulteta za elektrotehniko, racunalnistvo ininformatiko, 2010.

[17] R. Safaric and A. Rojko. Inteligentne regulacijsketehnike v mehatroniki. Univerza v Mariboru, Fakultetaza elektrotehniko, racunalnistvo in informatiko, 2005.

[18] X.-S. Yang. A new metaheuristic bat-inspiredalgorithm. In Nature inspired cooperative strategies foroptimization (NICSO 2010), pages 65–74. Springer,2010.

StuCoSReC Proceedings of the 2015 2nd Student Computer Science Research ConferenceLjubljana, Slovenia, 6 October 17