可控制性

可控制性（Controllability）是控制系統中的重要特性，在許多控制問題中都很重要，例如是否可以透過回授穩定一個本身不穩定的系統，或是最佳控制的相關問題。

可控制性及可觀測性是同一個問題上的對偶概念。

簡單來說，可控制性是指是否可以透過一些允許的程序讓系統調整到其組態空間內的任何一個組態。隨著其系統模型或是框架的不同，定義也會略有改變。

以下是一些在系統或是控制文獻中出現過的可控制性定義：

- 狀態可控制性（State controllability）
- 輸出可控制性（Output controllability）
- 行為框架中的可控制性（Controllability in the behavioural framework）

## 狀態可控制性

狀態可控制性是指在確定性系統的狀態空間內，也就是系統所有狀態變數數值組成的集合，可以完全描述系統在任一時間以下的狀態。特別是不需要有關系統以往的資訊，只要知道目前的狀態，以後所有的狀態都是已知的。

完全狀態可控制性（有時也稱為狀態可控制性）是指外在輸入（由控制變數組成的向量）可以在有限時間內將系統由任意狀態改變為另一個狀態。

可控制性表示可以使系統到達任意狀態，但不表示系統可以維持在該狀態，有可能系統只是在該狀態停留短暫間而已。

## 連續時間線性系統

考慮連續時間下的線性系統

$$\dot{\mathbf{x}}(t) = A(t) \mathbf{x}(t) + B(t) \mathbf{u}(t)$$

$$\mathbf{y}(t) = C(t) \mathbf{x}(t) + D(t) \mathbf{u}(t).$$

存在一個控制$u$使系統在時間$t_0$至時間$t_1$，由狀態$x_0$改變為狀態$x_1$，若且唯若$x_1 - \phi(t_0,t_1)x_0$是以下的列空間中

$$W(t_0,t_1) = \int_{t_0}^{t_1} \phi(t_0,t)B(t)B(t)^{T}\phi(t_0,t)^{T} dt$$

其中$\phi$是狀態轉移矩陣，而$W(t_0,t_1)$是可控制性格拉姆矩陣。

其實上，若$\eta_0$是$W(t_0,t_1)\eta = x_1 - \phi(t_0,t_1)x_0$的解，則控制$u(t) = -B(t)^{T}\phi(t_0,t)^{T}\eta_0$即為所需的控制輸入。

注意上述定義的$W$有以下的特質：

- $W(t_0,t_1)$是對稱矩陣
- $W(t_0,t_1)$是正定矩陣，$t_1 \geq t_0$
- $W(t_0,t_1)$滿足以下的線性矩陣微分方程

$$\frac{d}{dt}W(t,t_1) = A(t)W(t,t_1)+W(t,t_1)A(t)^{T}-B(t)B(t)^{T}, \; W(t_1,t_1) = 0$$

- $W(t_0,t_1)$滿足以下方程

$W(t_0,t_1) = W(t_0,t) + \phi(t_0,t)W(t,t_1)\phi(t_0,t)^{T}$

## 可控制性的秩條件

可控制性格拉姆矩陣和狀態轉移矩陣的積分有關。另外有一個較簡單，類似在非時變系統下的可控制性判斷方式。

考慮連續時間的線性系統$\Sigma$，在時間區間$[t_0,t]$內光滑變化：

$$\dot{\mathbf{x}}(t) = A(t) \mathbf{x}(t) + B(t) \mathbf{u}(t)$$

$$\mathbf{y}(t) = C(t) \mathbf{x}(t) + D(t) \mathbf{u}(t).$$

其狀態轉移矩陣也是光滑的，引入n x m的矩陣函數$M_0(t) = \phi(t_0,t)B(t)$，並且定義

$M_k(t)$ = $\frac{\mathrm{d^k} M_0}{\mathrm{d} t^k}(t), k\geqslant 1$.

考慮一個由$M_i$, $i = 0,1, \ldots, k$組成的矩陣：

$M^{(k)}(t) := \left[M_0(t), \ldots, M_k(t)\right]$.

若存在$\bar{t} \in [t_0,t]$以及非負整數k使得$\operatorname{rank}M^{(k)}(\bar{t})=n$，則$\Sigma$為可控制系統。

若$\Sigma$在區間$[t_0,t]$內也是解析變化，則$\Sigma$在$[t_0,t]$中的每個非平凡子區間內可控制，若且唯若存在$\bar{t} \in [t_0,t]$及非負變數使得$rank$ $M^{(k)}(t_i)=n$。

上述方式仍然很不容易確認，因為包括了狀態轉移矩陣$\phi$的計算。另一個等效的條件如下：令$B_0(t) = B(t)$，對於每一個$i$ $\geq$ 0，定義

$B_{i+1}(t)$= $A(t)B(t) - \frac{\mathrm{d}}{\mathrm{d} t}B_i(t).$

此例中，每一個$B_i$是直接由$(A(t),B(t))$求得。此系統有穩定性的充份必要條件是存在$\bar{t} \in [t_0,t]$及非負整數$k$使得下式成立：

$\textrm{rank}( \left[ B_0(\bar{t}), B_1(\bar{t}), \ldots, B_k(\bar{t}) \right]) = n$

### 例子

考慮一個在$(-\infty,\infty)$內解析變化的系統及矩陣

$A(t) = \begin{bmatrix} t & 1 & 0\\ 0 & t^{3} & 0\\ 0 & 0 & t^{2} \end{bmatrix}$, $B(t) = \begin{bmatrix} 0 \\ 1 \\ 1 \end{bmatrix}.$ 則$[B_0(0),B_1(0),B_2(0),B_3(0)] = \begin{bmatrix} 0 & 1 & 0 &-1\\ 1 & 0 & 0&0\\ 1 & 0 & 0&2 \end{bmatrix}$，其矩陣秩為3，因此在$\mathbb{R}$之內的每一個非平凡區間都是可控制的。

### 連續線性時不變（LTI）系統

考慮以下的連續線性時不變系統

$$\dot{\mathbf{x}}(t) = A \mathbf{x}(t) + B \mathbf{u}(t)$$

$$\mathbf{y}(t) = C \mathbf{x}(t) + D \mathbf{u}(t)$$

其中

$\mathbf{x}$為$n \times 1$狀態向量

$\mathbf{y}$為$m \times 1$輸出向量

$\mathbf{u}$為$r \times 1$輸入（或控制）向量

$A$為$n \times n$狀態矩陣

$B$為$n \times r$輸入矩陣

$C$為$m \times n$輸出矩陣

$D$為$m \times r$前饋矩陣

$n \times nr$可控制矩陣為

$$R = \begin{bmatrix}B & AB & A^{2}B & ...& A^{n-1}B\end{bmatrix}$$

系統可控制的充份必要條件是其可控制矩陣為滿秩（也就是$\operatorname{rank}(R)=n$）。

## 離散線性時不變（LTI）系統

針對離散時間，狀態方程如下的線性狀態空間系統（也就是時間變數$k\in\mathbb{Z}$）：

$$\textbf{x}(k+1) = A\textbf{x}(k) + B\textbf{u}(k)$$

其中$A$是$n \times n$的矩陣，$B$是$n \times r$的矩陣，（也就是$\mathbf{u}$是$r$個輸入，整理成$r \times 1$的向量）。測試其可控制性的方式為以下$n \times nr$矩陣

$$\mathcal{C} = \begin{bmatrix}B & AB & A^{2}B & \cdots & A^{n-1}B\end{bmatrix}$$

有全秩（也就是$\operatorname{rank}(\mathcal C) = n$）。因此，若此系統可控制，$\mathcal C$會有$n$個線性獨立的行；若$\mathcal C$中有$n$個行是線性獨立的，$n$個狀態中的每一個都可以用適當的輸入變數$u(k)$來達到。

### 推導

假設在初始時間（表示為k=0）狀態$\textbf{x}(0)$，狀態方程可以得到$\textbf{x}(1) = A\textbf{x}(0) + B\textbf{u}(0)$，則$\textbf{x}(2) = A\textbf{x}(1) + B\textbf{u}(1)= A^2\textbf{x}(0)+AB\textbf{u}(0)+B\textbf{u}(1)$，以此類推，利用反覆將狀態變數反向代回，可以得到

$$\textbf{x}(n)=B\textbf{u}(n-1) + AB\textbf{u}(n-2) + \cdots + A^{n-1}B\textbf{u}(0) + A^n\textbf{x}(0)$$

或者等效的

$$\textbf{x}(n)-A^n\textbf{x}(0)= [B \, \, AB \, \, \cdots \, \, A^{n-1}B] [\textbf{u}^T(n-1) \, \, \textbf{u}^T(n-2) \, \, \cdots \, \, \textbf{u}^T(0)]^T.$$

將狀態向量$\textbf{x}(n)$想要的值放在左側時，可解出一連串控制向量的條件是若且唯若等號右側的第一個矩陣有全秩。

### 範例

例如，考慮$n=2$和$r=1$的例子（只有一個控制輸入）。因此，$B$和$A B$是$2 \times 1$的向量。若$\begin{bmatrix}B & AB\end{bmatrix}$為秩2（滿秩），因此$B$和$AB$為線性獨立，可以生成整個平面。若秩為1，則$B$和$AB$平行，無法生成整個平面。

假設初始狀態為0。

在時間$k=0$時：$x(1) = A\textbf{x}(0) + B\textbf{u}(0) = B\textbf{u}(0)$

在時間$k=1$時：$x(2) = A\textbf{x}(1) + B\textbf{u}(1) = AB\textbf{u}(0) + B\textbf{u}(1)$

在時間$k=0$時，所有可到達的狀態是在由向量$B$組成的直線上。

在時間$k=1$時，所有可到達的狀態是在由向量$AB$和$B$組成的線性組合上。

若系統可控制，這二個向量可以生成整個平面，在時間$k=2$時即可完成。

前面有假設初始狀態為0，此一假設只是為了推導方便，若可以從原點到達所有的狀態，就可以由任意的初始狀態到所有的狀態（只要進行坐標平移）

上述例子對於所有正整數的$n$都成立，不過$n=2$的例子比較容易視覺化。

### 類似n = 2的範例

以下是一個用汽車類比上述範例的例子。

一個人坐在車上，車在一個無窮大的平面上，車頭朝向北方。

目的是透過駕駛（直線前進或是直線倒車）一段距離、停車、轉彎、再駕駛（直線前進或是直線倒車）一段距離的方式到平面上的任何一點。

假如車上沒有方向盤，因此車只能直線前進或後退，車所能到的方向只有車的正南方或正北方的位置上。

沒有方向盤類似$C$的秩為1（二次所走的位移均平行）的情形。

假如車有方向盤，可以任意的旋轉，自然可以到平面上的任何一點，這類似$C$的秩為2的例子。

若將此範圍延伸到$n=3$，則例子會變成讓飛機到三維空間中的任何一點（不考慮飛機本身的機頭面對方向。

可做的事為：

- 以直線航行
- 左轉或是右轉任意角度（偏擺，yaw）
- 飛機朝上或是朝下任意角度（俯仰，pitch）

雖然三維的例子比較不容易視覺化，不過原理類似。

## 非線性系統

以下控制仿射形式的非線性系統

$$\dot{\mathbf{x}} = \mathbf{f(x)} + \sum_{i=1}^m \mathbf{g}_i(\mathbf{x})u_i$$

其在$x_0$附近局部可到達（accessible）的條件是可到達分佈$R$可以生成 $n$個空間，其中$n$等於$x$的秩，而且R可以由下式表示：

$$R = \begin{bmatrix} \mathbf{g}_1 & \cdots & \mathbf{g}_m & [\mathrm{ad}^k_{\mathbf{g}_i}\mathbf{\mathbf{g}_j}] & \cdots & [\mathrm{ad}^k_{\mathbf{f}}\mathbf{\mathbf{g}_i}] \end{bmatrix}.$$

此處$[\mathrm{ad}^k_{\mathbf{f}}\mathbf{\mathbf{g}}]$是重複的向量場中的李括號運算，定義如下

$$[\mathrm{ad}^k_{\mathbf{f}}\mathbf{\mathbf{g}}] = \begin{bmatrix} \mathbf{f} & \cdots & j & \cdots & \mathbf{[\mathbf{f}, \mathbf{g}]} \end{bmatrix}.$$

線性系統的可控制性矩陣可以由此式推導而得。

## 零可控制性

若離散控制系統具有零可控制性（null-controllable），表示針對某一初始狀態$x(0) = x_0$，存在可控制的$u(k)$使得$x(k_0) = 0$。此條件和存在矩陣$F$使得$A+BF$為冪零矩陣的條件等價。

此條件可以由可控制-不可控制分離推導而得。

## 輸出可控制性

輸出可控制性（Output controllability）是有關系統輸出（以上表示為y）的特性，輸出可控制性描述外在輸入是否可以在有限時間內，將輸出從任意初始狀態控制到特定輸出。輸出可控制性和狀態可控制性不一定會有相關性。尤其：

- 狀態可控制性的系統不一定會是輸出可控制性的系統。例如矩陣D = 0，且矩陣C沒有全秩，因為輸出矩陣的結構限制，有些輸出是無法達到的。即使系統的所有狀態都可以在有限時間內達到，但仍然有些特定的輸出是無法產生的。一個明顯的例子是D=0，且矩陣C至少有一行為零，因此此系統無法讓該輸出有不為零的輸出。
- 輸出可控制性的系統也不一定會是狀態可控制性的系統。例如，假如狀態空間的維度大於輸出的維度，針對每一個輸出，都有一組可能的對應狀態組態。也就是說，系統可能會有零動態（zero dynamics），也就是系統狀態有變化，但是在輸出上完全看不出來。因此，可以在有限時間將輸出控制到特定輸出，和狀態的可控制性完全沒有關係。

針對線性連續時間系統，例如由矩陣$A$、$B$、$C$及$D$描述的系統，其$m \times (n+1)r$輸出可控制性矩陣

$$\begin{bmatrix} CB & CAB & CA^2B & \cdots & CA^{n-1}B & D\end{bmatrix}$$

有滿行秩（rank $m$）若且唯若此系統為輸出可控制系統，此結果也是卡爾曼的可控制性準則。

## 在有輸入限制下的可控制性

在一些沒有完全控制權的系統，常常無法在可控制子空間內將系統從任意初始位置移到從任意結束位置。會出現此一現象的原因可能是因為系統本身就有的輸入信號限制（例如致動器的飽和）或是因為其他原因而給系統的限制（例如因為安全相關的考量）。在輸入及狀態有限制時的系統可控制性，是可到達性（reachability）及生存理論探討的內容。

## 行為框架中的可控制性

在所謂的行為系統理論方法（behavioral system theoretic approach）中，不會直接定義模型輸入－輸出的結構。在此框架內，系統由是由變數集合的允許軌跡來表示，其中有些可能是輸入或是輸出。

在此框架中，可控制的系統是指，系統過去的行為（外在變數的軌跡）可以和任何未來的行為連接，而其連接方式都在可允允許的系統行為內。

## 可穩定性

可穩定性（stabilizability）是比可控制性要弱的一個條件。系統具有可穩定性若所有不可控的狀態都有穩定的動態特性。因此雖然系統中有一些狀態是不可控的，在系統動作時，所有的狀態都還是維持在一定的範圍內（有界）。Hautus引理有針對可穩定性的判斷

## 可達到集合

令T ∈ Т，且x ∈ X（其中X是所有可能狀態的集合，Т是一段時間區間）。在時間T內從x開始的可達到集合（reachable set）定義為:

$R^T{(x)} = \left\{ z \in X : x \overset{T}{\rightarrow} z \right\}$，其中 xTz表示存在一個在時間T內從x到z的狀態轉換。

針對自主系統，其可達到集合為：

$Im(R)=Im(B)+Im(AB)+....+Im(A^{n-1}B)$,

其中R為可控制性矩陣。

若以可達到集合來表示，系統有可控制性若且唯若$Im(R)=\R^{n}$。

證明根據以下的等式：

$$R=[B\ AB ....A^{n-1}B]$$

$$Im(R)=Im([B\ AB ....A^{n-1}B])$$

$$dim(Im(R))=rank(R)$$

考慮系統可控制，因此R的行需為線性獨立，因此

$$dim(Im(R))=n$$

$$rank(R)=n$$

$$Im(R)=\R^{n}\quad \blacksquare$$

另一個和可達到集合有關的集合為可控制集合（controllable set），定義如下：

$C^T{(x)} = \left\{ z \in X : z \overset{T}{\rightarrow} x \right\}$.

Sontag提出了可達到性（reachability）和可控制性的關係:

(a) n維離散線性系統可控制，若且唯若：

$R(0)=R^k{(0)=X}$（其中X為x的所有可能值或是狀態，且k為時間）

(b) 連結時間線性系統可控制，若且唯若：

$R(0)=R^e{(0)=X}$針對所有e>0。

若且唯若$C(0)=C^e{(0)=X}$針對所有e>0。

## 外部連結

- MATLAB function for checking controllability of a system
- Mathematica function for checking controllability of a system