제어 시스템 정복하기: 초보자를 위한 '제로점'과 '극점' 완벽 가이드

많은 학생들이 제어공학이나 신호 및 시스템을 처음 접할 때, 화면 가득한 미적분과 추상적인 수학 기호들 때문에 쉽게 좌절하곤 합니다. 하지만 걱정하지 마세요! 이건 아주 자연스러운 반응입니다.

오늘은 지루한 교과서를 잠시 벗어나 가장 쉬운 말로 제어 루프(Control Loop)의 핵심 두 악역 — **제로(Zero)**와 극점(Pole)— 을 낱낱이 파헤쳐 보겠습니다.


제어 시스템驯服하기: 초보자를 위한 "제로"와 “극점” 완전 정복 가이드

제로와 극점을 이해하기 전에, 여러분의 학습을 '초월’하게 만들어 줄 몇 가지 기초 개념부터 알아야 합니다. 복잡한 기계를 고치려 할 때, 먼저 그 기계의 설명서를 읽는 것처럼요.

기초 개념 1: '시스템’과 '전달함수’란 무엇인가?

제어 이론에서 우리가 다루는 대상을 일반적으로 시스템(System)이라고 부릅니다 (예: 자동차의 크루즈 컨트롤, 드론의 호버링 제어 등). 시스템은 입력(액셀 밟기)과 출력(자동차 속도)을 갖습니다.

시간 t 를 기준으로 입력과 출력의 관계를 계산하면, 대부분 매우 고통스러운 미분방정식을 풀어야 합니다. 머리카락을 지키기 위해, 엔지니어들은 하나의 '수학 번역기’를 고안했습니다. 바로 라플라스 변환(Laplace Transform)입니다.

라플라스 변환의 마법은 현실 세계의 복잡한 시간 영역(time domain, 시간 변수를 포함한 미분 방정식)을 추상적이지만 단순한 s 영역(s-domain, 사칙연산만으로 다룰 수 있는 다항식 대수)으로 바꿔준다는 점입니다.

이 s 영역 안에서, 시스템의 출력과 입력의 비율을 전달함수(Transfer Function)라고 하며, 일반적으로 G(s) 로 표기합니다:

G(s) = \frac{\text{Output}(s)}{\text{Input}(s)}

기초 개념 2: 신비한 변수 s

전달함수에 등장하는 s복소수 변수입니다. 복소수를 무서워할 필요 없습니다. 실수부와 허수부로 구성된 수일 뿐이니까요:

s = \sigma + j\omega
  • \sigma (실수부): 신호가 감쇠되는지, 아니면 발산되는지를 나타냅니다.
  • j\omega (허수부): 신호의 진동 주파수를 의미합니다.

제로와 극점이란 무엇인가?

이제 주인공인 제로와 극점으로 돌아가 봅시다. 전달함수 G(s) 는 일반적으로 분수 꼴의 다항식이므로 다음과 같이 표현할 수 있습니다 (N(s): 분자, D(s): 분모):

G(s) = \frac{N(s)}{D(s)}

1. 제로(Zero): 시스템을 '0’으로 만드는 마법

  • 수학적 정의: 분자 N(s) = 0 이 되도록 하는 s 값.
  • 물리적 직관: 입력 신호가 제로에 해당하는 특성을 가질 경우, 시스템은 그 신호를 완전히 '흡수’하거나 차단합니다. 이때 전달함수의 값은 0이 되고, 출력은 존재하지 않습니다.

2. 극점(Pole): 시스템을 '폭발’시키는 열쇠

  • 수학적 정의: 분모 D(s) = 0 이 되도록 하는 s 값.
  • 물리적 직관: 어떤 수를 0으로 나누면 무한대가 됩니다. s 가 극점과 같아질 때, 전달함수 G(s) 는 무한대로 발산합니다. 극점은 시스템의 고유 공진 특성궁극적인 운명(안정한지 불안정한지)을 결정합니다.

제로와 극점은 어떻게 구할까?

구하는 방법은 중·고등학교 때 배운 '방정식 풀기’와 동일합니다. 간단한 예를 들어보겠습니다.

어떤 시스템의 전달함수가 다음과 같다고 가정합시다:

G(s) = \frac{s + 5}{s^2 + 4s + 3}

첫 번째 단계: 제로 찾기(분자를 0으로 만들기)

s + 5 = 0

해: 제로 z = -5

두 번째 단계: 극점 찾기(분모를 0으로 만들기)

s^2 + 4s + 3 = 0

이 식을 인수분해하면:

(s + 1)(s + 3) = 0

해: 극점 p_1 = -1, p_2 = -3

이렇게 간단합니다! 보통 우리는 이러한 점들을 실수부를 가로축, 허수부를 세로축으로 하는 2차원 평면 위에 그립니다. 이를 s-평면(s-plane)이라고 합니다. 도식에서는 제로는 보통 “o”, 극점은 “x” 로 표시합니다.


제로와 극점의 활용: 무엇을 결정하는가?

엔지니어들이 이 값을 계산하는 것은 결코 수학 놀이를 위해서가 아닙니다. 제로와 극점의 위치는 시스템의 생사 여부와 성능을 직접 결정합니다.

1. 극점은 시스템의 ‘생사여부’(안정성과 응답 속도)를 결정한다

극점은 제어 시스템의 절대 핵심이며, 그 위치에 따라 시스템이 시간에 따라 어떻게 변화하는지를 결정합니다:

  • 좌반면(실수부 < 0)에 극점이 있는 경우: 시스템은 안정합니다. 넘어져도 다시 일어나는 팽이처럼, 작은 자극을 주면 잠시 흔들리다가 결국 멈춥니다 (신호는 시간이 지남에 따라 감쇠됨). 극점이 좌측으로 갈수록 시스템의 응답이 빠르고 빨리 안정됩니다.
  • 우반면(실수부 > 0)에 극점이 있는 경우: 시스템은 불안정합니다. 바늘 끝에 계란을 세운 것처럼, 조금만 방해해도 오차가 무한히 커지고 결국 시스템이 붕괴됩니다.
  • 허수축(실수부 = 0)에 극점이 있는 경우: 시스템은 임계 안정(marginally stable) 상태입니다. 진동이 계속되며, 크기가 커지지도 작아지지도 않습니다.

2. 제로는 시스템의 ‘성격’(과도 응답)을 결정한다

극점이 시스템이 살아남을 수 있느냐를 결정한다면, 제로는 그 시스템이 얼마나 ‘멋지게’ 살아가는지를 결정합니다:

  • 초과 조정(Overshoot)**: 좌반면의 제로는 마치 갑작스럽게 액셀을 밟는 것처럼 시스템 응답을 빠르게 하지만, 그 대가로 '초과 조정’이 발생할 수 있습니다 (예: 목표 속도 60km/h에 도달하려는데, 70km/h까지 치솟았다가 서서히 내려옴).
  • 비최소 위상(우반면 제로)**: 이런 제로는 매우 골치 아픕니다. 시스템에 위쪽으로 가라는 명령을 내렸을 때, 처음에는 아래로 움직였다가 그 후에야 위로 올라갑니다. 마치 후진 주차할 때, 차 앞부분을 반대 방향으로 돌리는 것과 같습니다.
  • 제로-극점 상쇄(Zero-Pole Cancellation)**: 제어기를 설계할 때, 기존의 극점과 정확히 같은 위치에 제로를 넣으면, 수학적으로 서로 상쇄됩니다! 이를 이용해 시스템 내의 원하지 않는 극점을 ‘지울 수’ 있습니다.

요약

  • 전달함수는 시스템을 s 영역에서 수학적으로 모델링한 것입니다.
  • 제로(o)**는 분자의 근으로, 과도 응답과 초과 조정에 영향을 줍니다.
  • 극점(x)**는 분모의 근으로, 시스템의 안정성과 응답 속도를 결정합니다. 제어기 설계의 핵심 과제 중 하나는 모든 불안정한 극점을 s-평면의 좌반면에 확실히 자리잡게 만드는 것입니다!

이 글이 제어 이론의 어려움을 조금이나마 해소하는 데 도움이 되었기를 바랍니다. 시작이 어렵지만, 이러한 기본 개념을 이해하고 나면 이후 학습은 훨씬 수월해질 것입니다.

1개의 좋아요

이제 극점이 생사여탈을 결정한다는 것을 알았으니, 이제 엔지니어들이 어떻게 PID 제어기를 통해 마치 ‘이동 대법’을 펼치는지 살펴보고, 이 극점들이 보드 선도(Bode Plot) 에서 어떻게 춤을 추는지도 함께 알아보겠습니다.


일, PID 제어기: 극점의 “운반공”

개방 루프 시스템에서는 극점이 하드웨어(인덕터, 커패시터, 질량, 스프링 등)에 의해 자연스럽게 결정됩니다. 하지만 우리가 PID 제어기를 도입하고 폐쇄 루프를 만들면 기적 같은 일이 벌어집니다. 바로 파라미터를 조정함으로써 시스템의 극점을 원하는 위치로 강제로 옮길 수 있다는 것입니다.

1. s 영역에서의 PID 형태

PID의 전달 함수 $C(s)$는 사실 세 부분이 더해진 것입니다:

C(s) = K_p + \frac{K_i}{s} + K_d s = \frac{K_d s^2 + K_p s + K_i}{s}

주의 깊게 보세요! PID 제어기는 본질적으로 시스템에 두 개의 영점과 원점에 하나의 극점을 추가하는 셈입니다.

2. 폐루프 극점은 어떻게 움직일까?

PID와 대상 시스템 $G(s)$를 연결하여 폐루프를 구성하면, 전체 시스템의 “운명 방정식”(특성 방정식)은 다음과 같이 바뀝니다:

1 + C(s)G(s) = 0
  • K_p (비례): 증폭기와 같습니다. $K_p$를 키우면 일반적으로 극점이 허수축에 가까워지며, 시스템 반응이 빨라집니다. 하지만 너무 크면 극점이 오른쪽 반평면으로 넘어가 시스템이 불안정해져 붕괴될 수 있습니다.
  • K_d (미분): 이는 말 그대로 “예측의 달인” 입니다. $K_d$는 실제로 시스템에 '감쇠(damping)'를 주입합니다. s 평면 상에서 보면, 이는 극점을 왼쪽 깊은 곳으로 당겨 시스템을 더 안정되게 하고 진동을 줄입니다.
  • K_i (적분): 이는 “강박관념자” 와 같습니다. 원점에 극점을 하나 배치해 정상 상태 오차(Steady-state error)를 강제로 제거합니다. 하지만 부작용으로 위상 지연을 발생시켜 극점을 오른쪽(허수축 방향) 으로 밀어내고, 불안정성을 유발할 위험이 있습니다.

직관적 이해: PID 파라미터를 조절하는 과정은 마치 s 평면 위에서 자석 놀이를 하는 것과 같습니다. 당신이 다이얼을 돌릴 때마다 자기력이 변하며, 시스템 특성을 나타내는 '극점 구슬’을 왼쪽 반평면의 안전 구역으로 끌어당기는 것이죠.


이, 보드 선도(Bode Plot): 주파수 영역의 “엑스레이 사진”

s 평면이 시스템의 '해부학적 그림’이라면, 보드 선도(Bode Plot) 는 시스템의 '시력 검사표’라고 할 수 있습니다. 이 그래프는 다양한 주파수의 신호가 들어왔을 때 시스템이 어떻게 반응하는지를 알려줍니다.

$s$를 j\omega (순수한 주파수)로 치환하면, 보드 선도는 두 개의 그래프로 구성됩니다: 크기 선도(이득)와 위상 선도.

1. 극점이 보드 선도에서 하는 일

극점은 “에너지 억제자” 입니다.

  • 크기: 주파수 $\omega$가 극점의 값에 도달하면, 이득은 -20dB/dec 의 기울기로 감소하기 시작합니다. 이것은 마치 저역통과 필터처럼, 주파수가 높아질수록 신호가 통과하기 어려워진다는 의미입니다.
  • 위상: 각각의 극점은 -90° 의 위상 지연을 유발합니다. 이것은 매우 위험합니다! 위상이 너무 많이 떨어지면(약 -180°에 접근), 피드백 신호가 오히려 정귀환(positive feedback)이 되어 시스템이 “터지고 맙니다”.

2. 영점이 보드 선도에서 하는 일

영점은 “에너지 증폭기” 입니다.

  • 크기: 주파수 $\omega$가 영점의 값에 도달하면, 이득은 +20dB/dec 의 기울기로 증가합니다. 이는 극점으로 인한 감쇠를 보상할 수 있습니다.
  • 위상: 각각의 영점은 +90° 의 위상 선행을 제공합니다. 그래서 PID 제어기에서 D(미분) 항이 시스템을 안정화할 수 있는 이유입니다 — 즉, 영점이 제공하는 위상의 "선제 효과"를 이용해, 위상이 붕괴되기 직전인 상태를 다시 회복시키는 것이죠.

삼, 왜 PID를 조정할 때 보드 선도를 보는가?

대학 신입생이라면 이렇게 물을 수 있습니다: “s 평면이 있는데 왜 굳이 보드 선도를 배워야 하나요?”

현실 세계에서는 시스템의 정확한 수학 모델(즉, s 평면 상의 점 위치)을 알기 어렵기 때문입니다. 하지만 우리는 시스템에 주파수 스캔 신호를 입력하고, 그 주파수 응답(Frequency Response) 을 직접 측정할 수 있습니다.

  • 만약 보드 선도에서 위상이 너무 급격히 떨어지는 것을 확인하면, D (미분/영점) 을 추가해서 위상을 끌어올려야 한다는 것을 알 수 있습니다.
  • 저주파 영역에서 이득이 부족하다면(정상 상태 오차 존재), I (적분/원점의 극점) 을 추가해야 함을 알 수 있습니다.

지식 요약표

요소 s 평면(근궤적)에서의 역할 보드 선도(주파수 응답)에서의 역할
극점 (Poles) 안정성 결정 (왼쪽 반평면에 있어야 함) 이득 감소, 위상 지연 유발
영점 (Zeros) 응답 경로 변경, 초과조정에 영향 이득 증가, 위상 선행 제공
PID 제어기 영점/극점을 추가해 폐루프 극점 이동 이득 곡선과 위상 여유 조정
1개의 좋아요

실전을 하기로 했으니, 제어 이론계의 "스타 프로젝트"인 역진자(Inverted Pendulum)를 가지고 실험해보겠습니다.

손끝에 막대기를 세워놓은 상상을 해보세요. 아무런 조치도 취하지 않으면 바로 넘어질 것입니다. 이것이 전형적인 불안정 시스템입니다.


첫 번째 단계: 수학 모델 만들기 (간략화 버전)

1학년 학생들도 이해하기 쉽게 역진자의 전달함수 $G(s)$를 간단히 표현하겠습니다:

G(s) = \frac{1}{s^2 - 1}

왜 이 식을 선택했을까?

  • 극점 찾기: 분모가 0이 되는 지점을 구합니다. s^2 - 1 = 0 을 풀면 s_1 = 1, s_2 = -1 입니다.
  • 분석: 여기서 $+1$이라는 극점을 보셨나요? 이것은 s 평면의 오른쪽 반평면(RHP)에 위치합니다. 즉, 아주 작은 바람만 스쳐도 시스템은 지수함수적으로 발산하게 되고, 결국 막대기는 넘어지게 됩니다.

두 번째 단계: PID 마법 적용하기 (극점 이동)

이제 PID 제어기 $C(s)$를 추가해봅시다. 초보자가 혼란스러워할 수 있는 적분(I) 항을 생략하고, 시스템 안정화의 핵심인 미분(D)과 비례(P)만 사용한 PD 제어를 먼저 적용하겠습니다.

C(s) = K_p + K_d s

폐루프 시스템의 특성 방정식(극점 위치를 결정하는 방정식)은 다음과 같습니다: 1 + C(s)G(s) = 0.
이 식에 대입하면 다음을 얻습니다:

s^2 + K_d s + (K_p - 1) = 0

극점의 “대이동”:

  1. 초기 상태: 극점은 $1$과 $-1$에 위치.
  2. K_p 적용: $K_p = 5$로 설정하면, 방정식은 $s^2 + K_d s + 4 = 0$이 됩니다.
  3. K_d 적용: $K_d = 4$로 설정하면, 방정식은 $s^2 + 4s + 4 = 0$이 됩니다.
    • 새로운 극점: $(s+2)^2 = 0$을 풀면 두 극점 모두 -2 에 위치합니다.

기적이 일어났습니다! 위험한 오른쪽 반평면(+1)에 있던 극점들이 우리가 의도적으로 안전한 왼쪽 반평면(LHP)의 $-2$로 옮겨졌습니다. 이제 막대기를 밀어도 자동으로 중심으로 되돌아옵니다.


세 번째 단계: 보드선도 살펴보기 (주파수 영역 관점)

우리가 극점을 이동시키면 보드선도(Bode plot)도 크게 변화합니다.

1. 제어기 없을 때 (불안정):

  • 위상(Phase): 낮은 주파수에서 이미 $-180^\circ$에 매우 가깝습니다.
  • 직관적 해석: 막대기를 왼쪽으로 잡아세우려 할 때, 시스템의 반응이 항상 늦어져 오히려 더 큰 실수를 범하게 되고, 결과적으로 막대기가 더 빨리 넘어집니다.

2. PD 제어기 추가 후:

  • D(미분) 항의 기여: 기억하세요? $D$항은 제로점(zero) 역할을 합니다. 보드선도에서 위상 곡선을 위로 당깁니다(위상 선진 효과 제공).
  • 위상 여유(Phase Margin): 제로점 덕분에 위상이 -180^\circ 근처에서 -120^\circ 이상까지 끌어올려집니다. 이처럼 확보된 수십 도의 여유가 바로 시스템의 "안전장치"입니다.

네 번째 단계: 실전 연습 (코드 시뮬레이션)

control 라이브러리를 활용한 Python 코드로 이 과정을 직접 확인해볼 수 있습니다. 마치 실험실 컴퓨터에서 직접 코드를 실행한다고 생각하시면 됩니다.

import control as ct
import matplotlib.pyplot as plt

# 1. 불안정한 역진자 시스템 정의: G(s) = 1 / (s^2 - 1)
sys_open = ct.TransferFunction([1], [1, 0, -1])

# 2. PID 파라미터 정의 (여기서는 PD 제어 사용)
Kp = 10
Kd = 6
C = ct.TransferFunction([Kd, Kp], [1]) # C(s) = Kd*s + Kp

# 3. 폐루프 시스템 계산
sys_closed = ct.feedback(C * sys_open, 1)

# 4. 그래프 비교: 계단 응답 (막대기가 넘어지는지 확인)
t, y_open = ct.step_response(sys_open)   # 원래 시스템
t, y_closed = ct.step_response(sys_closed) # 폐루프 시스템

plt.plot(t, y_closed, label='PID 적용 (안정!)')
plt.title("Step Response: Can we keep the pendulum upright?")
plt.legend()
plt.show()

결과 분석:

  • PID 없음: 계단 응답 곡선이 로켓처럼 수천, 수만까지 치솟습니다. 이는 막대기가 넘어졌음을 의미합니다.
  • PID 적용: 곡선이 처음엔 진동하지만 금방 1의 위치에서 안정됩니다. 여러분의 손끝이 성공적으로 막대기를 잡고 있다는 뜻입니다!

요약: 무엇을 배웠는가?

  1. 제어의 본질: PID와 같은 수학적 방법을 통해 시스템이 원래 갖고 있던 나쁜 극점들을 우리가 원하는 좋은 극점들로 바꾸는 것입니다.
  2. S 평면: 극점이 왼쪽 반평면의 '안전 구역’에 있는지 한눈에 확인할 수 있게 해줍니다.
  3. 보드선도: 제어기가 충분한 '위상 보상’을 제공하여 지연을 상쇄할 수 있는지 판단하는 데 도움을 줍니다.

이것이 바로 제어 엔지니어의 일상입니다. 복소 평면 위에서 전략을 짜고, 보드선도 위에서 정교한 조율을 하는 것이죠.

1개의 좋아요