정리노트
The Performance of Feedback Control Systems (2) 본문
* 이번 포스팅은 길이가 좀 길것 같다...
지난 The Performance of Feedback Control Systems (1)에서,
System의 거동을 Pole의 위치에 따라서 어떤 index로 판단하는지에 대해서 다뤄봤다.
이어서 시스템의 거동을 판단할때 다뤄야할 여러가지 상황과 인덱스에대해서 좀더 알아보도록 하자
◆ 목차
◎ Effect of a 3rd pole (on the 2nd order System) Response
◎ Effect of a 3rd pole and Zero (on the 2nd order System) Response
◎ Additional Zeros
◎ Pole & Zero Cancellation
◎ The S-plane root location & The Transient Response
◎ The Steady State Error of feedback control systems
◎ Steady State Error
◎ Nonunity Feedback System
◎ Performance Indices
◎ Performance of Second- Order Systems
◎ Effect of a 3rd pole (on the 2nd order System) Response
2차 시스템은 2개의 System Pole을 갖는다.
여기서 한개의 Pole이 더 추가된다면 어떻게 될까?
Damping Ratio가 1보다 작은 Underdamping System에 3번째 Real Pole이 있는
다음과같은 Output상황을 가정해보자.
여기서 3번째 Pole의 위치에 따라,
아래 그림처럼 3가지 경우의 수를 나눠서 생각해보면,
첫번째 경우는 Pole이 좌표축의 Origin으로부터 그리 멀지 않을 때,
두번째 경우는 어느정도 멀리 떨어져 있을때,
세번째 경우는 완전하게 멀리 떨어져 있을때이다.
수식에서 생각해보면,
3번째 Pole이 좌표축의 Orgin으로부터 얼마나 멀리 떨어져 있느냐에 따라서 e의 지수의 크기가 달라지게되므로,
이를 통해 2차시스템과 Response와 얼마나 비슷한지 알 수 있다.
위의 그림에서 알 수 있듯, Case3은 원래 2차시스템의 반응과 거의 비슷하다.
이때 , Dominant Pole은 원래 2차 System의 P1, P2가 된다.
아래는 이에 대한 내용을 수식적으로 풀어둔 것으로 그냥 응 그렇구나 하고 넘기면 된다.
아래 예시를 통해 한번더 정리해보면
위의 예시는 Natural Frequency를 1로 'Normalized'한 형태로 표현한 것이다.
여기서,
Pole의 위치를 따질때, Dominant Root(Dominant Pole)로 근사화를 시킬지에 대한 여부를 결정할때
대개의 경우 다음과 같이
Dominant Pole의 크기가 Pole의 Real 값에 10배가 넘어가면, 즉,
이라면, 근사화를 시킬 수 있게되고, 이는 곧, 시스템을 2차 시스템과 비슷한 반응을 보이는 시스템 이라고 정리해 볼 수 있을것이다.
◎ Effect of a 3rd pole and Zero (on the 2nd order System) Response
여기에 Zero까지 추가해보자.
위의 식은
2nd Order System에서 -a Zero가 추가된 Signal이다.
Natural Frequency와 Damping Ratio를 쓰지않고 표기한
아래와같은 표현식을 살펴보자
여기서 Zero가 pole로부터 멀어진다는 것의 의미는 a가 b,c에비해 훨씬더 커진다는 것을 의미한다.
(시스템이 안정하다는 가정하)
즉, 아래와 같은 관계를 만족한다.
처음에 다룬 형태와 바로 위에서 다룬 두가지형태의 식을 비교해보며 생각해보자.
두가지 표현식 모두 a가 커짐에 따라 System의 Zero를 무시할 수 있음을 표현하는 식으로,
두번째 표현식에서 a로 나눠준 이유는 단순히 최종 표현식에서 분자값을 Natural Frequency의 제곱 Term만을 남겨두기 위해서이다.
◎ Additional Zeros
지금까지 간단하게 2차 시스템에서 Zero를 어떻게 2차시스템과 Approximation할 수 있는지 알아봤는데,
Zero해석을 다음과같은 방법으로 조금더 효과적으로 시도해보도록 하자.
C(S)를 T(s) System의 Response라고 하자.
System에 Zero가 추가되면, 다음과같은식이 성립된다.
전개시켜 놓고 보니, C(s)각각에 S와 a를 각각 곱해준 형태가 되는데,
Frequency Domain에서 S를 한번더 곱해준다는 것의 의미는, Derivative Term과 같은 의미이며,
a를 곱하는 것은 Response의 Magnitude가 a배만큼 커졌음을 의미한다.
앞선 섹션에서 a가 커짐은 곧 Zero가 Pole로부터 멀어짐을 의미한다고 하였다.
위의식에서는 어떤의미를 가질까?
이는 앞서 방식에서와 비슷하게
a가 충분히 크다면, 첫번째 미분Term을 무시할 수 있음을 의미하는 것과 같다.
표현식만 달라졌을 뿐, 앞에서 이야기하는 내용과 달라지지 않았다.
여기서 zero해석을 a의 부호에 따라 달리 생각을 해보면, 다음과 같다.
- -a가 negative (a가 Positive)인 경우,
이런 경우, Derivative Term의 방향과, 두번째 a의 Term이 바라보는 방향이 같다.(일단 Rough하게 해석하면)
즉, Derivative Term은 Overshoot을 더 증폭시키는 역할을 하는 Term이 된다.
- -a가 Positive (a가 Negative)인 경우,
이런 경우는 Response가 조금 독특한 모양이 되는데,
초기에 input과 반대방향으로 시스템이 거동하다가 시간이 흐르면 Steady State상태가 된다.
마치 이건 오른쪽으로 쳤는데 초반엔 왼쪽으로 움직이다가 Steady State한 상태로 다시 이동하는 것과 같다.
◎ Pole & Zero Cancellation
간단한 내용이다.
만일 Pole과 Zero가 같은 포지션(실제 물리계에서는 거의 비슷하게 수렴하는 위치)에 놓인다면,
해당 Pole을 삭제시킬 수 있다는 예시이다.
아래는 3개의 Pole중 1개의 Pole이 1개의 Zero와 비슷한 위치에 놓여있을때의 예시로,
다음과같이 생각할 수 있다.
◎ The S-plane root location & The Transient Response
지금까지 본 Pole과 Zero의 해석법을 바탕으로,
S-Plane의 위치에 따라서 시스템이 어떤 Response를 보이는지 해석해보도록 하자.
아래와같은 TF가 주어졌을 때,
Step input이 들어간다면 Output은
만약 Pole이 같은위치가 아니라면(중근이 아니라면), Y(S)는 다음과같이 표현할 수 있다.
*A,B,C는 각각 Constant
이를 정리해보면,
1은 Steadty State Output값으로, 시간이 충분히 지났을때 남아있는 Term이며,
초록색으로 칠해진 부분은 Transient Term으로, 시스템의 과도응답에 해당하는 Term으로 해석된다.
...... System의 Stable판단에 대하여.......
위에서 보인 예시는 Stable한 Output이다.
시간이 충분히 지났을때, Bounded input(값이 무한하지 않은 Input)이 들어갔을 때, 발산하는 Output이 아닌,
Bounded Output으로 출력되기 때문이다.
System이 Stable한가?
에 대한 판단은 Bounded Input에 대해서 Bounded Output을 보이는 시스템을 이야기한다.
(이를 줄여서 BIBO라고 책에서 표현해 놓았다)
다시말해,
BIBO시스템이라는 것은 그 시스템이 Stable하다는 의미이며,
이는 S plane에서 Pole의 Real Part가 Left Hand Portion (LHP),
즉, 0보다 작은 negative값을 가져야 한다는 의미가 된다.
S plnae상에서 시스템의 거동을 표현한 그림은 다음과 같다.
그리고 이에대해서 판단은 아래와같이 판단된다.
Stable과 Unstable은 알겠는데, Marginally Stable은 무엇일까?
이는 t가 증가함에따라 발산하는것은 아닌데, 그 Margin이 일정한 상태를 의미한다.
이에 해당하는 그림은 아래와 같다.
◎ The Steady State Error of feedback control systems
피드백 시스템으로 다시 넘어와 보도록 하자.
(원래 FeedBack Chapter를 다루고 넘어왔어야했는데 일단 생략..)
위의 그림은 일반적인 컨트롤 시스템의 Block Diagram이다.
여기서, Disturbance, Noise에 해당하는 input인 Td(s), N(s)를 제외하면
Desired Signal인 R(s)와 실제 Output Signal인 Y(s)의 차이를
Error, E(s)라고 정의해 보자.
이러한 시스템에서 Step input이 들어갔다고 가정했을때 Steady State Error Signal은
여기서, Controller의 Gain인 Gc(s)와, 시스템 그 자체로 인한 Gain인 G(s)는, 그 자체 시스템의 Pole과 Zero를 가지므로,
아래와같이 쓸 수 있다.
위의 식에서, N은 원점에 위치하는 Pole의 갯수와 같으며, Q와 M은 각각 그 이외의 Pole과 Zero의 개수를 의미한다.
재밌는 점은, N만큼 1/S가 곱해졌다는 의미는, 이는 곧 N번의 적분을 진행한 것과 의미가 같다는 것이다.
이런 적분기의 개수 N 에 따라 System의 Type Numver를 결정하는데,
적분기가 하나도 없으면 type-zero System, 하나있으면 Type-one System, 두개있다면 Type-two System....etc등등이 된다.
이제부터, input에 System의 Type이 달라짐에 따라
시스템의 안정도가 어떻게 달라지는지, 어떤 index로 이를 표현하는지 살펴보도록 하자.
○Step input
먼저 Step input이다.
아래는 위에서 살펴봤던 Type-Zero시스템에 Step input이 들어왔을때의 error식이다.
여기서, Kp를 아래와 같이 정의할때,
이를 Position Error Constant라고 부른다.
-> Poristion Error Constant는 Type-Zero 시스템의 Step input이 들어갔을때
Steady State Error를 정의할때 사용하는 index. -> Marginally Stable
*Type 1,2.. 그이상의 시스템부터는 Step input은 0에 수렴하는 Stable System이 된다. -> Stable
○Ramp input
다음으로 Ramp input에 대해 살펴보자
아래와같이
이전에 정의한 FeedBack Loop System에 Ramp input이 들어갔다고 가정해보면,
위와같은 식으로 정리가 된다
조금전에 System의 Type은
의 N의값에 따라 결정된다고 했었다.
즉,
에서, System에 Type에 따라 Stable, Unstsable, Marginally Stable 여부를 따지면
Step input이 들어왔을때, System Type이 0이라면, 에러가 무한히 커짐을 알 수 있고,
Type1 시스템에서 에러를 표기할때 쓴 Kv는 아래와같의 정의가되며,
이를 Velocity error Constant라고 부른다.
-> Velocity Error Constant는 Type-One 시스템의 Ramp input이 들어갔을때,
Steady State Error를 정의할때 사용하는 index => Marginally Stable
*Type 2 이상의 시스템부터는 Ramp input은 0에 수렴하는 Stable System이 된다.
○Acceleration(Parabolic) input
마지막으로, Acceleration(Parabolic) input이다.
FeedBack Loop System에 Acceleration(Parabolic) input이 들어간다면, 시스템의 에러는
이시스템의 Type이 0 또는 1 이라면, 에러는 무한히 커지므로 발산한다.
System Type이 2라면, 아래와같이 쓸 수 있다.
그리고 이때 쓴 Ka라는 index는 Accelerataion Error Constant라고 정의하며, 그 식은 위와 같다.
=> Marginally Stable
*Type 3 이상의 시스템부터는 Ramp input은 0에 수렴하는 Stable System이 된다.
**Zero Steady State Error**
만약, 지금까지 정의한 Error Constant
... Position Error Constant, Velocity Error Constant, Acceleration Error Constant가 무한히 큰 숫자라면,
Steady State Error는 0으로 수렴하게 된다.
○Summary of Steady State error
지금까지 한 이야기를 모두 요약해보면 아래와 같다.
그리고 표로 정리해보면,
◎ Nonunity Feedback System
지금까지 다루어본 Feedback System은, Feedback Gain이 1인 'unity Feedback System'이었다.
만일 아래와같이 Feedback Gain이 1이 아닌 Nonunity System이라면, 어떻게 시스템을 해석해야할까?
여기서 위와 마찬가지로, Disturbance와 Noise를 제거해주면,
이번 섹션에서 살펴볼 것은,
위와같이 Feed Back Closed Loop System에서
FeedBack Gain값이 unity(= 1)값이 아닐때, 어떻게 해석해야하는가? 이다.
이런 시스템을 해석하기 위해서는 Feed Back Gain을 그대로 두어서는 안되고,
다시 unity Feedback System으로 되돌려주는 작업이 필요하다.
(그래야 앞에서 봤던 index, System Type, Error constant들이 의미가 생긴다.)
여기엔 여러가지 방법이 있는데
그 방법들은 다음과 같다.
○ Set K1 = K2
우선 가장 먼저,
앞전 포스팅에서 다룬 Block Diagram을 핸들링하는 방법을 활용하기위해, K1 Gain과 K2 Gain을 갖게 설정해 주는 방법이 있다. 이럴경우 아래와같이 Block Diagram을 단순화 시킬 수 있다.
이에대한 증명은 아래와 같은데,
보고 응 그렇구나 하면 된다.
○ More General Case for Nonunity Feedback system (with K1 = 1)
시스템의 feedback Gain이 1이 아니라고해서,
시스템 input에 항상 H(s)의 Gain값만큼 곱을 해줄 수는 없는 노릇이다.
H(s)가 위의 예시처럼 단순하게 주어진다면 상관이 없겠지만,
그보다 더 복잡하게 제시될 수도 있기 떄문이다.
그렇기 때문에
조금더 General 한 Solution에 대해서 다뤄볼 필요가 있는데, 이는 아래내용과 같다.
앞선 포스팅에서 Block Diagram에대해 포스팅할때 썼던 방식을 활용하여 위와같이 바꿀 수 가 있다.
이때, 새롭게 안에서 한번더 feedback Loop가 생기고, 이것의 Transfer Function을 Z(s)라고 할때, 다음과 같이 정리할 수 있다.
그리고, 전체 시스템의 Transfer Funtion은
이런 시스템에서 Error constant는 각각 다음과같다.
◎ Performance Indices
Performance inces란, 어떤 시스템의 Performance의 정량적(Quantitive)인 측정치를의미하며,
시스템의 중요한 특징들을 강조하기위해 선택하여 쓰는 것을 의미한다.
○Optimal Control (최적제어)
최적제어에 관한부분은 사실 학부생의 영역을 뛰어넘는 과목이라 자세히는 다루지 않고,
여기서는 최적제어가 어떤 것이다 정도만 보이고 넘기도록 하겠다.
최적제어란, 쉽게말해 앞서 언급한 Performance index를 Maximize / Minimize 하는것을 의미한다.
이때 최대 또는 최소가 되는 값을 extremum(극값)이라고 하며,
보통의 최적제어는 Parameter의 값을 Minimize하는 것을 목표로 한다.
여기서 말하는 Minimize는 단순히 줄인다는 의미가 아니며, 극값을 가지는 것만을 의미한다.
○ Some Common Performance indices
몇가지 자주 볼 수 있는 Performance indices에 대해 살펴보자.
- ISE (Integral of the Square of the Error)
> upper limit T는 Control Designer의 마음이며, 보통 Settling time을 사용한다.
> Overshoot이 너무 클경우, Settling Time이 너무 길어지며, ISE가 커지게된다.
.....디자이너는 이를 고려해서 Overdamping, Underdamping을 잘 컨트롤 해줘야 한다는 의미가 된다.
이것 말고도 몇가지 더있는데 일단 응 그렇구나 해두면 된다.
- IAE (Integral of the Absolute magnitude of Error)
- ITAE (Integral of the Time-weighted Absolute magnitude of Error)
IAE는 ISE의 절대 루트값이 씌워진 idex이고,
ITAE는 IAE에서 시간의 가중치가 더해진 idex이다.
ITAE는 inital Error값이 큰 시스템에 대한 Contribution을 감소시킬 수 있고,
시스템의 Response가 있은 후의 에러를 Emphasize할 수 있다.
(원문을 번역한건데 솔직히 이 문장은 정확히 무슨말인지는 잘 모르겠다)
- ITSE (Integral of the Time-weighted Square Error)
이외에도
여러가지 Performance index들이 있는데, 이를 표현하는 General한 표현식은
이며, h( ) Term은 적분으로 표현되지 않는 Term, 뒤에 integral Term은 적분으로 표현되는 Term을 의미한다.
각각 최소화 시키고싶은 목표에 따라서, Control Input을 달리 적용하여 넣으면 되는데,
이를 수식으로 간단히 적용해보면 다음과 같다.
길고길었던 이번 챕터의 포스팅이 끝났다.
길었던 내용이었던 만큼, 이를 따로 다루는 예제에관한 포스팅도 기회가 되면 올릴 예정이다.
(시간이 된다면)
**
다음번에 다루게될 포스팅 주제는 시스템의 Stability에 관한 내용이다.
'Control > 자동제어' 카테고리의 다른 글
The Root Locus(1) (0) | 2021.12.03 |
---|---|
The Stability of Linear Feedback System (0) | 2021.11.23 |
The Performance of Feedback Control Systems (1) (0) | 2021.11.12 |
State Space Variables(2) (0) | 2021.10.17 |
State Space Variables(1) (0) | 2021.10.16 |