Lataa esitys
Esittely latautuu. Ole hyvä ja odota
1
PID-säätimen parametrien optimointi GA:lla
(Oma projekti/harjoitustyö)
2
Alkuperäinen prosessi
3
Toimiiko GA? Näyttää ainakin lupaavalta
Johtunee siitä, että k.o. säätöongelma on liian yksin-kertainen... ...lisäksi voi ihan randomillakin saada hyviä tuloksia(!)
4
Kuvitteellinen prosessi Staattinen vahvistus = 1
5
Perus-PID:n toteutus Matlabin työpöydällä Laplace-muodossa
Gsys=tf(1,[ ]); % prosessi Gpid=tf([Ti(i)*Td(i) Ti(i) 1],[Ti(i) 0]); % säädin Golt=Gsys*Gtype; % total system Open loop Gcl=feedback(Kp(i)*Golt,1); % Closed loop step(Gcl) % Piirtää askelvasteen info=stepinfo(Gcl) % Purkaa hyvyysarvot askelvasteesta (struct)
6
Heti hankalampi tapaus, undershoottia esiintyy vaikka väkisin
7
Populaatio P =(20*rand(1,length)+0.001).*(rand(1,length)+0.001).*(rand(1,length)+0.001); I =(10*rand(1,length)+0.001).*(rand(1,length)+0.001).*(rand(1,length)+0.001); D =(10*rand(1,length)+0.001).*(rand(1,length)+0.001).*(rand(1,length)+0.001);
8
Siirretään parhaimmat parametriyhdistelmät vasemmalle
Komentoja: Sort(hyvyysvektori) Find(pienimmän arvon indeksi)
9
Säästetään ne parhaimmat ja lisätään niiden risteytykset ja/tai mutaatiot
Sorry, crossover puuttuu vielä kokonaan... Ei ole ihan oppikirjan mukainen GA
10
Ongelmia... Crossover: geenien vaihto ja rulettivalinta
P, I ja D riippuvaisia toisistaan => Ei voida useamman optimointikerran jälkeen yksinkertaisesti olettaa kromosomien (vastaavien parametrien) keskiarvojen olevan ne ”optimaaliset”. Pitäisi ehkä huomioida geenien väliset suhteet esim. P:I:D 1:0.9:0.6 tai P/I, P/D, I/D ja sovittaa sopivat vakiot Hyvyysfunktion painoarvojen valinta
11
Hyvyysarvot saadaan askelvasteesta
12
Hyvyysfunktio Halutaan siis minimoida kaikki hyvyysarvot.
Summataan ne yhteen eri painoarvoilla, esim. 1*Risetime+2*Overshoot+3*Undershoot+ 1.5*Settlingtime Pienin summa = paras parametriyhdistelmä Parametrit riippuvaisia toisistaan?
13
Peruskriteerit täyttävät askelvasteet
Liikaa undershoottia! => säädetään painoarvo suuremmaksi GA:lle pitää opettaa millainen vaste on ”hyvä” vaste – toinen GA?
14
Hyvyysfunktio ”GA” valitaan se vaste, joka näyttää parhaimmalta (training data)
15
Eli kaikilla vasteilla on nyt samat PID-parametrit, mutta eri hyvyysfunktion painoarvot (random)
16
Valitaan taas se paras käyrä, tosin ei aina niin helppoa
17
Yritetään valita pois ne vasteet, joissa on eniten sitä ärsyttävää undershoottia...
18
Miten dataa pitäisi tulkita? Ovatko keskiarvot nyt ne optimaaliset?
Parameter_R = Parameter_S = Parameter_O = Parameter_U = keskiarvo = 1.1399 2.5956 3.9824 2.3048
19
No kokeillaan! (Ei ihan riittänyt undershootin eliminoimiseen, tarvittaisiin ehkä vähän enemmän training-data yritteitä kuin 4 ?) Eli nyt ollaan opetettu GA:lle että vasteet tulee olla tämännäköiset. Ei kuitenkaan saisi vaikuttaa PID-parametrien hyvyyteen.
20
Miten voidaan parantaa?
Suurempi elitismi, vähemmän uusia satunnais-kromosomeja Palikkahypoteesi saattaa olla se toimivin => Crossover eliittien välillä rulettivalinta-periaatteella, suurimmat todennäköisyydet niille parhaimmille (vasemmassa laidassa) Iteraatioiden edetessä kasvava mutatointiarvo (ja todennäköisyys?). Etsitään tällä tavalla parempia arvoja optimin lähistöllä Miten ne alan ”gurut” ovat tätä toteuttaneet? Googlaamalla löytää vaikka kuinka paljon...
21
To be continued...
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.