國 立 交 通 大 學
機械工程學系
碩 士 論 文
感測系統之即時錯誤鑑別及更正方法
A real-time fault identification and correction method of
sensor systems
研究生:游仁植
指導教授:陳宗麟 教授
感測系統之即時錯誤鑑別及更正方法
A real-time fault identification and correction method of
sensor systems
研究生:游仁植 Student:
Ren-Zhi You指導教授:陳宗麟 博士
Advisor: Dr. Tsung-Lin Chen國 立 交 通 大 學
機 械 工 程 學 系
碩 士 論 文
A thesis
Submitted to Department of Mechanical Engineering
College of Engineering
National Chiao Tung University
in Partial Fulfillment of the Requirements
for the Degree of
Master of Science
in
Mechanical Engineering
August 2007
Hsinchu, Taiwan, Republic of China
感測系統之即時錯誤鑑別及更正方法
學生: 游仁植 指導教授: 陳宗麟 博士
國立交通大學 機械工程學系
摘要
在一個採用多餘元件構成的感測系統中,錯誤元件的鑑別(faulty device identification) 是透過個別元件輸出所組成的關係式“voting equations"來進行。然而當元件輸出帶有雜 訊(noise)時,此鑑別方式無法達成“即時"的錯誤訊號鑑別,更無法達成“即時"的錯 誤訊號更正。本論文針對此問題,提出一解決方式來達成“即時"的錯誤訊號鑑別,並 可進一步法達成“即時"的錯誤更正。 所提出的解決方法如下:在傳統之“voting equations"外,新增數個個別元件輸出間 之 關 係 式 , 之 後 再 將 錯 誤 元 件 的 鑑 別 問 題 轉 化 成 一 非 線 性 系 統 的 狀 態 估 測 (states estimation)問題。如此一來,便可以“即時"的獲得每一元件的誤差量,並加以補償,達 成“即時"之錯誤更正。所新增之數個個別元件輸出之關係式乃是此“即時"的錯誤鑑 別之所以可行之關鍵,亦是本論文與其它錯誤鑑別方法最大不同之處。我們將狀態估測 的問題用儲存記憶褪去式卡曼濾波器(Kalman filter with fading memory)作為系統的觀察 器,進而估測出狀態值以及配合狀態回授法達成更正某些出錯元件的訊號飄移現象 (time-varying or drift),使更正後的單元可繼續存在於感測系統中運作,以提高系統的輸 出的精度。 藉由三個感測器的模擬結果印證本法可成功估測出錯誤訊號,其估測標準差約 3 10−
,
對於訊號漂移亦可估測至標準差為10−2,此外,可估測到最小的錯誤量約為雜訊 1/2 大小。相關模擬探討於本文中詳見。A real-time fault identification and correction method of
sensor systems
Student: Ren-Zhi You Advisor: Dr. Tsung-Lin Chen
Department of Mechanical Engineering National Chiao-Tung University
Abstract
In a sensing system that was constructed by employing redundant devices (components), the conventional approach for the fault-identification was done through the “voting equations”. However, when the outputs of the devices were contaminated by noise, the conventional fault-finding measure had to set up a threshold values and an observation periods along with voting equations. Due to the setup of an observation period, the conventional approach can not be done in a real-time manner. As a consequence, the real-time fault-correction was not possible.
In this thesis, we proposed a novel real-time fault-identification method to solve the problem above. Furthermore, the proposed method can combine with various feedback techniques to achieve real-time fault-correction. The proposed method uses the novel “output equations” along with “voting equations” to describe the relationship between each device output. After that, the real-time fault-identification problem was formulated into a nonlinear state estimation problem. The method of the newly added “output equations” was the key to the success of the proposed real-time fault-identification method. Furthermore, in order to handle the sensor drift (or time-varying fault) problem, we use the “Kalman filter with fading memory” techniques for the state observer. Moreover, we use state feedback techniques for
the purpose of the correction of fault, and the corrected device can be kept in the “fault-tolerant of sensor system” to increase the accuracy of system output.
We can estimate fault signals successfully by simulation of 3 sensors of the system, and its error standard deviation is about 10−3
.
For drift, its standard deviation of estimation is about2
10− .The minimum fault value that estimated is equals to 1/2 times of standard deviation of noise approximately. Besides, the state feedback technique give a fault correction to sensor output which has fault and, thus, a corrected signal is approximate to ideal signal. More facts shows in the thesis.
致
謝
本論文得以順利完成,首先要先感謝我的指導教授給予我學習及研究上的許多知 識。老師於此領域有著廣泛的研究基礎,所以在指導我的論文上常解答我的困惑並且適 時地提供研究方向讓我更有發展自己想法的空間。除了指導論文外,老師也以他的就學 和研究的經驗累積給予我莫大的收穫,學習到研究應有的態度以及解決問題導向的方 法,在此獻上誠摯的謝意與敬意。 此外,實驗室的學長、同學和學弟常一起討論學業和生活上的問題,也讓我在研究 的路上並不孤單,大家一起相扶持相砥礪,感謝他們於這兩年間的給予我有著很好的回 憶。 最後要感謝父親、母親及弟弟給予的支持使我能專心於課業及研究。目錄
摘要 ... ii
Abstract ... iii
致謝 ... v
目錄 ... vi
圖目錄 ... ix
表目錄 ... xi
第一章 緒論 ... 1
1.1
研究動機與文獻回顧...
1
1.1.1
相關文獻回顧... 1
1.1.2
研究動機及改良... 4
1.2
元件發生錯誤情形...
4
1.3
本論文架構...
5
第二章 即時錯誤鑑別法 ... 6
2.1
傳統多餘元件式容錯系統... 6
2.1.1
等值方程式... 6
2.1.2
等值方程式錯誤鑑別法...7
2.1.3
Voting equations...7
2.1.4
Voting equations 錯誤鑑別法...8
2.1.5
錯誤鑑別於雜訊影響時的傳統處理方式... 9
2.2
即時錯誤鑑別法... 10
2.2.1.
統御方程式... 10
2.2.2.
輸出方程式... 11
2.2.3.
系統的觀察性... 13
2.2.4
隨時間變化的錯誤訊號... 14
2.2.5
本作法的特色... 15
2.3
儲存記憶褪去式卡曼濾波器... 15
2.3.1
卡曼濾波器... 15
2.3.2
擴增型卡曼濾波器... 15
2.3.3
儲存記憶褪去法... 18
2.4
使用卡曼濾波器於本系統上... 21
2.5
估測收斂性... 21
第三章 錯誤更正 ... 23
3.1
目的... 23
3.2
狀態回授法... 23
3.2.1
介紹... 23
3.2.2
狀態回授與估測器之合成... 23
3.3
系統穩定性... 25
3.4
鑑別系統的狀態回授法設計... 25
3.5
使用狀態回授法更正錯誤所存在更正不足現象... 27
第四章 模擬結果與討論 ... 29
4.1
即時錯誤鑑別系統架構... 29
4.2
即時錯誤更正模擬... 30
4.2.1
由奇異値判定系統觀察性... 30
4.2.2
錯誤訊號為定値(dc-offset)時鑑別情形... 31
4.2.3
錯誤訊號為隨時間變化(time-varying)時鑑別情形... 34
4.2.4
使用儲存記憶褪去法的差別... 37
4.2.5
本即時錯誤鑑別法所能估測到最小錯誤量... 39
4.3
即時錯誤更正模擬... 39
4.3.1
單一感測器錯誤補償更正... 39
4.3.2
感測器依序出錯補償更正... 47
4.4
討論... 52
第五章 結論與未來計畫 ... 54
5.1
結論... 54
5.2
未來計畫... 54
參考文獻 ... 55
圖目錄
圖 2.1 擴增型卡曼濾波器流程圖---17
圖 2.2 系統與擴增型卡曼濾波器方塊圖---17
圖 2.3 儲存記憶褪去式卡曼濾波器流程圖---20
圖 2.4 即時錯誤鑑別系統架構---22
圖 3.1 卡曼濾波器加上狀態回授方塊圖---26
圖 3.2 感測器容錯系統的架構流程圖 ---27
圖 4.1 3 個感測元件奇異値---30
圖 4.2 各感測器輸出訊號圖(錯誤訊號:dc-offset)---31
圖 4.3 voting equation 輸出圖(錯誤訊號:dc-offset)---32
圖 4.4 各感測器錯誤訊號估測圖(錯誤訊號:dc-offset)---32
圖 4.5 各感測器估測誤差圖(錯誤訊號:dc-offset)---33
圖 4.6 各感測器估測誤差標準差圖(錯誤訊號:dc-offset)---33
圖 4.7 各感測器輸出訊號圖(錯誤訊號:time-varying fault) ---35
圖 4.8 voting equation 輸出圖(錯誤:time-varying fault) ---35
圖 4.9 各感測器錯誤估測圖(錯誤訊號:time-varying fault) ---36
圖 4.10 各感測器估測誤差圖(錯誤訊號:time-varying fault) ---36
圖 4.11 各感測器估測誤差標準差圖(錯誤訊號:time-varying fault)---37
圖 4.13 感測器
M1於各種不同錯誤值時估測情形---39
圖 4.14 各感測器輸出訊號更正補償圖(錯誤訊號:dc-offset)---40
圖 4.15 各感測器錯誤訊號更正(錯誤訊號:dc-offset)---41
圖 4.16 錯誤更正誤差圖(錯誤訊號:dc-offset)---41
圖 4.17 連續時間時解出錯誤値及估測錯誤値---42
圖 4.18 各感測器輸出訊號更正補償圖(錯誤訊號:time-varying)---43
圖 4.19 各感測器錯誤估測圖(錯誤訊號:time-varying)---44
圖 4.20 錯誤更正誤差圖(錯誤訊號:time-varying)---44
圖 4.21 感測器
M2不同增益值下輸出訊號更正情形---46
圖 4.22 突發性錯誤更正情形---47
圖 4.23 緩慢發生錯誤訊號---47
圖 4.24 各感測器輸出訊號依序更正補償圖(錯誤訊號:dc-offset)---48
圖 4.25 各感測器依序錯誤訊號更正(錯誤訊號:dc-offset)---48
圖 4.26 錯誤更正誤差圖(錯誤訊號:dc-offset)---49
圖 4.27 各感測器輸出訊號依序更正補償圖(錯誤訊號:time-varying)50
圖 4.28 各感測器依序錯誤訊號更正(錯誤訊號:time-varying)---51
圖 4.29 錯誤更正誤差圖(錯誤訊號:time-varying)---51
圖 4.30 各感測器輸出訊號依序更正補償圖(錯誤訊號:time-varying)52
表目錄
表 4.1 各感測器經過 10 秒後估測錯誤値誤差標準差---34
表 4.2 各感測器計算 8~10 秒後估測錯誤値誤差標準差---34
表 4.3 各感測器經過 10 秒後估測錯誤値誤差標準差---37
表 4.4 各感測器計算 8~10 秒後估測錯誤値誤差標準差---37
表 4.5 各感測器經錯誤更正後計算 3~5 秒誤差標準差---42
表 4.6 錯誤訊號更正後誤差平均值(3~5 秒)---42
表 4.7 各感測器經錯誤更正後計算 5~10 秒誤差標準差---45
表 4.8 錯誤訊號更正後誤差平均值(13~15 秒)---49
第一章
緒論(Introduction) 1.1 文獻回顧與研究動機 感測元件應用範疇非常廣泛,凡舉機器人,汽車產業,航太,探測裝置以及虛擬實 境(Virtual reality)等等,均需要許多不同的感測元件獲得系統資訊。例如利用加速規及陀 螺儀作為運動追蹤的技術,而在要求高效率和精確度時,則使用如磁場感測器,光學感 測器,超音波感測器等構成更精密的追蹤技術。也有感測器是用於檢測安全性的情況, 例如化學工廠或是核能電廠必須裝置許多感測元件偵測各種不同的化學反應情形便於 控制反應。可想而知,感測元件所輸出訊號的正確性及精確度是會影響系統裝置運作, 所以增加感測元件的可靠度(reliability)來幫助系統能正常運作是必須的。對於元件錯誤鑑 別法在 1971 年就有學者提出利用多餘(redundant)感測元件來使得系統能夠鑑別出錯誤 [1]。這方法用於許多工業及科學上的場合檢測系統元件錯誤,例如[4]核子反應爐所需要 的中子流檢測裝置(neutron flux detector)用來偵測是否核分裂的流率過量。感測元件出錯的情形有很多種,最常見到的是因溫度變化而使得感測元件內部的機 械性質受到影響,而出現量測輸出訊號開始不穩定的飄移現像(drift),換句話說,就是量 測到的訊號與理想的輸出訊號有一偏差,可能與常溫時,也就是正常情況下所發生應有 的機制有所差錯,這是會讓倚賴感測元件當作資訊來源的系統出現運作或控制錯誤的情 況。有些元件回復到沒有此影響因素時的情形依舊可以有理想輸出情形,但有些卻可能 已經長期使用而使得輸出就是存在著一定偏差錯誤。而除了溫度影響之外,機械震動的 影響,元件疲勞效應,電能轉換功用退化等等因素均會造成感測元件的出錯。 1.1.1 相關文獻回顧
為下列兩點[8][17]: 1. fault detection:利用比較不同元件的方式來指出整個系統可能存在著某些出錯元件。 2. fault isolation:明確地指出哪些是發生錯誤的元件以及在什麼時間開始出錯。 慢慢後來有了許多相關的研究後,就再提出必須去找出這錯誤訊號的一些特性以有利於 了 解 元 件 是 由 於 哪 些 因 素 而 發 生 錯 誤 , 於 是 就 有 學 者 在 發 表 IA(identification and accommodation)方法,如此使得 FDI 法多了另外兩個部分做加強[8]: 3. fault identification:定義出錯誤訊號的大小、位置、錯誤變化情形。 4. fault accommodation:使用多餘元件中未出錯的元件取而代之。
FDI 可分為兩個主要步驟來鑑別錯誤:(1)“剩餘値產生法"(generation of residuals),(2) “鑑別法則"(decision making)
圖示 FDI 兩個主要步驟流程
“剩餘値產生法"(generation of residuals)是 FDI 的一個重要環節也是最初步所必須進行 的步驟,它分為三個主要的方法[12][16][17]:
1. 參數估測法(parameter estimation):其“剩餘値"是藉由定義的(nominal)系統參數與估 測出的系統參數兩者的差値所得出,適用於完整系統的錯誤鑑別。
量即為所得的“剩餘値"。
3. 等值關係(parity relations):由各元件輸出所形成的配置關係(可說成輸出彼此之間構 成拘束條件)其所得出的値為“剩餘値"。
本論文僅探討感測元件的錯誤鑑別,故採用了“等值關係"的方法達成“剩餘値產 生"的步驟。而採用了此法就必須導入多餘元件(redundancy)的概念。首先是要找出系統 元件之間的等值關係式(parity space)(亦可稱作 parity equations),簡單講就是找出各元件輸 出關係式。然而,系統裡並不是所有的感測元件均會有其一定的關係,有些可能是獨立 的。為了讓系統上所有的感測元件皆有一致的等值關係就必須加入“多餘"的元件 (redundancy),靠這些多餘元件與系統靜態或動態的關係使獨立感測元件能夠形成一致的 等值方程式。一般來說,多餘元件配置可分為兩類: 直 接 式 多 餘 配 置 : 其 系 統 運 作 時 系 統 元 件 輸 出 與 多 餘 元 件 間 的 即 時 (instantaneous)關係式,可以說是靜態型的關係。 間接式多餘配置:將多餘元件與系統的動態構成關係式,會使得原系統的狀態 空間有所改變。
FDI 第二步驟是所謂“鑑別法則"(Decision making),也是最重要的步驟,因為錯 誤訊號的檢測和鑑別都必須需要這個過程方能完成錯誤鑑別的目的。對於鑑別法則有很 多的方法被提出,而大致上區分為兩種類型:(1)model-based,(2)model-free。第一種 model-based 的方法由 Bread(1971)和 Jonse(1973)提出的“錯誤檢測器"(fault detection filter)[1],利用實際系統與估測系統間的誤差方程式檢測是否存在錯誤量,但其缺點是無 法應用於系統有外在干擾時的情況(disturbance、noise、parameter change…)。爾後,由 Isermann(1984)所提出“參數鑑別法"(parameter identification)[1],它是與“參數估測法" 一起搭配,建立出預設實際系統參數與理想系統參數間的關係式,再由真正實際系統參 數去反推求得理想參數,將原本預設與估算出的理想參數作一差量比較可決定出錯誤 量。而加入強健性的概念可有效運用於未知參數的系統估測,文獻可參考[1][2]中有大致
介紹相關方法。値得一提的是,這些錯誤鑑別也是有即時運算的特性,但由於其用法觀 點與本論文不一樣,係因本論文由“等值關係"的觀點出發且是僅討論感測器輸出的 model-free 情況,故僅介紹但不作比較。
以等值關係的方式探討“鑑別法則",由 Potter 和 suman(1977)及 Desai 和 Ray(1981) 所提出的“等值空間鑑別法"(parity space approach)[1][2],利用輸出“剩餘値"作一錯誤 鑑別。由於系統輸出時常帶有雜訊(noise),所得出剩餘值會是非零情況(此時存在錯誤訊 號會鑑別不出),這種現象就要以非即時的方法作一鑑別,因其需要一觀察期(observation) 使雜訊項和錯誤訊號區隔出方才鑑別出出錯元件。其後,此鑑別法由 A.Ray 和 R.Luck(1991) 在文獻[4]所提出運用在 model-free 的系統中,即是僅由感測器的輸出作錯誤鑑別的工 作。他們提出由經等值關係輸出後的剩餘值的範値(norm)與事先的設定臨界值作判別, 雖然這方法可以即時方式做運算,但缺點在於將錯誤訊號及誤差一起加入運算後臨界值 的 設 定 不 好 拿 捏 , 設 過 大 過 小 均 會 使 得 判 別 失 準 。 其 他 的 相 關 研 究 方 法 尚 有 GLT(generalized likelihood test)法[3][5],SVD[6],Accommodation rule[7]…等
1.1.2 研究動機及改良 然而,傳統的等值關係鑑別法是無法達到即時(real-time)的功能,我們所提出的新方 法不但取代了先前研究所用需事先設定臨界值[3][5][6][7]來判斷的法則,且可以即時鑑 別出錯誤訊號即使有雜訊的情況存在,也改善了[4]所使用即時鑑別錯誤法的準確性。當 我們確實鑑別出錯誤訊號及其形式變化時,便可以給予即時的更正(correction),把這些 偏差量補償更正到原本的理想輸出訊號,讓出錯的元件可以繼續的在系統中運作。而運 用本論文的作法在一般系統中,就形成了所謂感測元件容錯系統(fault-tolerant of sensor system),亦即在這個系統裡是允許出錯的感測元件在系統中運作而不影響整個系統運作 目的以及控制性。 1.2 元件發生錯誤情形
在本論文研究中所指的“錯誤"(fault)並不是整個感測元件壞掉無法量測,而是說 這個感測元件原本既定可以量測多少大小的訊號但因環境或元件本身因為所致,發生了 與既定量測訊號多了些許的偏移量,更正確地說法是錯誤訊號影響了元件的輸出訊號。 而另一個元件出錯的字眼為“損壞"(failure),它有別於“fault",因這個字眼是代表著 整個元件已經無法正常運作,代表其輸出的訊號已無原本正常訊號的存在或是完全量測 不到訊號。而在研究錯誤診斷系統領域裡,一般來說可把錯誤訊號發生情況分為兩大類 [12]:
1. 突發性錯誤訊號 (Abrupt or sudden faults):顧名思義即是在元件的輸出訊號突然產生 一個脈衝性或位階差的錯誤性訊號,這種情況的發生往往代表著之後元件的損壞情 況即將發生,當鑑別出這種錯誤情形時,必須盡快地將出錯元件給予修正或更換。
2. 緩慢發生錯誤訊號 (incipient or slowly developing faults):並不像是突發性的一樣,是 元件使用一段時間後其訊號會慢慢地產生一偏差量,其形式依時間變化與否可分為 定值偏差錯誤訊號 (dc-offset or bias),若隨時間變化則稱為漂移偏差錯誤訊號 (time-varying or drift)。 1.3 本論文架構 本文共分為四個章節,第一章為續論,介紹研究動機以及先前研究和文獻的回顧。 第二章開始即是本論文的主要內容,介紹即時錯誤鑑別的方法,包括 voting equation 的 提出,使用新增數個個別元件的關係式來構成本方法之所以可以即時鑑別出錯誤的概 念,將這些關係式形成輸出式再利用狀態估測原理來估測出錯誤訊號。我們採用的估測 器(觀察器)為擴增型卡曼濾波器搭配儲存記憶褪去法。在第三章裡,介紹了利用狀態回 授(state-feedback)的技術把估測到的錯誤値做一個補償更正,同時也說明了加入這個方法 於即時鑑別法後的系統可以維持系統穩定性。在第四章中,利用電腦軟體印證本法的模 擬結果。第五章即提出了結論以及本論文的所使用的方法給予總整理,還有未來要繼續 改進或是必須進行分析的一些問題。
第二章
即時錯誤鑑別法(Real-time fault identification)
2.1 傳統多餘元件式容錯系統(Conventional fault-tolerant Systems using Redundant Devices)
一般來說,一個容錯系統(fault-tolerance system)會使用多餘元件(redundant devices)來 達到有效偵測出錯誤元件的功能,這些多餘元件是能讓系統中的測量元件形成一個等值 方程式(parity equation),然後藉由這些方程式來鑑別出哪個元件發生錯誤。 2.1.1 等值方程式(parity equation) 我們考慮一個加入多餘元件後的量測方程式 m=Hx+ f
(2.1) n x∈R 為系統狀態值向量, H 是元件配置的量測矩陣(measurement matrix), f 是影響輸 出的不良訊號,可為雜訊(noise)和錯誤訊號(fault)的組成, n m∈R 指的是元件輸出的向量 表示(像是感測器的量測值)
[
1 2]
n n m= m m "m ∈R 。此時,存在一個矩陣V 使得其與量 測矩陣滿足了下式的正交情形: 0 VH = (2.2)這時V 稱為 H 的零空間(null space)。假設 H 是具有秩為 c 個維度的矩陣(rank H( )= ),c
所以最多可產生n−c個線性獨立等值向量。而產生出多的向量就是加入多餘元件所形成
的等值向量。由(2.2)的結果知:
Vm=VHx+Vf ⇒Vm=Vf (2.3)
用Vm=0 表 示 。 上 述 的 這 種 作 法 在 錯 誤 鑑 別 的 的 方 法 中 叫 做 “ 剩 餘 值 產 生 法"(generation of residuals)[1],這是在錯誤鑑別中最初步的作法,以感測元件的錯誤鑑 別來說,輸出訊號裡可能包含理想訊號、雜訊、錯誤訊號等等。透過“剩餘値產生法" 可把理想輸出訊號部分“過濾",剩下的即是雜訊或錯誤訊號。再來可利用觀察器或是 卡曼濾波器估測出這些剩餘的値。 2.1.2 等值方程式錯誤鑑別法 首先,這個錯誤鑑別的方法有個限制條件,即感測元件的輸出無雜訊的情況下以及 只允許一個感測器出錯(也就是向量 f 中只能存在一個值,其餘皆為 0)。利用等值方程式 作錯誤鑑別至少需兩條以上的等值方程式,因為只有一條等值方程式無法由其剩餘值來 判斷向量 f 中為何者所產生。使用兩條或以上的等值方程式鑑別錯誤有兩個準則: 1. 由缺少某個f 的等值方程式其剩餘值是否為 0 鑑別出所對應的感測器為第 j 個出錯。 j 2. 若是某f 同時存在於全部的等值方程式中,則可藉由其剩餘值的比値與j f 於於值方程j 式裡的所對應之係數的比值比較,若等式成立則是第 j 個感測器出錯,若不是則必須找 下一個同時存在於等值方程式裡的f ,重複以上方法。 j 2.1.3 Voting equations 我們在 2.1.1 節有提到,輸出向量m會比系統狀態向量x還多,這就是所加入的多 餘元件後使得輸出向量的維度大於系統狀態維度。簡單來說,對於一個系統有n個狀 態,我們至少需要n+1個元件輸出值去形成一條等值方程式,n+2個形成兩條等值方 程式,以此推算下去,多幾個元件便多幾條等值方程式。以n+2條等值方程式的系統 來看,假設只有一個發生錯誤的元件存在於這系統中,我們可以藉由把兩個等值方程式 的輸出值來判斷在這n+2個元件中哪一個出錯。由這兩條等值方程式再將其轉換成 2 + n 條方程式,其中每一條方程式都包含有n+1個輸出,也就是說在這n+2條方程式 裡,每一條均會少某一個元件的組成,而缺少的某個元件並不重複於其餘的n+1條方程
式中。將其轉換後的可得到一個維度(n+2)×(n+2)的方陣並且其對角線元素均為 0,但 其 餘 元 素 不 為 0 。 為 了 有 別 於 “ 等 值 方 程 式 " , 我 們 把 這 些 方 程 式 叫 做 "voting equations",其對應相關的矩陣叫"voting matrix"。 1 12 13 1, 2 2 21 23 2, 2 2 2,1 2,2 2, 1 1 1 2 2 2 2 0 0 0 , vot n vot n voting vot n n n n n voting n n C c c c C c c c C C c c c m m m m Voting Equations C m m m + + + + + + + + + ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = = ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ≡ = ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ " " # # # " # # (2.4) 2 1 votn+ vot C
C " 為Cvoting的列向量。由於 voting vectors 是由等值方程式中的各向量線性組
合而成,所以 voting matrix Cvoting與系統量測方程式也有CvotingH = 的關係,同樣地,0
voting voting
C m=C f。若理想狀態時,則Cvotingm= (2.5) 0
2.1.4
voting equations 錯誤鑑別法
利用 voting equations,錯誤的元件可以相當容易的被鑑別出。以前一節所提及的 voting equations 來看,當某個元件發生錯誤時,在所有的 voting 列向量中會有一條方程 式為 0,就是代表這條方程式不含有這個出錯的元件,但由於其他式子都有包括到這個 出錯元件,所有其他條 voting equation 均不會為 0。舉例來說:假如第一條 voting equation
為 0 但其餘的 voting equations 均不為 0,我們可以馬上知道是m1的元件發生錯誤。然而
在元件輸出有雜訊的情況下,縱使所有的元件輸出皆正確,並不會有任何一條 voting equation 的輸出為 0。因此,無論是利用等值方程式或 voting equations 作錯誤鑑別均必須 處理雜訊所造成的鑑別失效問題。
2.1.5 錯誤鑑別於雜訊影響時的傳統處理方式
傳統的錯誤鑑別法有分為非即時與即時兩種方式。因為實際量測系統透過等值方程 式後的剩餘值不會為 0,將會是一堆雜訊干擾,而要去區隔出雜訊和錯誤訊號就要先把 雜訊處理完。最簡單的作法就是將等值方程式的輸出值作一平均值計算,當雜訊為高斯 雜訊(Gaussian noise)或是白雜訊(White noise)具有平均值為 0 的特性時,可找出是否有錯 誤訊號的存在。然而,若雜訊不具有計算平均為 0 的性質,則我們必須設定所謂觀察期 及臨界值。在一段觀察期內還是一樣做平均值計算,因為雜訊此時平均值不為 0,所以 它的平均值會產生一個值存在,可以假定一個比這雜訊平均值還大的臨界值,若有一個 值超過臨界值則可判定有錯誤訊號的存在。
{ }
{ }
{ }
{ }
: Average value fault occur no fault E Threshold E Vm E Vf E Vf Threshold ≥ ⇒ ⎧ = ⇒ ⎨ < ⇒ ⎩(2.6) 由於 Eq.(2.6)方法是對等值方程式取平均值再作判斷,要先設定一段時間,故無法達成 即時運算的功能。 以即時方法作錯誤鑑別,在文獻[4]提出將剩餘值取範値(norm),在藉由是否超過臨 界值的判定作一錯誤的檢測: _1 1 _ l_n 2 2 col col j j co n Vm Vf V f V f V f
Threshold fault occur
+ + ℘ = = = + + ℘ > ⇒ " "
(2.7) 此法雖能作即時的檢測錯誤,但會造成鑑別錯誤的不準確,原因是以即時運算來看,其 將每一時間之等值方程式的剩餘值與臨界值作比較,所以臨界值勢必要設定“夠大", 意即須以雜訊的標準差為範圍作設定。如此,有小於雜訊標準差範圍的錯誤訊號產生 時,判別式會將此狀況視為無出錯,而造成了鑑別不準。
2.2 即時錯誤鑑別法(Real-time Fault Identification) 2.2.1 統御方程式(governing equations)
在此,我們提出一種即時的錯誤鑑別法。在本方法中,“錯誤鑑別"被視為一個狀 態估測的問題(states estimation problem),並藉由“擴增卡曼濾波器"(Extended Kalman Filter)及“儲存記憶褪去法"(Fading memory)的技巧建構適當的狀態觀察器(state observer) 或叫狀態估測器(state estimator),將每一元件的誤差量即時的估測出。因此,此方法具即 時的“偵錯"能力。我們先定義出在量測的輸出訊號中所視為系統估測狀態值的部份。 _1 1 1 1 _ _ 2 2 2 2 real real j j j j real real n n n n m m d e m m d e m m d e m m + + d + e+ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = + + ⇒ = + + ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ # # # # # # # #
(2.8) 在 Eq.(2.8)中,m 代表具錯誤(即具有錯誤訊號)的元件真實輸出值而j mreal_j代表元件理想 的輸出值,d 則是我們所要去鑑別出的錯誤訊號( d 為實際上的錯誤訊號,e 為輸出雜j 訊,因其均是“汙染"了理想輸出的訊號,故將兩者視同為錯誤訊號。而本法使用擴增 型卡曼濾波器,可將雜訊項 e 濾除,所估測出為 d)。假如我們把錯誤訊號的行向量視為 系統狀態值,將估測的狀態視為定値量(constant),則對於這些狀態值的統御方程式 (governing equations)可以寫成: 1 2 : j 0 n d continuous time d d d + ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ − = = ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ # #
(2.9)
: discrete time−
1 1 2 2 ( 1) 1 0 0 0 ( ) 0 1 0 ( 1) 1 ( ) ( 1) 0 0 0 1 ( ) j j n n d k d k d k d k d + k d + k + ⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ + = ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ + ⎥ ⎢⎣ ⎥⎦⎢ ⎥ ⎣ ⎦ ⎣ ⎦ " # # # # % # # " ( 2) ( 2) 1 0 0 0 0 1 0 1 0 0 0 1 n n A + × + ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ " # % # " 1 k k d + Ad ⇒ =
k: sample 2.2.2 輸出方程式 以系統的觀察性(observability)來看,我們需要一個秩為n+2的觀察矩陣來觀測出 2 + n 個狀態值。因為 Eq.(2.9)是一個靜態(static)系統 (因d=0),所以觀察性矩陣僅由輸 出方程式組成,在此情況下,我們提倡的輸出方程式可以寫為: 1 _1 1 1 1 2 1 2 _ 2 1 2 2 2 2 2 _ 2 2 2 1 2 2 : 0 0 : 0 real
vot vot real vot
p
vot vot vot
n real n n n aux voting i i n m m d m C d C m m C m z C C C m m d m d d z C u d d + + + + + − ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ − ⎢ ⎥ ⎡ ⎤⎢ ⎥ ⎡ ⎤⎢ ⎥ ⎡ ⎤⎢ ⎥ = = ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎣ ⎦⎢ ⎥ ⎣ ⎦⎢ ⎥ ⎣ ⎦⎢ ⎥ − ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⋅ ⋅ =⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ # # # # # 1,2,i= "n+2 (2.10) Output equation p aux z z z ⎡ ⎤ = ⎢ ⎥ ⎣ ⎦ (2.11) 其中,u 為一單位矩陣。而在i z 中取的p 1 2 vot vot C C ⎡ ⎤ ⎢ ⎥ ⎣ ⎦矩陣,但不一定是要在 voting equations 中的第一及第二條列向量(Cvot1
、
Cvot 2),可以任意選取不同的兩條列向量來構成z 的p 係 數 矩 陣 。 而 在 Eq.(2.10) 中 , 由 於mreal 是 未 受 錯 誤 影 響 的 正 確 量 測 值 , 故 會 有0 voting real C m = 的關係,所以式 1 1 2 2 vot vot vot vot C C m d C C ⎡ ⎤ ⎡ ⎤ = ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ 。 在這個輸出方程式中,我們可由z 得知系統是否有出錯,也由此得錯誤量値。不過p 僅由z 無法解出唯一解,會有無限多組解的產生,造成無法界定錯誤量值是由哪一元件p 出錯以及其量值大小。所以我們必須新增數條輸出方程式以達成系統有唯一解的可能, 而這些新增的輸出方程式即為zaux。我們將zaux設計想法作一說明:
由 Eq.(2.10)來看,zaux的組合方式是將 voting matrix 中的每一列向量乘上其所對應的向量
係數為 0 的元件。而我們由 voting equations 錯誤鑑別法(2.1.4)知當錯誤訊號開始發生時,
有任意n+1條 voting equations 輸出會不為 0,但不包含某個出錯元件所對應的 voting
matrix 係 數 的 voting equations 輸 出 結 果 則 會 是 0 。 我 們 可 以 下 式 的 概 念 說 明 :
1 1 2 3 2 2 2 1 3 2 1 1 1 2 2 2 1 1 ( , ,.... ) ( , ,.... ) ( ,...., , ,.... ) ( ,.... ) vot n vot n j vot j j j n n vot n n q C d C d d d q C d C d d d q C d C d d d d q C d C d d + + − + + + + + = = = = = = = = # #
(2.12) 假如q q q2, 3, 4....qn+2這些式子計算結果不為 0,而q 為 0,則1 d 存在一定值,我們可說1 m1 這個元件發生錯誤。假如q q q1, 3, 4....qn+2這些式子計算結果不為 0,而q 為 0,則2 d 存在2 一定值,我們可說m 這個元件發生錯誤,依此類推,可檢測出某個元件出錯。所以2 zaux 設計想法是將q q q1, 3, 4....qn+2乘上每一條輸出所缺少的d ,其輸出均會是 0 當成已知這些j 新增輸出方程式的輸出結果。如此則完成此一設計步驟:
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 vot vot vot vot j j vot j j vot j j n n vot n n vot n n q d C f d C d d q d C f d C d d q d C f d C d d q+ d + C + f d + C + d d + = = = = = = = = = = = = # #(2.13)
上述的設計步驟的限制條件就是只允許在同一時間時只能有一個元件發生錯誤的情況
下才能正確估測出錯誤量(即只能有一個d 存在,其與 parity equations 及 voting equationsj
的限制條件一致)。由於本系統使用卡曼濾波器作估測,Eq.(2.13)的輸出不能零向量表 示,須設一雜訊項,因為卡曼濾波器的量測雜訊協方差矩陣(Measurement noise covariance matrix)會有奇異性的問題產生。
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 vot vot vot vot j j vot j j vot j j j n n vot n n vot n n n q d C f d C d d v q d C f d C d d v q d C f d C d d v q+ d + C + f d + C + d d + v + = = = = = = = = = = = = # # j v 為一虛設的雜訊向量 (2.14) 由z 和p zaux的搭配能夠解出正確的錯誤量値以及出錯的元件。不過,是允許當同 一時間時只能有一個元件發生錯誤的情況下才能正確估測出錯誤量。然而,若要形成一 個多個元件在不同時間均出錯且能完成鑑別的系統,就必須給予這錯誤訊號適當更正, 使得估測到有出錯的元件把它修正到正確的輸出訊號,如此,此一錯誤元件被更正後就 可以再允許其他元件繼續出錯。而有關錯誤更正的部份在第三章會提出相關設計方法。 2.2.3 系統的觀察性 由於本系統是屬於一個非線性的估測問題(輸出方程式為一非線性方程式),故以非 線性系統的觀點處理觀察性(observability)問題,非線性系統的觀察性矩陣(observability matrix)定義為W
O= ∇
[
z z z
"
]
T,因為本系統為靜態(d=0),則∇[
z z "]
T =0,所以 只須找出輸出方程式的一階偏微分矩陣即可。1 2 1 2 1 2 1 12 1 1, 2 1 21 2 2 2, 2 2 2,1 2 2 2 j n p p p p j n
aux aux aux aux
vot vot vot n vot n n n vot n n d d d z z z z Z d d d z z z z C C C d c d c d c d C d c d c d C d + + + + + + + + ⎡ ∂ ∂ ∂ ⎤ ∇ = ⎢∂ ∂ ∂ ⎥ ⎢ ⎥ ⎣ ⎦ ⎡ ⎤ ⎡ ⎤ ∂ ⎡ ⎤ ∂ ⎡ ⎤ ∂ ⎡ ⎤ ∇ = ∇⎢ ⎥= ⎢ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎥ ∂ ∂ ∂ ⎢ ⎥ ⎣ ⎦ ⎣ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎦ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢⎣ ⎦ " " " " " " # % # " " 令 (n+ × +4) (n 2) ⎥ (2.15) 若是
(
d1 " dj "dn+2)
中任一有值,則 j p aux d d z z = ⎡ ⎤ ∇ ⎢ ⎥ ⎣ ⎦ 裡,∇zp可以提供兩個獨立的列向 量作為組成觀察矩陣的一部份,具有n+2個列向量的 j aux d d z = ∇ 最多可以提供n個獨立的 列向量作為組成觀察矩陣的另一部份。所以整個觀察矩陣具有秩n+2 (rank=n+2),故 經由觀察器設置我們可以觀察出n+2個狀態值,即是成功地估測出錯誤值。2.2.4 隨時間變化的錯誤訊號(time-varying fault or drift)
之前我們是利用定值錯誤訊號(dc-offset)來解釋本論文提出的鑑別架構法則,然而對 於隨時間變化的錯誤訊號估測其實也適用於本方法。在 Eq.(2.9)中,是假設d 為常數不j 變化,但是若這個錯誤訊號會隨著時間而變化的話,我們依然使用 Eq.(2.9)。只是此時d 不再是常數,而是隨著每一取樣時間(sampling time)而改變,以兩段取樣時間來看,在這 個微小的取樣間隔裡,其訊號可視為一定值。所以隨時間變化的錯誤訊號雖不為常數, 但我們可將其看作許多一小段不同的常數組合而成的,dk+1 = Adk仍然適用本方法來作 估測。只是一般的非線性估測器都是針對系統動態不變的情況下來作估測,雖然我們繼 續沿用dk+1 = Adk作為統御方程式, A 不變意味著系統動態沒有改變,但是狀態值已經 都隨時間慢慢再變,以整體變動性來看,系統動態已經都在隨時間改變了。此時若使用 一般非線性估測器,會發生"估測延遲情形"(estimation delay),以普通的擴增卡曼濾波
器來說適用於系統動態性不變時,所以必須加入適應性(adaptive)的概念,本論文是採用 “儲存記憶褪去法"(Fading memory)來使卡曼濾波器具有適應性的功能以達到即時估測 時變訊號的變動。 2.2.5 本作法的特色 z 使用即時(real-time)運算方法取代了傳統錯誤鑑別使用離線(off-line)的方法。 z 搭配擴增卡曼濾波器使用可使得估測出的錯誤訊號即為實際的錯誤訊號,意即卡曼 濾波器可以將雜訊濾掉保留住估測狀態値。 z 配合觀察器即可正確的達到錯誤估測目的,減少了系統複雜度。
2.3 儲存記憶褪去式卡曼濾波器(Kalman filter with fading memory) 2.3.1 卡曼濾波器
於 1960 年,由 R.E. Kalman 所發表一篇著名的論文中,利用遞迴(recursive)來解決離 散資料的線性濾波問題。由於此時電腦數值計算正蓬勃的發展,因此卡曼濾波器在控制 與導航系統領域中被大量的研究及應用。
卡曼濾波器是一種最佳化的估測器,它可以間接從不準確及不確定的量測值來獲得 系統的狀態變數,尤其對於雜訊來源為高斯雜訊(Gaussian noise)時,卡曼濾波器可以得 到最小化的均方誤差(mean square error)。
2.3.2 擴增型卡曼濾波器(Extended Kalman Filter, EKF)
卡曼濾波器是適用於線性系統估測問題時處理,但本論文的系統是屬於非線性問 題,故要使用擴增型卡曼濾波器來使得非線性轉換成線性化問題來處理。
考慮以下的非線性系統:
(
)
(
)
1:
,
,
:
:
,
:
: sample
k k k k k k kstate equation x
f k x u
w
n plant noise
measurement equation z
h k x
v
v mearsurement noise
k
+=
+
=
+
(2.16) 擴增卡曼濾波器的設計方法分為兩個主要步驟:1.狀態的預測(prediction of states) 2.狀態 的修正(correction of states)。"狀態的預測 "是指從這此刻的狀態及輸入來估測下一刻 時間的狀態。(
)
1 1ˆ
k,
ˆ
k,
k T k k k k kx
f k x u
P
A P A
Q
− + − +=
=
+
(2.17)我們稱上式為"prediction equation “,其中
P
k稱為狀態值估測協方差矩陣(state covariancematrix),定義成Pk =E x[(ˆk −xk)(xˆk −xk) ]T , ˆx 則是估測的狀態值。k Q 是系統雜訊的協方k 差矩陣。另一個步驟為“狀態的修正",利用量測值修正前一個步驟所預測的狀態,以 獲得較佳估測值。
(
)
(
)
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ˆ ( , ) ˆ ˆ T T k k k k k k k k k k k k k k k k K P H H P H R P I K H P residual z h k x x x K residual − − − + + + + + + + − + + + + − + + − + + + = + = − = − = + ⋅ (2.18) 上式稱為“ correction equation “,R 稱為量測雜訊的協方差矩陣,k Kk+1稱為卡曼增益 (Kalman gain),而在這個步驟的重點就是這個增益值的判斷,它可由先前所估測到狀態 值變異情形而調整估測協方差矩陣P
k,在估測時,是否要選擇相信先前所估測到的狀態 資訊去修正新的狀態值,還是選擇相信目前所得到量測到的輸出值來修正新的狀態值。 而在 Eq.(2.17)和 Eq.(2.18)中的 A、H 矩陣求法如下:1 ˆ 1 1 ˆ k k k k x x k k x x f A x h H x − + = + + = ∂ = ∂ ∂ = ∂ (2.19)
我們可以把 EKF 用流程圖表示:
圖 2.1 擴增型卡曼濾波器流程圖
2.3.3 儲存記憶褪去法(Fading memory) 這個作法的提出始因於在設計卡曼濾波器時,對於濾波器本身的觀察系統設定有錯 誤,亦即真實系統的參數描述或資訊描述與濾波器不同,會造成估測發散(divergence)的 情形。而採用“儲存記憶褪去法"加入卡曼濾波器可有效改善發散的現象。這個理念運 用到我們先前提到當系統動態發生改變時(2.2.4 節),由於濾波器本身當初設定系統矩陣 A 並不會因真實系統改變而自行調整,所以才會出現估測時間緩慢亦或是估不到正確值 的情形。所以我們採用儲存記憶褪去法來輔助卡曼濾波器的設計。因而稱此為儲存記憶 褪去式卡曼濾波器( Kalman Filter with Fading memory)。這種濾波器在文獻[9][10][11]中有 提到,除了上述幾個改善特點外,它是非常有利於狀態值在某些時候發生了不規則跳動 或是瞬時變化時作估測而不會導致發散現象,故此即對本論文有非常大的幫助。 一般卡曼濾波器在估測狀態時,若是收斂情況發生,則 covariance prediction equation
中的 1 T k k k k k k P−+ = A P A +Q R 會變小,意思是說收斂時估測與實際值的誤差量會變小,則相 對於估測協方差矩陣也隨之變小。這時卡曼增益值也變小使得輸出方程式的殘餘值 (residuals)的差異量加到狀態值更新式影響很少。簡單的說,就是依照著之前舊有的估測 協方差矩陣的資訊來維持狀態收斂性而不去“相信"目前所得到的輸出值。而儲存記憶 褪去的作法就是不要去依賴舊有的估測協方差矩陣資訊來收斂狀態值,而是視實際輸出 方程式的變動而定,若是目前輸出維持著先前的大小時,不去更動 covariance prediction equation。若是輸出開始有了變動時(這時就可能是系統動態性發生變化或是狀態值突然 改變不依照系統矩陣所產生),開始褪去之前所倚賴的狀態累積記憶資訊,轉而加大目 前的狀態差異性矩陣迫使系統接收到開始不收斂的情況,讓卡曼增益能夠再度變大以提 高估測值更新的變動量。而利用褪去狀態累積記憶資訊的作法便是加入一個褪去因子 (forgetting factor) λk,使得系統之前所累積的收斂資訊以指數衰減的方式褪去。加入褪 去因子後的卡曼濾波器只需改變 prediction equation: 1 1 T k k k k k k P−+ =λ + A P A +Q (2.20)
其λk ≥ ,這個因子等於 1 時是一般卡曼濾波器,若是大於 1 時便成為了儲存記憶褪去1 式卡曼濾波器。所以這種濾波器的性能是完全取決於褪去因子的選擇來切換功能。 接下來就是決定褪去因子演算法則,這個因子係利用最佳化的理論來推導出來(文 獻[7])。首先,先計算輸出殘餘值的差異性矩陣(covariance of residuals): 0 [ ] T T k k k k k k C =E residual residual =H P H− +R (2.21) 由 Eq.(2.21),得 0 T k k k k C −R = H P H− ,將 Eq.(2.20)代入可得 1 1 1 0 1 T T T kH A P A Hk k k k k C H Qk k Hk Rk λ − − − = − − − (2.22) 此時令 1 1 1 0 1 T T k k k k k T k k k k M H A P A H N C H Q H R − − − − = = − − (2.23) 則 Eq.(2.22)變成λkM = 或是N λkI =NM−1 λk ≥ (2.24) 1 將 Eq.(2.24)等式兩邊取跡(trace),可以得到一決定褪去因子的關係式: 1 1 max 1, k trace NM m λ = ⎧ ⎡ − ⎤⎫ ⎨ ⎣ ⎦⎬ ⎩ ⎭ (2.25) 當我們在做模擬運算時,Eq.(2.25)對即時運算功能上有諸多限制,為此要求記算方便簡 易,可以下式代替:
{
}
max 1, [ ]/ [ ] k trace N trace M λ = (2.26) 由電腦模擬印證出 Eq.(2.26)也可滿足褪去因子的選擇性。 系統動態有所變動時,其會藉由狀態值的變動反應至輸出方程式,以C 來說,它的0 意義是在於計算出前 k 個單位時間的輸出方程式殘餘值平均期望值,若是在第 k+1 個單 位時間後系統動態開始變動,則其輸出方程式也會跟著變動,對C 來說就會增大,因0Eq.(2.23)中 N 的 H、Q、R 不會變,所以使 N 也會增大。在trace N[ ]/trace M 裡顯然就[ ]
但如果系統動態均不變,則 M =N ,於是λk=1,這時褪去因子便不發生作用。 在 2.2.4 節中提到的隨時間變化的錯誤訊號,因為我們把欲估測的錯誤訊號當作成 一靜態系統(A:identity matrix),所以當錯誤値在變化時系統便產生動態性,亦即系統的 靜態性被改變,所以適合運用儲存記憶褪去法來改善。 把加入儲存記憶褪去法後的 EKF 的流程圖: 圖 2.3 儲存記憶褪去式卡曼濾波器流程圖
2.4 使用卡曼濾波器於本系統上 介紹完卡曼濾波器後,將其當成本系統的估測器,作法如下: 我們在 Eq.(2.9)裡把待估測的錯誤訊號以dk+1= Adk表示,將估測器的預測系統狀態 值以dˆk+1 =Adˆk 當作估測器系統所估測到的錯誤值。 輸出量測矩陣H 由k 1 1 ˆ k k d d z d − + + = ∂ ∂ 求出。 輸出方程式殘餘值 1 1 1 1 1 1 ˆ ˆ ˆ ( , ) ( , ) p k k k k k aux k z residual z k d z z k d z z z − − + + + + + + ⎡ ⎤ =⎢ ⎥ − = − = − ⎣ ⎦ 。 2.5 估測收斂性
而我們知 state correction equation:dˆk+1 =dˆk−+1 +Kk+1
(
residaul)
=dˆk−+1 +Kk+1(
zk+1−zˆk+1)
其中,output equations z 與輸出量測向量 m 的關係為:(
)
(
)
(
)
1 1 2 1 1 1 1 1 2 2 2 1 1 2 1 vot k votvot vot vot
real k k
p
vot vot vot
k
aux
aux aux aux
n k C d C C C C m m d d z C C C z v z z z z v + + + + + + ⎡⎡ ⎤ ⎤ ⋅ ⎢⎢ ⎥ ⎥ ⎡⎡ ⎤⋅ ⎤ ⎡⎡ ⎤⋅ + ⎤ ⎡⎡ ⎤⋅ ⎤ ⎢⎣ ⎦ ⎥ ⎡ ⎤ ⎢⎢ ⎥ ⎥ ⎢⎢ ⎥ ⎥ ⎢⎢ ⎥ ⎥ ⎢ ⎥ =⎢ ⎥ ⎢= ⎣ ⎦ ⎥ ⎢= ⎣ ⎦ ⎥ ⎢= ⎣ ⎦ ⎥ ⎢= ⎡ ⎤ ⎥ ⎣ ⎦ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎢ ⎥ ⎥ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎢ ⎥ ⎢ ⎢⎣ ⎥⎦ ⎥ ⎣ ⎦ # 而 ˆZ 與估測值dˆk的關係: 1 1 2 1 1 1 1 2 ˆ ˆ ˆ ( , ) ˆ ˆ vot k vot k vot k j k vot n C d C z k d z C d u d C − + − + − − + + + ⎡ ⎡ ⎤ ⎤ ⋅ ⎢ ⎢ ⎥ ⎥ ⎣ ⎦ ⎢ ⎥ ⎢ ⎥ = = ⎡⎢ ⎤ ⎥ ⎢ ⎥ ⋅ ⋅ ⋅ ⎢⎢ ⎥ ⎥ ⎢⎢⎣ ⎥⎦ ⎥ ⎣ ⎦ # 所以
(
)
1 1 1 2 1 1 1 1 1 1 1 2 2 ˆ ˆ ˆ ˆ ˆ vot k k vot k k k vot k j k n vot n C d d C d d K v C d u d v C − + + − + + + − − + + + + ⎡ ⎡ ⎤ ⎤ − ⎢ ⎢ ⎥ ⎥ ⎣ ⎦ ⎢ ⎥ ⎢ ⎥ = + ⎢⎡ − ⎤ ⎥ ⎢ ⎥ ⋅ ⋅ ⎢⎢ ⎥ ⎥ ⎢⎢ − ⎥ ⎥ ⎣ ⎦ ⎣ ⎦ # ,因為只允許一個錯誤存在,則 1 1 1 2 0 ˆ ˆ 0 vot k j k vot n C d u d C − − + + + ⎡ ⎤ ⎡ ⎤ ⎢ ⎥⋅ ⋅ ⋅ →⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ # # ,又dˆk−+1 =Adˆk,可以得
(
)
1 2 1 1 1 2 ˆ ˆ ˆ vot k k vot k k k n C A d d C d Ad K v v + + + ⎡⎡ ⎤ ⎤ − ⎢⎢ ⎥ ⎥ ⎣ ⎦ ⎢ ⎥ ⎢ ⎥ = + ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ # (2.27) 我們定義實際錯誤値與估測錯誤値的誤差為εk =dk −dˆk,將其代入 Eq.(2.27)得: 1 2 1 1 1 2 vot k vot k k k n C A C A K v v ε ε + ε + + ⎡⎡ ⎤ ⎤ ⎢⎢ ⎥ ⎥ ⎣ ⎦ ⎢ ⎥ ⎢ ⎥ = − ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ # (2.28) 若是可以找出一個Kk+1值使得ε →0,則估測值收斂於正確值,此時估測器就可以正確 估測出錯誤值。而本方法架構可以下圖表示: 圖 2.4 即時錯誤鑑別系統架構第三章
錯誤更正(Fault correction) 3.1 目的 完成了狀態估測的步驟後,可以成功地鑑別出發生錯誤的某個元件,而且對於其元 件所產生的定值或是時變漂移的錯誤訊號(dc-offset/time-varying drift)也能估測到其大 小、形式、運動情形。然而在 2.2.2 節後半我們有提及到這種即時錯誤鑑別法在同一時 間只能允許一個元件錯誤發生,若是要讓下一個元件發生錯誤時也能鑑別出就必須使第 一個出錯元件更正到理想狀態。為此,要達到感測系統可容錯的目的,就必須容許在這 個系統中的任何元件都能發生錯誤而不會影響系統的運作性。在這一章裡就要介紹更正 錯誤的概念與設計,搭配即時錯誤鑑別法去構成一個可行的感測容錯系統。 3.2 狀態回授法(state feedback) 3.2.1 介紹 一般控制系統中常用到的狀態回授技巧,即是利用系統中由觀察器所得到的狀態值 經由一個增益值後回授至控制輸入命令裡,在從控制輸入中去控制所希望達到的狀態變 數。而我們利用此法的概念在於由估側器所估測到的狀態值就是元件上的錯誤訊號值, 而我們把這些狀態值回授到來源量測輸出值中(即m ),使得具有錯誤的輸出值j m 能夠藉j 由狀態回授增益的影響讓錯誤消弭,達到輸出值為mreal_j的目的。 3.2.2 狀態回授與估測器之合成由 Eq.(2.15)的 state correction equation 可知dˆk+1 =dˆk−+1+Kk+1⎡⎣zk+1−z k d( , ˆk−+1)⎤⎦
(3.1)
ˆ
k
d 為估測值, ˆ
k
1 1 1 1 1 1 ˆ ˆ ˆ ˆ ( , ˆ ) k k k k k k k d Ad d d K z z k d − + − − + + + + + ⎧ = ⎪ ⎨ ⎡ ⎤ = + − ⎪ ⎣ ⎦ ⎩
(3.2) 若是以 Eq.(2.25)來看,在控制系統可看作為一觀察器形式(observer-based),K 雖為卡曼增 益卻也可視為觀察器增益。 我們加入一控制器u= −B dαˆk,α 為一回授增益向量,這個控制器便是我們所用來作為 狀態回授功能控制命令輸入,而此控制方式為一簡單的比例控制動作(proportional control)。Eq.(2.25)可以改寫成: 1 1 1 1 1 1 ˆ ˆ ˆ ˆ ˆ ( , ˆ ) k k k k k k k k d Ad B d d d K z z k d α − + − − + + + + + ⎧ = − ⎪ ⎨ ⎡ ⎤ = + − ⎪ ⎣ ⎦ ⎩
(3.3) 在此,我們假設 B 為一單位矩陣,原因是原本系統中並無控制命令輸入,而我們所加入 的控制輸入是可完全由α 作控制,故 B 假設成不影響控制變因為原則。而系統是一靜態 系統,所以為狀態可控制。又 2.2.3 節中我們有證明出這個估測系統是狀態可觀察的。 所以當我們引用狀態觀察器(估測器)來達成狀態回授之閉迴路設計時,加上系統參數矩 陣又都已知的狀況下,依照分離原理(Separation principle),狀態觀察器與狀態回授可以分 離設計。而實際上錯誤値的動態方程式被我們描述為dk+1 =Adk+Bu (3.4) 則 Eq.(3.3)可以誤差狀態方程式表示: 1 1 1 1 1 1 1 1 1 1 1 1 ˆ ( ˆ ) ( ( , ˆ )) ˆ ˆ ˆ ( ) ( ) ( ) k k k k k k k k k k k k k k k k k d d d A d d K z z k d A d d K z z A d K z z − + + + + + + + + + + + + ∆ = − = − − − = − − − = ∆ − − 1 ˆ ˆ ( ) k k k k k k k k k d + =Ad −B dα = Ad −B dα +B dα −B dα = A−Bα d +Bα∆d 1 1 1 1 1 0 ( ) ˆ ( ) 0 k k k k k k k d A B B d d A d K z z α α + + + + + − ⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤ ⇒⎢ ⎥=⎢ ⎥⎢ ⎥ ⎢+ ⎥ ∆ ⎣ ⎦ ∆ − ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ (3.5) 由於在這系統中所採用的觀察器為卡曼濾波器,它的特性是可以藉由狀態實際與估測的 差值自行調整增益以收斂誤差,所以 Eq.(3.4)裡我們僅決定回授增益α 即可。Eq.(3.4)我
們可藉由 Z 轉換(Z-transform)的關係得到特徵方程式 det(Ζ − +I A Bα)= (3.6) 0 來決定閉迴路極點。
3.3 系統穩定性(stability)
以離散時間系統來說,若是要求其狀態回授後的系統穩定,則此系統的特徵方程式 (characteristic equation)的特徵值(eigenvalues)(極點)需位於單位圓(unit circle)內。以 Eq.(3.5)
為例,方陣
(
A−Bα)
的特徵值假設為µi,則對於所有的µi來說均需小於 1。在這個拘束 關係下,我們可以找到一組符合此拘束關係的回授增益值α ,使系統在錯誤更正後可保 持穩定度。 3.4 鑑別系統的狀態回授法設計 在 3.2 節中我們知加入狀態回授後的描述方程式為dk+1= Adk+Bu,事實上,我們不 可能直接量測到錯誤訊號值,所以無法得知真實錯誤值情形,都是藉由估測器所估測出 來的。控制命令輸入u為一狀態回授命令,改寫整個回授系統形式讓量測輸出項與回授 控制器有關聯:A、B 均為單位矩陣,Eq.(3.3)及 Eq.(3.4)可改寫成:
1 ˆ ˆ ˆ ˆ ˆ k k k k k d + = Ad −B dα =d −αd (收斂時Kk+1(zk+1−zˆk+1)會趨近於 0) (3.7) 1 ˆ ˆ k k k k k d + =Ad −B dα =d −αd (3.8) 由上二式我們可由疊代關係知 1 0 0 2 1 1 0 0 1 1 0 0 ˆ ˆ ˆ ˆ ˆ k k j j d d d d d d d d d d d d α α α α α + = = − = − = − − = −
∑
# (3.9)而由 Eq.(2.7)我們知m=mreal +dk+1+ ,則將 Eq.(3.9)代入得 e 0 0 ˆ k real j j m m d e α d = = + + −
∑
(3.10) 此時,經由回授過後的量測訊號向量就不再是m了,而以mcom表示。 0 ˆ k com j j m m α d = = −∑
(3.11) com m 為經控制器回授後的更正訊號,以 Eq.(3.11)來看,量測到的訊號值是減去回授增益 乘上估測到的狀態累加值,意思是說當 0 ˆ k j j d α =∑
這一項累積到與實際錯誤值一樣時,所帶有錯誤訊號的m減去後即會更正至mreal,則mcom =mreal。爾後,利用更正後的量測值代
入輸出方程式 z 中,在經由估測器估到的dˆ就會趨近 0,而 0 ˆ k j j d =
∑
便開始固定不再變化使 得每次量測到的m均可順利更正。 然而若是d會隨時間變化時,只要其變化率不快,我們還是可以利用 Eq.(3.11)將變 化時每一個單位時間的差量累加至 0 ˆ k j j d α =∑
中給予m的更正。但是在此我們是強調這錯誤 訊號是“變化速度在一定的範圍之下",若是變化率太快,這時更正收斂不及變化速 度,如此m便無法順利更正至mreal,這時如果有兩個以上元件出錯,則我們所設計的即 時 錯 誤 鑑 別 法 將 無 法 正 確 估 測 出 錯 誤 值 。 圖 3.1 卡曼濾波器加上狀態回授方塊圖加入了狀態回授的方法後,這個系統即可形成一個感測容錯系統,可以一個完整的 架構流程圖表示: 圖 3.2 感測器容錯系統的架構流程圖 3.5 使用狀態回授法更正錯誤所存在更正不足的現象 使用狀態回授法有機會把錯誤完全更正至 0,但卻也會有無法更正至 0 的時候。我 們 藉 由 下 列 的 說 明 來 闡 述 當 系 統 穩 定 時 狀 態 値 收 斂 到 0 的 情 形 : 我們令 Eq.(2.9)中 1 2 vot vot C C C ⎡ ⎤ = ⎢ ⎥ ⎣ ⎦ 以及將卡曼增益 K 分為
[
K1 K2]
,以連續時間觀點來看本 系統可以下式表示:(
)
ˆ ˆ ˆ ˆ d d d d K z z α α = − = − + − (3.12)在此假設輸出方程式的虛設雜訊為 0,而輸出方程式 0 Cd z= ⎢ ⎥⎡ ⎤ ⎣ ⎦, ˆ ˆ ˆ ( ) Cd z f d ⎡ ⎤ = ⎢ ⎥ ⎢ ⎥ ⎣ ⎦。 Eq.(3.12)可改寫為