6.5 PID 제어기(PID Controller)
PID 제어기(Proportional-Integral-Derivative Controller)는 산업 제어 분야에서 가장 널리 사용되는 피드백 제어 기법으로, 자율주행 시스템의 종방향 및 횡방향 제어에서도 기본적인 제어 알고리즘으로 활용된다. PID 제어기는 구현이 간단하고 파라미터 조정이 직관적이며, 적절히 튜닝된 경우 다양한 운전 조건에서 양호한 성능을 제공한다. 본 절에서는 PID 제어기의 수학적 정식화, 각 제어 항의 역할, 이산 시간 구현, 파라미터 튜닝 기법, 그리고 자율주행 제어에서의 적용 사례를 기술한다.
1. PID 제어기의 수학적 정식화
PID 제어기는 제어 오차 e(t)에 대한 비례(Proportional), 적분(Integral), 미분(Derivative) 연산의 가중합으로 제어 입력 u(t)를 산출한다. 연속 시간(continuous-time) 영역에서의 PID 제어 법칙은 다음과 같다.
u(t) = K_p e(t) + K_i \int_0^t e(\tau) \, d\tau + K_d \frac{de(t)}{dt}
여기서 각 파라미터의 의미는 다음과 같다.
| 파라미터 | 명칭 | 역할 |
|---|---|---|
| K_p | 비례 이득(Proportional Gain) | 현재 오차에 비례하는 제어 출력 생성 |
| K_i | 적분 이득(Integral Gain) | 누적 오차를 보상하여 정상 상태 오차 제거 |
| K_d | 미분 이득(Derivative Gain) | 오차의 변화율에 반응하여 과도 응답 개선 |
제어 오차 e(t)는 목표값(setpoint) r(t)과 측정값(process variable) y(t)의 차이로 정의된다.
e(t) = r(t) - y(t)
2. 각 제어 항의 역할과 특성
2.1 비례 항(P 항)
비례 항 K_p e(t)는 현재 오차의 크기에 비례하는 제어 출력을 생성한다. 오차가 클수록 제어 출력이 커지므로 빠른 응답을 유도하나, 비례 제어만으로는 정상 상태 오차(steady-state error)를 완전히 제거할 수 없다. 비례 이득 K_p를 증가시키면 응답 속도가 빨라지나, 과도하게 높은 K_p 값은 오버슈트(overshoot)와 진동(oscillation)을 유발하며, 극단적인 경우 시스템이 불안정해질 수 있다.
2.2 적분 항(I 항)
적분 항 K_i \int_0^t e(\tau) \, d\tau는 오차의 시간 누적값에 비례하는 제어 출력을 생성한다. 적분 항의 주요 기능은 정상 상태 오차를 제거하는 것이다. 비례 제어만으로는 일정한 외란(예: 도로 경사)이 존재할 때 잔류 오차가 발생하지만, 적분 항은 이러한 오차를 시간에 따라 누적하여 보상한다.
그러나 적분 항에는 적분기 와인드업(integrator windup)이라는 문제가 수반된다. 구동기의 포화(saturation)로 인하여 제어 입력이 물리적 한계에 도달한 상태에서도 적분기가 계속 오차를 누적하면, 포화가 해제된 후 과도하게 큰 제어 출력이 발생하여 오버슈트와 불안정을 초래한다.
2.3 미분 항(D 항)
미분 항 K_d \frac{de(t)}{dt}는 오차의 변화율에 비례하는 제어 출력을 생성한다. 미분 항은 오차가 증가하는 방향으로의 움직임을 사전에 억제하는 예측적(predictive) 역할을 수행하며, 이를 통해 오버슈트를 감소시키고 과도 응답(transient response)의 감쇠(damping)를 개선한다.
그러나 미분 항은 측정 잡음(measurement noise)에 민감하다는 한계가 있다. 잡음이 포함된 신호의 미분은 고주파 성분을 증폭시켜 제어 출력에 불필요한 변동을 유발한다. 이를 완화하기 위하여 미분 항에 저역 통과 필터(low-pass filter)를 적용하는 것이 일반적이다.
3. 이산 시간 PID 구현
디지털 제어 시스템에서 PID 제어기는 이산 시간(discrete-time) 형태로 구현된다. 샘플링 주기를 T_s라 할 때, 시각 k에서의 이산 시간 PID 제어 법칙은 다음과 같다.
u[k] = K_p e[k] + K_i T_s \sum_{j=0}^{k} e[j] + K_d \frac{e[k] - e[k-1]}{T_s}
적분 항의 이산화에서는 직사각형 적분법(rectangular integration)을 사용하였으나, 사다리꼴 적분법(trapezoidal integration)을 적용하면 정확도를 향상시킬 수 있다.
\sum_{j=0}^{k} e[j] \approx \sum_{j=0}^{k} e[j] \quad \text{(직사각형)} \quad \text{또는} \quad \sum_{j=1}^{k} \frac{e[j] + e[j-1]}{2} \quad \text{(사다리꼴)}
3.1 증분형 PID(Incremental PID)
증분형 PID는 위치형(positional) PID의 변형으로, 이전 시각의 제어 출력에 대한 증분(increment) \Delta u[k]를 산출한다.
\Delta u[k] = K_p (e[k] - e[k-1]) + K_i T_s \, e[k] + K_d \frac{e[k] - 2e[k-1] + e[k-2]}{T_s}
u[k] = u[k-1] + \Delta u[k]
증분형 PID는 적분기 와인드업 문제를 자연스럽게 완화하며, 구동기의 출력 한계 처리가 용이하다는 장점이 있다.
4. 안티 와인드업(Anti-Windup) 기법
적분기 와인드업 문제를 해결하기 위한 대표적인 안티 와인드업 기법은 다음과 같다.
4.1 적분 제한(Clamping)
적분기의 출력값에 상한과 하한을 설정하여 과도한 누적을 방지한다.
I[k] = \text{clamp}\left(I[k-1] + T_s \cdot e[k], \; I_{\min}, \; I_{\max}\right)
4.2 조건부 적분(Conditional Integration)
구동기가 포화 상태에 있고, 오차의 부호가 포화를 심화시키는 방향인 경우 적분을 중단한다.
4.3 역추적(Back-Calculation)
구동기의 포화량에 비례하여 적분기를 되감는(back-calculate) 방식이다. 실제 구동기 출력 u_{sat}과 제어기 출력 u 사이의 차이를 적분기에 피드백한다.
I[k] = I[k-1] + T_s \cdot e[k] + \frac{T_s}{T_t} (u_{sat}[k-1] - u[k-1])
여기서 T_t는 역추적 시간 상수(tracking time constant)이다. Åström과 Hägglund(2006)에 따르면, T_t = \sqrt{T_i T_d}로 설정하는 것이 일반적이며, 여기서 T_i = K_p / K_i, T_d = K_d / K_p이다.
5. PID 파라미터 튜닝
PID 제어기의 성능은 이득 파라미터 K_p, K_i, K_d의 선택에 크게 의존한다. 대표적인 튜닝 기법은 다음과 같다.
5.1 Ziegler-Nichols 방법
Ziegler-Nichols 방법(Ziegler & Nichols, 1942)은 실험적 접근에 기반한 고전적 튜닝 기법이다. 두 가지 변형이 존재한다.
- 개루프(Open-Loop) 방법: 제어 대상에 계단 입력(step input)을 인가하고, 응답의 시간 지연(dead time) L과 시간 상수(time constant) T를 측정하여 이득 값을 결정한다.
- 폐루프(Closed-Loop) 방법: 적분 및 미분 항을 제거하고 비례 이득만을 증가시켜 지속 진동(sustained oscillation)이 발생하는 임계 이득(ultimate gain) K_u와 임계 주기(ultimate period) T_u를 측정한다.
폐루프 방법에 기반한 PID 이득 설정 지침은 다음과 같다.
| 제어기 유형 | K_p | K_i | K_d |
|---|---|---|---|
| P | 0.5 K_u | — | — |
| PI | 0.45 K_u | 0.54 K_u / T_u | — |
| PID | 0.6 K_u | 1.2 K_u / T_u | 0.075 K_u T_u |
Ziegler-Nichols 방법은 초기 파라미터 추정에 유용하나, 자율주행과 같이 비선형성이 강한 시스템에서는 추가적인 미세 조정(fine-tuning)이 필요하다.
5.2 이득 스케줄링(Gain Scheduling)
차량의 동역학 특성은 속도, 적재 하중, 노면 조건 등에 따라 변화하므로, 단일 PID 이득 세트로는 전체 운전 영역에서 만족스러운 성능을 얻기 어렵다. 이득 스케줄링은 운전 조건에 따라 PID 이득을 동적으로 변경하는 기법이다.
예를 들어, 종방향 속도 제어에서 속도에 따른 이득 스케줄링은 다음과 같이 구현될 수 있다.
K_p(v) = K_{p,0} + k_{p,v} \cdot v
여기서 K_{p,0}은 기본 비례 이득, k_{p,v}는 속도에 대한 이득 조정 계수이다. 고속에서는 동일한 오차에 대하여 더 큰 제어 출력이 필요할 수 있으므로, 이득을 속도에 따라 증가시키는 것이 일반적이다.
6. 자율주행에서의 PID 적용
6.1 종방향 속도 제어
PID 제어기는 종방향 속도 제어에서 가장 빈번하게 적용된다. 속도 오차 e_v = v^{ref} - v_x에 대하여 목표 가속도 a^{cmd}를 산출하는 형태이다.
a^{cmd} = K_p e_v + K_i \int e_v \, dt + K_d \dot{e}_v
실제 구현에서는 피드포워드(feedforward) 항을 추가하여 응답 속도를 향상시킨다.
a^{cmd} = a^{ref}_{ff} + K_p e_v + K_i \int e_v \, dt + K_d \dot{e}_v
여기서 a^{ref}_{ff}는 참조 궤적에서 제공하는 목표 가속도로, 경사 저항, 공기 저항 등의 보상을 포함할 수 있다.
6.2 횡방향 조향 제어
PID 제어기를 횡방향 제어에 적용하는 경우, 횡방향 오차 e_{lat}에 대하여 조향각을 산출한다. 그러나 횡방향 제어는 차량의 비선형 동역학과 속도 의존적 특성으로 인하여, 순수한 PID 제어만으로는 성능 한계가 명확하다. 따라서 횡방향 제어에서는 PID를 보조 제어기로 활용하거나, 기하학적 제어 기법(Pure Pursuit, Stanley) 또는 최적 제어 기법(LQR, MPC)과 결합하여 사용하는 것이 일반적이다.
7. PID 제어기의 한계
자율주행 제어에서 PID 제어기의 주요 한계는 다음과 같다.
- 비선형 동역학 미반영: PID 제어기는 선형 제어 기법으로, 차량의 비선형 동역학(타이어 포화, 구동계 비선형성 등)을 명시적으로 고려하지 못한다.
- 구속 조건 처리 불가: 조향각 한계, 가속도 한계 등의 물리적 구속 조건을 직접적으로 처리하는 메커니즘이 없다.
- 다변수 시스템 부적합: PID는 단일 입력-단일 출력(SISO) 시스템을 대상으로 하며, 종방향과 횡방향의 결합(coupling) 효과를 동시에 처리하기 어렵다.
- 예측 능력 부재: 미래의 경로 정보를 활용할 수 없으므로, 곡률이 급변하는 구간에서 선제적 대응이 불가능하다.
이러한 한계에도 불구하고, PID 제어기는 구현의 단순성, 낮은 연산 비용, 그리고 확립된 튜닝 방법론을 갖추고 있어, 자율주행 제어 시스템의 기초 구성 요소로서 여전히 중요한 역할을 수행한다.
참고문헌
- Åström, K. J., & Hägglund, T. (2006). Advanced PID Control. ISA — The Instrumentation, Systems and Automation Society.
- Ziegler, J. G., & Nichols, N. B. (1942). Optimum Settings for Automatic Controllers. Transactions of the ASME, 64(11), 759–768.
- Ang, K. H., Chong, G., & Li, Y. (2005). PID Control System Analysis, Design, and Technology. IEEE Transactions on Control Systems Technology, 13(4), 559–576.
버전: 2026-04-11 v1.0