Notice
Recent Posts
Recent Comments
Link
관리 메뉴

뛰는 놈 위에 나는 공대생

[고등자동제어] Introduction 본문

연구 Research/제어 Control

[고등자동제어] Introduction

보통의공대생 2020. 11. 12. 20:31

# 수업과 교재를 참고하며 쓰는 글입니다. (교재는 최신제어시스템 Modern Control System, 제13판, Richard C. Dorl & Robert H. Bishop)

# 개인 공부 목적 및 공유 목적이지만, 이 글의 자료는 함부로 가져가지 말아주세요.

 

 

 

내용 개요

내용 개요를 위해서 마인드맵을 그려보았습니다.

생각보다 쓸 내용이 많아서 마인드맵이 너무 커졌는데, 툴 사용법을 좀 더 잘 익히게 되면 좀 더 나아질 것이라 믿습니다 허허.

 


▼아래는 글씨를 읽을 수 있게 반씩 자른 버전 (클릭하면 확대됩니다.)

 

마인드맵 오른쪽 파트


마인드맵 왼쪽 파트

 


1. Control System

 

시스템을 제어한다는 것은 무엇인가?

기본적으로 Regulation과 Tracking으로 나눌 수 있습니다.

 

시스템을 원하는 trajectory를 따라가면서(Tracking), steady state 값을 유지하도록(Regulation) 다루는 것입니다.

시스템을 제어할 때는 stability(안정성), performance(성능), robustness(견실함)을 충족시켜야 합니다.

즉, 시스템은 즉각적으로 내가 원하는 값에 도달하면서, 그 원하는 값을 안정하게 유지하고, 외부의 노이즈를 견딜 수 있어야 합니다.

 

 

2. Method of System

부제 : Open loop control system VS. Feedback control system (Closed loop control system)

 

내가 입력한 input이 있을 때, 시스템에서 output이 나타납니다.

이 output을 측정하여 다시 시스템에 반영해 제어하는 것을 feedback control system입니다. output을 반영하지 않고 제어하는 시스템은 open loop control system입니다.

 

출처 : https://en.wikipedia.org/wiki/File:BasicClosedLoop.jpg (Author : Amin Rahimian)

위와 같은 시스템을 feedback control system이라고 합니다.

feedback control system을 구성하는 요소는 Controller, Actuator, Plant, Sensor 4가지입니다.

 

이해를 위해 RC카에 빗대어 표현을 하겠습니다.

 

Controller :

위에서 C(s)가 의미하는 것은 controller이고 일반적으로는 RC카에 설치된 컴퓨터(라고 하지만 마이크로컨트롤러)가 그 역할을 합니다. controller 대신 filter나 compensator로 불리기도 합니다.

내가 원하는 reference input과 실제 output 사이에 error가 있을 때 이것을 시스템이 받아들일 수 있는 input으로 바꾸어주는 역할을 합니다. RC카에서 특정 속력을 내고 싶다면 그 속력 입력값이 reference input이 됩니다.

 

Actuator :

C(s) 블록과 G(s) 블록 사이에 Actuator가 있습니다. 흔히 구동부라고 합니다. RC카를 제어할 때 그 바퀴를 구동부로 볼 수 있습니다.

 

Plant :

G(s) 블록으로 나타나는 부분입니다. RC카로 보면, 바퀴가 구동부지만 실제 RC카가 어떤 속력을 낼지는 환경적인 요소 및 RC카의 무게 등의 특성이 결합되어 나타납니다. Controller의 명령에 따라 작동한 RC카의 바퀴로 인해 바뀌는 RC카(와 기타 다른 요소, 노이즈의 조합) 시스템 자체가 Plant가 됩니다.

 

Sensor :

원하는 reference input에 도달했는지 알기 위해서는 output을 관찰해야합니다. 만약 RC카에 속력을 측정할 수 있는 센서가 있다면, 이 값을 측정하여 feedback할 수 있습니다.

 

 

3. Classification of System

 

우리가 다룰 시스템은 주로 LTI system이겠지만, 기본적으로 시스템의 종류에 대해 알아야 합니다.

 

1) 과거의 값을 현재에 반영하는가?

  • Static system : 현재의 output이 현재의 Input에만 영향을 받는다. - memoryless
  • Dynamic system : 현재의 output이 과거와 현재의 Input에 영향을 받는다. - have a memory

(미래의 input에 영향을 받는 시스템은 현실에서는 존재하지 않고, 이런 시스템을 non causal system이라고 합니다.)

 

2) Linearity

  • Linear system : superposition principle이 적용되는 시스템

 

3) Time domain에 따라

  • Continuous time system : 일반적인 시간 흐름에 따라 진행되는 시스템. Linear continous time system은 linear differential equation으로 표현할 수 있습니다.
  • Discrete time system : 정수 domain(-1, 0, 1, 2...)에 따라 진행되는 시스템. Linear discrete time system은 linear difference equation으로 표현할 수 있습니다.

Digital control system은 continuous time과 discrete time 모두 가지고 있는 시스템입니다.

 

 

4. History of Control theory

 

1956년 state space model을 기점으로 classical control과 modern control을 나누는 것 같습니다. classical control theory라 해서 의미가 없거나 사용하지 않는 것은 아닙니다.

 

  • Classical control theory : Single Input Single Output(SISO), Frequency domain에서 해석하는 기법들 (ex. Bode plot, Nyquist plot, Root-locus)
  • Modern control theory : Multiple Input Multiple Output(MIMO), State space method, Dynamic programming, maximum principle, Kalman filter 등 다양한 기법들이 등장함.

 

그런데 1970년대부터 AI 개념이 등장하고, ANN(Artificial Neural Network)이 등장하면서 1990년대에 제어 문제를 model-free approach로 해결하려는 시도가 있었습니다. 그 전에는 수학적으로 모델링해서 해석하는 model-based approach였죠. 둘은 대립하고 있는 한편, 공존하고 있습니다.

 

p.s.하지만 제 경험 상 대부분의 교수님들은 model-based approach가 더 합리적이라고 생각하셨습니다. 제어는 안정성이 매우 중요하기 때문에 사례를 기반으로 한 ANN을 어디까지 신뢰할 수 있을지가 넘기 어려운 부분이라고 생각합니다.

 


제어에서 필요한 수학적 지식 : Linear algebra, Vector differential equations, Calculus of variations, stochastic processes

 

Comments