한국어
기계공학
 

제어공학 Matlab을 이용한 - 근궤적작도

makersweb 2010.04.09 20:28 조회 수 : 20589

근궤적법(W.R.Evans,1948)

제어시스템내의 어떤 한 계수 값 변화에 따른 폐로시스템의 극점의 위치를 그림으로 나타냄으로써 시스템의 안전성과 성능을 함께 조사하는 방법이며 주로 3차시스템 이상을 다루기위해 이용된다. (여기서는 Matlab을 이용)

 

근궤적(root locus)

미정계수를 포함하는 특성방정식에서 미정계수 K가 0부터 ∞까지 변할때, 특성방정식의 근이 변화하는 궤적을 복소평면에 그림으로 나타낸것
 

근궤적의 작성

루프전달함수 KG(s)H(s)를 이용하여 작성

 

근궤적의 기본성질

1)근궤적의 수

 특성방정식의 근(폐루프 극점)의 개수와 같다.

2)근궤적의 출발점과 종착점

 -출발점(K=0일때): G(s)H(s)의 극점에서 출발, D(s)=0의 근

-종착점(K=∞일때): G(s)H(s)의 영점에 종착, N(s)=0의 근

3)실수축상의 근궤적

 G(s)H(s)의 극점과 영점이 실수축상에 있을때

 임의의 구간에서 오른쪽에 있는 극점과 영점을 합한 개수가 홀수이면 그 구간에 근궤적이 존재하고, 짝수이면 근궤적이 존재하지않음.

4)근궤적선도의 대칭성

 특성방정식의 복소근은 공액복소수로 존재하므로 실수축에 대하여 대칭을 이룬다.

5)점근선의 각도와 위치

-K가 ∞로 점근할때 근궤적은 점근선(asymptote)을 가짐.

-점근선의 개수: G(s)H(s)의 극점수 n과 영점수 m이 같지 않을때, 점근선의 개수 =n - m

 

 

(예제1) 점근선의 각도와 위치

 

                           K(s+3)

      G(s)H(s) = ㅡㅡㅡㅡㅡㅡㅡㅡㅡ

                     s(s+1)(s+2)(s+4)

 

 

근궤적작성
>>num=[1,3];den=conv([1,1,0],[1,6,8]);sys=tf(num,den);rlocus(sys)

다음과 같은 근궤적을 확인할 수 있다.

1.png

예제1의 2차시스템 응답특성
>>wn=0.69;z=0.508;num=wn^2;den=[1,2*z*wn,wn^2]; t=0:0.01:20; step(num,den,t)

 

6)출발점과 종착점의 결정하는 각도

 -위상조건으로 결정

7)절점의 위치

-절점(break point):특성방정식의 다중근에 대응

 이탈점(breakaway point):근궤적이 실수축을 떠나는 점

 복귀점(breakin point):근궤적이 실수축에 도착하는 점

8)허수축 교차점

-의미: 안정성의 임계점, 제어시스템의 해석 및 설계에 중요하게 작용된다.

 계산법1:특성방정식에서 s값에 ϳω를 대입하여구함(허수축 교차점의 주파수  ω와 근궤적 계수 K를 구할 수 있음)

 계산법2:Routh안정성 판별법 이용

 

 

(예제2)허수축 교차점

 

                            1

   G(s)H(s)  =  ㅡㅡㅡㅡㅡㅡㅡㅡㅡ

                    s(s+4)(s²+8s+42)

 

 

근궤적작성
전달함수 다항식계산
>>conv([1,4,0],[1,8,42])

ans =

     1    12    74   168     0

>>num=[1];den=[1,12,74,168,0];rlocus(num,den)

예제2의 근궤적

 2.png

예제2의 2차시스템 응답특성
>>wn=2.16;z=0.681;num=wn^2;den=[1,2*z*wn,wn^2]; t=0:0.01:4; step(num,den,t)

 

2차응답특성비교과 4차시스템비교
>> w1=2.16;z1=0.681;num1=w1^2;den1=[1,2*z1*w1,w1^2]; t=0:0.01:4; step(num1,den1,t)
>> hold on
>> w2=6.53;z1=0.693;num2=w2^2;den2=[1,2*z2*w2,w2^2]; t=0:0.01:4; step(num2,den2,t)
>> num=num1*num2; den=conv(den1,den2); step(num,den,t)
>> legend('sys1','sys2','sys1+sys2')