일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Statics
- Dear abby
- pytorch
- 옵시디언
- MATLAB
- teps
- Numerical Analysis
- 인공지능
- JAX
- Julia
- 딥러닝
- IEEE
- 고체역학
- 생산성
- Zotero
- 텝스
- 수치해석
- 에러기록
- LaTeX
- Linear algebra
- ChatGPT
- WOX
- matplotlib
- 논문작성
- 논문작성법
- 텝스공부
- 수식삽입
- 우분투
- Python
- obsidian
- Today
- Total
뛰는 놈 위에 나는 공대생
[제어] Lyapunov stability theorem 증명 본문
조금이라도 제어에 대해 공부한 사람이라면 한 번쯤 들어볼 법한, Lyapunov stability theorem.
이 Lyapunov stability theorem에 대한 증명은 Khalil의 Nonlinear control에 잘 나와있다.
처음에 그냥 읽으면 무슨 소리인지 납득이 안되는 부분이 있는 것 같아서, 증명을 이해하는 연결다리를 써보고자 글을 쓴다.
Lyapunov stability theorem
$\text{If there is }V(x)\text{ such that }V(0)=0\text{ and }V(x)>0,\; \forall x\in D\text{ with }x\neq 0$
$\dot{V}(x)\leq 0\; \forall x\in D$
$\text{then the origin is a stable.}$
$\text{if }\dot{V}(x)<0, \; \forall x\in D \text{ with }x\neq 0$
$\text{then the origin is asymptotically stable.}$
여기서 stable의 정의를 알아야 한다.
$\text{The equilibrium point }x=0 \text{ of }\dot{x}=f(x)\text{ is}$
$\text{stable if for each }\varepsilon>0\text{ there is }\delta>0 (\text{dependent on }\varepsilon )\text{ such that}$
$\|x(0)\|<\delta \Rightarrow\|x(t)\|<\varepsilon, \quad \forall t \geq 0$
위의 theorem을 통해서 $V(x)$가 위 조건을 만족하면 stability 정의를 만족하는지 확인해야한다.
$x$는 n차원 state vector이다.
$0<r\leq \varepsilon$일 때, $\|x\|\leq r$ 조건을 가진 ball $B_{r}$이 있다고 하자.
이 set을 $B_{r}=\{ \|x\|\leq r\}$로 표기할 수 있다.
여기서 ball 안의 점들이 곧 state들의 집합이다. 이 ball의 boundary에서 가장 작은 $V(x)$ 값을 찾는다.
$\alpha=\min _{\|x\|=r} V(x)>0$
이 값보다 더 작은 $0<\beta<\alpha$를 잡고 set $\Omega_{\beta}$를 다음과 같이 정의할 수 있다.
$\Omega_\beta=\left\{x \in B_r \mid V(x) \leq \beta\right\}$
여기서 $\Omega_{\beta}$는 무조건 $B_{r}$ 안에 속할 수 밖에 없다. ($x$가 $B_{r}$에 포함되므로 바깥에 존재할 수 없고, 이 말은 boundary에 존재하는 원소가 없다는 뜻이다.) 이는 앞서 우리가 정한 $\alpha$의 정의로부터 증명할 수 있다.
예를 들어 $\Omega_{\beta}$의 원소 중에 어떤 것이 $B_{r}$의 boundary에 있는 $\hat{x}$가 있다고 하자. 이 때, $V(\hat{x})\geq\alpha$일 수 밖에 없다. 왜냐하면 $\alpha$가 $\min _{\|x\|=r} V(x)>0$으로 정의되었기 때문이다.
그런데 $V_{\hat{x}}\leq \beta$이므로 위의 $V(\hat{x})\geq\alpha$와 모순이 된다. 따라서 $\hat{x}$은 반드시 $B_{r}$ 내부에 존재하게 된다.
이렇게 했을 때 만약 Lyapunov stability theorem에서 조건으로 말한 것처럼
$\text{If there is }V(x)\text{ such that }V(0)=0\text{ and }V(x)>0,\; \forall x\in D\text{ with }x\neq 0$
$\dot{V}(x)\leq 0\; \forall x\in D$
$V(x)$가 위 조건을 만족한다면 $\Omega_{\beta}$에 속한 초기 state들은 시간이 지난 이후에도 계속 $\Omega_{\beta}$ 안에 머물게 된다.
$\dot{V}(x(t)) \leq 0 \; \Rightarrow \; V(x(t)) \leq V(x(0)) \leq \beta, \; \forall t\geq 0$
또한 $V(x)$는 continuous하고 $V(0)=0$이면 continuity 정의에 따라 $x=0$의 $\delta$ neighborhood가 있을 때 $V(x)$ 역시 $\epsilon$ 범위 안에 있음을 알 수 있다.
continuous 정의 : 위키피디아 참조 (또는 미적분학 교과서에는 반드시 있는 내용)
따라서 $\delta > 0$에 대하여 다음을 만족시킬 수 있다.
$\|x\| \leq 0 \; \Rightarrow V(x) < \beta$
ball $B_{\delta}\subset \Omega_{\beta} \subset B_{r}$ 관계가 성립된다.
이 말은 곧,
$\|x(0)\| \in B_{\delta} $이면 $x(0)\in \Omega_{\beta}$이다.
$\Omega_{\beta}$에 속한 state들은 계속 그 안에 머물기 때문에
$\|x(t)\| \in \Omega_{\beta} \subset B_{r},\; \forall t\geq 0$를 만족한다.
이 증명을 시작할 때 $0<r\leq \varepsilon$이었던 것을 기억하자.
따라서 stability 정의대로
$\|x(0)\|<\delta \Rightarrow\|x(t)\|<\varepsilon, \quad \forall t \geq 0$을 만족하므로
Equilibrium point $x=0$는 stable하다.
여기서 $x=0$ 원점을 잡은 것은 변수를 다르게 잡아 원점 이동이 가능하기 때문에 어떤 equilibrium point라도 일반화시킬 수 있다. 즉 $x=3$이 원점이었어도 $\tilde{x}=x-3$으로 잡아서 원점이 stable함을 보이는 것과 동일하므로 $x=3$도 stable함을 Lyapunov로 보일 수 있다는 뜻이다.
참고로 $\Omega_{\beta}$가 compact set이라는 사실을 통해 $\dot{x}=f(x)$의 solution이 unique함을 증명할 수 있다. compact set은 closed and bounded set인데,
closed set인 것은 정의를 통해 알 수 있고, ($\Omega_\beta=\left\{x \in B_r \mid V(x) \leq \beta\right\}$)
bounded set인 것은 $B_{r}$ 내부에 속해 있어야한다는 점에서 알 수 있다.
이렇게 compact set인 것을 밝히면 다음 lemma를 통해 $\dot{x}=f(x)$가 unique solution을 가짐을 알 수 있다.
'연구 Research > 제어 Control' 카테고리의 다른 글
[비선형제어] Diffeomorphism (0) | 2022.12.20 |
---|---|
[제어] eigenvalue와 stability 분석 (algebraic multiplicity와 geometric multiplicity의 차이) (0) | 2022.12.14 |
[MATLAB] 3차원 vector field diagram과 시뮬레이션 결과 mapping (0) | 2022.09.26 |
[제어] Phase portrait 프로그램과 예시 (0) | 2022.09.16 |
Low pass filter에서 시상수(Time constant)의 의미 (0) | 2022.08.16 |