누군가가 의도를 가지고 무언가를 원하는 목표대로 제어하기 위해서는 제어하려고 하는 무언가에 해당하는 제어대상이 있어야 하며 제어대상은 입력에 따라 다른 결과를 출력해야 한다.
이때 제어대상에 입력하는 값은 의도를 가진 누군가에 의해 만들어지며, 우리는 이 의도를 가진 누군가를 제어기(Controller)라고 부른다.
제어기는 목표에 따라 다른값을 출력하며 이 제어기의 출력은 제어대상으로 입력된다.
자동차의 예로 다시 설명한다면 자동차는 제어대상이고 자동차의 속도는 제어대상의 출력이 된다. 가속 페달은 제어대상인 자동차의 입력이 되며, 가속페달을 밟는 사람이 의도를 가진 누군가, 즉 제어기가 된다.
자동체 속도제어
제어기 입장에서는 가속페달을 밟는 양이 제어기 출력이 되며 이 출력은 제어기에 입력된 목표속도로부터 결정된다.
뽀로로 영상을 보고 있는 아이와 엄마의 예에서는 아이가 제어대상, 아이의 행동이 제어대상의 출력이 될 수 있다.
아이의 행동 제어
엄마가 아이에게 하는 말 또는 행동이 제어대상의 입력인 동시에 제어기의 출력이 되고 이 모든 것들의 시작인 목표(목표 또한 엄마로부터 나온다)는 아이가 뽀로로 동영상을 그만 보고 장난감을 정리하는 것이다.
이와 같이 입력에 따라 다른 출력을 내는 제어대상과, 목표를 가지고 제어대상에게 전달할 입력을 만들어내는 제어기를 포함하고 있는 구조를 제어시스템이라고 한다.
다시말해 제어시스템은 목표, 제어기, 제어기출력(제어대상의 입력), 제어대상, 출력으로 구성된다.
제어시스템 구성
기본적인 제어시스템은 그림과 같이 구성되며, 제어대상의 성능에 따라, 제어기의 성능에 따라 제어목표를 달성하기도 하고 달성하지 못하기도 한다.
한해의 목표를 세우고 목표를 달성하는 것, 아이들을 잘 키우는 것, 조직을 잘 이끄는 것, 사람들과 좋은 관계를 유지하는 것 등과 같이 의도를 가지고 원하는 목표를 달성하려고 할 때 각각의 상황들을 제어시스템에 대입해보면 문제의 원인 및 해결의 실마리를 체계적, 분석적으로 찾을 수 있다.
정의한 제어시스템 내의 제어대상, 제어기, 목표, 입력,출력 등을 부분적으로 나눠서 분석하다보면 제어시스템이 제대로 동작하지 않는 이유를 알게 되고 그에 대한 해결책을 고민해볼 수 있다.
목표는 적절한지, 제어기는 목표값을 제대로 입력 받고 있는지, 제어기가 제대로된 제어출력을 잘 내어주고 있는지, 제어대상이 입력은 잘 받아들이는지, 입력에 따라 결과를 잘 출력하는지, 제어 대상이 원하는 목표를 잘 달성하는지등을 각각의 기준에 맞게 확인 해 본다면 제어시스템이 제대로 작동되고 있는지 확인이 가능하기 때문이다.
이런 것들을 확인함으로써 제어대상의 성능, 제어기의 성능 파악을 통해 전체 제어시스템의 성능을 판단해볼 수 있으며, 더 나은 성능을 위해 어떤 것들을 개선해야 할지 검토해볼 수 있다.
우리의 목적은 제어시스템을 잘 이해하고 궁극적으로 제어를 잘 하는 것에 있기 때문에 위에 언급한 내용에 대해 하나하나 짚어가면서 이야기 해보려고 한다.
독자들마다 원하는 목표을 이루게 하려는 제어시스템은 다를 수 있겠지만, 제어시스템의 성능을 좋게 하기 위한 방법론은 크게 다르지 않으므로 여기에서 소개하는 다양한 방법들을 잘 이해하고 적용해봄으로써 지금보다 더 나은 좋은 결과를 기대해볼 수 있을 것이라 생각한다.