AEGLOSLAB 제어공학 종합 핸드북

제1부 시스템 모델링과 동특성

1.3 시간 응답

제1부 시스템 모델링과 동특성 · 응답 읽기. 1.2의 극·영점이 시간영역에서 실제로 어떤 곡선을 그리는지 본다. 1차·2차 응답, 과도 사양(상승·정착시간·오버슈트), 정상상태 오차 — 제어 사양을 정량으로 말하는 언어다.

이 장을 마치면 극 위치만 보고 응답의 모양(빠르기·진동·오버슈트)을 어림하고, "오버슈트 10% 이하, 정착 2초 이내" 같은 사양을 극 위치로 번역할 수 있어야 한다. 이 번역이 제2·4부 설계의 출발점이다.

1.3.1 왜 시간영역 — 사양은 시간으로 말한다

엘리베이터는 "목표 층을 1% 넘게 지나치지 말고, 3초 안에 멈춰라". 제어 사양은 대개 시간으로 표현된다. 그래서 시스템에 표준 시험입력을 넣고 나오는 곡선을 잰다.

시험입력$R(s)$보는 것
임펄스 $\delta(t)$1자연 모드(임펄스 응답 = $g(t)$)
계단 1$1/s$과도·정상상태 (가장 많이 씀)
램프 $t$$1/s^2$추종 능력(속도 추종 오차)
포물선 $t^2/2$$1/s^3$가속 추종 오차

이 장의 중심 주제는 계단응답이다 — 과도(transient)와 정상상태(steady-state)를 한 번에 보여 준다.

1.3.2 1차계 계단응답 — 시정수 τ 하나로

$G(s) = K/(\tau s+1)$에 단위 계단을 넣으면(역라플라스):

$$y(t) = K\cdot(1 - e^{-t/\tau})$$

0 1 2 3 4 5 6 0.0 0.2 0.4 0.6 0.8 1.0 t [s] y(t) t = τ 63.2%
1차계 계단응답 $K(1-e^{-t/\tau})$ — 시정수 $\tau$
  • 시정수 $\tau$가 전부다 — 작을수록 빠르다. $t=\tau$에서 63.2%, $4\tau$에서 98%, $5\tau$에서 99.3% 도달.
  • 상승시간 $T_r \approx2.2\tau$ (10→90%), 정착시간 $Ts \approx4\tau$ (2% 기준) / $3\tau$ (5% 기준).
  • 오버슈트 없음(극이 음의 실수 하나뿐, 진동 모드 없음). 정상상태값 = $K = G(0)$.

직관: 1차계의 모든 시간 지표는 $\tau$의 배수다. DC모터 속도(1.1.7.1)가 이 곡선이다.

1.3.3 2차계 계단응답 — ωₙ·ζ가 정하는 응답

$G(s) = K\cdot\omega_n^2 / (s^2 + 2\zeta\omega_n\cdot s + \omega_n^2)$. 극은 $s = -\zeta\omega_n \pm j\omega_n\sqrt{1-\zeta^2}$. 감쇠비 $\zeta$가 응답 성격을 결정한다.

1.3.3.1 감쇠 네 경우

$\zeta$극응답별명
$\zeta> 1$음의 실근 둘진동 없이 느리게 도달과감쇠(overdamped)
$\zeta= 1$음의 중근진동 없이 가장 빠르게(오버슈트 직전)임계감쇠(critical)
$0 < \zeta< 1$복소켤레쌍감쇠 진동(오버슈트 후 정착)저감쇠(underdamped)
$\zeta= 0$허수축 위멈추지 않는 진동무감쇠

1.3.3.2 저감쇠 응답과 과도 사양

$0<\zeta<1$의 계단응답은 감쇠하는 사인이다. 감쇠진동수 $\omega_d = \omega_n\sqrt{1-\zeta^2}$.

$$y(t) = K\cdot[\,1 - (e^{-\zeta\omega_n t}/\sqrt{1-\zeta^2})\cdot\sin(\omega_d\cdot t + \varphi)\,], \qquad \varphi = \operatorname{arccos}\zeta$$

±2% 정착대 0 2 4 6 8 10 12 14 0.00 0.25 0.50 0.75 1.00 1.25 1.50 t [s] y(t) Mp(오버슈트) Tp Ts
2차 저감쇠 계단응답과 과도 사양 ($\zeta=0.3$)

핵심 과도 사양(저감쇠 2차계 공식):

사양공식무엇에 좌우
피크시간 $T_p$$\pi/ \omega_d$허부(빠른 진동일수록 짧음)
오버슈트 $M_p$$\exp(-\zeta\pi/\sqrt{1-\zeta^2})$, $\%\mathrm{OS}=100\cdot M_p$오직 $\zeta$
정착시간 $Ts$$\approx4/(\zeta\omega_n)$ (2%), $3/(\zeta\omega_n)$ (5%)실부 $\sigma=\zeta\omega_n$
상승시간 $T_r$$(\pi-\varphi)/\omega_d$ (0→100%), 대략 $\approx1.8/\omega_n$ (ζ≈0.5)$\omega_n$

외울 한 줄: 오버슈트는 $\zeta$만, 정착은 실부 $\zeta\omega_n$만, 피크는 허부 $\omega_d$만 본다. 흔한 설계 표적 $\zeta\approx0.7$ → 오버슈트 ≈ 5%로 "빠르면서 안 지나치는" 균형점.

1.3.3.3 설계 역산 — 사양에서 ζ·ωₙ로

사양이 주어지면 거꾸로 $\zeta, \omega_n$을 정한다.

  • $\%\mathrm{OS}$ 로부터: $\zeta = -\ln(M_p) / \sqrt{\pi^2 + \ln^2(M_p)}$ ($M_p = \%\mathrm{OS}/100$)
  • $T_s(2\%)$ 로부터: $\zeta\omega_n = 4 / T_s$ → $\omega_n = 4 / (\zeta\cdot T_s)$

예: "오버슈트 ≤ 10%, 정착(2%) ≤ 2 s" → $M_p=0.1$에서 $\zeta\approx0.59$, $\zeta\omega_n=4/2=2$ → $\omega_n\approx3.4 \,\mathrm{rad/s}$. 이 $\zeta,\omega_n$이 곧 원하는 극 위치가 된다(다음 절).

1.3.4 극 위치 ↔ 응답 — s-평면 설계 지도

저감쇠 극 $s = -\sigma\pm j\omega_d$($\sigma=\zeta\omega_n$)를 복소평면에 놓고 보면, 위치가 곧 응답 사양이다.

극  = −σ + jωd ωd → 피크 Tp −σ → 정착 Ts ≈ 4/σ β 각 β: cosβ = ζ → 오버슈트 σ jω
s-평면 설계 지도 ($\sigma$·$\omega_d$·$\zeta$)
  • 왼쪽으로 갈수록(σ↑): 빨리 정착(Ts↓). 정착 사양 = "이 수직선보다 왼쪽".
  • 실축에 가까울수록(각 β↓, ζ↑): 오버슈트↓. 오버슈트 사양 = "이 방사선 안쪽(원점 기준 좁은 쐐기)".
  • 원점에서 멀수록(ωₙ↑): 전체적으로 빠름. $\omega_n$일정 = 원호.

그래서 "오버슈트 ≤10% & 정착 ≤2s"는 s-평면에서 쐐기(ζ) ∩ 수직선 왼쪽(σ) 영역이 된다. 제어 설계 = 폐루프 극을 이 영역으로 옮기는 일 — 근궤적(2.2)·극배치(4.3)가 그 방법이다.

1.3.5 극·영점이 더 있으면 — 지배극과 보정

실제 시스템은 극이 둘보다 많다. 그래도 위 2차 직관을 쓰는 근거가 지배극(dominant pole)이다.

  • 지배극 근사: 다른 극이 지배극보다 (실부 기준) 5배 이상 왼쪽에 있으면, 그 빠른 모드는 빠르게 사라져 응답이 사실상 2차계처럼 보인다. 그래서 가장 오른쪽 극(쌍)으로 어림한다.
  • 영점이 가까이 있으면: 오버슈트가 커지고 응답이 빨라진다. 특히 우반평면 영점은 초기 역응답(undershoot)을 만든다(1.2.2.3).
  • 극이 더 가까이 추가되면: 응답이 느려지고 오버슈트가 줄어든다.

⚠️ 정직: 지배극 근사는 근사다. 추가 극·영점이 지배극에 가까우면 공식이 어긋난다 — 최종 확인은 시뮬레이션(1.3.7)으로. 공식은 설계의 출발 어림, 시뮬레이션은 검증.

1.3.5.1 수치 예 — 영점 하나가 응답을 얼마나 바꾸나

1.3.7에서 쓸 극($\omega_n=3.4, \zeta=0.59$ → 극 $s\approx-2.01\pm j2.75$)을 그대로 놓고, DC이득을 1로 맞춘 영점을 하나 추가해 보자(영점을 더한 표준형: $G(s) = \omega_n^2(s+z) / [z\cdot(s^2+2\zeta\omega_ns+\omega_n^2)]$). 영점이 극에서 얼마나 먼가에 따라 결과가 크게 달라진다.

경우영점 위치오버슈트정착시간(2%)피크시간
영점 없음 (기준)—10.1%1.77 s1.15 s
영점, 극 실부와 거의 같은 거리s=−243.6%2.16 s0.56 s
영점, 극 실부보다 훨씬 먼 거리s=−1010.8%1.63 s1.01 s

읽는 법: s=−2처럼 영점이 극(실부 −2.01)에 매우 가까우면 오버슈트가 10%→44%로 폭증하고 피크시간은 절반으로 단축된다 — 지배극 근사가 완전히 성립하지 않는다. 반대로 s=−10처럼 영점이 극보다 5배 가까이 멀면(1.3.5의 5배 규칙과 대칭) 오버슈트·정착시간이 영점 없는 경우와 거의 같다 — 지배극 근사가 살아 있다는 뜻. (python-control 0.10.2로 step_info 직접 계산해 검증됨.)

1.3.6 정상상태 오차 — 시스템 형(type)과 오차상수

과도가 끝난 뒤 목표와 얼마나 어긋나 머무는가(e_ss = lim_{t→∞}(r−y)). 0.1.4.1에서 P 제어 난방이 24 ℃에 못 미친 채 머문 그 잔류 오차의 원인이다.

1.3.6.1 정의와 도구

단위 피드백($H=1$), 개루프 $L(s)=C(s)G(s)$, 오차 E=R−Y=R/(1+L). 최종값 정리:

$$e_{ss} = \lim_{s\to 0} s\cdot E(s) = \lim_{s\to 0} s\cdot R(s) / (1 + L(s))$$

(안정할 때만 유효 — 1.2.2.4.)

1.3.6.2 형(type)과 오차상수

개루프 $L(s)$가 원점에 가진 적분기(1/s) 개수 $N$가 시스템 형(type)이다. 형이 입력별 추종 능력을 정한다.

오차상수: 위치 Kp = lim_{s→0}L(s), 속도 Kv = lim_{s→0}sL(s), 가속 $K_a = \lim_{s\to0}s^2L(s)$.

계단 입력 e_ss램프 입력 e_ss포물선 입력 e_ss
형 0 (적분기 0)$1/(1+K_p)$ (유한)∞∞
형 1 (적분기 1)0$1/K_v$ (유한)∞
형 2 (적분기 2)00$1/K_a$ (유한)

읽는 법: 각 적분기가 오차의 "급(級)"을 하나씩 소거한다. 형 0은 계단에도 오차가 남고, 형 1은 계단은 완벽 추종하나 램프에는 오차가 남고, 형 2는 램프까지 완벽.

1.3.6.3 적분기가 오차를 제거한다 — 0.1의 그 함정

0.1.4.1의 P 제어 난방은 형 0이었다(개루프에 적분기 없음). 그래서 계단(일정 목표)에도 $1/(1+K_p)$만큼 잔류 오차가 남았다. 이를 없애려면 개루프에 적분기를 넣어 형을 높이면 된다 — 그것이 PID의 적분(I) 항($1/s$)이다(2.5). 즉 "정상상태 오차 0"을 원하면 적분기를 더하라.

트레이드오프: 적분기는 오차를 제거하지만 위상을 늦춰 안정 여유를 잠식한다(2.4). 대가가 따른다 — 2.5에서 균형을 다룬다.

1.3.7 도구로 — 응답과 사양 자동 추출

# step_specs.py — 2차계 계단응답과 과도 사양
import control as ct
wn, zeta = 3.4, 0.59                       # 사양 역산 예(오버슈트 10%, 정착 2s)
G = ct.tf([wn**2], [1, 2*zeta*wn, wn**2])
info = ct.step_info(G)                      # 상승·정착·피크시간·오버슈트 자동
for k in ["RiseTime","SettlingTime","PeakTime","Overshoot"]:
    print(k, "=", info[k])

import numpy as np, matplotlib.pyplot as plt
t, y = ct.step_response(G, T=np.linspace(0, 4, 400))
plt.plot(t, y); plt.grid(True); plt.show()

step_info가 손공식(1.3.3.2) 대신 사양을 도출해 준다. 손공식으로 어림하고 step_info로 검증하는 습관을 들여라. (출력값·곡선은 여러분 환경에서 재현해 확인 — ✅ control 0.10.2 검증됨; 재현 권장.)

1.3.8 정직 — 이상 2차계와 현실

위 공식들은 이상적인 2차계 가정 위에 있다. 현실은:

  • 추가 동특성: 극·영점이 더 있어 지배극 근사가 어긋날 수 있다(1.3.5).
  • 포화·비선형: 액추에이터 한계로 큰 계단에서는 공식보다 느리다(전압·토크 포화). 작은 신호에서는 맞다가 큰 신호에서 맞지 않는다.
  • 잡음·외란: 측정 잡음이 섞여 정착 판정이 불안정해진다.

따라서 손공식은 설계 목표를 설정하는 도구이고, 실제 성능은 시뮬레이션·실측으로 확인한다. 공식과 측정이 다르면, 무엇을 무시했는지(1.1.11) 다시 점검하라.

1.3.9 정리 — 그리고 다음 장

  • 사양은 시간으로 말한다. 1차계는 $\tau$ 하나($Ts\approx4\tau$, 오버슈트 없음), 2차계는 $\omega_n\cdot\zeta$(오버슈트는 $\zeta$만, 정착은 $\zeta\omega_n$만, 피크는 $\omega_d$만).
  • 극 위치 = 응답 사양: 왼쪽=빠른 정착, 실축에 가까움=낮은 오버슈트. 사양을 s-평면 영역으로 번역하는 것이 설계의 출발점(1.3.4).
  • 정상상태 오차는 개루프 적분기 수(형)가 정한다 — 적분기가 오차의 급을 하나씩 소거한다(1.3.6). 단 안정 여유와 트레이드오프.

다음 1.4에서는 모델을 데이터로 얻는 시스템 식별을 다룬다 — 계단·주파수 응답을 측정해 $\tau, \omega_n, \zeta$를 역으로 추정하고 모델을 검증하는 법. 제1부를 마무리한다.

1.3.10 연습·생각해 볼 것

  1. 1차계 읽기. $G=5/(2s+1)$의 계단응답에서 $K, \tau, Ts(2\%), T_r$를 구하라. $t=2$초에서 출력은 최종값의 몇 %인가?
  2. 2차 사양. $G = 25/(s^2+4s+25)$에서 $\omega_n, \zeta, \omega_d$를 구하고 %OS, Tp, Ts(2%)를 계산하라. 저감쇠인가?
  3. 역산 설계. "오버슈트 ≤ 5%, 정착(2%) ≤ 1초"를 만족하는 $\zeta, \omega_n$과 원하는 극 위치 $-\sigma\pm j\omega_d$를 구하라. 이 극이 s-평면의 어느 영역에 있는지 말로 설명하라. (1.3.3.3·1.3.3.4)
  4. 극 옮기기. 극을 $-2\pm j2$에서 $-4\pm j2$로 옮기면 $\%\mathrm{OS}\cdot Ts$는 각각 어떻게 변하나? $-2\pm j4$로 옮기면? 각 변화를 "실부/허부/각" 언어로 설명하라. (1.3.4)
  5. 정상상태 오차. 개루프 $L(s)=10/[s(s+2)]$인 단위 피드백계의 형(type)은? 계단·램프 입력에 대한 e_ss를 각각 구하라. (1.3.6)
  6. 0.1 복습. 0.1.4.1의 P 제어 난방이 왜 형 0이라 잔류 오차를 남겼는지, 그리고 적분기를 더하면 왜 그 오차가 0이 되는지 1.3.6으로 설명하라. 대가는 무엇인가?
  7. (손으로) step_specs.py로 3번에서 구한 $\zeta,\omega_n$의 응답을 그려, 손계산 $\%\mathrm{OS}\cdot Ts$와 step_info 값이 맞는지 비교하라. 다르면 왜일지 추측하라. (1.3.7·1.3.8)

막히면 1.3.4의 지도로 돌아가라 — "왼쪽=빠름, 실축 가까움=덜 지나침"이 거의 모든 직관의 뿌리다.