王舒瑋
(山西大同大學 機電工程學院, 山西 大同 037000)
數控機床是目前最典型的機電一體化設備,其主要特點是靈活性好、效率高、精度高且產品質量穩定.數控機床集自動控制技術、機械制造技術、計算機技術和測試技術于一體,在現代機械制造業中發揮著重要作用[1].然而,如果數控機床的機械結構更復雜,部件更多,則出現故障的概率將會增加,數控機床的可靠性則會降低.數控機床的故障是多種多樣的,導致出現故障的因素也是不確定的,故障主要出現在機械、電氣、控制等方面[2].同一故障的引發因素不同,甚至存在多種因素共同作用的情況,導致檢測數控機床故障的難度大大提升.因此,如何分析數控機床故障出現的誘發因素,準確判斷并查找故障出現的位置,采用合理排除方法使數控機床能夠繼續恢復正常工作,是解決數控機床故障診斷的首要任務[3].
目前常見的數控機床故障診斷方法為逐層逐步診斷法.準確判斷并查找故障出現的位置至關重要.可能出現問題的位置主要包括主機結構、數控系統、伺服系統、電機驅動系統、機床電氣系統和液壓系統等[4].在數控機床中往往故障的癥狀發生在機床的某個環節,而故障原因卻又可能出現在一個或多個系統中.
目前,我國自主研發的數控機床在自診斷故障環節相對比較薄弱,智能診斷能力較低,即使診斷到故障環節,但對查找故障出現的原因定位仍不夠準確,容易出現維修人員無法根據故障現象準確確定故障原因的問題[5].因此,在數控機床使用和研發過程中,如何根據出現的故障現象快速準確地診斷故障原因是非常重要的.隨著智能化、現代化的發展以及自動控制和人工智能領域知識的不斷融合,現代數控機床故障診斷工具實現了從智能到綜合智能的轉變[6].在使用數控機床時,每個傳感器都有其特定的功能和測量范圍,每個傳感器的數據僅限于描述特定對象或系統.基于單傳感器的特點,數控機床的故障產生、診斷和分析無法完成整體判斷[7].若故障分析和預測方法能夠預測故障的發生或發展趨勢誤差(即預測誤差或事后效應),則可進行及時預防或維護,因此,誤差預測對數控機床的實際使用和可靠性研究具有深遠意義[8].
麻雀搜索算法[9]是一種群體優化算法,可以抽象地表述為探測者—跟隨者—預警者模型.目前麻雀搜索算法優化BP神經網絡在各個領域都已廣泛應用,但將其應用于數控機床故障的診斷尚未有深度研究.本文采用麻雀搜索算法改善BP神經網絡的性能,提出了一種新的數控機床狀態故障檢測方法,進而診斷數控機床服役中的常見故障.
數控機床在機械工業中得到了廣泛應用,其后續維護、維修工作變得越來越重要.為了提高數控機床的維修效率、維修水平和故障診斷率,排查數控機床系統故障的重要任務之一是在數控機床發生故障時,對故障產生的誘發因素進行判斷和評估,從而便于準確確定故障發生位置,及時有效地采取相應故障診斷措施進行故障修復[10].數控機床常見故障現象和誘因如表1、2所示.

表1 部分數控機床故障現象集Tab.1 Partial symptom sets of CNC machine tool faults

表2 部分數控機床故障誘因集Tab.2 Partial cause sets of CNC machine tool faults
麻雀搜索算法是一種新型群體智能優化算法,具有優化能力強、目標限制低、設置參數少等優點,已成功應用于圖像分割、短期光伏性能預測等實際應用中[11].在麻雀搜索算法中種群中的個體具備以下特點:每個個體可以隨時監控種群中其他個體的行為,種群中的個體可與食物供應量較高的個體進行競爭以提高捕食效率;個體策略的選擇主要取決于食物儲備;由于生活在種群邊緣的個體更易受到攻擊,故將努力靠近中部地區,而中心地區個體將與其附近個體靠攏從而降低風險;當個體發現捕食者時,會向種群發出警告[12].根據以上種群特征,將種群分為探測者和跟隨者兩種類型,麻雀搜索算法的具體步驟為:
1) 首先確定麻雀種群數量、所需優化變量維數、最大迭代次數和搜索區域上、下邊界.
2) 探測者負責尋找食物,引導整個種群行動,跟隨者跟隨探測者尋找食物.同時,安排一定比例的個體進行勘查,當意識到危險時發出信號警告種群并采取反捕行動[13].種群中探測者負責尋找食物的方向和位置,從而使跟隨者更接近食物所在方向.跟蹤到捕食者后發出警告信號,如果警告信號值大于安全閾值,探測者將引導種群進入安全區域,即
(1)

3) 當探測者所處位置的能力值較低時,一些饑餓的跟隨者會轉移到其他地方覓食,同時跟隨者會不斷地監視探測者,然后爭奪食物資源以降低饑餓率.因此,追隨者在種群中的位置更新表達式為
(2)

4) 當個體意識到種群中的危險時,個體沿著邊緣移動到安全區域,而麻雀(最初在種群中心)則隨機移動以形成新的種群,即
(3)
式中:β為控制步長參數,且為服從N(0,1)的隨機數;K∈[-1,1]為麻雀位置,用于確定步長;fi為第i只麻雀的適應度值;fb為當前麻雀種群的最優適應度值;fw為當前麻雀種群的最差適應度值;e為極小數.
在SSA優化BP神經網絡訓練的具體過程中,首先建立故障診斷模型樣本,確定閾值和權值為不為零的任意數,然后確定輸入和目標輸出,計算實際輸出和隱含層數量,將故障現象集作為訓練樣本模型的輸入,確定訓練樣本集和測試樣本集,對訓練誤差進行計算,輸出層和輸入層計算公式[3]分別為
δpj=Opj(1-Opj)(tpj-Opj)
(4)
(5)
隨后確定BP神經網絡基本參數,其中輸入層設定為34個輸入向量,與34組故障征兆集數量一致;輸出層設定為54個輸出向量,與54組故障誘因集數量一致,利用MATLAB程序函數設定隱藏層數量為12個.此外,利用MATLAB程序對SSA-BP神經網絡進行設定,初始化BP網絡權值和閾值表達式[5]分別為
ωi(t+1)=ωi(t)+ηδjOpj+
α[ωi(t)-ωi(t-1)]
(6)
θi(t+1)=θi(t)+ηδj+
θα[θi(t)-θi(t-1)]
(7)
利用麻雀搜索算法計算種群個體,確定麻雀適應度,并搜索相關設定參數,確定覓食和反捕食行為,并更新最佳適應度值和位置信息[14].利用最佳適應度值和位置信息,根據式(1)~(3)分別更新探測者位置、追隨者位置與麻雀危險位置,確定最新麻雀位置的適應度,將更新后的適應度與最優適應度進行比較,若滿足終止準則,獲取最優參數并進行仿真預測后輸出結果;若不滿足終止準則,檢查迭代情況并重新初始化BP權值和閾值.數控機床故障診斷具體步驟如圖1[15]所示.

圖1 數控機床故障診斷具體步驟Fig.1 Specific steps for fault diagnosis of CNC machine tool
將CAK6150型數控車床作為實驗設備,整理了該車床的常見故障征兆與原因,將故障出現概率數據化后輸入SSA-BP神經網絡中.在診斷過程中由于故障頻率變化很大,故障征兆中所產生的等級分為高、中、低三等,具體結果如圖2所示.

圖2 故障發生概率Fig.2 Fault probability
圖2中的信息應適用于機床重復處理和常見錯誤之間的因果關系.以主軸常見故障為例,表3列出了主軸電機故障的一些常見原因和出現概率.

表3 故障征兆和誘因Tab.3 Fault symptoms and causes
由表3可見,在數控機床主軸停轉(作為輸入向量P1)的故障原因中,最容易導致主軸停轉的原因(作為輸出向量T1)是錯誤激活脫機信號和開關故障;其次是超載和電路板故障;另外還有可能是液壓缸電纜開關跌落、需更換液壓缸或漏油.因此,主軸停轉所對應的向量表達式為
P1=[0,0,0.934,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]T
T1=[0.821,0,0,0,0,0,0,0,0,0,0,0.623,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.598,0.421,0.398,0.821,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]T
將34組故障征兆集定義為輸入向量,54組故障誘因集定義為輸出向量,并將其作為訓練樣本應用到SSA-BP神經網絡中,則
圖3為BP神經網絡收斂情況.由圖3可見,標準BP網絡對數控機床常見故障的仿真誤差較大,迭代收斂效果不佳且存在較大誤差震蕩現象[16].

圖3 BP神經網絡收斂情況Fig.3 Convergence of BP neural network
利用SSA-BP神經網絡對故障仿真誤差進行重新測試,將實際工況中發生的數控機床故障數據作為網絡樣本集,利用MATLAB軟件對其進行訓練,SSA-BP神經網絡收斂情況如圖4所示.由圖4可見,SSA-BP神經網絡可以實現迭代100次的效果,與標準BP神經網絡相比,收斂速度更快,收斂曲線更平穩.

圖4 SSA-BP神經網絡收斂情況Fig.4 Convergence of SSA-BP neural network
圖5中SSA-BP神經網絡預測故障輸出誤差.由圖5可以計算得到SSA-BP神經網絡預測誤差為2.29%,接近預期效果對應的理論偏差,仿真結果與理論輸出非常接近.SSA-BP神經網絡預測故障輸出誤差與傳統BP神經網絡相比較小.

圖5 SSA-BP神經網絡預測故障輸出誤差Fig.5 Fault output error predicted by SSA-BP neural network
采用麻雀算法優化BP神經網絡解決數控機床故障診斷問題,對數控機床常見故障創建訓練樣本模型,對其故障誘因導致的故障現象進行了誤差分析.將實際工況中發生的數控機床故障數據作為網絡樣本集,利用MATLAB軟件對其進行訓練后,不僅提高了診斷時效,還提高了判斷故障誘因的準確性.因此,將SSA-BP神經網絡模型用于檢測數控機床故障的方案是可行的.