Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

7.

Laborgyakorlat

Optimális vezérlés kikötések nélkül, változó horizontú


optimális szabályozás tanulmányozása

1. A dolgozat célja:

A dolgozat javasolja a diszkrét optimális LQR vezérlés tanulmányozását


kikötések nélkül, ahol a horizont változó vagy rögzített. A dolgozat második felében
már bevezetjük a modell alapú prediktív szabályozást (Modell Predictiv Control - MPC)
állapotteres modellre is, kikötések nélkül. A dolgozat célja ennek a két módszer
eredményének az összehasonlítása.

2. Elméleti bevezető :

a. Diszkrét LQR szabályzók áttekintése


A feladatot elő ször az LQR diszkrét állapot utáni illetve diszkrét pályakövető
szabályzók bemutatásával vezetjük be.
Legyen a következő diszkrét dinamikus rendszermodell :
x k +1 = F k × x k + Gk × u k
y k = Ck × u k

Megjegyzés: itt a Φ k nem más mint a diszkrét A mátrix, illetve a Γ k pedig a diszkrét B
mátrix. A Φ k, Γ k és Ck mátrixok fogják meghatározni a rendszer szabályozhatóságát
illetve megfigyelhető ségét.
a1. A diszkrét állapotutáni szabályozóknál keressük azt a diszkrét vezérlő szekvenciát
mely a következő négyzetes kritérium minimumát adja:
N
J (u ) = x N , F x N + å x k , Qk x + u k , Rk u k
k =1

ahol N a horizont szám.


A kritérium minimális értékét a k-dik lépésben a következő kvadratikus
formában keressük :
J k * ( x) = x k T Pk x k

A Bellman elv alapján az optimális diszkrét vezérlő jel a következő összefüggéssel


írható le:

( )
-1
u k * = - Rk + Gk T Pk +1Gk Gk T Pk +1F k x k

ahol a Pk +1 mátrix a következő diszkrét Riccati mátrix-egyenlet megoldása:

(
Pk = F k T Pk +1F k + Qk - F k T Pk +1Gk Rk + Gk T Pk +1Gk )-1
Gk T Pk +1F k .
PN = F

Ha a szabályozandó rendszer idő invariáns és a horizont végtelen ( N ® ¥ ), akkor


Pk+1=Pk és a rekurzív egyenletbő l a következő mátrixos algebrai egyenletet kapjuk:
~ ~ ~
( ~ -1 ~
P = F T × P × F + Q - F T × P × G × R + GT P G × GT × P × F .)
Ezt az algebrai mátrixos egyenletet megoldhatjuk a diszkrét Potter módszerrel, melynek
algoritmusa a következő :
1. Megszerkesztjük a diszkrét Hamilton (H) mátrixot:

( )
éF + G × R -1 × G T × F T -1 × Q ( ) ù
-1
- G × R -1 × G T × F T
H =ê ú
ê ú
( ) (F )
-1 -1
êë - FT × Q T
úû

2. Kiszámítjuk a H mátrixnak megfelelő sajátértékeket és az ezeknek megfelelő


sajátvektorokat.
3. Rendezzük a sajátvektorokat tartalmazó mátrixot úgy, hogy a rendezett mátrix els ő n
oszlopa (V1) tartalmazza a stabil (Re(l)<1) sajátértékeknek megfelelő sajátvektorokat:
éV11 V12 ù
V =[V1 V2 ] = êV V ú
ë 21 22 û
Megj: az n az állapok számát jelenti és mindegyik Vij mátrixok mérete n x n.
4. Felosztjuk a rendezett sajátvektorok mátrixát és kiszámoljuk a stabilizált diszkrét
Riccati mátrixot a következő képlettel:
-1
P¥ =V21 ×V11

a2. A diszkrét LQR követő szabályozónál a négyzetes kritérium függvény módosul a


következő képpen:
é N -1
ù
J (u )= min êeTN ×F .eN + å ekT ×Qk × ek + ukT ×Rk × uk ú
ë k =0 û
ahol:
ek = zk - yk az elő írt pálya (zk) és a kimenet (yk) közötti különbség ,
uk - a vezérlő jel, melyet az alábbi képlettel számíthatjuk ki

[[
uk = Rk +GkT ×Pk +1× Gk ]]
T -1 é1 ù
×ê ×GkT ×g k +1 - GkT ×Pk +1×F k × xk ú
ë2 û
azaz
u k = K k ×x k + f k

A Kk és az fk mennyiségek számítására a következő rekurzív összefüggéseket


kell használnunk ( i = k + N - 1 , k )

[ ]-1
K i = - Ri + G Tk ×Pi +1× Gk ×GkT ×Pi +1 ×F k

f i =-
1
2
[
Ri + G Tk ×Pi +1×Gk ] ×[G
-1 T
k ×g i +1 ]
[gi ]T =- 2×yrefT [i]×Qi ×Ck + giT+1.[F k +Gk ×K i ]
[ ]
-1
Pi =CkT ×Qi ×Ck -FTk ×Pi +1× Gk × Ri + GkT ×Pi +1 ×Gk ×GkT ×Pi +1×F k +FTk ×Pi +1×F k

A végső határfeltételek pedig:


g kT+ N = - 2× yref
T
[k + N ]×F ×Ck Pk + N =CkT ×F ×Ck

Megjegyzés: a ‘k’ itt az aktuális lépést azaz mintavételt jelenti, az ‘i’ pedig a szabályozó
jel számításánál használt lépést jelöli, melyet az N horizont határoz meg és ez mindig a
k-dik lépéshez van viszonyítva.
Itt is érvényes a végtelen horizont és LTI rendszer modellek esetén az alábbi
egyszerűsített képlet
uk =K1×xk + K 2 × yref k

Ahol

(
P = F T × P × F + C T × Q × C - F T × P × G × R + GT × P × G GT × P × F )
-1

[ ]
K i = - Ri + G Tk ×P× Gk ×GkT ×P×F k
-1

K 2 = ( R + GT × P × G )-1 × GT × (( I n - F - G × K1 )T ) -1 × C T × Q
Az itt bemutatott képletek összefüggések az u k számítására vonatkoznak. Viszont
hasonlóan levezethető k a szabályozó változására (Duk) vonatkozó hasonló képletek.
Ebben az esetben bevezethetünk egy új állapotvektor: v k=[xk uk-1]T, ezzel a rendszer
bemeneteinek és kimeneteinek a száma nem változik, az állapotvektor mérete viszont
n+m lesz. A rendszert a következő mátrixos egyenletekkel írhatjuk fel:
æ xk +1 ö æ F G ö æ xk ö æ G ö
çç ÷÷ = çç ÷÷ × çç ÷÷ + çç ÷÷ × Du k
è u k ø è 0 I ø è u k -1 ø è I ø
ìvk +1 = F s × vk + Gs × Du k
Þí
æ x ö î y k = C s × vk
yk = (C 0 ) × çç k ÷÷
è uk -1 ø

A bemutatott összefüggések csak a lineáris idő invariáns rendszerekre érvényesek.

b. Modell alapú prediktív szabályozás

§ Bevezetés
A modell alapú prediktív szabályozás fő elve az, hogy korlátozza a lehetséges
bemeneteket úgy, hogy csak a véges dimenziós optimum feladat megoldása legyen
szükséges. Mindez a diszkrét idejű modell és a véges horizont használatával érhető el.
Nem egy zárt formájú állapot utáni szabályzójel lesz kiszámolva (lásd LQR feladat),
hanem itt a változó horizont elvét használjuk. Mindez feltételezi az optimális bemen ő
jel kiszámítását minden idő pillanatban a mért kimeneti érték alapján. Ily módón az
optimális szabályzó jel megoldása használható a szabályzó algoritmusban akkor is, ha
nem létezik a zárt forma kifejezése az optimális szabályzó rendszernek.
Feltételezzük, hogy a szabályozandó folyamat a következő diszkrét állapotteres
lineáris modellel jellemezhető :
xk +1 = F k × xk + Gk × uk
y k = C × xk

Ahol x egy n dimenziós állapotvektor, u egy m dimenziós bemeneti vektor, y a mért


kimenetek vektora Hasonlóan a diszkrét optimális szabályzókhoz a folyamat modell
kifejezi a berendezés x állapotait az u bemeneti értékek alapján. A költségfüggvény
bünteti (elő súlyozza) a bemenetek változási arányait Duk = uk - uk -1 , ez a súlyozás a
szabályzójel megjelenése elő tt. Így megfigyelhetjük az elkövetkező kben, hogy a
prediktív szabályzó algoritmus hamarabb kiszámítja a Du változást mint az u
vezérlő jelet. Ezért sok szempontból is megfelelő bb, ha a szabályozó rendszert Du
kimenetű rendszernek tekintjük és a folyamatot pedig Du bemenetű rendszernek. Az
MPC szabályzó megadja a Du jelet, melyet továbbítunk a szabályozandó
berendezésnek.
Feltételezve, hogy a k-dik lépésben (idő pillanatban) vagyunk a következő algoritmust
fogalmazhatjuk meg:
1. Az yk kimenetek mérése (meghatározása)

2. Az {u k + j k }Nj=0 bemenő szekvencia kiszámítása.

3. Az uk vezérlő jelet a berendezés bemenetére küldjük


Ez azt jelenti hogy az yk mérése és az uk vezérlő jelnek a berendezés bemenetére
alkalmazása között mindig létezik idő eltolódás.
Egy költségfüggvény súlyozza az yk + j k jósolt vezérelt kimentek eltérését egy ykref+ j k

elő írt (referencia) pályától, ami egy vektoriális érték. Ez a jelölés azt is mutatja, hogy
ez a referencia érték függhet az y k mért értéktő l is, de lehet egy rögzített elő re
meghatározott érték is. A költségfüggvényt meghatározhatjuk mint:
N N c -1
J k (uk ) = å yk + j k - ykref+ j k å Du
2 2
+ k+ j j R
Qj j
j =1 j =0

A jósolt horizont hossza N, de nem kell azonnal az y és y ref közötti eltérés


súlyozásával indulnunk, mivel megjelenhetnek bizonyos késleltetések az észlelt
kimenetek és az bemenetek alkalmazása között. Az N c a vezérlő jel horizontját jelöli.
Feltételezzük mindig, hogy N c < N , illetve hogy minden j > N c esetben a Duk + j k = 0

, vagyis a uk + j k = uk + N -1 k ha j > N c .
c

Q j ³ 0 à súlyozza a kimenetek közötti eltérést minden pontban,

R j > 0 à súlyozza a bemenetek változását minden pontban.


A prognózis horizont N és vezérlő jel horizont N c , a Q j és R j súlyozó mátrixok

valamint a referencia pálya ykref+ j mind befolyásolják a berendezés és a modell prediktív

szabályzó zárt hurokban való működését.


§ Predikció a teljes állapotinformáció esetében
Feltételezzük, hogy az állapotvektor teljesen mérhető , úgy hogy ~
xk k = xk = yk

(tehát C = I ). Ugyancsak feltételezzük, hogy nem léteznek nem várt zavarok a


rendszerben és mérési zajok sem. Akkor megvalósítható a predikció a rendszermodell
iterációval. Így a következő t kapjuk:
xk +1 k = F × xk + G × uk k
xk + 2 k = F × xk +1 k + G × uk +1 k = F 2 × xk + F × G × uk k + G × uk +1 k
M
xk + N k = F × xk + N -1 k + G × uk + N -1 k = F N × xk + F N -1 × G × uk k + K + G × uk + N -1 k

ahonnan a j = 1,K, N értékekre felírhatjuk:

é uk k ù
xk + j k = F × xk + F
j
[ j -1
F j -2

K I ×G× ê M ú
ú
êuk + j -1 k ú
ë û
megj. elő ször az uk helyet az uk k jelölést használjuk, mivel ahol a prognózisokat kell

kiszámolnunk még nem ismert az hogy milyen értéke lesz az uk szabályzójelnek.


Ugyanakkor meg kell említenünk, hogy feltételeztük azt, hogy a bemenet csak a
tk , t k +1 ,K, tk + N -1 idő pillanatokban lesz módosítva és azután állandó marad, úgy hogy
c

N c < j < N - 1 feltétel mellett igaz a uk + j k = uk + N -1 egyenlő ség. Különben a


c

prognózisokat Du k+ j j
elemekkel szeretnénk kifejezni, így megemlítjük hogy a

Duk + j k = uk + j k - uk + j -1 k és a t k idő pontban már ismerjük a uk -1 értékét, tehát:


uk k = Duk k + uk -1
uk +1 k = Duk +1 k + Duk k + uk -1
, 1 £ j £ Nc
M
uk + N c -1 k = Duk + N c -1 k + K + Duk k + uk -1

Amellyel az állapotok predikciója a következő képpen alakul:


é Duk k ù j -1
é j -1 i ù ê ú
xk + j k = Φ xk + êå Φ × Γ K Γ ú × ê
j
M ú + å Φ × Γ × uk -1
i
ha j £ N c
ë i=0 û êDu ú i =0
ë k + j -1 k û

é uk k ù j -1
é j -1 i j-Nc
ù ê ú
xk + j k = Φ xk + êå Φ × Γ K å Φ × Γ ú × ê M ú + å Φ i × Γ × uk -1
j i
ha
ë i =0 i =0 û êu ú i=0
ë k + N c -1 k û
Nc £ j £ N
Vezérlő jel horizont bevezetésével módosítanunk kell azt az intervallumot ahol a
bemenő jel módosulhat. Így lehető ségünk van az összes állapotprognózisok
összecsatolására egyetlen összefüggésben. Tehát a végső összefüggést felírhatjuk a
következő mátrixos és vektoriális kifejezéssel.
é Γ ù é ù
ê ú ê G
é xk +1 k ù é Φ ù
ê N c -1 M ú K 0 ú
ê M ú ê ú ê ú
ê ú ê M ú ê åΦ i × Γ ú ê M K 0 ú é Du
ê i =0 ú ù
ê xk + N c k ú ê Φ N c ú ê Nc úê k k
ú
ú = êΦ N c +1 ú × xk + ê N c i ú × uk -1 + ê å F G FG + G ú ê
i
êx O M ú
ê k + N c +1 k ú ê ú êåΦ × Γ ú ê i=0 úê
ê ú Du ú
ê M ú ê M ú i=0 êM M ú ë k + N c -1 k û
ê ú ê N ú ê M ú ê N -1 M N - Nc ú
ë xk + N k û ë Φ û ê N -1 i ú ê FiG i ú
ê åΦ Γ ú êë å å
K F G
úû
ë i =0 û i=0 i =0

Az y predikciója pedig j = 1, N lépésekre meghatározható mint:


y k + j k = C × xk + j k .

§ A Modell alapú prediktív szabályozás megoldása


A költségfüggvényt felírhatjuk mint:

ref 2
J (uk ) = Y k - Y k
2
+ DU k R
Q

ahol:
é yk +1 k ù é ykref+1 k ù é Duk k ù
ê ú ref ê ú ê ú
Yk = ê M ú, Y k =ê M ú, DU k = ê M ú
ê yk + N k ú ê ykref+ N k ú êDuk + N -1 k ú
ë û ë û ë c û
és a Q és R súlyozó mátrixok a következő formában adhatók meg:
éQ1 0 K 0 ù é R0 0 K 0 ù
ê0 Q ê0 0 úú
K 0 úú R1 K
Q* = ê 2
, R =ê
*
êM M O M ú êM M O M ú
ê ú ê ú
ë0 0 K QN û ëê 0 0 K RN c -1 ûú

Az elő bbi képletek alapján megfigyelhetjük, hogy az Y k kimeneti vektor alakja:


Y k = Φ * × xk + Γ * × uk -1 + G y × DU k

ahol a következő jelölések kerültek bevezetésre:


é C×Γ ù é ù
é C×Φ ù ê M ú ê C ×G ú
ê N c -1 ú K 0
ê ú ê ú
ê M ú ê
ê å C × Φ i
× Γ ú
ú
ê M
ê Nc
K 0 ú
ú
ê C×Φ Nc
ú i = 0
F =ê
*
G =
* ê N ú G y = êå C × F i G O C × FG + CG ú
C × Φ N c +1 ú
c

ê ú ê åC × Φ × Γ ú i
ê i =0 ú
ê M ú ê i =0 ú êM M ú
ê ú ê M ú ê N -1 M N -Nc ú
ë C×Φ û
N
ê N -1 ú ê C × FiG ú
ê åC × Φ Γ ú êë å å
i K C × F i
G
úû
ë i =0 û i =0 i=0

Az E k hibavektor nem függ az aktuális iterációktól csak az aktuális horizontnak


megfelelő xk és uk -1 kezdeti értékektő l:
ref
E k = Y k - Φ * × xk - Γ * × uk -1

Ezt az E k hibavektort úgy tekinthetjük mint egy „követési hibát” mivel ez az érték az
elő írt jövő beli pálya és a „rendszer szabad válasza” (válasz amely a prognózis horizont
felett jelenik ha a bemeneten nem történik változás, azaz DU k = 0 ) közötti különbséget
jelöli. Ha a valóságban az E k hibavektor nulla lenne akkor lenne helyes csak a DU k = 0
vezérlő jel változás. A J költségfüggvénynek egy egyszerűsített alakja a megfelelő en
megválasztott mátrixokra meghatározható:

J (uk ) = G y × DU k - E k
2

Q
+ DU k
2
R
[ T T T
] [ ]
= DU k G y - E k × Q × G y × DU k - E k + DU k × R × DU k =
T

T
[ T
] T
= DU k × G y × Q × G y + R × DU k - 2 × E k Q × G y × DU k + E k × Q × E k
T

Vagyis a kritérium formája:


1
J (uk ) =
T
DU k × H × DU k + f T × DU k + const
2
ahol:
[ T
H = 2 × Gy × Q ×Gy + R , ] T
f = -2 × G y × Q × E k
viszont a H és f vektorok nem függnek DU k értékétő l.

Megfigyelhetjük, hogy a következő kikötéses optimum feladatot kell megoldanunk:


ì 1 T ü
min í J k = DU k HDU k + f T DU k + const ý
DU k
î 2 þ
egyenlő tlenség feltételek mellett. Ez a megfogalmazás egy ismert standard optimum
feladat melyet kvadratikus programozásnak is nevezünk és ami már az el ő bbiekben
tárgyalva volt a megfelelő megoldási algoritmusokkal. Úgyanakkor megemlítjük, hogy
ezzeknek a megoldásoknak csak azt a részét használjuk mely az első fázisnak felel meg
a regresziós horizont stratégiájának megfelelő en.

[ T
Duk = G y × Q × G y + R ]-1
× G Ty × Q × E

Mivel ennek a dolgozatnak a célja a diszkrét LQR és MPC szabályzók


összehasonlítása ezért az MPC szabályzót is itt korlátok (kikötések) nélkül fogjuk
megtervezni.

3. A munka menete:

A laborgyakorlaton javasoljuk a következő feladatok megoldását:


ì xk +1 = 1 × xk + 1 × uk
1. Adott a következő diszkrét modell: í
î yk = xk
a. Határozzuk meg azt a diszkrét LQR vezérlő jel szekvenciát amely minimálja
4
a következő diszkrét kritérium függvényt: J = å (q × ( y i - 3) 2 + r × ui 2 )
i =0

(az r és q súlyozókat válaszuk meg mint pozitív tetsző leges számokat).


b. Az adott rendszerre tervezzünk egy modell prediktív szabályzót ha tudjuk,
hogy az N = 5 és N c = 4 . Az elő írt érték pedig egy állandó érték 3.
2. Adott a következő diszkrét rendszer:
æ1 0.8 ö æ6 0ö
x k +1 = çç ÷÷ × x k + çç ÷÷ × u k
è0 0.5 ø è3 1ø
æ1 0ö
y k = çç ÷× x
è0 1 ÷ø k

a. Határozzuk meg azt a diszkrét LQR vezérlő jel szekvenciát amely


minimálja a következő kritérium függvényt
10
J = å (q1 × ( y1,i - 5) 2 + q 2 × ( y 2,i + 18) 2 + r1 × u1,i 2 + r2 × u 2,i 2 )
i =0

b. Az adott rendszerre tervezzünk egy modell prediktív szabályzót ha tudjuk,


hogy az N = 5 és N c = 4 . Az elő írt értékek pedig 5 és -18 állandó értékek.

Megj. A modell prediktív szabályzásoknál meg lehet oldani a következ ő optimum


feladatot is:
ì 1 T ü
min í J k = DU k HDU k + f T DU k + const ý
DU k
î 2 þ
ahol használhatjuk a quadprog Matlab függvényt korlátok nélkül.

4. Kérdések és következtetések:

1. Milyen jelentő sége van a DLQR szabályzóknál az N horizont értékének?


2. Mit súlyoz az R mátrix és csak milyen értékeket vehet fel ?
3. Milyen hatása van az Nc szabályzási horizontnak az MPC szabályzóknál?
4. Milyen tulajdonságai vannak a diszkrét Riccati mátrixnak?
5. Hogyan tudjuk megoldani csak egyes kimenetek súlyozását a Q matrix
segítségével?
6. Hogyan módosul az algoritmus az LQR és MPC szabályzóknál ha az elő írt
érték idő ben változó?
7-8. Laborgyakorlat MPC-SzIR

Optimális vezérlés kikötések (szigorú korlát) nélkül


(DLQR és MPC algoritmusok)

1. A dolgozat célja:

A dolgozat javasolja a diszkrét optimális LQR vezérlés tanulmányozását


kikötések nélkül, ahol a horizont változó vagy rögzített. A dolgozat második felében
már bevezetjük a modell alapú prediktív szabályozást (Modell Predictiv Control - MPC)
állapotteres modellre is, kikötések nélkül. A dolgozat célja ennek a két módszer
eredményének az összehasonlítása.

2. Elméleti bevezető :

a. Diszkrét LQR szabályzók áttekintése


A feladatot elő ször az LQR diszkrét állapot utáni illetve diszkrét pályakövető
szabályzók bemutatásával vezetjük be.
Legyen a következő diszkrét dinamikus rendszermodell :
x k +1 = F k × x k + Gk × u k
y k = Ck × u k

Megjegyzés: itt a Φ k nem más mint a diszkrét A mátrix, illetve a Γ k pedig a diszkrét B
mátrix. A Φ k, Γ k és Ck mátrixok fogják meghatározni a rendszer szabályozhatóságát
illetve megfigyelhető ségét.
a1. A diszkrét állapotutáni szabályozóknál keressük azt a diszkrét vezérlő szekvenciát
mely a következő négyzetes kritérium minimumát adja:
N
J (u ) = x N , F x N + å x k , Qk x + u k , Rk u k
k =1

ahol N a horizont szám.


A kritérium minimális értékét a k-dik lépésben a következő kvadratikus
formában keressük :
J k * ( x) = x k T Pk x k

A Bellman elv alapján az optimális diszkrét vezérlő jel a következő összefüggéssel


írható le:

( )
-1
u k * = - Rk + Gk T Pk +1Gk Gk T Pk +1F k x k

ahol a Pk +1 mátrix a következő diszkrét Riccati mátrix-egyenlet megoldása:

(
Pk = F k T Pk +1F k + Qk - F k T Pk +1Gk Rk + Gk T Pk +1Gk )-1
Gk T Pk +1F k .
PN = F

Ha a szabályozandó rendszer idő invariáns és a horizont végtelen ( N ® ¥ ), akkor


Pk+1=Pk és a rekurzív egyenletbő l a következő mátrixos algebrai egyenletet kapjuk:
~ ~ ~
( ~ -1 ~
P = F T × P × F + Q - F T × P × G × R + GT P G × GT × P × F .)
Ezt az algebrai mátrixos egyenletet megoldhatjuk a diszkrét Potter módszerrel, melynek
algoritmusa a következő :
1. Megszerkesztjük a diszkrét Hamilton (H) mátrixot:

( )
éF + G × R -1 × G T × F T -1 × Q ( ) ù
-1
- G × R -1 × G T × F T
H =ê ú
ê ú
( ) (F )
-1 -1
êë - FT × Q T
úû

2. Kiszámítjuk a H mátrixnak megfelelő sajátértékeket és az ezeknek megfelelő


sajátvektorokat.
3. Rendezzük a sajátvektorokat tartalmazó mátrixot úgy, hogy a rendezett mátrix els ő n
oszlopa (V1) tartalmazza a stabil (Re(l)<1) sajátértékeknek megfelelő sajátvektorokat:
éV11 V12 ù
V =[V1 V2 ] = êV V ú
ë 21 22 û
Megj: az n az állapok számát jelenti és mindegyik Vij mátrixok mérete n x n.
4. Felosztjuk a rendezett sajátvektorok mátrixát és kiszámoljuk a stabilizált diszkrét
Riccati mátrixot a következő képlettel:
-1
P¥ =V21 ×V11

a2. A diszkrét LQR követő szabályozónál a négyzetes kritérium függvény módosul a


következő képpen:
é N -1
ù
J (u )= min êeTN ×F .eN + å ekT ×Qk × ek + ukT ×Rk × uk ú
ë k =0 û
ahol:
ek = zk - yk az elő írt pálya (zk) és a kimenet (yk) közötti különbség ,
uk - a vezérlő jel, melyet az alábbi képlettel számíthatjuk ki

[[
uk = Rk +GkT ×Pk +1× Gk ]]
T -1 é1 ù
×ê ×GkT ×g k +1 - GkT ×Pk +1×F k × xk ú
ë2 û
azaz
u k = K k ×x k + f k

A Kk és az fk mennyiségek számítására a következő rekurzív összefüggéseket


kell használnunk ( i = k + N - 1 , k )

[ ]-1
K i = - Ri + G Tk ×Pi +1× Gk ×GkT ×Pi +1 ×F k

f i =-
1
2
[
Ri + G Tk ×Pi +1×Gk ] ×[G
-1 T
k ×g i +1 ]
[gi ]T =- 2×yrefT [i]×Qi ×Ck + giT+1.[F k +Gk ×K i ]
[ ]
-1
Pi =CkT ×Qi ×Ck -FTk ×Pi +1× Gk × Ri + GkT ×Pi +1 ×Gk ×GkT ×Pi +1×F k +FTk ×Pi +1×F k

A végső határfeltételek pedig:


g kT+ N = - 2× yref
T
[k + N ]×F ×Ck Pk + N =CkT ×F ×Ck

Megjegyzés: a ‘k’ itt az aktuális lépést azaz mintavételt jelenti, az ‘i’ pedig a szabályozó
jel számításánál használt lépést jelöli, melyet az N horizont határoz meg és ez mindig a
k-dik lépéshez van viszonyítva.
Itt is érvényes a végtelen horizont és LTI rendszer modellek esetén az alábbi
egyszerűsített képlet
uk =K1×xk + K 2 × yref k

Ahol

(
P = F T × P × F + C T × Q × C - F T × P × G × R + GT × P × G GT × P × F )
-1

[ ]
K i = - Ri + G Tk ×P× Gk ×GkT ×P×F k
-1

K 2 = ( R + GT × P × G )-1 × GT × (( I n - F - G × K1 )T ) -1 × C T × Q
Az itt bemutatott képletek összefüggések az u k számítására vonatkoznak. Viszont
hasonlóan levezethető k a szabályozó változására (Duk) vonatkozó hasonló képletek.
Ebben az esetben bevezethetünk egy új állapotvektor: v k=[xk uk-1]T, ezzel a rendszer
bemeneteinek és kimeneteinek a száma nem változik, az állapotvektor mérete viszont
n+m lesz. A rendszert a következő mátrixos egyenletekkel írhatjuk fel:
æ xk +1 ö æ F G ö æ xk ö æ G ö
çç ÷÷ = çç ÷÷ × çç ÷÷ + çç ÷÷ × Du k
è u k ø è 0 I ø è u k -1 ø è I ø
ìvk +1 = F s × vk + Gs × Du k
Þí
æ x ö î y k = C s × vk
yk = (C 0 ) × çç k ÷÷
è uk -1 ø

A bemutatott összefüggések csak a lineáris idő invariáns rendszerekre érvényesek.

b. Modell alapú prediktív szabályozás

§ Bevezetés
A modell alapú prediktív szabályozás fő elve az, hogy korlátozza a lehetséges
bemeneteket úgy, hogy csak a véges dimenziós optimum feladat megoldása legyen
szükséges. Mindez a diszkrét idejű modell és a véges horizont használatával érhető el.
Nem egy zárt formájú állapot utáni szabályzójel lesz kiszámolva (lásd LQR feladat),
hanem itt a változó horizont elvét használjuk. Mindez feltételezi az optimális bemen ő
jel kiszámítását minden idő pillanatban a mért kimeneti érték alapján. Ily módón az
optimális szabályzó jel megoldása használható a szabályzó algoritmusban akkor is, ha
nem létezik a zárt forma kifejezése az optimális szabályzó rendszernek.
Feltételezzük, hogy a szabályozandó folyamat a következő diszkrét állapotteres
lineáris modellel jellemezhető :
xk +1 = F k × xk + Gk × uk
y k = C × xk

Ahol x egy n dimenziós állapotvektor, u egy m dimenziós bemeneti vektor, y a mért


kimenetek vektora Hasonlóan a diszkrét optimális szabályzókhoz a folyamat modell
kifejezi a berendezés x állapotait az u bemeneti értékek alapján. A költségfüggvény
bünteti (elő súlyozza) a bemenetek változási arányait Duk = uk - uk -1 , ez a súlyozás a
szabályzójel megjelenése elő tt. Így megfigyelhetjük az elkövetkező kben, hogy a
prediktív szabályzó algoritmus hamarabb kiszámítja a Du változást mint az u
vezérlő jelet. Ezért sok szempontból is megfelelő bb, ha a szabályozó rendszert Du
kimenetű rendszernek tekintjük és a folyamatot pedig Du bemenetű rendszernek. Az
MPC szabályzó megadja a Du jelet, melyet továbbítunk a szabályozandó
berendezésnek.
Feltételezve, hogy a k-dik lépésben (idő pillanatban) vagyunk a következő algoritmust
fogalmazhatjuk meg:
1. Az yk kimenetek mérése (meghatározása)

2. Az {u k + j k }Nj=0 bemenő szekvencia kiszámítása.

3. Az uk vezérlő jelet a berendezés bemenetére küldjük


Ez azt jelenti hogy az yk mérése és az uk vezérlő jelnek a berendezés bemenetére
alkalmazása között mindig létezik idő eltolódás.
Egy költségfüggvény súlyozza az yk + j k jósolt vezérelt kimentek eltérését egy ykref+ j k

elő írt (referencia) pályától, ami egy vektoriális érték. Ez a jelölés azt is mutatja, hogy
ez a referencia érték függhet az y k mért értéktő l is, de lehet egy rögzített elő re
meghatározott érték is. A költségfüggvényt meghatározhatjuk mint:
N N c -1
J k (uk ) = å yk + j k - ykref+ j k å Du
2 2
+ k+ j j R
Qj j
j =1 j =0

A jósolt horizont hossza N, de nem kell azonnal az y és y ref közötti eltérés


súlyozásával indulnunk, mivel megjelenhetnek bizonyos késleltetések az észlelt
kimenetek és az bemenetek alkalmazása között. Az N c a vezérlő jel horizontját jelöli.
Feltételezzük mindig, hogy N c < N , illetve hogy minden j > N c esetben a Duk + j k = 0

, vagyis a uk + j k = uk + N -1 k ha j > N c .
c

Q j ³ 0 à súlyozza a kimenetek közötti eltérést minden pontban,

R j > 0 à súlyozza a bemenetek változását minden pontban.


A prognózis horizont N és vezérlő jel horizont N c , a Q j és R j súlyozó mátrixok

valamint a referencia pálya ykref+ j mind befolyásolják a berendezés és a modell prediktív

szabályzó zárt hurokban való működését.


§ Predikció a teljes állapotinformáció esetében
Feltételezzük, hogy az állapotvektor teljesen mérhető , úgy hogy ~
xk k = xk = yk

(tehát C = I ). Ugyancsak feltételezzük, hogy nem léteznek nem várt zavarok a


rendszerben és mérési zajok sem. Akkor megvalósítható a predikció a rendszermodell
iterációval. Így a következő t kapjuk:
xk +1 k = F × xk + G × uk k
xk + 2 k = F × xk +1 k + G × uk +1 k = F 2 × xk + F × G × uk k + G × uk +1 k
M
xk + N k = F × xk + N -1 k + G × uk + N -1 k = F N × xk + F N -1 × G × uk k + K + G × uk + N -1 k

ahonnan a j = 1,K, N értékekre felírhatjuk:

é uk k ù
xk + j k = F × xk + F
j
[ j -1
F j -2

K I ×G× ê M ú
ú
êuk + j -1 k ú
ë û
megj. elő ször az uk helyet az uk k jelölést használjuk, mivel ahol a prognózisokat kell

kiszámolnunk még nem ismert az hogy milyen értéke lesz az uk szabályzójelnek.


Ugyanakkor meg kell említenünk, hogy feltételeztük azt, hogy a bemenet csak a
tk , t k +1 ,K, tk + N -1 idő pillanatokban lesz módosítva és azután állandó marad, úgy hogy
c

N c < j < N - 1 feltétel mellett igaz a uk + j k = uk + N -1 egyenlő ség. Különben a


c

prognózisokat Du k+ j j
elemekkel szeretnénk kifejezni, így megemlítjük hogy a

Duk + j k = uk + j k - uk + j -1 k és a t k idő pontban már ismerjük a uk -1 értékét, tehát:


uk k = Duk k + uk -1
uk +1 k = Duk +1 k + Duk k + uk -1
, 1 £ j £ Nc
M
uk + N c -1 k = Duk + N c -1 k + K + Duk k + uk -1

Amellyel az állapotok predikciója a következő képpen alakul:


é Duk k ù j -1
é j -1 i ù ê ú
xk + j k = Φ xk + êå Φ × Γ K Γ ú × ê
j
M ú + å Φ × Γ × uk -1
i
ha j £ N c
ë i=0 û êDu ú i =0
ë k + j -1 k û

é uk k ù j -1
é j -1 i j-Nc
ù ê ú
xk + j k = Φ xk + êå Φ × Γ K å Φ × Γ ú × ê M ú + å Φ i × Γ × uk -1
j i
ha
ë i =0 i =0 û êu ú i=0
ë k + N c -1 k û
Nc £ j £ N
Vezérlő jel horizont bevezetésével módosítanunk kell azt az intervallumot ahol a
bemenő jel módosulhat. Így lehető ségünk van az összes állapotprognózisok
összecsatolására egyetlen összefüggésben. Tehát a végső összefüggést felírhatjuk a
következő mátrixos és vektoriális kifejezéssel.
é Γ ù é ù
ê ú ê G
é xk +1 k ù é Φ ù
ê N c -1 M ú K 0 ú
ê M ú ê ú ê ú
ê ú ê M ú ê åΦ i × Γ ú ê M K 0 ú é Du
ê i =0 ú ù
ê xk + N c k ú ê Φ N c ú ê Nc úê k k
ú
ú = êΦ N c +1 ú × xk + ê N c i ú × uk -1 + ê å F G FG + G ú ê
i
êx O M ú
ê k + N c +1 k ú ê ú êåΦ × Γ ú ê i=0 úê
ê ú Du ú
ê M ú ê M ú i=0 êM M ú ë k + N c -1 k û
ê ú ê N ú ê M ú ê N -1 M N - Nc ú
ë xk + N k û ë Φ û ê N -1 i ú ê FiG i ú
ê åΦ Γ ú êë å å
K F G
úû
ë i =0 û i=0 i =0

Az y predikciója pedig j = 1, N lépésekre meghatározható mint:


y k + j k = C × xk + j k .

§ A Modell alapú prediktív szabályozás megoldása


A költségfüggvényt felírhatjuk mint:

ref 2
J (uk ) = Y k - Y k
2
+ DU k R
Q

ahol:
é yk +1 k ù é ykref+1 k ù é Duk k ù
ê ú ref ê ú ê ú
Yk = ê M ú, Y k =ê M ú, DU k = ê M ú
ê yk + N k ú ê ykref+ N k ú êDuk + N -1 k ú
ë û ë û ë c û
és a Q és R súlyozó mátrixok a következő formában adhatók meg:
éQ1 0 K 0 ù é R0 0 K 0 ù
ê0 Q ê0 0 úú
K 0 úú R1 K
Q* = ê 2
, R =ê
*
êM M O M ú êM M O M ú
ê ú ê ú
ë0 0 K QN û ëê 0 0 K RN c -1 ûú

Az elő bbi képletek alapján megfigyelhetjük, hogy az Y k kimeneti vektor alakja:


Y k = Φ * × xk + Γ * × uk -1 + G y × DU k

ahol a következő jelölések kerültek bevezetésre:


é C×Γ ù é ù
é C×Φ ù ê M ú ê C ×G ú
ê N c -1 ú K 0
ê ú ê ú
ê M ú ê
ê å C × Φ i
× Γ ú
ú
ê M
ê Nc
K 0 ú
ú
ê C×Φ Nc
ú i = 0
F =ê
*
G =
* ê N ú G y = êå C × F i G O C × FG + CG ú
C × Φ N c +1 ú
c

ê ú ê åC × Φ × Γ ú i
ê i =0 ú
ê M ú ê i =0 ú êM M ú
ê ú ê M ú ê N -1 M N -Nc ú
ë C×Φ û
N
ê N -1 ú ê C × FiG ú
ê åC × Φ Γ ú êë å å
i K C × F i
G
úû
ë i =0 û i =0 i=0

Az E k hibavektor nem függ az aktuális iterációktól csak az aktuális horizontnak


megfelelő xk és uk -1 kezdeti értékektő l:
ref
E k = Y k - Φ * × xk - Γ * × uk -1

Ezt az E k hibavektort úgy tekinthetjük mint egy „követési hibát” mivel ez az érték az
elő írt jövő beli pálya és a „rendszer szabad válasza” (válasz amely a prognózis horizont
felett jelenik ha a bemeneten nem történik változás, azaz DU k = 0 ) közötti különbséget
jelöli. Ha a valóságban az E k hibavektor nulla lenne akkor lenne helyes csak a DU k = 0
vezérlő jel változás. A J költségfüggvénynek egy egyszerűsített alakja a megfelelő en
megválasztott mátrixokra meghatározható:

J (uk ) = G y × DU k - E k
2

Q
+ DU k
2
R
[ T T T
] [ ]
= DU k G y - E k × Q × G y × DU k - E k + DU k × R × DU k =
T

T
[ T
] T
= DU k × G y × Q × G y + R × DU k - 2 × E k Q × G y × DU k + E k × Q × E k
T

Vagyis a kritérium formája:


1
J (uk ) =
T
DU k × H × DU k + f T × DU k + const
2
ahol:
[ T
H = 2 × Gy × Q ×Gy + R , ] T
f = -2 × G y × Q × E k
viszont a H és f vektorok nem függnek DU k értékétő l.

Megfigyelhetjük, hogy a következő kikötéses optimum feladatot kell megoldanunk:


ì 1 T ü
min í J k = DU k HDU k + f T DU k + const ý
DU k
î 2 þ
egyenlő tlenség feltételek mellett. Ez a megfogalmazás egy ismert standard optimum
feladat melyet kvadratikus programozásnak is nevezünk és ami már az el ő bbiekben
tárgyalva volt a megfelelő megoldási algoritmusokkal. Úgyanakkor megemlítjük, hogy
ezzeknek a megoldásoknak csak azt a részét használjuk mely az első fázisnak felel meg
a regresziós horizont stratégiájának megfelelő en.

[ T
Duk = G y × Q × G y + R ]-1
× G Ty × Q × E

Mivel ennek a dolgozatnak a célja a diszkrét LQR és MPC szabályzók


összehasonlítása ezért az MPC szabályzót is itt korlátok (kikötések) nélkül fogjuk
megtervezni.

3. A munka menete:

A laborgyakorlaton javasoljuk a következő feladatok megoldását:


ì xk +1 = 1 × xk + 1 × uk
1. Adott a következő diszkrét modell: í
î yk = xk
a. Határozzuk meg azt a diszkrét LQR vezérlő jel szekvenciát amely minimálja
4
a következő diszkrét kritérium függvényt: J = å (q × ( y i - 3) 2 + r × ui 2 )
i =0

(az r és q súlyozókat válaszuk meg mint pozitív tetsző leges számokat).


b. Az adott rendszerre tervezzünk egy modell prediktív szabályzót ha tudjuk,
hogy az N = 5 és N c = 4 . Az elő írt érték pedig egy állandó érték 3.
2. Adott a következő diszkrét rendszer:
æ1 0.8 ö æ6 0ö
x k +1 = çç ÷÷ × x k + çç ÷÷ × u k
è0 0.5 ø è3 1ø
æ1 0ö
y k = çç ÷× x
è0 1 ÷ø k

a. Határozzuk meg azt a diszkrét LQR vezérlő jel szekvenciát amely


minimálja a következő kritérium függvényt
10
J = å (q1 × ( y1,i - 5) 2 + q 2 × ( y 2,i + 18) 2 + r1 × u1,i 2 + r2 × u 2,i 2 )
i =0

b. Az adott rendszerre tervezzünk egy modell prediktív szabályzót ha tudjuk,


hogy az N = 5 és N c = 4 . Az elő írt értékek pedig 5 és -18 állandó értékek.

Megj. A modell prediktív szabályzásoknál meg lehet oldani a következ ő optimum


feladatot is:
ì 1 T ü
min í J k = DU k HDU k + f T DU k + const ý
DU k
î 2 þ
ahol használhatjuk a quadprog Matlab függvényt korlátok nélkül.

4. Kérdések és következtetések:

1. Milyen jelentő sége van a DLQR szabályzóknál az N horizont értékének?


2. Mit súlyoz az R mátrix és csak milyen értékeket vehet fel ?
3. Milyen hatása van az Nc szabályzási horizontnak az MPC szabályzóknál?
4. Milyen tulajdonságai vannak a diszkrét Riccati mátrixnak?
5. Hogyan tudjuk megoldani csak egyes kimenetek súlyozását a Q matrix
segítségével?
6. Hogyan módosul az algoritmus az LQR és MPC szabályzóknál ha az elő írt
érték idő ben változó?

You might also like