강의자료 · 제어공학2
실습 언어

Reference Tracking과 Optimal Control

안정한 제어기에서도 목표값 오차가 남는 이유를 확인하고, 추종 성능과 제어입력 비용을 비교합니다.

실습 전에

01 안정한 시스템이면 목표값도 정확히 따라갈까요?

설명

안정성은 Initial State와 입력에 대한 응답의 성질이고, 목표값의 Steady-State Error는 입력·출력 경로의 이득에도 달려 있습니다.

02 Q를 키우면 무엇을 더 중요하게 보나요?

설명

해당 상태가 기준에서 벗어나는 비용을 더 크게 봅니다. 출력 오차와 제어입력은 별도로 기록해 절충을 확인합니다.

실습

실습용 노트북 미리보기실습용 노트북 다운로드실습용 mlx 스크립트 미리보기실습용 mlx 스크립트 다운로드

1. 목표값을 따라가도록 Reference 이득 정하기

시작 조건

A=[01−2−3]A=\begin{bmatrix}0&1\\-2&-3\end{bmatrix}, B=[01]B=\begin{bmatrix}0\\1\end{bmatrix}, C=[10]C=\begin{bmatrix}1&0\end{bmatrix}, K=[63]K=\begin{bmatrix}6&3\end{bmatrix}, r=1r=1, x(0)=0입니다.

진행 방법

  1. N=1N=1, N=8N=8을 각각 넣어 같은 시간축에서 Unit Step을 계산하고 응답과 Steady State 출력값을 나란히 기록하세요.
  2. 0=(A−BK)xss+BNr0=(A-BK)x_{ss}+BNr에서 r=1r=1일 때 xssx_{ss}를 NN의 식으로 구하세요. yss=Cxssy_{ss}=Cx_{ss}를 이용해 yss=1y_{ss}=1을 만족하는 NN을 구하고 계산 과정을 남기세요.
  3. 직접 구한 NN과 두 응답의 최종값을 대조해 Reference Gain이 바꾼 값을 설명하세요.

남길 결과

기록 항목과 확인할 점
N
Steady State 값
Closed-loop Pole

확인할 점

  • 직접 계산한 Steady State 출력값이 각 시뮬레이션의 최종값과 일치하는가?
  • N을 바꾸어도 Closed-loop Pole은 같은가?

2. 출력 오차와 입력 비용의 절충

시작 조건

Q=diag⁡(q,1)Q=\operatorname{diag}(q,1), q∈{1,25}q\in\{1,25\}이며 R=[1]R=\begin{bmatrix}1\end{bmatrix}입니다. x(0)=[10]x(0)=\begin{bmatrix}1\\0\end{bmatrix}, r=0r=0입니다.

진행 방법

  1. 각 Q의 CARE를 풀고 K=R−1B⊤PK=R^{-1}B^\top P를 계산하세요.
  2. 같은 시간축의 위치와 제어입력을 그리세요.
  3. 위치 오차 제곱의 적분과 입력 제곱의 적분을 별도로 비교하세요.

남길 결과

기록 항목과 확인할 점
q
K
위치 오차 적분
입력 비용

확인할 점

  • 두 Q가 모두 양의 정부호이고 R>0R>0인가?
  • A−BKA-BK의 모든 Pole 실수부가 음수인가?

3. 모델 오차가 있을 때의 목표 추종

시작 조건

설계는 명목 B로 하고, 실제 입력 이득만 Bactual=gBB_{\mathrm{actual}}=gB, g∈{.8,1,1.2}g\in\{.8,1,1.2\}로 바꿉니다. K=[63]K=\begin{bmatrix}6&3\end{bmatrix}, N=8N=8, r=1r=1입니다.

진행 방법

  1. 각 실제 모델의 Pole과 Step 최종값을 구하세요.
  2. 명목 모델에서 계산한 N이 모든 실제 모델에서도 목표값을 정확히 맞추는지 확인하세요.
  3. Reference 이득 조정과 오차 적분 Feedback의 역할을 구분하세요.

남길 결과

기록 항목과 확인할 점
입력 이득
Pole
최종값
추종 오차

확인할 점

  • Feedback 항과 Reference 항 모두 실제 B_actual에 곱해졌는가?
  • 최종값을 계산하기 전에 안정성을 확인했는가?

공식 예제·데이터