上述提及的 控制器 我們用一個 控制律 $u(t)$ 描述。
基本想法是透過給定 狀態回授控制律 $u(t) = Kx(t)+ v(t)$ 並由使用者自行設計 增益矩陣 $K$ 來達成我們的控制目標。
現在 考慮動態系統以狀態空間表示如下
\[\left\{ \begin{array}{l}
\dot x = Ax + Bu\\
y = Cx + Du
\end{array} \right.
\]其中 $x$ 為 $n \times 1$ (內部)系統狀態,$u$ 為 $m \times 1$ 控制力, $y$ 為 $r \times 1$ 量測輸出。
現在定義 狀態回授控制律(state feedback control law) 如下
\[
u = K x+ v
\] 其中 $K$ 為 $m \times n$ 回授增益矩陣(gain matrix),此矩陣為設計者依需求設計。$v$ 稱為額外輸入(auxiliary input)或稱參考命令。
將上述控制律帶回動態系統可得
\[\begin{array}{l}
\left\{ \begin{array}{l}
\dot x = Ax + Bu\\
y = Cx + Du
\end{array} \right. \Rightarrow \left\{ \begin{array}{l}
\dot x = Ax + B\left( {Kx + v} \right)\\
y = Cx + D\left( {Kx + v} \right)
\end{array} \right.\\
\Rightarrow \left\{ \begin{array}{l}
\dot x = \left( {A + BK} \right)x + Bv\\
y = \left( {C + DK} \right)x + Dv
\end{array} \right.
\end{array}
\]
Comment:
1. 若系統開迴路可控制,則經過狀態回授之後仍為可控制。
2. 狀態回授控制只改動系統 pole 並不改變系統的 zero。
3. 狀態回授之後的閉迴路系統可能不可觀察。原因為 若我們使用狀態回授移動系統 pole 使其與系統的 zero 產生極零點對消,則由於 極零點對消會損失系統控制性或者觀察性,但由於系統為可控制,故只能損失觀察性。
4. 若系統可控制,則存在一個 nonsingular transformation $X = TZ$ 將原系統轉為 可控典型式(controllable canonical form)。
現在我們看下面這個重要的結果:
==========================
Theorem:
考慮動態系統
\[\left\{ \begin{array}{l}
\dot x = Ax + Bu\\
y = Cx + Du
\end{array} \right.
\]與狀態回授控制律 $u = Kx +v$,其中 $K$ 為 $m \times n$ 回授增益矩陣(gain matrix),若 $(A,B)$ 為一組可控制配對,則 $A+BK$ 的 特徵根 eigenvalues 可以被任意配置。
==========================
Comments
1. 狀態回授控制 只 改變系統特性根(characteristic roots, or eigenvalues)或稱極點(poles),並不改變零點 (zeros);注意! 此陳述僅在系統可控制情況之下才成立。若系統不可控制則 至少有一個 pole 無法被任意改變位置。
2. 動態系統狀態的性能特性 (含穩定性) 可由配置極點位置決定。
3. 不可控制系統表示 轉移函數發生 pole-zero cancellation。在此情況之下任何回授控制器都無法處理。
Example: Practical Approach of using State-Feedback
考慮線性系統\[\dot x = Ax + Bu = \left[ {\begin{array}{*{20}{c}}
0&6&1\\
1&{ - 1}&0\\
0&0&{ - 1}
\end{array}} \right]x + \left[ {\begin{array}{*{20}{c}}
1\\
0\\
{ - 1}
\end{array}} \right]u\]定義 狀態回授控制律 $u = -K^T x + v$ 其中 $K^T = [k_1\;\;k_2\;\;k_3]$,試求 $u$ 使得系統閉迴路 eigenvalues 落在 $-1 \pm j1$ 與 $-1$ 。
Solution
首先由於我們希望系統閉迴路 eigenvalues 落在 $-1 \pm j1$ 與 $-1$ ,故我們可先計算希望的系統閉迴路特性方程
\[\Delta \left( s \right): = \left( {s - \left( { - 1 + j} \right)} \right)\left( {s - \left( { - 1 - j} \right)} \right)\left( {s + 1} \right) = {s^3} + 3{s^2} + 4s + 2 \ \ \ \ \ (*)
\]現在觀察加入控制器 $u=Kx+v$之後系統之狀態空間表示為
\[\begin{array}{l}
\dot x = Ax + Bu = Ax + B\left( { - {K^T}x + v} \right)\\
\begin{array}{*{20}{c}}
{}&{}&{}
\end{array} = \left( {A - B{K^T}} \right)x + Bv
\end{array}
\]故我們可計算其對應的特徵方程式
\[\begin{array}{l}
\Delta \left( s \right) = \det \left( {sI - A + B{K^T}} \right)\\
\begin{array}{*{20}{c}}
{}&{}&{}
\end{array} = \det \left( {\left[ {\begin{array}{*{20}{c}}
s&0&0\\
0&s&0\\
0&0&s
\end{array}} \right] - \left[ {\begin{array}{*{20}{c}}
0&6&1\\
1&{ - 1}&0\\
0&0&{ - 1}
\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}
1\\
0\\
{ - 1}
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{{k_1}}&{{k_2}}&{{k_3}}
\end{array}} \right]} \right)\\
\begin{array}{*{20}{c}}
{}&{}&{}
\end{array} = \det \left( {\left[ {\begin{array}{*{20}{c}}
{s + {k_1}}&{ - 6 + {k_2}}&{ - 1 + {k_3}}\\
{ - 1}&{s + 1}&0\\
{ - {k_1}}&{ - {k_2}}&{s + 1 - {k_3}}
\end{array}} \right]} \right)\\
\begin{array}{*{20}{c}}
{}&{}&{}
\end{array} = {s^3} + \left( {{k_1} - {k_3} + 2} \right){s^2} + \left( {{k_1} + {k_2} - {k_3} - 5} \right)s + \left( {6{k_3} - 6} \right)
\end{array}\]現在比較 $(*)$ 與 $(\star)$ 的係數即可求得所需的控制器參數 $k_1,k_2,k_3$
\[\left\{ \begin{array}{l}
{k_1} - {k_3} + 2 = 3\\
{k_1} + {k_2} - {k_3} - 5 = 4\\
6{k_3} - 6 = 2
\end{array} \right. \Rightarrow \left\{ \begin{array}{l}
{k_1} = 7/3\\
{k_2} = 8\\
{k_3} = 4/3
\end{array} \right.\]
事實上,狀態回授是基於系統內部狀態做回授控制,但事實上內部狀態並不容易測量,大多數動態系統只能測量到輸出 $y$ 的部分,此時該怎麼辦呢?
我們需要 狀態觀測器 (State Observer) 來幫助我們 透過量測輸出 來 估計 系統的內部狀態。這將會留待之後再作介紹。
沒有留言:
張貼留言