본문 바로가기

제어

(제어) PID 제어, P제어에 대하여...

루프 제어의 대표적인 방식 중 하나는 바로 PID 제어이다. 다음은 PID 제어기의 제어 값 변경에 따른 그래프 시뮬레이션이다.

 

위키백과 PID 제어기 시뮬레이션

 

그렇다면 정확히 PID 제어는 무엇일까?

 

PID 제어란 에러 값을 비례/ 적분/ 미분 한 값을 루프 형식으로 제어하는 방식이다.

 

여기에서 에러 값이란 도달하고 싶은 목푯값과 실제 측정값의 차로 생각하면 됩니다.

 

즉, 철수가 특정 목표 지점까지 이동하다가 목표지점을 지나 추가로 더 이동한 위치 값은 측정값 즉, 실제 본인의 위치 값이 된다. 이때 에러 값은 측정값에서 목표점의 거리 차가 되고, 이 값에 특정 계수를 곱하거나, 적분, 미분에러 값이 감소하게 만드는 제어 방식이다.

오늘은 PID 제어 중 P(Proportion) 비례 제어에 대해여 알아보자. 

 

P는 비례 제어로 단순히 에러 값에 특정 계수를 곱하는 방식의 제어이다.

 

그렇다면, P 제어가 어떠한 방식으로 목푯값에 도달할 수 있는지 예시를 통해 알아보자.

 

자동차의 속도를 일정하게 유지시키는 크루즈 컨트롤(CC) 기능을 예로 들어보자. 10m/s으로 일정한 속도를 유지하기 위해 목푯값은 10m/s이다. 이때 P값을 임의로 0.5이라 설정해보자. 

 

 

  1. 만약 1초 후 차량의 측정된 속도 값이 4m/s 이면 이때 목푯값 10m/s와 6m/s의 오차가 나타난다.
  2. 이를 P 값 0.5와 곱하면 3m/s이라는 값이 나오고 이를 4m/s에 더하면 7m/s에 도달하게 된다.
  3. 다시 7m/s에서 10m/s 와의 차는 3m/s으로 여기에 P 값을 곱한 1.5m/s 만큼의 속도를 올린다.

 

 

다음과 같은 과정을 계속 반복하면 원하는 10m/s 근처까지 도달할 수 있다.

 

 

 

 

하지만, 이러한 방식을 살펴보면 두 가지 문제점이 나타날 수 있다.

 

첫 번째로는 목표치에 도달할수록 에러 값은 0에 가까워지고 P 값을 에러 값에 곱해도 그 조작 량이 너무 작아 결국 목푯 값에는 도달하지 못하는 문제가 있습니다.

 

둘째로는 게인 값이 너무 크거나 작아도 문제가 생길 수 있다는 점입니다. 게인 값이 너무 크게 되면 오버슛팅이 발생하게 되고 게인값이 너무 작으면 목푯값에 도달하는데 오랜 시간이 걸립니다.

 

(K =0.5, K = 1.1, K = 1.6) PID 시뮬레이션

 

 

다음 그래프를 보면 파란색 선이 목표로 하는 Reference 값이며, K 즉 P값에 따라 각 그래프 양산을 확인할 수 있습니다.

 

K = 1.6 즉, P 값이 클 때 그래프에 오버슈팅이 발생하는 것을 확인할 수 있습니다. 이를 자동차의 속도를 제어한다고 생각하면 탑승자는 빠른 가감속에 멀미를 느낄 겁니다. (오버슈팅에 대한 설명은 나중에 추가로 진행하겠습니다!)

 

다음은 는 K = 1.1 일 때 그래프 양산이며 가장 적합한 K 값으로 보입니다.

 

마지막으로 이보다 작은 K = 0.5 인 경우에 목표 속도와 비슷해지는데 대략 7초라는 오랜 시간이 소요되는 것을 확인할 수 있습니다.

 

이러한 적당한 K 값은 시뮬레이션을 통해서 구할 수 있으며 경험적인 방법으로도 도출해낼 수 있습니다.

 

그럼 다음 시간에는 P 값을 보완할 수 있는 I(Integral) 적분항 값에 대해 소개하며 PI 제어기에 대한 설명을 진행하겠습니다.

 

 

 

감사합니다!