강의노트 상태 변수 추정기 (관측기)

강의노트 • 조회수 549 • 댓글 0 • 수정 1주 전  
  • 상태변수 추정기
  • 상태방정식을 이용한 제어기 설계

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

상태 변수 피드백 제어기를 구성하려면 모든 상태 변수가 측정 가능해야한다.

모든 상태 변수를 측정하는 것은 비용이 비싸다. 모든 상태 변수를 집적 측정하지 않고 상태 변수를 추정하여 사용한다.

입력 신호, 출력 신호, 그리고 시스템의 동적 특성에 대한 정보를 이용하여 시스템의 상태 변수를 추정한다.

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

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

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

{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이 된다.

위 식은 근의 위치에 따라 빠르게 혹은 느리게 수렴한다. (4)식의 근은 일반적으로 시스템의 우세극점의 위치(원 시스템의 특성방정식의 근)보다 허수축에서 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(5)\tag{5} \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)(6)\tag{6} (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을 구할 수 있다.

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

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

첫 글입니다.
다음 글
댓글
댓글로 소통하세요.