실습 언어

Model Uncertainty와 Robustness

한 모델에서 설계한 제어기를 여러 실제 모델과 지연 조건에 적용해 성능이 나빠지는 지점을 찾습니다.

실습 전에

01 질량·감쇠·강성이 달라지면 같은 제어기의 응답은 어떻게 달라질까요?

설명

Gain을 고정한 채 Plant의 세 매개변수를 바꾸어 Pole과 Step Response를 구합니다. 이 실습에서는 각 매개변수의 값 세 개씩을 조합한 27개 모델을 비교합니다.

02 선택한 값 사이의 모델도 안정한지는 어떻게 판단할까요?

설명

모델을 몇 개 더 계산하는 대신, 이 예제의 2차 Characteristic Polynomial의 계수가 주어진 구간에서 모두 양수인지 판단합니다. 구간 전체의 안정성과 개별 응답의 Settling Time은 구분합니다.

실습

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

1. 명목 제어기를 다른 실제 모델에 적용하기

시작 조건

m∈{.7,1,1.3}m\in\{.7,1,1.3\} kg, b=3b=3 N·s/m, k=2k=2 N/m입니다. K와 N은 m=1m=1에서 설계한 값을 고정합니다.

진행 방법

  1. 명목 제어기를 고정하고 세 실제 모델의 Pole과 응답을 비교하세요.
  2. 각 응답의 최종값과 2% Settling Time을 구하고 가장 느린 조건을 찾으세요.

남길 결과

기록 항목과 확인할 점
질량
Pole
최종값
Settling Time

확인할 점

  • 실제 모델마다 K를 다시 설계하지 않았는가?
  • Settling Time 이후에도 2% 띠 안에 남는지 확인했는가?

2. 질량·마찰·강성을 함께 바꾸기

시작 조건

m∈{.7,1,1.3}, b∈{2,3,4}, k∈{1,2,3}의 27개 조합입니다. K=[63]K=\begin{bmatrix}6&3\end{bmatrix}, N=8N=8은 고정합니다.

진행 방법

  1. 각 조합의 A−BKA-BK 고유값에서 실수부의 최댓값을 구하세요. 이 값이 음수인 모델 수와 0 이상인 모델 수를 기록하세요.
  2. 실수부 최댓값이 가장 큰 조합을 찾으세요. 각 조합에서 yss=−C(A−BK)−1BNy_{ss}=-C(A-BK)^{-1}BN도 구하고, |1−yss||1-y_{ss}|가 가장 큰 조합을 따로 찾으세요.
  3. 선택한 두 조합의 m,b,km,b,k·최대 Pole 실수부·Steady State 오차를 표로 적고 Unit Step을 같은 시간축에 그리세요.
  4. 이번 계산에서 검사한 매개변수 값과 그 사이의 검사하지 않은 값을 구분해 적으세요. 구간 전체의 안정성을 판단하려면 학습자료의 Characteristic Polynomial에서 어느 계수 조건을 살펴봐야 하는지 설명하세요.

남길 결과

기록 항목과 확인할 점
m,b,k
최대 Pole 실수부
Steady-State Error

확인할 점

  • Pole은 A가 아니라 A−BKA-BK에서 계산했는가?
  • 27개 조합의 Pole 계산 결과와 전체 파라미터 범위에 대한 해석적 근거를 구분했는가?

3. 입력 지연과 포화가 있는 경우

시작 조건

명목 모델에서 dt=.002 s, 6 s 동안 상태를 Euler 적분합니다. 입력 지연은 0,.08,.2 s이고 입력 한계는 ±4입니다.

진행 방법

  1. 실습용 노트북의 함수로 세 지연의 출력·입력을 그리세요.
  2. dt를 절반으로 줄여 주요 응답이 비슷한지 확인하세요.
  3. 선형 Pole의 안정성 판정만으로 지연·포화가 있는 구현을 평가하기 어려운 이유를 설명하세요.

남길 결과

기록 항목과 확인할 점
지연
dt
RMS 추종 오차
입력 포화 비율

확인할 점

  • 지연은 명령 기록에서 과거 입력을 가져오는 방식인가?
  • 시간 간격 차이를 모델 불안정과 혼동하지 않았는가?

공식 예제·데이터