邵建浩,張婷
(上海工程技術(shù)大學(xué)機(jī)械與汽車工程學(xué)院,上海 201620)
BP神經(jīng)網(wǎng)絡(luò)是一種典型的人工神經(jīng)網(wǎng)絡(luò),具有優(yōu)越的非線性映射能力,所以在故障診斷領(lǐng)域得到了廣泛應(yīng)用。湖北工業(yè)大學(xué)將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用在礦用減速箱的故障診斷中,準(zhǔn)確預(yù)測了礦用減速箱故障。青島大學(xué)用GA-ACO-BP算法更加準(zhǔn)確和快速地診斷了行星齒輪箱故障。山東理工大學(xué)將GA-BP神經(jīng)網(wǎng)絡(luò)用于光伏陣列故障檢測。
本文作者在ADAMS軟件中導(dǎo)入SCARA機(jī)器人模型,測得其運動時大臂前后端、小臂前后端及底座端加速度數(shù)據(jù),在MATLAB中運用BP神經(jīng)網(wǎng)絡(luò)對其進(jìn)行故障的智能識別與分類,驗證該模型的準(zhǔn)確性。
SCARA機(jī)器人結(jié)構(gòu)簡圖如圖1所示,SCARA機(jī)器人由大臂、小臂、底座等部件組成,有4個自由度(3個轉(zhuǎn)動和1個移動),1個運動周期為2 s,大臂向左旋轉(zhuǎn)90°,小臂向左旋轉(zhuǎn)180°后回到原位,同時末端執(zhí)行器螺旋式下降到最低點再回到原位耗時1 s,為前半個周期;大臂向右旋轉(zhuǎn)90°,小臂向右旋轉(zhuǎn)180°后回到原位,同時末端執(zhí)行器螺旋式下降到最低點再回到原位耗時1 s,為后半個周期。
圖1 SCARA機(jī)器人結(jié)構(gòu)簡圖
由于SCARA機(jī)器人體積小,減少了生產(chǎn)線所需空間,并具有可在平面搬運、挑揀、裝配等特點,特別適用于3C制造業(yè)。近年來,由于工業(yè)級產(chǎn)品更新速度也出現(xiàn)類似3C類產(chǎn)品的趨勢,所以3C行業(yè)眾多EMS工廠開始大量使用SCARA機(jī)器人。隨著SCARA機(jī)器人應(yīng)用愈加廣泛,其安全性問題也顯得越來越重要。因此,為避免因機(jī)器人故障帶來的安全問題及經(jīng)濟(jì)損失,對SCARA機(jī)器人的故障診斷更加重要。
BP神經(jīng)網(wǎng)絡(luò)又稱為誤差反向傳播(Back Propagation)神經(jīng)網(wǎng)絡(luò),是一種多層的前向型神經(jīng)網(wǎng)絡(luò)。它由輸入層、隱含層、輸出層組成,以網(wǎng)絡(luò)誤差平方為目標(biāo)函數(shù),采用梯度下降法來計算目標(biāo)函數(shù)的最小值,結(jié)構(gòu)如圖2所示。
在圖2中,~為輸入層的個輸入,隱含層含有個神經(jīng)元,~為隱含層個神經(jīng)元與輸出層個神經(jīng)元之間的權(quán)值,~為輸出層個輸出。BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程由信號的正向傳播與誤差的反向傳播兩個過程組成。
圖2 BP神經(jīng)網(wǎng)絡(luò)
(1)信號的前向傳播
記為隱含層各節(jié)點的閾值,為隱含層的激活函數(shù),為輸出層各節(jié)點的閾值,為輸出層的激活函數(shù)。
隱含層第個節(jié)點的輸入為
(1)
將式(1)代入到隱含層的激活函數(shù)可得到隱含層第個節(jié)點的輸出為
(2)
然后,將作為輸出層的輸入節(jié)點,得到輸出層的輸入為
(3)
將式(3)代入輸出層的激活函數(shù)可得:
(4)
(2)誤差的反向傳播
先計算實際輸出,然后利用誤差梯度下降法修正各層的權(quán)值和閾值。輸出所產(chǎn)生的誤差信號定義為
=-
(5)
其中:為期望輸出。單個樣本的均方誤差函數(shù)為
(6)
對個訓(xùn)練樣本的總誤差函數(shù)為
(7)
由誤差梯度下降法可得隱含層權(quán)值修正值Δ及閾值修正值Δ,以及輸出層權(quán)值修正值Δ及閾值修正值Δ:
(8)
(9)
(10)
(11)
其中:為網(wǎng)絡(luò)學(xué)習(xí)率。
BP神經(jīng)網(wǎng)絡(luò)隱含層的激活函數(shù)采用Sigmoid正切函數(shù)tansig,輸出層的激活函數(shù)采用線性函數(shù)purelin。BP神經(jīng)網(wǎng)絡(luò)具有廣泛的適應(yīng)性和有效性,主要應(yīng)用于模式識別與分類、數(shù)據(jù)壓縮和函數(shù)逼近等方面。
3.1.1 數(shù)據(jù)來源
將SCARA機(jī)器人模型導(dǎo)入ADAMS軟件中進(jìn)行仿真,仿真時間設(shè)置為10 s,步數(shù)為1 000,采集大臂前后端、小臂前后端及底座加速度數(shù)據(jù),共計1 000組,此為無故障模型數(shù)據(jù)。之后再建立5個模型,分別在大臂前后端、小臂前后端及底座5個部位設(shè)置長約3 cm、寬0.1 cm、深約0.9 cm的裂紋,然后進(jìn)行仿真,采集各部位加速度數(shù)據(jù),每個帶裂紋的模型測得1 000組數(shù)據(jù),加上無故障模型的1 000組數(shù)據(jù),共計6 000組數(shù)據(jù)。正常及單故障分類如表1所示。
表1 正常及單故障分類
3.1.2 BP神經(jīng)網(wǎng)絡(luò)故障診斷
BP神經(jīng)網(wǎng)絡(luò)計算流程如圖3所示。
圖3 BP神經(jīng)網(wǎng)絡(luò)計算流程
以0.1 s為間隔,將0.1~10 s內(nèi)的數(shù)據(jù)作為測試樣本,共計600組,其余數(shù)據(jù)作為訓(xùn)練樣本共計5 400組,均用Excel表格存儲。在MATLAB中建立BP神經(jīng)網(wǎng)絡(luò)算法,讀取訓(xùn)練樣本Excel表格對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。訓(xùn)練完成后讀取測試樣本Excel表格對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行測試。
3.1.3 故障診斷結(jié)果分析
圖4所示為BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差結(jié)果,可知到訓(xùn)練結(jié)束時,誤差為0.016 929,已不影響最終結(jié)果。經(jīng)BP神經(jīng)網(wǎng)絡(luò)診斷分類,600組測試樣本中有68組分類錯誤,正確率為88.7%,由此可以判斷BP神經(jīng)網(wǎng)絡(luò)故障診斷模型可以較為準(zhǔn)確地識別SCARA機(jī)器人故障的類別。部分實驗結(jié)果數(shù)據(jù)與測試結(jié)果分別如表2、表3所示。
圖4 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差結(jié)果
表2 正常及單故障部分實驗結(jié)果
表3 正常及單故障分類測試結(jié)果
3.2.1 數(shù)據(jù)來源
SCARA機(jī)器人在實際工作時,有時會同時發(fā)生多個部位故障,多故障的診斷也更復(fù)雜,所以有必要進(jìn)行多故障診斷研究。與單故障診斷一樣,多故障診斷的加速度數(shù)據(jù)也來自ADAMS軟件的SCARA機(jī)器人模型。故障尺寸與單故障診斷故障尺寸一致,每種故障類型各測得1 000組數(shù)據(jù),共計6 000組,多故障分類如表4所示。
表4 正常及多故障分類
3.2.2 BP神經(jīng)網(wǎng)絡(luò)故障診斷
多故障診斷方法同單故障診斷相同,將訓(xùn)練樣本5 400組輸入BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,測試樣本600組用于測試。
3.2.3 故障診斷結(jié)果分析
經(jīng)BP神經(jīng)網(wǎng)絡(luò)診斷分類,600組測試樣本中有7組分類錯誤,正確率為98.8%,結(jié)果如表5所示??芍寒?dāng)SCARA機(jī)器人存在多個混合故障時,BP神經(jīng)網(wǎng)絡(luò)智能識別的準(zhǔn)確率明顯提高,與期望輸出基本一致,可準(zhǔn)確地對SCARA機(jī)器人的故障進(jìn)行識別與分類。
表5 正常及多故障分類測試結(jié)果
在長時間、高強(qiáng)度的工作壓力下,SCARA機(jī)器人的大、小臂前后端及底座部位有可能出現(xiàn)裂紋等故障,一旦發(fā)生故障會帶來一系列安全問題和經(jīng)濟(jì)損失。本文作者采集SCARA機(jī)器人工作過程中上述部位的加速度數(shù)據(jù),將數(shù)據(jù)輸入建立好的BP神經(jīng)網(wǎng)絡(luò)故障診斷模型中,運用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行故障的智能識別與分類。結(jié)果表明:BP神經(jīng)網(wǎng)絡(luò)分類結(jié)果與實際結(jié)果基本一致,BP神經(jīng)網(wǎng)絡(luò)能快速且準(zhǔn)確地確定故障類型,在機(jī)器人故障診斷領(lǐng)域具有廣泛應(yīng)用前景。