邵建浩,張婷
(上海工程技術(shù)大學機械與汽車工程學院,上海 201620)

BP神經(jīng)網(wǎng)絡是一種典型的人工神經(jīng)網(wǎng)絡,具有優(yōu)越的非線性映射能力,所以在故障診斷領域得到了廣泛應用。湖北工業(yè)大學將BP神經(jīng)網(wǎng)絡應用在礦用減速箱的故障診斷中,準確預測了礦用減速箱故障。青島大學用GA-ACO-BP算法更加準確和快速地診斷了行星齒輪箱故障。山東理工大學將GA-BP神經(jīng)網(wǎng)絡用于光伏陣列故障檢測。
本文作者在ADAMS軟件中導入SCARA機器人模型,測得其運動時大臂前后端、小臂前后端及底座端加速度數(shù)據(jù),在MATLAB中運用BP神經(jīng)網(wǎng)絡對其進行故障的智能識別與分類,驗證該模型的準確性。
SCARA機器人結(jié)構(gòu)簡圖如圖1所示,SCARA機器人由大臂、小臂、底座等部件組成,有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機器人結(jié)構(gòu)簡圖
由于SCARA機器人體積小,減少了生產(chǎn)線所需空間,并具有可在平面搬運、挑揀、裝配等特點,特別適用于3C制造業(yè)。近年來,由于工業(yè)級產(chǎn)品更新速度也出現(xiàn)類似3C類產(chǎn)品的趨勢,所以3C行業(yè)眾多EMS工廠開始大量使用SCARA機器人。隨著SCARA機器人應用愈加廣泛,其安全性問題也顯得越來越重要。因此,為避免因機器人故障帶來的安全問題及經(jīng)濟損失,對SCARA機器人的故障診斷更加重要。
BP神經(jīng)網(wǎng)絡又稱為誤差反向傳播(Back Propagation)神經(jīng)網(wǎng)絡,是一種多層的前向型神經(jīng)網(wǎng)絡。它由輸入層、隱含層、輸出層組成,以網(wǎng)絡誤差平方為目標函數(shù),采用梯度下降法來計算目標函數(shù)的最小值,結(jié)構(gòu)如圖2所示。
在圖2中,~為輸入層的個輸入,隱含層含有個神經(jīng)元,~為隱含層個神經(jīng)元與輸出層個神經(jīng)元之間的權(quán)值,~為輸出層個輸出。BP神經(jīng)網(wǎng)絡的學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。

圖2 BP神經(jīng)網(wǎng)絡
(1)信號的前向傳播
記為隱含層各節(jié)點的閾值,為隱含層的激活函數(shù),為輸出層各節(jié)點的閾值,為輸出層的激活函數(shù)。
隱含層第個節(jié)點的輸入為

(1)
將式(1)代入到隱含層的激活函數(shù)可得到隱含層第個節(jié)點的輸出為

(2)
然后,將作為輸出層的輸入節(jié)點,得到輸出層的輸入為

(3)
將式(3)代入輸出層的激活函數(shù)可得:

(4)
(2)誤差的反向傳播
先計算實際輸出,然后利用誤差梯度下降法修正各層的權(quán)值和閾值。輸出所產(chǎn)生的誤差信號定義為
=-
(5)
其中:為期望輸出。單個樣本的均方誤差函數(shù)為

(6)
對個訓練樣本的總誤差函數(shù)為

(7)
由誤差梯度下降法可得隱含層權(quán)值修正值Δ及閾值修正值Δ,以及輸出層權(quán)值修正值Δ及閾值修正值Δ:

(8)

(9)

(10)

(11)
其中:為網(wǎng)絡學習率。
BP神經(jīng)網(wǎng)絡隱含層的激活函數(shù)采用Sigmoid正切函數(shù)tansig,輸出層的激活函數(shù)采用線性函數(shù)purelin。BP神經(jīng)網(wǎng)絡具有廣泛的適應性和有效性,主要應用于模式識別與分類、數(shù)據(jù)壓縮和函數(shù)逼近等方面。
3.1.1 數(shù)據(jù)來源
將SCARA機器人模型導入ADAMS軟件中進行仿真,仿真時間設置為10 s,步數(shù)為1 000,采集大臂前后端、小臂前后端及底座加速度數(shù)據(jù),共計1 000組,此為無故障模型數(shù)據(jù)。之后再建立5個模型,分別在大臂前后端、小臂前后端及底座5個部位設置長約3 cm、寬0.1 cm、深約0.9 cm的裂紋,然后進行仿真,采集各部位加速度數(shù)據(jù),每個帶裂紋的模型測得1 000組數(shù)據(jù),加上無故障模型的1 000組數(shù)據(jù),共計6 000組數(shù)據(jù)。正常及單故障分類如表1所示。

表1 正常及單故障分類
3.1.2 BP神經(jīng)網(wǎng)絡故障診斷
BP神經(jīng)網(wǎng)絡計算流程如圖3所示。

圖3 BP神經(jīng)網(wǎng)絡計算流程
以0.1 s為間隔,將0.1~10 s內(nèi)的數(shù)據(jù)作為測試樣本,共計600組,其余數(shù)據(jù)作為訓練樣本共計5 400組,均用Excel表格存儲。在MATLAB中建立BP神經(jīng)網(wǎng)絡算法,讀取訓練樣本Excel表格對BP神經(jīng)網(wǎng)絡進行訓練。訓練完成后讀取測試樣本Excel表格對BP神經(jīng)網(wǎng)絡進行測試。
3.1.3 故障診斷結(jié)果分析
圖4所示為BP神經(jīng)網(wǎng)絡訓練誤差結(jié)果,可知到訓練結(jié)束時,誤差為0.016 929,已不影響最終結(jié)果。經(jīng)BP神經(jīng)網(wǎng)絡診斷分類,600組測試樣本中有68組分類錯誤,正確率為88.7%,由此可以判斷BP神經(jīng)網(wǎng)絡故障診斷模型可以較為準確地識別SCARA機器人故障的類別。部分實驗結(jié)果數(shù)據(jù)與測試結(jié)果分別如表2、表3所示。

圖4 BP神經(jīng)網(wǎng)絡訓練誤差結(jié)果

表2 正常及單故障部分實驗結(jié)果

表3 正常及單故障分類測試結(jié)果
3.2.1 數(shù)據(jù)來源
SCARA機器人在實際工作時,有時會同時發(fā)生多個部位故障,多故障的診斷也更復雜,所以有必要進行多故障診斷研究。與單故障診斷一樣,多故障診斷的加速度數(shù)據(jù)也來自ADAMS軟件的SCARA機器人模型。故障尺寸與單故障診斷故障尺寸一致,每種故障類型各測得1 000組數(shù)據(jù),共計6 000組,多故障分類如表4所示。

表4 正常及多故障分類
3.2.2 BP神經(jīng)網(wǎng)絡故障診斷
多故障診斷方法同單故障診斷相同,將訓練樣本5 400組輸入BP神經(jīng)網(wǎng)絡進行訓練,測試樣本600組用于測試。
3.2.3 故障診斷結(jié)果分析
經(jīng)BP神經(jīng)網(wǎng)絡診斷分類,600組測試樣本中有7組分類錯誤,正確率為98.8%,結(jié)果如表5所示。可知:當SCARA機器人存在多個混合故障時,BP神經(jīng)網(wǎng)絡智能識別的準確率明顯提高,與期望輸出基本一致,可準確地對SCARA機器人的故障進行識別與分類。

表5 正常及多故障分類測試結(jié)果
在長時間、高強度的工作壓力下,SCARA機器人的大、小臂前后端及底座部位有可能出現(xiàn)裂紋等故障,一旦發(fā)生故障會帶來一系列安全問題和經(jīng)濟損失。本文作者采集SCARA機器人工作過程中上述部位的加速度數(shù)據(jù),將數(shù)據(jù)輸入建立好的BP神經(jīng)網(wǎng)絡故障診斷模型中,運用BP神經(jīng)網(wǎng)絡進行故障的智能識別與分類。結(jié)果表明:BP神經(jīng)網(wǎng)絡分類結(jié)果與實際結(jié)果基本一致,BP神經(jīng)網(wǎng)絡能快速且準確地確定故障類型,在機器人故障診斷領域具有廣泛應用前景。