劉嘎瓊,盧道華,田寶強,劉 鎮
(1.江蘇科技大學 計算機科學與工程學院,江蘇 鎮江 212003;2.江蘇科技大學 海洋裝備研究院,江蘇 鎮江 212003)
工業控制系統[1,2]中傳感器與執行機構分布廣,且工作條件惡劣,易發生故障。工業控制電機網絡控制系統網絡控制系統與傳統數字控制系統相比最大的不同在于其相關數據是通過總線進行傳輸,但是也正是由于總線的存在導致其誘導時延以及數據丟包等問題,使得在進行故障診斷時必須將總線帶來的不利因素考慮進去。王越男為離散時間延遲系統設計了功能強大的故障檢測觀測器,有效實現了對故障的魯棒檢測要求[4]。文獻[5,6]則針對時滯系統實現了H∞故障檢測,結果表明了上述方法在故障檢測領域的有效性。雖然上述方法均能夠一定程度的實現故障檢測,但是都是以抑制噪聲為出發點,極大地限制了故障檢測準確率的提升。
為同時提升檢測系統對噪聲信號的魯棒性以及故障信號的敏感性,提出基于混沌變異蝙蝠優化算法的安全診斷優化設計方法。
根據文獻[3]可知存在如下假設:①傳感器、控制器、執行器均為事件驅動,周期為T。②忽略計算時間帶來的延遲。③系統通過靜態調度實現。④忽略數據包丟和數據包錯亂。
工業電機網絡控制系統可以將其看作一個整體進行建模[2],具體的離散時間模型
(1)
B1,Β2,E,H1,H2代表的是常數矩陣,F(τk)表示的是關于τk的時變矩陣,且存在如下關系式:F(τk)TF(τk)≤I[7]。其中,ΔB1=EF(τk)H1,ΔB2=EF(τk)H2。
進一步建立觀測器誤差模型。傳感器將數據發送給控制器的每個控制狀態量封裝在多個數據包中,并且將從每個控制器發送數據給執行器的每個控制狀態量封裝在不同數據包中,因此每個控制器和系統通過執行指令的機制接收傳感器執行指令的狀態量x(k)與執行器的控制量u′(k)分別為x′(k)與u(k)。
靜態調度的應用可以使多數據包傳輸轉換為具有兩個交換機的交換系統。當在k時刻,開關K1和Si(i=1,2,…,m)連接,而開關K2則和S′j(j=1,2,…,n)連接,此時,未發送的數據分組被認為是分組丟失,令k-1時刻的數據替代。當前正在發送傳輸狀態和控制變量,并且此時的數據變為當時的狀態。因此,存在如下關系
(2)
故
(3)

同理,控制量的各個數據包之間有如下關系
(4)
即
(5)

狀態反饋如下所示
(6)

(7)


蝙蝠算法一經提出,就由于其簡單性與有效性得到了廣泛的關注[8-10]。
具體的蝙蝠算法迭代過程為:蝙蝠的坐標為一個解,該坐標包含了速度和適應度函數值,蝙蝠種群利用新發出的頻率、脈沖發射速率和聲波響度得到新的解集,然后一次進行迭代得到最優值[11,12]。迭代過程的數學表達式如下
Fi=Fmin+(Fmax-Fmin)×RN,RN∈[0,1]
(8)
(9)
(10)

為提升算法的便利性,給出相應的更新公式如下
Xnew=Xbest+α×Al
(11)
其中,α代表在[-1,1]區間內的隨機數;Al表示為第l代蝙蝠聲波響度的平均值。
在式(11)的基礎上,每一只蝙蝠的脈沖發射率Ri以及相應的脈沖聲波響度Ai也會進行更新,具體的更新過程如下所示
(12)
(13)
式中:β,ω代表常值,β>0,0<ω<1。
BA具有收斂性強以及搜索范圍大的優點,但是蝙蝠位置的更新效果過分依靠速度參數,使得在優化過程后期,容易陷入局部極值[13,14]。為提升其優化精度,將遺傳算法中的理論與基本BA算法結合,具體步驟如下:
步驟1 將交叉比例和交叉方法引入蝙蝠種群的更新過程,具體的過程如式(14)所示
(14)
步驟2 為使得更新后的xi(t+1)發生變異,設置相應的變異激活函數如式(15)
(15)
其中,α∈[0.5,0.6],β∈[0.1,0.3],k代表種群內第k只蝙蝠,n代表維度,N代表蝙蝠種群的總個數,rand是[0,1]的隨機數,若滿足Activate(k)<1,則使得蝙蝠發生變異;
步驟3 變異主要包括均勻變換以及高斯變換,均勻變換主要為了提升收斂速度,高斯變換主要提升跳出局部極值的能力,相應的均勻變換和高斯變換如下式所示
(16)
其中,σ代表高斯分布的標準差。
在BA中,已知脈沖發射率更新迭代的初始值選則具有一定的主觀性,因此該參數選擇可能是的算法具有一定的人為保守性而無法達到最優。因此進一步改進脈沖發射率的迭代過程
(17)



圖1 混沌BA脈沖發射率

圖2 基本BA脈沖發射率
設閉環觀測器為
(18)
式中:Ll(l=1,2,…,m×n)表示的是目標增益矩陣,其系統結構如圖3所示。

圖3 觀測器結構
(19)
通過等式(19)的Z變換能夠將上式轉換為傳遞函數矩陣
(20)
其中,Gf代表的是殘差ε與故障f的傳遞函數矩陣,Gω表示的是殘差ε與干擾ω的傳遞函數矩陣。
但是優化該增益矩陣必須首先滿足如下幾條原則:
(1)穩定性。
(2)靈敏性。
(3)魯棒性。
根據文獻[3]可知系統滿足穩定性的充分條件如下
(21)
因為矩陣Ωij存在不確定矩陣F(τk),所以進行如下變換
(22)
將式(22)代入式(21)中,根據文獻[6]可知該式等價于:存在ηl>0(l=1,2,…,m×n),使得

(23)
(24)
因此,穩定性充分條件可以轉換為:增益矩陣Ll必須滿足存在對稱正定矩陣P以及ηl>0(l=1,2,…,m×n),使得矩陣不等式(24)成立。
令優化問題的適應度函數如下所示
(25)
式中:J1表示的是系統與干擾信號之間的傳遞函數系數矩陣,ωr表示的是干擾信號的頻率大小,J1應盡可能小,以減少干擾對系統的影響。J2表示的是系統對故障的傳遞函數系數矩陣,參考文獻可知z=1。優化的目的是使擬合函數最小,從而使系統對故障信號更敏感,對干擾信號更具有魯棒性。
因此優化問題可以轉換為

(26)
具體的優化步驟為:
步驟1 設置算法的基本參數與初始值大小,給定輸入為觀測器矩陣的元素,并且計算出初始適應度函數值;
步驟2 對蝙蝠種群進行交叉運算,判斷蝙蝠個體是否發生了變異,若發生變異,則按照變異過程進行處理;
步驟3 更新此時的蝙蝠種群位置,求解線性矩陣不等式(26),如果求出可行解,則更新后的種群以細微擾動量在當前最優解附近重新尋優,否則重新進行位置尋找;
步驟4 計算蝙蝠種群新位置的適應度函數值,并更新聲波響度、混沌脈沖發射率以及最優值;
步驟5 對比得到當前種群內適應度函數的最優值,并記錄最優值的位置;
步驟6 判斷是否達到最大迭代次數Iterate_times,若到達,則得到增益矩陣Ll;若未滿足,返回步驟2。
實驗所用的半物理平臺為分布式框架結構。圖4顯示了該平臺的設計框架思路。該系統主要包括:仿真計算機和控制器、智能執行器和智能傳感器以及CAN總線。仿真計算機實現發動機數學模型的仿真。智能傳感器實現數據測量以及初步轉換并將其通過CAN總線傳至控制器??刂破鲗崿F相應的控制功能,并輸出控制信號控制智能執行機構。智能執行器收到CAN總線的數據之后實現相應的控制行為。整個過程實現閉環控制。系統照片如圖5所示。

圖4 系統框架

圖5 網絡控制系統仿真平臺實物
設工業電機網絡控制系統表達式為

(27)
設置采樣周期時間T=20 ms可得
(28)


(29)
首先進行參數的初始化設置,設置的根本依據是遵循試湊法的原則以及相關參考文獻的結論而來[16]。令尋優解域屬于[-10,10]6,令采樣步長設置τ=20 ms,gmax=1000,sizepop=100,相關參數設置為m=5,α0=β0=0.7。
以基本蝙蝠算法以及改進蝙蝠優化算法對優化問題(26)進行迭代優化,相應的結果如圖6和表1所示。
從圖6和表1中可以看出,改進蝙蝠優化算法到達極小值時的收斂速度比基本BA快7個迭代周期。且改進蝙蝠優化算法收斂曲線無明顯的轉折,進一步表明該方法不易陷入局部最優,改進蝙蝠算法具有更好的優化效果。

圖6 優化結果對比

表1 優化結果對比
從表1中可以得到最優適應度函數所對應的故障觀測器矩陣為L1=[0.3552-0.99011.30210-0.57970]T,同理可得其它3種情況的觀測器增益矩陣為

由于系統發送的數據量很少,因此數據包的數據量僅為在半物理平臺上模擬雙通道多數據包傳輸所需的3位。因此將第四個數據位設置為CAN總線數據包標識位。通過該標識位識別不同的數據包,圖7顯示了發送設置數據包的隨機序列。

圖7 數據包隨機傳輸序列
傳感器發生短路故障,則狀態變量會出現一個突變,該種故障模式與階躍型故障十分類似,故通過階躍故障來模擬短路故障,對系統施加一個幅值較小的階躍型故障,當添加了一幅度為0.92的干擾信號。檢測結果如圖8和圖9所示,分別顯示了經典檢測方法以及改進蝙蝠優化算法優化檢測方法的結果。經典方法的殘差信號的抖動幅度為0.12,而優化方法的殘差方法的振動幅度僅為0.069,表明添加的干擾對經典檢測方法會產生顯著的影響,使得設置閾值并不能完全區分狀態。而提出的檢測方法對故障信號實現了顯著的放大,另外還大大降低了干擾信號幅值。提出的方法使得閾值設置范圍從經典方法的0.12~0.166增加至0.069~0.202。該范圍擴大了3.52倍,表明該方法有助于區分故障狀態和正常狀態。

圖8 傳統魯棒觀測器檢測殘差

圖9 改進BA觀測器檢測殘差
另外,傳感器中若發生漂移故障,將會導致狀態變量一某一斜率變化,該型故障與斜坡故障十分切合,故通過斜坡故障進行模擬。令傳感器漂移模擬故障為f=0.15*(t-20)*δ(t-20),圖10顯示了當添加一幅度為0.11的干擾時,使用經典方法和改進蝙蝠優化方法獲得的殘差的比較圖。從圖10中可以發現,經典方法針對干擾信號的十分敏感,相反,優化的故障觀測器方法可以顯著降低噪聲含量,并且故障信號具有顯著的放大效果,從而導致閾值和系統漂移的快速判別誤差。

圖10 斜坡故障監測殘差對比
進一步給定一個傳感器的非線性故障
(30)
添加一幅值為0.08的噪聲信號。圖11展示了檢測殘差的比較結果。經典方法的誤差振動約為0.0042,而優化方法的誤差振幅為0.0022。結果表明,噪聲信號對傳統的檢測方法影響很大。此外,優化方法的閾值選擇范圍是0.0022~0.0184,而經典方法的閾值選擇范圍是0.0042~0.0083,相當于優化方法的閾值選擇范圍相比經典方法增大4.12倍。此外,驗證了這種優化方法可以更好地辨別故障和正常情況。

圖11 非線性故障檢測殘差對比
總之,改進蝙蝠算法優化的觀測器增益矩陣可以將干擾信號放大,并減少干擾的影響。這樣可以有效降低故障誤診率,提高故障檢測的準確性。
針對工業電機網絡控制系統,提出了基于混沌變異蝙蝠優化算法的安全診斷優化設計方法。通過仿真驗證可得出如下結論:
(1)在不同的丟包情況下能夠保證系統的收斂性與穩定性。
(2)改進蝙蝠算法比基本蝙蝠算法在優化準確率以及優化速度上具有更好的效果。
(3)提出方法不僅可以抑制噪聲信號,還能夠提升故障狀態和正常狀態之間的區分度,使得閾值選擇具有更大的容錯范圍與選擇空間,有效改善各種故障類型的檢測效果。