본문 바로가기

LAB/제어이론

제어 이론(10) 관측기[Observer]

728x90
반응형

 

 

1. observer 

 

외부의 output(상태변수) 1개만 가지고, 나머지 state를 모두 추정하는 것. 

상태 피드백 제어를 하기 위해선 모든 state에 대한 정보가 필요하다. 일부 state를 구할 수 없는 경우, 우리는 Estimate(추정)을 해야한다. Observer는 이를 도와준다. Observility(observer가 가능한 조건)를 만족한다면, observer를 사용할 수 있다. 

 

 

2. Observility

 

full rank 상태가 되어야 한다. 

rank란 무엇인가

 

 

3. observer의 block diagram

 

 

(1) 제일 위 블록 : 실제 시스템, 입력 u에 따른 실제 시스템의 거동

(2) 그 아래 블록 : extimate(추정)한 것, 추정된 시스템의 거동

 

우리가 피드백 받아야 하는 것은 추정된 시스템의 거동이 아니다. 우리는 실제 system과 추정 system 사이의 오차를 피드백 받아야 한다. 즉, 실제 출력 Y와 추정출력 Y 사이의 오차를 피드백 받고, 이를 기반으로 추정 후 피드백 K를 입력에 반영한다. 여기서 K란 MPC나 PID와 같은 제어기를 의미한다. 이 중에서도 MPC는 매 시간마다 제어기를 최적화하여 최적 경로를 찾아준다. 또한, 제어기는 피드백의 역할을 한다. 

 

 

4. 기본 수식

 

(1) 아래는 변수들을 나타내었다. 

 

(2) 이 변수들을 사용한 observer의 기본수식은 다음와 같다. 원래의 상태 방정식에선 A를 system matrix로써 사용했다. 새로 얻은 수식에서는 A0( = A - LC)를 새로운 system matrix로 치환하여 값을 구하면 된다. 참고로 C 행렬은 transition matrix로, 상태 추정식에 존재하는 차원들을 센서 데이터의 차원과 맞추어 준다. 높은 차원을 낮은 차원으로 매핑하는 것이 더 쉬우므로 모델링 식의 차원을 센서 데이터의 차원으로 맞추는 것이다. 

 

(3) e(error) -> 0이 되면, 추정값과 실제값의 그래프가 일치해진다. 

 

 

5. 수식 증명

 

내용

 

 

6. 예제

 

다음 전달함수의 상태 방정식꼴은 아래와 같다. 

정석대로 구하는 방법

 

(1) A matrix와 A0 matrix를 각각 구하자. 

 

(2) A0 matrix를 사용하여 새로운 pole값을 구해보자. 

 

 

7. eigenvalue 

 

eigenvalue가 좌측으로 간다면, 즉 더 작아진다면?

(1) eigenvalue에 의해 [역라플라스 변환에 의한 x,y의 지수함수 표현]이 정해진다. 

(2) 이 값이 -방향으로 커질수록 exponential의 수렴 속도는 커질 것이다. 

** 잡음(noise)까지도 고려한 eigenvalue, L값을 설정해줘야 한다. 

 

 

7. 추가로.. 궁금한 것

 

Q. 내가 쓴 예제에서 c = [1 0] 인데, 이 형태의 식에선 c = [0 1]도 가능한 것으로 알고 있다. 

c = [1 1]도 가능한가?

A. 더 많은 값을 알고 있다는 의미일테니 측정은 당연히 된다. 

728x90
반응형