第一章 緒論
1.4 本論文架構
本文共分為五個章節,第一章為緒論,簡介相關文獻及研究動機,改良方法,實驗架構建立。第二章 介紹傳統錯誤鑑別法。並分析其缺點。第三章開始介紹本論文改良的理論推導,介紹即時錯誤鑑別 並搭配狀態回授的方法,我們採用的觀察器為擴增型卡曼濾波器搭配儲存記憶褪去法。並利用狀態 回授(state-feedback)的技術把觀察器估測到的錯誤値做一個補償更正,同時也說明狀態回授法使用於
即時鑑別法後的系統,使系統可以維持穩定性的條件。包含輸出方程式,卡曼濾波器,儲存記憶褪去法, 狀態回授法,滿足觀察性矩陣的觀察性,滿足控制性的穩定性條件,觀察器及狀態回授法可分離設計 的分離原理。在第四章中先假設模擬實際系統架構參數,將本論文演算法寫成 matlab 模擬程式模擬 本論文所提理論。並對模擬結果進行分析。第五章則要將本論文採用的方法利用多餘加速規(感測 器)量測馬達轉動速度的實驗,收集多餘加速規的向心加速度資訊,再代入 matlab 模擬程式模擬是否 可行,並介紹本實驗用的軟硬體。第六章根據模擬與實驗的結果提出結論以及檢討本論文需要改盡 及延伸研究的議題。
第二章 傳統錯誤鑑別法
(Traditional fault identification methods)
本章介紹傳統錯誤鑑別法,以多餘感測器(redundant sensors)形成等值方程式(parity equations)及 voting equations,依據方程式的剩餘值以邏輯判斷,可判斷出那個感測器出錯,錯誤訊號的大小,並介紹 感測器有雜訊時的處理方式,以方程式的剩餘值求出一段時間的平均值與即時的範值(norm),與假設 的臨界值做比較判斷。
2.1 傳統多餘元件容錯系統(Conventional fault-tolerant Systems using Redundant)
傳統容錯系統(fault-tolerant system)會使用多餘感測器來鑑別錯誤元件,這些多餘元件的功能主 要是讓系統中的感測元件形成一組等值方程式(parity equation),等值即所謂的剩餘值,然後藉由這些 剩餘值得大小來鑑別出那個元件出錯。 (measurement matrix), f 為不良訊號向量(error vector),可為雜訊(noise)或錯誤訊號(fault)所組成,
l
Rn
m 是 指 系 統 各 感 測 器 輸 出 值 ( 如 感 測 器 的 量 測 值 ), 為 一 實 數 nl 維 向 量 ,
m m mn mn mn l
Rn lm 1 2 ( 1) 。則存在一矩陣V 使得其與量測矩陣H 滿足
正交情形: 化度定理(rank-nullity theorem)聲稱任何矩陣的秩加上它的零化度等於這個矩陣的縱列數。即
l
此時Vm 就稱為等值方程式(parity equation)。因為可產生l個線性獨立等值向量,所以Vm 可產生l個 等值方程式,經由Vm或Vf 所得的輸出值即剩餘值,即錯誤鑑別法中的”剩餘值產生法”(generation of residuals)[1],經過等值方程式計算過濾”,剩下的即是雜訊或錯誤訊號。再來可利用觀察器(例如:
卡曼濾波器)演算估測出這些剩餘值(residuals)。
由(2.2)可列出 l 條等值方程式
2.1.3 Voting equations 的錯誤鑑別
我們在 2.1.1 節有提到,輸出向量m會比系統狀態向量x還多(Eq.(2.1)),這就是所加入的多餘元件 後使得輸出向量的維度大於系統狀態維度。簡單來說,對於一個系統有n個狀態,我們至少需要n1
個感測器輸出值去形成一條等值方程式,n2個形成兩條等值方程式,以此推算下去,多幾個感測器
",其對應相關的矩陣叫"voting matrix"。
voting 0
C m 。 (2.7)
利用 voting equations 比等值方程式(parity equations)更容易鑑別感測器的錯誤訊號。因為nl個 感測器產生nl條 voting equations,當某個感測器發生錯誤時,在所有的 voting equations 的列向量中會 有一條方程式為 0,代表這條方程式不含有這個出錯的感測器,但由於其他式子都有包括到這個出錯 感測器,所有其他條 voting equations 均不會為 0。舉例來說:假如第 j 條 voting equation 為 0 但其餘的 voting equations 均不為 0,我們可以馬上知道是m 的感測器發生錯誤。然而在感測器輸出均會產生雜j 訊,即使所有的感測器輸出均無錯誤訊號,因各感測器有雜訊的關係並不會有任何一條 voting equation 的輸出為 0。因此,無論是利用等值方程式或 voting equations 作感測器錯誤訊號鑑別均必須處理雜訊 所影響的鑑別失效問題。
2.1.4 感測器雜訊影響時的傳統錯誤鑑別處理方式
Cvoting voting
fault no Threshold
occur fault Threshold
m V
f C
f C
f C
f C
f C
l n l n col
n n col voting n
n col voting col
voting col
voting voting
) (
) (
) (
) (
) (
2 ) _(
2 _ _ 2
_ _ 2
2 2 _ _ 2
1 1 _ _
(2.9)
此法雖能作即時的檢測錯誤,但會造成鑑別錯誤的不準確,原因是以即時運算來看,其將每一時 間之等值方程式的剩餘值與臨界值作比較,所以臨界值勢必要設定“夠大”,意即須以雜訊的標準差 為範圍作設定。如此,有小於雜訊標準差範圍的錯誤訊號產生時,判別式會將此狀況視為無出錯,而造 成了鑑別不準。
第三章 即時錯誤鑑別及更正法 (Real-time Fault Identification and correction)
本章我們提出一種即時的錯誤鑑別法。改良傳統錯誤鑑別法邏輯判段估測不準和非即時估測的 缺點,在本方法中,我們提出輸出方程式(output equations)取代 parity 和 voting equations 邏輯判斷,並藉 由擴增卡曼濾波器(Extended Kalman Filter)及儲存記憶褪去法(Fading memory)的技巧建構適當的狀態 觀察器(state observer),比傳統錯誤鑑別法更能即時的估測出感測器的誤差量。其中擴增卡曼濾波器 (Extended Kalman Filter)只能估測非線性靜態系統,儲存記憶褪去法(Fading memory)加入擴增卡曼濾 波器(Extended Kalman Filter)可估測動態系統,此方法具即時的“偵錯及估測”的能力,將此狀態觀察 器再輔以狀態回授法(stat feedback)可將觀察器估測的錯誤狀態值乘以狀態回授增益回授至系統中, 直到系統中的錯誤狀態值補嘗至理想值。並可容許其它感測器出錯,形成多餘感測容錯系統。
3.1 統禦方程式(governing equation )
我們先定義出系統在測量的輸出訊號的統禦方程式,其中輸出訊號包含估測錯誤訊號狀態值的
3.2 非時變的錯誤偏差訊號(time-constant fault or drift)
測的狀態值d 視為定値量(constant),則對於這些狀態值的狀態方程式(state equations)可以寫成:
3.3 輸出方程式(output equations)
以系統的觀察性(observability)來看,我們需要一個秩為nl的觀察矩陣來觀測出nl 個狀態
l
) 估測出錯誤量(與 parity equations 及 voting equations 的限制條件一致)。由於本系統使用卡曼濾波器當 觀查器估測,Eq.(3.8)的輸出不能零向量表示,須加設一雜訊項,其原因矩陣不能為零矩陣因為要有反 矩陣(inverse matrix)運算,否則會有奇異性的問題產生。
為一虛設的雜訊向量 觀點處理觀察性(observability)問題, 因為 Eq.(3.2)是一個靜態(static)系統 (因系統狀態值為非時變訊 號d,所以d 0,狀態方程式為 0),所以觀察性矩陣僅由輸出方程式組成,非線性系統的觀察性矩陣
)
3.5 時變的錯誤偏差訊號(time-varying fault or drift)
之前我們是利用定值錯誤訊號(dc-offset)來解釋本論文提出的鑑別架構法則,然而對於隨時間變 化的錯誤訊號估測其實也適用於本方法。在 Eq.(3.2)中,是假設dj為常數不變化,但是若這個錯誤訊 號會隨著時間而變化的話,我們以離散時間系統表示,使用 Eq.(3.3) d(k1) A(k)d(k)。此時A(k) 不是單位矩陣,而是隨時間變化,dj也不再是常數,而是隨著每一取樣時間(sampling time)而改變,以兩 段取樣時間來看,在這個微小的取樣間隔裡,其訊號可視為一定值。即零階保持(zero-order hold)所以隨 時間變化的錯誤訊號雖不為常數,但我們可將其看作許多一小段不同的常數線性組合而成的, 數學 上稱之為一階差分方程式(first order difference equation),此時d(k1) A(k)d(k)仍然適用本方法來 作估測。以普通的擴增卡曼濾波器來說只適合用於系統動態性不變時,若系統動態隨時間改變,必須
加入適應性(adaptive)控制的概念,本論文是採用"儲存記憶褪去法”(Fading memory)以達到即時估 測時變訊號。
3.6 儲存記憶褪去式擴增卡曼濾波器(Extened kalman filter with fading memory)
本節使用擴增卡曼濾波器當觀察器估測非線性靜態系統的錯誤訊號狀態值,但當系統為動態時, 擴增卡曼濾波器估測狀態值產生估測不準或發散問題,此時則需以儲存記憶褪去法(fading memory method)加入擴增卡曼濾波器中,才可估測動態系統狀態值準確。
3.6.1 卡曼濾波器(Kalman filter)
卡曼濾波器是一種最佳化的估測器,卡曼濾波器可減小估計誤差的偏差,可以得到最小化的均方 誤差(mean square error)。因此卡曼濾波器在嵌入式控制與導航系統領域中被大量的研究及應用。
卡曼濾波器是一種遞回的估計,即只要獲知上一時刻狀態的估計值以及當前狀態的觀測值就 可以計算出當前狀態的估計值,因此不需要記錄觀測或者估計的歷史信息。卡爾曼濾波器與大多數 濾波器不同之處,在於它是一種純粹的時域濾波器,它不需要像低通濾波器等頻域濾波器那樣,需要 在頻域設計再轉換到時域實現。
3.6.2 擴增卡曼濾波器(Extended Kalman Filter,EKF)
卡曼濾波器是適用於線性系統估測時處理,事實上,在工程中幾乎所有受控場(plant)的進程都是 非線性的。而“擴增型卡曼濾波器(Extended Kalman Filter,EKF)”即為解決非線性系統估測問題。
考慮以下的非線性離散時間系統的動態方程式(dynamical equation):
) 1 ( )) 1 ( , 1 ( ) 1 ( :
) ( )) ( ), ( , ( ) 1 ( :
k w k
x k h k
z equation output
k v k u k x k f k
x equation state
(3.11)
其中, x(k)是時間k系統實際狀態值, u(k)是時間k系統輸入值, f()是x(k)到x(k1)的非線性 變換函數, v(k)是受控場的雜訊(plant noise),其據有符合平均值為 0,協方差矩陣為Q(k)的隨機常態 分佈的雜訊,z(k)是系統對實際狀態x(k)的測量值, h()是測量函數,它把實際狀態值x(k)映射成測 量值z(k),w(k)是測量雜訊(measurement noise),其據有符合平均值為 0,協方差矩陣為R(k)的隨機常 態分佈的雜訊。
Jacobian 矩陣,求法如下:
擴增卡曼濾波器的設計方法分為兩個主要步驟:1.狀態的預測(prediction of states) 2.狀態的修正 (correction of states)。第一個步驟”狀態的預測 ”是指從當前狀態的觀察值及輸入來估測下一刻時 間的狀態值。第二個步驟“狀態的修正”是濾波器利用目前的量測值做最佳化,修正前一個步驟所
2. 狀態的修正(correction of states):
) filter Kalman (
3.6.3 儲存記憶褪去法(fading memory)
當系統動態發生改變時(3.5 節),由於濾波器本身當初設定系統矩陣 A(k)並不會因真實系統改
控制(adaptive control)的方法在控制同時利用可量測的系統訊號進行系統未知狀態值估測,此時採用 的適應性控制(adaptive control)的方法為儲存記憶褪去法來輔助卡曼濾波器的設計。因而稱此為儲存 記憶褪去式卡曼濾波器(kalman filter with fading memory)。
利用褪去狀態累積記憶資訊的作法便是加入一個褪去因子(forgetting factor) (k1),加入褪去 因子後的卡曼濾波器只需改變 prediction equation:
(k) (residual covariance matrix):
將 Eq.(3.21)等式兩邊取跡(trace),則最佳化褪去因子(k1)可被計算為:
1 ( 1) 1( 1)
, 1 max 1)
(k trace N k M k
m (3.22)
當我們在做模擬運算時,Eq.(3.22) 對M(k1)做反矩陣增加運算的複雜度,為加快即時鑑別的 速度,則避免反矩陣M(k1)的運算,直接對 Eq.(3.20)方程式兩邊取跡(trace).,則可得下式:
1, [ ( 1)]/ [ ( 1)])
max 1)
(k trace N k trace M k
(3.23)
由 matlab 電腦模擬印證出 Eq.(3.23)也可滿足褪去因子的選擇性。
加入儲存記憶褪去法後的 EKF 的流程圖:
圖 3.2 儲存記憶褪去式卡曼濾波器流程圖
3.7 使用卡曼濾波器應用於即時錯誤鑑別系統
介紹完卡曼濾波器後,將其當成本系統的觀察器,作法如下:
我們在 Eq.(3.3)裡把系統(受控廠 plant)待估測的狀態值,〝錯誤訊號〞,以d(k1) A(k)d(k)表 示,將觀察器的預測系統狀態值以dˆ(k 1k) A(k)dˆ(kk)當作觀察器系統所估測到的錯誤
值。dˆ(k k)為錯誤訊號的估測值,dˆ(k 1k)為更新前錯誤訊號估測值。
因為系統(受控廠 plant)的狀態值d(k)是不可量測,但觀察器可透過電路實現可測量dˆ(kk),觀
察器設計的目的為想要將估測狀態值dˆ(kk)近似為系統狀態值d(k)。
以多餘感測的配置關係求出如 3.3 節輸出方程式為
( 1)
) 1 ) (
1
( z k
k k z
z
aux
aux