-
[Classical Control]Overview of Control SystemEngineering/Control 2021. 10. 4. 22:12
1. Introduction
제어공학의 가장 기본적인 고전 제어에 대해 정리해보려고 한다. 이미 많은 유튜브, 논문, 블로그에서 고전 제어에 대해 잘 다루고 있기 때문에 고전 제어의 모든 이론을 상세하게 정리하려는 목적보다 실제 시뮬레이션, 현업에서 사용하는 방향성에 대해서 논할 것이다. 고전 제어는 보통 Linear Time-Invariant 시스템을 가정하고 설계하는 기법이다. 실제 현실에 존재하는 모든 시스템은 비선형성을 띈다. 즉, Superposition을 만족하지 않는다는 이야기이다. 그러나, LTI 시스템을 가정하고 설계하는 PID Controller의 강력한 성능이 전세계 제어기의 90%를 차지할 정도로 아직까지도 많이 사용되기 때문에 명확하게 정리해둘 필요가 있다.
2. Control System Model: Open-Loop Model vs Closed-Loop Model
Figure 1. Simpified Control System 제어는 Figure1.에서 보는 것처럼 시스템을 어떤 입력에 대하여 특정 출력을 만들어주기 위한 방법이다. 이 때 Control system block을 우리는 Transfer function이라고 부른다. 이 Transfer function은 시스템의 특성을 수학적인 모델링을 통해서 구현한다. 필자는 현업에서 PMSM(Permanent Magnet Synchronous Motor) Current Controller를 설계하는 Research engineer이기 때문에 추후에 모델링 부분은 따로 자세히 다루도록 하겠고, 역학과 회로 시스템 모델링은 교과서나 수많은 서적에 자세히 나와있기 때문에 여기에서는 따로 논하지는 않겠다.
Figure 2. Open-Loop Model vs Closed Loop Model 이러한 모델은 실제 위처럼 Feedback의 여부에 따라 Open-Loop Model과 Closed-Loop Model로 나뉜다. Closed-Loop Model은 Feedback이 되는 형태이다. 이 Feedback은 제어 기법에서 가장 기본적이고 중요한 요인인데, 자동차를 예로 들어보면 휠속 센서처럼 현재 바퀴의 속도가 얼마인지 측정하여 시스템의 상태를 알려주는 역할을 한다. Steve Brunton 교수님이 정의하는 Feedback을 사용하는 4가지 이유는 아래와 같다.
1. Efficient(효율 향상): Transient response와 Steady-state response 응답성 향상
2. Instability(안정성 확보)
3. Uncertainty(불확실성 제거)
4. Disturbances(외란 제거)예를 들어 엘리베이터 시스템이 존재한다고 할 경우 4층이라는 입력을 주었을 때 Figure3. 같이 결과가 나타나게 된다.
Figure 3. Elevator Response 제어 기법을 활용하여 시스템은 Transient response와 Steady-state response를 출력하며 정확하게 목표에 도달하게 설계할 수 있다. 설계 시에는 Transient response와 Steady-state response를 고려해줘야 하며, 이와 함께 Stability, Robustness, Disturbance rejection and Sensitivity 등의 요소 역시 고려해줘야 한다.
3. Transient Response
시스템이 안정적인 응답(Steady-state response)에 도달하기까지의 전 응답을 Transient response라고 한다. Transient response에서는 system의 oscillation을 얼마나 줄일 것인지(Overshoot), 어떻게 안정적으로 Steady-state에 빠르게 도달할 수 있는지(Rising time) 등에 유의하며 설계한다.
4. Steady-state Response
Transient response 이후에 정해 놓은 설계 기준에 응답이 접어들게 되면 이 때부터 Steady-state response라고 한다. 제어의 목표는 Steady-state 상태에서 Error가 0으로 수렴하게 만드는 것이다. Steady-state에서 Error를 0으로 만들기 위하여 이러한 Error를 Steady-state error로 정의한다.
5. Stability
시스템은 결국 Stability를 확보해야 한다. 시스템은 Equation 1.과 같이 정의될 수 있다.
Total Response = Natural Response + Forced Response
Equation 1.Equation 1.에서 보는 것처럼 모든 시스템은 Natural response와 Forced response의 합으로 이루어져 있다. Natural response의 경우 시스템에 input이 주어지지 않았을 때 시스템의 특성을 보여준다. 반면, Forced response는 시스템에 input을 주었을 때의 시스템이 어떻게 변하는 지 보여준다. 시스템의 Stability는 Natural response가 결국 0으로 수렴하거나, osillate 되는 조건을 말한다.
6. Robustness
이와 함께 얼마나 시스템의 Uncertainty를 줄일 수 있는지 시스템 모델의 Robustness를 고려해야 한다. 시스템은 Non-Linearity, Hysteresis, Friction 등에 의해 설계된 시스템의 수학적 모델과 차이가 발생할 수 밖에 없다. 이러한 차이를 Uncertainty 혹은 Perturbation이라고 정의하고 Equation 2.처럼 표현할 수 있다.
Actual Model = Theoretical Model + Uncertainty(Perturbation)
Equation 2.결국 시스템과 연관된 모든 Admissible perturbations에 대해 시스템의 Robust stability를 만족시켜야 모델의 Uncertainty를 줄일 수 있다. Robustness는 Gain margin과 Phase margin과 연관되어 있다. 이 때 Margin은 어느 정도까지 시스템이 만족하는지 보는 개념이다. 예를 들어 Gain margin이 15[degree]라고 할 때, 적어도 15[degree] 차이까지는 우리가 설계한 수학적 모델이 Transfer function, Feedback 등의 특성을 추정한다는 것을 보장한다.
7. Disturbance Rejection and Sensitivity
Disturbance는 시스템에 원하지 않는 Input이 인가되는 상황에서 이 Input을 의미한다. 이를 Disturbance input이라고 말하며, 제어에서는 이러한 Disturbance input이 들어와도 feedback에 따라 일정 시간이 지난 후 시스템에서 제거되어야 한다. 이와 관련된 특성 중에 Closed-loop Transfer function의 Sensitivity가 있다. Sensitivity는 System sensitivity와 Parameter sensitivity로 나뉘게 되는데 변수와 함수에 대한 Sensitivity를 통해 Disturbance rejection이 적절하게 이루어졌는지 판단한다.
8. Other Considerations
시스템이 경쟁력이 있으려면 가격 측면도 고려해주어야 한다. Feedback sensor의 경우 256 resolution으로도 충분히 안정성과 시스템 특성을 확보할 수 있는데 굳이 4096 resolution의 센서를 사용할 필요가 없을 때 가격 측면에서 256 resolution을 활용해주는 것은 당연하다. 이처럼 같은 조건에서라면 더 저렴한 요소를 택하는 것이 바람직하다.
* Reference
Figures: Nise, N. S. (2015). Control systems engineering.
Github Simulation: https://github.com/TitusChoi/Classical_Control/
Youtube: Steve Brunton`s Control Bootcamp
Simulink Models: https://ctms.engin.umich.edu/CTMS/index.php?example=Introduction§ion=ControlPID반응형'Engineering > Control' 카테고리의 다른 글
[Classical Control]Controller Design: Time Response(Transient Response)_2 (0) 2021.11.21 [Classical Control]Controller Design: Time Response(Transient Response)_1 (0) 2021.11.07 [Classical Control]Feedback Controller (0) 2021.10.26 [Classical Control]Transfer Function_2 (0) 2021.10.17 [Classical Control]Transfer Function_1 (0) 2021.10.09