본문 바로가기

제어이론/선형시스템 -> LTI System

(선형시스템) 6-1. Root Locus -> 안정성 with Manipulation

이번에는 Pole의 위치를 예측할 수 있는 Root Locus에 대해서 알아보자.

 

앞에서 모든 전달함수들은 대부분 분모에 (1+GK)를 가지고 있었다! (G는 Plant)

즉, (분모) =0이 되는 s가 POLE이 된다.

사실, 분모에 들어가는 1+"...." -> 저 "..."는 루프를 돌면서 다 곱한 것이 나온다!

(Sensor가 들어간 Closed-loop를 생각해보자 -> GKH)

-> 이를 loop gain이라고 한다.

 

SISO라고 생각하면(즉, 전달함수 -> 1개의 input, 1개의 output만 떼어놓고 보자!) 저 matrix(사실, 그냥 함수지만)들의 순서를 바꿀 수 있고 결국 분모가

1+KL(s)=0

이렇게 되는 s가 POLE이 된다.

이 때, K를 우리가 바꿀 수 있으므로, K의 값에 따라서 저 식의 solution(즉, Closed-loop system의 POLE)이 어디 있는지 궁금하다! -> LHP에 있는지, 진동하는지....

 

이렇게 K 값에 따라 Pole의 위치를 확인해서 그리는 것을 Root Locus라고 한다.

 

(NOTE)

물론, Controller K를 굳이 상수로 놓을 필요는 없다. K가 s에 대한 식이어도 된다. 이 경우에는 우리가 바꿀 것(Manipulatable)만 K에 남겨놓고 나머지는 다 L로 보내버리면 된다.


조금 더 분석을 해보자면...

1. Algebraically...

-> 이 식의 solution을 찾아보면 된다!

2. 이를 Complex Number로 생각해보면....

즉, L(s)의 phase가 180도인 s를 찾으면 된다!

인 것을 이용하면 된다!

 


 

Root Locus를 어떻게 그리는지 살펴보자.

 

1. k=0

-> 위의 내용을 이용하면 저 L(s)의 Pole만 남는다!

-> 즉, POLE에서 Root Locus가 시작한다.

 

2. k=infty

무조건, Zero부분이 0이 나와주어야 한다!

-> Zero에서 Root Locus가 끝난다.

(그렇다면... Pole-Zero개수의 움직임은??? -> 5번!)

 

3. s가 real axis에 있다면...

위의 Complex Number의 내용을 이용하면...

(a) Complex Pole, Zero : Conjugate이므로, 짝 지어서 생각해보면...

-> Complex Pole, Zero에 의한 각도는 360도! => 무시!

(여기서 (s-p)나 (s-z)의 방향은 s로 향하는 방향!!!)

 

(b) Real Pole, Zero : s가 Pole, Zero의 왼쪽에 있는지, 오른쪽에 있는지에 따라서 각이 결정된다!

=> s는 "홀수 개"의 pole, zero의 왼쪽에 있게 된다! (방향이 s로 향하므로!)

예를 들어서...

4. Pole에서 출발하거나, Zero로 들어오는 경우의 각도

-> pole이나, zero의 약간 옆에서 각도를 가지고 생각해보자! (중근의 경우도 고려해보자)

그런데, 중근의 경우 -> 각도가 여러개 나온다! -> 즉, 여러 개의 Root가 들어가고 나올 수 있다.

다만, 계산해보면 "등간격"으로 들어가거나 나온다.

 

5. s가 아주 큰 경우! -> K가 아주 큰 경우! ((Zero로 들어가는 Root 아닌 경우) -> (Pole - Zero)갯수의 root 흐름)

그러면, s에서 pole과 zero를 보는 각도, 그리고 s에서 s_0을 보는 각도도 다 같을 것이므로... (아주 멀리서 본다고 생각하자)

zero가 m개, pole이 n개가 있다면

또한, 저기서 s_0를 구하려고하면...

멀리서 보면, 결국 zero와 pole이 같은 거로 보이고(그냥 s_0에 다 몰려있다고 생각하면 된다.) 상쇄된다고 할 수 있을것이다.

그러므로, 우리의 식은 다음과 같이 고칠 수 있다.

그러므로 정리하면

이 때는, s가 아주 멀기 때문에, K가 infinity라고 해도 무방하다...

 


예시를 들어보자!

 

1. Pole에서 시작해서 Zero로 끝난다!

2. Real axis에서는 Zero 사이와, 실수축 Pole 왼쪽에서 돌아다닌다!

3. Pole(Complex)에서 출발하는 각도

이 각도를 다 계산해서 출발하는 것을 생각해보면...

 

5. K가 큰 경우! -> 1개가 어디로?? (사실, Real axis 위에 있어서 자명하긴 하다.)

각도는 

기준점은

즉, K가 큰 경우 -4에서 pi방향으로 쭈우욱 간다. -> 결국 우리가 2에서 구한 것과 동일! (맨 왼쪽의 Root)

 

정리하면 다음과 같은 Root Locus를 얻을 수 있다!

즉, 3개의 Root가 움직이는데, K가 커지면서 Root 한개가 RHP로 넘어갈 수 있다! (Zero로 붙게 되므로)

-->>> 그러므로 K가 엄청 커지면, 이 Closed-loop System이 Unstable해질 수 있다!

 

또한, K를 적절하게 키우면, 진동하는 것도 사라진다!!! (NO complex pole -> Only Real-axis pole)

 

(NOTE)

보면 알겠지만, 위아래 대칭이므로, Complex에서 출발한 Root가 Real-Axis에서 만날 수 밖에 없다! => 그 후 제 갈 길 간다! -> 각자의 Zero로....

 

수치적으로 계산하면 다음과 같이 Root가 움직인다! (오른쪽은 Unit Response)


이러한 방식으로 어떠한 Manipulated Variable을 움직여가면서 Closed-Loop System의 안정성과 특성을 파악할 수 있다!!!