공대조교형의 공학/경제 연구소

공학 수업 노트에서 시작해서 MIT tech review와 bridge water research review 까지

Robotics/Control Theory

제어 시스템 구성요소

공대조교형 2017. 10. 1. 22:34


제어 시스템 구성요소




0. 제어 시스템 구조


 제어 시스템은 크게 두가지로 나뉘는데 측정을 하지 않는 open loop control과 측정을 하는 closed loop control로 나뉩니다. open loop control같은 경우에는 우리가 plant의 model을 완벽하게 이해하고 있는 경우나 출력을 우리가 정밀하게 제어하지 않아도 되는 경우에 사용되며(제어 반응성을 높이기 위해서 사용되는 feedforward reference의 경우에도 open loop control의 일종으로 분류됩니다) closed loop control은 우리가 출력을 정밀하게 제어해야할 경우에 실제로 우리가 예상하는 출력과 실제 나간 출력을 비교해서 제어 정밀도를 높이는 데 사용됩니다. 사격으로 비유를 들자면 과녁을 보고 우리가 총을 쏘는 시행은 open loop control에 해당합니다. 총이 어디에 맞았나 확인하지 않은채 제가 보고있는 과녁에 제대로 맞겠거니 하고 쏘기 때문이지요. 하지만 영점사격과 같이 우리가 쏜 총알이 과녁의 어디에 맞았나 확인한 뒤에 영점을 조절해서 다시 사격을 하는 경우에는 결과(output)을 다시 받아들이므로 closed loop control에 해당합니다. 비교적 정밀하지 않은 사격(ex 돌격자세)의 경우에는 open loop control로도 충분하기 때문에 영점을 맞추지 않지만 250m뒤의 적을 맞추기 위해서는 영점조절은 필수입니다. 



  1) open loop 제어 시스템


                                   


 open loop control 시스템은 위에서 말씀드린 비교적 덜 정밀한 제어시스템에서 사용되는데 구조는 아래와 같습니다. 이 경우의 controller의 설계는 우리가 원하는 plant의 input이 어떻게 구성되어야하는지 아는 상황에서 주어진 전체 시스템의 input을 plant의 input으로 바꿔주는 역할을 합니다. 위치제어에서 위치 프로파일을 그린 후에 해당 위치 기울기를 갖게 하기위한 속도와 토크를 역으로 계산해 feedforward값으로 제어기에 병렬적인 지령으로 넣어주는 경우가 open loop control의 한 예라고 할 수 있습니다. 보통은 open loop control은 시스템 파라미터가 틀렸을 경우를 대비해서 시스템의 응답 반응성을 높이는데 사용하며 closed loop controller와 병렬적으로 사용해 세부적인 오차를 잡는 구조로 병행하는 경우가 많습니다.  



  2) closed loop 제어 시스템


  closed loop control 시스템의 경우는 open loop system과 달리 출력값을 측정합니다. PID제어기가 closed loop 제어기의 대표 주자인데요. 지령과 측정값을 뺀 오차를 제어기의 입력으로 삼아 controller를 디자인하는 방식으로 제어됩니다. 앞에서 언급했다시피 실제 출력값을 측정함으로서 plant에 대한 정보를 어느정도 잘못알고 있어도 입력과 출력사이의 오차를 0으로 가져가거나(I 제어기의 역할) 오차양(P제어기 역할) 혹은 오차양의 변화율(D제어기의 역할)에 따라서 플렌트 입력을 변화시키는 것이 가능해 집니다. 


1. 제어 시스템 구성요소

  고전적인 제어 시스템의 블락도는 위에 보는 그림과 같이 구성됩니다. 신호는 입력, 출력,  왜란, 측정신호로 나뉘고 시스템은 제어기, 플랜트, 센서 이렇게 세 가지로 나뉩니다. 각각의 의미를 알아야 제어 시스템을 이해할 수 있습니다.


  1) 입력과 출력

  입력과 출력은 제어 시스템 전체의 입력인 input과 출력인 output을 의미하는데 입력은 통상적으로 지령값인 경우가 많고 출력값은 플랜트의 말단신호 중 지령을 따라갔으면 하는 값인 경우가 많습니다. 하지만 이는 제어시스템에서 우리가 어디에 관심이 있느냐에 따라서 변할 수 있는데 왜란을 상쇄하는 능력을 가지는 제어기의 성능을 보고자 할때는 입력신호를 왜란으로 삼고 입력신호 대비 출력신호의 전달함수를 분석하는 경우도 있습니다.   


  2) 제어기와 플랜트

  제어기는 우리가 전체 시스템을 원하는 반응성을 갖도록 하기위해 우리가 코드를 짜서 넣거나 회로를 구성해서 만드는 부분을 의미하는 자유도를 가지고 있는 부분을 의미하고 플랜트는 제어란 무엇인가 글에서 언급했던 것처럼 우리가 손댈 수 없는 주어진 시스템 그 자체를 의미합니다. 우리는 제어기를 잘 구성하여서 원래 시스템을 주어진 대로 쓰는 것이 아니라 우리가 원하는 반응을 하도록 만들 수 있습니다.


  3) 측정기

  측정기란 엄밀한 제어를 하지 않는 경우 gain이 1인 시스템으로 두지만 좀 더 엄밀한 제어를 요하는 시스템에서는 센서의 오차 혹은 delay, 비선형성 등도 측정기라는 시스템으로 모델링하여 분석합니다. 일반적으로 모터제어에서 많이 쓰이는 측정기로는 전류센서와 위치 엔코더가 있는데 전류센서의 경우에는 bandwidth라고 하는 curoff frequency가 해당 칩의 datasheet에 표시가 되어 있습니다. 이를 통해 센서는 불필요한 노이즈를 없애고 필요한 신호만 받아들일 수 있게 되는데 이 때 low pass filter를 사용하므로 센서의 비 이상적성질을 반영하기 위해서 측정기는 주로 low pass filter로 모델링 되거나 delay를 가진 블락으로 표현됩니다.


  4) 외란

  왜란은 우리 제어기 출력에 함께 더해서 플랜트의 입력으로 들어가는 의도하지 않은 신호를 모두 일컫습니다. 대표적인 왜란의 예시는 모터 제어시 인버터를 사용할 경우 특정 DC link 전압에 pwm신호의 duty를 이용하여 원하는 전압을 만들어 내는데 우리가 dc link전압을 만들어 줄때 상용 220Hz 교류 전원을 다이오드로 정류해서 만들어 줍니다. 이때 어쩔 수 없이 60Hz혹은 120Hz의 노이즈가 들어오게 되는데 이러한 완벽하지 않은 dc link 전압을 이용해서 인버터가 출력전압을 만들어 줄때 우리 플랜트의 입력 역시 해당 노이즈가 들어오게 됩니다. 이런 노이즈를 왜란의 예시라고 할 수 있습니다.


 

2. 제어 시스템 예시


  1) 전류제어 시스템

전류제어 시스템은 R, L로 구성된 회로가 플랜트가 되겠으며 전압을 입력으로 받고 출력을 전류로 내보냅니다. 우리가 만들 제어기는 전류지령과 측정된 전류 정보를 이용해서 회로에 우리가 원하는 전류를 만들어줄 전압을 인가하는 것이 목표입니다. 위에 구성된 블락다이어 그램에서는 가장 많이 쓰이는 PI제어기가 제어기로 표현되어있습니다. 이상적인 전류센서라면 실제 전류(I)와 측정된 전류(Isen)가 같아야 하지만 우리는 측정할때 전류센서를 사용하기 때문에 전류센서가 가지는 어느정도의 delay를 고려하려 low pass filter system으로 측정기의 응답성을 표현하였습니다. 



  2) 속도제어 시스템

속도 제어 시스템에서의 플랜트는 관성(J)과 공기마찰(B)로 구성된 시스템이며 토크를 입력으로 받고 속도를 출력으로 내보냅니다. 전류제어기때와 마찬가지로 제어기는 PI제어기로 표현했으며 입력은 속도 지령과 측정된 속도, 출력은 토크 지령입니다. 제어기의 목표는 여기서는 원하는 속도지령을 따라가게 만들 속도를 플랜트가 만들 수 있도록 하는 적절한 토크를 넣어주는것이 목표이겠죠. 왜란은 기계 시스템에서 발생할 수 있거나 우리가 플랜트 모델에서 고려못한 요소들이 중간에 들어온다고 가정을 할 수 있습니다. 사실 속도제어기 출력에서 토크지령을 내면 그것을 전류제어기가 입력으로 받아(DC모터의 경우 전류제어기와 토크제어기가 토크상수차이를 지닌 같은 역할을 하는 제어기로 볼 수 있습니다. ) 알맞은 전류(토크)를 만들어 내주어야 실제 속도제어기 플랜트에 토크의 형태로 인가되기 때문에 Tref 화살표 선을 자르고 전류제어기가 들어가 있어야하지만 전류제어기는 이상적이라고 가정을 하고 간단히 속도제어기에 대해서만 집중하기 위해서 본 포스팅에서는 전류제어기를 생략하였습니다. 


  3) 위치제어 시스템


위치제어기 플랜트는 생각보다 간단합니다. 보통 기계적 시스템 요소는 속도제어기에 다 고려되어있기 때문에 위치제어기 홀로 분석할일은 많지 않은데요. 위치제어의 플랜트는 속도를 적분하는 적분기가 하나 들어있는 모양으로서 속도를 입력으로 받고 각도를 출력으로 내보냅니다. 따라서 제어기는 우리가 원하는 각도를 얻기 위해서 어떤 속도로 모터를 굴려야하는지에 대해 계산해 주는 블락이 되겠지요. 사실 위치제어기를 구성할때는 속도제어기를 이상적으로 생각안하고 속도제어기 설계값을 고려해서 설계하게 되기 떄문에 단순히 PI제어기로 구성되지 않습니다. 


'Robotics > Control Theory' 카테고리의 다른 글

PID제어기  (1) 2017.12.09
디지털 제어 개념잡기  (0) 2017.10.06
주파수 영역에서의 분석  (1) 2017.10.01
제어란 무엇인가  (1) 2017.07.09