Lecture 상태 변수 추정기 (관측기)

Lecture • Views 508 • Comments 0 • Last Updated at 11 months ago  
  • 상태변수 추정기
  • 상태방정식을 이용한 제어기 설계

상태 변수 추정기(관측기)

  • 상태 변수 피드백 제어기를 구성하려면 모든 상태 변수가 측정 가능해야함
  • 모든 상태 변수를 측정 → 비용이 너무 비쌈
  • 모든 상태 변수를 집적 측정하지 않고 상태 변수를 추정하기 위해 사용 입력 신호, 출력 신호, 그리고 시스템의 동적 특성에 대한 정보를 이용하여 시스템의 상태 변수를 추정

X^\hat X : 추정된 상태 변수를 의미

상태 변수 추정기의 상태 변수 X^\hat X는 상태 변수 x에 수렴

  • 시스템 상태방정식과 출력방정식

{X˙=AX+BUY=CX(1) \tag{1} \begin{cases} \dot X=AX+BU \\ Y=CX \end{cases}

  • 관측기의 상태방정식과 출력방정식

{X^˙=AX^+BUY^=CX^(2) \tag{2} \begin{cases} \dot {\hat X}=A \hat X+BU \\ \hat Y=C \hat X \end{cases}

원하는 관측기의 출력이 원래의 시스템의 출력과의 차이가 없어야 함으로 관측기의 출력과 실제 출력의 차이를 관측기에 추가한 시스템은 (3)과 같다.

{X^˙=AX^+BU+L(YY^)Y^=CX^(3) \tag{3} \begin{cases} \dot {\hat X}=A \hat X+B U + L(Y-\hat Y) \\ \hat Y=C \hat X \end{cases}

(1)에서 (3)을 빼면

{X˙X^˙=A(XX^)L(YY^)YY^=C(XX^) \begin{cases} \dot X- \dot{\hat X}=A(X-\hat X)-L(Y-\hat Y) \\ Y-\hat Y=C(X-\hat X) \end{cases}

X˙X^˙=A(XX^)LC(XX^)=(ALC)(XX^) \dot X-\dot{\hat X}=A(X-\hat X)-LC(X-\hat X)=(A-LC)(X-\hat X)

E=XX^E=X-\hat X로 하면

E˙=(ALC)E(4)\tag{4} \dot E=(A-LC)E

오차 상태 변수 E의 특성방정식은 sI(ALC)=0|sI-(A-LC)|=0이 되고 그리고 근의 위치에 따라 빠르게 혹은 느리게 수렴한다.

⇒ 일반적으로 시스템의 우세극점의 위치(원 시스템의 특성방정식의 근)보다 허수축으로부터 10배 떨어진 거리에 있도록 설계

E0E \to 0 수렴하는 속도는 ALCA-LC행렬의 고유값의 위치에 의해서 결정된다. 왼쪽으로 먼 위치에 있을수록 오차의 수렴 속도가 빠르다.

상태 변수 관측기 설계 과정

  • X(t)^X(t)\hat{X(t)} \to X(t), tt \to \infty를 만족하는 AeA_e, BeB_e, LL을 구하는 과정을 말한다.

  • Ae=ALCA_e=A-LC의 모든 고유값이 왼쪽 평면에 위치하도록 LL을 정하여 E0E \to 0이 되도록 한다.

  • ALCA-LC행렬이 가져야 할 고유값(β1,β2,,βn)(\beta_1, \beta_2, \ldots , \beta_n) 들의 위치를 정하는 방법은 원 시스템의 우세극점의 위치보다 허수축으로부터 10배 떨어진 거리에 있도록 설계한다.

αe(s)=(sβ1)(sβ2)(sβn)=sn+αn1sn1++α1s+α0=0 \alpha_e(s) =(s-\beta_1)(s-\beta_2)\ldots(s-\beta_n) \\ =s^n+\alpha_{n-1}s^{n-1}+\ldots+\alpha_1s+\alpha_0=0

sI(ALC)=0|sI-(A-LC)|=0을 만족하는 LL을 결정한다. LL을 결정하기 위해 액커만 공식을 사용한다. 하지만, 액커만 공식은 CC의 위치의 행렬의 값을 구하는 공식이므로 약간의 변환이 필요하다.

ALCA-LC행렬식에 전치를 취하면

(ALC)t=(AtCtLt)(A-LC)^t=(A^t-C^tL^t)

  • 액커만 공식은 sI(ABK)=0|sI-(A-BK)|=0을 만족하는 K행렬을 구하는 것이기 때문에 액커만에 입력해야 할 변수는 At,CtA^t, C^t를 입력하면 LtL^t의 값을 얻게 된다. 그러므로,

Lt=[0001](Mot)1αe(At)L^t=\begin{bmatrix}0&0&\ldots &0&1\end{bmatrix}(M_o^t)^{-1}\alpha_e(A^t)

Mot=[CtCtAtCt(At)2Ct(At)n1]M_o^t=\begin{bmatrix}C^t &C^tA^t& C^t(A^t)^2 & \ldots & C^t(A^t)^{n-1} \end{bmatrix}

αe(A)=An+αn1An1+  +αnA+α0I\alpha_e(A) = A^n+\alpha_{n-1}A^{n-1}+\ldots  +\alpha_nA + \alpha_0I

L=αe(A)(Mo)1[0001]tL=\alpha_e(A) (M_o)^{-1} {\begin{bmatrix} 0& 0& \ldots & 0 & 1 \end{bmatrix} }^t

  • 상태 변수 방정식이 관측 가능하면 ALCA-LC행렬의 고유값을 원하는 임의의 곳에 놓을 수 있는 LL을 구할 수 있다.

  • 상태 변수 추정기의 속도를 빠르게 하면 응답 속도는 빨라지지만, 높은 주파수 성분을 가지는 잡음에 대해서 민감해 진다.

  • 상태 변수 추정기가 적절한 속도로 수렴하면서 잡음에 민감하지않는 이득 행렬을 구하는 것이 중요하다.

first article
next article
Comments
Feel free to ask a question, answer or comment, etc.