Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

PID-säätimen parametrien optimointi GA:lla

Samankaltaiset esitykset


Esitys aiheesta: "PID-säätimen parametrien optimointi GA:lla"— Esityksen transkriptio:

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...


Lataa ppt "PID-säätimen parametrien optimointi GA:lla"

Samankaltaiset esitykset


Iklan oleh Google