제어 시스템의 기본적인 구성
자동제어란 무엇인가 : 쓰지로 시메무라 저서, 김상진 역, 성안당, 1994, Page 17~25
7. 제어 시스템의 두뇌 : 컨트롤러 (Controller)
세상에서 제어가 행해지고 있는 시스템은 여러 가지가 있다. 즉 비행기나 로켓과 같은 거대한 것이 있는가 하면, 쿨러나 냉장고와 같은 일상 주변의 것도 있다. 그 시스템이 동작하는 구조도 각양각색이며 그 복잡함도 천차만별이다. 그러나 그들을 제어하기 위한 시스템, 즉 제어 시스템의 구성은 기본적으로 어느 경우나 거의 비슷하다.
우선, 쿨러로 방의 온도를 자동적으로 조절하는 시스템에 대해 생각해 보자. 여기에서 조절이라는 말을 사용했는데 이것도 제어와 거의 같은 의미이며, 특히 실내 온도 제어의 경우와 같이 어떤 값을 일정하게 유지하도록 제어하려는 곳에 사용하는 경우가 많다.
제어 시스템을 구성할 때 우선 확실히 해두어야 하는 것은, 「제어하려는 대상이 무엇인가」라는 것이다. 예를 들면「온도를 제어하고 싶은 방」그 자체가 제어의 대상이다. 이처럼 제어의 대상이 되는 것을 제어 대상이라 한다.
앞 장에서 말한 대로 제어는 기술적인 시스템에 한정하지는 않는다. 따라서 제어 대상도 교통 시스템이라면 차와 사람, 생체 시스템이라면 인체인 것처럼 제어 시스템에 따라 각양각색의 것이 등장하게 된다.
제어를 하는데, 「우선 제어 대상의 무엇을 제어하는가」그리고「무엇에 의해 그것을 변화시키는가」라는 두 가지의 양을 확실히 하지 않으면 안된다. 쿨러의 예에서는 제어를 해야 하는 양은 물론 온도이다. 제어 대상에 관해서 제어를 해야 하는 양을 제어량이라고 한다.
그러면, 제어량을 어떻게 해서 제어할 것인가. 방안의 온도 제어를 예로 생각해 보자. 제어량인 방안의 온도를 변화시키는 원인은 많이 있다. 실제 원인은 쿨러의 실내기에서의 열의 수수, 창문과 천정, 벽을 통한 바깥과의 열의 출입, 실내에 있는 여러 가지 기구에서의 발열, 문이 열렸을 때 복도에서 들어오는 열 등이 전부 실내 온도를 변화시키는 원인이 된다. 그렇지만 이렇게 많은 원인을 하나하나 잘 조사해 보면, 그 중에 제어의 목적으로 우리들이 이용할 수 있는 것과 우리들의 의지로는 어찌할 수 없는 것이 있음을 알 수 있다.
즉, 쿨러로부터 열의 수수는 그 운전 방법에 따라 우리들의 의지대로 바꿀 수 있지만 그 이외의 우리로서는 어찌할 수 없다. 이처럼 제어량에 영향을 주는 것 중에서 제어의 목적 달성을 위해 우리들이 이용하는 것을 조작량이라 하고 그것 이외에 사람의 힘이 미치지 못하지만 제어량을 변화시키는 원인을 외란이라 한다.
위에서 말로 설명한 것을 제어 분야에서는 그림 1 처럼 블록 선도를 사용해서 간결하게 나타낸다. 사각상자 (블록) 와 이것에 출입하는 화살표를 이용하여 나타낸 것이므로 블록 선도라 한다. 여기에서 화살표 방향에 주의하지 않으면 안된다. 즉, 조작량과 외란에는 제어 대상에 들어오는 방향으로 실선이 그려져 있고 제어량에는 제어 대상에서 나오는 방향으로 화살표가 그려져 있다.
이것은 조작량으로서 실내기로부터 열이 제어 대상에 가해지면 (쿨러로 식힐 때는 열을 빼앗는 것이지만, 이 때는 마이너스 열을 가한다고 생각하면 된다) 제어량인 실내 온도가 변화하는 것을 나타내고 있다. 같은 예로 외란인 바깥 기온이 변화한다거나 혹은 일조 상태가 변화한다든지 해서 밖으로부터 더해지는 열이 변화하여 제어량에 영향을 주는 것을 이들 화살표로 표현하고 있다.

그림 1 블록 선도로 표시한 제어 대상
시스템에 관하여 입력과 출력이라는 용어도 사용하는 경우가 있는데 이것은 이 화살표의 방향에 관계된다. 조작량ㆍ외란과 같이 시스템에 더해지고 그 상태를 변화시키는 원인이 되는 양을 종합하여 입력이라 하고, 제어량처럼 입력의 영향을 받고 그 결과로서 변화하는 양을 출력이라고 한다. 같은 예로 양동이에 물을 담는 문제에 대해 생각해 보자.
제어 대상이 양동이인 것은 말할 필요도 없다. 제어량은 양동이에 받은 물의 깊이이고 이것을 제어하기 위한 조작량은 양동이에 받은 물의 유량이다. 이 경우에는 양동이에 받은 물의 유량이다. 이 경우에는 도중에 물을 더하든지 혹은 퍼내는 일이 없으면 조작량 이외에 제어량을 변화시키는 원인이 없기 때문에 외란은 없다고 생각해도 좋다. 그래서 양동이의 경우 이들 양 사이의 관계를 나타내는 블록 선도는 그림 2 와 같다.

그림 2 양동이의 물의 깊이를 제어한다
그러면 1 장에서 설명한 자동차의 경우 제어량, 조작량 및 외란의 관계는 어떠한가?
제어 대상인 자동차에 대해서 제어하지 않으면 안되는 양, 즉 제어량은 속도와 진행 방향 2 가지다. 자동차 속도를 제어하기 위한 조작량은 엔진 혹은 브레이크에서 가해지는 힘이다.
또 진행 방향을 제어하기 위한 조작량은 진행 방향에 대한 앞바퀴의 각도이다. 여기에 대해 외란으로 생각할 수 있는 것은, 속도에 대해서는 노면의 凹凸 이나 경사로 인한 저항과 주행시의 공기저항, 바람에 의한 힘 등이다. 또 진행 방향에 대해서는 측면에서 부는 바람에 의한 힘이 있다. 이들 관계를 나타내면 그림 3 처럼 된다.

그림 3 자동차의 제어
그런데 이 블록 선도에는
지금까지의 블록 선도와 다른 점이 있다. 즉, 방안의 온도 제어 예나 양동이에 물을
받는 예에서는 제어량과 조작량이 각각 하나씩이었는데 비해, 자동차의 경우에는
이들이 각각 2 개씩이다. 이렇듯 하나의 제어 대상에 대해 제어량과 조작량이 복수개인
시스템을 다변수 시스템이라고 한다. 자전거도 역시 다변수 시스템이다. 자전거의
경우에는 제어량은 속도, 진행방향 및 자세 등 3 가지다.
이에 대해 조작량은
페달 혹은 브레이크의 힘, 앞바퀴의 각도 및 페달을 밟는 사람의 상체의 자세 등
3 가지다.
자동차의 경우에는 엔진으로부터의 힘을 바꾸어도 진행 방향이 바뀌는 일은 없다. 물론 브레이크를 걸어도 타이어가 미끄러지는 일이 없으면, 역시 진행 방향에는 영향이 없다. 또, 진행 방향을 바꾸려고 앞바퀴의 각도를 바꾸었다고 해도 속도는 변하지 않는다. 결국, 제어량에는 각각 전속 조작량이 있어서 그것 이외 조작량의 영향을 받지 않는다. 그렇지만 자전거의 경우는 조금 양상이 다르다. 자전거에서는 진행 방향을 바꾸려고 하면, 원심력의 작용에 의해 운전하는 사람과 차체도 기울고 만다. 결국 자세에도 영향이 있다. 또 자세를 바꾸려고 운전하는 사람이 상체를 기울이면 앞바퀴의 각도도 바뀐다.
이렇게 조작량과 제어량의 대응 관계가 1 대 1 의 전속으로 되어 있지 않다. 이런 경우에는 조작량 사이에 상호 간섭이 있다고 한다. 상호 간섭이 있는 다변수 시스템은 그만큼 제어가 어렵다. 자전거의 예를 생각해 보면 쉽게 상상할 수 있다. 예를 들어 커브를 돌려고 할 때는 핸들을 꺾을 뿐 아니라, 원심력에 의한 자세의 변화에 대응하기 위해 상체를 커브의 안쪽으로 기울이지 않으면 안된다.
또 상체를 기울이고 자세를 바꾸려고 하면, 앞바퀴도 기울어지기 때문에 반대 방향으로 핸들을 꺾지 않으면 안된다. 이러한 미묘한 제어 동작을 반사적으로 하지 않으면 자전거는 탈 수 없다.
저탕식 온수기도 상호 간섭인 다변수 시스템이다. 이 경우 제어량은 탱크에 채워져 있는 뜨거운 물의 양과 그 온도이다. 그리고, 그들에 대한 조작량은 뜨거운 물의 양에 대해서는 수도에서 공급되는 물의 유량, 온도에 대해서는 가스 혹은 전류에 의해 공급되는 열량이다. 지금 물의 양을 제어하기 위해 수도의 밸브를 열고 물을 탱크에 넣었다고 하자. 그렇지만 들어간 물의 온도는 낮기 때문에 더운 물의 온도가 내려가 버린다. 또 온도가 변하면 팽창에 의해 물의 체적 즉, 양이 변해 버린다. 이렇듯 2 가지의 조작량에는 상호 간섭이 있다.
제어량을 제어하기 위해 인위적으로 제어 대상에 가하는 것이 조작량이지만, 그를 위해서는 제어의 목적을 달성하도록 조작량을 변화시킬 수 있는 구조가 필요해진다. 이것이 액추에이터라고 불리는 것이다.
예를 들면, 양동이에 물을 채울 경우 액추에이터는 수도 밸브이다. 쿨러에 의한 실내 온도 제어의 예에서는 쿨러가 액추에이터이다. 자동차의 경우 속도 제어를 위한 액추에이터는 엔진과 브레이크이며, 진행 방향 제어를 위한 액추에이터는 핸들에서 앞바퀴 각도를 바꾸는 키잡이 장치이다. 자전거의 경우는 페달을 밟고 운전하는 사람의 다리와 브레이크를 쥔 손이 속도를 제어하는 액추에이터이다. 또 핸들을 돌리는 팔이 진행 방향을 제어하기 위한 액추에이터이다. 또한 허리를 중심으로 좌우로 흔드는 상체가 자세를 제어하는 액추에이터이다.
액추에이터에는 제어의 목적대로 조작량을 변화시키기 위한 신호를 가해야 한다. 이것을 제어 신호라고 한다. 즉, 액추에이터는 제어 신호를 받아서 조작량을 가감하는 것이다. 예를 들면 밸브는 유량을 가감하기 위한 액추에이터이지만, 유량은 밸브의 핸들을 어느 정도 돌리는가에 따라 결정된다. 이 밸브의 각도를 얼마로 하느냐의 지령이 제어 신호이다.
그 제어 신호를 주는 것이 컨트롤러이다. 즉, 컨트롤러는 제어량에 대한 요구를 받았을 때 그것을 달성하기 위해 어떤 조작량을 가해야 하는가, 또한 이처럼 조작량을 발생하는데는 어떤 제어 신호를 액추에이터에 주어야 하는가를 생각하여 필요한 제어 신호를 만들어내는 것이다. 제어 시스템에 있어서 두뇌 역할을 담당하고 있다고 확실히 말할 수 있다 (그림 4).

그림 4 컨트롤러ㆍ액추에이터ㆍ제어 대상
다시 양동이의 예를 생각해 보자. 지금 빈 양동이에 가능한 단시간내에 정해진 깊이로 물을 채우는 것이 요구되었다고 하자. 그러기 위해서는, 어떻게 조작량을 변화시키면 좋은가는 미루어 짐작할 수 있다.
결국 밸브를 모두 열어 최대의 유량으로 양동이에 물을 넣고 점점 목표의 깊이에 다가오면 지나치지 않게 서서히 밸브를 닫아서 유량을 작게 하고, 마지막에 정확히 딱 맞는 깊이에서 밸브를 닫아버리면 된다. 이렇게 밸브의 닫는 방법을 적절히 조절하면 제어량인 물의 깊이는 요구대로 변화할 것이다 (그림 5). 이런 조작 방법을 결정하고 액추에이터에 그를 위한 제어 신호를 보내는 것이 컨트롤러의 역할이다.

그림 5 최단시간으로 양동이에 물을 채우는 방법
그런데 제어 목적을 달성하기 위해 필요한 제어 신호를 컨트롤러가 발생하게 하려면, 컨트롤러는 얼마만큼의 것을 알고 있어야 하는가.
다시, 양동이의 예를 생각해 보자. 우선 제어 대상인 양동이의 크기를 알지 못하면, 어느 정도의 빠르기로 수위가 변화할지를 모르기 때문에, 어떻게 밸브를 잠그면 수위를 정한 대로 알맞게 제어할 수 있을지 모를 것이다. 직경이 큰 양동이라면 수위 변화가 늦을 것은 쉽게 상상할 수 있다 (그림 6).
다음으로 밸브의 특성도 알아야 하는데, 밸브의 핸들을 어느 정도 돌리면 유량이 얼마나 될까 라는 관계에서 필요한 핸들 조작 방법이 정해져 있기 때문이다 (그림 7).
|
그림 6 제어 대상의 특성 |
그림 7 액추에이터의 특성 |
더욱이 어느 만큼 물을 채워야 하는지도 당연히 정해져 있지 않으면 안된다. 이것을 제어량의 목표값이라고 한다. 또 시시각각 물의 깊이도 알 필요가 있다. 이것에 따라 이미 정한 값의 수위와는 어느 만큼 차가 있는가를 알면서 또한 제어 신호를 결정하는 중요한 정보가 되기 때문이다. 이렇게 정리를 해보면 컨트롤러의 역할을 다음과 같이 말할 수 있다. "컨트롤러는 제어 대상과 액추에이터에 관한 지식을 바탕으로 요구된 방법으로써 제어량을 주어진 목표값에 일치시키기 위한 제어 신호를 결정하여 액추에이터에 전달하는 것이다." 목표값에 제어량을 일치시킨다는 것은 바꿔말하면 목표값과 제어량의 차, 즉 편차를 Zero 로 한다는 것이다.
편차가 Zero 가 되도록 컨트롤러가 작용하기 위해서는 현재의 편차 크기를 측정해야 한다. 그렇지만, 편차는 목표값과 제어량의 차이이기 때문에 편차를 알려면 제어량을 측정해야 하는 것이다. 양동이의 경우라면, 양동이 속에 자를 세워두면 수위를 읽을 수 있다. 이런 제어량을 측정하는 장치를 센서라고 한다. 온도 제어할 때의 센서는 온도계, 스피드 제어할 때의 센서는 스피도미터이다.
이상으로, 생각해 왔던 것을 전부 정리해서 블록 선도로 나타내면 그림 8 처럼 된다. 이 시스템의 특징은 컨트롤러가 항상 자기가 낸 제어 신호의 효과를 측정하면서 제어 신호를 결정해 가는 것이다. 즉, 다음과 같은 정보 루프로 되어 있다.


그림 8 피드백 제어 시스템의 구성
이 점에 주목해서 그림 8 의 구성을 가진 제어 시스템을 닫힌 루프 제어 시스템 (Closed Loop Control System) 이라고 한다.
또, 제어량을 측정하여 다시 제어 신호의 결정에 이용하는 점에 착안해서 피드백 제어 시스템이라고도 한다. 그런데 양동이의 경우에는 이런 피드백 제어가 아니고도 목적을 달성하는 방법이 있다.
앞에서 생각했듯이 양동이에 물을 채우는 과정에는 외란이 없다고 생각해도 좋기 때문에 단시간, 목표한 깊이까지 정확히 맞게 물을 넣기 위해서 밸브의 조작 방법을 미리 계산해 두고 그렇게 컨트롤러에서 밸브로 제어 신호를 보내면 수위는 계산대로 변화할 것이다. 즉, 그렇게 하기 위한 제어 신호, 조작량 및 제어량의 관계는 그림 5 처럼 될 것이다.
따라서 센서로 제어량을 측정하면서 제어 신호를 만들어내지 않아도 되는 것이다. 이런 형태의 제어 시스템은 그림 9 이 블록 선도에서 나타낸다.

그림 9 피드 포워드 제어 시스템의 구성
앞의 Feedback 제어 시스템과 비교하면 정보가
![]()
으로 일방적인 전달이며, 피드백 제어의 경우와 달리 루프가 되어 있지 않은 것을 알 수 있다. 이런 제어 시스템을 열린 루프 제어 시스템 (Open Loop Control System), 혹은 피드 포워드 제어 시스템이라고 한다.
피드백 제어와 피드 포워드 제어는 가장 기본적이면서도 대조적인 제어 방식이다. 각각에 대한 자세한 고찰은 다음의 각 장에서 살펴보기로 하고 여기에서는 양자의 대조적인 특징을 한 가지만 지적해 보자.
그것은 외란에 대한 대항력에 대해서이다. 금방 알 수 있듯이 피드 포워드 제어에서는 제어량을 요구대로 변화시키기 위한 조작량을 미리 계산해 놓기 때문에, 계산할 때 생각하지 못했던 외란이 제어 도중에 더해지면 제어량은 예정했던 대로 변화하지 않게 된다. 따라서 피드백 제어에서는 제어 신호를 미리 계산해 놓지 않고 항상 편차를 감시하면서 이것을 없애도록 제어 신호를 만들어 가기 때문에, 외란으로 제어량이 변화되어도 결국 편차를 Zero 로 할 수 있다.