Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics Tilstandsestimering Oppgaver HANS-PETTER HALVORSEN, 2012.01.27 Faculty of Technology, Postboks 203, Kjølnes ring 56, N-3901 Porsgrunn, Norway. Tel: +47 35 57 50 00 Fax: +47 35 57 54 01
Innholdsfortegnelse 1 Grunnlag... 3 1.1 Statistikk og Stokastiske systemer... 3 1.2 Foroverkobling... 4 1.3 Matriser... 5 1.4 Observerbarhet... 7 1.5 Tilstandsrommodeller... 8 1.6 Modellbasert PID tuning... 10 2 Kalmanfilter... 11 2.1 Innledning... 11 2.2 Kalmanfilter algoritmer... 12 3 Observer... 18 2
1 Grunnlag Her er noen utvalgte oppgaver ifm den teoretiske bakgrunnen til tilstandsestimatorer som Kalmanfilter og Observer. 1.1 Statistikk og Stokastiske systemer Task 1: Middelverdi/Gjennomsnitt: Forklar begrepet middelverdi og sett opp uttrykket for middelverdien Finn middelverdien for følgende: Gitt følgende datasett: Sjekk svaret vha MathScript og LabVIEW Task 2: Forventningsverdi Forklar begrepet forventingsverdi Task 3: Varians Forklar begrepet varians Finn variansen for følgende: 3
4 Grunnlag Gitt følgende datasett: Sjekk svaret vha MathScript og LabVIEW Task 4: Standardavvik Forklar begrepet standardavvik Finn standardavviket for følgende: Gitt følgende datasett: Sjekk svaret vha MathScript og LabVIEW Task 5: Farget og Hvit støy Forklar hva vi mener med farget og hvit støy 1.2 Foroverkobling Task 6: Foroverkobling Vi ønsker å forbedre reguleringen av en vanntank, dvs. regulere nivået i en vanntanken. Vi måler nivået i tanken og bruker en vanlig PID regulator til å regulere nivået (bildet til venstre). Det renner vann ut fra tanken i bunnen som kan betraktes som en forstyrrelse og som gjør det vanskeligere å regulere nivået.
5 Grunnlag Matematisk modell for systemet: der er arealet i tanken, er pumpeforsterkning, er pådraget, er nivået i tanken, er utstømningen fra tanken. Vi ønsker å forbedre reguleringen av nivået ved å innføre en foroverkobling fra forstyrrelsen figur til høyre. Problemet er at vi med dagens prosess ikke måler utstrømningen, dermed ønsker vi å estimere denne, slik at dette estimatet kan inngå i reguleringen., se Tegn en skisse av reguleringssystemet med tilbakekobling og foroverkobling Design regulatoren som skal brukes i foroverkoblingen. 1.3 Matriser Task 7: Determinant Finn determinanten til følgende matrise (penn og papir): [ ]
6 Grunnlag Vis hvordan dette gjøres i MathScript Finn determinanten til følgende matrise: [ ] Vis hvordan dette gjøres i MathScript Task 8: Egenverdier Gitt en matrise. Sett opp formelen for å finne egenverdiene til A Sett opp den karakteristiske likning Sett opp det karakteristiske polynom Task 9: Egenverdier 2.ordens system Finn egenverdiene til følgende matrise: [ ] Bruk MathScript for å verifisere svaret ditt
7 Grunnlag Finn egenverdiene til følgende matrise: [ ] Bruk MathScript for å verifisere svaret ditt. Task 10: Egenverdier 3.ordens system Finn egenverdiene til følgende matrise: [ ] Bruk MathScript for å verifisere svaret ditt. 1.4 Observerbarhet Task 11: Utledning av Observerbarhetsmatrisen Utled uttrykket for Observerbarhetsmatrisen Task 12: Finn Observerbarhetsmatrisen Finn Observerbarhetsmatrisen for følgende system: [ ] [ ] [ ] [ ]
8 Grunnlag Vis hvordan dette gjøres i MathScript Task 13: Observerbarhet Gitt følgende blokkdiagram: u 6-1 s x1 2 1 s x2 2 Sjekk om systemet er Observerbart. Sett Bruk MathScript for å gjøre det samme 1.5 Tilstandsrommodeller Task 14: Tilstandsrommodell Gitt følgende system: eller [ ] der er arealet i tanken, er pumpeforsterkning, er pådraget, er nivået i tanken, er utstømningen fra tanken.
9 Grunnlag For det virkelige systemet blir kun nivået ( ) målt, så vi ønsker å benytte et Kalman Filter for estimering av utstømningen ( ). En generell tilstandsrommodell kan skrives: Vi setter og Vi antar at er konstant, dvs., Finn tilstandsrommodellen for systemet Finn matrisene tilstandsrommodellen. i Sjekk om systemet er Observerbart. Implementer modellen i MathScript/LabVIEW. Sjekk om systemet er Observerbart. Bruk og
10 Grunnlag Task 15: Diskretisering I forrige oppgave fant vi en kontinuerlig tilstandsrommodell av en vanntank. Finn den diskrete lineære tilstandsrommodellen på følgende form: Bruk Euler Forover hvor er samplingstiden. Finn matrisene. Bruk MathScript/LabVIEW for å verifisere svaret ditt. Sett. Sjekk om det diskrete systemet er Observerbart 1.6 Modellbasert PID tuning Task 16: Skogestad s metode Forklar Skogestad s metode for å finne PID parametrene i en PID regulator. Ta utgangspunkt i at prosessen er gitt ved følgende modell:
2 Kalmanfilter Her er noen utvalgte oppgaver ifm bruk av Kalmanfilter som tilstandsestimator. 2.1 Innledning Task 17: Hva er et Kalmanfilter? Hva er et Kalmanfilter? Gi en overordnet beskrivelse. Tegn og forklar. Task 18: Estimator - Kalmanfilter Sett opp de matematiske likningene for prosessen (systemet) og estimatoren. På bakgrunn av disse likningene sett opp et blokkdiagram. Forklar blokkdiagrammet. Task 19: Optimal Estimator Tegn og forklar hvorfor Kalmanfilteret betegnes som en optimal estimator? Task 20: Testing av Kalmanfilter Det lønner seg å teste ut Kalmanfilteret på en simulert prosess før du tar det i bruk på den virkelige prosessen. Du kan bruke f.eks. bruke LabVIEW, MATLAB eller andre simulerings- og programmeringsspråk. Forklar hvordan du vil teste dette 11
12 Kalmanfilter Task 21: Observerbarhet En nødvendig betingelse for at Kalmanfilteret skal virke ordentlig er at systemet er observerbart. Forklar dette begrepet og sett opp Observerbarhetsmatrisen. Task 22: Kovariansmatrisene Q og R Forklar disse kovariansmatrisene og. Task 23: Tuning av Kalmanfilteret Forklar hvordan du kan bruke og til å tune Kalmanfilteret. Task 24: Stasjonær Kalmanfilter forsterkning Hva menes med den stasjonære Kamanfilter forsterkningen? Hva slags informasjon er nødvendig for å finne/beregne den stasjonære Kalmanfilter forsterkningen? 2.2 Kalmanfilter algoritmer Task 25: Den generelle Kalmanfilter algoritmen
13 Kalmanfilter Sett opp de forskjellige stegene i Kalmanfilter-algoritmen og tegn et blokkdigram. Forklar blokkdiagrammet. Task 26: Ulike typer algoritmer Nevn 2 forskjellige Kalmanfilter-algoritmer og hva som er forskjellen på disse? Tegn blokkdiagram for disse. Task 27: Kalmanfilter-algoritmen for gitt system Gitt følgende system: hvor er pumpeforsterkningen Sett systemet opp på formen: Lag en diskret versjon av systemet vha Euler forover. ( ) ( ) Du kan også sette det diskrete systemet opp på formen: Sjekk svaret vha LabVIEW.
14 Kalmanfilter Sjekk om systemet er observerbart (penn og papir). Sett opp likningene i Kalmanfilter-algoritmen for dette systemet. Den generelle algoritmen er som følger: Steg 1: Finn måleestimatet ( ) Steg 2: Finn estimator-avviket Steg 3: Finn det korrigerte tilstandsestimatet Steg 4: Finn det predikerte (fremtidige) tilstandsestimatet ( ) Finn den statiske Kalman forsterkningen ( observerbart (i LabVIEW). ) vha LabVIEW. Sjekk også om systemet er Du kan bruke følgende kovariansmatriser: [ ] Tips! Følgende funksjoner i LabVIEW er kjekke å bruke: CD Contruct State-Space Model.vi CD Convert Continuous to Discrete.vi CD Observability Matrix.vi CD Kalman Gain.vi Du kan også bruke følgende: [ ]
15 Kalmanfilter Task 28: Kalmanfilter-algoritmen for vanntanken Sett opp likningene i Kalmanfilter-algoritmen for vanntanken basert på det diskrete systemet funnet i en tidligere oppgave. Systemet er gitt ved: ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) Den generelle algoritmen er som følger: Steg 1: Finn måleestimatet ( ) Steg 2: Finn estimator-avviket Steg 3: Finn det korrigerte tilstandsestimatet Steg 4: Finn det predikerte (fremtidige) tilstandsestimatet ( )
16 Kalmanfilter Task 29: Dynamisk system Gitt følgende system: Tegn et blokkdiagram for systemet Finn Observerbarhetsmatrisen for systemet. Sjekk om systemet er Observerbart. Sett Kontroller svaret vha MathScript Lag en diskret versjon av systemet vha Euler forover. ( ) ( ) Bruk MathScript/LabVIEW for å verifisere svaret ditt. Sett. Sett opp likningene i Kalmanfilter-algoritmen for dette systemet. Den generelle algoritmen er som følger: Steg 1: Finn måleestimatet ( ) Steg 2: Finn estimator-avviket Steg 3: Finn det korrigerte tilstandsestimatet
17 Kalmanfilter Steg 4: Finn det predikerte (fremtidige) tilstandsestimatet ( )
3 Observer Her er noen utvalgte oppgaver ifm bruka av Observer som tilstandsestimator. Task 30: Observer Forklar prinsippene for en Observer. Task 31: Alternativer - Observers Fordeler/ulemper Kalmanfilter/ Observers? Task 32: Butterworth polynom 2. orden En enkel måte å finne egenverdiene på er å bruke Butterworth egenverdiene fra Butterworth polynomet. Gitt: [ ] [ ] Finn Observerforsterkningsmatrisen K (penn og papir). Bruk MathScript og Ackerman (funksjonen heter acker()) og finn Observerforsterkningsmatrisen K vha denne. Sammenlign resultatet med dine utregninger. Task 33: Butterworth polynom 3. orden En enkel måte å finne egenverdiene på er å bruke Butterworth egenverdiene fra Butterworth polynomet. 18
19 Observer Gitt: [ ] [ ] Bruk et 3.ordens Butterworth filter og finn (penn og papir). Bruk MathScript og Ackerman (funksjonen heter acker()) og finn Observerforsterkningsmatrisen K vha denne. Sammenlign resultatet med dine utregninger. Task 34: Blokkdiagram Gitt følgende system: u 3 x1 2 1+0,5s s x2 Finn tilstandsrommodellen til systemet Tips! Konverter systemet til en tilstandsrommodell på formen: Tip! Bruk Inverse Laplace. Sett Sjekk om systemet er Observerbart (penn og papir). Kontroller svaret vha MathScript. Lag en diskret versjon av systemet vha Euler forover. ( ) ( )
20 Observer Sett opp likningene som inngår i Observeren basert på dette systemet.
Telemark University College Faculty of Technology Kjølnes Ring 56 N-3914 Porsgrunn, Norway www.hit.no Hans-Petter Halvorsen, M.Sc. Telemark University College Faculty of Technology Department of Electrical Engineering, Information Technology and Cybernetics E-mail: hans.p.halvorsen@hit.no Blog: http://home.hit.no/~hansha/