제어

제어 2 - 피드백 제어의 표준 PID의 원리

PID 제어의 핵심 원리를 쉽게 이해하세요.

권민재

PID 제어란?

PID는 목표값과 현재값의 오차 e(t) 로 제어 입력을 만드는, 가장 널리 쓰이는 피드백 제어기입니다.

u(t)=Kp⋅e(t)+Ki⋅∫e(t)dt+Kd⋅de/dtu(t) = Kp·e(t) + Ki·∫e(t)dt + Kd·de/dt

P 제어 (비례제어)

목표값에 대한 오차에 비례하여 출력 값을 계산하는 방식

u=Kp⋅e(t)u = Kp · e(t)

P제어의 문제

  1. Kp를 키우면 응답이 빨라지고 정상상태 오차가 줄어든다. 단, 너무 키우면 진동하고 결국 불안정해지게 됩니다.

  2. 플랜트에 적분 작용이 없으면(type-0), 중력·마찰 같은 외란을 버티려 오차가 0이 아닌 값에서 균형을 잡게됩니다.
    즉 목표값에 '거의' 도달하지만 끝까지 못 붙는다고 볼 수 있습니다.
    예시로 히터를 들 수 있습니다. 히터는 계속 일정한 입력을 주면 일정한 출력이 나옵니다.

  3. 플랜트 자체에 적분기가 있으면(type-1) P만으로도 스텝 입력 offset이 0이 됩니다.
    모터에 전압을 주면 각도가 계속 쌓이면서 올라가는것을 예시로 들 수 있습니다.

    P제어 예시
    P제어 예시

I 제어 (누적 값에 따른 제어)

쌓힌 오차를 적분해서 출력 값을 계산하는 방식

u=Ki⋅∫e(t)dtu = Ki · ∫e(t)dt

작은오차가 오래동안 지속되면 점점 제어값이 누적되어 커집니다, 목표값에 정확하게 일치시키기 위해 사용되어집니다.
P제어에서 생기는 오차를 보정하기위해 주로 사용됩니다.

I 제어의 문제

  1. 목표값에 도달하면 쌓인 적분값이 한번에 없어지면서 진동이 생길 수 있습니다. Ki, 계수가 커지면 커질 수록 해당 진동현상이 심해집니다.

  2. 액추에이터가 포화된 동안에도 적분값이 계속 쌓여, 풀릴 때 큰 오버슈트를 만드는 현상이 있습니다.
    이러한 문제는 anti-windup 방식을 통해 막습니다.

I제어 예시
I제어 예시

D 제어 (순간변화율에 따른 제어)

u=Kd⋅de/dtu = Kd · de/dt

오차가 얼마나 빨리 변하는지 보고 미리 제동을 거는 방식으로, 오버슈트를 억제하고 진동을 줄여 시스템을 안정화할 수 있습니다.

D 제어의 문제

  1. 미분은 노이즈의 고주파 성분을 증폭해서 확인하는데, 이는 측정값이 조금만 떨려도 D 항이 출력을 펄럭이게 만드는 문제가 있습니다.
    이를 해결하기 위해 아래와 같은 방식들을 사용합니다.
    - 오차가 아닌 측정값(PV)에 미분 → setpoint 급변 시 derivative kick 방지
    - 미분에 저역통과 필터(filtered derivative).

D 제어 예시
D 제어 예시