Professional Documents
Culture Documents
Mirosław Tomera
Złożone obiekty sterowania zazwyczaj mają kilka wejść i kilka wyjść, pomiędzy którymi mogą
występować złożone sprzężenia skrośne. Aby dla takich obiektów przeprowadzić analizę układów
sterowania, istotne staje się zredukowanie złożoności wyrażeń matematycznych i uporządkowanie ich
celem wykonania koniecznych i żmudnych obliczeń. Z tego punktu widzenia analiza w przestrzeni
stanów jest najdogodniejsza.
Podczas gdy konwencjonalna teoria sterowania opiera się na zależnościach
wejściowo-wyjściowych lub transmitancji to nowoczesna teoria sterowania opiera się na opisie układu
przy użyciu n równań różniczkowych pierwszego rzędu, które mogą być połączone w równania
różniczkowe wektorowo-macierzowe. Użycie notacji wektorowo-macierzowej wydatnie upraszcza
opis matematyczny układów modelowanych przy wykorzystaniu równań różniczkowych zwyczajnych
stacjonarnych.
Y (s) bm s m bm 1 s m 1
... b1 s b0
G (s) n n 1
(4)
U (s) s an 1s ... a1 s a0
Przykład 1
Dla układu opisanego następującym równaniem różniczkowym
dy 4 (t ) dy 3 (t ) dy 2 (t ) dy (t ) du (t )
7 17 17 6 y(t ) u (t ) (1.1)
dt 4 dt 3
dt 2
dt dt
zapisz transmitancję operatorową, a następnie wyznacz równania dynamiczne.
B =
1
0
0
0
C =
0 0 1 -1
D=
0
den1 =
1.0000 7.0000 17.0000 17.0000 6.0000
i prowadzi do tego samego równania jak w równaniu (8). Ważną własnością równania
charakterystycznego jest to, że jeśli współczynniki macierzy A są rzeczywiste to również
współczynniki równania (9) są rzeczywiste.
gdzie i , i = 1, 2,..., n, oznaczają wartości własne macierzy A, nazywany jest wektorem własnym
macierzy A i jest powiązany z wartością własną i . Jeśli macierz A ma różne wartości własne,
wówczas wektory własne mogą być wyznaczone bezpośrednio z równania (10).
Trzeba również zaznaczyć, że jeśli macierz A ma wielokrotne wartości własne i jest
niesymetryczna to wówczas nie wszystkie wektory własne mogą być znalezione poprzez zastosowanie
równania (10). Załóżmy, że pośród n wartości własnych macierzy A, q (< n) wartości własnych jest
jednokrotnych. Wektory własne, które odpowiadają q jednokrotnym wartościom własnych
wyznaczane są w zwykły sposób z zależności (10). Pośród pozostałych wartości własnych wyższego
rzędu, przyjmijmy, że j będzie m-tego rzędu m n q ; odpowiadające wektory własne mogą być
wyznaczone z m następujących równań wektorowych
( jI A)p n q 1 0
( jI A)p n q 2 p n-q 1
( jI A)p n q 3 p n-q 2 (11)
( jI A)p n q m p n-q m 1
Przykład 2
Dla macierzy A wyznacz wektory własne
7 17 17 6
1 0 0 0
A (2.1)
0 1 0 0
0 0 1 0
Rozwiązanie: Wartości własne macierzy A wyznacza się z zależności (9), natomiast wektory
własne dla wartości własnych jednokrotnych w oparciu o zależności (10) oraz dla wartości
własnych wielokrotnych w oparciu o zależność (11). W bibliotece MATLABA znajduje się
funkcja eig, która służy do wyznaczania zarówno wartości własnych jak i odpowiadających im
wektorów własnych dla dowolnej macierzy kwadratowej. Korzystając z tej funkcji i zapisując ją
dla macierzy (2.1) uzyskuje się
>> [PV, E]= eig( A)
PV =
-0.9429 0.8677 0.5000 -0.5000
0.3143 -0.4339 -0.5000 0.5000
-0.1048 0.2169 0.5000 -0.5000
0.0349 -0.1085 -0.5000 0.5000
E =
-3.0000 0 0 0
0 -2.0000 0 0
0 0 -1.0000 0
0 0 0 -1.0000
W macierzy E zawarte są wartości własne macierzy A, natomiast w macierzy PV kolumnami
odpowiadające im znormalizowane wektory własne.
W celu porównania uzyskanych wyników, przeprowadzone zostanie wyznaczenie wektorów
własnych według wzorów (10) oraz (11). Wartości własne macierzy A opisanej zależnością (2.1) są
następujące: 1 = 3, 2 = 2, 3 = 4 = 1. Macierz A ma wartość własną drugiego rzędu w –1.
Wektor własny powiązany z 1 = 3 wyznaczany jest w oparciu o równanie macierzowe (10)
4 17 17 6 p11
1 3 0 0 p 21
[ 1I A] p 1 0 (2.2)
0 1 3 0 p31
0 0 1 3 p 41
W układzie równań (2.2) znajdują się tylko trzy niezależne równania, arbitralnie przyjęty został
p41 = 1 i wyznaczone zostały pozostałe trzy składowe
27
9
p1 0 (2.3)
3
1
Wektor własny powiązany z 2 = 2 jest również wyznaczany w oparciu o równanie macierzowe (10)
5 17 17 6 p12
1 2 0 0 p 22
[ 2I A] p 2 0 (2.4)
0 1 2 0 p32
0 0 1 2 p 42
W układzie równań (2.4) również znajdują się tylko trzy niezależne równania, arbitralnie przyjęty
został p42 = 1 i wyznaczone zostały pozostałe trzy składowe
8
4
p2 0 (2.5)
2
1
1
1
p3 0 (2.7)
1
1
2
1
p4 0 (2.9)
0
1
Ostatecznie uzyskana macierz PV składająca się z wektorów własnych macierzy A
27 8 1 2
9 4 1 1
PV [p1 p 2 p3 p4 ] = (2.10)
3 2 1 0
1 1 1 1
Porównując macierz (2.10) ze znormalizowaną macierzą PV uzyskaną przy użyciu funkcji eig
z biblioteki MATLABA, widać pewne różnice w czwartej kolumnie, gdzie nie są zachowane proporcje
między współczynnikami. Okazuje się, że funkcja eig nie wyznacza poprawnych wektorów
własnych dla drugiej i wyższych krotności wielokrotnych wartości własnych.
Równania (5) i (6) mogą być przekształcone na inny zbiór równań o tym samym rozmiarze
przez następujące przekształcenie
x(t ) P x(t ) (12)
gdzie P jest macierzą nieosobliwą o rozmiarze n n , czyli
x(t ) P 1 x(t ) (13)
Transformowane równania stanu mogą być zapisane następująco
d x(t )
A x(t ) Bu (t ) (14)
dt
y (t ) Cx(t ) Du (t ) (15)
Wykonując obustronną różniczkę (pochodną) na równaniu (13) względem czasu t, otrzymuje się
d x(t ) 1 dx(t )
P P 1 Ax (t ) P 1Bu (t ) P 1 AP x(t ) P 1Bu (t ) (16)
dt dt
Porównując równanie (16) z (14) otrzymuje się
A P 1 AP (17)
B P 1B (18)
Wykorzystując równanie (12), wówczas równanie (13) można zapisać w postaci
y(t ) CPx (t ) Du(t ) (19)
Porównując równania (19) z (15) widać, że
C CP D D (20)
Opisana powyżej transformacja nazywana jest przekształceniem przez podobieństwo.
an 1 an 2 ... a1 1
an 2 an 3 ... 1 0
M ... ... ... .... ... (24)
a1 1 ... 0 0
1 0 ... 0 0
i wówczas
0 1 0 ... 0
0 0 1 ... 0
1
A P AP ... ... ... ... ... (25)
0 0 0 ... 1
an an 1 an 2 ... a1
0
0
1
B P B ... (26)
0
1
Przykład 3
Dokonaj przekształcenia do postaci kanonicznej sterowalności następujące macierze
zawierające współczynniki równań stanu (5)
7 17 17 6 1
1 0 0 0 0
A B C [0 0 1 1] D [0] (3.1)
0 1 0 0 0
0 0 1 0 0
Rozwiązanie: Równanie charakterystyczne macierzy A jest następujące
s 7 17 17 6
1 s 0 0
sI A s4 7s 3 17 s 2 17 s 6 0 (3.2)
0 1 s 0
0 0 1 s
a3 a2 a1 1 17 17 7 1
a2 a1 1 0 17 7 1 0
M = (3.3)
a1 1 0 0 7 1 0 0
1 0 0 0 1 0 0 0
Macierz sterowalności
1 7 32 122
0 1 7 32
S [B AB A 2 B A 3 B] = (3.4)
0 0 1 7
0 0 0 1
Ponieważ macierz S jest macierzą nieosobliwą, więc układ może być przekształcony do postaci
kanonicznej sterowalności. Podstawiając S oraz M do równania (22), otrzymuje się
0 0 0 1
0 0 1 0
P SM = (3.5)
0 1 0 0
1 0 0 0
Na podstawie równań (25) i (26) można przedstawić model (3.1) w postaci kanonicznej
sterowalności
0 1 0 0 0
0 0 1 0 0
A P 1 AP B P 1B C CP [ 1 1 0 0] (3.6)
0 0 0 1 0
6 17 17 7 1
co może być uzyskane jeśli znane są współczynniki równania charakterystycznego. Wyniki te
uzyskane zostały przy użyciu następującego kodu programu:
clear
A = [-7 -17 -17 -6; 1 0 0 0; 0 1 0 0; 0 0 1 0];
B = [ 1; 0; 0; 0];
C = [ 0 0 1 -1];
D = 0;
% num, den - licznik i mianownik transmitancji
[num, den] = ss2tf( A, B, C, D);
% a1, a2, a3, a4 - współczynniki równania charakterystycznego
a1 = den(2);
a2 = den(3);
a3 = den(4);
a4 = den(5);
M = [a3 a2 a1 1; a2 a1 1 0; a1 1 0 0; 1 0 0 0];
% S - macierz sterowalności
S = ctrb(A, B);
% WS - wyznacznik macierzy S
WS = det( S);
if WS ~= 0,
P = S*M;
Ac = inv(P)*A*P;
Bc = inv(P)*B;
Cc = C*P;
end;
0 0 ... 0 an
1 0 ... 0 an 1
1
A Q AQ 0 1 ... 0 an 2 (29)
... ... ... ... ...
0 0 ... 0 a1
C CQ [0 0 ... 0 1] (30)
Przykład 4
Współczynniki macierzy układu opisanego równaniami (5) i (6) są następujące
7 17 17 6 1
1 0 0 0 0
A B C [0 0 1 1] D [0] (4.1)
0 1 0 0 0
0 0 1 0 0
Z tego powodu, że macierz A jest identyczna do tej z przykładu 3 to również i macierz M
będzie taka sama jak (3.3). Macierz obserwowalności
C 0 0 1 1
CA 0 1 1 0
V 2
= (4.2)
CA 1 1 0 0
CA 3 8 17 17 6
Można pokazać, że macierz V jest nieosobliwa i dlatego układ może być przekształcony do
postaci kanonicznej obserwowalności. Podstawiając V i M do równania (31), otrzymuje się
macierz transformacji do postaci kanonicznej obserwowalności
0.0208 0.9792 6.0208 25.9792
1 0.0208 0.0208 0.9792 6.0208
Q (MV ) = (4.3)
0.0208 0.0208 0.0208 0.9792
0.0208 0.0208 0.0208 0.0208
Więc z równań (28) model (4.1) w postaci kanonicznej obserwowalności
0 0 0 6 1
1 0 0 17 1
A Q 1 AQ C CQ [0 0 0 1] B Q 1B (4.4)
0 1 0 17 0
0 0 1 7 0
Widać w (4.4), że macierze A i C są w postaci kanonicznej obserwowalności opisanej
odpowiednio równaniami (29) i (30) i macierz B nie ma określonej postaci. Wyniki te
uzyskane zostały przy użyciu następującego kodu programu:
clear
A = [-7 -17 -17 -6; 1 0 0 0; 0 1 0 0; 0 0 1 0];
B = [ 1; 0; 0; 0];
C = [ 0 0 1 -1];
D = 0;
% num, den - licznik i mianownik transmitancji
[num, den] = ss2tf( A, B, C, D)
% a0, a1, a2, a3, a4 - współczynniki równania charakterystycznego
a1 = den(2)
a2 = den(3)
a3 = den(4)
a4 = den(5)
M = [a3 a2 a1 1; a2 a1 1 0; a1 1 0 0; 1 0 0 0]
% V - macierz obserwowalności
V = obsv(A, C)
% WV - wyznacznik macierzy V
WV = det( V)
if WV ~= 0
Q = inv( M*V)
Ao = inv(Q)*A*Q
Co = C*Q
Bo = inv(Q)*B
end;
Macierz transformacji T równań stanu do diagonalnej postaci kanonicznej może być utworzona
przez zastosowanie wektorów własnych macierzy A jako jej kolumn, czyli.
T [p1 p2 p3 ... p n ] (36)
gdzie p i , i = 1, 2,..., n, oznacza wektor własny powiązany z wartością własną i. W macierzy (36)
i-ty wektor własny p i jest równy i-tej kolumnie.
Przykład 5
Rozważ macierz równania dynamiczne postaci (5.1) i wyznacz postać kanoniczną diagonalną.
0 1 0 1
A 0 0 1 B 0 C [0 0 1] D [0] (5.2)
6 11 6 0
1
1 0 0 0
0 1
1 0 0
A = 0 0 1
0 0 (37)
0 0 0 2
0
0 0 0 0 3
w której założono, że macierz A posiada wartość własną trzeciego rzędu 1 i jednokrotne wartości
własne 2 i 3 .
Postać kanoniczna Jordana ma następujące własności.
1. Elementy na głównej przekątnej są wartościami własnymi.
2. Wszystkie elementy poniżej głównej przekątnej są równe zero.
3. Pewne elementy powyżej wielokrotnych wartości własnych znajdujących się na głównej
przekątnej są równe 1, jak pokazano to w macierzy (37).
4. Jedynki, razem z wartościami własnymi tworzą tzw. ramkę Jordana. Jak pokazano to
w macierzy (37), ramka Jordana oznaczona została linią przerywaną.
5. Liczba ramek Jordana jest równa liczbie r niezależnych wektorów własnych.
6. Liczba jedynek powyżej głównej przekątnej jest równa n r.
Aby wykonać przekształcenie równań stanu do postaci kanonicznej Jordana, macierz T jest
formowana poprzez zastosowanie wektorów własnych jako jego kolumn.
Przykład 6
Dla macierzy opisanej równaniem (2.1), dokonaj przekształcenia do postaci diagonalnej.
Rozwiązanie: W przykładzie 2 wyznaczone zostały wartości własne i wektory własne, które
zostały zebrane w postaci macierzy P opisanej wzorem (2.10), które posłużą do utworzenia
macierzy T.
27 8 1 2
9 4 1 1
T PV [p1 p 2 p3 p4 ] = (6.1)
3 2 1 0
1 1 1 1
Uzyskana postać diagonalna
3 0 0 0
0 2 0 0
A T 1 AT (6.2)
0 0 1 1
0 0 0 1
dla macierzy posiadającej pierwiastki wielokrotne nosi nazwę postaci diagonalnej Jordana.
ĆWICZENIA W MATLABIE
M1. Poniższe równania różniczkowe opisują układy liniowe stacjonarne. Zapisz równania
dynamiczne (równania stanu i równania wyjścia) w postaci wektorowo-macierzowej.
d 4 y (t ) d 3 y (t ) dy (t )
a) 2 3 y (t ) 2u (t )
dt 4 dt 3 dt
d 3 y (t ) d 2 y (t ) dy (t ) du (t )
b) 2 5 6 y (t ) 3 6u (t )
dt 3 dt 2 dt dt
d 4 y (t ) d 2 y (t ) dy (t ) du (t )
c) 10 5 y (t ) 5
dt 4 dt 2 dt dt
d 3 y (t ) d 2 y (t ) dy (t ) d 2 u (t ) du (t )
d) 7 12 3 19 36u (t )
dt 3 dt 2
dt dt 2
dt
d 3 y (t ) d 2 y (t ) dy (t ) d 2 u (t ) du (t )
e) 4 4 4 10 8u (t )
dt 3 dt 2 dt dt 2
dt
d 3 y (t ) d 2 y (t ) dy (t ) d 2 u (t ) du (t )
f) 4 8 3 16 8u (t )
dt 3 dt 2 dt dt 2
dt
t
d 3 y(t ) d 2 y(t ) dy(t )
g) 2 5 3 y(t ) y ( )d u (t )
dt 3 dt 2 dt 0
t
d 3 y(t ) d 2 y(t ) dy(t ) du(t )
h) 10 2 y(t ) 2 y( )d 2u (t )
dt 3 dt 2 dt 0
dt
.
d) x1 (t ) 2 x 2 (t )
.
x 2 (t ) x1 (t ) 2 x 2 (t ) u (t )
.
x3 (t ) x1 (t ) x3 (t ) u (t )
y(t ) x1 (t ) x3 (t )
.
e) x1 (t ) 2 x 2 (t ) u (t )
.
x 2 (t ) x1 (t ) 2 x 2 (t ) u (t )
.
x3 (t ) x1 (t ) x 2 (t ) x3 (t )
y(t ) x1 (t ) x3 (t )
.
f) x1 (t ) 2 x1 (t ) x 2 (t ) u (t )
.
x 2 (t ) 2 x 2 (t ) u (t )
.
x3 (t ) x1 (t ) 2 x2 (t ) 3 x3 (t ) u(t )
y (t ) x1 (t )
.
g) x1 (t ) x1 (t ) x 2 (t )
.
x2 (t ) x 2 (t ) x3 (t ) u(t )
.
x3 (t ) x3 (t ) u (t )
y(t ) x1 (t ) x3 (t )
.
h) x1 (t ) x2 (t )
.
x 2 (t ) x3 (t )
.
x3 (t ) x1 (t ) 2 x2 (t ) 3 x3 (t ) u(t )
y (t ) x1 (t )
.
i) x1 (t ) x2 (t )
.
x 2 (t ) x3 (t )
.
x3 (t ) x 2 (t ) 2 x3 (t ) u (t )
y(t ) x1 (t ) x2 (t )
.
j) x1 (t ) x2 (t )
.
x 2 (t ) x3 (t )
.
x3 (t ) x1 (t ) 2 x2 (t ) 3 x3 (t ) u(t )
y(t ) x1 (t ) x2 (t )
.
k) x1 (t ) 5 x1 (t ) x 2 (t )
.
x 2 (t ) 5 x 2 (t ) x3 (t )
.
x3 (t ) 5 x3 (t ) u(t )
y(t ) x2 (t ) x3 (t )
.
l) x1 (t ) 3 x1 (t ) 2 x2 (t )
.
x2 (t ) x1 (t ) x3 (t )
.
x3 (t ) 2 x1 (t ) 3 x 2 (t ) 4 x3 (t ) u(t )
y(t ) x1 (t ) x2 (t ) x3 (t )
M3. Dla układów opisanych w zadaniu M2, Znajdź przekształcenie x(t ) P x(t ) , które zamienia
równania stanu w postać kanoniczną sterowalności.
M4. Dla układów opisanych w zadaniu M2, znajdź przekształcenie x(t ) Qx(t ) , które transformuje
równania stanu do postaci kanonicznej obserwowalności.
M5. Dla układów opisanych w zadaniu M2, znajdź przekształcenie x(t ) Tx(t ) , które transformuje
równania stanu do postaci kanonicznej diagonalnej, jeśli są pierwiastki jednokrotne lub do postaci
kanonicznej Jordana, jeśli są to pierwiastki wielokrotne.
1 0 0 0.5 1 3
h) P 0 1 0 d) Q 0.5 1.5 4
0 0 1 0.5 1 2
M5.
0.7071 0.7071
a) T PV
0.7071 0.7071
0.866 0.866
b) T PV =
0.144 j 0.479 0.144 j 0.479
2 1
c) T PV =
1 1
0 0.5591 0.8255
d) T PV 0 0.7637 0.3022
1 0.3228 0.4766
0 0.5861 0.7546
e) T PV 0 0.8007 0.2762
1 0.1239 0.5952
0 1 1
f) T PV 0 0 1
1 1 0
g) Macierz A jest już w postaci kanonicznej Jordana
0.7810 j 0.0956 0.7810 j 0.0956 0.1676
h) T PV 0.2100 j 0.4714 0.2100 j 0.4714 0.3896
0.1942 j 0.2772 0.1942 j 0.2772 0.9056
1 1 1
i) T PV 0 1 0
0 1 1
0.7810 j 0.0956 0.7810 j 0.0956 0.1676
j) T PV 0.2100 j 0.4714 0.2100 j 0.4714 0.3896
0.1942 j 0.2772 0.1942 j 0.2772 0.9056
k) Macierz A jest już w postaci kanonicznej Jordana
0.4449 j 0.0248 0.4449 j 0.0248 0.2889
l) T PV 0.3238 j 0.4059 0.3238 j 0.4059 0.1596
0.7292 0.7292 0.9440
LITERATURA
1. Dorf R.C., Bishop R.H. Modern Control Systems. Addison-Wesley Longman, 1998.
2. Hostetter, C.J. Savant, R.T. Stefani R.T. Design of Feedback Control Systems, Saunders College
Publishing, 1989.
3. Kuo B. C. Automatic Control of Dynamic Systems, 7th ed, Addison-Wesley & Sons Inc., 1995.
4. Ogata K., Modern Control Engineering, Prentice Hall,2002.