控制系統/可控性和可觀測性
在控制工程領域,有大量的系統需要控制。控制工程師的任務是設計控制器和補償器單元,以與這些現有的系統互動。然而,有些系統根本無法控制(或者更常見的是,無法以特定方式控制)。可控性的概念是指控制器隨意改變系統被控物件功能的能力。
系統的狀態變數 *x* 代表系統的內部運作,可以獨立於系統的常規輸入-輸出關係。這還需要測量或 *觀察*。可觀測性一詞描述了系統內部狀態變數是否可以從外部測量。
完全狀態可控性(如果沒有任何其他上下文,則簡稱為可控性)描述了外部輸入將系統的內部狀態從任何初始狀態移動到任何其他最終狀態的能力,時間間隔有限。
我們將從可控性一詞的定義以及相關的術語可達性和可穩定性開始。
- 可控性
- 具有內部狀態向量 *x* 的系統被稱為可控的當且僅當系統狀態可以透過改變系統輸入來改變時。
- 可達性
- 一個特定狀態 x1 被稱為可達的,如果存在一個輸入可以在某個有限時間間隔 [t0, t) 內將系統的狀態從初始狀態 x0 傳輸到 x1。
- 可穩定性
- 一個系統是可穩定的,如果所有無法達到的狀態都漸近衰減到零。
我們也可以更精確地寫出可達性的定義
一個狀態 x1 被稱為在時間 t1可達的,如果對於某個有限的初始時間 t0,存在一個輸入 u(t) 將狀態 x(t) 從 t0 時刻的原點轉移到 x1。
一個系統在時間 t1可達的,如果狀態空間中的每個狀態 x1 都可以在時間 t1 達成。
類似地,我們可以更精確地定義可控性的概念
一個狀態 x0 被稱為在時間 t0可控的,如果對於某個有限時間 t1,存在一個輸入 u(t) 將狀態 x(t) 從 x0 轉移到時間 t1 的原點。
如果狀態空間中的每個狀態 x0 都是可控的,則該系統被稱為在時間 t0可控的。
對於 LTI(線性時不變)系統,一個系統是可達的當且僅當它的可控性矩陣 ζ 的滿秩為 *p*,其中 *p* 是矩陣 A 的維度,*p* × *q* 是矩陣 B 的維度。
[可控性矩陣]
當任何狀態 x1 都可以在有限步內驅動到零狀態 *x = 0* 時,該系統是可控的或“可控到原點”。
當系統矩陣 A 的秩為 *p* 且可控性矩陣的秩等於時,該系統是可控的。
如果不滿足第二個方程,則該系統不可控。
MATLAB 允許使用ctrb 命令輕鬆建立可控性矩陣。要建立可控性矩陣 ,只需輸入
其中 A 和 B 如上所述。然後為了確定系統是否可控,可以使用 rank 命令來確定它是否具有滿秩。
如果
那麼可控性並不意味著可達性。
- 可達性總是意味著可控性。
- 只有當狀態轉移矩陣非奇異時,可控性才意味著可達性。
有四種方法可以用來確定一個系統是否可達。
- 如果 的 *p* 行在複數域上線性無關。也就是說,如果這兩個矩陣的乘積的秩對於所有 *t* 和 *τ* 的值都等於 *p*。
- 如果可控性矩陣的秩與系統矩陣 A 的秩相同。
- 如果矩陣 A 的所有特徵值 λ 滿足 。
- 如果可達性格拉姆矩陣(如下所述)的秩等於系統矩陣 A 的秩。
這些條件中的每一個都是充要條件。如果任何一個測試失敗,所有測試都會失敗,系統不可達。如果任何一個測試透過,那麼所有測試都會透過,系統可達。
格拉姆矩陣
[edit | edit source]格拉姆矩陣是複雜的數學函式,可用於確定系統的特定特性。例如,我們可以使用格拉姆矩陣來確定系統是否可控或可達。由於格拉姆矩陣比其他方法更復雜,因此通常僅在其他分析系統的方法失敗(或過於困難)時使用它們。
此頁面上介紹的所有格拉姆矩陣都是維數為p × p 的矩陣(與系統矩陣 A 的大小相同)。
這裡介紹的所有格拉姆矩陣將使用線性時變系統的通用情況進行描述。要將這些轉換為 LTI(時不變方程),可以使用以下替換
其中我們使用符號 X' 表示矩陣 X 的轉置(而不是傳統的符號 XT)。
可達性格拉姆矩陣
[edit | edit source]我們可以將可達性格拉姆矩陣定義為以下積分
[可達性格拉姆矩陣]
如果可達性格拉姆矩陣的秩與系統矩陣的秩相同,則系統可達
<chemistry>/control{range}
可控性格拉姆矩陣
[edit | edit source]我們可以將系統 (A, B) 的可控性格拉姆矩陣定義為
[可控性格拉姆矩陣]
如果可控性格拉姆矩陣的秩與系統矩陣的秩相同,則系統可控
如果系統是時不變的,需要注意兩點。首先,可達性格拉姆矩陣和可控性格拉姆矩陣簡化為同一個方程。因此,對於 LTI 系統,如果我們找到了一個格拉姆矩陣,那麼我們自動知道兩個格拉姆矩陣。其次,可控性格拉姆矩陣也可以作為以下李雅普諾夫方程的解求得
許多軟體包,特別是 MATLAB,都有用於求解李雅普諾夫方程的函式。透過使用最後一個關係,我們也可以使用這些現有函式來求解可控性格拉姆矩陣。
可觀測性
[edit | edit source]由於以下原因,系統的狀態變數可能無法被測量
- 特定狀態變數的位置可能在物理上無法訪問(例如電容器或彈簧)。
- 沒有合適的儀器可以測量狀態變數,或者狀態變數可能是以沒有測量裝置的單位測量的。
- 狀態變數是一個派生的“虛擬”變數,沒有物理意義。
如果由於上述任何原因無法直接觀察事物,則可能需要僅使用系統的輸入/輸出關係以及從起始時間開始的系統輸出歷史來計算或**估計**內部狀態變數的值。換句話說,我們必須問,僅僅透過觀察系統的外部效能(輸入和輸出),是否可以確定系統內部(內部系統狀態)的情況?我們可以對數學可觀測性給出以下正式定義
- 可觀測性
- 具有初始狀態的系統,是**可觀測的**,當且僅當可以透過觀察時間間隔內的系統輸出y(t)來確定初始狀態的值。如果無法確定初始狀態,則系統為**不可觀測的**。
- 完全可觀測性
- 如果可以觀察到系統的所有可能的初始狀態,則稱該系統是**完全可觀測的**。未能滿足此標準的系統被稱為**不可觀測的**。
- 可檢測性
- 如果所有不可觀察的狀態都漸近衰減到零,則稱該系統是**可檢測的**。
- 可構造性
- 如果可以根據系統當前和過去的輸出和輸入來確定系統的當前狀態,則稱該系統是**可構造的**。如果一個系統是可觀測的,那麼它也是可構造的。這種關係不具有反向性。
如果系統的零輸入響應在所有時間t都為零,則系統狀態xi在給定時間ti時是不可觀測的。如果一個系統是可觀測的,那麼唯一產生所有時間都為零輸出的狀態是零狀態。我們可以使用這個概念來定義**狀態可觀測性**這一術語。
- 狀態可觀測性
- 如果唯一在t0時不可觀測的狀態是零狀態x=0,則該系統在時間t0時是完全**狀態可觀測的**,或者說 (A, C) 在t0時是可觀測的。
可構造性
[edit | edit source]如果對於每個有限時間t<t1,系統的零輸入響應在所有時間t都為零,則狀態x在時間t1時是**不可構造的**。
如果唯一在t0時不可構造的狀態是x=0,則該系統在時間t1時是完全**狀態可構造的**。
如果一個系統在初始時間t0時是可觀測的,那麼如果它在t1時是可構造的,那麼它在某個時間t>t0時也是可構造的。
可觀測性矩陣
[edit | edit source]系統的可觀測性僅取決於系統狀態和系統輸出,因此我們可以簡化狀態方程以消除輸入項
矩陣維數
A: p × p
B: p × q
C: r × p
D: r × q
因此,我們可以證明系統的可觀測性僅取決於係數矩陣A和C。我們可以精確地說明如何僅使用這兩個矩陣來確定一個系統是否可觀測。如果我們有**可觀測性矩陣**Q
[可觀測性矩陣]
我們可以證明,當且僅當Q矩陣的秩為p時,系統是可觀測的。請注意,Q矩陣的維數為pr × p。
MATLAB允許使用obsv命令輕鬆建立可觀測性矩陣。要建立可觀測性矩陣,只需鍵入
- Q=obsv(A,C)
其中A和C如上所述。然後,為了確定系統是否可觀測,可以使用rank命令來確定它是否具有滿秩。
可觀測性格拉姆矩陣
[edit | edit source]我們可以將**可觀測性格拉姆矩陣**定義為
[可觀測性格拉姆矩陣]
當且僅當可觀測性格拉姆矩陣的秩等於系統矩陣A的大小p時,系統在時間t0<t<t1時是完全狀態可觀測的。
如果系統 (A, B, C, D) 是時不變的,我們可以將可觀測性格拉姆矩陣構造為Lyapunov方程的解
可構造性格拉姆矩陣
[edit | edit source]我們可以將可控性文法定義為
[可控性文法]
一個系統在初始時間 t0 完全可觀測,當且僅當存在有限的 t1 使得
請注意,可控性和可觀測性文法非常相似,通常它們可以同時計算,只需在狀態轉移矩陣中代入不同的值即可。
對偶原理
[edit | edit source]可控性和可觀測性概念非常相似。事實上,兩者之間存在一個具體的關係。我們可以說一個系統 (A, B) 是可控的,當且僅當系統 (A', C, B', D) 是可觀測的。這個事實可以透過將 A' 代入 A,將 B' 代入 C 到可觀測性文法中來證明。得到的方程將完全映象可控性文法的公式,這意味著這兩個結果相同。