728x90
6. The Frequency Response Design Method

6. The Frequency Response Design Method

1. Frequency Response

  • 주파수 응답 : 선형시스템에 sinusoidal 입력이 들어갔을 때의 응답
    • 입력 u(t)=Asin(w0t)u(t)=Asin(w_0t)
    • 초기값 0일 때 출력 Y(s)=G(s)Aw0s2+w02Y(s)=G(s)\frac{Aw_0}{s^2+w_0^2}
    • G(s)가 n개의 pole을 갖는다고 할 때,
      Y(s)=α1sp1+α2sp2+...+αnspn+α0s+jw0+α0sjw0Y(s)=\frac{\alpha_1}{s-p_1}+\frac{\alpha_2}{s-p_2}+...+\frac{\alpha_n}{s-p_n}+\frac{\alpha_0}{s+jw_0}+\frac{\alpha_0^*}{s-jw_0}
    • α0=limsjw0G(s)Aw0s2+w02=A2jG(jw0)\alpha_0=\lim_{s\rarr -jw_0}G(s)\frac{Aw_0}{s^2+w_0^2}=-\frac{A}{2j}G(-jw_0)
    • α0=A2jG(jw0)\alpha_0^*=\frac{A}{2j}G(jw_0)
  • 주파수 응답 y(t)y(t)
    =α1ep1t+α2ep2t+...+αnepnt+A2j[G(jw)ejw0tG(jw)ejw0t]=\alpha_1e^{-p_1t}+\alpha_2e^{-p_2t}+...+\alpha_ne^{-p_nt}+\frac{A}{2j}[G(jw)e^{jw_0t}-G(-jw)e^{-jw_0t}]
    =α1ep1t+α2ep2t+...+αnepnt+G(jw0)Asin(w0t+ϕ)=\alpha_1e^{-p_1t}+\alpha_2e^{-p_2t}+...+\alpha_ne^{-p_nt}+|G(jw_0)|Asin(w_0t+\phi)
    • ϕ=tan1Im[G(jw0)]Re[G(jw0)]\phi=tan^{-1}\frac{Im[G(jw_0)]}{Re[G(jw_0)]}
    • 안정적인 시스템 응답이 steady state가 되는 경우, pole 항은 모두 소거 :
      y(t)=G(jw0)Asin(w0t+ϕ)=AMsin(w0t+ϕ)y(t)=|G(jw_0)|Asin(w_0t+\phi)=AMsin(w_0t+\phi)
    • 주파수 응답 특성(Frequency Response Characteristics) : 시스템의 sinusoidal 입력에 따른 고유한 Magnitude, Phase의 주파수 응답 특성

  • Bode Plot : 사인파 입력의 주파수가 변화함에 따라 응답의 Magnitude, Phase 변화를 각각 나타내는 그래프

    • x축(주파수) : log scale
    • y축(Magnitude) : log scale
    • y축(phase) : linear scale
    • Compensator 설계에 활용 가능
    • 각 시스템의 bode plot은 더해질 수 있다.
    • log scale이므로 광범위한 응답특성 표현 가능
  • System G(jw)=s1s2s3s4s5G(jw)=\frac{\vec{s_1}\vec{s_2}}{\vec{s_3}\vec{s_4}\vec{s_5}}일 때

    • s=rejθ\vec{s}=re^{j\theta}
    • M=G(jw), ϕ=G(jw)M=|G(jw)|,\ \phi=\angle G(jw)
    • logM=logr,logG(jw)=j(ϕ)logelogM=log\sum r,log\angle G(jw)=j(\sum\phi)loge
    • Gdb=10logP2P1=20logV2V1|G|_{db}=10log\frac{P_2}{P_1}=20log\frac{V_2}{V_1}
  • Bode Form : 시스템 인수의 상수값이 1

    • KG(s)=K(sz1)(sz2)...(sp1)(sp2)..KG(s)=K\frac{(s-z_1)(s-z_2)...}{(s-p_1)(s-p_2)..}
      KG(jw)=Ko(jwτ1+1)(jwτ2)...(jwτa+1)(jwτb+1)...\rarr KG(jw)=K_o\frac{(jw\tau_1+1)(jw\tau-2)...}{(jw\tau_a+1)(jw\tau_b+1)...}

  • 전달함수 형태
    • K0(jw)nK_0(jw)^n
    • (jwτ+1)±1(jw\tau+1)^{\pm1}
    • [(jwwn)2+2ζ(jwwn)+1]±1[(\frac{jw}{w_n})^2+2\zeta(\frac{jw}{w_n})+1]^{\pm1}

  • ex. Class-1 : K0(jw)nK_0(jw)^n

    • (dB) M=20logK0(jw)n=20logK0+20nlogwM=20log|K_0(jw)^n|=20log|K_0|+20nlogw
    • (jw)n=n×90°\angle(jw)^n=n\times90\degree
    • Magnitude : K0=1, n=1K_0=1,\ n=1이라고 하면, 20dB/decade의 기울기를 갖는 직선 그래프 생성
    • Phase : n×90°n\times90\degree의 x축과 평행한 직선 그래프
  • ex. Class-2, 1st-order : jwτ+1jw\tau+1

    • Magnitude
      • wτ<<1logjwτ+10w\tau<<1\rarr log|jw\tau+1|\simeq0
      • wτ+1>>1logjwτ+1logτ+logjww\tau+1>>1\rarr log|jw\tau+1|\simeq log|\tau|+log|jw|
      • wτ=1w\tau=1 : Break Point
        • M=20logj+1=20log23dBM=20log|j+1|=20log\sqrt{2}\simeq3dB
      • ((w=1/τ),0dB)((w=1/\tau),0dB) 좌표를 기준으로 0dB/dec, 20dB/dec 기울기의 점근선 형성
      • (jwτ+1)1(jw\tau+1)^{-1} 의 경우 -3dB 점을 기준으로 -20dB/dec 기울기로 감소하는 그래프 형성
    • Phase
      • wτ<<10°w\tau<<1\rarr 0\degree
      • wτ+1>>190°w\tau+1>>1\rarr 90\degree
      • Break Point : wτ=145°w\tau=1\rarr 45\degree
      • 점근선의 기울기, 90°, 0°90\degree,\ 0\degree의 점근선을 기준으로 하는 곡선 그래프 형성
  • ex. Class-3, 2nd-order term : [(jwwn)2+2ζ(jwwn)+1]±1[(\frac{jw}{w_n})^2+2\zeta(\frac{jw}{w_n})+1]^{\pm1}

    • Magnitude
      • w<<wnlogG(jw)0w<<w_n\rarr log|G(jw)|\simeq0
      • w>>wnG(jw)(jw/wn)±2w>>w_n\rarr G(jw)\simeq(jw/w_n)^{\pm2}
        logG(jw)±2log1/wn±2logjwlog|G(jw)|\simeq\pm2log|1/w_n|\pm2log|jw|
      • w=wnlogG(jw)log((2ζ)±1)w=w_n\rarr log|G(jw)|\simeq log((2\zeta)^{\pm1})
      • breakpoint에서 20log(2ζ)±120log(2\zeta)^{\pm1} 지점을 통과
    • Phase
      • 차단주파수 전후로 0, 180도의 위상, breakpoint에서 G(jw)=j2ζ\angle G(jw)=-\angle j2\zeta
      • zetazeta가 1에 가까울 수록 완만하게, 0에 가까울수록 급격하게 그래프 변화

  • Bandwidth : Closed-Loop Transfer function
    • Amplitude가 1 > 0.707로 감소할 때의 주파수
    • 이 때 Magnitude는 약 -3dB
    • 전력이 50% 이하로 감소

  • Bode Plot 작성
    1. Magnitude : 전달함수를 Bode Form으로 조절 : KG(jw)=Ko(jwτ1+1)(jwτ2)...(jwτa+1)(jwτb+1)...KG(jw)=K_o\frac{(jw\tau_1+1)(jw\tau-2)...}{(jw\tau_a+1)(jw\tau_b+1)...}
    2. 주파수를 0으로 근사시켜 기울기 확인 후, 주파수 w=1일 때 점근선 작성
    3. 각 breakpoint에서의 점근선 작성 : 먼저 작성한 점근선 그래프에 breakpoint 주파수를 대입하여 그 지점을 지나는 점근선으로 작성
    4. 기울기가 감소, 혹은 증가할 때 Bode Plot 곡선은 교차점에서 ±3dB\pm3dB 차이나는 지점을 지나게 된다.
    5. Phase : 주파수를 0으로 근사시켜 출발점 위상 확인
    6. zero를 지나면 +90, pole을 지나면 -90도씩 변화하는 점근선 작성
    7. Phase Bode Plot 작성 : 곡선은 변화하는 점근선의 중간점을 지남

2. Neutral Stability

  • KG(s)KG(s)의 전달함수에서 얻은 Bode Plot으로 Closed-Loop system의 안정도 판별
    • Closed-Loop system의 root locus 작성시
      모든 점에서 1+KG(s)=0KG(s)=11+KG(s)=0\rarr |KG(s)|=1, G(s)=180°\angle G(s)=180\degree
    • 허수축 위를 지날 때 (neutral stability) : KG(jw)=1|KG(jw)|=1, G(jw)=180°\angle G(jw)=180\degree

  • G(s)=1s(s+1)2G(s)=\frac{1}{s(s+1)^2}에서 G(jw)=180°\angle G(jw)=-180\degree일 때,
    • K=2이면 KG(jw)=1|KG(jw)|=1
    • K<2이면 KG(jw)<1|KG(jw)|<1 : Stable
    • K>2이면 KG(jw)>1|KG(jw)|>1 : Unstable
    • G(jw)=180°\angle G(jw)=-180\degree일 때 KG(jw)<1|KG(jw)|<1 이면 Stable
  • 만약 G(s)=s(s+1)2G(s)=s(s+1)^2이면 G(jw)=180°\angle G(jw)=-180\degree일 때 KG(jw)>1|KG(jw)|>1 이면 Stable

  • Bode Plot의 경우 Gain이 1 (위상이 180도)인 지점을 여러번 지날 수 있어 안정도 판별에 어려움 존재
  • Nyquist 안정도 판별법을 대신 사용

3. Nyquist Stability

  • 편각의 원리
    • 전달함수 H(s)에서 s가 임의의 궤적 C1을 따를 때,
    • H(s)의 궤적은 s의 궤적 C1 안에 속하는 Zero - Pole 개수 차이만큼 원점을 포함하여 회전하는 궤적이 된다.
    • zero가 더 많으면 시계방향, pole이 더 많으면 반시계방향
  • C1C_1궤적을 RHP 모두를 포함하는 궤적으로 가정
    • RHP에 zero 존재 : 시계방향 궤적
    • RHP에 pole 존재 : 반시계방향 궤적
  • 전달함수 T(s)=1+KG(s)=1+Kb(s)a(s)=a(s)+Kb(s)a(s)T(s)=1+KG(s)=1+K\frac{b(s)}{a(s)}=\frac{a(s)+Kb(s)}{a(s)}일 때
    • G(s)의 RHP Pole = 1+KG(s)의 RHP pole
    • closed-loop의 RHP Pole = 1+KG(s)의 RHP zero
    • N = Z-P
      • N : 원점을 포함하며 시계방향으로 회전하는 궤적 수
      • Z, P : T(s)의 RHP zero, pole 개수
      • Z = N+P이므로, T(s)의 RHP zero가 없다면 G(s)의 RHP pole이 없으므로 안정된 시스템이다.

  • Nyquist Plot의 작성법
    1. RHP 궤적 C1C_1을 3개 영역에 나누어 KG(s)분석
      • 0j0\rarr j\infty
      • j0-j\infty\rarr0
      • RHP를 따라 이동하는 Big Arc
        • 무한의 반지름을 따라 이동하므로 KG(j)KG(j\infty)계산
        • KG(j)KG(j\infty) 는 pole 차수가 더 클때 0, pole, zero 차수가 동일하면 상수
    2. KG(s)의 Bode Plot 작성
      • breakout point의 좌표 확인
    3. Bode Plot을 기반으로 Nyquist Plot 작성
      • Bode Plot에서 위상 0도일 때의 Gain = + 방향 X축에서의 시작 좌표
      • 위상 변화에 따라 Gain 크기가 궤적의 반지름
    4. 궤적의 Loop 내에 포함되는 원점의 개수 확인

  • ex. G(s)=1s(s+1)2G(s)=\frac{1}{s(s+1)^2}
  • s가 매우 작은 값이 될 때, G(s)1sG(s)\simeq \frac{1}{s}로 근사
    • r이 0으로 근사 시 매우 큰 값이 된다
    • r이 무한으로 증가하면 궤적은 원점 근처를 지난다
    • 위상 ϕ\phi는 -90~ 90도로 이동하는 궤적이므로 G는 반시계방향 (90 ~ -90도)으로 이동하는 궤적이 된다.
    • Bode plot 작성 시 w값이 -90에 가까울 수록 Gain이 커지고, -180도에서 0, 이후로 급격히 작아지므로 3사분면에서 시작하여 w=1 지점을 끼고 원점으로 수렴하는 궤적이 나타난다.
728x90
728x90
5. The Root-Locus Design

5. The Root-Locus Design

1. Root-Locus of Basic Feedback system

  • Transfer Function Y(s)R(s)=T(s)=DG1+DGH\frac{Y(s)}{R(s)}=T(s)=\frac{DG}{1+DGH}
    • 전체 시스템의 특성방정식 : 1+DGH=01+DGH=0
      a(s)+Kb(s)=0\rArr a(s)+Kb(s)=0 K : T(s)의 공통 변수로 정의
      1+KL(s)=0\rArr 1+KL(s)=0 (L(s)=b(s)/a(s)L(s)=b(s)/a(s))
    • Root-Locus : 임의 변수 K가 0에서 무한으로 증가할 때 근의 궤적
      • a(s)+Kb(s)=0a(s)+Kb(s)=0의 방정식을 풀어 s의 궤적 판단
  • Position Controller에 대한 Root Locus
    • 2개의 근, 2개의 근궤적 형성
    • K=0일 때, 궤적은 pole에서 시작, Breakaway point로 수렴
    • Breakaway point : 궤적이 실수축을 벗어나는 K값
    • Breakaway point 이상으로 K가 증가하면 근궤적은 허수축과 평행하게 무한으로 발산
  • Open-loop pole에 대한 Root locus
    • 특성방정식의 Pole값을 K로 계산
      • K=0일 때 근궤적은 허수축 pole에서 시작
      • K가 증가함에 따라 반원형태를 그리며 수렴
      • Break-in Point : 궤적이 실수축과 만나는 K값
      • K가 break-in point 이상으로 증가하면 실수축을 따라서 한 궤적은 0으로 수렴, 다른 궤적은 무한으로 발산

2. Guidelines for Sketching a Root Locus

  • Def. 1 : root locus는 K가 0에서 무한으로 증가할 때 1+KL(s)=01+KL(s)=0을 만족하는 s의 궤적이다
  • Def. 2 : L(s)L(s)의 root locus는 L(s)L(s)의 위상이 180도가 되는 s의 궤적이다.
    • L(s)=1/KL(s)=-1/K
    • L(s)=[1K]=180°\angle L(s)=\angle [-\frac{1}{K}]=180\degree
    • 임의 근 s에 대해, L(s)의 zero와 pole과 각각 이루는 각도의 합이 180도의 배수가 되어야 함

  • Positive Root Locus를 그리기 위한 규칙
    1. 궤적은 L(s)의 pole에서 시작해서 zero로 수렴
    2. L(s)의 궤적은 실수축을 기준으로 대칭
      • 실수인 pole,zero의 개수의 합이 홀수인 경우 가장 작은 근에서 -\infty방향으로 발산
    3. s가 무한으로 가는 경우 궤적은 실수축 위의 점을 기준으로 형성되는 점근선을 따라 형성
      • 점근선의 위상 ϕ=180+360(l1)pz\phi=\frac{180+360(l-1)}{p-z} (l=1,2,3...)
      • 점근선 교차점 α=pizipz\alpha = \frac{\sum p_i- \sum z_i}{p-z}
      • p : pole 개수 / z : zero 개수
      • l : 0, 1, 2, ...
    4. root locus 출발/도달 각도
      • pole에서 궤적이 출발하는 각 ϕdep=ψiϕi180360(l1)q\phi_{dep}=\frac{\sum\psi_i-\sum\phi_i-180-360(l-1)}{q}
        • ψ\psi : 임의 지점과 zero 사이의 각
        • ϕ\phi : 임의 지점과 pole 사이의 각
        • q : 해당 pole의 중근 개수
      • zero로 궤적이 도달하는 각 ψ=ψiϕi+180+360(l1)q\psi=\frac{\sum\psi_i-\sum\phi_i+180+360(l-1)}{q}
    5. root locus가 허수축을 지날 때 교차점
      • s=jw꼴로 나타나므로 특성방정식의 짝수 차수 항들은 0이 되어야 함
      • 1, 3, 5,...차 항만 남긴 후 해당 식이 0이 되는 근이 허수축 교차점
      • 허수축을 지날 때의 K값은 routh array를 구성할 때 행의 모든 값을 0으로 만드는 값이다.
    6. Multiple root
      • a(s)+Kb(s)=0a(s)+Kb(s)=0꼴로 정리했을 때
      • bdadsadbds=0b\frac{da}{ds}-a\frac{db}{ds}=0을 만족하는 실수값이 있을 때 그 점이 궤적의 교차점(breakaway, breakin point)
      • 이때 break point는 근궤적 위에 존재해야 함

3. Selected Illustrative Root Locus

  • P 컨트롤러의 근궤적
    • G(s)=1/s21+kp1s2=0G(s)=1/s^2\rArr 1+k_p\frac{1}{s^2}=0
    1. pole s=0에서 궤적 시작, 두 선 모두 무한으로 발산
    2. 근이 2개이므로 실수축을 지나지 않음
    3. 점근선의 교차점 0, 위상 ±90°\pm90\degree
    4. 출발 각도 ±90°\pm90\degree
    5. 조건 3, 4에 의해 허수축만을 따라 움직임
    6. breakaway point - s=0
  • PD 컨트롤러의 근궤적
    • 1+[kp+kds]1s2=01+[k_p+k_ds]\frac{1}{s^2}=0
      kp=kd=Kk_p=k_d=K일 때 1+Ks+1s2=0\rArr1+K\frac{s+1}{s^2}=0
    1. 근의 개수 : p=2 (0 중근), z=1 (s+1=0)
      1개 궤적은 무한으로 발산
    2. zero가 1개이므로 실수축을 따르는 궤적 존재
    3. 점근선의 교차점 1, 위상 180도
    4. pole의 출발각 ϕ=±90°\phi=\pm90\degree
    5. routh array를 그렸을 때 허수축을 지나는 조건 x
    6. s=0, -2에서 근궤적 교차

4. Design Using Dynamic Compensation

  • P 컨트롤러에서 D 컨트롤러를 추가하면 궤적이 허수축에서 LHP로 이동하여 안정된 시스템이 되는 것을 확인할 수 있다.
    • 실제 미분 동작은 오차값의 시간 미분으로 동작
    • 오차 역시 노이즈가 포함되므로, 이를 미분하면 신호에 왜곡이 발생
    • 그렇기 때문에 미분기 동작은 practical한 동작은 아님 : 필터링 필요
    • 컨트롤러 D(s)=kp+kds1+s/pD(s)=k_p+\frac{k_ds}{1+s/p} : 미분기에 필터 (pole = LPF 역할) 추가
      • lead compensator : 미분기에 근사한 동작을 구현
      • rise time을 감소시켜 응답을 빠르게 만듦
      • Overshoot 감소
      • Ks+zs+pK\frac{s+z}{s+p} ( p > z )
    • ϕ(jw)=D(jw)=tan1(wz)tan1(wp)>0\phi(jw)=\angle D(jw)=tan^{-1}(\frac{w}{z})-tan^{-1}(\frac{w}{p})>0 : 컨트롤러는 항상 앞선 위상으로 동작

  • Lag Conpensation : 적분기에 근사한 동작 ( Ks+zs+pK\frac{s+z}{s+p} ( p < z ) )
    • PI 컨트롤러는 D(s)=Ks+zsD(s)=K\frac{s+z}{s} 형태로 표현

      • PI 컨트롤러의 feedback system이 동작 중 피드백이 사고로 인해 끊어지는 경우가 있음
      • open loop 시스템에서 PI 컨트롤러는 실제로 정확히 0이 아닌, 미세한 pole 값을 갖게 됨
      • 이 pole이 RHP인 경우 시스템은 불안정 (오차를 적분하므로 계속 누적)
    • Lag compensator는 pole을 LHP로 설정하여 steady-state 정확도를 높임

      • PI controller의 경우 pole=0인 경우 system type이 증가하여 unit step response에 대한 steady state error가 0
      • lag compensator의 경우 차수의 변화가 없어 steady state error가 약간 존재)
    • ϕ(jw)=D(jw)=tan1(wz)tan1(wp)<0\phi(jw)=\angle D(jw)=tan^{-1}(\frac{w}{z})-tan^{-1}(\frac{w}{p})<0 : 컨트롤러는 항상 지연된 위상으로 동작

728x90
728x90
4. Analysis of Feedback

4. Analysis of Feedback

1. Basic Equations of Control

  • open loop system : disturbance(외란)에 민감하고, steady state error가 점점 증가(누적)
    • 출력 YOL=GDOLR+GWY_{OL}=GD_{OL}R+GW
    • Transfer function TOL=YOLR=GDOLT_{OL} = \frac{Y_{OL}}{R}=GD_{OL} (외란은 무관)
    • 오차 EOL=RY=[1GDOL]RGWE_{OL}=R-Y=[1-GD_{OL}]R-GW

  • closed loop system : 피드백을 이용하여 외란 제거, 안정도 높음
    • 외란 W와 센서 노이즈 V가 같이 존재
    • Controller 입력 U=RFU=R-F
    • 피드백 F=DCLGU+GW+VF=D_{CL}GU+GW+V
    • 출력 YCL=DCLGU+GWY_{CL}=D_{CL}GU+GW
      =DCLG1+DCLG[RGWV]+GW=DCLG1+DCLG[RV]+GW1+DCLG=\frac{D_{CL}G}{1+D_{CL}G}[R-GW-V]+GW=\frac{D_{CL}G}{1+D_{CL}G}[R-V]+\frac{GW}{1+D_{CL}G}
    • 오차 ECL=RY=R1+DCLGGW1+DCLG+DCLGV1+DCLGE_{CL}=R-Y=\frac{R}{1+D_{CL}G}-\frac{GW}{1+D_{CL}G}+\frac{D_{CL}GV}{1+D_{CL}G}
    • 전달함수 TCL=GDCL1+GDCLT_{CL}=\frac{GD_{CL}}{1+GD_{CL}}

  • Open loop / Closed loop의 안정도
    • Open loop system의 전달함수 TOL=GDOLT_{OL}=GD_{OL}

      • Plant G(s)의 pole이 우반면에 존재(불안정)시 전체 시스템 T(s) 역시 불안정하게 됨
      • ex. G(s)=1s1, D(s)=cs+ds2+as+bG(s)=\frac{1}{s-1},\ D(s)=\frac{cs+d}{s^2+as+b}이면 둘을 곱해도 unstable pole을 갖게 됨
      • D의 cs+dcs+d를 G(s)의 pole과 동일하게하여 식에서는 지울 수 있다 해도,
        오차에 의해 실제 시스템에서는 둘을 정확하게 일치하는 것이 불가능하다.
        그러므로 open-loop system의 불안정 pole을 지우는 것은 사실상 불가능함.
    • Closed loop system의 전달함수 TCL=GDCL1+GDCLT_{CL}=\frac{GD_{CL}}{1+GD_{CL}}

      • G(s)=a(s)/b(s), DCL(s)=c(s)/d(s)G(s)=a(s)/b(s),\ D_{CL}(s)=c(s)/d(s)라 가정
      • 전달함수의 pole 식은 a(s)c(s)+b(s)d(s)=0a(s)c(s)+b(s)d(s)=0으로 정리된다.
      • 즉 G(s)의 b(s)가 unstable pole을 갖더라도 DCL(s)D_{CL}(s)의 적절한 조정으로 전달함수의 2차 방정식은 stable하게 조절 가능

  • Disturbance Rejection : 외란 W에 의한 오차
    • Open-loop system disturbance EOL(s)=GWE_{OL}(s)=GW

      • 시스템 G와 외란 W 모두 조절이 불가능한 요인이므로, steady state에서의 오차는 조절 불가
    • Closed-loop system disturbance ECL=GW1+DCLGE_{CL}=\frac{GW}{1+D_{CL}G}

      • 제어 가능한 DCLD_{CL}을 가능한 크게 만들면 Open loop 대비 오차를 줄일 수 있음
      • steady state Error ECL(s)=EOL(s)1+GDCLE_{CL}(s)=\frac{E_{OL(s)}}{1+GD_{CL}}

  • Sensitivity
    • 임의 시스템을 장시간 구동하면 시스템에 변형이 발생

    • sensitivity : 만약 Plant G에 변형이 왔을 경우 전체 시스템(전달 함수)에 발생하는 변형

      • GG+δGG\rArr G+\delta G일 때 TT+δTT\rArr T+\delta T의 정도
      • sensitivity T to G : SGT=δT/TδG/G=GTδTδGS_G^T=\frac{\delta T/T}{\delta G/G}=\frac{G}{T}\frac{\delta T}{\delta G}
    • Open-loop system의 경우

      • TOL=GDOLT_{OL}=GD_{OL} (Controller 변화는 없다고 가정)
        TOL+δTOL=(G+δG)DOL\rarr T_{OL}+\delta T_{OL}=(G+\delta G)D_{OL}
      • δTOL=(δG)DOL\delta T_{OL}=(\delta G)D_{OL}이므로
        SGTOL=GTOLδTOLδG=1DOLDOL=1S_G^{T_{OL}}=\frac{G}{T_{OL}}\frac{\delta T_{OL}}{\delta G}=\frac{1}{D_{OL}}D_{OL}=1
      • 즉 Open-loop system의 stability = 1 : Plant의 변화가 그대로 system에 반영
    • Closed-loop system의 경우

      • TCL=GDCL1+GDCLT_{CL}=\frac{GD_{CL}}{1+GD_{CL}}
        TCL+δTCL=(G+δG)DCL1+(G+δG)DCL\rArr T_{CL}+\delta T_{CL}=\frac{(G+\delta G)D_{CL}}{1+(G+\delta G)D_{CL}}
      • δTCL=dTCLdGδG\delta T_{CL}=\frac{dT_{CL}}{dG}\delta G
        SGTCL=GTCLdTOLdG=GGDCL/[1+GDCL][1+GDCL]DCLDCL[GDCL][1+GDCL]2S_G^{T_{CL}}=\frac{G}{T_{CL}}\frac{dT_{OL}}{dG}=\frac{G}{GD_{CL}/[1+GD_{CL}]}\frac{[1+GD_{CL}]D_{CL}-D_{CL}[GD_{CL}]}{[1+GD_{CL}]^2}
        =11+GDCL=\frac{1}{1+GD_{CL}}
      • Controller DCLD_{CL}의 조정에 따라 sensitivity의 감소 가능

2. Control of Steady State Error to Polynomial Input

  • Stable Unit negative Feedback system
    • E(s)=R(s)Y(s)=RDG1+DGR=11+DGRE(s)=R(s)-Y(s)=R-\frac{DG}{1+DG}R=\frac{1}{1+DG}R
    • steady-state error : ess(t)=limt[r(t)y(t)]e_{ss}(t)=lim_{t\rArr\infty}[r(t)-y(t)]
      =lims0s[R(s)Y(s)]=lim_{s\rArr0}s[R(s)-Y(s)] (Final Value Thm.)
      =lims0sR1+DG=lim_{s\rArr0}\frac{sR}{1+DG}

  • 입력 신호에 따른 steady-state error의 응답
    • (a) unit step input : R(s)=1/sR(s)=1/s
      • 일정한 값 입력 > 일정 위치 목표
      • ess=lims011+DGe_{ss}=lim_{s\rArr0}\frac{1}{1+DG}
      • Position error Constant : Kp=lims0D(s)G(s)K_p=lim_{s\rarr0}D(s)G(s)
      • ess=11+Kp\therefore e_{ss}=\frac{1}{1+K_p}
    • (b) unit ramp input : R(s)=1/s2R(s)=1/s^2
      • 일정 기울기 입력 > 일정 속도 목표
      • ess=lims01/s1+DG=lims01sDGe_{ss}=lim_{s\rArr0}\frac{1/s}{1+DG}=lim_{s\rArr0}\frac{1}{sDG}
      • velocity error Constant : Kv=lims0sD(s)G(s)K_v=lim_{s\rarr0}sD(s)G(s)
      • ess=1Kv\therefore e_{ss}=\frac{1}{K_v}
    • (c) unit parabola input : R(s)=1/s3R(s)=1/s^3
      • 2차 미분이 일정 > 일정 가속도 목표
      • ess=lims01/s21+DG=lims01s2DGe_{ss}=lim_{s\rArr0}\frac{1/s^2}{1+DG}=lim_{s\rArr0}\frac{1}{s^2DG}
      • Acceleration error Constant : Ka=lims20s2D(s)G(s)K_a=lim_{s^2\rarr0}s^2D(s)G(s)
      • ess=1Ka\therefore e_{ss}=\frac{1}{K_a}

  • System Type
    • pole값이 0이 되는 D(s)G(s)D(s)G(s)식의 차수
    • D(s)G(s)=a(s) / [snb(s)]D(s)G(s)=a(s)\ /\ [s^nb(s)]라고 할 때, 이 시스템을 n차 시스템이라고 정의
    • 0차 시스템 : Kp=1/[1+Kp], Kv=0K_p=1/[1+K_p],\ K_v=0
    • 1차 시스템 : Kp=, Kv=constant, Ka=0K_p=\infty,\ K_v=constant,\ K_a=0
    • n차 시스템
      • 입력 R(s)=1/sk+1R(s)=1/s^{k+1}일 때
      • n > k : ess=0e_{ss}=0
      • n < k : ess=e_{ss}=\infty
      • n = k = 0 : ess=1/(1+K0)e_{ss}=1/(1+K_0)
      • n=k0:ess=1/Knn=k\not ={0} : e_ss=1/K_n
      • 시스템 차수보다 낮은 차수의 오차상수는 0, 높은 차수의 오차상수는 무한대가 된다.

3. PID control

  • Closed-Loop system의 컨트롤러의 전달함수를 D를 조절하여 오류값을 비례(proportional) - 적분(Integral) - 미분(Derivative)하는 컨트롤러
  • controller D(s)=KP+KIs+KDsD(s)=K_P+\frac{K_I}{s}+K_Ds
  • P controller : 오류값에 비례하는 제어
    • DG=kpAτs+1DG=\frac{k_pA}{\tau s+1} (type 0)
    • position error const. KP=AkPK_P=Ak_P
    • steady-state error ess=11+AkPe_{ss}=\frac{1}{1+Ak_P}
  • PI controller : 오류값에 비례+미분 제어
    • DG=A(sp+kI/s)τs+1DG=\frac{A(s_p+k_I/s)}{\tau s+1} (type 1)
    • position error const. KP=K_P=\infty
      • unit step에 대한 ess=0e_{ss}=0
      • I controller에 의해 위치의 steady-state error 제거
    • velocity error const. KV=AkIK_V=Ak_I
      • unit ramp에 대한 ess=1AKIe_{ss}=\frac{1}{AK_I}
728x90
728x90
3. Dynamic Response

3. Dynamic Response

1. Laplace transform

  • 미분 방정식의 풀이를 위해 사용
  • L{f(t)}=0f(t)estdt=F(s)\mathcal{L}\{{f(t)}\}=\int_0^\infty f(t)e^{-st}dt=F(s)
    • 시간 영역의 함수 f(t)를 주파수 영역의 함수 F(s)로 변환
    • s=σ±jws=-\sigma\pm jw
    • jwjw : f(t)의 주파수
    • σ\sigma : 진폭의 감쇄
    • Fourier Transform : s=±jws=\pm jw에 대한 Laplace Transform
  • Laplace Transform Property
    • L{f(t)}=F(s)\mathcal{L}\{f(t)\}=F(s)
    • L1{F(s)}=f(t)\mathcal{L}^{-1}\{F(s)\}=f(t) (inverse L.T.)
    • L{kf(t)}=kF(s)\mathcal{L}\{kf(t)\}=kF(s)
    • L{f1(t)+f2(t)}=F1(s)+F2(s)\mathcal{L}\{f_1(t)+f_2(t)\}=F_1(s)+F_2(s)
    • L[df(t)dt]=sF(s)+f(0)\mathcal{L}[\frac{df(t)}{dt}]=sF(s)+f(0)
    • L[dnf(t)dtn]=snF(s)sn1f(0)sn2f(0)...fn1(0)\mathcal{L}[\frac{d^nf(t)}{dt^n}]=s^nF(s)-s^{n-1}f(0)-s^{n-2}f'(0)-...-f^{n-1}(0)
    • L[0tf(τ)dτ]=1sF(s)\mathcal{L}[\int^t_0f(\tau)d\tau]=\frac{1}{s}F(s)


2. Inverse Laplace Transform

  • F(s)=b1sm+b2sm1+...+bm+1sn+a1sn1+...+an=KΠi=1m(szi)Πi=1n(spi)F(s)=\frac{b_1s^m+b_2s^{m-1}+...+b_{m+1}}{s^n+a_1s^{n-1}+...+a_n}=K\frac{\Pi_{i=1}^m(s-z_i)}{\Pi_{i=1}^n(s-p_i)}
    • 실제 존재할 수 있는 Transfer function에 대해 nmn\geq m
    • ziz_i : 함수의 영점(zero)
    • pip_i : 함수의 극점(pole)
    • Partial Fraction : F(s)=C1sp1+C2sp2+...+CmspnF(s)=\frac{C_1}{s-p_1}+\frac{C_2}{s-p_2}+...+\frac{C_m}{s-p_n}
      • C1=(sp1)F(s)s=p1C_1=(s-p_1)F(s)|_{s=p_1}

3. Final-value Theorem

  • Laplace Transform을 이용, 시간이 무한히 흘렀을 때의 시스템의 최종값 계산
  • sY(s)의 모든 극값이 좌반면 (s < 0)에 존재하는 경우
    • limty(t)=lims0sY(s)\lim_{t\rarr\infty}y(t)=lim_{s\rarr0}sY(s)
  • sY(s)의 모든 극값이 좌반면에 존재한다
    • = 분모의 식이 (s+a)(s+b)(s+c)...꼴로 표현
    • 이는 y(t)=A0+A1eat+A2ebt...y(t)=A_0+A_1e^{-at}+A_2e^{-bt}..., 즉 0으로 수렴하는 식으로 표현
    • 만약 우반면에 존재하는 극값이 존재할 경우 y(t)는 무한으로 발산
  • DC Gain
    • 임의 시스템의 Transfer Function G(s)와, 입력U(s), 출력Y(s) 가정
    • G(S)=Y(s)U(s)G(S)=\frac{Y(s)}{U(s)}
    • DC gain = limty(t)u(t)=lims0G(s)lim_{t\rarr\infty}\frac{y(t)}{u(t)}=lim_{s\rarr0}G(s) : 입력과 무관한 시스템 고유의 특성

4. System Modeling

  • 시스템의 신호 흐름을 표시
  1. 직렬 결합
    • G1, G2의 두 시스템이 같은 선에 위치할 경우
    • 시스템은 G1, G2의 곱으로 표시
  2. 병렬 결합
    • 분기점을 기준으로 G1, G2가 나눠진 후 다시 결합
    • 시스템은 G1, G2의 합으로 표시
  3. 피드백
    • 진행 방향1feedback loop\frac{진행\ 방향}{1\mp feedback\ loop}
    • Unit negative feedback : feedback block이 1인 Block diagram
      • 출력 신호가 온전히 input으로 들어오는, 이상적인 feedback

  • 분기점(pickoff point) 이전의 분기신호를 분기점 이후로 옮기면, 중간에 있는 block의 역수인 block을 곱하여 배치한다.
  • 신호가 합쳐진 뒤 있는 block은 합쳐지기 전 각각 신호에 block이 있는 회로와 동일
  • feedback을 전향경로와 동일한 선에 배치할 때, feedback point 이전에 피드백 block의 역수인 block을 배치한다.

5. Effect of Pole Location

  • 시스템의 전달함수가 H(s)H(s)일 때
    • H(s)=b(s)a(s)=b1sm+b2sm1...+bms+bm+1a1sn+a2sn1...+ans+an+1=KΠi=1m(szi)Πi=1n(spi)H(s)=\frac{b(s)}{a(s)}=\frac{b_1s^m+b_2s^{m-1}...+b_ms+b_{m+1}}{a_1s^n+a_2s^{n-1}...+a_ns+a_{n+1}}=K\frac{\Pi_{i=1}^m(s-z_i)}{\Pi_{i=1}^n(s-p_i)}
    • pole : H(s)H(s)\infty가 되는 값들 (a(s)=0a(s)=0)
    • zero : H(s)H(s)가 0이 되는 값들 (b(s)=0b(s)=0)
  • Impulse response
    • impulse function : let u(t)=δ(t)u(t)=\delta(t), U(s)=1U(s)=1
    • 시스템 H(s)H(s)의 impulse 입력에 대한 출력
    • Y(s)=H(s)U(s)=H(s)1=H(s)Y(s)=H(s)U(s)=H(s)\cdot1=H(s)
      출력 y(t)=L1{H(s)}=h(t)y(t)=\mathcal{L}^-1\{H(s)\}=h(t)
      • 크기가 1인 순간 출력에 대한 응답이므로, 시스템 자체의 고유한 response이기 때문에 impulse response를 natural response라고도 함.

  • ex. 1st order pole
    • H(s)=1s+σH(s)=\frac{1}{s+\sigma}
    • impulse response h(t)=exp[σt]h(t)=exp[-\sigma t]
    • σ\sigma가 양수일 때 시간에 따라 response가 0으로 수렴하며, 이를 stable하다고 표현
      • H(s)H(s)의 pole이 음수(s-plane의 좌반면)일 때 시스템은 stable한 상태가 됨
    • 1차 시스템의 time constant
      • 시스템 response가 1e\frac{1}{e}가 되는 시간 τ\tau
      • time constant가 클 수록 응답의 속도가 빠름

  • ex. 2개의 complex pole을 갖는 시스템

    • pole s=σ±jwds=-\sigma\pm jw_d
    • H(s)=wn2(s+σ)2+wd2=wn2s2+2ζwns+wn2H(s)=\frac{w_n^2}{(s+\sigma)^2+w_d^2}=\frac{w_n^2}{s^2+2\zeta w_ns+w_n^2}
    • ζ\zeta : damping ratio (속도에 의한 감쇠)
    • wnw_n : damping이 없을 때 진동 주파수
    • wdw_d : damping이 있을 때 진동 주파수 (wd=wn1ζ2w_d=w_n\sqrt{1-\zeta^2})
    • impulse response h(t)h(t)는 지수함수와 삼각함수의 곱으로 표현됨
  • s-plane expression

    • pole s=σ±jwds=-\sigma\pm jw_d
    • wn2=wd2+σ2w_n^2=w_d^2+\sigma^2
    • σ=ζwn\sigma=\zeta w_n에서 ζ=σwn=sinθ\zeta=\frac{\sigma}{w_n}=sin\theta
      θ=sin1ζ\theta=sin^{-1}\zeta
  • 2차 시스템의 impulse response

    • H(s)=wn2(s+σ)2+wd2H(s)=\frac{w_n^2}{(s+\sigma)^2+w_d^2}
      ( σ=ζwn\sigma=\zeta w_n, wd=wn1ζ2w_d=w_n\sqrt{1-\zeta^2})
      =wn2(s+ζwn)2+wn2(1ζ2)=\frac{w_n^2}{(s+\zeta w_n)^2+w_n^2(1-\zeta^2)}

    • (L.T.)eatsin(bt)=b(s+a)2+b2(L.T.)e^{-at}sin(bt)=\frac{b}{(s+a)^2+b^2}
      wn1ζ2wn1ζ2(s+(ζwn)2+wn2(1ζ2)\frac{w_n}{\sqrt{1-\zeta^2}}\frac{w_n\sqrt{1-\zeta^2}}{(s+(\zeta w_n)^2+w_n^2(1-\zeta^2)}
      a=ζwna=\zeta w_n, b=wn1ζ2b=w_n\sqrt{1-\zeta^2}

    • h(t)=wn1ζ2eζwntsin[(wn1ζ2)t]\therefore h(t)=\frac{w_n}{\sqrt{1-\zeta^2}}e^{-\zeta w_nt}sin[(w_n\sqrt{1-\zeta^2})t]

    • 2차 시스템의 impulse response는 undamped natural frequency wnw_n과 damping ratio ζ\zeta에 의해 결정

      • ζ=0\zeta=0 : 감쇄 없이 진동
      • ζ<1\zeta<1 : 감쇄하면서 진동 (underdamped)
      • ζ=1\zeta=1 : 진동 없는 감쇄 (Critical damped)
      • ζ>1\zeta>1 : 목표값보다 과하게 감쇄되어 벗어남 (overdamped)
    • damping ratio 0ζ10\leq\zeta\leq1 가 증가 > 실제 주파수 감소

    • damping ratio가 증가 > 허수축에서 pole이 멀어짐 > θ\theta 증가


6. Step Response

  • 임의 시스템 H(s)H(s)의 unit step u(t)u(t)에 대한 응답
  • unit step의 laplace transform U(S)=1sU(S)=\frac{1}{s}
  • step response는 0에서 시작해서크기 1을 향해 진동하면서 수렴
  • rising time (trt_r) : 목표값의 10%에서 90%까지 상승하는 시간
  • peak time (tpt_p) : 시작점에서 peak점에 도달할 때까지의 시간
    • step response : Y(s)=wn2(s+σ)2+wd21sY(s)=\frac{w_n^2}{(s+\sigma)^2+w_d^2}\frac{1}{s}
    • y(t)=1eσt[coswdt+σwdsinwdt]y(t)=1-e^{-\sigma t}[cosw_dt+\frac{\sigma}{w_d}sinw_dt]
    • peak time에서 응답곡선 기울기 = 0
    • y˙(t)=eσt[σ2wdsinwdt+wdsinwdt]=0\dot{y}(t)=e^{-\sigma t}[\frac{\sigma^2}{w_d}sinw_dt+w_dsinw_dt]=0
    • wdt=πw_dt=\pi인 시간이 peak time : tp=πwdt_p=\frac{\pi}{w_d}
    • peak time은 damped natural frequency의 함수
  • Overshoot (MpM_p) : peak값과 목표값의 차이
    • Mp=1y(tp)=1(1+eσπ/wd)=exp[σπ/wd]M_p=1-y(t_p)=1-(1+e^{-\sigma\pi/w_d})=exp[-\sigma\pi/w_d]
    • σ=ζwn\sigma=\zeta w_n, wd=wn1ζ2w_d=w_n\sqrt{1-\zeta^2}이므로
      Mp=exp[πζ/1ζ2]M_p=exp[-\pi\zeta/\sqrt{1-\zeta^2}]
    • overshoot는 damping ratio의 함수
  • settling time : 응답곡선이 목표값의 ±1%\pm1\%내에 도달하는 시간

  • Controller Design
    • 2차 step response Y(s)=wn2(s+σ)2+wd21sY(s)=\frac{w_n^2}{(s+\sigma)^2+w_d^2}\frac{1}{s} 의 주요 parameter :
      rising time, peak time, overshoot, settling time
    • settling time
      • 응답 y(t)=0.01이 되는 시간
      • σ4.6ts\sigma\geq\frac{4.6}{t_s}
    • rising time
      • 목표값의 10%에서 90%까지 상승하는 시간
      • wn1.8trw_n\geq\frac{1.8}{t_r}

7. Stability

  • Routh's Stability Criterion
    • 임의 시스템의 pole이 모두 s-plane 좌반면에 존재하면 시스템은 stable

    • n차 시스템 a(s)=sn+a1sn1+a2sn2+...+ana(s)=s^n+a_1s^{n-1}+a_2s^{n-2}+...+a_n의 안정도 판단

    • 안정 시스템의 필요조건 : 모든 계수 a1a_1~ana_n이 양수

    • 안정 시스템의 필요충분조건 : routh array의 1번 열이 모두 양수

    • special case

      • 계수의 행이 최소공배수를 갖는 경우 최소공배수로 나누어 표현 가능 (부호는 변경할 수 없음)
        • ex. 행 계수가 3, 24, 96, 192인 경우 3으로 나누어 1, 8, 32, 64로 표현 가능
      • 계산한 계수 값이 0인 경우 : ϵ(=0+)\epsilon(=0^+)로 대체하여 array 완성 후 부호 비교
      • array 중 a번째 행이 모두 0이 된 경우
        • a+1행 계수로 보조방정식 구성
        • 이 식을 미분한 계수로 0이 된 행 대체
        • ex. s1s^1행이 0, s2s^2행이 3, 12인 경우
          • a1(s)=3s2+12s0a_1(s)=3s^2+12s^0
          • da1(s)ds=6s\frac{da_1(s)}{ds}=6s
          • 즉 0이 된 s1s^1행의 1열 계수는 6
        • a+1행부터 시작하는 보조 routh-array 추출
          • 보조 routh-array에서의 RHP = LHP, 남는 근은 허수축 위에 존재
        • routh-array에서 a+1행 위의 계수로 보조방정식 외 나머지 pole 위치 판단
728x90
728x90
2. Dynamic Models

2. Dynamic Models

  • 컨트롤러 설계 전에 구하는 시스템 제어를 위한 시스템의 수학적 표현식
  • 시스템의 동작을 나타내는 미분방정식
  • 기계적 시스템, 전기회로, 전기적(electromechanical) 시스템

2.1. Dynamics of Mechanical Systems

  • 뉴턴의 법칙 - translational motion F=ma\vec{F}=m\vec{a}
  • F\vec{F} : 질량에 가해지는 힘의 벡터합
  • a\vec{a} : 질량에 가해지는 관성 가속도
  • mm : 질량
  • 1N=1kgm/sec21N = 1kg\cdot m/sec^2
  • ex 1. Cruise-control model
    • 자동차는 수평 방향으로 이동한다고 가정
    • 바퀴의 회전관성은 무시
    • 자동차-지면 사이의 마찰력은 속도에 비례
    • ubx=mxu-bx`=mx``
    • (구하려는 값은 속도xvx`\coloneqq v)v+bmv=umv`+\frac{b}{m}v=\frac{u}{m}
    • (라플라스 변환)sV(s)+bmV(s)=U(s)msV(s)+\frac{b}{m}V(s)=\frac{U(s)}{m}
    • V(s)U(S)=1/ms+b/m\frac{V(s)}{U(S)}=\frac{1/m}{s+b/m}
  • ex 2. suspension system
    • 서스펜션은 오직 1차원 수직운동을 한다.
    • 자동차 바퀴에는 무게가 균등하게 분산된다.
    • m1m_1 : 타이어의 무게 / m2m_2 : 자동차 무게의 1/4
    • x : 타이어의 변위 / y : 차체의 변위 / r : 높이의 변화
    • k : 용수철의 탄성계수 / b : 댐퍼 계수
    • 변위에 따른 응답을 계산하므로 중력가속도에 의한 힘 m1g, m2gm_1g,\ m_2g는 상쇄되어 사라진다.
    • 정해진 상황(ex. m2는 멈춘 채로 m1만 위로 움직인다)에 대한 differential eq.를 구하더라도 그 식은 시스템 내의 고유한 응답을 나타내는 식이기 때문에 다른 상황에 대해서도 성립할 수 있게 된다.
    1. m1m_1만 움직이는 경우
      • 아래 스프링 kwk_w는 늘어나고, 위 스프링 ksk_s는 압축된다.
      • 지변 변위를 고려하면 아래로 가해지는 힘은 kw(xr)k_w(x-r)
      • 위 스프링의 경우 m2m_2가 y방향으로 이동할 것을 고려하면 스프링의 힘은 ks(yx)k_s(y-x) (x, y 둘다 지면 변위의 영향을 받으므로 식에서는 상쇄된다.)
      • 댐퍼 역시 y방향 변위를 고려하면 b(yx)b(y'-x')
    2. m2m_2만 움직이는 경우
      • 스프링에 의한 힘 ks(yx)k_s(y-x)
      • 댐퍼에 의한 힘 b(yx)b(y`-x`)
    3. 입력 : 높이 변위 r / 출력 : 자동차의 높이 변화 y
      • i. b(yx)+ks(yx)kw(yx)=m1xb(y'-x')+k_s(y-x)-k_w(y-x)=m_1x``
      • ii. [b(yx)+ks(yx)]=m2y-[b(y`-x`)+k_s(y-x)]=m_2y``
      • ii를 x에 대해 정리 후 i에 대입하면 Y(s)R(s)=kw(sb+ks)/m1m2s4+b(1m1+1m2)s3+(ksm1+kwm1+ksm2)s2+kwbm1m2s+kwksm1m2\LARGE{\frac{Y(s)}{R(s)}=\frac{k_w(sb+k_s)/m_1m_2}{s^4+b(\frac{1}{m_1}+\frac{1}{m_2})s^3+(\frac{k_s}{m_1}+\frac{k_w}{m_1}+\frac{k_s}{m_2})s^2+\frac{k_wb}{m_1m_2}s+\frac{k_wk_s}{m_1m_2}}}
  • 회전운동에 대한 뉴턴운동의 법칙
    • M=IαM=I\alpha
    • M : 회전 중심에 대한 모멘트의 합
    • I : 무게중심에 대한 회전관성모멘트 (I=ml2I=ml^2)
    • α\alpha : 각가속도
    • ex. Pendulum
    • 운동방정식 TCmglsinθ=IθT_C-mglsin\theta=I\theta''
    • θ+glsinθ=TCml2\theta''+\frac{g}{l}sin\theta=\frac{T_C}{ml^2}
    • 작은 운동에 대해서 sinθθsin\theta\simeq\theta
    • Transfer Eq. Θ(s)TC(s)=1/ml2s2+g/l\frac{\Theta(s)}{T_C(s)}=\frac{1/ml^2}{s^2+g/l}
  • 실험 오차
    • 펜듈럼 모델을 Matlab으로 실험하여 보면 정현파 형태로 나타나는 것을 확인 가능하다.
    • 계산 편의상 단순화한 부분들에 대해 오차가 발생하기 때문에 실제 실험 결과와는 차이가 발생할 수밖에 없다.
  • ex. 회전 운동과 직선 운동의 조합
    • 질량 mt,mpm_t, m_p인 크레인과 펜듈럼이 각각 직선/회전운동
    • μ\mu가 가해지며, 차량은 x방향으로 이동
    1. 회전운동
    • 중력에 의해 지면 방향으로의 회전운동이 발생 : mpglsinθ-m_pglsin\theta
    • 크레인의 직선운동에 의한 펜듈럼의 관성 : mpxcosθm_px''cos\theta
    • (I+mpl2)θ=(mpxcosθ+mpglsinθ)\therefore (I+m_pl^2)\theta''=-(m_px''cos\theta + m_pglsin\theta)
    1. 직선운동
      • 작용-반작용 N과 마찰계수 b를 고려
      • uNbx=mtxu-N-bx'=m_tx''
      • 펜듈럼에 의한 반작용
        • 펜듈럼 운동 mpxm_px''
        • 회전 운동 mplθcosθm_pl\theta''cos\theta
        • 구심력 mv2r=mpl(θ)2sinθ\frac{mv^2}{r}=m_pl(\theta')^2sin\theta
        • N=mpx+mplθcosθmpl(θ)2sinθN=m_px''+m_pl\theta''cos\theta-m_pl(\theta')^2sin\theta
    • simplify : b=0,θ0sinθ=θ,cosθ=1b = 0, \theta\simeq0 \rArr sin\theta = \theta, cos\theta = 1
      • 회전운동 : mplxmpglθ=(I+mpl2)θ-m_plx''-m_pgl\theta=(I+m_pl^2)\theta''
      • 직선운동 : (mt+mp)x+mplθ=u(m_t+m_p)x''+m_pl\theta''=u
    • 라플라스 변환
      • 회전운동 : s2mplX(s)mpglΘ(s)=s2(I+mpl2)Θ(s)-s^2m_plX(s)-m_pgl\Theta(s)=s^2(I+m_pl^2)\Theta(s)
      • 직선운동 : s2(mt+mp)X(s)+s2mplΘ(s)=U(s)s^2(m_t+m_p)X(s)+s ^2m_pl\Theta(s)=U(s)
    • 회전운동의 식을 X(s)X(s)에 대해 정리 후 직선운동에 대입하면
    • Θ(s)U(s)=mpl((l+mpl2)(mt+mp)mp2l2))s2+mpgl(mt+mp)\frac{\Theta(s)}{U(s)}=\frac{-m_pl}{ ((l+m_pl^2)(m_t+m_p)-m_p^2l^2))s^2+m_pgl(m_t+m_p)}
    • 전달함수의 단점 : 단일 입력-단일 출력(SISO)에 대한 수식 모델 설계 가능

  • 정리
    1. 대상 시스템의 dynamic behavior 단순화
    2. free-body diagram
    3. 뉴턴의 법칙 / 회전운동 / 전자회로 등을 이용한 미분방정식
    4. 초기값 = 0인 조건 하에 Laplace Transform
    5. Transfer function = 출력 / 입력
728x90
728x90

 

 

1. Automatic control

  1. Open-loop control
    • 출력값을 측정하지 않는 시스템
    • 입력 - [Controller] - 제어값 - [Plant : Actuator - process] - 출력
    • Plant에는 외란(disturbance)가 가해진다.
    • 외란에 대한 feedback이 없으므로 input에 대한 오류가 생긴다. 반복할 수록 이는 누적된다. 결국 원하는 signal과 완전히 다른 값을 갖게 된다.

  1. Closed-loop control
    • 센서를 이용하여 출력값을 측정하여 그 값을 control signal 결정에 사용한다
    • feedback control이라고도 한다.
    • 조절부의 output을 센서로 측정, 이 값을 feedback하여 controll signal 결정에 활용한다.
    • 목표하는 output과, 실제 output 간 차이를 측정하여 이를 보상한다.
    • 센서 역시 하나의 시스템이므로, 노이즈가 포함될 수밖에 없으나, output과 유사한 결과를 나타내므로 추정에 활용할 수 있다.

  • block diagram : 시스템 구성 요소를 블록으로, 신호의 흐름을 화살표로 표시하여 시각화한 것

  • Closed-loop system의 값 설정

    • input : 원하는 값
    • Controller : 목표값에 비례하는 입력신호(control signal) 발생
    • Plant : 제어요소 = 조절부(Controller) + 조작부(Actuator)
    • Controller : control signal을 Actuator로 전달
    • Actuator : actuator 신호를 출력
    • Disturbance : 제어값을 교란시키는 외부 신호
  • Controller 설계 시 고려사항

    1. Command Following : Output이 Input을 잘 따르는가?
    2. Disturbance Rejection : 외란을 얼마나 잘 제거하는가?
    3. Insensivity to sensor noise : 센서 노이즈에 덜 민감한가?
    4. Insensivity to Modeling Error : 수학적 모델링 에러에 덜 민감한가?
728x90

+ Recent posts