[제어공학] Root Locus

Eugene CHOI·2021년 4월 20일
0

Control Engineering

목록 보기
5/9
post-thumbnail


위와 같은 블럭선도가 있다고 합니다.
위의 블럭선도의 전달함수를 구하면 다음과 같습니다.

G(s)=YR=H1+kHG(s)=\frac YR=\frac H{1+kH}

이 전달함수의 polepole은 분모가 0이 되는 해 ss입니다.
H=b(s)a(s)H=\frac{b(s)}{a(s)}이라고 하면, 다음과 같이 정리할 수 있습니다.

YR=a(s)a(s)+kb(s)=1+kb(s)a(s)=1+kH\frac YR=\frac{a(s)}{a(s)+kb(s)}=1+k\frac{b(s)}{a(s)}=1+kH

최종적으로 YR\frac YRpolepole1+kH=01+kH=0이 결정하게 됩니다.

\therefore 우리는 kk를 변화시킴으로써 다른 polepole을 얻을 수 있습니다.


Root Locus method

kk를 변화시키며 YRY\over Rpolepole을 같은 복소평면에 그리고, 적절한 출력 반응이 예상되는 polepole의 위치를 선정하는 방법의 하나입니다.

kkpolepole을 변화시킬 수 있다는 사실을 알았으니 극단적인 두 가지 경우를 예상해봅니다.

  1. k=0      a(s)=0k=0\;\;\;→ a(s)=0의 근(H(s)  pole)(H(s)의\;pole)YRY\over Rpolepole이 됩니다.
  2. k=  0+b(s)=0k=\infin \;\,→ 0+b(s)=0의 근(H(s)zero(H(s)의 zeroYRY\over Rpolepole이 됩니다.

Matlab example

아래 전달함수는 polepole의 개수가 zerozero의 개수보다 적습니다.
이러한 경우에는 부족한 polezeropole-zero의 개수만큼 복소평면상의 \infin 위치의 zerozero로 발산하게 됩니다.

H(s)=Y(s)U(s)=s+7s(s+5)(s+15)(s+20)H(s)=\frac{Y(s)}{U(s)}=\frac{s+7}{s(s+5)(s+15)(s+20)}
num = [1, 7];
% 두 n차 방정식의 곱을 구할 수 있다.
den = conv(conv([1, 0], [1, 5]), conv([1, 15], [1, 20]));
% root locus를 그려준다.
rlocus(num, den)
axis([-22, 3, -15, 15])


2개의 오른쪽 polepole이 위/아래로 발산하는 모습을 볼 수 있습니다.

zeta = 0.7;
Wn = 1.8;
% Wn이 같을 때의 궤적, zeta가 같을 때의 궤적을 그려준다.
sgrid(zeta, Wn)

profile
Hi, my name is Eugene CHOI the Automotive MCU FW developer.

0개의 댓글