劉嘎瓊,盧道華,田寶強(qiáng),劉 鎮(zhèn)
(1.江蘇科技大學(xué) 計算機(jī)科學(xué)與工程學(xué)院,江蘇 鎮(zhèn)江 212003;2.江蘇科技大學(xué) 海洋裝備研究院,江蘇 鎮(zhèn)江 212003)
工業(yè)控制系統(tǒng)[1,2]中傳感器與執(zhí)行機(jī)構(gòu)分布廣,且工作條件惡劣,易發(fā)生故障。工業(yè)控制電機(jī)網(wǎng)絡(luò)控制系統(tǒng)網(wǎng)絡(luò)控制系統(tǒng)與傳統(tǒng)數(shù)字控制系統(tǒng)相比最大的不同在于其相關(guān)數(shù)據(jù)是通過總線進(jìn)行傳輸,但是也正是由于總線的存在導(dǎo)致其誘導(dǎo)時延以及數(shù)據(jù)丟包等問題,使得在進(jìn)行故障診斷時必須將總線帶來的不利因素考慮進(jìn)去。王越男為離散時間延遲系統(tǒng)設(shè)計了功能強(qiáng)大的故障檢測觀測器,有效實(shí)現(xiàn)了對故障的魯棒檢測要求[4]。文獻(xiàn)[5,6]則針對時滯系統(tǒng)實(shí)現(xiàn)了H∞故障檢測,結(jié)果表明了上述方法在故障檢測領(lǐng)域的有效性。雖然上述方法均能夠一定程度的實(shí)現(xiàn)故障檢測,但是都是以抑制噪聲為出發(fā)點(diǎn),極大地限制了故障檢測準(zhǔn)確率的提升。
為同時提升檢測系統(tǒng)對噪聲信號的魯棒性以及故障信號的敏感性,提出基于混沌變異蝙蝠優(yōu)化算法的安全診斷優(yōu)化設(shè)計方法。
根據(jù)文獻(xiàn)[3]可知存在如下假設(shè):①傳感器、控制器、執(zhí)行器均為事件驅(qū)動,周期為T。②忽略計算時間帶來的延遲。③系統(tǒng)通過靜態(tài)調(diào)度實(shí)現(xiàn)。④忽略數(shù)據(jù)包丟和數(shù)據(jù)包錯亂。
工業(yè)電機(jī)網(wǎng)絡(luò)控制系統(tǒng)可以將其看作一個整體進(jìn)行建模[2],具體的離散時間模型
(1)
B1,Β2,E,H1,H2代表的是常數(shù)矩陣,F(xiàn)(τk)表示的是關(guān)于τk的時變矩陣,且存在如下關(guān)系式:F(τk)TF(τk)≤I[7]。其中,ΔB1=EF(τk)H1,ΔB2=EF(τk)H2。
進(jìn)一步建立觀測器誤差模型。傳感器將數(shù)據(jù)發(fā)送給控制器的每個控制狀態(tài)量封裝在多個數(shù)據(jù)包中,并且將從每個控制器發(fā)送數(shù)據(jù)給執(zhí)行器的每個控制狀態(tài)量封裝在不同數(shù)據(jù)包中,因此每個控制器和系統(tǒng)通過執(zhí)行指令的機(jī)制接收傳感器執(zhí)行指令的狀態(tài)量x(k)與執(zhí)行器的控制量u′(k)分別為x′(k)與u(k)。
靜態(tài)調(diào)度的應(yīng)用可以使多數(shù)據(jù)包傳輸轉(zhuǎn)換為具有兩個交換機(jī)的交換系統(tǒng)。當(dāng)在k時刻,開關(guān)K1和Si(i=1,2,…,m)連接,而開關(guān)K2則和S′j(j=1,2,…,n)連接,此時,未發(fā)送的數(shù)據(jù)分組被認(rèn)為是分組丟失,令k-1時刻的數(shù)據(jù)替代。當(dāng)前正在發(fā)送傳輸狀態(tài)和控制變量,并且此時的數(shù)據(jù)變?yōu)楫?dāng)時的狀態(tài)。因此,存在如下關(guān)系
(2)
故
(3)
同理,控制量的各個數(shù)據(jù)包之間有如下關(guān)系
(4)
即
(5)
狀態(tài)反饋如下所示
(6)
(7)
蝙蝠算法一經(jīng)提出,就由于其簡單性與有效性得到了廣泛的關(guān)注[8-10]。
具體的蝙蝠算法迭代過程為:蝙蝠的坐標(biāo)為一個解,該坐標(biāo)包含了速度和適應(yīng)度函數(shù)值,蝙蝠種群利用新發(fā)出的頻率、脈沖發(fā)射速率和聲波響度得到新的解集,然后一次進(jìn)行迭代得到最優(yōu)值[11,12]。迭代過程的數(shù)學(xué)表達(dá)式如下
Fi=Fmin+(Fmax-Fmin)×RN,RN∈[0,1]
(8)
(9)
(10)
為提升算法的便利性,給出相應(yīng)的更新公式如下
Xnew=Xbest+α×Al
(11)
其中,α代表在[-1,1]區(qū)間內(nèi)的隨機(jī)數(shù);Al表示為第l代蝙蝠聲波響度的平均值。
在式(11)的基礎(chǔ)上,每一只蝙蝠的脈沖發(fā)射率Ri以及相應(yīng)的脈沖聲波響度Ai也會進(jìn)行更新,具體的更新過程如下所示
(12)
(13)
式中:β,ω代表常值,β>0,0<ω<1。
BA具有收斂性強(qiáng)以及搜索范圍大的優(yōu)點(diǎn),但是蝙蝠位置的更新效果過分依靠速度參數(shù),使得在優(yōu)化過程后期,容易陷入局部極值[13,14]。為提升其優(yōu)化精度,將遺傳算法中的理論與基本BA算法結(jié)合,具體步驟如下:
步驟1 將交叉比例和交叉方法引入蝙蝠種群的更新過程,具體的過程如式(14)所示
(14)
步驟2 為使得更新后的xi(t+1)發(fā)生變異,設(shè)置相應(yīng)的變異激活函數(shù)如式(15)
(15)
其中,α∈[0.5,0.6],β∈[0.1,0.3],k代表種群內(nèi)第k只蝙蝠,n代表維度,N代表蝙蝠種群的總個數(shù),rand是[0,1]的隨機(jī)數(shù),若滿足Activate(k)<1,則使得蝙蝠發(fā)生變異;
步驟3 變異主要包括均勻變換以及高斯變換,均勻變換主要為了提升收斂速度,高斯變換主要提升跳出局部極值的能力,相應(yīng)的均勻變換和高斯變換如下式所示
(16)
其中,σ代表高斯分布的標(biāo)準(zhǔn)差。
在BA中,已知脈沖發(fā)射率更新迭代的初始值選則具有一定的主觀性,因此該參數(shù)選擇可能是的算法具有一定的人為保守性而無法達(dá)到最優(yōu)。因此進(jìn)一步改進(jìn)脈沖發(fā)射率的迭代過程
(17)
圖1 混沌BA脈沖發(fā)射率
圖2 基本BA脈沖發(fā)射率
設(shè)閉環(huán)觀測器為
(18)
式中:Ll(l=1,2,…,m×n)表示的是目標(biāo)增益矩陣,其系統(tǒng)結(jié)構(gòu)如圖3所示。
圖3 觀測器結(jié)構(gòu)
(19)
通過等式(19)的Z變換能夠?qū)⑸鲜睫D(zhuǎn)換為傳遞函數(shù)矩陣
(20)
其中,Gf代表的是殘差ε與故障f的傳遞函數(shù)矩陣,Gω表示的是殘差ε與干擾ω的傳遞函數(shù)矩陣。
但是優(yōu)化該增益矩陣必須首先滿足如下幾條原則:
(1)穩(wěn)定性。
(2)靈敏性。
(3)魯棒性。
根據(jù)文獻(xiàn)[3]可知系統(tǒng)滿足穩(wěn)定性的充分條件如下
(21)
因為矩陣Ωij存在不確定矩陣F(τk),所以進(jìn)行如下變換
(22)
將式(22)代入式(21)中,根據(jù)文獻(xiàn)[6]可知該式等價于:存在ηl>0(l=1,2,…,m×n),使得
(23)
(24)
因此,穩(wěn)定性充分條件可以轉(zhuǎn)換為:增益矩陣Ll必須滿足存在對稱正定矩陣P以及ηl>0(l=1,2,…,m×n),使得矩陣不等式(24)成立。
令優(yōu)化問題的適應(yīng)度函數(shù)如下所示
(25)
式中:J1表示的是系統(tǒng)與干擾信號之間的傳遞函數(shù)系數(shù)矩陣,ωr表示的是干擾信號的頻率大小,J1應(yīng)盡可能小,以減少干擾對系統(tǒng)的影響。J2表示的是系統(tǒng)對故障的傳遞函數(shù)系數(shù)矩陣,參考文獻(xiàn)可知z=1。優(yōu)化的目的是使擬合函數(shù)最小,從而使系統(tǒng)對故障信號更敏感,對干擾信號更具有魯棒性。
因此優(yōu)化問題可以轉(zhuǎn)換為
(26)
具體的優(yōu)化步驟為:
步驟1 設(shè)置算法的基本參數(shù)與初始值大小,給定輸入為觀測器矩陣的元素,并且計算出初始適應(yīng)度函數(shù)值;
步驟2 對蝙蝠種群進(jìn)行交叉運(yùn)算,判斷蝙蝠個體是否發(fā)生了變異,若發(fā)生變異,則按照變異過程進(jìn)行處理;
步驟3 更新此時的蝙蝠種群位置,求解線性矩陣不等式(26),如果求出可行解,則更新后的種群以細(xì)微擾動量在當(dāng)前最優(yōu)解附近重新尋優(yōu),否則重新進(jìn)行位置尋找;
步驟4 計算蝙蝠種群新位置的適應(yīng)度函數(shù)值,并更新聲波響度、混沌脈沖發(fā)射率以及最優(yōu)值;
步驟5 對比得到當(dāng)前種群內(nèi)適應(yīng)度函數(shù)的最優(yōu)值,并記錄最優(yōu)值的位置;
步驟6 判斷是否達(dá)到最大迭代次數(shù)Iterate_times,若到達(dá),則得到增益矩陣Ll;若未滿足,返回步驟2。
實(shí)驗所用的半物理平臺為分布式框架結(jié)構(gòu)。圖4顯示了該平臺的設(shè)計框架思路。該系統(tǒng)主要包括:仿真計算機(jī)和控制器、智能執(zhí)行器和智能傳感器以及CAN總線。仿真計算機(jī)實(shí)現(xiàn)發(fā)動機(jī)數(shù)學(xué)模型的仿真。智能傳感器實(shí)現(xiàn)數(shù)據(jù)測量以及初步轉(zhuǎn)換并將其通過CAN總線傳至控制器。控制器實(shí)現(xiàn)相應(yīng)的控制功能,并輸出控制信號控制智能執(zhí)行機(jī)構(gòu)。智能執(zhí)行器收到CAN總線的數(shù)據(jù)之后實(shí)現(xiàn)相應(yīng)的控制行為。整個過程實(shí)現(xiàn)閉環(huán)控制。系統(tǒng)照片如圖5所示。
圖4 系統(tǒng)框架
圖5 網(wǎng)絡(luò)控制系統(tǒng)仿真平臺實(shí)物
設(shè)工業(yè)電機(jī)網(wǎng)絡(luò)控制系統(tǒng)表達(dá)式為
(27)
設(shè)置采樣周期時間T=20 ms可得
(28)
(29)
首先進(jìn)行參數(shù)的初始化設(shè)置,設(shè)置的根本依據(jù)是遵循試湊法的原則以及相關(guān)參考文獻(xiàn)的結(jié)論而來[16]。令尋優(yōu)解域?qū)儆赱-10,10]6,令采樣步長設(shè)置τ=20 ms,gmax=1000,sizepop=100,相關(guān)參數(shù)設(shè)置為m=5,α0=β0=0.7。
以基本蝙蝠算法以及改進(jìn)蝙蝠優(yōu)化算法對優(yōu)化問題(26)進(jìn)行迭代優(yōu)化,相應(yīng)的結(jié)果如圖6和表1所示。
從圖6和表1中可以看出,改進(jìn)蝙蝠優(yōu)化算法到達(dá)極小值時的收斂速度比基本BA快7個迭代周期。且改進(jìn)蝙蝠優(yōu)化算法收斂曲線無明顯的轉(zhuǎn)折,進(jìn)一步表明該方法不易陷入局部最優(yōu),改進(jìn)蝙蝠算法具有更好的優(yōu)化效果。
圖6 優(yōu)化結(jié)果對比
表1 優(yōu)化結(jié)果對比
從表1中可以得到最優(yōu)適應(yīng)度函數(shù)所對應(yīng)的故障觀測器矩陣為L1=[0.3552-0.99011.30210-0.57970]T,同理可得其它3種情況的觀測器增益矩陣為
由于系統(tǒng)發(fā)送的數(shù)據(jù)量很少,因此數(shù)據(jù)包的數(shù)據(jù)量僅為在半物理平臺上模擬雙通道多數(shù)據(jù)包傳輸所需的3位。因此將第四個數(shù)據(jù)位設(shè)置為CAN總線數(shù)據(jù)包標(biāo)識位。通過該標(biāo)識位識別不同的數(shù)據(jù)包,圖7顯示了發(fā)送設(shè)置數(shù)據(jù)包的隨機(jī)序列。
圖7 數(shù)據(jù)包隨機(jī)傳輸序列
傳感器發(fā)生短路故障,則狀態(tài)變量會出現(xiàn)一個突變,該種故障模式與階躍型故障十分類似,故通過階躍故障來模擬短路故障,對系統(tǒng)施加一個幅值較小的階躍型故障,當(dāng)添加了一幅度為0.92的干擾信號。檢測結(jié)果如圖8和圖9所示,分別顯示了經(jīng)典檢測方法以及改進(jìn)蝙蝠優(yōu)化算法優(yōu)化檢測方法的結(jié)果。經(jīng)典方法的殘差信號的抖動幅度為0.12,而優(yōu)化方法的殘差方法的振動幅度僅為0.069,表明添加的干擾對經(jīng)典檢測方法會產(chǎn)生顯著的影響,使得設(shè)置閾值并不能完全區(qū)分狀態(tài)。而提出的檢測方法對故障信號實(shí)現(xiàn)了顯著的放大,另外還大大降低了干擾信號幅值。提出的方法使得閾值設(shè)置范圍從經(jīng)典方法的0.12~0.166增加至0.069~0.202。該范圍擴(kuò)大了3.52倍,表明該方法有助于區(qū)分故障狀態(tài)和正常狀態(tài)。
圖8 傳統(tǒng)魯棒觀測器檢測殘差
圖9 改進(jìn)BA觀測器檢測殘差
另外,傳感器中若發(fā)生漂移故障,將會導(dǎo)致狀態(tài)變量一某一斜率變化,該型故障與斜坡故障十分切合,故通過斜坡故障進(jìn)行模擬。令傳感器漂移模擬故障為f=0.15*(t-20)*δ(t-20),圖10顯示了當(dāng)添加一幅度為0.11的干擾時,使用經(jīng)典方法和改進(jìn)蝙蝠優(yōu)化方法獲得的殘差的比較圖。從圖10中可以發(fā)現(xiàn),經(jīng)典方法針對干擾信號的十分敏感,相反,優(yōu)化的故障觀測器方法可以顯著降低噪聲含量,并且故障信號具有顯著的放大效果,從而導(dǎo)致閾值和系統(tǒng)漂移的快速判別誤差。
圖10 斜坡故障監(jiān)測殘差對比
進(jìn)一步給定一個傳感器的非線性故障
(30)
添加一幅值為0.08的噪聲信號。圖11展示了檢測殘差的比較結(jié)果。經(jīng)典方法的誤差振動約為0.0042,而優(yōu)化方法的誤差振幅為0.0022。結(jié)果表明,噪聲信號對傳統(tǒng)的檢測方法影響很大。此外,優(yōu)化方法的閾值選擇范圍是0.0022~0.0184,而經(jīng)典方法的閾值選擇范圍是0.0042~0.0083,相當(dāng)于優(yōu)化方法的閾值選擇范圍相比經(jīng)典方法增大4.12倍。此外,驗證了這種優(yōu)化方法可以更好地辨別故障和正常情況。
圖11 非線性故障檢測殘差對比
總之,改進(jìn)蝙蝠算法優(yōu)化的觀測器增益矩陣可以將干擾信號放大,并減少干擾的影響。這樣可以有效降低故障誤診率,提高故障檢測的準(zhǔn)確性。
針對工業(yè)電機(jī)網(wǎng)絡(luò)控制系統(tǒng),提出了基于混沌變異蝙蝠優(yōu)化算法的安全診斷優(yōu)化設(shè)計方法。通過仿真驗證可得出如下結(jié)論:
(1)在不同的丟包情況下能夠保證系統(tǒng)的收斂性與穩(wěn)定性。
(2)改進(jìn)蝙蝠算法比基本蝙蝠算法在優(yōu)化準(zhǔn)確率以及優(yōu)化速度上具有更好的效果。
(3)提出方法不僅可以抑制噪聲信號,還能夠提升故障狀態(tài)和正常狀態(tài)之間的區(qū)分度,使得閾值選擇具有更大的容錯范圍與選擇空間,有效改善各種故障類型的檢測效果。