S
TEROWANIE
R
OBOTAMI
C
WICZENIA
L
ABORATORYJNE NR
7
O
BLICZENIA W PRZESTRZENI STANU
Akademia Górniczo – Hutnicza w Krakowie
Laboratorium nr 7 – Obliczenia w przestrzeni stanu
Cwiczenia – czesc pierwsza
Cwiczenie 1
Dany jest plik regulator.m, w którym zaprojektowany zostal regulator i obserwator dla ukladu danego funkcja
przejscia G(s) = 1 / s (s+ 1) (0.2s + 1
regulator.m
% regulator
numG = 1;
denG = conv ( conv ( [ 1 0 ], [ 1 1 ] ), [ 0.2 1 ] );
% przejscie do przestrzeni stanu.
[ Ag, Bg, Cg, Dg ] = tf2ss ( numG, denG );
% wyliczenie biegunów dla ukladu drugiego rzedu.
damping = 0.707;
wn = 3;
[ num2, den2 ] = ord2 (wn, damping);
% definicja zadanych biegunów (zawieraja bieguny ukladu drugiego rzedu).
dominant = roots(den2);
desiredpoles = [dominant' 10 * real( dominant(1) ) ];
% obliczenie wzmocnienia regulatora K.
K = acker (Ag, Bg, desiredpoles);
% macierze stanu dla ukladu zamknietego.
Asf = Ag – Bg * K; Bsf = Bg; Csf = Cg; Dsf = 0;
[numsf, densf] = ss2tf (Asf, Bsf, Csf, Dsf);
% definicja biegunów obserwatora jako 10 razy szybszych niz w regulatorze.
observerpoles = 10 * desiredpoles;
% obliczenie wzmocnienia obserwatora L.
L = acker (Ag', Cg', observerpoles);
% macierze stanu dla ukladu z regulatorem i obserwatorem.
Areg = [ (Ag – Bg * K) Bg * K; zeros( size(Ag) ) (Ag - L' * Cg) ];
Breg = [ Bg; zeros( size(Bg) ) ];
Creg = [ Cg zeros ( size(Cg) ) ];
Dreg = 0;
[numreg, denreg] = ss2tf ( Areg, Breg, Creg, Dreg );
damp (denreg);
a.
Zalózmy, ze chcemy, aby uklad z zamknieta petla sprzezenia zwrotnego mial dominujace bieguny ukladu
drugiego rzedu o wspólczynniku tlumienia 0.707 i czestosci drgan wlasnych 3. Aby upewnic sie, ze dwa
wybrane bieguny sa dominujace trzeci biegun powinien miec czesc rzeczywista 20 razy od nich mniejsza.
Wylicz wzmocnienie regulatora K. Porównaj je z wartoscia otrzymana w pliku regulator.m. Porównaj
dynamike nowego i starego ukladu wytlumacz powstale róznice.
b. Powtórz czesc a. zakladajac, ze trzeci biegun bedzie tylko cztery razy szybszy od dominujacych.
c.
Niech trzeci biegun bedzie 10 razy szybszy od dominujacych tak jak w regulator.m. Jednakze, zalózmy
teraz, ze bieguny obserwatora sa 20-krotnie szybsze od biegunów ukladu zamknietego. Wylicz wzmocnienie
obserwatora L. Porównaj je z wartoscia otrzymana w pliku regulator.m. Porównaj dynamike nowego i
starego ukladu wytlumacz powstale róznice.
d. Powtórz czesc c. zakladajac, ze bieguny obserwatora beda cztery razy szybsze od biegunów ukladu
zamknietego.
e.
Zaczynajac od wartosci z regulator.m sprawdz jaka maksymalna czestosc drgan wlasnych mozna osiagnac
zakladajac, ze elementy wektora K beda mniejsze lub rózne 10?
f.
Powtórz czesc e tylko teraz jedynym ograniczeniem bedzie tlumienie nie mniejsze niz 0.5
Cwiczenie 2
a.
Sprawdz czy uklady dane ponizej sa sterowalne i obserwowalne:
[
]
[
]
x
y
u
x
x
ii
x
y
u
x
x
i
0
0
1
,
1
0
1
3
4
2
0
0
0
0
0
1
)
(
0
3
1
,
0
0
1
20
25
0
16
2
0
3
4
1
)
(
=
−
−
+
−
−
−
=
−
=
−
+
−
−
=
&
&
b. dla kazdego z ukladów z czesci a sprawdz, które wejscia sa sterowalne, a które nie i które wyjscia sa
obserwowalne, a które nie. (rank, canon, ctrb, ctrbf, obsv, obsvf),
c.
dla kazdego z ukladów z czesci a, zakladajac, ze zmienne stanu sa dostepne w petli sprzezenia zwrotnego,
sprawdz czy da sie zaprojektowac regulator, który ustabilizuje uklad,
d. dla kazdego z ukladów z czesci a, zakladajac, ze zmienne stanu nie sa dostepne w petli sprzezenia
zwrotnego, sprawdz czy da sie zaprojektowac regulator, który ustabilizuje uklad.
Cwiczenie 3
Dany jest plik modalform.m
modalform.m
% modalform
% Zapis równan stanu w formie modalnej.
A = [-5 -2; -3 0];
B = [1; -3];
C = [1 -1];
D = 0;
[Am, Bm, Cm, Dm] = canon (A,B,C,D, 'modal');
Zakladajac, ze zmienne stanu sa dostepne w petli sprzezenia zwrotnego, zaprojektuj regulator, który ustabilizuje
uklad dany macierzami A, B, C, D.
Cwiczenie 4
rys.1 schemat ukladu regulacji z pliku regulator.m
W przykladzie regulator.m uchyb ustalony ukladu zostal zlikwidowany, przez przemnozenie sygnalu
wejsciowego przez ustalone wzmocnienie. Nie jest to zbyt wiarygodna metoda, gdyz wymaga doskonalej
znajomosci ukladu. Znacznie lepszym sposobem jest dodanie regulatora calkujacego. Zakladajac, ze zmienne
stanu sa dostepne w petli sprzezenia zwrotnego (dla przykladu regulator.m) zaprojektuj regulator z czlonem
calkujacym, który spelni zakladane zadania (tlumienie 0.707 i czestosc drgan wlasnych 3) i zapewni zerowa
wartosc uchybu.
[Podpowiedz: Scalkuj uchyb ustalony e
I
(t) gdzie e
1
(t) = r(t) - y(t).Niech x
N
bedzie nowa zmienna stanu
odpowiadajaca wyjsciu z integratora, tzn. x
N
(t) = e
1
(t). Wprowadz nowa zmienna do równan stanu ukladu
zamknietego powiekszajac wektor stanu
N
x
x
Niech
[
]
−
=
−
−
=
N
I
N
I
x
x
K
K
x
K
Kx
t
u )
(
gdzie K jest wzmocnieniem regulatora, jak poprzednio, a K
I
jest wzmocnieniem integratora.]