14주차 · Stability와 Performance Index 비교

실습 전에

01 안정성을 먼저 보는 이유

처음에는 잘 움직이지만 시간이 지날수록 진동이 커지는 시스템이 있습니다. 빠르기나 정확도를 평가하기 전에 무엇부터 확인해야 할까요?

설명
  • 성능 비교에 앞서 안정성 확인
  • 짧은 관측 구간의 작은 오차만으로 장기 동작을 판단할 수 없음

02 목적에 맞는 평가

크게 벗어났다가 금방 회복하는 응답과 조금 벗어난 채 오래 머무는 응답이 있습니다. 어느 쪽을 더 좋게 평가할지는 어떻게 정해야 할까요?

설명
  • ISE·IAE·ITAE는 크기와 지속 시간에 서로 다른 가중치 적용
  • 목적에 맞는 지표를 선택하고 동일한 Input·관측 구간에서 비교

실습

1. Closed-loop 모델과 최종값 계산

  • 실습용 Live Script의 ‘3. Tracking Error와 비교점 Error’ 코드의 G(s)=1s+2G(s)=\frac1{s+2}, H(s)=2s+4H(s)=\frac2{s+4}를 사용하되 먼저 K=2K=2인 경우를 손으로 계산하세요.
  • Y=GUY=GU에 U=K(R−HY)U=K(R-HY)를 대입하세요. YY 항을 한쪽으로 모아 YR\frac{Y}{R}을 정리한 뒤, 분모의 근을 구해 Pole의 실수부가 모두 음수인지 판정하세요.
  • Unit Step의 최종 출력과 센서 측정값을 구한 뒤 r−yr-y와 r−Hyr-Hy의 최종값을 각각 계산하세요.
  • 그 다음 K를 2로 설정해 코드를 실행하고 두 결과를 대조하세요.
  • 이미 계산한 K=2K=2는 반복하지 않고 K=4,8K=4,8로 이어갑니다.
  • Routh 활동도 기존 안내대로 첫 열을 직접 유도한 뒤 roots로 확인하세요.

2. Stability 판별

  1. s3+3s2+2s+Ks^3+3s^2+2s+K의 Routh 첫 열을 유도하고 K∈{1,6,7}K\in\{1,6,7\}을 비교하세요.
  2. K=6K=6에서 Pole을 구하고 실수부가 0인 Pole이 있는지 확인하세요.
  3. 모든 Pole의 실수부가 음수인 경우와 응답이 어떻게 다른지 설명하세요.

3. Tracking Error와 비교점 Error

  1. K∈{2,4,8}K\in\{2,4,8\}에서 목표값에서 실제 출력을 뺀 r−yr-y와, 목표값에서 센서 측정값을 뺀 r−Hyr-Hy를 각각 계산하세요.
  2. 실제 출력이 목표값에 가까운지 판단할 때 사용할 오차가 어느 쪽인지 적으세요.

4. 유한 구간 Performance Index

  1. ISE 계산에 사용한 Plant G(s)=1/(s2+2s+1)G(s)=1/(s^2+2s+1)와 KK에서 종료 시간을 10 s·20 s·40 s로 바꾸어 ISE를 계산하세요.
  2. 사용한 KK, 적분 종료 시간, ISE를 표에 기록하세요. 같은 KK끼리 10→20 s와 20→40 s에서 ISE가 얼마나 증가했는지 대조하세요.
  3. 증가량이 줄어드는지 보고 적분값이 일정한 값에 가까워지는지 판단하세요. 결과에는 계산한 시간 구간을 함께 적고, 유한시간 적분값과 무한시간 지표를 구별하세요.

5. Optimization과 Approximation

  1. K3의 검색 범위 0.1–10은 유지하고 간격만 바꿔 최소값 검색을 다시 실행하세요. 변경 전후 검색 간격·최소점을 주는 Gain·10\sqrt{10}과 그 Gain의 절대 차이를 표에 적으세요.
  2. GL의 분모 계수 하나만 1.1배 한 비교 모델을 만드세요. 예를 들어 [numL,denL]=tfdata(GL,'v')로 계수를 꺼내 denL(end)=1.1*denL(end)를 적용한 뒤 tf(numL,denL)로 새 모델을 만들 수 있습니다. 바꾼 계수의 차수와 변경 전후 값을 적으세요.
  3. 같은 t=0:0.01:15에서 max(abs(yh-yl))를 변경 전후 각각 구하세요. 이 최대 절대 차이로 GH에 대한 Approximation 오차가 커졌는지 작아졌는지 적으세요.

제출·저장

코드, 실제 Output·그래프, 직접 작성한 해석을 포함하세요. 제출은 KLAS를 이용하며 기한은 학기 일정과 최신 공지를 확인합니다.

파일명: 이름_학번_14주차.mlx.

실행 환경을 다시 시작하고 전체 코드를 위에서부터 실행한 뒤 저장하세요.

선택 실습

예: 허수축 Pole을 Asymptotically Stable로 판정한 경우

  1. p=roots([1 0 1])로 Pole을 구하고, all(real(p)<=0)을 판정식으로 썼을 때의 결과를 기록하세요.
  2. 이 조건과 Asymptotic Stability 판정식 all(real(p)<-1e-9)를 나란히 적으세요. 실수부가 0인 Pole과 음수인 Pole을 구별해, Asymptotic Stability를 판정하도록 조건식만 복구하세요.