일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 텝스공부
- 수치해석
- 인공지능
- 텝스
- pytorch
- Numerical Analysis
- 고체역학
- 논문작성법
- LaTeX
- 논문작성
- 수식삽입
- JAX
- MATLAB
- Python
- 옵시디언
- WOX
- 생산성
- Dear abby
- obsidian
- Linear algebra
- 딥러닝
- Statics
- 우분투
- Julia
- ChatGPT
- teps
- IEEE
- Zotero
- 에러기록
- matplotlib
- Today
- Total
뛰는 놈 위에 나는 공대생
[고등자동제어] Controllability in discrete time 본문
Controllability : control input을 이용해 원하는 state로 만들 수 있는지 여부
Observability : 측정한 output을 이용해 state를 estimate할 수 있는지 여부
왜 controllability와 observability가 중요할까?
controllability는 제어 관점에서 당연히 중요한 것처럼 보입니다. 우리가 원하는 state로 만들 수 없다면 이는 제어할 수 없다는 의미이기 때문.
observability는, 모든 state가 다 측정가능하지는 않다는 점에서 중요합니다. 나는 velocity를 feedback하고 싶은데, 실제로 측정 가능한 센서는 position 밖에 없을 수 있습니다. input과 output(position)을 통해서 velocity를 추정해야하기 때문입니다.
1. Controllability in discrete time
$\text{LTI discrete time system }x(k+1)=Ax(k)+Bu(k)\text{ is said to be controllable}$
$\text{if for any initial state }x(0)=x_{0}\text{ and any target state }x_{1}$
$\text{there exists a finite integer N and a control sequence }\{u(k);k\in[0,N]\}$
$\text{that will transfer the state }x_{0}\text{ to }x(N)=x_{1}$
처음 state에서 내가 원하는 '어떤' target state를 finite step 안에 도달할 수 있으면 이 시스템은 controllable합니다.
그러나 여기서 주의할 점은 $x(N)=x_{1}$에 도달한 후에 그 state를 유지할 필요는 없다는 점입니다.
즉 state $x_{1}$에 도달하고 바로 다른 state로 바뀐다해도 target state에 도달할 수 있다면 controllable합니다.
controllability를 판별할 수 있는 theorem을 살펴볼 예정인데, 그 전에 알아야 하는 수학 theorem이 있습니다.
이 theorem을 알아야 controllability theorem을 증명할 수 있으므로 먼저 짚고 넘어갑니다.
2. Cayley-Hamilton theorem
$\textbf{Cayley-Hamilton Theorem}$
$\text{Every square matrix }A\in \mathbb{R}^{n\times n} \text{ satisfies its own characteristic equation. i.e.}$
$\Delta (A)=A^{n}+a_{n-1}A^{n-1}+\cdots+a_{1}A+a_{0}I=0$
$\text{where }\Delta(\lambda)=\det (\lambda I - A)=\lambda^{n}+a_{n-1}\lambda^{n-1}+\cdots+a_{1}\lambda+a_{0}$
$\quad\quad\quad\quad\quad\;=(\lambda-\lambda_{1})(\lambda-\lambda_{2})\cdots(\lambda-\lambda_{n})=0$
$\text{is the characteristic polynoimal for the matrix A}$
이 정리는 linearly independency를 다룰 때 많이 사용됩니다. 정리 증명은, $\Delta(\lambda)$에 $\lambda$ 대신 $A$를 집어넣으면 될 것으로 보이지만 $\lambda$가 scalar였기 때문에 증명을 할 필요성이 보입니다.
$\text{Proof)}$
증명을 다음과 같이 했고,
이 theorem이 중요한 이유는
$v, Av, A^{2}v, A^{3}v, \ldots$
에서 linearly independent한지 아닌지를 밝힐 수 있기 때문입니다.
$\Delta(A)=A^{n}+a_{n-1}A^{n-1}+\cdots+a_{1}A+a_{0}I=0$
에서 양변에 $v$를 곱하면
$A^{n}v+a_{n-1}A^{n-1}v+\cdots+a_{1}Av+a_{0}v=0$
이고 이를 만족하는 $(a_{0},a_{1},\ldots,a_{n})$이 있다는 것은 곧
$v, Av, A^{2}v, A^{3}v, \ldots, A^{n}v$가 linearly dependent하다는 것입니다.
$A^{n+1}v$의 경우는 어떨까요?
$A^{n}=-a_{n-1}A^{n-1}-a_{n-2}A^{n-2}+\cdots-a_{1}A-a_{0}I$
$A^{n+1}=-a_{n-1}A^{n}-a_{n-2}A^{n-2}+\cdots-a_{1}A^{2}-a_{0}A=f(A^{n-1},A^{n-2},\ldots,A,I)$
$A^{k}=f(A^{n-1},A^{n-2},\ldots,A,I), k>n-1$
즉 n-1보다 큰 모든 $A^{k}$는 $I,A, A^{2}, A^{3}, \ldots, A^{n-1}$에 dependent할 수밖에 없습니다.
예를 들어
$e^{At}=I+At+\frac{A^{2}}{2}t^{2}+\cdots$
이 경우에는 사실 무한까지 더해야하지만, $A^{n}$부터는 linearly dependent하므로,
$e^{At}=f(A^{n-1},A^{n-2},\cdots,A,I)$
다음과 같이 구할 수 있습니다.
C-H Theorem은 뒤의 controllability theorem에서도 나옵니다.
3. Controllability Theorem
$\text{(a). The LTI discrete time system of order n }$
$x(k+1)=Ax(k)+Bu(k), A\in \mathbb{R}^{n\times n}, B\in\mathbb{R}^{n\times m}\text{ is controllable.}$
$\text{(b). The controllability grammian}$
$W_{c}(k_{1})=\sum_{k=0}^{k_{1}}A^{k}BB^{T}(A^{T})^{k}=BB^{T}+(AB)(AB)^{T}+\cdots+(A^{k_{1}}B)(A^{k_{1}}B)^{T}$
$\text{ is positive definite, for some finite integer }k_{1}$
$W_{c}(k_{1})\in \mathbb{R}^{n\times n}\text{ is a square matrix.}$
$\text{(c). Controllability matrix}$
$P=\begin{bmatrix}B & AB & A^{2}B & \cdots & A^{n-1}B\end{bmatrix} \text{ is rank n.}$
$\text{(i.e. there are n linearly independent columns)}$
위의 (a),(b),(c)는 모두 동치입니다.
$\text{Proof : }$
$\text{(c)}\rightarrow \text{(b)}$
여기서 $W_{c}(k_{1})$은 cholesky decomposition이 가능함을 보였습니다. cholesky decomposition이 가능하다는 것은 그 matrix가 positive definite matrix라고 볼 수 있습니다.
$\text{(b)}\rightarrow \text{(a)}$
$\text{(a)}\rightarrow \text{(b)}$
$\text{(b)}\rightarrow \text{(c)}$
4. Controllability theorem comment
위의 controllability theorem을 통해 알 수 있는 사실에 대해서 적도록 하겠습니다.
1. 어떤 nth order of discrete time system이 있을 때 n번 이내에 원하는 target state으로 만들 수 있습니다.
그 이유는 위의 증명에서
$x_{1}-A^{k}x_{0}=P(k)\begin{bmatrix}u(k-1)\\ \vdots \\ u(0)\end{bmatrix}$
이기 때문에 원하는 state는 n번 안에 도달할 수 있다.
2. 위의 controllability theorem은 시스템이 controllable한지에 대한 여부만 알 수 있을 뿐, 얼마나 쉽게 원하는 state에 도달할 수 있는지(degree of controllability)에 대해서는 다루지 않았습니다. 이에 대한 내용은 나중에 SVD(Singular value decomposition)에서 나옵니다.
3. 앞서 배웠던 장에서 controllable canonical form에 대해서 배웠고(링크 : normal-engineer.tistory.com/25), 이 form의 controllability matrix를 통해 controllable함을 확인할 수 있다.
$\frac{d}{dt}\begin{bmatrix}x_{1}\\x_{2}\\x_{3}\end{bmatrix}=\begin{bmatrix}0&1&0\\0&0&1\\-a_{0}&-a_{1}&-a_{2}\end{bmatrix}\begin{bmatrix}x_{1}\\x_{2}\\x_{3}\end{bmatrix}+\begin{bmatrix}0\\0\\1\end{bmatrix}u$
$y=\begin{bmatrix}b_{0}&b_{1}&b_{2}\end{bmatrix}\begin{bmatrix}x_{1}\\x_{2}\\x_{3}\end{bmatrix}$
$A=\begin{bmatrix}0&1&0\\0&0&1\\-a_{0}&-a_{1}&-a_{2}\end{bmatrix}$
$B=\begin{bmatrix}0\\0\\1\end{bmatrix}$
이 form에서 controllability matrix는$\begin{bmatrix} B&AB&A^{2}B&\cdots\end{bmatrix}$이므로
$\text{controllability matrix : }\begin{bmatrix}0&0&1\\0&1&-a_{2}\\1&-a_{2}&(-a_{1}+a_{2}^{2})\end{bmatrix}$
이므로 $a_{1},a_{2},a_{3}$값과 관계없이 항상 full rank입니다.
5. Controllability results
controllability theorem에 따르면 controllability grammian이 positive definite이면 controllable합니다.
일반적으로는 controllability matrix를 구해서 이 matrix의 rank를 구함으로써 시스템의 controllability 여부를 알 수도 있지만 grammian을 이용해서도 알아볼 수 있습니다.
$W_{c}=\underset{k_{1}\rightarrow \infty}{\lim}W_{c}(k_{1})=\sum_{k=0}^{\infty}A^{k}BB^{T}(A^{T})^{k}$
$W_{c}$ 에 오른쪽에는 $A^{T}$를 왼쪽에는 $A$를 곱하면
$AW_{c}A^{T}=ABB^{T}A^{T}+A^{2}BB^{T}(A^{T})^{2}+\cdots$
$W_{c}=BB^{T}+ABB^{T}A^{T}+A^{2}BB^{T}(A^{T})^{2}+\cdots$
위의 두 식을 빼면
$AW_{c}A^{T}-W_{c}=-BB^{T}$
이 식은 Lyapunov equation in discrete time과 동일합니다.
$W_{c}\text{ is positive definite iff the system is controllable.}$
다음에는 observability에 대해서 하겠습니다.
'연구 Research > 제어 Control' 카테고리의 다른 글
[고등자동제어] Controllability in Continuous time (0) | 2021.02.25 |
---|---|
[고등자동제어] Observability in discrete time (0) | 2021.02.23 |
[고등자동제어] Lyapunov stability in Discrete Time (0) | 2021.02.17 |
[제어] Dynamic programming - Richard Bellman (0) | 2021.02.10 |
[고등자동제어] Lyapunov's Direct Method (5) - Solving Lyapunov equation (0) | 2021.01.24 |