Remind
Observability : output과 input을 알고 있을 때, 시스템의 state을 estimate할 수 있는지 여부
1. Definition of Observability
Definition :Definition :
˙x(t)=Ax(t)+Bu(t)˙x(t)=Ax(t)+Bu(t)
y(t)=Cx(t)+Du(t),A∈Rn×n,C∈Rr×ny(t)=Cx(t)+Du(t),A∈Rn×n,C∈Rr×n
The LTI continuous time system is said to be observable if, The LTI continuous time system is said to be observable if,
for any initial state x(0)=x0for any initial state x(0)=x0
there exists a finite time t1>0 such that knowledge of the input and output time functions there exists a finite time t1>0 such that knowledge of the input and output time functions
{u(t);t∈[0,t1]}{u(t);t∈[0,t1]}
{u(t);t∈[0,t1]}{u(t);t∈[0,t1]}
is sufficient t determine the initial state x0is sufficient t determine the initial state x0
정의 자체는 복잡해보이지만, 간단하게 생각하면 0에서 N(finite integer)까지의 input, output sequence를 알고 있을 때 그 정보가 initial state를 알기에 충분하다면 이 시스템은 observable합니다. 우리가 알 수 있는 것은 input, output이기 때문에 output과 state 간의 관계를 아는 것이 중요하고, 따라서 CC matrix가 이 시스템의 observability에 중요한 역할을 합니다.
2. Observability theorem
(controllability theorem과 거의 동일함)
(a). The LTI discrete time system of order n(a). The LTI discrete time system of order n
x(k+1)=Ax(k)+Bu(k)x(k+1)=Ax(k)+Bu(k)
y(k)=Cx(k)+Du(k)y(k)=Cx(k)+Du(k)
is observable. is observable.
(b). The observability grammian (b). The observability grammian
Wo(k1)=∑k1k=0(AT)kCTCAk=CTC+(CA)TCA+⋯+(CAk1)TCAk1Wo(k1)=∑k1k=0(AT)kCTCAk=CTC+(CA)TCA+⋯+(CAk1)TCAk1
is positive definite, for some finite integer k1is positive definite, for some finite integer k1
(c). The observability matrix (c). The observability matrix
Q=[CCA⋮CAn−1]nr×nQ=⎡⎢ ⎢ ⎢ ⎢⎣CCA⋮CAn−1⎤⎥ ⎥ ⎥ ⎥⎦nr×n
is rank n.(i.e. there ae n linearly independent rows)is rank n.(i.e. there ae n linearly independent rows)
Proof : Proof :
증명을 하기 전에 참고해야할 부분이 있습니다.
DT LTI system 식에서 output은 free response와 forced response(input으로 인한 response)의 합임을 알고 있습니다.
y(k)=yfree(k)+yforced(k)y(k)=yfree(k)+yforced(k)
forced response의 경우 A,B,C,D matrix를 알고 input을 알고 있다면 계산해서 구할 수 있습니다.
yforced(k)=C∑k−1j=0Ak−1−jBu(j)+Du(j)yforced(k)=C∑k−1j=0Ak−1−jBu(j)+Du(j)
그러나 free response는 처음 state를 모르면, 알 수가 없습니다.
y(k)=CAkx(0)y(k)=CAkx(0)
free response는 직접적으로 x(0)x(0)에 의존하기 때문에 force response yforcedyforced는 신경쓰지 않기 위해
u(k)=0, ∀k≥0u(k)=0, ∀k≥0 라고 가정하고 증명을 하도록 하겠습니다.
(c)→(b)(c)→(b)

(b)→(a)(b)→(a)

(b)→(c)(b)→(c)

(a)→(b)(a)→(b)

3. Observability theorem comment
위의 observability theorem을 통해 알 수 있는 것
1. DT LTI system of order n일 때, initial state을 estimate하기 위해서는 n개의 output sequence를 관찰한 후에 가능하다. 대신 n번째 이 전의 모든 state를 알 수 있다.
x(0)=QTQQTYx(0)=QTQQTY
x(k)=Akx(0)x(k)=Akx(0)
2. controllability theorem에서와 마찬가지로 degree of observability는 observability theorem으로는 알 수 없다.
3. observable canonical form
ddt[x1x2x3]=[−a210−a101−a000][b2b1b0]uddt⎡⎢⎣x1x2x3⎤⎥⎦=⎡⎢⎣−a210−a101−a000⎤⎥⎦⎡⎢⎣b2b1b0⎤⎥⎦u
y=[100][x1x2x3]y=[100]⎡⎢⎣x1x2x3⎤⎥⎦
A=[−a210−a101−a000]A=⎡⎢⎣−a210−a101−a000⎤⎥⎦
C=[100]C=[100]
Q=[CCACA2]=[100−a210(−a1+a22)−a21]Q=⎡⎢⎣CCACA2⎤⎥⎦=⎡⎢⎣100−a210(−a1+a22)−a21⎤⎥⎦
a0,a1,a2에 관계없이 항상 full rank입니다.
이 결과는 arbitrary order n에도 일반화할 수 있다고 합니다.
n=4이면
A=[−a3100−a2010−a1001−a0000]
4. observability와 controllability는 duality를 가집니다.
The pair {A,B} is controllable if and only if the pair {AT,CT} is observable.
4. Observability results
controllability와 마찬가지로 grammian을 이용해 Lyapunov equation처럼 유도할 수 있습니다.
이를 통해 observability grammian이 positive definite인지 판별할 수 있습니다.
Wo=limk1→∞Wo(k1)=∑∞k=0(AT)kCTCAk
왼쪽에 AT를 곱하고, 오른쪽에 A를 곱합니다.
ATWoA−Wo=ATCTCA+(AT)2CTCAk+⋯
Wo=CTC+ATCTCA+⋯
ATWoA−Wo=−CTC
이 식은 Discrete time에서의 Lyapunov equation과 똑같습니다.
A가 Hurwitz이면, 위의 Lyapunov equation의 solution Wo을 구할 수 있습니다. 또한 이렇게 구한 Wo는 positive definite입니다.
Wo이 positive definite이면 system은 observable합니다.
어떤 시스템이 observable한지 궁금하다면 위의 Lyapunov equation을 풀어봄으로써 observable한지 알 수 있습니다.
지금까지는 discrete time에 대해서 공부했으므로 다음에는 continuous time에 대한 controllability, observability에 대해 다뤄보겠습니다.
'연구 Research > 제어 Control' 카테고리의 다른 글
[고등자동제어] Observability in Continuous time (0) | 2021.02.25 |
---|---|
[고등자동제어] Controllability in Continuous time (0) | 2021.02.25 |
[고등자동제어] Controllability in discrete time (0) | 2021.02.22 |
[고등자동제어] Lyapunov stability in Discrete Time (0) | 2021.02.17 |
[제어] Dynamic programming - Richard Bellman (0) | 2021.02.10 |