본문 바로가기
전공 관련 (Major)/제어 (Control)

제어공학 - Time-Domain Specifications (시간 영역에서의 사양)

by Jayce_choi 2022. 11. 20.
반응형

제어 시스템이 좋은 성능을 유지하는가에 대해서 성능 지표가 반드시 필요합니다. 

평가는 반드시 수치로 이뤄져야 하며 단순히 좋다 나쁘다는 느낌에서 숫자로 시스템이 만족하는 구간에 있는지에 대한 검증을 보여주는 게 매우 중요합니다. 아래 영상에서도 등속을 유지하기 위해서 반드시 목표치에 도달하고 있는지 없는지에 대한 관측이 필요합니다. 

[1] Line tracer

시간 영역에서는 이러한 성능평가를 4가지 항목으로 하며 어떻게 시스템 디자인을 할 때 사용되는지에 대해서 적어보겠습니다. 

 

Performance Index 

평가를 위해서 step response를 확인하며 Continuous-Time unit step signal을 부여합니다. step 입력은 test signal 역할로 많이 사용되는 신호입니다. 헤비사이드 계단 함수 (Heaviside step function) 이라고도 불리기도 합니다.

unit step

 

성능지표로서 다음과 같이 4가지 항목이 있습니다.

Overview of Performance Index

 

1) Rise time (상승 시간, t_r)

: 신호의 응답이 step input이 주어지고 10%에서 90%까지 도달하는데 걸리는 시간

상승 시간이 짧다는 것은 시스템이 빠르다는 것이며, 상승시간이 길다면 시스템의 응답 또한 느린 것입니다. 

*Second-order 시스템에서는 상승시간은 실험적으로 많이 계산을 해본 결과 1.8에 natural frequency값을 나눈 값으로 근사가 됩니다. 실제 상승 시간을 구하기 위해서는 10%, 90%에 도달하는 시간을 각각 구해줘야 합니다. 하지만 아래의 식을 사용함으로써 어느 정도 근사된 값을 얻을 수 있습니다.

 

 

2) Peak Time (최고점 시간, t_p)

: 시스템 응답의 최고점에 최초로 도달하기 까지 처음부터 걸린 시간을 의미

Peak time은 시스템의 response y(t)의 미분 값이 처음으로 0이 된 지점을 의미합니다. 좀 더 유도 과정을 보겠습니다. 이전에 2차 시스템에 대해서 다뤄보았으며, 시스템의 step resonse는 다음과 같습니다. Y(s) = H(s)1/s 이며 1/s step input이 라플라스에 의해서 변한 것입니다. 때문에 2차 시스템 H(s)에 step input이 더해지면 아래와 같은 식으로 표현됩니다. 

이때 C1과 C2 C3는 부분 함수 계산에 의해서 나오는 값이며 아래와 같습니다. 

 

이제 라플라스 역변환을 통해서 Y(s)의 각각의 부분 함수를 시간영역으로 바꿔서 최종적으로 y(t)로 바꾸면 다음과 같습니다. 

 

Peak time은 y(t) 미분 값이 0이 되는 처음 지점이므로 y(t)를 먼저 미분하면 아래와 같습니다. 

 

이때 0 값을 만들어줄 수 있는 항은 sin항이기 때문에 sin(W_d * t)항이 0이 되는 W_d * t값을 구하면 됩니다. 이때 시간은 peak time을 의미하며 peak time은 sin이 0이 되는 파이에 W_d를 나눈 값이 됩니다. 

 

3) Overshoot (초과, M_p)

: 시스템 응답의 최고점을 찍은 수치를 시스템이 시간이 지남에 따라 도달하는 값 (또는 정체된 값)으로 나눈 값으로 얼마나 상승했는지에 대한 % 입니다.

Overshoot를 구하기 위해서는 우선 peak time에 대응하는 y(t) 값을 알아야 합니다. 위의 3) peak time 항목에서 우리는 peak time을 어떻게 구하는지 알았습니다. 때문에 peak time을 y(t)에 대입해주고 100%를 의미하는 1을 빼줌으로써 M_p 값을 구할 수 있습니다.

먼저 y(t)에 peak time을 넣은 값은 아래와 같습니다. 이때 W_d * t_p는 파이값이었으므로 바꿔줄 수 있습니다 (위 참고)

최종적으로 M_p는 Peak 값에서 100%를 의미하는 1을 뺀 값이므로 아래의 식으로 마무리할 수 있습니다. 

 

*M_p의 식은 보시다시피 damping ratio 값에 의해서 결정되는 함수이기에 시스템의 고유특성인 natural frequency와 상관이 없는 특징이 있는 값입니다.

  • ξ = 0.5일 때 M_p = 0.16 (16% overshoot)
  • ξ = 0.6일 때 M_p = 0.1 (1% overshoot)
  • ξ = 0.7일 때 M_p = 0.05 (5% overshoot)

damping ratio에 대응되는 M_p 값들을 plot 해보면 아래와 같습니다. 

Damping ratio vs Overshoot value

 

4) Settling time (정착 시간, t_s)

: 응답 신호가 처음으로 99% 또는 101% 사이의 영역에 도달하기까지 걸린 시간 (보통 1% 오차 영역을 기준으로 생각)

시스템의 응답이 한번 최상위 점을 찍고 decay 하면서 99~101% 영역에 위에서 들어올 수도 있고 또는 아래에서 꾸준히 상승하여 올라올 수도 있기 때문에 2개의 상황에 대해서 고려를 해줘야 합니다. 

정착 시간을 구해주기 위해서 우선 Y(s)의 식에서 삼각함수 법칙을 이용하여 형태를 바꿔줍니다. 

이렇게 바꿔준 이유는 우선 우리는 sin 또는 cos항이 가지는 영역은 이미 알고 있습니다. 즉 -1~1 사이의 값을 가집니다.  

그러나 첫 번째 식에서 cos과 sin이 결합된 형태이기에 괄호 안쪽의 합의 영역을 정의하기가 껄끄럽기 때문에, 한 개의 sin 또는 cos으로 바꿔줌으로써  추가적인 항이 곱셈된 형태로 바뀜으로써 삼각함수가 있는 항이 얼만큼의 값의 영역을 가질 수 있는지를 알 수있는 장점이 있습니다. 즉 지난 포스팅에서 얘기한 envelope 함수에 의해서 항의 범위가 결정되기에 언제 99%또는 101%에 들어온지를 알수 있습니다. 즉 삼각함수 cos이나 sin에 관계없이 아래 식과 같이 exponential 항만 고려하면 어느 영역에 들어왔는지 계산을 할 수 있습니다.

이때 아래의 식에서 c_ts값이 0.01일 때 1%을 의미하므로 1-0.01=0.99가 됩니다. 

위쪽 식에서 양쪽 항에 있는 1은 소거가 되고 최종적으로 t_s는 아래와 같이 표현됩니다. 

 

 

System Design

그렇다면 위에서 배운 4개의 지표를 가지고 시스템 제어 디자인을 할 때 s-plane상에서 시각화하여 어떻게 고려를 할 수 있는지에 대해 보겠습니다.

예를 들어서 rise time이 1.8초 보다 작으며, overshoot값은 얼마며, 또는 settling time이 4.6ch 이하인 요구 사항이 있을 때 아래와 같이 각각의 목표치를 만족하는 영역 (초록색 영역)에서 3개의 영역이 모두 겹치는 영역이 바로 시스템의 요구사항을 모두 만족하는 영역이 되겠습니다. 

영역을 구했으면 해당 영역에 포함이 되는지 안되는지 육안으로 체크를 하면서 설계를 진행할 수 있습니다. 

 

Reference

[1] https://www.hackster.io/drakerdg/speed-line-follower-robot-v4-9f6df1

반응형

댓글