본문 바로가기
유도항법제어/비행제어

[Continuous-Time] 제어가능성 (Controllability)

by 깊은대학 2024. 7. 16.

다음과 같은 선형 시불변(LTI) 시스템이 있다.

 

\[ \begin{align} \dot{\mathbf{x}} =A \mathbf{x}+B \mathbf{u} \tag{1} \end{align} \]

 

여기서 \( \mathbf{x}(t) \in \mathbb{R}^n \) 는 상태변수, \( \mathbf{u}(t) \in \mathbb{R}^p \) 는 제어입력이다. 만약 유한 시간 \( t_1 \lt \infty \) 안에 임의의 초기 상태 \(\mathbf{x}(0)=\mathbf{x}_0\) 에서 임의의 목표 상태(target state) \( \mathbf{x}(t_1 )=\mathbf{x}_1\) 으로 시스템의 상태를 움직이도록 하는 제어입력 \(\mathbf{u}(t), \ t \in [0, \ t_1]\) 이 존재하는 경우, 시스템 (1) 또는 행렬 \((A, B)\) 는 제어가능(controllable)하다고 정의한다.

제어가능성의 정의에서 특징적인 점은 첫째, 초기 상태와 목표 상태는 모두 임의로 주어진다는 것이고, 둘째, 유한한 시간 \(t_1\) 에 목표 상태에 도달해야 한다는 것이며, 셋째, 시간 \(t \gt t_1\) 의 상태에 대해서는 어떤 제약도 없다는 것이다. 따라서 목표 상태에 시스템이 머물러 있지 않아도 된다.

 

 

선형 시불변 시스템이 제어가능성 또는 가제어성(controllability)이 있다면 불안정한 시스템을 안정화할 수 있고, 시스템의 반응 속도를 높일 수 있으며, 고유주파수를 변경할 수도 있다. 그리고 특정 최적제어 문제에 대한 해의 존재를 보장할 수도 있다. 이에 대해서는 차차 알아보기로 하고 여기서는 시스템이 이러한 '능력' 을 보유하고 있는지 아닌지, 즉 제어가능한지 아닌지 판단할 수 있는 조건에 대해서 알아본다.

제어가능성에 관련하여 다음 3가지 명제는 동치이다.

(a) \((A,B)\)는 제어가능하다.

(b) 어떤 \(t_1 \gt 0\) 에 대해서도 \(W_c (t_1 ) \gt 0\) 이다. 여기서 \(W_c\) 를 제어가능성 그래미안(controllability gramian)이라고 하며 다음과 같이 정의한다.

 

\[ \begin{align} W_c (t_1 )= \int_0^{t_1} e^{At} BB^T e^{A^T t} \ dt \tag{2} \end{align} \]

 

(c) \(Q_c\) 의 랭크(rank)는 \(n\) 이다. 여기서 \(Q_c\) 를 제어가능성 행렬(controllability matrix)이라고 하며 다음과 같이 정의한다.

 

\[ \begin{align} Q_c= \begin{bmatrix} B & AB & A^2 B & \cdots & A^{n-1} B \end{bmatrix} \tag{3} \end{align} \]

 

증명은 다음과 같다.

 

 

1. (c) \(\to\) (b)
‘(c) 이면 (b)다’라는 것을 직접 증명하기는 어려우므로 이와 동치인 ‘(b)가 아니면 (c)도 아니다’라는 명제를 대신 증명하겠다.
\(W_c (t_1 )\) 가 정정행렬(positive-definite matrix)이 아니라면 \(\mathbf{v}^T W_c (t_1 ) \mathbf{v}=0\) 을 만족하는 어떤 벡터 \(\mathbf{v} \ne 0\) 가 존재한다. 따라서

 

\[ \begin{align} 0 &= \mathbf{v}^T W_c (t_1 ) \mathbf{v} = \mathbf{v}^T \left( \int_0^{t_1} e^{At} BB^T e^{A^T t} \ dt \right) \mathbf{v} \\ \\ & = \int_0^{t_1} \mathbf{v}^T e^{At} BB^T e^{A^T t} \mathbf{v} \ dt \\ \\ & = \int_0^{t_1} \left( B^T e^{A^T t} \mathbf{v} \right)^T \left( B^T e^{A^T t} \mathbf{v} \right) \ dt \\ \\ & = \int_0^{t_1} \lVert B^T e^{A^T t} \mathbf{v} \rVert^2 \ dt \end{align} \]

 

이므로 모든 \(0 \le t \le t_1\) 에 대해서 \(B^T e^{A^T t} \mathbf{v} ≡ 0\) 이 된다. 이는 곧 모든 시간 미분도 모든 시간 \(t\) 에서 항상 \(0\) 이 되어야 한다는 뜻이므로,

 

\[ \begin{align} & B^T e^{A^T t} \mathbf{v}=0 \ \ \ \to \ \ \ B^T \mathbf{v}=0 \\ \\ & B^T A^T e^{A^T t} \mathbf{v}=0 \ \ \ \to \ \ \ B^T A^T \mathbf{v}=0 \\ \\ & B^T (A^2 )^T e^{A^T t} \mathbf{v}=0 \ \ \ \to \ \ \ B^T (A^2 )^T \mathbf{v}=0 \\ \\ & \ \ \ \ \ \ \ \vdots \\ \\ & B^T (A^{n-1} )^T e^{A^T t} \mathbf{v}=0 \ \ \ \to \ \ \ B^T (A^{n-1} )^T \mathbf{v}=0 \end{align} \]

 

가 된다. 따라서

 

\[ \begin{align} \begin{bmatrix} B^T \\ B^T A^T \\ B^T (A^2 )^T \\ \vdots \\ B^T (A^{n-1} )^T \end{bmatrix} \mathbf{v}=0= Q_c^T \mathbf{v} \end{align} \]

 

이므로 \(rank(Q_c^T )=rank(Q_c ) \lt n\) 이 되어서 ‘(b)가 아니면 (c)도 아니다’ 라는 명제가 증명되었다.

2. (b) \(\to \) (c)
이번에도 ‘(b) 이면 (c)다’라는 것을 직접 증명하기는 어려우므로 이와 동치인 ‘(c)가 아니면 (b)도 아니다’라는 명제를 대신 증명하겠다.
만약 \(Q_c\) 의 랭크(rank)가 \(n\) 이 아니라면 \(Q_c^T \mathbf{v}=0\) 을 만족하는 어떤 벡터 \(\mathbf{v} \ne 0\) 가 존재한다. 따라서

 

\[ \begin{align} \begin{bmatrix} B^T \\ B^T A^T \\ B^T (A^2 )^T \\ \vdots \\ B^T (A^{n-1} )^T \end{bmatrix} \mathbf{v}=0 \end{align} \]

 

이다. 케일리-해밀톤 정리(https://pasus.tistory.com/335)에 의하면

 

\[ \begin{align} e^{A^T t} = \sum_{i=0}^{n-1} \beta_i (t) (A^T )^i \end{align} \]

 

로 쓸 수 있으므로 다음 식이 성립한다.

 

\[ \begin{align} B^T e^{A^T t} \mathbf{v}= \sum_{i=0}^{n-1} \beta_i (t) B^T (A^T )^i \mathbf{v} = 0 \end{align} \]

 

따라서

 

\[ \begin{align} W_c (t_1 ) \mathbf{v} &= \left( \int_0^{t_1} e^{At} BB^T e^{A^T t} \ dt \right) \mathbf{v} \\ \\ &= \int_0^{t_1} e^{At} BB^T e^{A^T t} \mathbf{v} \ dt = 0 \end{align} \]

 

이 되므로 \(W_c (t_1 )\) 는 정정행렬이 아니다.

3. (b) \(\to\) (a)
어떤 \(t_1 \gt 0\) 에서 식 (1)의 해는 다음과 같다.

 

\[ \begin{align} \mathbf{x}(t_1)= e^{At_1 } \mathbf{x}_0+ \int_0^{t_1} e^{A(t_1-t)} B \mathbf{u}(t) \ dt \tag{4} \end{align} \]

 

만약 \(W_c (t_1 ) \gt 0\) 이라면 그 역행렬이 존재하므로 제어입력을 다음과 같이 선택할 수 있다.

 

\[ \begin{align} \mathbf{u}(t)=B^T e^{A^T (t_1-t) } W_c^{-1} (t_1 ) \left[ \mathbf{x}_1-e^{At_1 } \mathbf{x}_0 \right] \end{align} \]

 

위 식을 (4)에 대입하면,

 

\[ \begin{align} \mathbf{x}(t_1) &= e^{At_1 } \mathbf{x}_0+ \int_0^{t_1} e^{A(t_1-t)} BB^T e^{A^T (t_1-t) } W_c^{-1} (t_1 ) \left[ \mathbf{x}_1-e^{At_1 } \mathbf{x}_0 \right] \ dt \\ \\ &=e^{At_1 } \mathbf{x}_0+ \left[ \int_0^{t_1} e^{A(t_1-t)} BB^T e^{A^T (t_1-t) } \ dt \right] W_c^{-1} (t_1 ) \left[ \mathbf{x}_1-e^{At_1 } \mathbf{x}_0 \right] \\ \\ &=e^{At_1 } \mathbf{x}_0+W_c (t_1 ) W_c^{-1} (t_1 ) \left[ \mathbf{x}_1-e^{At_1 } \mathbf{x}_0 \right] \\ \\ &= \mathbf{x}_1 \end{align} \]

 

이 된다. 따라서 \(W_c (t_1 ) \gt 0\) 일 때 시스템의 상태를 \(\mathbf{x}_0\) 에서 \(\mathbf{x}_1\) 으로 움직이는 제어입력 \(\mathbf{u}(t)\) 가 존재한다.

4. (a) \(\to \) (b)
이번에도 '(a) 이면 (b)다'라는 것을 직접 증명하기는 어려우므로 이와 동치인 '(b)가 아니면 (a)도 아니다'라는 명제를 대신 증명하겠다.
만약 \(W_c (t_1 ) \gt 0\) 이 아니라면 \(rank(Q_c) \lt n\) 이다. 한편 케일리-해밀톤 정리(https://pasus.tistory.com/335)에 의하면

 

\[ \begin{align} e^{A(t_1-t)}= \sum_{i=0}^{n-1} \beta_i (t) A^i \end{align} \]

 

로 놓을 수 있으므로 시스템의 해 (4)는 다음과 같이 된다.

 

\[ \begin{align} \mathbf{x}(t_1 )-e^{At_1 } \mathbf{x}_0 &= \mathbf{z} = \int_0^{t_1} \sum_{i=0}^{n-1} \beta_i (t) A^i B \mathbf{u}(t) \ dt \\ \\ &= \sum_{i=0}^{n-1} A^i B \int_0^{t_1} \beta_i (t) \mathbf{u}(t) \ dt \end{align} \]

 

위 식에 의하면 \(\mathbf{z}\) 는 \(range(Q_c)\) 안에 있고 \(rank(Q_c) \lt n\) 이므로 입력 \(\mathbf{u}(t)\) 는 상태공간 전체를 스팬(span)할 수 없다. 따라서 시스템은 제어가능하지 않다.

(a) \(\to \) (c) 의 증명은 (a) \(\to\) (b) \(\to\) (c)의 순서로, (c) \(\to \)(a) 의 증명은 (c)\(\to\) (b) \(\to\) (a)의 순서로 증명하면 된다.

 

 

따라서 증명 1,2,3,4에 의해서 제어가능성에 관련한 3가지 명제가 동치임을 증명하였다. 보통 어떤 시스템이 제어가능한지의 여부는 식 (3)의 제어가능성 행렬의 랭크를 계산해서 확인한다.

댓글