莫明慧,黃玉森
(西安建筑科技大學(xué),西安710000)
隨著現(xiàn)代生產(chǎn)技術(shù)的發(fā)展和科學(xué)技術(shù)的進(jìn)步,挖掘機(jī)液壓系統(tǒng)變得越來越復(fù)雜,具有越來越多的自動性和智能性。挖掘機(jī)是一臺多功能機(jī)器,廣泛用于采礦開采過程中。挖掘機(jī)結(jié)構(gòu)主要由發(fā)動機(jī)、液壓系統(tǒng)、工作裝置、行走裝置和電子控制系統(tǒng)組成。當(dāng)挖掘機(jī)液壓系統(tǒng)出現(xiàn)故障時(shí),如果不能及時(shí)處理,不僅會導(dǎo)致挖掘機(jī)液壓系統(tǒng)的長期運(yùn)行中斷,還會增加設(shè)備成本,降低工作效率,甚至帶來危險(xiǎn)。因此,在挖掘機(jī)運(yùn)行時(shí),對挖掘機(jī)液壓系統(tǒng)故障診斷的準(zhǔn)確性、及時(shí)性提出了很高的要求。準(zhǔn)確、及時(shí)地確定故障原因和故障位置可以減少故障重復(fù)出現(xiàn)的概率,減少維護(hù)時(shí)間。因此,為了提高生產(chǎn)率和安全原因, 對自動預(yù)測維護(hù)和故障診斷系統(tǒng)的需求越來越大。
現(xiàn)代人工智能在故障診斷中得到了快速發(fā)展,BP 神經(jīng)網(wǎng)絡(luò)已被證明是一種非??煽康脑\斷技術(shù), 具有良好的學(xué)習(xí)能力。BP 神經(jīng)網(wǎng)絡(luò)在故障診斷的應(yīng)用是利用非線性映射的BP網(wǎng)絡(luò)對非線性相關(guān)的故障進(jìn)行信息采集。神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù)是故障原因,輸出是故障類型【1】,BP 神經(jīng)網(wǎng)絡(luò)由神經(jīng)元組成,通過權(quán)重系數(shù)將各個(gè)神經(jīng)元相互聯(lián)系,使其具有較強(qiáng)的自學(xué)習(xí)能力。但目前傳統(tǒng)的BP 神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)規(guī)則是梯度下降法,存在收斂速度慢、容易陷入局部最優(yōu)等缺點(diǎn)【2】。
針對BP 神經(jīng)網(wǎng)絡(luò)在訓(xùn)練挖掘機(jī)液壓系統(tǒng)故障診斷模型中學(xué)習(xí)收斂慢、容易陷入局部最優(yōu)等問題,本文提出了一種基于ACA-BP 神經(jīng)網(wǎng)絡(luò)算法的挖掘機(jī)液壓系統(tǒng)故障診斷方法。該算法主要將蟻群算法和BP 神經(jīng)網(wǎng)絡(luò)相融合,通過蟻群算法中的全局隨機(jī)搜索算法,使BP 神經(jīng)網(wǎng)絡(luò)生成一組較優(yōu)的初始權(quán)重和閾值,進(jìn)行BP 神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練,建立故障診斷模型,提高了故障診斷能力和近似模型誤差的能力。
BP 神經(jīng)網(wǎng)絡(luò)由輸入層、輸出層和多個(gè)隱含層組成,從輸入層開始到層間單向通信,傳遞到隱含層節(jié)點(diǎn),最后到達(dá)輸出層。每一層包含多個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)代表一個(gè)神經(jīng)元,節(jié)點(diǎn)與連接之間沒有關(guān)聯(lián)。網(wǎng)絡(luò)的層次由3 層(輸入層、輸出層和隱含層)傳感器網(wǎng)絡(luò)精確地建立,任何連續(xù)的函數(shù)都用三級傳感器來表示,因此,每一層神經(jīng)網(wǎng)絡(luò)參數(shù)都可以由對應(yīng)故障征兆的輸入層的神經(jīng)節(jié)點(diǎn)M,輸出層的神經(jīng)節(jié)點(diǎn)L 來確定。對應(yīng)故障原因的個(gè)數(shù),用經(jīng)驗(yàn)公式描述隱含層的神經(jīng)節(jié)點(diǎn)數(shù)。
改進(jìn)BP 神經(jīng)網(wǎng)絡(luò)主要將蟻群算法和BP 神經(jīng)網(wǎng)絡(luò)相融合,通過蟻群算法中的全局隨機(jī)搜索算法,使BP 神經(jīng)網(wǎng)絡(luò)生成一組較優(yōu)的初始權(quán)重和閾值。提高了BP 神經(jīng)網(wǎng)絡(luò)的收斂速度,也降低了易陷入局部最優(yōu)解的風(fēng)險(xiǎn)。根據(jù)蟻群算法對BP神經(jīng)網(wǎng)絡(luò)的改進(jìn)思想,一種新的ACA-BP 神經(jīng)網(wǎng)絡(luò)算法流程如下【3】:
1)網(wǎng)絡(luò)中有n個(gè)待優(yōu)化參數(shù),包括d個(gè)權(quán)值和s個(gè)閾值。首先將這些參數(shù)記為P1,P2,…,Pn,其中,前d個(gè)參數(shù)值表示權(quán)值,后s個(gè)參數(shù)值表示閾值,對于每個(gè)參數(shù)Pi(1≤i≤n),螞蟻的數(shù)目為m,每個(gè)權(quán)值和閾值的取值范圍為[0.1],將所有初始權(quán)值和閾值的定義域均勻地劃分成e個(gè)子區(qū)間,即將區(qū)間長度進(jìn)行e 等分,從這每個(gè)區(qū)間里面隨機(jī)選出一個(gè)初始值,初始時(shí)刻設(shè)定每一個(gè)子區(qū)間的元素有相同信息素量。信息素?fù)]發(fā)系數(shù)p,信息素增量強(qiáng)度Q,t 為循環(huán)次數(shù),迭代次數(shù)CN,算法結(jié)束條件ε0【4】。
2)開始搜索:每一只螞蟻都從集合中隨機(jī)產(chǎn)生起始位置,開始搜索。然后,再在每次搜索中,每只螞蟻從集合I(i?(1,n))中選擇一個(gè)元素。對于集合I,第a(a=1,2,…,m)只螞蟻,根據(jù)下面的概率公式按照輪盤賭的方式隨機(jī)選擇其第j個(gè)元素,直到全部蟻群都到達(dá)食物源。其中的概率為:
其中,j0的概率為:
τij(t)表示t 次循環(huán)中螞蟻在點(diǎn)i,j 之間的信息量,q0是一個(gè)確定概率,它指出選取最佳解的節(jié)點(diǎn)值所在的子區(qū)間的概率,k 為第k 只螞蟻。
3)根據(jù)公式對螞蟻的路徑進(jìn)行信息素局部更新:
4)把每一個(gè)螞蟻選擇的食物作為權(quán)值和閾值,將這組數(shù)據(jù)帶入BP 網(wǎng)絡(luò)中,進(jìn)行一次學(xué)習(xí),可以得到誤差ε。
5)記錄所有螞蟻中的最小誤差和其對應(yīng)的權(quán)值和閾值。當(dāng)循環(huán)次數(shù)大于CS,則轉(zhuǎn)到流程8),否則轉(zhuǎn)到流程6)。
6)根據(jù)公式對螞蟻的路徑進(jìn)行全局更新:
7)重復(fù)流程2)到流程5),直到完成迭代次數(shù)。
8)從所有的迭代中找出最小的誤差ε,及對應(yīng)的權(quán)值和閾值。對得到的最優(yōu)解作為BP 神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值進(jìn)行學(xué)習(xí),直到滿足結(jié)束條件ε≤ε0。否則,繼續(xù)學(xué)習(xí)。
本文實(shí)例以小松PC200 挖掘機(jī)的液態(tài)系統(tǒng)為研究對象,其中,小松PC200 挖掘機(jī)的液態(tài)系統(tǒng)的模型如圖1 所示。首先從小松PC200 挖掘機(jī)的生產(chǎn)集成管理系統(tǒng)中提取液壓系統(tǒng)發(fā)生故障時(shí),反應(yīng)液壓系統(tǒng)狀態(tài)的數(shù)據(jù)。將其作為各組的訓(xùn)練樣本,各組訓(xùn)練樣本數(shù)據(jù)分別包括8 種故障類型,故障類型包括液壓泵周圍產(chǎn)生噪聲、整體無反應(yīng)、整機(jī)動作緩慢故障分析、系統(tǒng)總流量不足、系統(tǒng)工作壓力低、系統(tǒng)內(nèi)泄漏、系統(tǒng)外泄漏、振動或噪聲和每一種故障類型對應(yīng)多種故障原因【5】。其中,液壓泵周圍產(chǎn)生噪聲的故障原因是吸油濾油器有故障、油箱與液壓泵之間的油管或管卡松動、液壓泵油箱缺油、液壓油質(zhì)量不佳;整體無反應(yīng)的故障原因是液壓油供給不足、自減壓閥故障、柱塞泵破損、發(fā)動機(jī)的連續(xù)不穩(wěn)定、溢流閥故障;整機(jī)動作緩慢故障分析的故障原因是油泵壓力排量降低、故障子系統(tǒng)溢流閥故障、故障所在子系統(tǒng)液壓泵故障;系統(tǒng)總流量不足的故障原因是發(fā)動機(jī)功率不足、轉(zhuǎn)速偏低、液壓泵磨損、泵油不足或液壓泵變量機(jī)構(gòu)失靈、管路或?yàn)V油器堵塞、通油不暢、油箱缺油;系統(tǒng)工作壓力低的故障原因是液壓泵磨損內(nèi)泄漏或泵油壓力偏低、溢流閥調(diào)整不當(dāng)或閥芯臟、多路換向閥磨損或間隙過大或卡滯;系統(tǒng)內(nèi)泄漏的故障原因是液壓泵內(nèi)泄漏、液壓缸及液壓馬達(dá)內(nèi)泄漏、控制閥內(nèi)泄漏;系統(tǒng)外泄漏的故障原因是液壓附件漏油、液壓泵或密封損壞漏油、控制閥密封損壞漏油、液壓缸或液壓馬達(dá)漏油、液壓馬達(dá)漏油;振動或噪聲的故障原因是缺少液壓油或液壓油中進(jìn)入空氣或粗濾器堵塞、液壓泵密封失靈進(jìn)空氣或軸承或旋轉(zhuǎn)體損壞、溢流閥工作不良、液壓馬達(dá)內(nèi)部旋轉(zhuǎn)體損壞、控制閥失靈。提取液壓系統(tǒng)發(fā)生故障時(shí),反應(yīng)液壓系統(tǒng)狀態(tài)的數(shù)據(jù),將故障類型X=(x1,x2,x3,x4,x5,x6,x7,x8)作為BP 神經(jīng)網(wǎng)絡(luò)的輸入層,故障原因Y=(y1,y2,……,y31,y32)作為網(wǎng)絡(luò)的期望輸出,通過訓(xùn)練不同故障類型的數(shù)據(jù),建立故障類型與故障原因的映射關(guān)系,組合出網(wǎng)絡(luò)的訓(xùn)練樣本,一共8 組訓(xùn)練樣本(見表1)。因此,ACA-BP 訓(xùn)練模型中輸入層的節(jié)點(diǎn)數(shù)為8,輸出層節(jié)點(diǎn)數(shù)為32,選取k=3,所以,隱含層的節(jié)點(diǎn)數(shù)為43。
圖1 PC200 挖掘機(jī)的液壓系統(tǒng)原理
為了驗(yàn)證本文所提出的ACA-BP 算法,本文選擇傳統(tǒng)的BP 神經(jīng)網(wǎng)絡(luò)算法與ACA-BP 算法進(jìn)行了對比實(shí)驗(yàn)研究。
根據(jù)上述ACA-BP 算法的訓(xùn)練步驟,進(jìn)行模型的訓(xùn)練。選擇迭代次數(shù)為1000,誤差收斂因子為0.00048,隱層和輸出層的激活函數(shù)為非線性S 形函數(shù),網(wǎng)絡(luò)連接權(quán)數(shù)n=72。設(shè)置蟻群算法列表的基本參數(shù)如下:殘差信息量r=0.7,螞蟻數(shù)m=40,信息總量q=100。
通過對上述輸入輸出樣本的統(tǒng)計(jì)分析,可以得到算法訓(xùn)練誤差圖。橫坐標(biāo)表示網(wǎng)絡(luò)訓(xùn)練次數(shù),垂直軸表示網(wǎng)絡(luò)性能目標(biāo),即所需的系統(tǒng)誤差,改進(jìn)的BP 神經(jīng)網(wǎng)絡(luò)算法的誤差可達(dá)0.001。訓(xùn)練結(jié)果如圖2 所示。從圖可以看出,神經(jīng)網(wǎng)絡(luò)經(jīng)過600 次訓(xùn)練即已達(dá)到期望目標(biāo)。
表1 網(wǎng)絡(luò)的8 組訓(xùn)練樣本數(shù)據(jù)
通過訓(xùn)練結(jié)果的比較,傳統(tǒng)的BP 算法在950 訓(xùn)練次數(shù)時(shí)達(dá)到最優(yōu),ACA-BP 算法在600 訓(xùn)練次數(shù)時(shí)達(dá)到最優(yōu)。蟻群算法改進(jìn)BP 神經(jīng)網(wǎng)絡(luò)算法法優(yōu)于傳統(tǒng)的BP 算法,ACA-BP 算法優(yōu)先達(dá)到最優(yōu)。
采用故障模式(x1,x4)的值作為測試數(shù)據(jù),輸出值(>0.90)即為合理。故障節(jié)點(diǎn)接近1,其他節(jié)點(diǎn)的輸出值接近0,表明診斷結(jié)果是正確的,得到基于改進(jìn)的神經(jīng)網(wǎng)絡(luò)得到了理想的網(wǎng)絡(luò)輸出(見表2),說明基于ACABP 神經(jīng)網(wǎng)絡(luò)具有良好的性能。
表2 x1,x4 故障模式測試數(shù)據(jù)的輸出結(jié)果
針對傳統(tǒng)的故障推理算法難以滿足挖掘機(jī)液壓系統(tǒng)故障診斷的要求,綜合考慮蟻群算法和BP 神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)及特點(diǎn),提出了一種基于ACA-BP 算法的挖掘機(jī)液壓系統(tǒng)的故障診斷方法。并將該算法應(yīng)用于挖掘機(jī)液壓系統(tǒng)的故障診斷中,通過具體的應(yīng)用, 得出該算法具有良好的性能,故障診斷的準(zhǔn)確性高。根據(jù)測試樣本,可以實(shí)現(xiàn)挖掘機(jī)液壓系統(tǒng)的早期故障隱患的診斷和處理。因此,采用多種智能故障診斷方法的應(yīng)用前景十分樂觀,下一步,將算法運(yùn)用到更實(shí)際的問題中,提高算法的解決實(shí)際問題能力。
圖2 目標(biāo)函數(shù)訓(xùn)練曲線