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