일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- teps
- 에러기록
- JAX
- obsidian
- 수치해석
- matplotlib
- Zotero
- 우분투
- MATLAB
- WOX
- 텝스공부
- Julia
- Numerical Analysis
- 논문작성법
- Dear abby
- 텝스
- LaTeX
- Linear algebra
- 딥러닝
- 고체역학
- Statics
- Python
- 옵시디언
- 논문작성
- 인공지능
- 수식삽입
- 생산성
- IEEE
- pytorch
- ChatGPT
- Today
- Total
뛰는 놈 위에 나는 공대생
[고등자동제어] Stability in the sense of Lyapunov (2) 본문
저번에 이어서 stability of LTI system과 Routh-Hurwitz criterion을 정리하겠습니다.
1. Stability of LTI system
앞서 배울 때는 기본적으로 nonlinear time-varying system을 고려했습니다. 대부분의 시스템이 그렇기도 하구요.
하지만 LTI system에 대하여 우리는 solution도 알고 있고 해석 방법도 알고 있기 때문에, 이것들을 이용해 LTI system은 그 stability를 쉽게 알 수 있습니다.
LTI system에서 eigenvalues를 통해 stability를 판별할 수 있습니다.
다음은 stability를 판별할 수 있게 도식화해놓은 것입니다.
1) LTI system에서 eigenvalues 중 하나라도 real part가 0보다 크면 그 solution은 발산합니다. 즉, unstable
2) 모든 eigenvalues의 real part가 0보다 작으면 exponentially stable
3) real part가 0인 eigenvalues가 있다는 것은 imginary axis에 eigenvalue가 있다는 뜻입니다. imaginary axis에 eigenvalue가 있다는 것은 state가 진동한다는 뜻이므로, 특정 범위 안에서 왔다갔다하는 것 자체가 unstable함을 의미하지는 않습니다. 하지만 만약 imaginary axis에 중복된 eigenvalue $\lambda_{j}$가 있고, $nullity[\lambda_{i}I-A]=m_{j}\text{, where }m_{j}\text{ is multiplicity}$이라면 stable in the sense of Lyapunov입니다.
그러나 nullity가 $m_{j}$보다 작을 경우 jordan matrix가 나오므로 unstable합니다.
# 의문점
위의 특수한 케이스는 무엇이 있을까?
아래 그림은 각 eigenvalue의 상황에 따른 결과입니다.
normal-engineer.tistory.com/39?category=930921
제 포스팅을 보시면 좀 더 이해하기 수월할 것입니다.
2. Routh-Hurwitz criterion
위에서 봤듯이 LTI system의 eigenvalue을 알면 쉽게 stability를 판별할 수 있습니다.
$\dot{x}=Ax$
$\text{charateristic polynomial(CP) of matrix A}\in \mathbb{R}^{n\times n}$
$A(s)=det{sI-A}=s^{n}+a_{1}s^{n-1}+\cdots+a_{n}$
만약 $A(s_{0})=0$을 만족하는 모든 $s_{0}$에 대해서 $Re{s_{0}}<0$이라면 characteristic polynomial is Hurwitz.
또한
$\text{matrix }A\in\mathbb{R}^{n\times n}\text{ is Hurwitz if its CP is Hurwitz}$
위의 내용을 봐서 아시겠지만, Hurwitz인 경우에는 system이 stable합니다.
그런데 문제는 Hurwitz를 알기 위해 위의 CP를 풀어야 한다는 것입니다. 2차, 3차식까지는 괜찮겠지만 그 이후부터는 계산하기가 아주 복잡합니다. 그래서 굳이 CP의 근을 구하지 않더라도 쉽게 stability를 판별하기 위한 방법이 있습니다.
1) Routh array
$A(s)=a_{0}s^{6}+a_{1}s^{5}+a_{2}s^{4}+a_{3}s^{3}+a_{4}s^{2}+a_{5}s+a_{6}\text{, where }a_{0}>0$
다음과 같은 Characteristic Polynomial(CP)가 있을 때 routh array를 만들어보겠습니다.
($a_{0}$가 양수가 되도록 맞추어두고 시작해주세요. 어차피 A(s)=0인 근을 찾는 것이므로 처음에 CP의 최고차항 계수가 음수로 나오더라도 모든 계수의 부호를 바꿔줌으로써 최고차항 계수를 양수로 바꿔도 됩니다.)
가장 높은 차수의 계수부터 지그재그로 적습니다. 지금 예시는 6차항이 최고차항이지만, 5차식이면 아래 표의 6차항 자리에 5차항의 계수가 들어갑니다. 맨 마지막 상수항을 소진할 때까지 표를 늘려주시면 됩니다.
그리고 아래 표부터는 계산 규칙대로 표를 채워주시면 됩니다.
우리가 주목해야할 것은 맨 왼쪽 열입니다.
첫번째 열의 모든 elements가 양수이면, CP는 Hurwitz입니다.
$a_{0}, a_{1}, A, C, E, F, a_{6}$ 에서 부호의 변화가 있으면 그 부호의 변화 횟수만큼 Real part가 음수인 근이 존재하는 것입니다.
Example)
이 예시의 CP는 Real part가 음수인 근(root)이 2개입니다. 말했다시피 부호 변화의 횟수만큼 음수인 근이 있습니다.
실제로 위의 CP의 근을 구하면
Right half plane에 root가 2개가 있음을 확인할 수 있습니다. 이렇게 직접 근을 구하지 않더라도 routh array만 보면, unstable함을 미리 알 수 있습니다.
2) Routh array의 special case
① 같은 열에서 0이 나온 다음에, 0이 아닌 숫자가 나올 때
다음과 같이 routh array가 있을 때 $s^{4}$열에서 0 다음에 4가 나옵니다. 이렇게 0 다음에 0이 아닌 숫자(여기에서는 4)가 나올 때 계산할 필요없이 unstable이라고 생각하면 됩니다. 계산을 해보면 양수가 나오다가 $-frac{3}{2}$가 나오는 것을 확인할 수 있습니다.
다른 예시로는,
위의 그림에서도 계산을 하다가 $s^{2}$열에서 0 다음에 5가 나오는 것을 확인할 수 있습니다. 이 때도 계산할 필요없이 unstable임을 알 수 있는데 직접 계산해보면 음수가 나옵니다.
또한 위의 식 $s^{4}+2s^{3}+2x^{2}+4s+5$에서 Right half plane에 root가 몇 개 있는지 궁금할 때는
0 대신 $\epsilon$으로 대체한 다음에 $s^{0}$열까지 진행하고, $\epsilon$을 $0^{+}$로 수렴하게 만들면 부호가 나옵니다. 위의 경우 부호가 두 번 바뀌었으므로 RHP에 root가 2개임을 알 수 있습니다.
② 열의 모든 항이 0일 때
다음과 같은 식이 있을 때 $s^{1}$열이 모두 0입니다. 이 때는 $s^{2}$와 $s^{1}$열을 하나로 묶고 auxiliary polynomial을 만듭니다. 이 때는 $6s^{2}+12s^{0}$입니다. 처음에 characteristic equation으로 표를 만들 때처럼 지그재그로 polynomial의 계수를 넣어주면 됩니다. $s^{2}$에서 시작하므로 auxiliary polynomial의 첫번째 항이 $s^{2}$이 됩니다.
'연구 Research > 제어 Control' 카테고리의 다른 글
[고등자동제어] Lyapunov Direct Method (1) - Positive definite (0) | 2021.01.22 |
---|---|
[고등자동제어] Stability in the sense of Lyapunov (3) (0) | 2021.01.15 |
[고등자동제어] Stability in the sense of Lyapunov (1) (0) | 2021.01.07 |
[고등자동제어] Discrete time from continuous time (0) | 2021.01.05 |
[고등자동제어] Solution matrix via Inverse Laplace & Z-transform (0) | 2020.12.31 |