



[摘 要]機器人以其高效、高強度的作業方式,被廣泛地應用于制造業及其相關領域。但當機器人出現故障時,通常會導致生產線停滯,浪費大量的人力、物力,甚至危及工作人員的生命安全。傳統的故障診斷方法耗時長,診斷效率低,且故障辨識精度不高。文章基于深度學習相關理論,通過分析機器人機械臂各個關節及執行器的振動特性,建立了一種適用于工業機器人的故障診斷模型,并以ABBirb120機器人為例進行電氣故障檢測與診斷的準確率分析。結果表明,在迭代次數達到900 以上時,其故障識別準確率趨于99.4%。
[關鍵詞]深度學習;機器人;電氣故障;檢測
[中圖分類號]TP242 [文獻標志碼]A [文章編號]2095–6487(2024)03–0142–03
1 機器人電氣故障分析
在工業機器人中,其電氣故障的表現形式主要是控制系統故障和驅動系統故障。根據這一特點,可以將其劃分為兩種類型:邏輯故障和物理故障。邏輯故障是指機器人的控制系統失效,不能按命令完成工作。物理性故障指工業機器人的硬件故障,如電路老化或損壞等。工業機器人故障通常會引起振動信號的改變,所以可以利用其振動信號對其運行狀況進行評價,并對其有無故障進行診斷。機器人常見電氣故障形式、故障表征、故障原因見表1。
2 深度置信網絡(DBN)
2.1 深度學習簡介
深度學習是通過模仿人類大腦神經網絡的構成及對外界刺激做出處理的方式,構建出一種深層的神經網絡模型。深度學習由數據接收層、多層隱藏層及數據處理層組成,各層間相互獨立、互不連通。這種方式與大腦的內在結構十分接近,能夠更好地提取出數據中的特征,并對其本質進行刻畫。目前應用最多的深度學習模型有深度置信網絡(DBN)、卷積神經網絡(CNN)和堆疊自動編碼器(SAE),其中,DBN是目前應用最廣、理論較為成熟的一種方法。
2.2 深度置信網絡基本原理
DBN 是一種基于多層學習網絡的無監督學習方法。其基本網絡結構是基于約束玻爾茲曼向量機(RBM),通過分層學習,對隱藏層與可見性進行分層學習,并對各層間的權值及傳輸參數持續進行更新與優化。在此基礎上,通過逐級的參數更新與優化,完成故障特征的辨識與提取,從而構建具有更高辨識精度的故障診斷模型。
3 基于深度學習的機器人電氣故障檢測與診斷
3.1 故障診斷模型創建流程
文章以DBN 為背景,研究面向工業機器人的小波包分解和重構問題。在此基礎上,采用信息能量熵、歸一化等手段,構造小波重建的能量熵、歸一化特征矢量,并對其進行重建。最后,通過對特征矢量的分類與分層學習,完成反演修正與模型校驗。
3.2 工業機器人振動信號預處理
從傳感器獲取的關節振動信號是一種不穩定的狀態,其中包括關節本身的振動、噪聲(外界噪聲、設備噪聲)和共振等。文章先對不穩定、多源干擾下的振動信號進行消噪,然后利用小波理論對其進行分析與處理。目前,對振動信號的研究主要有以下3個方面。
(1)時域方法是以時間為基礎對信號進行分析,其中,時域參數的選擇最為重要。利用這種方法,可快速方便地對原有結構進行振動分析,但其缺點是無法將與故障無關的擾動有效地抽取出來,無法準確反映故障的特性。
(2)從信號中提取振動頻率的頻域信息。分析手段包括頻譜分析和包絡分析法。頻域分析法是通過對頻率范圍的分析,實現故障的識別與定位,但該分析方法因缺少時間信息而導致不能最大限度地儲存和分析振動信號中的全部信息。
(3)同時提取振動信號時域與頻域的時頻分析方法。其通過將時域與頻域相結合,實現對信號的分析。本項目將時域、頻域有機地結合起來,具有很強的互補性,尤其適用于多源干擾下的振動信號分析。在時頻分析中,常用的方法有傅立葉變換、經驗模態分解、小波分析等,其中,小波分析是目前常用的一種檢測設備振動信號的方法。在此基礎上,提出了一種基于小波包分解與重構的小波分析方法,并對其進行時頻分析。
3.3 DBN參數初始化
在設定 DBN 參數前, 要先對 RBM 網絡中的θ={w,b,c} 進行初始化,w 為計算出的各個網絡層的連接權重,b 為顯層的偏置值,c 為隱含層的偏離值。采用以下公式將具有正態分布的N(0,0.1)初始化,明確顯層偏置值b 的初始化為0,將隱藏層中c 的初始化也設為0。
如上所述,可以將偏置數值b 和c 初始化為0,或者可以利用常態隨機分布進行初始化,如權重初始化方式相同。具體的設定要隨著特定的運算情況而變化,不同的設定將使結果略有不同。如果程序必須進行一些優化,可以考慮對這個設定進行調整。
3.4 DBN網絡結構的設置
將網絡結構劃分為兩個層次,即網絡結構的深度與節點個數。深度學習和傳統神經網絡不同之處在于其所具有的深度。在此基礎上,文章提出了一種基于DBN 的神經網絡模型,該模型能夠有效地降低網絡中各個層次的結點數量,并對其進行分類,但這也會造成網絡結構的增加及訓練時間的增加。若參數設定不合理,有可能造成多層的錯誤積累,從而造成過度的訓練誤差或過擬合。這里將神經網絡的深度設定成1 個輸入層、3 個隱藏層、1 個輸出層的5 層網絡結構。
3.5 學習率的初始化設定
在梯度下降法中,學習速率是一個非常重要的問題,其直接影響著每一步的梯度下降距離。當初始學習率較低時,會使模型向最小化函數的方向偏移得太慢,使得網絡的訓練時間變得更長;如果初始值取得過大,則可能導致重構誤差,嚴重時還可能導致模型出錯。BP 網絡的前向無指導分層學習率通常設置為0.1,后向調整學習率通常設置在0.01。
3.6 動量因子的初始化設定
在學習DBN 的過程中,通過對前一次迭代得到的梯度進行估算,增強了學習過程的抗振蕩性,使得該方法能夠快速、穩定地收斂于容許的范圍。公式如下:
3.7 故障診斷過程
基于DBN 的故障診斷方法對已有數據進行簡單的預處理,較好地保持其原有的特性,將非監督學習和有監督調優相結合,實現對故障結果的快速準確辨識。基于DBN 的故障診斷流程為:①明確電氣故障類型及診斷任務;②基于FFT、歸一化等預處理方法,將訓練集與測試集分隔開來;③初始化DBN、設置網絡節點數量、學習率、迭代數等;④利用逐層特征抽取方法獲得初始權值矩陣;⑤對整個網絡進行逆向調整,使其參數最優。
DBN 實現故障樣本的訓練和分類后,與原始數據進行直觀比較,直觀地反映了DBN 的分類性能,但由于數據維度過大,不能直接將其表達出來,所以采用主成分分析法對各層次的特征矩陣進行處理,選擇3 個最重要的特征來構造三維哈希圖,以研究DBN的分類性能。
3.8 準確率分析
針對ABBirb120 機器人的電氣故障, 采用MATLAB 2019 b,配置為Windows 10、英特爾i7 處理器、Nvidia 930 M、內存8 GB。將兩組樣本按照4 ∶ 1的比例分成兩組。訓練集合包含192 000 個試驗(正常試驗樣品38 400,4 種缺陷試驗樣品38 400),其中試驗集合48 000 個(正常試驗樣品9 600 個,4 種缺陷試驗樣品9 600 個)。基于7 級分解與小波基db1,將小波包分解與歸一化,得到128 個單元的標準化能量熵向量。在訓練集上,有192 000 個輸入樣本和48 000個測試集。DBN 網絡模型以128 個輸入單元、以采樣錯誤標記作為輸出層,并以6 個輸出層為輸出單元。輸出層所對應的樣本標簽見表2。
將 DBN 模型的迭代次數設定為100,將反向調節的數目設定為100,并將其乘以1 000,并且將學習速率與動量系數設定為0.1 與0.9。基于DBN 的故障準確率測試結果如圖1 所示。
從圖1 可以看出,在迭代次數超過900 次的情況下,錯誤辨識的正確率已接近穩定的99.4%。結果表明,文章所采用的DBN 模型正向迭代次數為100 次,反向調優次數應不小于900 次。
4 結束語
以機器人電氣故障為研究對象,采用深度學習技術對其進行了故障診斷,其中采用小波分析與信息能量熵相結合的方法,構建了基于多源信息的正則化特征矢量,并對其進行訓練與檢驗,采用傅立葉變換與機械臂電氣故障信息相結合的方法,對機器人電氣故障進行特征提取,構建了DBN 模型的機器人電氣故障診斷模型,實現了對機器人電氣故障的診斷,其電氣故障診斷正確率可達到99.4%。
參考文獻
[1] 陳公興. 基于深度學習的機器人電氣故障檢測與診斷研究[J]. 自動化與儀表,2020,35(12):40-44.
[2] 黃威,袁廷翼,鄧百川,等. 基于深度學習的機器人電路板自主故障檢測系統[J]. 電工電能新技術,2022(2):41.
[3] 周東華,席裕庚. 工業機器人故障的實時檢測與診斷[J].機器人,1992,14(1):1-6.
[4] 農權,陳偉,郝鵬祥. 一種破拆機器人電氣故障檢測方法及其裝置:CN111590580A[P].2020-08-28.
[5] 董旭,劉微,李一順,等. 一種特種機器人電氣故障診斷系統:202111010206[P].2022-04-13.
[6] 彭建盛,覃勇,何奇文,等. 一種電氣設備故障診斷機器人:CN106707054A[P].2017-05-24.