지난번 다룬것

1. 상태 피드백과 옵저버

2. 가제어와 가관측


※추정과 예측의 필요성을 약간 다루었다.


------------------------------------------------------

상태 피드백 제어는 모든 state에 대한 정보를 필요로 한다.(x1, x2, x3등등 모든 값을 알아야 이들을 제어할 수 있다.)

만약 일부 state를 구할 수 없다면 어떻게 해야할까? 우리는 예측, 추정(Estimate)이라도 해야 할 것이다. 이를 도와주는 것 또한 Observer이다.




위 블록선도를 보자. 제일 위의 블록은 실제 시스템이며 그 아래는 예측, 추정을 한것이다. 좀더 상세하게 설명하자면 1번 블록은 입력 u에 따른 실제 시스템의 거동이고 2번 블록은 실제 입력에 따라 추정된 시스템의 거동이다. 위 블록선도는 이 추정된 시스템의 거동을 피드백하고 있다.


자, 그냥 설명을 들으면 저 시스템에 무슨 문제가 있겠는가 생각 할 수 있으나 과연 저 추정된 시스템의 거동이 실제거동과 일치한다고 할 수 있을까?


우리가 센서를 통해서 얻는 시스템의 거동에는 Noise가 있을수 있으며 이를 완벽히 배제할 수 없다. 센서는 분명 정확하겠지만 절대적이 아닐 수 있다. 약간의 오차가 있을 수 있을 수 있다.


지난번에 다른 상태피드백에 이어서 PID제어를 할 것이며 이 PID제어를 잘 다루면 위에서 언급하는 약간의 오차를 커버할 수 있을 것이다. PID제어는 추정과 예측을 다루지 않는다.


하지만 우리가 앞으로 다루고자 하는 제어에는 이 추정과 예측이 매우 중요하다. 우리는 추정과 예측을 통해서 이 약간의 오차까지 통제하에 두고자 한다.


자, 다시 문제로 돌아가자, 우리가 피드백 받아야 하는것은 그저 추정된 시스템의 거동이 아니다. 왜냐하면 실제 시스템의 거동과 추정된 시스템의 거동사이에 오차가 있기 때문이다. 여기서 피드백 받아야 하는것은 이 실제 시스템과 추정 시스템 사이의 오차이다.


실제 출력 Y와 추정출력 Y 사이의 오차를 피드백 L을 받고 이를 기반으로 예측, 추정 후 피드백 K를 입력에 반영한다.

  : x의 추정값.


 : x의 실제값과 추정값 사이의 오차



위 블록선도와 함께 기본적으로 숙지해두어야할 수식이다.

expononential e와 오차의 e를 함께 쓰고있어서 헷갈릴 수 있으니 주의하자.









위 블록선도를 풀어서 위와 같은 식이 나온다. 참고로 Y와 Y추정값 사이의 차가 위 블록선도의 ε이다.


상태에 대한 오차가 0에 수렴한다면 추정값이 실제값과 같다고 할 수 있다.



예시를 통해 연습해 보자.


1)가제어, 가관측성



2)closed loop


3)pole placement


위 식에서 우리가 고유치(eigenvalue)를 -1,-1로 설정하고자 한다면 l1=3, l4=4로 정해주면 된다.


여기서 한가지 짚고갈것이 있다. eigenvalue의 설정과 그 의의이다. 제어를 배우신 분이라면 알것이라 생각된다.


좌측 사진은 eigenvalue를 -1,-1로 잡은것이다.

eigenvalue가 좌측으로 간다면, 즉 더 작아진다면 어떻게 될까?


역라플라스변환에 의한 x,y의 지수함수표현은 eignenvalue에 의해 정해지며 -방향으로 커질수록 exponential의 수렴속도는 커질것이다.


그런데 위 식에서 LCe를 눈여겨보자.

LCe = LC(x-x^) = LC(y-y^)이다.

우리가 실제값이라고 생각하는 x에는 센서를 통해 측정하는 만큼 사실 잡음(Noise)가 있을 수 있다.  우리가 eigenvalue를 설정하기 위해 잡아주는 l1과 l2에 의해 이 잡음들이 증폭될 가능성이 있다.


우리는 이를 고려하여 eigenvalue및 L값을 설정해줘야 할것이다.

또, 앞으로는 x에 대하여 실제값이라 하지 않고, 측정값이라 하도록 하겠다.

'제어특론' 카테고리의 다른 글

Linear Quadratic(LQ) Optimal Control  (1) 2014.11.02
Optimal Control(1)  (0) 2014.10.05
Design of state observers(2)  (0) 2014.10.05
상태 피드백 제어와 옵저버  (0) 2014.10.05
시작하기에 앞서  (0) 2014.10.05

+ Recent posts