1. AS-0.2230 Automaatio- ja systeemitekniikan laboratoriotyöt
LABORATORIOTYÖ 8
Konttinosturin sumea säätö
Einar Toivonen, Lasse Eriksson
2006
2. 1. Johdanto
Konttinostureita käytetään muun muassa satamissa (ks. kuva 1) konttien siirtelyyn sekä
teollisuudessa raskaiden tavaroiden siirtämiseen teollisuushalleissa. Oikeat nosturit voivat olla
kooltaan kymmenien, jopa satojen metrien pituisia. Laboratoriotyö käsittelee konttinosturin
pienoismallia (2.5 m x 0.8 m), jolla voidaan siirtää konttia kahdessa suunnassa (vaaka- ja
pystysuunta). Työssä tarkastellaan kontin siirron säätöä vakiokuormalla, vaikkakin todellisuudessa
kuorma luonnollisesti vaihtelee siirrosta toiseen. Työssä keskitytään virittämään säätö siten, että
kontin heiluminen siirron aikana minimoituu, mutta samalla pyritään pitämään siirtonopeus
kohtuullisena.
Kuva 1. Konttinosturi Shanghain Wai Gao Qiao telakalla.
1.1. Työn tavoitteet
Työssä tarkastellaan konttinosturin pienoismallin säätöongelmaa ja sovelletaan kaskadi PID-säätöä
ja sumeaa logiikkaa kontin siirrossa. Tavoitteena on tutustuttaa opiskelijat kaskadi PID-säädön
virittämiseen ja sumean logiikan perusteisiin sekä näyttää miten sumeaa logiikkaa voidaan soveltaa
säätöongelman ratkaisussa käytännössä. Työssä vertaillaan sumeaa säädintä PID-säätimeen, jotta
säädinrakenteiden erot tulisivat hyvin esille (suorituskyky, kompleksisuus, viritys jne.). Työssä
tarkastellaan myös mittausten suodatusta ja sovelletaan Kalman-suodatinta käytännön säätöjärjestel-
mässä. Työssä sivutaan myös mm. ultraäänimittauksen periaatteita ja käytännön säätöjärjestelmän
ongelmia (häiriöt jne.).
1.2. Säätöjärjestelmän kuvaus
Konttinosturia ohjaa kaksi erillistä moottoria. Vaunumoottori liikuttaa liukujohteeseen kiinnitettyä
vaunua vaakasuunnassa (ks. kuva 2). Johdetta pitkin liikkuvaan vaunuun on kiinnitetty
nostomoottori, jolla konttia voidaan siirtää pystysuunnassa. Kontti roikkuu nostomoottoriin
kiinnitetyn narun varassa. Järjestelmän säädön tavoitteena on, että nosturi vie kontin halutusta
alkutilasta (paikka) haluttuun lopputilaan mahdollisimman nopeasti huomioiden edessä olevat
mahdolliset esteet sekä minimoi kontin heilahtelut.
3. Kuva 2. Konttinosturin CAD-kuva.
Konttinosturia säädetään kolmella säätimellä. Vaunun paikkaa ja kontin korkeutta säädetään
kaskadi PID-säätimillä. Kaskadisäätöä käytetään, koska takaisinkytkentä vaunun paikan ja kontin
korkeuden muutoksesta eli nopeudesta parantaa näiden suureiden säätöä. Sumeaa säätöä käytetään
vaimentamaan kontin heilahtelua siirron aikana.
Kontin heilahteluja voidaan parhaiten kompensoida vaunumoottorin avulla, joten sumea säädin
ohjaa vaunumoottoria paikkasäädön rinnalla. Näin ollen vaunumoottoria ohjataan vaunun
paikkatiedon mukaan siten, että kontin heilahtelu pysyy minimissään. Narun pituuteen eli kontin
korkeuteen vaikuttaa vain nostomoottori. Referenssitrajektorit PID-säätimille saadaan
radansuunnittelualgoritmin avulla. Tämä ottaa huomioon moottorien maksiminopeudet yms., ja
laskee realistisesti saavutettavissa olevat radat halutusta alkupisteestä loppupisteeseen huomioiden
rataa mahdollisesti rajoittavat esteet. Jotta säätimet saavat luotettavaa mittaustietoa on
takaisinkytkentään lisätty Kalman-suodatin, joka antaa luotettavan estimaatin halutuista suureista.
Konttinosturin säätöjärjestelmän rakenne esitetään kuvassa 3.
2. Konttinosturin malli
Konttinosturilla voidaan siirtää kuormia kahdessa dimensiossa eli se pystyy nostamaan kontin ja
liikuttamaan sitä vaakasuunnassa kuvan 4 mukaisesti. Kontin liikuttamiseen vaadittavat
vääntömomentit saadaan kahdesta systeemissä olevasta moottorista: vaunumoottori (trolley motor)
ja nostomoottori (hoist motor). Vaunumoottori vaikuttaa vaunun paikkaan liukujohteen (linear
actuator) avulla.
3
4. ˆ
Φ
ˆ
Φ Fuzzy
Vaunun paikan kaskadisäätö
Θ1,ref Θ1,ref
ˆ
Θ1 u1
+ PID + PID + Vaunumootori x(t ) = f ( x, u ) Θ1
ˆ
Θ1 y (t ) = g ( x, u ) Θ2
Φ
Kontin korkeuden kaskadisäätö
Θ 2,ref Θ 2,ref Konttinosturi
ˆ
Θ2
u2
+ PID + PID Nostomoottori
ˆ
Θ2
ˆ
Θ1
ˆ
Θ1
ˆ
Θ2
ˆ
Θ
Kalman-suodin
2
ˆ
Φ
ˆ
Φ
Kuva 3. Konttinosturin säätöjärjestelmän komponentit.
Kuva 4. Konttinosturin kaaviokuva.
2.1. Mekaaninen malli
Konttinosturin mallintamisessa käytetään seuraavia muuttujia: θ 1 [rad] on vaunumoottorin akselin
kiertokulma (vaunun paikka d = r 1 θ 1 , missä r 1 on liukujohteen akselin säde), θ 2 [rad] on
4
5. nostomoottorin akselin kiertokulma (narun pituus l = r 2 θ 2 , missä r 2 on nostomoottorin väkipyörän
säde, jonka ympärille naru siis kiertyy) sekä Φ [rad] on narun absoluuttinen kulma. Konttinosturin
mekaniikkamalliksi saadaan Euler-Langrange-yhtälöiden perusteella:
d ⎛ ∂L ⎞ ∂L
⎜ ⎟− = N1 − D1 (2.1)
dt ⎝ ∂θ1 ⎠ ∂θ1
d ⎛ ∂L ⎞ ∂L
⎜ ⎟− = N 2 − D2 (2.2)
dt ⎝ ∂θ 2 ⎠ ∂θ 2
d ⎛ ∂L ⎞ ∂L
⎜ ⎟− = 0, (2.3)
dt ⎝ ∂Φ ⎠ ∂Φ
missä
1 1 1 1 1
L = T −U = J1θ12 + J 2θ 22 + mv r12θ12 + mk r12θ12 + mk r22θ 22 +
2 2 2 2 2 (2.4)
1
+ mk r22θ 22 Φ 2 + mk r1r2θ1θ 2 sin Φ + mk r1r2θ1θ 2 Φ cos Φ + mk gr2θ 2 cos Φ.
2
Yhtälöissä L on ns. Lagrangen funktio, L = T – U, missä T on liike-energia ja U on
potentiaalienergia. N i ovat moottorien tuottamat vääntömomentit, D i ovat systeemiin vaikuttavat
kitkat ja J i ovat moottorien hitausmomentit. Muuttujat m v ja m k ovat vaunun sekä kontin massat ja
r i moottorien akselien säteet. Merkinnöissä indeksi i = 1 viittaa vaunumoottoriin ja i = 2
nostomoottoriin.
2.2. Moottorien mallit
Vaunumoottorina on Moogin valmistama AC-servomoottori (malli D314 L20), jossa käytetään
pulssinleveysmodulaatiota tuottamaan jännite staattorin käämeihin. Moottorin mallintaminen
analyyttisesti ei ole ollut mahdollista moottorin iän ja siitä johtuen puutteellisten tietojen valossa.
Tästä syystä moottorille on johdettu identifioimalla (mittauksiin perustuen) seuraava malli.
B(q)
y (k ) = u (k ) + e(k ),
F (q )
B (q ) = 0.06495q −3 + 0.3543q −4 + 0.4354q −5 + 0.5031q −6 (2.5)
F (q ) = 1 + 0.2185q −1 + 0.1251q −2
Nostomoottori on DC-moottori, johon on kytketty välitys (välityssuhde i = 1/23). Nostomoottoria
kuvaa analyyttinen malli:
Kt2 K
J gesθ 2 + θ 2 − t U a + i 2 ⋅ Tload + T fric = 0 , (2.6)
Ra Ra
missä J ges on moottoriin kytketty kokonaisinertia, T fric kitkasta aiheutuva vääntömomentti, T load
massaan kohdistuva vääntömomentti, K t momenttivakio, U a herätejännite ja R a moottorin sisäinen
R
vastus.
5
6. 2.3. Kitkamalli
Koska moottoreissa ja liukujohteessa esiintyvät kitkat vaikuttavat huomattavasti systeemin
käyttäytymiseen, on systeemille johdettu myös kitkamalli. Nostomoottorin kitka johtuu
suurimmalta osin välityksestä, ja se on helppo mallintaa moottorintoimittajan ohjekirjan perusteella.
Moottorin hyötysuhde kyseiseen välitykseen liitettynä on 50 %, joten voidaan olettaa, että 50 %
vääntömomentista häviää kitkan takia.
Vaunumoottorin ja liukujohteen kitkan mallinnuksessa on sovellettu ns. LuGre-kitkamallia.
Yleisesti mallin on todettu soveltuvan hyvin erilaisten säätöjärjestelmien kitkan mallintamiseen.
Yleisessä muodossa malli on seuraava:
dz v
= v −σ0 z,
dt g (v )
2
g (v) = α 0 + α1e − ( v / v0 ) , (2.7)
dz
F = σ 0 z + σ1 + α 2 v.
dt
Kitkamomentti F on funktio vaunun nopeudesta v. α i ja v o ovat staattisia parametrejä ja σ i ovat
dynaamisia parametrejä. Staattiset parametrit on saatu ajamalla järjestelmää vakionopeuksilla ja
dynaamiset vertaamalla järjestelmän simulointi- ja mittaustuloksia. Mallin muuttuja z liittyy
kitkamallin fysikaaliseen tulkintaan, mutta muuttuja ei ole mitattavissa.
2.4. Kontin narun kulman mittaus
Kontin narun kulma mitataan ultraääneen perustuvalla mittausjärjestelmällä. Kontissa on lähetin,
joka lähettää lyhyitä (2 ms) ultraäänipulsseja 40 kHz taajuudella neljä kertaa sekunnissa.
Konttinosturin kehikkoon on kiinnitetty ultraäänivastaanottimia, jotka vastaanottavat pulssit. Narun
kulma lasketan vastaanottoaikaerojen perusteella.
Ultraäänipulssien lähetysaikaa ei tunneta, koska kontissa olevaa lähetintä ei ole kytketty
mittausjärjestelmään. Vastaanottimia kuitenkin luetaan samanaikaisesti 20 kHz:n taajuudella, joten
pulssin kulkuajan ero kahden vastaanottimen välillä voidaan laskea. Koska pulssien lähetysaikaa ei
tiedetä, on mahdotonta laskea suoraan matkaeroa kontin ja vastaanottimen välillä. Kuitenkin kahden
vastaanottimen välinen etäisyys ja muu geometria sekä pulssin vastaanottoajan erotus tunnetaan,
joten lähettimen ja vastaanottimien etäisyys voidaan laskea. Näiden avulla narun kulma saadaan
laskettua käyttäen hyväksi kosinilausetta (laajennettu Pythagoraan lause), jonka yleinen muoto
esitetään kuvassa 5 ja kaavassa (2.8). Kuvan 5 mukaiselle kolmiolle pätee yhteys
a 2 = b 2 + c 2 − 2bc cos(α ) . (2.8)
δ a
c β
α
b
Kuva 5. Kosinilauseeseen liittyvät muuttujat.
6
7. X c2
R2 X 12 R1 X c1 Trolley
δ β
X1
X2 L'
Load
Kuva 6. Kulman mittaaminen ultraäänen perusteella.
Kuvassa 6 on hahmoteltu narun kulman laskemiseen liittyvää geometriaa. Kuvassa R i on R
ultraäänivastaanottimen i paikka, X ci ultraäänivastaanottimen i ja vaunun (Trolley) välinen etäisyys
ja X ij vastaanottimien i ja j välinen etäisyys. L’ on narun pituus ja X i ultraäänen kulkema matka
vastaanottimelle R i . R
Narun kulma on muuttuja β kuvassa 6. Koska narun pituus L’ voidaan mitata ja vaunun etäisyys
vastaanottimista tunnetaan, voidaan narun kulma laskea, jos etäisyys X 1 saadaan selville.
Seuraavassa johdetaan kaava X 1 :lle ultraäänipulssien vastaanottoaikojen erotusten perusteella.
Yleisesti kahden vastaanottimen etäisyysero suhteessa lähettimeen saadaan ultraäänen nopeuden ja
vastaanottimien vastaanottoaikojen erotuksen perusteella
dij = X j − X i = vs Δtij , (2.9)
missä Δt ij on vastaanottoaikojen erotus vastaanottimien R i ja R j välillä ja v s on äänennopeus.
R R
Soveltamalla kosinilausetta kulmalle δ kolmioihin (Load, R 1 , R 2 ) sekä (Load, Trolley, R 2 ), saadaan
R R R
johdettua seuraavat yhtälöt:
L '2 = X c22 + X 2 − 2 X c 2 X 2 cos(δ ) ja
2
(2.10)
X 12 = X 12 + X 2 − 2 X 12 X 2 cos(δ ) .
2 2
(2.11)
Yhtälöstä (2.11) voidaan päätellä, että
X 12 + X 2 − X 12
2 2
cos(δ ) = . (2.12)
2 X 12 X 2
Etäisyys d 12 = X 2 – X 1 , eli
X 2 = X 1 + d12 . (2.13)
Sijoittamalla yhtälöt (2.12) ja (2.13) yhtälöön (2.10) saadaan
X 12 + ( X 1 + d12 ) 2 − X 12
2
L ' = X + ( X 1 + d12 ) − 2 X c 2 ( X 1 + d12 )
2 2
c2
2
2 X 12 ( X 1 + d12 )
(2.14)
X
= X + X + 2 X 1d12 + d − c 2 ( X 12 + 2 X 1d12 + d12 ) .
2
c2 1
2 2 2
12
2
X 12
Yllä olevasta lausekkeesta muokkautuu X 1 :lle toiseen asteen yhtälö
7
8. X c2 d2
X 12 + 2d12 (1 − ) X 1 + X c 2 ( X c 2 − X 12 − 12 ) + d12 − L '2 = 0 ,
2
(2.15)
X 12 X 12
josta etäisyys X 1 ratkaistaan
⎛X ⎞
X 1 = d12 ⎜ c 2 − 1⎟ ± Δ , (2.16)
⎝ X 12 ⎠
missä
d12 X c 2 d12 X c22
2 2
Δ = L '2 + X c 2 X 12 − + 2
− X c22 . (2.17)
X 12 X 12
Kahdesta ratkaisusta valitaan se, joka antaa etäisyydeksi X 1 positiivisen arvon, eli
neliöjuurilausekkeen edessä oleva merkki on +.
Narun kulma voidaan ratkaista kolmiosta (Trolley, Load, R 1 ). R
X 12 = X c21 + L '2 − 2 X c1 L 'cos ( β )
⎛ X + L '2 − X 12 ⎞ (2.18)
⇒ β = arccos ⎜ c1 ⎟.
⎝ 2 X c1 L ' ⎠
Koska vastaanottimia ei ole oikeassa järjestelmässä mahdollista sijoittaa suoraan vaunun ja
liukujohteen yläpuolelle, vastaanottimet on asennettu konttinosturin kehikon reunalle. Kyseiselle
konstruktiolle on rakennettu kuvan 7 mukainen kehikko, jossa vastaanottimet ovat liukujohteen
suuntaisesti kehikon reunalla (samalla korkeudella). Näin ollen yllä olevissa laskelmissa pitää
huomioida vielä vastaanottimien vaakasuora siirtymä (kuvassa 7 muuttuja W).
Rail
T A
α
W L
T’ y A’
β
L’
C
½ Frame
Kuva 7. Vastaanottimien geometria.
8
9. Aikaisemmin johdettua narun kulman yhtälöä voidaan hyödyntää yllä olevaan konstruktioon, jossa
edellä käytetty narun pituus L’ määritellään apusuureeksi todelliselle narun pituudelle L.
Kulmasta β ja etäisyydestä L’ on mahdollista laskea T’A’ vektorin pituus (myös TA:n pituus), missä
A ja A’ ovat normaaliprojektiot kontista C liukujohteeseen ja vastaanotinlinjaan, ja missä T’ on
normaaliprojektio vaunun paikasta T vastaanotinlinjalle. Olkoon T’A’:n pituus y.
y = L 'cos ( β ) (2.19)
Nyt todellinen narun kulma α voidaan laskea geometrian avulla
⎛ y⎞ ⎛ L 'cos ( β ) ⎞
α = arccos ⎜ ⎟ = arccos ⎜ ⎟. (2.20)
L ⎝ ⎠ ⎝ L ⎠
L’ voidaan nyt laskea käyttäen Pythagoraan lausetta, kun tiedetään narun todellinen pituus sekä
vastaanottimien vaakasuora siirtymä W,
L ' = L2 + W 2 . (2.21)
Sijoittamalla yhtälö (2.21) yhtälöön (2.20) sekä sijoittamalla β:n tilalle yhtälö (2.18), saadaan narun
todellinen kulma muotoon
⎛ X c21 − X 12 + L2 + W 2 ⎞
α = arccos ⎜ ⎟. (2.22)
⎝ 2 X c1 L ⎠
Lisäksi tulee huomioida seuraavat ehdot: jos vastaanotin R 1 on narun vasemmalla puolella, on
R
narun kulma Φ = α, muulloin Φ = π - α.
3. PID-säädin
PID-säädin on yksi säätötekniikan perussäätimistä ja sen toiminta perustuu takaisinkytkentään. PID-
säädin on yleisin teollisuudessa käytettävä säädin. PID-säätimen nimi muodostuu termeistä
proportional-integral-derivative (suhde-integroiva-derivoiva).
3.1. Jatkuva-aikainen PID-säädin
Säätimen ulostulo u(t) eli ohjaussignaali koostuu siis kolmesta termistä.
⎛ 1
t
de(t ) ⎞
u (t ) = K p ⎜ e(t ) + ∫ e(τ )dτ + TD ⎟ (3.1)
⎝ TI 0 dt ⎠
Usein yhtälö esitetään myös muodossa
t
de(t )
u (t ) = u P (t ) + u I (t ) + uD (t ) = K p e(t ) + K I ∫ e(τ )dτ + K D , (3.2)
0
dt
9
10. Kp
jolloin K I = ja K D = K pTD .
TI
Suhdesäätötermi (P - proportional) on staattinen kuvaus erosuureesta ohjaukseen. Aina kun
erosuure muuttuu, niin u P muuttuu myös vakiosuhteessa erosuureen muutoksiin. Integroiva termi
integroi erosuuretta. u I on jatkuvassa muutostilassa, kunnes erosuure häviää (menee nollaan).
Integroiva termi poistaa pysyvää poikkeamaa, mutta saattaa lisätä järjestelmän värähtelyjä.
Derivoiva termi vahvistaa erosuureen muutosnopeutta. Aina kun erosuure on muutostilassa, niin u D
reagoi yrittäen vastustaa muutosta. Derivoiva termi nopeuttaa järjestelmää, mutta on herkkä
viiveille ja korkeataajuiselle kohinalle (esimerkiksi mittaushäiriöt).
Laplace-tasossa PID-säätimen siirtofunktio voidaan esittää seuraavasti:
⎛ 1 ⎞
Gc ( s ) = K ⎜1 + + TD s ⎟ . (3.3)
⎝ TI s ⎠
3.2. Diskreettiaikainen PID-säädin
Käytännössä PID-säätöalgoritmia lasketaan tietokoneilla mittausten perusteella, joten tarvitaan
diskreettiaikainen PID-säädin. Koska diskreettiaikainen PID-säädin ei ole yksikäsitteinen, niin
parametrien lisäksi on esitettävä myös kulloinkin käytettävä säätimen rakenne. Alla esitellään ns.
käytännöllisen PID-säätimen diskreettiaikainen muoto. Tähän käytännölliseen versioon on tehty
muutama muutos oppikirjaversioon (3.1) nähden. Nämä ovat referenssisignaalin painotus
suhdetermissä ja suodatuksen lisääminen derivointitermiin. Lisäksi derivointi kohdistuu vasteeseen
eikä erosuureeseen. Näillä muutoksilla pyritään nopeuttamaan säätöä, vähentämään askelmaisen
referenssisignaalin aiheuttamia ”piikkejä” ohjaussignaalissa sekä vähentämään mittauskohinan
vahvistumista ohjaussignaaliin. Tarkastellaan ensin jatkuva-aikaista PID-säädintä Laplace-tasossa.
⎛ ⎞
⎜ 1 TD s ⎟
U ( s ) = K ⎜ bYREF ( s ) − Y ( s ) + (YREF (s) − Y (s) ) − T Y (s) ⎟
⎜ TI s 1+ D s ⎟ (3.4)
⎝ N ⎠
= Pm ( s ) + I ( s ) + Dm ( s )
Nähdään, että derivointi on toteutettu suodatettuna siten, että korkeataajuiset signaalit suodatetaan
pois (häiriöt), säädin derivoi vain prosessin lähtösignaalia ja vain osa referenssisignaalista vaikuttaa
suhdesäätöön. Parametri N on suodatusvakio, jonka arvo valitaan yleensä väliltä 3...20. Säätimen
diskretionnissa suhdetermi ei muutu, ainoastaan jatkuva-aikaiset signaalit korvataan diskreeteillä.
Integraalitermi diskretoidaan käyttämällä Eulerin approksimaatiota ja derivaattatermi käyttäen
taaksepäin derivoinnin (backward differences) approksimaatiota. Näin saadaan ”käytännöllisen”
PID-säätimen diskreettiaikainen versio.
Pm ( s) = K ( bYREF ( s ) − Y ( s) ) ⇒ Pm ( z ) = K ( bYREF ( z ) − Y ( z ) ) (3.5)
K 1 1 h 1
I m (s) = E (s) ⇒ I m ( z ) = K E ( z) = K E( z) (3.6)
TI s TI z − 1 TI z − 1
h
10
11. z −1
KTD s zh z −1
Dm ( s ) = − Y ( s ) ⇒ Dm ( z ) = − KTD Y ( z ) = − KTD Y ( z) (3.7)
TD TD z − 1 ⎛ TD ⎞ TD
1+ s 1+ ⎜h+ ⎟z −
N N zh ⎝ N⎠ N
3.3. Kaskadisäätö
Useissa prosesseissa toimisuureen vaikutus säädettävään suureeseen näkyy vasta huomattavan ajan
kuluttua, jolloin yksinkertainen takaisinkytketty säätö on luonnostaan hidas. Jos kuitenkin
järjestelmästä on mitattavissa apusuureita, joissa ohjaussuureen ja/tai häiriöiden vaikutus näkyy
aikaisemmin kuin säädettävässä suureessa, voidaan säätötulosta merkittävästi parantaa
kerrostamalla säätöpiirejä ns. kaskadipiiriksi. Kaskadisäädön periaatekaavio esitetään kuvassa 8.
Kaskadisäädöllä saavutetaan seuraavanlaiset hyödyt. Säätö on helppo toteuttaa perinteisillä PID-
säätimillä. Tällöin voidaan hyödyntää takaisinkytkennän periaatetta. Systeemin suorituskyky
saadaan nousemaan huomattavasti, kun huolehditaan, että sisempi silmukka on nopeampi kuin
ulompi silmukka. Tällöin myös sisäinen silmukka käsittelee ulkoiset häiriöt nopeammin. Usein
myös käytännössäkin säätöjärjestelmien operaattorit mieltävät kaskadikäytön helpoksi.
Kaskadisäädön virityksessä pätee yleisesti, että sisemmän silmukan integrointivakio on suhteessa
vahvempi ulkoisempaan silmukkaan, mutta taas ulkoisemman silmukan vahvistus on suurempi
suhteessa sisäisempään silmukkaan (toisin sanoen sisempi silmukka on nopeampi).
Kaskadisäätöä käytetään kun yhden silmukan suorituskyky ei ole tyydyttävä. Kaskadisäädön
toimivuus edellyttää yleensä, että apusuure pystytään ylipäänsä mittamaan ja merkittävät häiriöt
tapahtuvat sisemmän silmukan sisällä. Myös sisemmän ja ulomman silmukan mitattujen suureiden
välillä on oltava hyvin määritelty yhteys (esimerkiksi nopeus ja paikka). Lisäksi sisemmän
silmukan dynamiikan pitää olla huomattavasti, noin 4-5 kertaa, nopeampi kuin ulomman silmukan.
On huomioitavaa, että toissijaisen muuttujan mittaaminen voi olla monimutkaista tai kallista, ja että
kaskadisäätö voi lisätä merkittävästi järjestelmän monimutkaisuutta.
Kaskadisäätimen viritys voidaan tehdä samoilla menetelmillä kuin muidenkin säätöjen viritys.
Ongelmaa voidaan lähestyä esimerkiksi analyyttisesti, jos prosessin siirtofunktio tai muu vastaava
malli on tiedossa tai mahdollista kehittää. Parametrien viritys voidaan tällöin toteuttaa käyttäen
perinteisiä menetelmiä kuten taajuustason analyysiä tai Ziegler-Nicholsin virityssääntöjä.
v(t ) häiriö
yref (t ) y2,ref (t ) u1 (t ) u2 (t ) y (t )
asetusarvo SÄÄDIN asetusarvo SÄÄDIN TOIMILAITE PROSESSI
toimisuure lähtösuure
ohjaus
y2,mit (t )
MITTAUS
mitattu suure 2
ymit (t )
MITTAUS
mitattu suure
Kuva 8. Kaskadisäädön periaatekaavio.
11
12. 4. Sumea logiikka ja säätö
Fuzzy- eli sumeaa säätöä käytetään yleisesti prosesseissa, joissa perinteiset lineaariset säätimet eivät
tuota haluttua säätötulosta johtuen prosessin epälineaarisuudesta tai siitä, että prosessin
käyttäytymistä ei tunneta tarkasti. Toinen yleinen syy sumean säädön käyttöön on, että se antaa
säätösuunnittelijoille mahdollisuuden käyttää suunnittelussa hyväksi ihmisoperaattoreiden
säätöstrategioita. Tätä lähestymistapaa on sovellettu esimerkiksi pyykinpesukoneen pesuaineen
annostelumäärän säädössä pyykin likaisuuden ja määrän mukaan.
4.1. Sumea logiikka
Fuzzy- eli sumea logiikka on ns. moniarvoinen logiikka, jossa alkio voi kuulua osittain joukkoon.
Tällöin esimerkiksi lauseen: ”Alkio x kuuluu joukkoon X” totuusarvo on väliltä [0,1]. Käytännössä
monesti kohdataan sellaisia ilmiöitä tms., joita ei voida kuvata perinteisellä eksaktilla
matematiikalla. Sumea joukko-oppi sisältää menetelmiä, joilla voidaan käsitellä tällaisia ongelmia.
4.2. Sumea säätö
Sumeaa logiikkaa voidaan käyttää säädössä hyväksi, jolloin säätöalgoritmin voidaan ajatella
koostuvan kolmesta osasta, jotka ovat sumeutus, päättely ja selkeytys. Säätäjän sisäänmenoille
määritellään jäsenyysfunktioiden avulla sumeat joukot, jotka nimetään kuvaavilla nimillä.
Jäsenyysfunktio määrittää jäsenyysasteen, jolla sisäänmenon arvo kuuluu kyseiseen sumeaan
joukkoon. Joukot määritellään tyypillisesti hiukan limittäin, jolloin sisäänmeno saattaa kuulua
osittain esimerkiksi pienten ja keskisuurten lukujen joukkoon. Säätöalgoritmin osaa, jossa
jäsenyysfunktioiden arvot lasketaan, kutsutaan yleensä sumeutukseksi. Päättely tapahtuu jos—niin
sääntöjen ja sumeutuksessa laskettujen jäsenyysfunktioiden arvojen perusteella. Yhdistelemällä eri
sisäänmenojen sumeita joukkoja and- ja or-, eli ja- sekä tai-operaattoreiden avulla, voidaan rajata
mitkä säännöt ovat kulloinkin voimassa. Koska sumeassa logiikassa alkiot voivat saada arvoja
väliltä [0,1], käsitetään and-operaattori min-operaattoriksi ja or-operaattori max-operaattoriksi.
Päättelemällä tähän tilanteeseen sopiva ohjaustoimenpide ja määrittelemällä se ko. säännön
johtopäätökseksi, saadaan koko säätöstrategia rakennettua pala palalta käymällä kaikki mahdolliset
tilanteet läpi. Päättely tuottaa tyypillisesti yhden sumean joukon. Ennen kuin sitä voidaan käyttää,
sumea joukko täytyy muuttaa täsmälliseksi sumean säätäjän ulostuloksi. Tätä vaihetta kutsutaan
selkeytykseksi. Kuvassa 9 esitetään sumean säädön osat.
Sumea säätäjä sisältää seuraavat peruskomponentit: sumeutusrajapinta, sääntökanta, sumea päättely
ja selkeytysrajapinta. Sumeutusrajapinnalla täsmälliset prosessista saadut mittausarvot muutetaan
sumeiden joukkojen jäsenyysfunktioiden arvoiksi. Sääntökannan ja sumeiden mittaustietojen avulla
päätellään tarvittavat sumeat ohjaukset. Sumeat ohjaukset muutetaan täsmällisiksi selkeytys-
rajapinnalla.
Sääntökanta
Sumea
Sumeutus Selkeytys
päättely
Täsmällinen Sumea Sumea Täsmällinen
mittaus mittaus ohjaus ohjaus
Kuva 9. Sumean säädön periaatekaavio.
12
13. 4.2.1. Sumeutus
Säätösovelluksissa mitattu tieto on usein täsmällistä. Koska sumeassa säädössä ohjaus
muodostetaan sumeiden päättelysääntöjen avulla, täytyy täsmällinen mittaus sumeuttaa. Sumeutus
voidaan toteuttaa laskemalla mittauksen kaikkien sumeiden joukkojen jäsenyysfunktioiden arvot
kyseisellä mittauksen arvolla.
4.2.2. Sääntökanta
Sumean säätäjän sääntökanta koostuu kokoelmasta jos—niin sääntöjä, joiden perusteella sumeasta
mittauksesta päätellään sumea ohjaus. Säännöt ovat tyypillisesti muotoa: ”jos mittauksen tietty ehto
toteutuu, niin ohjauksen täytyy toteuttaa tietty ehto”. Nämä lingvistiset säännöt määrittelevät
käytettävän säätöstrategian. Sääntökanta voidaan muodostaa usealla eri tavalla. Parhaiten
sääntökanta saadaan teollisuusprosesseista huolellisesti suunniteltujen kokeiden ja mittausten avulla
tai prosessimallia analysoimalla. Sääntöjen lukumäärä on suoraan verrannollinen säätäjän
ohjelmointiin ja virittämiseen tarvittavaan työmäärään. Usein hyvin pienellä sääntökannalla,
esimerkiksi jo parilla säännöllä, voidaan saavuttaa sama lopputulos kuin useita kymmeniä sääntöjä
sisältävällä sääntökannalla.
4.2.3. Sumea päättely
Sumeassa päättelyssä sumean mittauksen ja sääntökannan avulla päätellään tarvittava ohjaus
käyttäen sumeita loogisia operaatioita kuten and, or ja not sekä sumeaa implikaatiota.
4.2.4. Selkeytys
Sumean päättelyn tuloksena on sumea ohjaus. Koska tyypillisesti prosessin ohjauksen täytyy olla
täsmällinen, täytyy sumea ohjaus muuttaa täsmälliseksi ohjaukseksi. Yleisesti käytetyin
selkeytysmenetelmä on painopistemenetelmä (center of gravity), joka antaa ohjaukseksi
jäsenyysasteiden painopisteen.
4.3. Pikaopas Matlabin Fuzzy-työkaluun
Matlabissa sumean säädön suunnittelutyökalu käynnistetään komennolla fuzzy. Tämä avaa kuvassa
10 esitetyn ikkunan. Vasemmalla ylhäällä oleva laatikko (input1) kuvaa sisään menevien
mittauksien jäsenyysfunktioita, keskimmäinen laatikko sisältää sumean säädön sääntökannan ja
oikeanpuoleinen laatikko ulostulon jäsenyysfunktiot. Vasemmalla alanurkassa valitaan
selkeyttämistapa, joka oletuksena on keskipisteen laskenta (centroid). Sumean logiikan
sisäänmenoja ja ulostuloja lisätään ikkunan valikosta Edit -> Add variable -> Input/Output. Tässä
vaiheessa on hyvä antaa jokaiselle muuttujalle nimi, jonka voi asettaa ikkunan oikealla puolella
(Current Variable -> Name). Tuplaklikkaamalla sisäänmeno- tai ulostulokuvaketta avautuu kuvan
11 mukainen ikkuna, jossa voidaan määrittää halutut jäsenyysfunktiot muuttujalle.
Avautuvassa ikkunassa oikealla voidaan määrittää jäsenyysfunktioiden nimet sekä käyrien halutut
muodot. Vasemmalla alhaalla määritetään haluttu vaikutusalue. Edit-valikon alta voidaan lisätä ja
poistaa jäsenyysfunktioita. Params-kohdassa voidaan määrittää jäsenyysfunktion parametrejä.
Esimerkiksi Gaussisen jäsenyysfunktion (gaussmf) tapauksessa parametrit ovat hajonta
(verrannollinen jäsenyysfunktion leveyteen) ja keskiarvo (jäsenyysfunktion keskipiste). Tästä
ikkunasta voidaan määrittää jokaisen sisäänmeno- ja ulostulomuuttujan jäsenyysfunktiot.
13
14. Kuva 10. Fuzzy-työkalu. Kuva 11. Jäsenyysfunktioiden määrittely.
Kun jäsenyysfunktiot on määritelty, siirrytään sääntökannan määrittelyyn. Sääntökanta avautuu
tuplaklikkaamalla ensimmäisessä ikkunassa keskimmäistä laatikkoa, minkä jälkeen avautuu kuvan
12 mukainen ikkuna. Sääntökanta määritetään muodostamalla jos – niin -tyyppisiä sääntöjä.
Esimerkiksi: ”jos lämpötila on suuri niin lämmitysteho on pieni”. Tässä lämpötila on
sisäänmenomuuttuja ja lämmitysteho ulostulomuuttuja eli ohjaussuure. Sisäänmenon eräs
jäsenyysfunktio on nimeltään suuri, joka on siis edellä määritelty lämpötila-alueen yläpäähän.
Ulostulon eräs jäsenyysfunktio on nimeltään pieni, joka vastaa ohjausalueen pienimpiä arvoja.
Säännön takana oleva logiikka: jos on jo lämmintä, vähennetään lämmitystehoa, jotta olisi hieman
viileämpää.
Kun koko sääntökanta on määritelty, voidaan ensimmäisessä ikkunassa tarkastella säädön
käyttäytymistä eri sisäänmenojen arvoilla menemällä valikkoon View -> Rules. Toiminnolla voi
tarkastella sumean logiikan ulostulon arvoja eri sisäänmenon signaalien arvoilla.
Säädin on hyvä tässä vaiheessa tallentaa (myös aikaisemmin) tai viedä työtilaan valikosta File
-> Export -> To Workspace/To Disk. Tämän jälkeen sumean logiikan lohkoa voidaan käyttää
esimerkiksi Simulinkissä säätimenä. Simulinkin kirjastoista löytyy Fuzzy Logic Toolboxin alta
Fuzzy Logic Controller -lohko. Lohkon voi siirtää tavalliseen Simulink-malliin. Tuplaklikkaamalla
lohkoa voidaan määritellä säätimen nimi, joka on työtilassa, ja säädin on valmis käytettäväksi.
Kuva 12. Sääntökannan määrittely.
14
15. 4.4. Esimerkki sumeasta säädöstä
Pesukoneen pesuaineen määrää annostellaan sumean logiikan avulla. Sisääntulosuureina ovat
pyykin määrä ja likaisuus, jotka mitataan automaattisesti. Pyykin määrää kuvaa muuttuja
”Täyttöaste”, joka mitataan kiloina välillä 0 – 5 kg. Pyykin määrää kuvaavat joukot [Tyhjä,
Normaali, Täysi], joiden jäsenyysfunktiot on nähtävissä kuvassa 13.
Pyykin likaisuus mitataan anturilla, joka antaa arvoja väliltä 0 - 100 % (0 % vastaa puhdasta, 100 %
likaista pyykkiä). Likaisuusastetta kuvaavat joukot [Puhdas, Likainen, Törky]. Likaisuus-muuttujan
jäsenyysfunktiot esitetään kuvassa 14. Pesuaineen määrä annostellaan välillä 0 – 40 g taulukossa 1
esitettävän sääntökannan perusteella. Ohjauslogiikan säännöt on annettu muodossa: Jos Täyttöaste
ja Likaisuus niin Annostelu. Annostelun jäsenyysfunktiot on nähtävissä kuvassa 15.
Oletetaan, että pesukoneen Täyttöaste on 4 kg ja Likaisuus 80 %. Tällöin Täyttöaste 4 kg antaa
seuraavat jäsenyysfunktioiden arvot: Tyhjä = 0, Normaali = 0.65, Täysi = 0.35. Likaisuus 80 %
vastaa jäsenyysfunktioiden arvoja: Puhdas = 0, Likainen 0.4, Törky = 0.6. Taulukossa 2 esitetään
sääntökannan arvot näillä jäsenyysfunktioiden arvoilla.
Taulukko 1. Pesukone-esimerkin sääntökanta.
Täyttöaste
Tyhjä Normaali Täysi
Ei Ei Ei
Puhdas ollenkaan ollenkaan ollenkaan
Likaisuus Likainen Vähän Vähän Paljon
Törky Paljon Paljon Paljon
Kuva 13. Pyykin määrään liittyvät jäsenyysfunktiot
(Täyttöaste).
Kuva 14. Pyykin likaisuuteen liittyvät jäsenyysfunktiot Kuva 15. Pesuaineen annostelun jäsenyysfunktiot
(Likaisuus). (Annostelu).
15
16. Taulukko 2. Sääntökannan arvot.
Täyttöaste
Tyhjä Normaali Täysi
Ei Ei Ei
Puhdas ollenkaan=0.0 ollenkaan=0.0 ollenkaan=0.0
Likaisuus: Likainen Vähän=0.0 Vähän=0.4 Paljon=0.35
Törky Paljon=0.0 Paljon=0.6 Paljon=0.35
Taulukon 2 arvot saadaan sääntökannan sääntöjen perusteella. Koska säännöt on annettu ja – niin-
muodossa, saadaan tulos ottamalla kahdesta sisäänmenon jäsenyysfunktion arvosta minimi (ja
vastaa min-operaatiota). Esimerkiksi: jos Täyttöasteen jäsenyys joukkoon Normaali on 0.65 ja
Likaisuuden jäsenyys joukkoon Likainen on 0.4, niin Annostelu on 0.4 (minimi jäsenyysfunktioiden
arvoista). Edelleen ulostulon (Annostelu) jäsenyysfunktioiden arvot saadaan ottamalla
maksimiarvot kunkin ulostulomuuttujan arvosta sääntökannassa. Taulukon 2 mukaan sumeiksi
ohjauksen arvoiksi saadaan: Ei ollenkaan = 0.0, Vähän = 0.4, Paljon = 0.6. Näiden ohjausten
selkeytys tehdään tässä painopistemenetelmällä. Sumean ohjauksen painopiste lasketaan
∑x A i i
x= i
, (4.1)
∑A i
i
missä x i ovat ohjauksen sumeat arvot ja A i jäsenyysfunktion pinta-ala (ks. kuva 16). Painopiste-
menetelmällä selkeytettynä ohjauksen arvoksi saadaan 23.6 g. Kuvassa 16 esitetään graafisesti
ohjauksen määräytyminen mittausten ja jäsenyysfunktioiden sekä sääntökannan perustella. Sumean
ohjauksen arvo näkyy oikeassa alakulmassa.
Kuva 16. Sumeutuksen graafinen esitys.
5. Kalman-suodatin
Käytännön säätöjärjestelmissä mittauksissa ja prosesseissa on häiriöitä, jotka tulee suodattaa ennen
signaalien käyttämistä säädössä. Toisaalta on mahdollista, että joitain tarvittavia suureita ei voi
mitata vaan ne pitää estimoida muiden mittausten perusteella. Kalman-suodatin on optimaalinen
tilaestimaattori, jos järjestelmässä on tilastolliseksi tulkittavaa kohinaa ja häiriötä. Kalman-
suodattimella voidaan muodostaa järjestelmän mallia hyödyntäen estimaatti tiloista, eli saada arvio
järjestelmän tiloista siten, että signaaleista on poistettu häiriö mahdollisimman tehokkaasti.
16
17. Oletetaan, että järjestelmä noudattaa lineaarista dynamiikkaa, joka on annettu tilamuodossa
x( k + 1) = A ( k ) x ( k ) + B ( k )u ( k ) + w ( k ) , (5.1)
missä x on järjestelmän tilavektori, u ohjaus ja sekä w prosessikohinaa. Hetkellä k järjestelmän
todellisista tiloista tehdään havainto (mittaus) z(k)
z ( k ) = C( k ) x ( k ) + v ( k ) , (5.2)
missä C on havaintomatriisi ja v mittauskohinaa. Häiriöt w ja v oletetaan normaalijakautuneiksi,
nollakeskiarvoisiksi ja niiden kovarianssifunktiot tunnetuiksi
{
E w (k )w T (k ) = Q(k )}
. (5.3)
E {v (k ) v T
( k )} = R ( k )
Kalman-suodatin ratkaisee estimointiongelman, jossa järjestelmän tiloista on muodostettu
ˆ
minimivarianssiestimaatti x( k | k ) siten, että se voidaan laskea rekursiivisesti, kun tunnetaan
edellinen estimaatti x ( k − 1 | k − 1) ja uusi mittauspari u(k), y(k).
ˆ
5.1. Perusmuoto
Kalman-suodattimen perusmuoto on
x(k | k ) = x(k | k − 1) + K (k ) [ z (k ) − C(k )x(k | k − 1) ] ,
ˆ ˆ ˆ (5.4)
ˆ
missä x( k | k ) tarkoittaa hetkellä k laskettavaa estimaattia, kun kaikki mittaustieto hetkeen k asti on
käytettävissä. Vastaavasti x ( k | k − 1) tarkoittaa estimaattia hetkellä k, kun mittaustietoa on hetkeen
ˆ
k – 1 asti käytettävissä. Yllä olevasta yhtälöstä havaitaan, että estimaatti koostuu kahdesta osasta:
ennakoivasta (prediktointi) osasta x( k | k − 1)
ˆ ja korjaavasta (päivitys) osasta
K (k ) [ z (k ) − C(k )x(k | k − 1)] , joka on saatu kertomalla suodattimen vahvistusmatriisi K viimeisen
ˆ
mittauksen estimointivirheellä. Kalman-suodatin sisältää yhtälöt ennakoivan osan muodostamiseksi
ja vahvistusmatriisin laskemiseksi, jotka kummatkin saadaan täydelliseen rekursiiviseen muotoon
siten, että laskenta voidaan suorittaa k:n kasvaessa askel kerrallaan.
5.2. Kalman-suodattimen perusyhtälöt
Seuraavassa on annettu Kalman-suodattimen perusyhtälöt rekursiivisessa muodossa siten, että
yhtälöiden perusteella suodatin on mahdollista toteuttaa esimerkiksi tietokoneohjelmana.
Prediktointi:
x ( k | k − 1) = A ( k ) x( k − 1| k − 1) + B ( k )u ( k ) , tilan prediktointi
ˆ ˆ (5.5)
P (k | k − 1) = A ( k )P (k − 1| k − 1) A ( k )T + Q( k ) , tilan estimointivirheen kovarianssin prediktointi (5.6)
17
18. Päivitys:
y ( k ) = z ( k ) − C( k ) x ( k | k − 1) , mittausvirhe
ˆ (5.7)
S(k ) = C(k )P (k | k − 1)C( k )T + R ( k ) , mittausvirheen kovarianssi (5.8)
K (k ) = P (k | k − 1)C(k )T S(k ) −1 , optimaalinen Kalman-vahvistus (5.9)
x ( k | k ) = x ( k | k − 1) + K ( k ) y ( k ) , tilaestimaatin päivitys
ˆ ˆ (5.10)
P(k | k ) = ( I − K (k )C(k ) ) P(k | k − 1) , tilan estimointivirheen kovarianssimatriisin päivitys. (5.11)
Usein A, B ja C, Q ja R ovat vakioita ajan suhteen, jolloin estimointivirheen kovarianssi P voidaan
laskea Riccatin yhtälöllä
(
P = A P − PCT ⎡CPCT + R ⎤ CP AT + Q .
⎣ ⎦
−1
) (5.12)
Kalman-suodattimen teoriassa tunnetuiksi oletetut häiriöiden kovarianssimatriisit R ja Q eivät
yleensä ole käytännössä tunnettuja. Käytännössä suodatin viritetään valitsemalla R ja Q sekä
asettamalla suhde Q/R siten, että vahvistus tulee sopivaksi. Usein sopiva suhteen arvo valitaan
silmämääräisesti tuloksia tarkastelemalla. Erityisesti mittauskohinan varianssin voi yrittää arvioida
prosessikokeiden perusteella, jolloin R:lle voidaan joissain tapauksissa johtaa arvo. Q mittaa
prosessihäiriöiden tai epätarkkuuksien suuruutta, ja näitä on vaikeampi arvioida ennalta.
5.3. Laajennettu Kalman-suodatin
Monesti sekä prosessimalli että havaintomalli voivat olla epälineaarisia
⎪x(k + 1) = f ( x(k ), u(k ), k ) + w (k )
⎧
⎨ . (5.13)
⎪
⎩ z (k ) = h ( x(k ), k ) + v(k )
Funktiot f ja h eivät välttämättä ole lineaarisia, ja saattavat riippua x:n ja u:n lisäksi k:sta
(aikavarianttisuus). Yleisessä tapauksessa kovarianssit saattavat muuttua ajan funktiona, ja siksi
kovarianssimatriisit esitetään k:n funktioina. Prosessin tila x, heräte u, mittaus z, funktiot f ja h, sekä
kohinatermit w ja v ovat kaikki yleisessä tapauksessa vektoreita. Kalman-suodattimen yhtälöissä
esiintyvien matriisien K ja P laskemiseksi tarvitaan matriiseja A ja C. Mikäli malli on
epälineaarinen, nämä matriisit korvataan funktioiden f ja h jakobiaaneilla. A- ja C-matriisi
muodostetaan tällöin funktioiden f ja h osittaisderivaatoista. A-matriisi saadaan ottamalla f:n
osittaisderivaatat kunkin tilamuuttujan suhteen ja C-matriisi vastaavasti funktiosta h. Esimerkiksi:
⎡ ∂ f1 ∂ f1 ⎤
⎢ ∂x ∂x2 ⎥ ⎡
⎥ , C = ⎢ ∂h ∂h ⎤
A = ⎢
1
⎥. (5.14)
⎢ ∂f2 ∂f2 ⎥ ⎣ ∂ x1 ∂x2 ⎦
⎢ ⎥
⎣ ∂ x1 ∂x2 ⎦
Koska f ei ole lineaarinen, tulee matriiseihin termejä, jotka sisältävät tilamuuttujia ja herätteitä.
Tämän vuoksi A- ja C-matriisit lasketaan jokaisella kierroksella uudelleen. Matriisia A laskettaessa
18
19. tilavektorina x käytetään edellisen kierroksen estimaattia x ( k − 1| k − 1) , kun taas C-matriisia
ˆ
laskettaessa käytetään kuluvan kierroksen estimaattia x( k | k − 1) .
ˆ
Seuraavassa on annettu laajennetun Kalman-suodattimen yhtälöt.
Prediktointi:
x(k | k − 1) = f ( x(k − 1| k − 1), u(k ), k − 1) , tilan prediktointi
ˆ ˆ (5.15)
⎡ ∂f ( x(k − 1| k − 1), u(k ), k − 1) ⎤
ˆ
A(k ) = ⎢ ⎥ , A:n korvaava derivaatta (5.16)
⎣ ∂x(k − 1| k − 1)
ˆ ⎦
P (k | k − 1) = A ( k )P (k − 1| k − 1) A ( k )T + Q( k ) , tilan estimointivirheen kovarianssin prediktointi(5.17)
Päivitys:
⎡ ∂h ( x(k | k − 1), k ) ⎤
ˆ
C(k ) = ⎢ ⎥ , C:n korvaava derivaatta (5.18)
⎣ ∂x(k | k − 1) ⎦
ˆ
y (k ) = z (k ) − h ( x(k | k − 1) ) , mittausvirhe
ˆ (5.19)
S(k ) = C(k )P (k | k − 1)C( k )T + R ( k ) , mittausvirheen kovarianssi (5.20)
K (k ) = P (k | k − 1)C(k )T S(k ) −1 , optimaalinen Kalman-vahvistus (5.21)
x ( k | k ) = x ( k | k − 1) + K ( k ) y ( k ) , tilaestimaatin päivitys
ˆ ˆ (5.22)
P(k | k ) = ( I − K (k )C(k ) ) P(k | k − 1) , tilan estimointivirheen kovarianssimatriisin päivitys. (5.23)
19