Sketching a Root Locus

1. – Root Locus는 Pole에서 출발해서 Zero에서 끝난다.
    – Pole의 수가 Zero의 수보다 많은 경우 나머지는 발산한다.
       (Parameter K는 0부터 무한대 까지의 값을 갖는다.)

2. – Phase Condition을 만족하는 Root Locus를 Real Axis에 그린다.
    – Real Axis위에 위치하지 않은 Pole과 Zero를 고려하지 않는 이유는 켤레 복소수이기 때문에
       둘의 Phase를 더하면 360도 이기 때문이다.
    – Real Axis에서 Root Locus를 찾는 요령은 Testing Point를 기준으로 오른쪽에 위치한
      Zero와 Pole의 개수의 합이 홀수이면 된다. 그 이유는 왼쪽에 위치한 Pole과 Zero는 Phase가 ‘0’도이기
      때문에 오른쪽에 있는 Zero와 Pole만 고려하면 되고, 그 개수가 홀수 일 때 180도이다.
   
3. – 발산하는 Pole의 점근선의 중심 위치와 각도를 계산해서 점근선을 그린다.
    – 점근선 각도와 중심 (n은 분모의 차수, m은 분자의 차수)
                            ,

4. – 하나의 Pole을 기준으로 출발각(Angle of departure)과 도착각(Angle of arrival)을 계산하여
      Pole의 이동 방향을 계산한다. 아래 식의 q는 기존 Pole에서 상대적으로 떨어진 거리를 의미한다.(1=제자리)
    – 출발각(도착각)을 알고 싶은 pole을 향해 다른 pole과 zero에서 벡터를 그리고 그 벡터가 이루는 각을 구한다.
     

5. – Pole이 LHP에서 RHP를 지나 Imaginary Axis를 지나는 점은 Routh’s test를 이용해서
      K값을 찾고 그 때의 Imaginary 값을 구한다.

6. – Breakaway(or Breakin point): 전달함수의 분자를 a(s), 분모를 b(s)라고 했을 때 Ka(s)=-b(s)가 된다.
      (위와 같이 식이 나오는 이유는 Unit Feedback에서 특성 방정식이 1+Ka(s)/b(s)=0 이기 때문이다.)
      K에 대한 식(-b(s)/a(s))을 s에 대해서 미분한 값이 ‘0’이 되는 경우가 Breakaway 또는 Breakin point이다.
    – 특히 이 점은 s에 대해서 K의 값이 Max(Breakaway) 또는 Min(Breakin) 값에 해당한다.
    – 수식으로 표현하면 아래와 같다.
         

예제>
      
 

1. Pole의 위치는 0, -2, -1±2i, Zero는 없음. 따라서 4개의 Pole은 모두 발산할 것이다.

2. Real Axis 상에 있지 않은 -1±2i의 위상의 합은 360도 이므로, 무시하고 0과 -2 Pole을 기준으로
   Phase Condition을 만족시키는 영역이 Root Locus이다. 찾는 방법은 Test Point를 기준으로 우측에
   위치한 Pole과 Zero의 수의 합이 홀수개 이면 위상의 합이 180도 이다. 따라서 -2부터 0 구간이다.(아래 그림)

3. 점근선의 각도는 m이 0이고, n은 4이므로 ±45도, ±135도이다. 점근선의 중심은 α=(-2-1+2i-1-2i)/4=-1이다.

사용자 삽입 이미지4. -1+2i에서의 출발각을 계산하면, Zero가 없으므로 -1+2i와 다른 Pole사이의 각을 구하면 된다.(l=0, q=1)
    0에서 그은 벡터가 이루는 각은 atan(2/-1), -2에서 이루는 각은 atan(2/1), -1-2i와 이루는 각은 90도 이다.
    같은 방식으로 출발각과 도착각을 계산할 수 있다.
   

5. Routh’s Test를 이용해서 K를 구하면 16.25가 나오고, ω=±j1.58이 구해진다.(계산 과정 생략)

6. Beakaway Point(또는 Breakin Point)는 위의 공식에 의해 얻어지고, 그 값은 -1, -1±i1.22 이다.(계산 과정 생략)
사용자 삽입 이미지사용자 삽입 이미지

< 최종 Root Locus >

[code matlab]
% Feedback Control of Dynamic Systems, 5e – Fig. 5.18
close all, clear, clc
num=1;
den=conv([1,2,0],[1,2,5]);
sys=tf(num,den);

figure(‘name’,’Poles and Zeros’)
hold on
pzmap(sys)
plot([-2,0],[0,0],’b’,’linewidth’,2)
axis([-4,1,-3,3])
title(‘Zeros and Poles: L=1/s(s+2)[(s+1)^2+4)’,’fontsize’,11)
plot([-4,1],[-3,2],’r:’)
plot([-4,1],[3,-2],’r:’)
plot([-1,-1],[-2,2],’b’,’linewidth’,2)
plot(0,1.58,’mo’)
plot(0,-1.58,’mo’)
plot(-1,0,’ko’)
plot(-1,-1.22,’ko’)
plot(-1,1.22,’ko’)

figure(‘name’,’Root-Locus’)
rlocus(sys);
axis([-4,1,-3,3])
set(gca,’xtick’,[-4:1]);
Z=0:0.1:4;
W=1:1:5;
sgrid(Z,W)
title(‘Root locus: L=1/s(s+2)[(s+1)^2+4)’,’fontsize’,11)
[/code]*참고: Feedback Control of Dynamic Systems 5E

You may also like...

1 Response

  1. 정섭 댓글:

    조… 조은 글입니다. 수업시간에 조는 바람에 이해를 못했는데 ㅠ 프린트물이 영어더군요;;

댓글 남기기