ROCZNIKI POLSKIEGO TOWARZYSTWA MATEMATYCZNEGO Seria III: MATEMATYKA STOSOWANA XXXII (1989)
Ba r b a r a Bi ł y
Jaworzno
Wyznaczanie sterowania optymalnego dla układu typu Roessera
(Praca wpłynęła do Redakcji 1986.06.05)
1. Wprowadzenie i sformułowanie problemu. Układy dynamiczne typu 2-D są to układy dyskretne o dwu zmiennych niezależnych, czyli układy określone w dyskretnych punktach płaszczyzny. Rozwój teorii układów dynamicznych typu 2-D wiąże się ściśle z coraz szerszym ich zastosowaniem w praktyce, w szczególności przy projektowaniu filtrów dwuwymiarowych [4], [6] oraz w teorii sterowania [3], [8], [9].
Ogólnie w podejściu do analizy układów dynamicznych typu 2-D można wyróżnić dwa zasadnicze kierunki: pierwszy, oparty na rachunku macierzo- wym, oraz drugi, polegający na wykorzystaniu teorii i metod algebraicznych, w szczególności teorii wielomianów wielu zmiennych.
W niniejszej pracy, wykorzystując podejście macierzowe, zostanie roz- wiązany problem sterowania optymalnego przy kwadratowym wskaźniku jakości dla liniowego, stacjonarnego, skończenie wymiarowego układu dyna-
micznego opisanego modelem Roessera.
Zainteresowanie problemem liniowo-kwadratowym wynikło z kilku powo- dów: — przede wszystkim należy on do grupy niewielu zadań sterowania, mających rozwiązania w postaci jawnej,
— przez właściwe sformułowanie problemu można wyrazić prawie wszyst- kie standardowe wymagania stawiane liniowym układom sterowania,
— często kwadratowy wskaźnik jakości ma bezpośrednią interpretację fizyczną lub ekonomiczną, np. reprezentuje straty energii zużytej na sterowanie.
Z zadań sterowania optymalnego dla układu 2-D dotychczas został rozwiązany problem sterowania z minimalną energią [7], [10]. Przy założeniu, że rozpatrywany układ jest lokalnie sterowalny, problem ten został rozwiązany przez podanie analitycznego wzoru na sterowanie, wykorzystując tzw. macierz lokalnej sterowalności.
Problem tu rozważany jest rozszerzeniem zadania minimalnoenergetycz- nego. Uogólniono wskaźnik jakości, dodając w nim sumę zależną od wektorów
[19]
20
B. Biłystanu, a nie tylko od wektorów sterowań, jak to było w zadaniu z minimalną energią.
Proponowana metoda rozwiązania wykorzystuje metody sterowania kwad- ratowego i może być zastosowana również dla ogólniejszych układów typu M-D. Warto zauważyć, że problem dla klasycznych układów z jedną zmienną niezależną, analogiczny do rozpatrywanego w pracy, ma efektywne roz- wiązanie w terminach dyskretnego równania Riccatiego [5]. Ta metoda zawodzi jednak w przypadkach z dwoma zmiennymi niezależnymi. Wynika to z następującej trudności: w zbiorze par liczb całkowitych nieujemnych Z + możemy zdefiniować jedynie częściowy porządek, a metody analogiczne do proponowanych dla układów 1-D wymagałyby dobrego porządku.
Rozważmy układ dynamiczny opisany modelem Roessera postaci [11]:
x(i+l,j) = A l x(i,j) + A2y(i,j) + Bl u(i,j), y(Uj+ 1) = A3x(i,j) + AĄy{i,j) + B2u(iJ),
gdzie (i,j)eZ + x Z +, x(i,j)eRn, y{i,j)eRm, u(i,j)eRp, At, B{ są macierzami rzeczywistymi odpowiedniego wymiaru. Układ ten rozpatrujemy w ustalonym prostokącie Dr>s:
(1.2) Drs = {(/,
j')
gZ + x Z + : O ^ i ^ r , O ^ j ^ s} ,
w którym zakładamy lokalną sterowalność układu [8]. W każdym punkcie tego prostokąta określony jest zatem lokalny wektor stanu układu postaci
(1.3) S(iJ) eR
n + mZakładamy, że są dane warunki brzegowe na dwu ścianach prostokąta Z)r s, tzn.
(1Ą) x(0 J) = x? U = 0 ,1 ,...,s),
y(i,0) = yf (i = 0, l,...,r),
oraz że lokalny wektor stanu S(r, s) jest również dany, tzn.
(1.5) S(r,s) = ck = eRn
Przy tych założeniach postawmy następujące zadanie sterowania optymalnego:
wyznaczyć sekwencję wektorów u(i,j) dla dyskretnych punktów prostokąta Dr s oraz odpowiadającą jej trajektorię S{i,j), które minimalizują dwukwad- ratowy wskaźnik jakości Jr s postaci
(1.6) JrjS= £ Sr{i,j)Q(iJ)S{i,j)+ £ uT{i,j)P(i,j)u{i,j),
(i,j)eDr ,s (i,j)eDr>s-{ (r, s )}
gdzie Q(i,j), P(i,j) są macierzami symetrycznymi dodatnio półokreślonymi
o odpowiednich wymiarach.
Wyznaczanie sterowania optymalnego dla układu Roessera
21
2. Przeformułowanie zadania minimalizacji. W celu rozwiązania sformuło- wanego wyżej zadania sterowania optymalnego, dokonamy przeformułowania go do równoważnego zadania programowania kwadratowego. Przypomnijmy zatem postać zadania programowania kwadratowego, dogodną dla naszego celu.
Zadanie (*). Zminimalizować
f(z) = {z, Hz)
przy ograniczeniach Rz = c, gdzie z, c są wektorami, R, H są macierzami odpowiedniego wymiaru, H jest macierzą symetryczną dodatnio półokreśloną.
Jeżeli potrafimy sprowadzić nasze zadanie do powyższego zadania (*), to możemy wówczas wykorzystać istniejące już twierdzenia [2], dotyczące ist- nienia i algorytmu wyznaczania sterowania optymalnego. Zdefiniujmy zatem odpowiednio wektor z:
(2.1) z = [xr (0, 0), xr (0, 1), xr (0, 2), ..., xr(0, s),..., x T(l, s), ..., x T(r, 0), xr (r, 1), xT(r, 2), ..., xT(r, s-1), x T(r, s), yT(0, 0), yT( 1, 0), yT(2, 0), ..., yT(r- 1, 0), yT(r, 0), ..., yT(0, s), yT( 1, s), yT(2, s), ..., yT( r - l, s), yT{r, s),
«r (0, 0), u7( 1
,0), uT{2, 0), ..., uT(r— 1
,0), uT(r, 0), ..., uT(0, s), uT( 1, s), uT(2, s), ..., uT(r— 1, s)] 7.
Zatem z jest wektorem ((r + 1) (s -I-1) (n + m) + (r + rs + s) p)-wymiarowym. Ogra- niczenia równościowe (1.1), (1.4), (1.5) dają się przedstawić w postaci
(2.2) Rz = c,
przy czym R jest macierzą:
(2.3) R = R i k ,
jR,
- Rj R-8 R-9 - gdzie odpowiednie macierze R{ są następujące:
" - A , 0 . .. 0 0 11 0 . . . 0 O N 1 >
0 0 0 |0 I ... 0 v0| - | 1
0 0 0 1
|0 0 . . I N o n
0 1
1
0 >■ s + 1
0 0 . .. 0 - A x |0 0 . . . 0 / | - | 1 ->
1 I-I - A x 0 ... 0 0 1/ 0 . . 0 0
1 I-I 0 - A , . . . 0 0 0 / . . 0 0
0 1 0 N 1 r s+ 1
1 1*1 0 0 ... - A x 0 |0 0 . . . / 0
1 “ v" ... 1 0 0 ... 0 - A x |0 0 . . . 0 / J
^ 2 0 0 o 1 0 0 ... 0 o i • 0 0 ... 0 o 1 0 0 ... 0 0 -N
0 0 0 0 1
. . 1 .
- A 2 0 .. 0 0 1 • . 1 •
0 0 ... 0 o 1
. . 1.
0 0 ... 0 0
>■ s+ 1
.0 0 . . : o o 1 0 0 ... 0 0 1 • - A 2 0 ... 0 0 1- 0 0 ... 0 0
0 0 ... o 1 0 0 ... 0 o i • 0 0 ... 0 0 1 — A-2 0 ... 0 0 -
0 0 ... - a 2 o 1 0 0 ... 0 o i • 0 0 ... 0 0 1 0 0 ... 0 0 ->
0 0 0 o 1
. . 1 .
0 0 ... ~ A 2 o i • . 1 •
0 0 ... 0 o 1
. . 1.
0 0 ... 0 0
r s t i
0 0 0 o 1 0 0 ... 0 0 1 • 0 0 ... ~ A 2 0 1 0 0 ... 0 0
0 0 0 o 1- 0 0 ... 0 0 1 • 0 0 ... 0 0 1
t 0 0 ... ~ A 2
0 J
r +1 r +1 s + 1 r+1 r+1
- B 1 0 ... 0 o 1 0 0 0 o i • 0 0 ... 0 0 1 0 0 0 0 0 0 ... 0 o I
. .
1 - B , 0 0 o i •
. 1 • 0 0 ... 0 o I
. . 1. 0 0 0 0
>■ s+ 1 0 0 ... 0 o 1 0 0 0 o i • - B , 0 ... 0 o 1 0 0 0 0
0 0 ... 0 o 1 0 0 0 o i • 0 0 ... 0 o 1 - B t 0 0 0
i
0 0 ... - B , o 1 0 0 0 o i • 0 0
. . .0 o 1 0 0 0 0 r 0 0 ... 0 o 1
. .
1 0 0 ... - B , 0 1
•. 1
•0 0 ... 0 o 1
. .
1 .0 0 0 0
n t i
0 0 ... 0 o I 0 0 0 o i
•0 0 ... - B , o I 0 0 0 0 0 0 ... 0 o 1 0 0 ... 0 o i
•0 0 ... 0 0 1 0 0 ... - B , 0
---/ ' - v ~ J V- ■""V " ---'
r +1 r + 1 s r + 1 r + 1
~ A 3
0 0 0
......0 o 1 0 0 0 0 1
...0 o 1• 1 0 0
...0 o 1 D 0
...0 0
“. .
1
~Aj,0
...0 0 1 . 1• 1 • 1 0 0
...0 0 1
1
.0 0
...0 0 0 0
...0 0 1 0 0
...0 0 1• 1—
A 30
...0 0 1 0 0
...0 0 0 0
...0 o 1 0 0
...0 o 1• 1 0 0
...0 o 1~
a 30
...0 0
0 0
... - A 3o I 0 0
...0 o 1 0 0
...0 o 1
00
...0 0
0 0
...0 o 1
. .
1 0 0
... ~ A3o 1 . 1 0 0
...0 o 1
1.
0 0
...0 0
0 0
...0 o I 0 0
...0 o 1 0 0
... ~ A 3o 1 0 0
...0 0
0
0
...0 o 1 0 0
...0 o I 0 0
... 00 1 0 0
... - A 30
s+1 v s+1 s+1 s+1
I
24
B. Biły" - ^ 4 0 ... 0 o i o o
0 l-l 1
0
- A
a-
0 o o o o n 1. . . 1 ...
0
i 00 0 . . . -
A
4. 0 |0 0 . . . / o n 10 0 ... 0 1 o o o / i-i 1
1
-
a4
0 ... 0 0 1 / 0 . . . 0 01
0 -
a4 ...
0 0 0 / . . . o 00 1 0 . . 1 ...
1
0
0 . . . -A 4
0 |0 0 . . . / 01
0
0 ... 0- A 4
10 0 ... 0 IT , \
r+1 r +1 r+1 r+1
> r+1
r+1
R
r - b 2 0 ... 0 o I 1 >
0 - b 2 . . . 0 o 1
. . . 1 0 0 1
1 0 > r+1
0 0 . . . - B 2 o 1 1
0 0 ... 0 -®2 1 1 J
1 B 2 0 ... 0 o 1 } „J
0 1
1 0
0 - b 2 .. 0 0 1
1 0 ► r+1
1 0 0 ... - B 2 o 1
- 1 0 0 ... 0 ~ B 2 1 - J
r+1 r+1 s + 1 r+1 r+1
/ 0 ... 0 0 1 1 • 1 1
0 / ... 0 0 1 1 • 1 1
0 1 • 1 0 i 0 ►s+1
o
oo
1 • 1 1
■-1o
oo
1 • 1 1 --
o 1 0 1 • 1 0 i -0 ]►r+ 1
0 1 0 1 • 1 0 | 0 0 .. 0 /
J
1 1 • 1 | 0 0 ... 00
s+1 s+1 s+1 s+1
Wyznaczanie sterowania optymalnego dla układu Roessera
25
R
b0 1 0 I-I 0 I 0
/ 0 ... 0 0|
0 / ... 0 0|
...
1
1 • 1 1 • 1 0 I-I 0
1 1 I 0 0 0 ... / 0|
0 0 ... 0 J| 1 • 1
1 • 1 1
1
0 1
1 0 1,1
1 • 1 0 I 0 0 ...0 0
| 0 0
. . .0 /
v ----V — V ' ^
'
v— _. I v — v — s y v V____" V “ V — / -r+1 r+1 r+1 r+1
s +1
■r+1
J r 2
R9 = 0 . Macierz i? ma wymiary:
[sm(r + l) + rn(s+ l) + (s +2 )n + (r + 2 )m] x [(r+ l')(s+ l')(n + m) + {r + s + sr)p~].
Wektor c występujący w równości (2.2) ma postać:
(2.4) c' = [0 ,...,0 , x°J
Y0 T ..O T ..O Tx s > + 0 » + 1 >
■, y¥, clx, en .
OT TAby wykorzystać do rozważań zadanie (*), musimy dokonać takiej trans- formacji wskaźnika jakości Jr s, zadanego wzorem (1,6), aby uzyskać żądany iloczyn skalarny wektora z. Mianowicie, każdy z wektorów stanów lokalnych S(i, j) można przedstawić jako liniową funkcję wektora z:
x{hj) Wx{i,j)z ~Wx(i,j)~
_y{Uj)_ _Wy{i,j)z_
(2.5) s (ij) = z,
gdzie macierze Wx(i,j) i Wy(i, j) tworzone są w sposób następujący:
[0, . . . , 0 , I , 0, . . . , 0 ] ,
tzn. macierz jednostkowa stopnia n (bądź m dla y) stawiana jest na odpowied- nim miejscu, wynikającym z przyjętego określenia wektora z. A zatem możemy napisać
( 2.6) ST(i,j)Q{i,j)S{i,j) = zT Wx (i,j) Wy(i,j)_ Q(i,j) Wx (i,j)
wy(i,j). z = zT L(i, j) z i dalej
(2.7) X ST(i,j)Q(i,j)S(i,j)
(ij)eDr,s
= zTL(0, 0)z + zTL(0, 1)z + ... -f zTL(r, s—l)z + zTL(r, s)z
= zT[L(0, 0) + L(0, 1)+ ... + L(r, s—1) + L(r, s)]z — zTLz.
t26
B. BiłyLjest macierzą symetryczną wymiaru
[(r + l)(s + l)(n + m) + (r + s + rs)p] x [(r+ l)(s + l)(w + m) + (r + s + rs)p].
Analogicznie postępujemy z drugą sumą we wzorze (1.6):
(2.8) £ uT(i, j) P(i, j) u(i, j)
=uT(0, 0) P( 0, 0) u(0, 0)
(i,j)eDr,s-{(r,s)}
+ uT( 1, 0)P(1, 0)w(l, 0)+ ... + uT(r — 1, s)P(r— 1, s) u{r— 1, s)
= zT WTU{0, 0)P(0, 0) Wu(0, 0) z + zT Wl'( 1, 0)P(1, 0) Wu( 1, 0)z + ... + zr lT j(r—1, s)P(r— 1, s)ł^(r ““ s)z
= zr [M(0, 0) + M(l, 0)+ ... + M ( r - 1, s)]z = zr Mz.
Sumując, J r s możemy napisać w postaci:
(2.9) Jr<s = zTlL + M]z = zTHz = <z, Hz}.
Macierz M jest symetryczna, dodatnio półokreślona, identycznego wymiaru jak macierz L. A więc nasze zadanie sprowadziliśmy do zadania (*), gdzie mamy zminimalizować iloczyn skalarny <z, Hz} przy ograniczeniach Rz = c.
3. Warunki istnienia rozwiązania optymalnego. Zakładamy, że układ jest lokalnie sterowalny w prostokącie Drs [8]. W języku programowania kwad- ratowego oznacza to, że istnieje co najmniej jedno rozwiązanie dopuszczalne tego zadania (tzn. istnieje wektor z spełniający warunek Rz = c), a wówczas dla kwadratowego zadania sterowania (2.9) istnieje również rozwiązanie optymal- ne [2].
Poniższe twierdzenie podaje warunek konieczny i wystarczający istnienia rozwiązania optymalnego dla zadania programowania kwadratowego (*).
T
wi erdzenie[2]. Niech z będzie rozwiązaniem dopuszczalnym zadania (*).
Wówczas z jest rozwiązaniem optymalnym zadania (*), gdy istnieje taki wektor, że spełnione jest równanie macierzowe postaci:
0' c_
Rozwiązanie (z, (p) tego równania daje żądane rozwiązanie optymalne z.
Należy zauważyć, że równanie (3.1) może być rozwiązane ze względu na z nawet wówczas, gdy macierz występująca po lewej stronie tej równości jest osobliwa. Wobec faktu, że twierdzenie (3.1) wyraża warunki konieczne i wy- starczające optymalności, istnienie rozwiązania optymalnego naszego zagad- nienia pociąga za sobą istnienie co najmniej jednego rozwiązania równania (3.1). Ponadto, każde rozwiązanie tego równania jest optymalne. Niemniej jednak rozwiązanie zadania staje się łatwiejsze, gdy istnieje rozwiązanie jednoznaczne.
(3.1) - H RT z
R 0 (p
Wyznaczanie sterowania optymalnego dla układu Roessera
27
T
wierd zen ie[2]. Jeżeli Ker (if)nKer(R) = {0}, to istnieje jednoznaczne rozwiązanie optymalne zadania (*).
Warunek ten, mówiący, że podprzestrzenie zerowe operatorów H i R mają tylko zero jako element wspólny, jest równoważny z warunkiem
rząd H
R = (r+ l)(s + l){n + m) + (r + s + rs)p.
T
wierd zen ie[2]. Przy założeniu, że ograniczenia równościowe Rz — c stanowią układ równań liniowo niezależnych, zachodzi następująca równoważ- ność:
Ker (H) n Ker (R) = {0} <=> macierz - H R
R 0 jest nieosobliwa.
Pr z y k ł a d.
Rozważmy układ typu 2-D opisany modelem Roessera o na- stępujących macierzach:
A ! = A2 = A4 = 1, A 3 = 0, Bx = B2 = 1, (r, s) = (1, 1), n = m = p= 1, c
k 11 ’ Q{Uj) l l
l l ’ P(iJ)= 1.
Warunki brzegowe:
x(0, 0)
=x(0, 1)
= 0,y(
0,0)
=y{
1,0)
=0.
Zgodnie ze wzorem (2.1) wektor z ma postać:
zr = [x(0, 0), x(0, 1), x(l,.0), x(l, 1), y(0, 0), y( 1, 0),
y(0, 1), y(l, 1), u(0, 0), u(l, 0), u(0, 1)], natomiast macierz R (2.3) i wektor c (2.4) mają postać:
- 1 0 1 0 - 1 0 00 - 1 0 0 0 - 1 0 1 0 0 - 1 0 0 0 - 1 0 0 0 0 - 1 0 10 - 1 0 0 0 0 0 0 0 - 1 01 0 - 1 0
1 0 0 0 0 0 00 0 0 0
0 100 0 0 00 0 0 0
0 0 0 0 1 0 00 0 0 0
0 0 0 0 0 1 00 0 0 0
0 001 0 0 00 0 0 ' 0
0 0 0 0 0 0 01 0 0 0
c = [0,0,0,0,0,0,0,0,1,1]T.
28
B. BiłyZgodnie ze wzorami (2.7), (2.8), (2.9) wyznaczamy macierz H:
H = L + M
“1 0 0 0 1 0 0 0 0 0 0
"0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0 1
Równania, z których wyznaczamy wektor optymalny z, mają postać (3.1)
— Hz + RT = 0, Rz = c.
Jeżeli dodatkowo oznaczymy
Z = [ x 1?
x2, X3,..., X10, X11], (p
=[<Pi, (p2
J(Piol) to powyższe równania stanowią układ równań liniowych postaci:
— X1+X3— X5— Xg = 0,
— x2 + xĄ — x 7 — x 11 = 0, - x 5 + x 7 — xg = 0, -X 6 + X8-Xi0 = o,
— x 1 — x 5 — ( p 1 + ę
5
=0
,- x 2- x 7-(p2 + (p6 = 0, - x 3~ x 6 + cpl = 0, - X 4- X 8 + ę 2 + (p9 = 0,
- x l - x 5-(p1-(p3 + (p7 = 0,
~ X3 -X 6-(pĄ + <p8 = 0,
— x2 — x7 — (p2 + ę 3 = 0, - x Ą- x 8-(pA + (p10 = 0,
~X9-(Pi-(p3 = 0, - x 10-(p4 = 0, - x i l -(p2 = 0.
W wyniku rozwiązania tego układu równań otrzymujemy interesujące nas sterowania optymalne i odpowiadającą im trajektorię stanów lokalnych, mianowicie:
zr = [0, 0, i 1, 0, 0, i 1, i 1, J], a zatem mamy odpowiednio:
w(0, 0) = j, u( 1, 0) = 1, w(0, 1) = I,
S( 0, 0) = S( 1, 0) = 5(0, 1) = 5(1, 1) =
Wartość optymalna J l A (1.6) wynosi:
=
[0 i] “11 0“ “i r r n
Ą“1 1 1
11
_ 4 _1 + [ł0 ] 11 0 + [H ] 1 1 1 +(l)2+(t)2+ i = 5 i
Wyznaczanie sterowania optymalnego dla układu Roessera
29 Powyższy przykład obliczeniowy ilustruje metodę postępowania przy wy- znaczaniu sterowania optymalnego na podstawie sformułowanych wyżej twier- dzeń.
Zaprezentowana metoda wykorzystuje bezpośredni opis układu (1.1).
Analogiczne rozważania można przeprowadzić, wykorzystując wzór na roz- wiązanie S(i,j) [7], w którym jest uwzględniona liniowa zależność od warunków brzegowych oraz sterowań. Podejście takie zmniejsza wymiar zagadnienia [1].
Prace cytowane
[1] B. B iły, O pewnym problemie sterowania optymalnego dla układu typu 2-D, Rozprawy Elektrotechniczne 3 (1987).
[2] M. C annon, C. C ullum , E. P olak , Sterowanie optymalne i programowanie matematyczne, WNT, Warszawa 1975.
[3] R. E ising, Controllability and observability of 2-D systems, IEEE Trans. Autom. Contr., vol.
AC-24, 1 (1979).
[4] E. F o rn a sin i, G. M arch esin i, State-space realization theory of two-dimensional filters, IEEE Trans. Autom. Control, vol. AC-21, 4, Aug. (1976).
[5] H. G óreck i, S. F uksa, A. K o ry to w sk i, W. M itk ow sk i, Sterowanie optymalne w sys- temach liniowych z kwadratowym wskaźnikiem jakości, PWN, Warszawa 1983.
[6] T. H in am o to, F. W. F air man. Realization of the Attasi state space model for 2-D filters, Int. J. Systems Sci., vol. 15, 2 (1984).
[7] T. K aczorek , Two-dimensional linear systems, Lecture Notes in Control and Information Sciences, vol. 68, Springer-Verlag, Berlin 1985.
[8] J. K lam ka, Sterowalność układów dynamicznych typu 2-D, Zeszyty Naukowe P. Śl.
Automatyka 63 (1982).
[9] J. K lam ka, Controllability of M -dimensional linear systems, Foundations of Control Engineering, vol. 8, 2 (1983).
[10] J. K lam ka, Minimum energy control for 2-D systems, Systems Science vol. 9 (1983).
[11] A. R oesser, A discrete state space model for linear image processing, IEEE Trans. Autom.
Control, vol. AC-20, 1 (1975).