sadržaj - ruđer bošković...

57
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 2541 ESTIMACIJA BRZINE VJETRA NA LABORATORIJSKOM VJETROAGREGATU POMOĆU KALMANOVA FILTRA Dejan Friščić

Upload: others

Post on 23-Jan-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

SVEUČILIŠTE U ZAGREBUFAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

ZAVRŠNI RAD br. 2541 ESTIMACIJA BRZINE VJETRA NA

LABORATORIJSKOM VJETROAGREGATU POMOĆU KALMANOVA FILTRA

Dejan Friščić

Page 2: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Zagreb, lipanj 2012.

Zahvaljujem se mentoru prof. dr. sc. Nedjeljku Periću imag. ing. inf. et. Nikoli Hure na stručnoj pomoći,

savjetima, uloženom vremenu i trudu pri izradi ovog rada.

Page 3: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)
Page 4: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Sadržaj

1. Uvod.................................................................................................................1

2. Estimacija stanja..............................................................................................2

2.1 Uvod u estimaciju stanja...........................................................................2

2.1 Kalmanov filter...........................................................................................4

2.2 Primjer sinteze Kalmanova filtra u Matlabu-u............................................9

3. Po dijelovima afini sustavi..............................................................................13

3.1 Opis u prostoru stanja.............................................................................14

3.2 Sinteza po dijelovima afinog modela vjetroagregata...............................15

4. Projektiranje estimatora brzine vjetra za vjetroagregat...................................20

4.1 Sinteza Kalmanova filtra..........................................................................20

4.2 Simulacijski rezultati................................................................................21

5. Implementacija estimatora na laboratorijskom vjetroagregatu.......................25

5.1 Generiranje C koda estimacije................................................................25

5.2 Eksperimentalni rezultati.........................................................................27

Zaključak...............................................................................................................32

Literatura...............................................................................................................33

Sažetak..................................................................................................................34

Privitak...................................................................................................................35

Page 5: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)
Page 6: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

1. Uvod

Tehnike estimacije imaju vrlo široki spektar primjena – svugdje gdje je neku

pojavu (proces) moguće opisati parametriranim matematičkim modelom i

kontinuiranim veličinama stanja. Za korištenje naprednih metoda upravljanja

vjetroagregatom potrebno je imati informaciju o brzini vjetra. Na stvarnim

vjetroagregatima mjerena brzina vjetra nije dostupna u stvarnom vremenu, tako da ju je

potrebno estimirati.

U svakom matematičkom modelu sustav je opisana veza stanja, varijabli i

parametara od interesa za sintezu sustava upravljanja, no postavlja se pitanje što je sa

stanjima sustava koja nisu i ne mogu biti deterministički određena, a utječu na

ponašanje sustava upravljanja. Upravo ta stanja koja nisu u potpunosti deterministički

određena unose nesigurnost i netočnost u matematički model kojim je sustav opisan.

U ovakvim sustavima koje promatramo kao stohastičke linearne sustave uz

pretpostavku smetnji kao Gaussovih bijelih šumova, Kalmanov filtar našao je široku

primjenu kao optimalni linearni estimator stanja sustava koja su zašumljena ili nisu

mjerljiva.

U drugom poglavlju ovog rada opisani su osnovni principi estimacija, načelo rada

linearnog estimatora, Kalmanov filter, Kalmanov rekurzivni algoritam te napravljena

estimacija sustava u obliku primjera u kojem se pokazala važnost kovarijance. U

trećem poglavlju su opisani po dijelovima afini sustavi (PWA) i prikaz PWA modela u

prostoru stanja. Napravljen je PWA model laboratorijskog vjetroagragata za potrebe

sinteze Kalmanova filtra. U četvrtome poglavlju opisano je projektiranje estimatora

brzine vjetra za laboratorijski vjetroagregat, napravljena sinteza Kalmanova filtra i

provedena simulacija u Matlab Simulinku. Za eksperimentalnu provjeru algoritma

estimacije Kalmanova filtera na laboratorijskom vjetroagregatu, u poglavlju pet,

opisano je generiranje C koda Kalmanova filtra. Generiranje C koda napravljeno je na

način da je automatizirano i moguće ga je jednostavno generirati uz promjenu PWA

modela aerodinamičkog momenta. Na kraju petog poglavlja opisana su

eksperimentalna mjerenja i grafički prikazani rezultati.

1

Page 7: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

2. Estimacija stanja

Estimacija je proces procjene vrijednosti veličina od interesa na osnovi dostupnih

mjerenja, koja su uglavnom posredna, netočna i/ili nesigurna. Ako približno poznajemo

vrijednosti veličina, pomoću estimacije ih možemo korigirati na osnovi slijeda mjerenja te

tako dolazimo do točnijih vrijednosti. Potrebno je ne samo estimirati parametre modela već

pronaći i prikladnu strukturu modela koja može zadovoljavajuće dobro opisati vladanje

sustava. Postupak prikupljanja strukture modela zove se identifikacija sustava.

2.1 Uvod u estimaciju stanja

Promatramo li sustav opisan varijablama stanja vidljivo je da stanje sustava u

nekom trenutku ovisi o vrijednostima njegovih varijabli u tom trenutku koje su vremenski

promjenjive veličine.

Vremenski ovisne veličine sustava i njihov međusobni odnos dan je u

matematičkom modelu sustava koji je prema pretpostavci deterministički određen, ali u

stvarnom sustavu pojavljuju se smetnje kao stohastičke vrijednosti koje djeluju na

dinamiku sustava i njih nazivamo procesni šum.

Prilikom sinteze sustava upravljanja neizostavna je uloga povratne veze koja daje

informacije o trenutnom stanju sustava na temelju mjerenja koja su u većini stvarnih

sustava zašumljena, netočna ili nesigurna. Ta odstupanja mjerenih veličina posljedica su

neidealnih mjernih senzora te njihove osjetljivosti na vanjske utjecaje (temperatura

okoline, vjetar, vibracije), jednom riječi nazivamo ih mjernim šumom.

Također kod većine stvarnih sustava pojedine fizikalne veličine ne možemo izravno

mjeriti nego do njihovih vrijednosti dolazimo posrednim putem a tu se javljaju problemi

što stvarni sustav nije potpuno deterministički određen. Rješenje za navedene probleme

određivanja nemjerljivih stanja sustava je njihova estimacija.

2

Page 8: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Slika 2.1: Blokovska shema postupka estimacije stanja sustava

Estimatori stanja su rekurzivni algoritmi koji izračunavaju vrijednosti varijabla od

interesa koristeći spoznaje o:

1. vremenskom tijeku varijabli stanja (model dinamike sustava);

2. modelu mjerenja;

3. stohastičkom modelu različitih slučajnih pojava (poremećaja);

4. prethodnim informacijama o stanju sustava.

S obzirom na navedene spoznaje koje estimatori koriste, mogu se podijeliti u

nekoliko skupina.

1) Prema modelu dinamike sustava i model mjerenja:

linearni estimatori;

nelinearni estimatori.

2) S obzirom na modeliranje slučajnih pojava:

deterministički estimatori:

zanemaren mjerni i procesni šum;

stohastički estimatori:

mjerni i procesni šum opisani kao Gaussov bijeli šum;

mjerni i procesni šum opisani nekim drugim statističkim i

vjerojatnosnim karakteristikama.

3) S obzirom na prethodne informacije o varijablama stanja sustava:

nema prethodnih informacija o stanju sustava;

prethodno stanje sustava (približno) poznato.

3

Page 9: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Opće načelo rada linearnog estimatora može se podijeliti u dva rekurzivna koraka [2].

1) Korak predikcije stanja sustava na temelju jednadžbe stanja sustava:

predikcija stanja(k+1|k) = estimacija stanja(k) + promjena stanja(k);

2) Korak korekcije stanja sustava na temelju novih mjerenja:

estimacija stanja(k+1) = predikcija stanja(k+1|k) + težinski član(k+1) * rezidual(k+1).

2.1 Kalmanov filter

Ponekad je potrebno odrediti neku fizikalnu veličinu koja se teško može izravno

izmjeriti. Recimo da željena veličina predstavlja izravno nedostupnu varijablu stanja

sustava (ukoliko sustav opišemo modelom s varijablama stanja). Do tražene veličine

potrebno je doći posredno. Pritom problem predstavlja sam realan sustav čije ponašanje

nije do kraja determinističko. Također, mjerenje neke mjerljive veličine preko koje želimo

doći do potrebne varijable stanja su često zašumljena i nepouzdana (mjerena veličina je

zapravo slučajna varijabla).

Rudolf Emil Kalman (rođen 1930. u Budimpešti) objavio je 1960. godine

rekurzivni matematički algoritam za estimaciju stanja dinamičkih sustava sa zašumljenim

mjernim signalima i varijablama stanja. Služi ekstrakciji nedostupne varijable stanja

sustava iz dostupnih zašumljenih izvora (zašumljeno mjerenje izlaza sustava i zašumljeni

stohastički ulaz u sustav) i prethodnog stanja sustava.

Kalmanov filter pretpostavlja da postoji vremenski diskretan proces kojim

upravljamo, odnosno koji nadziremo. Načelo rada Kalmanovog filtra svodi se na računanje

estimiranih stanja xk , na osnovu zašumljenih mjerenja yk , za slučajni proces xk, opisan

linearnim diskretnim modelom u prostoru stanja. Kalmanov filter, kao optimalni estimator

i prediktor nepoznate veličine pronašao je veliku primjenu u upravljanju sustavima,

navigaciji, praćenju i predviđanju putanje objekta.

Za izvod jednadžbi Kalmanova filtra neophodno je prethodno odrediti kako se

očekivana vrijednost i varijanca od xk mijenjaju (propagiraju) kroz vrijeme. Proces je

opisan linearnim modelom s varijablama stanja ((2-1) i (2-2)) i nije potpuno

deterministički.

4

Page 10: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

xk=A xk−1+B uk−1+wk−1 (2-1)

yk=H xk+vk (2-2)

Simbolom x se označava n-dimenzionalna varijabla stanja sustava. Radi se o

veličini inherentnoj sustavu koja nije izravno mjeriva, a želi se odrediti, što je zadatak

estimatora. Prva jednadžba govori o vezi između iznosa varijable stanja u trenutnom i

prethodnom koraku. Vidljivo je da trenutni xk ovisi o prethodnoj vrijednosti xk−1 varijable

pomnožene s matricom A dimenzije n × n. Nadalje, trenutno stanje ovisi o ulazu u sustav iz

prethodnog koraka predstavljenog jednodimenzionalnim vektorom uk−1, pomnoženog

matricom B dimenzija n ×l, gdje je l broj ulaznih varijabli u sustav.

Osim ovih determinističkih članova, trenutno stanje ovisi i o slučajnom članu w k−1.

Radi se o slučajnom vektoru kojim se modelira šum svojstven procesu. Riječ je o

Gaussovom bijelom šumu (frekvencijski je neovisan i vremenski nekoreliran) s

normalnom razdiobom: p (w ) N (0 , Q). Q je matrica kovarijancije šuma procesa. Može se

odrediti postupkom identifikacije sustava. Što je varijabla u matrici Q veća to je model

nepouzdaniji.

Izlaz sustava predstavljen je m-dimenzionalnim vektorom yk (2-2) koji predstavlja

mjerivu veličinu. Izlaz je deterministički povezan s varijablom stanja preko matrice H

dimenzija m× n. Kao i kod prethodne jednadžbe stanja (2-1) i ovdje se pojavljuje

stohastička veličina. Radi se o bijelom šumu koji je prisutan pri mjerenju. Modeliran je

vektorom vk, koji ne ovisi o šumu w k−1 i raspodijeljen je po normalnoj razdiobi s

kovarijancom R: p (v ) N (0 , R) . Vrijednost R se određuje eksperimentalno.

Kao što je vidljivo iz gornjeg modela, i sustav i mjerenje "zagađeni" su šumom, što

onemogućava donošenje pouzdanog zaključka o trenutnoj vrijednosti varijable stanja x

ovog sustava. Zadatak Kalmanovog filtra je upravo da procijeni tu vrijednost. Generalno

govoreći, filtar radi u dva koraka:

xk−¿¿ - a priori (predikcija) - na temelju posljednjeg poznatog stanja k-1

predviđa se sljedeće stanje k; ova procjena sadrži neku pogrešku zbog

šuma u sustavu koji pritom nije uzet u obzir, dakle estimacija bez

poznatog mjerenja;

5

Page 11: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

xk+¿¿ - a posteriori (korekcija) - nakon što se stanje stvarno promijeni u

sljedeće., izmjeri se izlaz sustava y(k ) i na temelju tog zašumljenog

rezultata, te matrica koje opisuju ponašanje procesa i podataka o šumu

korigira se procjena stanja x .

Nakon toga, cijeli se ciklus ponavlja: predviđa se sljedeće stanje, mjeri se izlaz,

korigira procjena sljedećeg stanja i tako u krug. Mjerenje, dakle, dijeli algoritam realizacije

Kalmanovog filtra na dva dijela: dio prije mjerenja (procjena stanja a priori ) i nakon

mjerenja (procjena stanja uz poznato mjerenje, a posteriori). U nastavku teksta veličine

dobivene prije mjerenja označene su znakom "-".

Slika 2.1: Načelna shema realizacije Kalmanovog filtra

Prvi korak algoritma može se opisati sljedećim jednadžbama:

xk−¿=A xk−1

−¿+Buk ¿¿ (2-3)

Pk−¿=A P k−1 A T+Q¿ (2-4)

6

Page 12: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

U prvom koraku na temelju determinističke jednadžbe stanja sustava procjenjuje se

vrijednost varijable stanja sustava. Ova procjena donosi se samo na temelju vrijednosti a

posteriori estimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija) i ulaza

iz prethodnog koraka. Kvaliteta ove procjene ovisi o kvaliteti modela kojim je proces

opisan, kao i utjecaju šuma (modelirano vektorom w ) koji je u ovoj procjeni izostavljen u

stvarnom procesu.

Budući da se ovim korakom na temelju prethodnih veličina može predvidjeti stanje

sustava u trenutnom koraku, ovaj korak može se nazvati predikcijom (predviđa sljedeće

stanje sustava uz poznato prethodno stanje). Razlikom stvarnog i a priori procijenjenog

stanja definira se a priori pogreška estimacije:

ek−¿≡ xk− xk

−¿¿ ¿ (2-5)

Na temelju ove pogreške može se definirati kovarijanca pogreške apriori

estimacije:

Pk−¿=E¿ ¿ (2-6)

Jednadžba (2-4) pokazuje kako se na temelju a posteriori kovarijance pogreške iz

prethodnog koraka i kovarijance šuma sustava može izračunati kovarijanca pogreške a

priori estimacije za trenutni korak. Kalmanovo pojačanje možemo zapisati kroz dva

osnovna koraka rekurzivnog algoritma Kalmanovog filtra (slika 2.2).

Slika 2.2: Ciklus izvođenja rekurzivnog algoritma diskretnog Kalmanovog filtra

7

Page 13: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

U prvom koraku rekurzivnog algoritma diskretnog Kalmanovog filtra procjenjuje

se a priori vrijednost varijable stanja sustava na temelju determinističke jednadžbe stanja

sustava – predikcija, te se proračunava pripadna a priori kovarijanca pogreške estimacije.

1) Korak predikcije:

xk−¿=A xk−1

+¿+B uk¿ ¿ (2-7)

Pk−¿= AP k−1

+¿ AT+Qk ¿¿ (2-8)

Drugi korak algoritma svodi se na korekciju estimacije na temelju izvedenog mjerenja. Mjerenje, dakle, igra ulogu povratne veze.

2) Korak korekcije:

K k=Pk−¿ H T¿ ¿¿ (2-9)

xk= xk−¿+Kk ¿¿ (2-10)

Pk=( I−K k H )Pk−¿ ¿ (2-11)

Ovako definiran ciklus rekurzivnog algoritma Kalmanovog filtra (Slika 2.2) naziva se još i

prediktor-korektor algoritam.

Jednadžba (2.10) u ovom koraku je najvažnija . Ona opisuje korekciju estimacije:

a priori vrijednosti estimacije stanja procesa dodaje se korekcijski član K k ¿ čime se

poboljšava estimacija varijable x u stanju k . Razlika ¿ naziva se inovacija mjerenja i njome

se modelira razlika (nepoklapanje) između stvarnog mjerenja yk i teorijski predviđenog

rezultata mjerenja koji slijedi iz jednadžbi procesa: H xk−¿¿ .K k je faktor koji se još naziva

Kalmanovim pojačanjem. Radi se zapravo o matrici dimenzija n × m čiji je zadatak da u a

posteriori fazi minimizira kovarijancu pogreške estimacije Pk+¿¿ , koja je definirana kao:

Pk+¿=E¿ ¿ (2-12)

Razlikom stvarnog i a posteriori procijenjenog stanja definira se a posteriori pogreška

estimacije:

ek+¿≡ x k−x k

+¿¿ ¿ (2-13)

8

Page 14: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Može se dokazati da K kovisi o a priori vrijednosti pogreške Pk−¿ ¿, matrici H i kovarijanci

mjerenog šuma R na način opisan jednadžbom (2-9).

Budući da će u sljedećem koraku predikcije (za sljedeće stanje) potrebno poznavati

kovarijancu pogreške iz prethodnog koraka Pk (iz ovog koraka će se u sljedećem ciklusu

upotrijebiti kao Pk−1), na kraju se računa Pk prema jednadžbi (2-11).

2.2 Primjer sinteze Kalmanova filtra u Matlabu-u

Na temelju prethodno opisanog općeg modela i algoritma Kalmanova filtra je u

ovome poglavlju prikazan jednostavan primjer sinteze Kalmanova filtra u Matlabu. Za

realizaciju se koristi Embedded MATLAB Function (Slika 2.3) iz Simulink Library

Browser-a u koju smo upisali kôd Kalmanov algoritam (Privitak 1. – Kalmanov filter).

Slika 2.3: Embedded MATLAB Function

Slika 2.4 - Shema sustava koji estimiramo

9

Page 15: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Pri projektiranju Kalmanovog filtra za sustav prikazan slikom 2.4 inicijalno su

pretpostavljeni sljedeći iznosi kovarijance procesnog i mjernog šuma:

Q=[1∙ 10− 4 00 1 ∙10−4] , R=0.1 , (2-14)

a matice sustava su zadane u obliku:

A=[0.4 0.60.1 0.3] , B=[13] , C=[2 1

1 00 1] , D=[000] (2-15)

Estimirana vrijednost za prvu varijablu stanja sustava prikazana je na slici 2.5.

Slika 2.5: Estimacija prve varijable stanja

Estimirana vrijednost za drugu varijablu stanja sustava prikazana je na slici 2.6.

10

Page 16: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Slika 2.6: Estimacija druge varijable stanja

Na slici 2.5 i 2.6 se uočava kako se odzivi stvarnih i estimiranih vrijednosti

varijabli stanja ne poklapaju, pa kako bi dobili što bolju estimaciju pomoću Kalmanova

filtra kroz nekoliko simulacija se mogu procijeniti matrice kovarijance

Q=[1 00 1] ,R=0.1 , (2-16)

a pripadajući odzivi za navedene vrijednosti kovarijanci su prikazane na slici 2.6 i 2.7.

Slika 2.6 – Estimacija prve varijable stanja

11

Page 17: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Slika 2.6 – Estimacija druge varijable stanja

Ovim primjerom se pokazuje koliko je bitno dobro odrediti matrice kovarijance.

Dijagonalni elementi matrice su Q=1 čime je naglašeno da je model nepouzdan i rezultat je

bolja estimacija.

12

Page 18: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

3. Po dijelovima afini sustavi

Identifikacijom procesa traži se matematički model koji dobro opisuje ulazno-

izlazno vladanje procesa na osnovi eksperimentalno dobivenih podataka. Potrebno je da

takav model bude prikladan za projektiranje sustava upravljanja, kao i za predviđanje

budućeg vladanja procesa. Najčešće su korišteni linearni vremenski diskretni modeli

opisani jednadžbama diferencija, kao npr. ARX (engl. AutoRegressive eXogenous) i

ARMAX (engl. Auto-Regressive with Moving Average eXogenous), te modeli s prikazom

po varijablama stanja. Ponekad, međutim, linearni modeli ne mogu dati dovoljno dobar

opis dinamike sustava pa se koriste nelinearni modeli. Jedna od struktura nelinearnih

modela su po dijelovima afini modeli (engl. PieceWise Affine, PWA). PWA sustavi se

dobivaju dijeljenjem cjelokupnog skupa ulaza i stanja sustava na konačan broj poliedarskih

područja (politopa), nad kojima vrijedi afina funkcija preslikavanja vrijednosti ulaznih

veličina i stanja procesa na izlaz (podmodel) (Slika 3.1).

Slika 3.1: Po dijelovima afina funkcija s diskontinuitetima i tri podmodela

PWA modelom moguće je s proizvoljnom preciznošću opisati nelinearnu dinamiku

i zbog svojih svojstava može ga se koristiti za ekvivalentan opis hibridnih sustava koji uz

opis dinamičkog vladanja sadrže i elemente logike. Uz dobar opis kontinuiranih

13

Page 19: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

nelinearnih funkcija, s PWA modelom moguća je estimacija kontinuiranih i

diskontinuiranih modela sustava pa možemo reći da po dijelovima afini sustavi imaju

univerzalna aproksimacijska svojstva.

Najčešće korišteni prikazi PWA modela su: modeli u prostoru stanja, modeli u

regresijskom obliku, HHARX i kanonički prikaz prema Chui.

3.1 Opis u prostoru stanja

Općeniti vremenski diskretni po dijelovima afin sustav se u modelu prostora stanja

opisuje s:

xk+1=A vkxk+B vk

uk+bvk

yk=C v kxk+ Dv k

uk+dv k (3-1)

gdje je k ∈ N 0 diskretan vremenski trenutak (korak diskretizacije), xk ∈ Rn vektor stanja

procesa, uk ∈ Rp je vektor ulaz u sustava, yk ∈ Rq je vektor izlaza iz sustava. Varijabla vk =

v (xk, uk) određuje aktivni podmodel u kojem se proces nalazi u danom trenutku k te

poprima vrijednosti iz konačnog diskretnog skupa 1, . . . , s, gdje s predstavlja broj afinih

podmodela te tada govorimo o preklapajućim sustavima (engl. switched systems) ili

općenito funkcija vektora xk i uk (politopi).

Matrice Ai, Bi, bi, Ci, Di, di predstavljaju dobro poznate matrice opisa linearnih

sustava u prostoru stanja. Vektori bv ki dvksu afine komponente opisa sustava u prostoru

stanja. Indeks i ∈ 1, . . . , s je indeks podmodela koji opisuje pojedini afino modeliran

dio sustava. Ovo je oblik vrlo prikladan za sintezu prediktivnog regulatora. Sve druge

PWA modele je prije postupka sinteze preporučljivo dovesti u ovaj oblik.

U skladu s prethodno danim opisom za sustav opisan u (3-1) možemo zaključiti

kako je u afinom sustavu s varijabilnim koeficijentima gdje odabir skupa parametara

(matrice linearnog dijela i odmak) ima efekt uklapanja/isklapanja s obzirom na funkciju

vk. Upravo takav efekt čini PWA modele vrstom hibridnog sustava. Općenito se aktivni

podmodel u prostoru stanja u koraku diskretizacije k određuje iz pozicije stanja i ulaznih

vrijednosti u prostoru Ω ⊆Rn × Rp koji je razapet varijablama stanja procesa i ulazima u

sustav (3-2).

14

Page 20: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

vk=i ,ako je ( xk , uk ) ϵ Ωi ,i∈1 , . . ., s (3-2)

Prostor Ω je podijeljen u s politopa Ωi . Nad svakim politopom je definiran jedan afini

podmodel. Aktivni politop se određuje zadovoljenjem sljedeće relacije:

Ω=( x , u )∈ Rn× Rp : H i[xul ]≤ K i, (3-3)

gdje je matrica H i i vektor K i definiraju granice i-tog politopa. Kako bi se mogao

identificirati PWA model vjetroagregata, potrebno je nelinearne statičke funkcije u modelu

vjetroagregata aproksimirati funkcijama s PWA svojstvima.

3.2 Sinteza po dijelovima afinog modela vjetroagregata

Laboratorijski modela vjetroagregata koji se koristi za sintezu sustava upravljanja u

ovom radu je nelinearan. Nelinearnost proizlazi iz nelinearnih funkcija aerodinamičkog

momenta (Ma) i sile potiska (Ft). Obje nelinearnosti se mogu opisati u hiperprostoru

razapetom sljedećim veličinama: brzina vrtnje rotora ( ), kut zakreta lopatica (β) i

relativna brzina vjetra na glavčini vjetroagregata (vvjr ). U ovome radu se nije uzimala sila

potiska za dobivanje PWA modela vjetroagrerata s obzirom na fiksiranost tornja

laboratorijskog vjetroagregata. Kako bi se dobio PWA model vjetroagregata, potrebno je

nelinearne statičke funkcije Ma identificirati kao PWA mape uz minimiziranje pogreške

aproksimacije.

U radu [1] obavlja se identifikacija PWA modela vjetroagregata s naglaskom na

dobro poznavanje ponašanja u okolini njegove statičke karakteristike (slika 3.2) . Za PWA

identifikaciju je korištena metoda temeljena na uskupljavanju (eng. clustering based

identification). Metoda identifikacije PWA sustava temeljena na uskupljavanju

predstavljena je u [10].

15

Page 21: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Slika 3.2: Statička karakteristika laboratorijskog vjetroagregata

U ovom radu nije ponovno napravljena identifikacija aerodinamičkog momenta

laboratorijskog vjetroagregata već su podaci preuzeti iz [1].

PWA model vjetroagregata slijedi iz diferencijalne jednadžbe dinamike rotora (3-4)

uz korištenje identificiranih PWA modela aerodinamičkog momenta

J t ω=M a , PWA ( ω,β , vvj )−M g , (3-4)

gdje je:Ma,PWA - aerodinamički moment [Nm],

Mg: moment generatora [Nm],

Jt: moment inercije turbine [kgm2].

Za sintezu PWA modela vjetroagregata, koji će se koristiti za projektiranje

estimatora stanja, potrebno je nelinearnu statičku karakteristiku aerodinamičkog momenta

aproksimirati po dijelovima afinim modelom.

M a , PWA=Θi 1 β+Θi 2ω+Θi3 v vj+Θi 4 . (3-5)

16

Page 22: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Ako diferencijalnoj jednadžbi dinamike rotora 3.4 dodamo jednadžbu 3.5 slijedi:

J t ω=Θi 1 β+Θi 2 ω+Θi 3 vvj+Θi 4−M g , (3-6)

gdje su Θi , i=1,..,35 vektori parametara dodijeljeni svakom politopu (Slika 3.3) .

Θi 1=Θi1

βmax−βmin,

Θi 2=Θi 2

ωmax−ωmin,

Θi 2=Θi 3

V vj , max−V vj , min,

Θi 4=−Θi 1¿ βmin−Θi2∗ωmin−Θi 3∗V vj , min+Θi 4 .

Granične vrijednosti laboratorijskog vjetroagregata su

βmin=−0.1745 rad , βmax=0.3491 rad ,

ωmin=0 rads

, ωmax=29.7404 rads

,

V vj ,min=3.5 rads

, Vvj , max

= 12 rads

.

(3-7)

PWA modelom vjetroagregata će se upravljati zadavanjem reference kuta zakreta i

momenta generatora.

Budući da se brzina odziva momenta generatora mjeri u milisekundama, što

predstavlja vremensku konstantu koja je zanemariva u usporedbi sa svakom drugom

dinamikom na vjetroagregatu, u modelu će se pretpostaviti:

M g , ref ≈ M g (3-7)

17

Page 23: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Slika 3.3: Raspored politopa PWA modela aerodinamičkog momenta

Dinamika zakreta lopatica se može opisati PT2 članom pa slijedi:

ββref

= 10.6 s+1

, (3-8)

iz čega slijedi:

βref=0.6 β+β (3-9)

Može se primijetiti kako je brzina vjetra uključena u vektor stanja sustava iako ona

predstavlja vanjsku poremećajnu veličinu. S obzirom na nepoznatu dinamiku brzine vjetra,

pretpostavlja se njen konstantan iznos duž predikacijskog horizonta.

vvj=0 (3-10)

Iz jednadžbi 3.4, 3.9 i 3.10, uz kut zakreta, brzinu vrtnje i brzinu vjetra kao varijable stanja

slijedi kontinuirani PWA model vjetroagregata u prostoru stanja:

18

Page 24: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

[ βωvvj

]=[−10.6

0 0

θi 1

J t

θi 2

J t

θi 3

J t

0 0 0] [ β

ωvvj

]+[ 10.6

0 0

0 −1J t

θi 4

J t][βref

M g

1 ] (3-11)

y=[1 0 00 1 0 ][ β

ωvvj

] , (3-12)

gdje se aktivni politop i=1,2,...,35 određuje pomoću vrijednosti: ω, β i vvj.

Sustav opisan jednadžbama (3-11) i (3-12) je diskretiziran uz period uzorkovanja

Ts=150 ms i koristi će se za potrebe sinteze Kalmanovog filtra.

Pronalaženje aktivnog podmodela vjetroagregata se svodi na traženje područja Ωi

koje zadovoljava sljedeću nejednakost:

H i[ βωv vj

]≤ K i , (3.14)

Matrica Hi i vektor Ki definiraju granice svakog politopa Ωi. Nejednakost iz izraza

(3.14) je u načelu zadovoljena samo za jedno područje jer ne postoje politopi koji se

preklapaju.

Iznimka od pravila je područje razgraničenja gdje oba susjedna modela

zadovoljavaju nejednakost. U tom slučaju se aktivira prvi pronađeni od susjednih

podmodela.

19

Page 25: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

4. Projektiranje estimatora brzine vjetra za vjetroagregat

U ovom poglavlju je za estimaciju brzine vjetra realiziran Kalmanov filtar, koji kao

sastavni dio matematičkog modela vjetroagregata koristi po dijelovima afini model u

prostoru stanja. Simulacijska provjera je provedena u Matlab Simulinku, a potom je za

potrebe eksperimentalne provjere generiran C kod estimatora za izvršavanje algoritma u

stvarnom vremenu.

4.1 Sinteza Kalmanova filtra

U ovome poglavlju je PWA model vjetroagregata u prostoru stanja iskorišten za

opis determinističkog dijela propagacije stanja Kalmanova filtra.

Pošto smo definirali sve koeficijente laboratorijskog vjetroagregata u poglavlju 3.2,

možemo definirati matrice sustava Kalmanova filtra (4-3).

xk+1=A xk+B uk+wk

yk=C xk+vk

(4-3)

Moment inercije turbine Jt = 3.072 kgm2 a matrice sustava su:

A=[−10.6

0 0

Θi 1

J t

Θi2

J t

Θi 3

J t

0 0 0] ,

B=[−1/0.6 0 00 −1 /J t Θi 4 /J t

0 0 0 ] (4-4)

20

Page 26: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

dok je matrica C jedinična. Još nam preostaje da generiramo matrice Hi i Ki .

H i=H i (∆ z )' ,

K i=K i+H i zmin,(4-5)

gdje su:

∆ z=[ βmax−βmin 0 00 ωmax−ωmin 00 0 V vj ,max−V vj ,min

] ,zmin=[ βmin

ωmin

V vj ,min]

(4-6)

Matlab kod diskretizacije je priložen u prilogu 2.

4.2 Simulacijski rezultati

Na slici 4.1 je prikazan matematički model laboratorijskog vjetroagregata i model

Kalmanova filtra pomoću kojeg se vrši estimacija kuta zakreta lopatica β, brzine vrtnje

rotora ω i brzine vjetra vvj. Kao ulaz u Kalmanov filtar uzima se kutna brzina vrtnje

vjetroagregata ω i kut zakreta lopatice β.

Kod simulacije, brzina vjetra je zadana preko dvije step funkcije kojima se zbraja

konstanta iznosa 3.2 (Slika 4.1 )

Ulaz u kalmanov filtar se sastoji od vektora estimiranih stanja iz prošlog koraka i

mjerenja snimljenih u trenutnom koraku.

Matrica kovarijance P se za sljedeću iteraciju pamti pomoću posebne deklaracije

varijabli (eng. persistent) kako bi se mogao provesti Kalmanov algoritam opisan u

poglavlju 2. Kod implementacije Kalmanova filtra u Matlabu dan je u prilogu 4.

21

Page 27: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Slika 4.1: Simulink model Kalmanova filtar i matematičkog modela vjetroagregata

Slika 4.3 prikazuje estimaciju kutne brzine vjetroagregata ω i estimirane vrijednosti

kutne brzine ω. Estimirana kutna brzina vjetroagregata ω vrlo dobro prati stvarnu

vrijednost ω i nema velikih istitravanja iz čega se može zaključiti da je realizirani model

Kalmanova filtra zadovoljavajući.

Slika 4.4 prikazuje generiranu vrijednost vjetra pomoću step funkcija i estimaciju

vjetra pomoću Kalmanova filtra. Može se primijetiti da estimirana vrijednost ima mala

nadvišenja, ali to je zbog toga što smo u vrijednosti pojedinih varijabli u matricama

kovarijance (3-7) podešene da Kalmanov filtar brzo reagira na promjenu.

22

Page 28: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Slika 4.3 Estimacija kutne brzine vjetroagregata

Slika 4.4 Estimacija kutne brzine vjetroagregata

23

Page 29: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

U algoritmu Kalmanova filtra matrica kovarijance Q je nepouzdanost modela, a

matrica R nepouzdanost mjerenja. Što su dodijeljene vrijednosti matrici Q i R veće to je

model nepouzdaniji a mjerenje pouzdanije. U ovome radu matrice Q i R su:

Q=[0.1 0 00 0.1 00 0 0.1] ,

R=[10 00 20 ]

(4-7)

Matlab kod Kalmanove funkcije je priložen u prilogu 3.

24

Page 30: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

5. Implementacija estimatora na laboratorijskom vjetroagregatu

Za provjeru eksperimentalne valjanosti algoritma estimacije potrebno je generirati

C kod estimatora za izvršavanje algoritma u stvarnom vremenu. Da bi se realizirao

algoritam koji se izvršava u stvarnom vremenu potrebno je najprije u Matlabu provesti

diskretizacije pomoću ZOH metode kao što je opisano u poglavlju 4.1. te napraviti

posebnu funkciju mpt_export.m koja kreira header datoteku sa svim potrebnim

parametrima Kalmanova filtra (prilog 2).

5.1 Generiranje C koda estimacije

Pošto se laboratorijski vjetroagregat upravlja preko LabVIEW-a funkciju

Kalmanova filtra (prilog 3) u Matlabu potrebno je prepisati u C kod funkciju kako bi se

algoritam mogao izvršavati u stvarnom vremenu. Navedena funkcija prima ulazne

parametre Y, U, X, P, Q, R tj. parametre iz jednadžbe 3-3 a matrice H, K, A, B, C, D se

učitavaju preko header datoteke. Generiranje C koda je napravljeno na način da je

automatizirano i moguće ga je jednostavno generirati uz promjenu PWA modela

aerodinamičkog momenta vjetroagregata.

Slika 5.1: Call Library Function Node

Iz C funkcije Kalmanovog filtra potrebno je generirati .dll datoteku (eng. Dynamic-

link library) pošto LabVIEW ima Call Library Function Node element koji omogućava

izvršavanje .dll datoteke u stvarnom vremenu.

Postupak generiranja .dll datoteke i implementacija u Call Library Function Node

opisan je u literaturi [9]. U Matlabu da bi se pamtilo prijašnje stanje pojedinih varijabla iz

25

Page 31: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Kalmanovog filtra morali smo koristiti deklaraciju persistent, a u LabVIEW se ista

funkcionalnost pamćenja za sljedeću iteraciju ostvaruje korištenjem posmačnih registara.

Slika 5.2 Generiranje C koda za izvršavanje u stvarnom vremenu

Početne vrijednosti pojedinih ulaznih parametara su :

X=[ 00

3.5] , P0=[10 0 00 10 00 0 10],

Q=[0.0122 0 00 0.02 00 0 0.01] ,R=[0.01 0

0 0.03] . (5-1)

Iznosi u matricama su određeni eksperimentalno.

26

Page 32: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Slika 5.3: realizacija Kalmanova filtra u Lab Vieweru

5.2 Eksperimentalni rezultati

Nakon što je generiran C kod algoritma estimatora opisanog u poglavlju 5.1 može

se pristupiti eksperimentalnoj provjeri rezultata estimacije. Eksperimentalna provjera je

provedena na laboratorijskom vjetroagregatu.

Prva varijabla koja se estimira je kut zakreta lopatica β. Pošto jako dobro

poznajemo kut zakreta β iz sustava, estimirana vrijednost β nije zašumljena i na

zadovoljavajući način prati stvarnu vrijednost kutne brzine.

Slika 5.3: Eksperimentalna provjera estimacije kuta zakreta lopatica

27

Page 33: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Druga varijabala koja se estimira je kutna brzina ω. Varijablu kutne brzine isto

dobro poznajemo iz modela pa se može vidjeti na slici 5.4.i 5.5 da estimacija kutne brzine

ω na zadovoljavajući način prati stvarnu vrijednost ω.

Slika 5.4: Eksperimentalna provjera estimacije brzine rotora

Pošto se iz slike 5.4 slabo vidi razlika između estimirane i stvarne vrijednosti kutne

brzine na slici 5.5 izdvojen je jedan dio intervala mjerenja.

28

Page 34: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Slika 5.4: Eksperimentalna provjera estimacije brzine rotora

Treća varijabla koja se estimira je brzina vjetra. Za nju ne pretpostavljamo

ponašanje u matematičkom modelu determinističkog sustava te njezina estimacija ovisi

isključivo o točnosti identificirane mape aerodinamičkog momenta. Što je identifikacija

sustava provedena preciznije to će i estimacija ove varijable biti točnija. Kako bi se

ostvarila što bolja estimacija brzine vjetra eksperimentalne provjere su napravljene na

nekoliko identificiranih modela. Na slici 5.5 se vidi odstupanje upravo zbog nedovoljno

dobrog poznavanja karakteristike aerodinamičkog momenta. Slika 5.6 prikazuje brzinu

vrtnje ventilatora.

29

Page 35: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Slika 5.5: Eksperimentalna provjera estimacije vjetra

Slika 5.6: Brzina vrtnje ventilatora

30

Page 36: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

31

Page 37: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Zaključak

Pri projektiranju sustava automatskog upravljanja za stvarne procese, često se

javljaju ograničenja i poteškoće. Jedno od ograničenja je i osjetljivost sustava i mjernih

članova na šumove, te nedostupnost svih potrebnih mjerenja u povratnoj vezi sustava

upravljanja.

Kalmanov filtar kao optimalni estimator vrlo dobro rješava problem estimacije

varijabli stanja na temelju zašumljenih mjerenja, pri čemu je šum definiran kao bijeli

Gaussov šum nulte srednje vrijednosti. Pri projektiranju Kalmanovog filtra bitno je

poznavati matematički model sustava, te kovarijance procesnog i mjernog šuma koje se

utvrđuju identifikacijom sustava.

Što je identifikacija PWA modela laboratorijskog vjetroagregata točnija to će i

estimacija brzine vjetra biti preciznija.

32

Page 38: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Literatura

[1] NIKOLA HURE , Identifikacija po dijelovima afinog modela vjetroagregata u okolini njegove statičke karakteristike, Zagrebu, (2010)

[2] PROF.DR.SC. NEDJELJKO PERIĆ, PROF. DR. SC. IVAN PETKOVIĆ , Teorija estimacije, materijali za predavanje.

[3] AN INTRODUCTION TO THE KALMAN FILTER, http://www.goddardconsulting.ca/kalman-filter.html

[4] THEORY OF POLYTOPES AND MULTI-PARAMETRIC PROGRAMMING, http://control.ee.ethz.ch/~mpt/downloads/MPTmanual.pdf

[5] MATE JELAVIĆ , Upravljanje vjetroagregatom s ciljem smanjenja dinamičkih opterećenja konstrukcije. Doktorska disertacija, FER, Zagreb, 2009

[6] GREG WELCH, GARY BISHOP, An Introduction to the Kalman Filter, Department of Computer Science, University of North Carolina at Chapel Hill, Chapel Hill, July 24, 2006

[7] DOC.DR.SC. MARIO VAŠAK, Prediktivno upravljanje sustavima korištenjem algebra skupova, prosinac 2008.

[8] PROF.DR.SC. NEDJELJKO PERIĆ , DOC.DR.SC. MARIO VAŠAK, Identifikacija po djelovima afinog modela procesa temeljena na uskupljavanju, The 31st Annual Conference of the IEEE Industrial Electronics Society, Rayleigh, North Carolina, USA, November 6-10, 2005

[9] USING EXISTING C CODE OR A DLL IN LABVIEW, https://decibel.ni.com/content/docs/DOC-1690

[10] Giancarlo Ferrari-Trecate, Marco Muselli, Diego Liberati, Manfred

Morari. A clustering technique for the identification of piecewise affine

systems. Automatica, 39: 205-217, 2003.

33

Page 39: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Sažetak

U ovome radu napravljena je estimacija vjetra pomoću Kalmanova filtra. Realiziran

je algoritam Kalmanova filtra i provedena simulacijska provjera estimacije na

matematičkom modelu vjetroagregata i eksperimentalna provjera na laboratorijskom

vjetroagregatu. Napravljen je PWA model laboratorijskog vjetroagregata za potrebe sinteze

Kalmanova filtra. Za eksperimentalnu provjeru generiran je C koda estimatora na način da

je automatizirano moguće promijeniti PWA modela aerodinamičkog momenta

vjetroagregata.

Ključne riječi: Estimacija, Kalmanov filter, po dijelovima afini model vjetroagregata,

generiranje C kod estimatora.

34

Page 40: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Privitak

Privitak 1. – Kalmanov filtar

function [xOut, yOut] = KALMAN(u,y)persistent P x A B H Q R%incijalizacija varijabli na pocetkuif isempty(P) x = [0;0]; P = eye(2)*100; A = [0.35 0.65; 0.12 0.25]; B = [1.1; 2.8]; H = [2 1]; Q = 0.01^2*eye(2); R = 0.1^2*10;end% Algoritam Kalmanovoga filtrax = A*x + B*u;P = A*P*A' + Q; % Kalmanovo pojacanjeK = P*H'/(H*P*H' + R); % razlika - stvarno mjerenje y i predvidanjarazlika = y - H*x; % a priori vrijednost estimacijex = x + K*razlika;P = (eye(size(K,1))-K*H)*P; % rezultat doticnog stanjaxOut = x;yOut = H*xOut;

35

Page 41: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Privitak 2.- DiskretizacijaJt=3.072;

%incijalizacija varijabli beta_min=-2*pi/180; beta_max=40*pi/180; omega_max=284*pi/30; omega_min = 0; Vvj_max=12; Vvj_min=2; for i=1:idmodes.s theta =idmodes.pari*6.3;

theta1= (theta(1)/(beta_max-beta_min)); theta1 = (theta(2)/(omega_max - omega_min)); theta3= (theta(3)/(Vvj_max-Vvj_min)); theta4= -theta2*omega_min – theta1*beta_min - theta3*Vvj_min + theta(4); A=[(-1/0.6) 0 0;theta1/Jt theta1/Jt theta3/Jt;0 0 0];B=[(1/0.6) 0 0;0 (-1/Jt) theta4/Jt;0 0 0 ];C= [1 0 0; 0 1 0];D=[]; %diskretizacija

sys1=ss(A,B,C,D)diskretni_model=c2d(sys1,0.15,'zoh');PWAmodel.Ai=diskretni_model.a;PWAmodel.Bi=diskretni_model.b;PWAmodel.Ci=diskretni_model.c;PWAmodel.Di=diskretni_model.d; [Hi,Ki]=double(idmodes.regions(i)); delta_Z = [ (beta_max-beta_min) 0 0; 0 (omega_max-omega_min) 0 ; 0 0 (Vvj_max - Vvj_min)] ; Z_min= [beta_min ;omega_min ; Vvj_min]; H_i = Hi* inv(delta_Z);K_i=Ki + H_i*Z_min;PWAmodel.H i=H_i ;PWAmodel.K i=K_i ;

% generiranje PWAmodel.h datoteke za C kod estimacijempt_export(PWAmodel,'PWAmodel.h');

end

36

Page 42: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

Privitak 3.- kalman.m

function Xnext= kalman(Bref, Mg,omega, beta, beta_e, omega_e, v_vj, PWAmodel)persistent P A B C Q R s=8 ;P=[];%incijalizacija varijabli beta_min=-10*pi/180; beta_max=20*pi/180; omega_max=284*pi/30; omega_min = 0; v_vj_max=12; v_vj_min=3.5; if isempty(P) P = eye(3)*10; X = [0;0;0]; Q=[0.1 0 0; 0 0.1 0; 0 0 0.1]; R=[10 0; 0 20];end

u=[Bref;Mg;1];X=[beta_e;omega_e;v_vj];X_min= [beta_min; omega_min; v_vj_min];X_max= [beta_max; omega_max; v_vj_max];Y=[beta;omega];% Određivanje podmodelafor i=1:s if ( (PWAmodel.Hi*X) <= PWAmodel.Ki) A=PWAmodel.Ai; B=PWAmodel.Bi; C= PWAmodel.Ci; % Algoritam Kalmanovoga filtra X = A*X + B*u; P = A*P*A' + Q; % Kalmanovo pojacanje K = P*C'/(C*P*C' + R); % razlika - stvarno mjerenje y i predvidanja razlika = Y - C*X; % a priori vrijednost estimacije X = X + K*razlika; %ako je izvan podmodela postavi na min ili max for j=1:3 if (X(j,1) < X_min(j,1)) X(j,1)= X_min(j,1); end if (X(j,1) > X_max(j,1)) X(j,1)= X_max-ones(3,1)*1e-5; end end P = (eye(size(K,1))-K*C)*P; % rezultat doticnog stanja Xnext = X; Y = C*Xnext; disp(num2str(i)); break endend

37

Page 43: Sadržaj - Ruđer Bošković Institutebib.irb.hr/.../585840.Zavrsni_rad_Friscic_Dejan_2011_12.docx · Web viewestimacije varijable stanja iz prethodnog koraka (najpreciznija estimacija)

end

38