Jacek Kabziński
Automatyka i sterowanie
————————————————————————————————————————
2
Automatyka i sterowanie 15 Obserwatory zmiennych stanu
Układy czasu ciągłego i dyskretnego
Obserwator pełnego rzędu:
Rozważać będziemy opis układu w postaci:
(a)
równanie st
d
x( t ) Ax( t ) Bu( t )
dt
y(
anu
równan
t ) C
ie w
x( t )
yjścia
=
+
=
x(t) – wektor zmiennych stanu o wymiarze nx1,
u(t) – wektor wejść/sterowań o wymiarze rx1
y(t) – wektor wyjść o wymiarze mx1
Szukamy obserwatora - układu
(b)
e
d
ˆ
ˆ
x( t ) Fx( t ) Hu( t ) K y( t )
dt
=
+
+
,
który zapewni
0
t
ˆ
lime( t )
e( t ) x( t ) x( t )
→∞
=
=
−
niezależnie od warunków początkowych.
3
Automatyka i sterowanie 15 Obserwatory zmiennych stanu
Układy czasu ciągłego i dyskretnego
Dobrym pomysłem będzie zbudowanie takiego układu (b), w którym transmitancja będzie taka sama jak
w układzie (a), czyli
(
)
1
ˆX( s )
sI
A
BU( s )
−
=
−
e
ˆ
ˆ
sX ( s ) FX ( t ) HU( s ) K Y ( s )
=
+
+
e
ˆ
ˆ
sX ( s ) FX ( t ) HU( s ) K CX ( s )
=
+
+
(
)
e
ˆ
sI F X ( s ) HU( s ) K CX ( s )
−
=
+
(
)
[
]
1
e
ˆX( s )
sI F
HU( s ) K CX ( s )
−
=
−
+
(
)
(
)
1
1
e
ˆX( s )
sI F
H K C sI
A
B U( s )
−
−
⎡
⎤
=
−
+
−
⎣
⎦
(
)
(
)
(
)
1
1
1
e
sI
A
B
sI F
H K C sI
A
B
−
−
−
⎡
⎤
−
=
−
+
−
⎣
⎦
(
)
(
)
(
)
1
1
1
e
I
sI F
K C sI
A
B
sI F
H
−
−
−
⎡
⎤
−
−
−
=
−
⎣
⎦
4
Automatyka i sterowanie 15 Obserwatory zmiennych stanu
Układy czasu ciągłego i dyskretnego
(
) (
)
(
)
(
)
1
1
1
e
sI F
sI F
K C sI
A
B
sI F
H
−
−
−
−
⎡
−
−
⎤
−
=
−
⎣
⎦
[
]
(
)
1
e
sI F K C sI
A
B H
−
− −
−
=
(
)
(
)
1
e
sI
F K C
sI
A
I
B H
−
⎡
⎤
−
+
−
=
=
⎣
⎦
(
)
e
F K C
A
B H
+
=
=
e
F
A K C
H
B
= −
=
Równaniem obserwatora jest więc
(
)
e
e
d
ˆ
ˆ
x( t )
A K C x( t ) Bu( t ) K y( t )
dt
=
−
+
+
lub inaczej:
(
)
e
d
ˆ
ˆ
ˆ
x( t ) Ax( t ) Bu( t ) K y( t ) Cx( t )
dt
=
+
+
−
Model układu
Sprzężenie od różnicy wyjść układu i modelu
5
Automatyka i sterowanie 15 Obserwatory zmiennych stanu
Układy czasu ciągłego i dyskretnego
(
)
e
e
d
ˆ
ˆ
x( t )
A K C x( t ) Bu( t ) K y( t )
dt
=
−
+
+
odejmujemy od
d
x( t ) Ax( t ) Bu( t )
dt
=
+
(
)
(
)
(
)
e
e( t )
d
ˆ
ˆ
ˆ
x( t ) x( t )
A x( t ) x( t )
K C x( t ) x( t )
dt
−
=
−
−
−
(
)
e
d
e( t )
A K C e( t )
dt
=
−
Warunkiem koniecznym działania obserwatora jest by macierz
(
)
e
A K C
−
była stabilna, a
dostatecznym by estymacja była szybka by wartości własne
(
)
e
A K C
−
leżały bardziej na lewo (2-4
razy) niż wartości własne A. Wartości własne
(
)
e
A K C
−
są takie same jak wartości własne
(
)
T
T
T
T
e
e
A K C
A
C K
−
=
−
. Macierz
T
e
K
musi być tak zaprojektowana by przesunąć wartości
6
Automatyka i sterowanie 15 Obserwatory zmiennych stanu
Układy czasu ciągłego i dyskretnego
własne w układzie
(
)
T
T
A ,C
w zadane położenia. Więc:
1. Sterowalność pary
(
)
T
T
A ,C
jest konieczna dla rozwiązania tego zadania, czyli obserwowalność pary
(
)
C,A
jest konieczna dla zaprojektowania obserwatora.
2.
T
e
K
można wyznaczyć z formuły Ackermana
[
]
( )
1
1
0 0
1
n
T
T
T
T
T
T
T
e
c
n
K
C
A C
A
C
M ( A )
−
−
⎡
⎤
=
⎢
⎥
⎣
⎦
"
"
7
Automatyka i sterowanie 15 Obserwatory zmiennych stanu
Układy czasu ciągłego i dyskretnego
1
1
0
0
1
e
c
n
C
CA
K
M ( A )
CA
−
−
⎡
⎤ ⎡ ⎤
⎢
⎥ ⎢ ⎥
⎢
⎥ ⎢ ⎥
=
⎢
⎥ ⎢ ⎥
⎢
⎥ ⎢ ⎥
⎣
⎦ ⎣ ⎦
"
#
Uwaga:
Zakładaliśmy idealną znajomość parametrów modelu obiektu!
Pominęliśmy zakłócenia:
8
Automatyka i sterowanie 15 Obserwatory zmiennych stanu
Układy czasu ciągłego i dyskretnego
d
d
x( t ) Ax( t ) Bu( t ) B d( t )
dt
y( t ) Cx( t ) n( t )
=
+
+
=
+
da
(
)
e
d
e
d
e( t )
A K C e( t ) B d( t ) K n( t )
dt
=
−
+
−
jak widać macierz
e
K
wzmacnia szum pomiarowy, powinna więc być jak „najmniejsza”. Z drugiej
strony im większa
e
K
tym szybsza estymacje można uzyskać i tym mniejszy bład ustalony
wprowadzany przez zakłócenie d(t).
9
Automatyka i sterowanie 15 Obserwatory zmiennych stanu
Układy czasu ciągłego i dyskretnego
Połączmy teraz obserwator z problemem
przesuwania biegunów:
ˆ
u( t )
Kx( t )
= −
.
Otrzymaliśmy układ stopnia 2n. Jakie
będą jego bieguny?
[
]
d
ˆ
x( t ) Ax( t ) BKx( t )
dt
d
x( t ) Ax( t ) BK x( t ) e( t )
dt
=
−
=
−
−
(
)
e
d
e( t )
A K C e( t )
dt
=
−
10
Automatyka i sterowanie 15 Obserwatory zmiennych stanu
Układy czasu ciągłego i dyskretnego
0
e
A BK
BK
x( t )
x( t )
d
A K C
e( t )
e( t )
dt
−
⎡
⎤
⎡
⎤
⎡
⎤
= ⎢
⎥
⎢
⎥
⎢
⎥
−
⎣
⎦
⎣
⎦
⎣
⎦
wielomianem charakterystycznym jest
(
)
(
)
e
det sI
A BK det sI
A K C
⎡
⎤
⎡ −
−
⎤
−
−
⎣
⎦
⎣
⎦
Takie same wartości własne będzie miał układ równań
d
ˆ
x( t ) Ax( t ) BKx( t )
dt
=
−
(
)
(
)
e
e
e
e
d
ˆ
ˆ
ˆ
ˆ
x( t )
A K C x( t ) Bu( t ) K y( t )
A K C x( t ) BKx( t ) K Cx( t )
dt
=
−
+
+
=
−
−
+
e
e
A
BK
x( t )
x( t )
d
ˆ
ˆ
K C A BK K C
x( t )
x( t )
dt
−
⎡
⎤
⎡
⎤
⎡
⎤
= ⎢
⎥
⎢
⎥
⎢
⎥
−
−
⎣
⎦
⎣
⎦
⎣
⎦
, bo
0
x( t )
I
x( t )
ˆx( t )
I
I
e( t )
⎡
⎤ ⎡
⎤ ⎡
⎤
=
⎢
⎥ ⎢
⎥ ⎢
⎥
−
⎣
⎦ ⎣
⎦ ⎣
⎦
,
11
Automatyka i sterowanie 15 Obserwatory zmiennych stanu
Układy czasu ciągłego i dyskretnego
czyli układ możemy projektować niezależnie
(
)
(
)
e
det sI
A BK det sI
A K C
⎡
⎤
⎡ −
−
⎤
−
−
⎣
⎦
⎣
⎦
wartości własne odpowiadające za regulację wektora stanu x(t)
wartości własne odpowiadające za dynamikę wektora stanu obserwatora
ˆx( t )
Regulator+obserwator można przedstawić w postaci transmitancji:
(
)
e
e
d
ˆ
ˆ
ˆ
x( t )
A K C x( t ) BKx( t ) K y( t )
dt
=
−
−
+
(
)
e
e
d
ˆ
ˆ
x( t )
A K C BK x( t ) K y( t )
dt
=
−
−
+
(
)
1
e
ˆX( s )
sI
A K C BK
Y ( s )
−
=
− +
+
12
Automatyka i sterowanie 15 Obserwatory zmiennych stanu
Układy czasu ciągłego i dyskretnego
(
)
1
e
U( s )
K sI
A K C BK
Y ( s )
−
= −
− +
+
13
Automatyka i sterowanie 15 Obserwatory zmiennych stanu
Układy czasu ciągłego i dyskretnego
Obserwator zredukowany
Odtwarzaliśmy wszystkie zmienne stanu, choć pełna informacja o części z nich była w równaniu wyjścia:
równanie st
d
x( t ) Ax( t ) Bu( t )
dt
y(
anu
równan
t ) C
ie w
x( t )
yjścia
=
+
=
Możemy odtwarzać tylko niedostępne zmienne stanu – obserwator będzie układem niższego rzędu.
Jeśli na przykład
14
Automatyka i sterowanie 15 Obserwatory zmiennych stanu
Układy czasu ciągłego i dyskretnego
[
]
1
1
11
1
1
1
1
1 0
0
e
e
e
e
ee
e
e
x ( t )
x( t )
x ( t )
x ( t )
a
A
x ( t )
b ( t )
d
u( t )
x ( t )
A
A
x ( t )
B ( t
równanie stanu
równanie wyjścia
)
dt
y( t ) Cx( t )
x( t )
⎡
⎤
= ⎢
⎥
⎣
⎦
⎡
⎤ ⎡
⎤ ⎡
⎤ ⎡
⎤
=
+
⎢
⎥ ⎢
⎥ ⎢
⎥ ⎢
⎥
⎣
⎦ ⎣
⎦ ⎣
⎦ ⎣
⎦
=
=
"
,
to można wyprowadzić
równania obserwatora:
(
)
(
)
(
)
1
1
1
1
1
11
1
1
e
e
e
e
ee
e
e
e
e
e
ee
e
e
e
e
e
e
ˆ
ˆ
x ( t ) x ( t ) K y( t )
d
ˆ
ˆ
x ( t )
A
K A x ( t )
A
K a
A K
K A K y( t )
B
K b u( t )
dt
=
−
=
−
+
−
+
−
+
−
15
Automatyka i sterowanie 15 Obserwatory zmiennych stanu
Układy czasu ciągłego i dyskretnego
1
1
1
2
1
0
0
1
e
e
ee
e
c
ee
n
e
ee
A
A A
K
M ( A )
A A
−
−
⎡
⎤ ⎡ ⎤
⎢
⎥ ⎢ ⎥
⎢
⎥ ⎢ ⎥
=
⎢
⎥ ⎢ ⎥
⎢
⎥ ⎢ ⎥
⎣ ⎦
⎣
⎦
"
#
i regulatora:
[
]
1
1
2
e
x ( t )
u( t )
k
K
ˆx ( t )
⎡
⎤
= −
⎢
⎥
⎣
⎦
16
Automatyka i sterowanie 15 Obserwatory zmiennych stanu
Układy czasu ciągłego i dyskretnego
Obserwator zakłóceń:
d
x( t ) Ax( t ) Bu( t ) Bd
dt
y( t ) Cx( t )
=
+
+
=
0
d
x( t ) Ax( t ) Bu( t ) Bd
dt
d
d( t )
dt
=
+
+
=
[
]
0
0
0
0
x( t )
A B
x( t )
B
d
u( t )
d( t )
d( t )
dt
x( t )
y( t )
C
d( t )
⎡
⎤ ⎡
⎤ ⎡
⎤ ⎡ ⎤
=
+
⎢
⎥ ⎢
⎥ ⎢
⎥ ⎢ ⎥
⎣
⎦ ⎣
⎦ ⎣
⎦ ⎣ ⎦
⎡
⎤
=
⎢
⎥
⎣
⎦
warunkiem jest obserwowalność pary
[
]
0
0 0
A B
C
,
⎛
⎞
⎡
⎤
⎜
⎟
⎢
⎥
⎣
⎦
⎝
⎠
17
Automatyka i sterowanie 15 Obserwatory zmiennych stanu
Układy czasu ciągłego i dyskretnego
(
)
[
]
0 0
0
1
e
d
e
ˆ
ˆ
x( t )
x( t )
K
A B
B
d
ˆ
u( t )
y( t ) Cx( t )
ˆ
ˆ
K
dt d( t )
d( t )
ˆx( t )
u( t )
K
ˆd( t )
⎡
⎤
⎡
⎤
⎡
⎤
⎡
⎤
⎡ ⎤
=
+
−
−
⎢
⎥
⎢
⎥
⎢
⎥
⎢
⎥
⎢ ⎥
⎣
⎦
⎣ ⎦
⎣
⎦
⎣
⎦
⎣
⎦
⎡
⎤
= −
⎢
⎥
⎣
⎦
CAŁKOWANIE!!