[고등자동제어] Controllability in discrete time

2021. 2. 22. 23:14·연구 Research/제어 Control

 

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
'연구 Research/제어 Control' 카테고리의 다른 글
  • [고등자동제어] Controllability in Continuous time
  • [고등자동제어] Observability in discrete time
  • [고등자동제어] Lyapunov stability in Discrete Time
  • [제어] Dynamic programming - Richard Bellman
보통의공대생
보통의공대생
수학,프로그래밍,기계항공우주 등 공부하는 기록들을 남깁니다.
  • 보통의공대생
    뛰는 놈 위에 나는 공대생
    보통의공대생
  • 전체
    오늘
    어제
    • 분류 전체보기 (460)
      • 공지 (1)
      • 영어 공부 English Study (40)
        • 텝스 TEPS (7)
        • 글 Article (21)
        • 영상 Video (10)
      • 연구 Research (99)
        • 최적화 Optimization (3)
        • 데이터과학 Data Science (7)
        • 인공지능 Artificial Intelligent (40)
        • 제어 Control (45)
      • 프로그래밍 Programming (103)
        • 매트랩 MATLAB (25)
        • 파이썬 Python (33)
        • 줄리아 Julia (2)
        • C++ (3)
        • 리눅스 우분투 Ubuntu (6)
      • 항공우주 Aeronautical engineeri.. (21)
        • 항법 Navigation (0)
        • 유도 Guidance (0)
      • 기계공학 Mechanical engineering (13)
        • 열역학 Thermodynamics (0)
        • 고체역학 Statics & Solid mechan.. (10)
        • 동역학 Dynamics (1)
        • 유체역학 Fluid Dynamics (0)
      • 수학 Mathematics (34)
        • 선형대수학 Linear Algebra (18)
        • 미분방정식 Differential Equation (3)
        • 확률및통계 Probability & Sta.. (2)
        • 미적분학 Calculus (1)
        • 복소해석학 Complex Analysis (5)
        • 실해석학 Real Analysis (0)
      • 수치해석 Numerical Analysis (21)
      • 확률 및 랜덤프로세스 Random process (2)
      • 추론 & 추정 이론 Estimation (3)
      • 기타 (26)
        • 설계 프로젝트 System Design (8)
        • 논문작성 Writing (55)
        • 세미나 Seminar (2)
        • 생산성 Productivity (3)
      • 유학 생활 Daily (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    ChatGPT
    논문작성법
    Numerical Analysis
    에러기록
    LaTeX
    JAX
    옵시디언
    teps
    고체역학
    딥러닝
    WOX
    Zotero
    Python
    Statics
    matplotlib
    우분투
    인공지능
    Dear abby
    IEEE
    논문작성
    생산성
    Julia
    텝스
    수치해석
    서버
    텝스공부
    MATLAB
    Linear algebra
    pytorch
    obsidian
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
보통의공대생
[고등자동제어] Controllability in discrete time
상단으로

티스토리툴바