1. observer
외부의 output(상태변수) 1개만 가지고, 나머지 state를 모두 추정하는 것.
상태 피드백 제어를 하기 위해선 모든 state에 대한 정보가 필요하다. 일부 state를 구할 수 없는 경우, 우리는 Estimate(추정)을 해야한다. Observer는 이를 도와준다. Observility(observer가 가능한 조건)를 만족한다면, observer를 사용할 수 있다.
2. Observility
full 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. 더 많은 값을 알고 있다는 의미일테니 측정은 당연히 된다.
'LAB > 제어이론' 카테고리의 다른 글
자동제어 : 매트랩 실습 (0) | 2023.04.26 |
---|---|
자동제어(5) linearization, performance of second-order system (1) | 2023.02.03 |
자동제어(4-2) disturbance, noise, steady-state error (0) | 2023.01.31 |
자동제어(4) feedback control, error signal analysis, sensitivity (0) | 2023.01.30 |
자동제어(3-3) state-space equation (0) | 2023.01.30 |