劉勇 石翠 李小兵
(工業(yè)和信息化部電子第五研究所 廣東省廣州市 510620)
大型工業(yè)過(guò)程是由許多組件組成的系統(tǒng),這些組件可以通過(guò)物理連接相互作用。由于計(jì)算的復(fù)雜性和通信帶寬的限制,用集中的結(jié)構(gòu)來(lái)估計(jì)/監(jiān)視狀態(tài)或控制這些系統(tǒng)是不容易的[1]。近年來(lái),人們?cè)絹?lái)越感興趣的是將一個(gè)完整的設(shè)備組成幾個(gè)子系統(tǒng),然后對(duì)每個(gè)子系統(tǒng)進(jìn)行分布式控制和狀態(tài)估計(jì)。分布式控制器設(shè)計(jì)方法和迭代協(xié)調(diào)算法引起了人們的廣泛關(guān)注[2]。
容錯(cuò)控制問(wèn)題已成為現(xiàn)代控制系統(tǒng)和實(shí)際應(yīng)用中的一個(gè)重要課題[3]。現(xiàn)代控制系統(tǒng)需要滿足高控制性能和安全要求。對(duì)于復(fù)雜系統(tǒng),傳感器、執(zhí)行器或其他系統(tǒng)組件可能存在故障[4],這將導(dǎo)致控制性能下降,甚至導(dǎo)致系統(tǒng)不穩(wěn)定。為了解決可能出現(xiàn)的故障,許多容錯(cuò)控制方法被提出,以保持理想的穩(wěn)定性和性能要求[5]。這些方法被稱(chēng)為容錯(cuò)控制系統(tǒng),可以自動(dòng)處理故障的影響,同時(shí)確保所需的控制性能。容錯(cuò)控制系統(tǒng)一般分為兩類(lèi)[6]。一種稱(chēng)為被動(dòng)容錯(cuò)控制,在這種控制中,控制器被可靠地設(shè)計(jì)來(lái)處理假定的故障,因此需要一個(gè)故障檢測(cè)和診斷方案或控制器重新配置。另一種是主動(dòng)容錯(cuò)控制,它可以通過(guò)重新配置控制輸入以保持可接受的控制性能來(lái)主動(dòng)響應(yīng)故障。
雖然,容錯(cuò)控制方案受到了諸多關(guān)注,但是分布式容錯(cuò)控制方案卻很少受到關(guān)注。本文針對(duì)傳感器故障問(wèn)題,設(shè)計(jì)分布式故障診斷和容錯(cuò)控制框架,利用分布式卡爾曼濾波方法對(duì)故障進(jìn)行診斷,并設(shè)計(jì)分布式MPC 進(jìn)行容錯(cuò)控制。
本文考慮一類(lèi)如下形式的一般非線性系統(tǒng):
通過(guò)將非線性模型(1)沿典型工作點(diǎn)進(jìn)行線性化,得到系統(tǒng)在工作的的線性化模型描述如下:
傳感器故障意味著一些系統(tǒng)測(cè)量信息不可用于系統(tǒng)控制,使得控制性能下降,甚至導(dǎo)致系統(tǒng)的不穩(wěn)定性。傳感器輸出在時(shí)間t 時(shí)可能出現(xiàn)故障,用以下等式表示:
本文設(shè)計(jì)一種分布式容錯(cuò)控制方案,以應(yīng)對(duì)非線性系統(tǒng)中的傳感器故障,該控制結(jié)構(gòu)的主要組成部分包括分布式狀態(tài)估計(jì)模塊、故障診斷模塊和分布式MPC 容錯(cuò)控制。利用分布式卡爾曼濾波對(duì)不可測(cè)系統(tǒng)狀態(tài)進(jìn)行估計(jì),檢測(cè)和定位發(fā)生故障的傳感器,故障信息被傳輸?shù)椒植际組PC,以自動(dòng)處理傳感器故障的影響,同時(shí)保持所需的控制性能。
對(duì)于非線性系統(tǒng),擴(kuò)展卡爾曼濾波器是連續(xù)線性化非線性系統(tǒng)的離散時(shí)間濾波器。在本節(jié)中,設(shè)計(jì)分布式擴(kuò)展卡爾曼濾波器對(duì)狀態(tài)進(jìn)行估計(jì)??柭鼮V波器有兩個(gè)步驟,即預(yù)測(cè)步驟和更新步驟[7]。子系統(tǒng)i 的分布式EKFi 給出如下:
(1)預(yù)測(cè)步驟:
(2)更新步驟:
(1)在t0=0 時(shí),給定初始子系統(tǒng)狀態(tài)的猜測(cè),并測(cè)量子系統(tǒng)輸出將其迭代為it=1,并重復(fù)以下步驟:
(2)對(duì)于tk>0 的時(shí)間,每個(gè)估計(jì)器接收上一次相鄰子系統(tǒng)的狀態(tài)估計(jì)值,輸出測(cè)量值
(6)在下一個(gè)采樣時(shí)間tk+1 執(zhí)行步驟(2)。
建立了基于分布擴(kuò)展卡爾曼濾波的狀態(tài)估計(jì),為容錯(cuò)控制方案做好了準(zhǔn)備。
為了處理重要傳感器可能出現(xiàn)的故障,假設(shè)有兩組傳感器系統(tǒng)(p=1,2),以保證其中一套傳感器故障時(shí),可以切換到另一套傳感器繼續(xù)運(yùn)行;本節(jié)設(shè)計(jì)故障診斷方案,假設(shè)系統(tǒng)中一次只有一個(gè)傳感器故障,建立分布式故障診斷模塊,該機(jī)構(gòu)可用于檢測(cè)和定位可能的傳感器故障。具體地說(shuō),就是為每個(gè)子系統(tǒng)開(kāi)發(fā)了一個(gè)故障診斷模塊,每個(gè)模塊由幾個(gè)關(guān)鍵部件組成:局部擴(kuò)展卡爾曼濾波器、分布式MPC 和殘余發(fā)生器。狀態(tài)預(yù)測(cè)器用于提供參考狀態(tài)軌跡,并將其發(fā)送到相應(yīng)的殘差發(fā)生器。通過(guò)計(jì)算局部分布擴(kuò)展卡爾曼濾波器給出的狀態(tài)估計(jì)與子系統(tǒng)狀態(tài)預(yù)測(cè)的偏差,相關(guān)的殘差發(fā)生器生成剩余信號(hào)序列。
在沒(méi)有傳感器故障的情況下,當(dāng)估計(jì)誤差收斂到一定的小區(qū)域后,每個(gè)殘差將保持在一定的水平以下。因此,在整個(gè)系統(tǒng)的估計(jì)誤差通過(guò)仿真收斂后,考慮子系統(tǒng)估計(jì)誤差的上界,可以選擇合適的子系統(tǒng)殘差檢測(cè)閾值。當(dāng)考慮非線性過(guò)程時(shí),這種處理通常用于閾值選擇?;谶@種方法,當(dāng)任何剩余信號(hào)超過(guò)相應(yīng)的閾值時(shí),它表示設(shè)備發(fā)生故障。我們使用此屬性來(lái)檢測(cè)和定位各子系統(tǒng)發(fā)生的傳感器故障。接下來(lái),我們用表示殘差信號(hào)的檢測(cè)閾值對(duì)于故障診斷機(jī)制在每個(gè)采樣周期內(nèi)通過(guò)網(wǎng)絡(luò)通信從故障診斷模塊的接受殘差信號(hào)。故障診斷機(jī)制將所有殘差信號(hào)與相應(yīng)的閾值進(jìn)行比較。如果任何剩余信號(hào)超出其閾值(即則發(fā)生傳感器故障。
通常,MPC 以集中的方式執(zhí)行。然而,對(duì)于大型系統(tǒng)(1),本節(jié)給出導(dǎo)出分布式MPC 容錯(cuò)控制方案,由于MPC 是在線進(jìn)行設(shè)計(jì)的,因此在獲知傳感器故障時(shí),可以利用冗余的控制器進(jìn)行重新設(shè)計(jì),保證系統(tǒng)的性能。本節(jié)將設(shè)計(jì)離散形式的分布式MPC 算法,即對(duì)系統(tǒng)模型(3)進(jìn)行離散化,得到:
其中,Ad,ii,Bd,ii表示子系統(tǒng)i 對(duì)應(yīng)的系統(tǒng)矩陣;Ad,ij,Bd,ij表示和子系統(tǒng)i 關(guān)聯(lián)的子系統(tǒng)j 對(duì)應(yīng)的系統(tǒng)矩陣;xi(tk+l+1|tk)表示子系統(tǒng)i的狀態(tài);yi(tk+l)表示tk+l 時(shí)刻子系統(tǒng)i 對(duì)應(yīng)的系統(tǒng)輸出;tk+l+1|tk在tk時(shí)刻對(duì)將來(lái)tk+l+1 時(shí)刻的預(yù)測(cè)。
成本函數(shù)考慮如下:
然后,通過(guò)在每個(gè)k 時(shí)刻求解以下問(wèn)題來(lái)優(yōu)化第i 個(gè)子系統(tǒng)的輸入:
在考慮相鄰子系統(tǒng)j 的影響的情況下,考慮了全局成本函數(shù)對(duì)第i 個(gè)控制輸入的優(yōu)化,可以保證在其他子系統(tǒng)的傳感器失效的情況下,依靠健康的子系統(tǒng)控制,仍能保證系統(tǒng)的性能。需要注意的是,問(wèn)題(16)將被轉(zhuǎn)化為二次規(guī)劃問(wèn)題 進(jìn)行求解,需要一種迭代算法來(lái)協(xié)調(diào)分布式控制器,通過(guò)給出一個(gè)閾值來(lái)檢查的收斂性:
(6)設(shè)置tk=tk+1 并轉(zhuǎn)到第一步。
以上,完成了基于分布式MPC 的部分傳感器故障容錯(cuò)控制。
考慮如下帶有傳感器故障的系統(tǒng):
利用本文所提出的分布式MPC 對(duì)該系統(tǒng)進(jìn)行容錯(cuò)控制,該系統(tǒng)包含兩個(gè)系統(tǒng)輸入,即和本方案中,對(duì)兩個(gè)系統(tǒng)輸入進(jìn)行單獨(dú)設(shè)計(jì),利用故障診斷方法,對(duì)系統(tǒng)的傳感器故障進(jìn)行檢測(cè),并反饋到分布式MPC 設(shè)計(jì)中,如果其中一個(gè)傳感器失效,則利用備用傳感器進(jìn)行控制,保證系統(tǒng)的性能。系統(tǒng)的初始狀態(tài)為控制時(shí)域選擇為N=15,狀態(tài)和輸入的權(quán)重選擇為求黎卡提方程得到終端約束矩陣為:
假設(shè)其中一組傳感器在k=3 后開(kāi)始失效,利用本文故障診斷方法,可以在下一個(gè)采樣時(shí)刻(即k=4)時(shí)檢測(cè)到故障的發(fā)生。圖1-3給出了三個(gè)子系統(tǒng)狀態(tài)的變化情況,圖4-5 給出了相應(yīng)的控制輸入情況,將本文方法和無(wú)故障情況下的控制性能進(jìn)行了對(duì)比,并引入集中式MPC 的容錯(cuò)控制方法進(jìn)行對(duì)比。與不帶故障的控制性能相比,雖然發(fā)生故障后性能下降,但是仍能保持較好的性能。結(jié)果表明本文能夠診斷出帶故障的傳感器,在發(fā)生傳感器器失效故障時(shí),仍能夠保證系統(tǒng)控制性能,達(dá)到和集中式MPC 一致的控制效果。
圖1:系統(tǒng)狀態(tài)1 的動(dòng)態(tài)
圖2:系統(tǒng)狀態(tài)2 的動(dòng)態(tài)
圖3:系統(tǒng)狀態(tài)3 的動(dòng)態(tài)
圖4:控制器輸入1 的動(dòng)態(tài)
圖5:控制器輸入2 的動(dòng)態(tài)
本文基于分布式MPC 和狀態(tài)估計(jì)的優(yōu)勢(shì),研究了一種分布式容錯(cuò)控制方案,通過(guò)提出殘差發(fā)生器,推導(dǎo)出分布式故障檢測(cè)診斷模塊,研究分布式MPC 框架,開(kāi)發(fā)了故障補(bǔ)償策略,保證系統(tǒng)在傳感器故障情況下的控制性能。