현재 오차, 쌓인 오차, 변화 추세
목표 r에서 측정 y를 뺀 e=r−y를 오차로 정의한다. P(비례) 항은 현재 오차에, I(적분) 항은 시간에 걸쳐 쌓인 오차에, D(미분) 항은 빠른 변화에 반응한다. PI는 P와 I, PD는 P와 D, PID는 세 항을 결합한다. 세 항을 모두 넣을수록 언제나 좋아지는 순서는 아니다. 제어 대상의 동역학·지연·포화·잡음과 함께 판단해야 한다.
예를 들어 정적 가상 관계 y=u, P 제어 u=2(r−y), 목표 r=1이라면 정상상태에서 y=2(1−y)라 y=2/3, 오차는 1/3이다. P가 출력을 유지하려면 이 모델에서는 오차가 남아야 한다. 반대로 적분기를 가진 다른 대상에서는 P만으로 계단 오차가 0이 될 수도 있어 ‘P는 항상 정상 오차가 있다’고 일반화하지 않는다. I는 안정적이고 목표가 실현 가능한 등의 조건에서 일정 오차를 줄이는 데 도움이 되지만, 큰 적분 이득이 진동이나 불안정을 만들 수도 있다. 저자 토크 PID 비교를 이런 조건과 함께 읽는다.
이산 구현의 한 가지 규칙을 고정한다
여기서는 r, y, u를 무차원 정규화값으로 쓰고 시간은 s다. 샘플 번호는 k, 간격은 T>0이다. Kp는 무차원, Ki는 s⁻¹, Kd는 s 단위다. I[k]는 오차 적분 자체가 아니라 Ki를 이미 곱한 출력 기여량이다. 이전 I와 측정 y[k−1]을 저장한다. P는 오차, D는 목표 변화의 급격한 충격을 줄이기 위해 측정의 변화에 음의 부호로 적용한다. 목표가 바뀔 때 오차를 직접 미분하는 형식과 구분한다.
그림 M07.03-1. 각 칸은 서로 다른 역할/근거다. 아래 방향은 자료/처리의 연결이며 실제 성공을 자동으로 보장하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.
v는 포화 전의 요구 출력이고 실제 모델에 적용할 u는 [−1,1]로 제한한다. clip(v,−1,1)은 이 범위를 넘는 값을 경계값으로 자르는 함수다. 그냥 u만 자르고 I는 계속 쌓으면, 실행할 수 없는 요구가 적분 상태 안에 남을 수 있다. 목표가 바뀌어도 포화에서 오래 빠져나오지 못하는 현상을 적분 windup이라고 한다.
이번 조건부 적분(conditional integration)은 다음 순서로 정의한다. v_trial>1이면서 e>0이거나 v_trial<−1이면서 e<0이면 적분 증가가 포화를 더 밀어붙이는 방향이므로 I_trial을 거절하고 I[k]=I[k−1]로 둔다. 그 외에는 I[k]=I_trial을 수락한다. 이후 최종 v=P+I[k]+D와 u=clip(v,−1,1)을 다시 계산한다. 경계와 같은 값은 엄격한 초과가 아니므로 이 규칙에서는 거절하지 않는다. Ki≥0과 위 대칭 포화 모델을 가정한 교육용 알고리즘이다. 다른 anti-windup이나 실제 내부 구동 제한과 같은 구현이라고 가정하지 않는다.
포화된 한 행을 계산한다
Kp=2, Ki=1 s⁻¹, Kd=0.1 s, T=0.1 s, 이전 I=0.4라고 하자. r=1.8, y=0.8, 이전 y=0.7면 e=1, P=2, D=−0.1이다. I_trial=0.5, v_trial=2.4이므로 포화 출력은 +1이다. 조건부 적분을 쓰지 않으면 I=0.5가 저장된다. 조건부 적분은 양의 포화를 양의 오차가 더 밀어 I 증가를 거절하므로 I=0.4, 최종 v=2.3, u=1이다. 같은 포화 출력이라도 내부 적분 상태는 달라졌다.
다음 연속 업데이트의 합성 행에서 목표가 0.2, 측정과 이전 측정이 모두 0.8이면 e=−0.6, P=−1.2, D=0이다. 조건부 경로의 이전 I=0.4를 쓰면 I_trial=0.34, v=−0.86으로 범위 안이므로 수락한다. 적분을 언제나 멈추는 것이 아니라 복귀에 도움이 되는 변화를 허용하는 규칙이다. 무조건 적분 경로의 이전 I=0.5라면 다음 I=0.44, v=−0.76이다. 두 행은 이미 주어진 합성 측정이며 이 값들이 특정 plant의 실제 궤적을 재현한다고 주장하지 않는다.
미분과 샘플링도 제어기의 일부다
D는 빠른 변화에 반응하므로 고주파 측정 잡음을 크게 만들 수 있다. 측정이 같은 크기 0.01만큼 튀었을 때 Kd=0.1 s라면 T=0.1 s에서 D=−0.01이지만 T=0.01 s에서는 −0.1이다. 더 자주 계산한다는 이유로 같은 이득과 잡음에서 출력이 항상 좋아지는 것은 아니다. 실제 구현은 미분 필터와 측정 대역폭·시간 지연을 함께 설계한다. 측정 미분은 목표 step에 의한 직접 D 충격을 줄이지만 측정 잡음을 없애지는 않는다.
샘플 누락과 jitter가 있으면 실제 시간 간격과 고정 T의 차이를 기록한다. 시간 간격이 0이나 음수면 나눗셈을 그대로 수행하지 않고 초기화/시간 점프 규칙을 적용해야 한다. 간격을 실제값으로 바꿔 넣는 것만으로 가변 샘플 시스템의 안정성이 자동 확보되는 것도 아니다. M07.02의 연속 모델 이득을 가져올 때에도 유지·지연·포화와 이산 구현을 확인한다.
판정 기록에는 목표/측정·P/I/D·포화 전후 출력·실제 적용 가능한 입력·샘플 간격을 함께 남긴다. 오차만 줄었다고 좋은 튜닝이라고 결론 내리면 긴 포화나 큰 입력 진동을 놓칠 수 있다. 조건부 적분을 포함한 제조사 설명은 원리 비교 자료이며 MATLAB/Simulink 설치는 이 활동에 필요 없다.
선택 보충인 브라우저 PID 개념 모형은 정규화 1차 plant와 샘플 지연·포화를 비교하는 별도 모형이다. exact ZOH 갱신으로 계산하는 가상 응답이며 실제 ROS·모터·마찰 모형이나 실시간 실행이 아니다. 아래 종이 실습은 위젯 없이 완결되며, 본문의 두 합성 측정 행을 위젯의 동일한 출력이라고 가정하지 않는다.