# PID Controller: 산업적으로 매우 넓게 사용되는 제어 시스템. 수학적이기보단 실용적인 목적으로 만들어져서 사용되는 공학의 영역이다.

https://en.wikipedia.org/wiki/PID_controller#Proportional_term



P, I, D 세가지 요소로 우리가 원하는 target value를 만들어내기 위해 최적의 제어 routine을 만들려는 것이다.

예를 들어 에어컨을 틀어서 실내온도를 30도에서 20도로 만들려면 어떻게 해야할까? 너무 과하게 가동하면 자칫 온도가 18도까지 내려갈수도 있고, 너무 살살틀면 20도까지 가려면 한도끝도 없이 기다려야할 것이다.

그래서 매우 빠르고 정확하게 20도를 만들어내기 위한 제어가 필요한데, 그럴 때 사용되는 것이 바로 PID 제어이다.


P: Proportional, 이는 현재온도와 원하는 target 온도와의 차이인 에러가 현재 얼마나 되는가를 알려주는 변수를 의미한다. P만으로는 error가 0이되게 만들 수 없어 I와 D가 필요하다.

I: Integral, 이는 현재온도와 target 온도의 차이인 에러의 과거 속도들을 시간에대해 적분한 변수이다. P만으로는 error가 0이될 수 없는 상황에서, 시간에 따라 누적되는 error를 통해 점점 더 큰 signal을 만들어내어 궁극적으로 error 0이 될수 있게 한다. I만 가지고 제어를하면, 반드시 error를 0으로 만들 수 있지만, 에러가 누적될 때 까지 오랜 시간이 걸리고, 에러가 0으로 가는 과정에서 Overshoot이 반드시 발생하게 된다.

D: Derivative, 이는 현재온도와 target 온도의 차이인 에러가 미래에 어떻게 될 것인지 에러 변화 속도를 미분으로 구하여 알려주는 변수이다.  D만으로는 에러를 0으로 만들 수 없고, I에 의해 Overshoot이 되는 현상을 완화하고 방지하는 역할을 한다.


이 세가지 변수들을 덧셈으로 연결하여 다음과 같은 수식이 만들어지는데, 이것이 바로 PID제어의 형태이다.


Kp: Proportional term에 대한 계수

Ki: Integral term에 대한 계수

Kd: Derivative term에 대한 계수


위 세가지 계수를 사람이 적절히 튜닝하여 가장 이상적으로 원해지는 제어식을 완성한다. 만약 이중에서 Kd값이 0이라면, 이는 PI제어가 되고, Ki가 0이라면, PD 제어가 되는 식이다.


제대로 된 제어를 하기 위해선 위 세가지 텀들이 모두 필요한데, 자세한 예시는 아래를 참조하기 바란다.

https://en.wikipedia.org/wiki/PID_controller#Control_loop_example



'연구' 카테고리의 다른 글

PID 제어  (0) 2018.11.13
Github Markdown 사용법  (0) 2017.08.21
Tex, LaTeX, Lyx  (0) 2015.08.10
논문 작성시 저작권의 공정 이용  (0) 2015.08.10
What is Artificial Intelligence and What is Machine Learning?  (0) 2015.03.11
by 곽동현 이스텔리앙 2018. 11. 13. 13:13