You are on page 1of 5

12.

Laborgyakorlat SzIR
I

Kikötések nélküli szabályozások nemlineáris


rendszereknél és az állapotfüggő Riccati egyenlet

1. A dolgozat célja:

A dolgozat célja kikötések nélküli szabályzások tanulmányozása


nemlineáris rendszereknél és egyben az állapotfüggő Riccati egyenlet megoldási
lehető ségei egy adott nemlineáris rendszernél.

2. Elméleti bevezető :

Az eddig tanulmányozott szabályozási feladatoknál akár korlátos vagy akár


nem korlátos vezérlés számításoknál mindig lineáris idő ben invariáns
rendszerekkel dolgoztunk. A folyamatirányításban sok rendszer egy nominális
üzemi állapot környezetében működik ezért itt a lineáris rendszerekre
bebizonyított szabályzókkal viszonylag jó eredmények érhető k el. Egy nemlineáris
modellel jellemzett rendszer esetén ahhoz, hogy alkalmazni tudjuk a már ismert
szabályzókat, szükséges a rendszer linearizálása. Az elkövetkező kben röviden
bemutatunk egy módszert a linerizálásra egy adott munkapont körül és bevezetjük
az állapot függő Riccati egyenlettel megoldható LQR szabályozót is.
Legyen a dinamikus rendszer jellemezve a következő nemlineáris
egyenletrendszerrel:
ìï x& (t ) = f ( x(t ), u (t ), t )
í
ïî y (t ) = g ( x(t ), u (t ), t )
ahol az állapotvektor x(t ) egy n soros oszlop vektor, a bemenet u (t ) egy m soros
oszlop vektor és a kimenet y (t ) egy p soros oszlop vektor. Feltételezzük, hogy a
rendszerben megjelenő f és g függvények folytonosak és deriválhatók. Ebben az
esetben a linearizált matematikai rendszermodell egy adott pont környezetében a
következő mátrixokkal írhatjuk fel:

æ ¶f1 ¶f1 ö æ ¶f1 ¶f1 ö


ç L ÷ ç L ÷
ç ¶x1 ¶xn ÷ ç ¶u1 ¶u m ÷
A( xk , u k ) = ç M O M ÷ B ( xk , u k ) = ç M O M ÷
ç ¶f n ¶f n ÷ ç ¶f n ¶f n ÷
ç ¶x L ÷ ç ¶u L ÷
¶xn ¶u m
è 1 ø x k ,u k è 1 ø x k ,u k

æ ¶g1 ¶g1 ö æ ¶g1 ¶g1 ö


ç L ÷ ç L ÷
ç ¶x1 ¶xn ÷ ç ¶u1 ¶u m ÷
C ( xk , u k ) = ç M O M ÷ D(xk , u k ) = ç M O M ÷
ç ¶g p ¶g p ÷ ç ¶g p ¶g p ÷
ç L ÷ ç L ÷
è ¶x1 ¶xn ø x k ,u k è ¶u1 ¶u m ø
x k ,u k

A linearizált rendszer ezeknek megfelelő en az x0 ,u0 munkapontban felírható mint:

ìd
ï (Dx(t )) = A( x0 , u 0 ) × D x(t ) + B( x0 , u0 ) × Du (t ) D x(t ) = x(t ) - x0
í dt ahol
ïDy (t ) = C ( x0 , u0 ) × D x(t ) + D( x0 , u 0 ) × Du (t ) Du (t ) = u (t ) - u 0
î
Az így meghatározott linearizált modellre már alkalmazhatjuk az ismert
szabályozási módszereket. Ezt a linearizálást viszont minden lépésben el kell
végeznünk. Ha a szabályzó algoritmus diszkrét változatát alkalmazzuk, akkor a
kapott matematikai modellt mintavételeznünk is kell minden lépésben, ami
számítási idő t igényel.
Az állapot függő szabályozó egy speciális változata az elő bbi esetnek.
Feltételezzük, hogy a rendszerállapotokra érvényes egyenlet felírható a
következő képpen:
x& (t ) = f 1 ( x(t )) + f 2 ( x(t )) × u (t )
akkor az A és B mátrixok felírhatók mint:
A( x(t )) × x(t ) = f1 ( x(t )) B( x(t )) = f 2 ( x(t ))

A költségfüggvényben szereplő súlyozó mátrixok is függhetnek a x(t)


állapotvektortól. Például egy végtelen horizontú állapot utáni szabályzó
költségfüggvénye:
¥
J = ò ( x(t ) T × Q( x(t )) × x(t ) + u (t ) T × R( x(t )) × u (t ))dt
0

Az így kapott linearizált modellt is minden lépésben aktualizálni kell mivel


látható, hogy a rendszer mátrixok állapotfüggő k. Így jutunk el az LQR
szabályzóknál az állapotfüggő Riccati egyenlethez, ami most az algebrai egyenlet
mivel a horizont végtelen. Ezt az állapotfüggő egyenletet minden lépésben újra
kell oldani az adott aktuális állapotértékben.
A( x(t )) T × P( x(t )) + P( x(t )) × A( x(t )) - P ( x(t )) × B( x(t )) × R -1 ( x(t )) × B( x(t )) T × P( x(t )) + Q( x(t )) = 0
A szabályzó jel pedig kiszámolható állapotutáni és állapot függő jelként:
u (t ) = - R( x(t )) -1 × B( x(t )) × P( x(t )) × x(t )

Ha a vezérlés számítása a diszkrét modellt szükségelteti, akkor itt is a kapott


linearizált modellt mintavételezzük, minden lépésben és így majd ezt hasznáhatjuk
a diszkrét szabályzó jel kiszámítására.

3. A munka menete:

Az állapotfüggő szabályzás tanulmányozásához használhatjuk a következő


nemlineáris rendszert:
x&1 (t ) = x 2 (t )
( )
x& 2 (t ) = - x1 (t ) + x 2 (t ) × 1 - 3 × x1 (t ) 2 - 2 × x 2 (t ) 2 + u (t )
y (t ) = x1 (t ) + x 2 (t )
Legyen a kezdő állapot x0 = [0.5 - 0.5]T és tervezzünk egy állapotutáni szabályzót
különböző súlyozó mátrixok segítségével és szimuláljuk le a szabályozott
rendszert.

0.5
x(t) Szabalyzott allapotok x(t)
0

-0.5
0 1 2 3 4 5 6 7 8 9 10
Ido [sec]
1
Szabalyzott allapotok |x|
|x(t)}

0.5

0
0 1 2 3 4 5 6 7 8 9 10
Ido [sec]
0
Vezerlojel u(t)
u(t)

-0.5

-1
0 1 2 3 4 5 6 7 8 9 10
Ido [sec]

1. ábra A szabályozott állapotok és a vezérlő jel változása ( Q = 250 × I 2 és R = 1 )

1
Szabalyzott allapotok x(t)
x(t)

-1
0 1 2 3 4 5 6 7 8 9 10
Ido [sec]
1
Szabalyzott allapotok |x|
|x(t)}

0.5

0
0 1 2 3 4 5 6 7 8 9 10
Ido [sec]
1
Vezerlojel u(t)
u(t)

-1
0 1 2 3 4 5 6 7 8 9 10
Ido [sec]

2. ábra A szabályozott állapotok és a vezérlő jel változása állapotfüggő súlyozó


mátrixokkal
A második ábrán kapott eredményeknél az állapotfüggő súlyozó mátrixok:
æ 50 + 400 × x1 (t ) ö
Q = çç
0
0
(
÷ és R = 1 + 400 × x12 (t ) + x 22 (t )
50 + 400 × x 2 (t ) ÷ø
)
è
A laborgyakorlaton írjuk meg ennek a feladatnak a megoldásához szükéges
Matlab kódot (SDRE és linearizálás a munkapont körül) illetve készítsük el ennek
a Simulink-es változatát is mindkét változatra.

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

1. Milyen esetekben alkalmazhatjuk az állapotfüggő szabályozást?


2. Milyen elvi különbség van az SDRE módszer és a munkapont körüli
linearizált modell használata között?
3. Milyen tulajdonságai kell legyenek az R és Q mátrixoknak?

You might also like