陳樂瑞,曹建福,王曉琪
(西安交通大學(xué)機(jī)械制造系統(tǒng)工程國家重點(diǎn)實(shí)驗(yàn)室,710049,西安)
在眾多工業(yè)機(jī)器人故障中,驅(qū)動系統(tǒng)故障占比較大。由于驅(qū)動系統(tǒng)是動力來源,同時(shí)又十分隱蔽,因此驅(qū)動系統(tǒng)故障成為影響機(jī)器人安全運(yùn)行的最大隱患。如何準(zhǔn)確、高效地診斷出驅(qū)動系統(tǒng)的故障,是機(jī)器人故障診斷研究的關(guān)鍵。
目前,許多學(xué)者在機(jī)器人故障診斷方面做了大量研究工作?,F(xiàn)有的故障診斷方法大致分為:基于數(shù)學(xué)模型方法、基于信號處理的方法和基于知識的方法?;跀?shù)學(xué)模型故障診斷方法是建立對象精確模型、分析模型輸出與測量之間的殘差來實(shí)現(xiàn)故障診斷的,適合于數(shù)學(xué)模型比較精確的系統(tǒng),如果模型不精確、測量信息中含有噪聲,診斷準(zhǔn)確率將會受到影響[1-4];基于信號處理的方法是利用系統(tǒng)輸出信號或者狀態(tài)的某些特征量,例如幅頻特性量、相關(guān)函數(shù)或頻譜等進(jìn)行故障診斷的,當(dāng)測量信號出現(xiàn)如奇異數(shù)據(jù)、頻率變化等現(xiàn)象,就認(rèn)定系統(tǒng)發(fā)生了故障,雖然避免了數(shù)學(xué)建模,但是當(dāng)信號故障特征不明顯時(shí),該方法會出現(xiàn)漏診和誤診問題[5-8];基于知識故障診斷是一種基于知識或?qū)W習(xí)的新型智能故障診斷方法,具有自學(xué)習(xí)、自組織和自推理能力,通過利用領(lǐng)域?qū)<抑R提高故障診斷正確率,常用的方法有基于專家系統(tǒng)故障診斷方法、基于神經(jīng)網(wǎng)絡(luò)故障診斷方法和基于支持向量機(jī)故障診斷方法[9-12]。基于非線性頻譜特征提取故障診斷是一種新型故障診斷方法,通過獲取對象頻譜特性并對頻譜特性進(jìn)行分析,判斷系統(tǒng)是否處于故障狀態(tài),該方法充分利用了系統(tǒng)非線性特性,具有診斷準(zhǔn)確率高、魯棒性強(qiáng)特點(diǎn),人們利用該方法對電動機(jī)、數(shù)控裝備和航天發(fā)動機(jī)進(jìn)行了故障診斷研究[13-16],但是到目前為止,還未見利用非線性頻譜分析方法對工業(yè)機(jī)器人進(jìn)行故障診斷方面的研究。
由于非線性頻譜分析方法中廣義頻率響應(yīng)函數(shù)(GFRF)的辨識模型結(jié)構(gòu)復(fù)雜而且計(jì)算量大,所以本文采用結(jié)構(gòu)簡單、計(jì)算量小的非線性輸出頻率響應(yīng)函數(shù)[17](NOFRF)對系統(tǒng)進(jìn)行頻譜分析。首先介紹了NOFRF理論,給出辨識算法;然后建立工業(yè)機(jī)器人驅(qū)動系統(tǒng)非線性模型,分析正常情況與故障情況的非線性頻譜特征;最后,利用KPCA和SVM方法進(jìn)行故障識別和分類。
假設(shè)一個(gè)非線性系統(tǒng)的輸入為u(t),輸出為y(t),則輸出的Volterra級數(shù)的時(shí)域表達(dá)式為
(1)
式中:yn(t)為非線性系統(tǒng)第n階輸出;hn(τ1,τ2,…,τn)為非線性系統(tǒng)第n階Volterra時(shí)域核;N為非線性系統(tǒng)最高階次;τ為時(shí)延。對n階Volterra時(shí)域核hn(τ1,τ2,…,τn)進(jìn)行多維傅里葉變換可得廣義頻率響應(yīng)函數(shù)(GFRF),即
Hn(jω1,jω2,…,jωn)=
(2)
因此,非線性系統(tǒng)輸出頻域表達(dá)形式為
(3)
(4)
式中:Yn(jω)為非線性系統(tǒng)第n階輸出頻率響應(yīng);U(jωi)為輸入傅里葉變換。
GFRF反映了非線性系統(tǒng)固有的屬性,通過分析不同狀態(tài)下GFRF頻譜特征值的變化,可以實(shí)現(xiàn)系統(tǒng)故障的診斷與識別,但是GFRF模型結(jié)構(gòu)復(fù)雜,對其求解所需計(jì)算量龐大,這會影響診斷的實(shí)時(shí)性。因此,為了降低求解函數(shù)時(shí)的計(jì)算量、提高非線性頻譜特征獲取的實(shí)時(shí)性,Lang等提出非線性輸出頻率響應(yīng)函數(shù)(NOFRF),其定義如下
Gn(jω)=
(5)
(6)
從式(6)可以看出,非線性輸出頻率響應(yīng)函數(shù)跟線性系統(tǒng)頻率函數(shù)相似,即NOFRF是線性系統(tǒng)輸出頻率響應(yīng)函數(shù)Y(jω)=G(jω)U(jω)的延拓;另外,與廣義頻率響應(yīng)函數(shù)(GFRF)是多維函數(shù)的特性相比,NOFRF各階函數(shù)值都是一維的,因此在進(jìn)行各階NOFRF值估計(jì)過程中,可以有效避免維數(shù)災(zāi)難發(fā)生。
根據(jù)文獻(xiàn)[18],用輸入信號Aiu*(t)激勵系統(tǒng)M次,其中i=1,…,M,M≥N,Ai是常數(shù),且AM>AM-1>…>A1>0,u*(t)為隨時(shí)間變化信號,頻域信號為U*(jω),系統(tǒng)得到M次輸出頻譜,記為Yi(jω),i=1,…,M,則
(7)
式中:Yi(jω)=[Y1(jω),…,YM(jω)]T;
(8)
對G*(jω)的辨識實(shí)質(zhì)是最小二乘問題,如果直接對式(8)進(jìn)行求逆計(jì)算量較大,本文采用變步長最小均方自適應(yīng)辨識算法[16]進(jìn)行辨識。獲得非線性系統(tǒng)的頻譜值后,提取非線性頻譜特征;然后利用KPCA方法對高維非線性頻譜進(jìn)行壓縮、降維;最后利用正常與故障頻譜特征數(shù)據(jù)對SVM分類器進(jìn)行學(xué)習(xí)訓(xùn)練,實(shí)現(xiàn)故障識別與分類。非線性頻譜故障診斷具體過程如圖1所示。
圖1 非線性頻譜故障診斷流程
工業(yè)機(jī)器人驅(qū)動系統(tǒng)大多采用無刷直流電機(jī),其數(shù)學(xué)模型[19]表示為
(9)
式中:id(t)為定子繞組電流直軸分量,為系統(tǒng)輸入;ω(t)為轉(zhuǎn)子轉(zhuǎn)速,為系統(tǒng)輸出;r為定子繞組電阻;kp為電流比例調(diào)節(jié)器增益;ks為逆變驅(qū)動電路等效增益;kg為電流反饋系數(shù);J為轉(zhuǎn)子轉(zhuǎn)動慣量;L為定子繞組電感;B為轉(zhuǎn)子摩擦阻尼系數(shù);φg為轉(zhuǎn)子磁鏈過定子繞組的磁鏈;Tl為負(fù)載轉(zhuǎn)矩。
在工業(yè)機(jī)器人長期工作過程中,經(jīng)常會發(fā)生發(fā)熱和潤滑不良故障,在參數(shù)上表現(xiàn)為r增大和B增大。某直流電機(jī)系統(tǒng)正常情況下參數(shù)為r=4 Ω,kp=ks=kg=1,Tl=5 N·m,L=0.005 H,φg=0.186 Wb,J=1.5×10-6kg·m2,B=2×10-5N·m·s/rad。假設(shè)當(dāng)發(fā)生熱故障時(shí),電阻r增大到6 Ω;當(dāng)發(fā)生潤滑不良時(shí),摩擦系數(shù)B增大到4×10-5N·m·s/rad。選擇激勵信號id(t)=Ancos(πt),n=1,2,3,4,且A1=20,A2=40,A3=60,A4=80,選擇采樣頻率為1 000 Hz,采用NOFRF對工業(yè)機(jī)器人驅(qū)動系統(tǒng)的輸入和輸出信號進(jìn)行分析,考慮到4階以上頻率成分能量很小,因此本文只考慮系統(tǒng)的前4階頻譜輸出。根據(jù)前面的辨識理論,在正常情況、發(fā)熱和潤滑不良3種情況下的第1~4階NOFRF辨識結(jié)果分別如圖2~4所示;同時(shí),為了對比NOFRF和GFRF兩者的計(jì)算復(fù)雜度,本文采用遞推方式求出GFRF頻譜,僅考慮前2階GFRF頻譜,其結(jié)果如圖5~7所示。
從圖2~圖4中提取各階NOFRF頻譜的峰值分布的情況見表1。
(a)1階NOFRF頻譜(b)2階NOFRF頻譜
(c)3階NOFRF頻譜(d)4階NOFRF頻譜圖2 正常情況下前4階NOFRF非線性頻譜
(a)1階NOFRF頻譜(b)2階NOFRF頻譜
(c)3階NOFRF頻譜(d)4階NOFRF頻譜圖3 發(fā)熱故障的前4階NOFRF非線性頻譜
(a)1階NOFRF頻譜(b)2階NOFRF頻譜
(c)3階NOFRF頻譜(d)4階NOFRF頻譜圖4 潤滑不良故障的前4階NOFRF非線性頻譜
(a)1階GFRF頻譜(b)2階GFRF頻譜圖5 正常情況下前2階GFRF非線性頻譜
(a)1階GFRF頻譜(b)2階GFRF頻譜圖6 溫度升高故障的前2階GFRF非線性頻譜
(a)1階GFRF頻譜(b)2階GFRF頻譜圖7 潤滑不良故障的前2階GFRF非線性頻譜
通過對以上非線性頻譜分析發(fā)現(xiàn):電機(jī)的不同狀態(tài)(故障)對應(yīng)的前4階NOFRF值差別很大;同一種狀態(tài)對應(yīng)的NOFRF值隨著階次增大,其幅值逐漸減小。正是由于不同狀態(tài)(故障)在非線性頻譜上存在差異性,所以可以用基于NOFRF的方法進(jìn)行故障特征提取與診斷。
表1 不同狀態(tài)下各階NOFRF頻譜峰值分布
從圖5~7可以看出,不同狀態(tài)(故障)之間頻譜特征值差異比較明顯,雖然也可以作為故障特征進(jìn)行提取,但是與NOFRF明顯不同的是GFRF中2階及以上頻譜皆是多維的(維數(shù)等于階數(shù)),這樣會增加GFRF頻譜辨識過程中的計(jì)算量,另外,多維變量的物理意義也沒有一維變量直觀明確。
對工業(yè)機(jī)器人驅(qū)動系統(tǒng)每種狀態(tài)的每階核函數(shù)隨機(jī)取樣,采樣頻率為1 000 Hz,每階NOFRF取頻點(diǎn)為f、2f、3f、4f、5f、6f、7f、8f、9f、10f,基頻f=100 Hz,將這10個(gè)頻域點(diǎn)幅值作為分析對象,那么4階NOFRF總共40個(gè)值,則提取到的特征矢量為40維,其采樣結(jié)果見表2。另外,為了比較NOFRF和GFRF在特征提取實(shí)時(shí)性方面的差異性,對比實(shí)驗(yàn)中GFRF辨識算法提取到的特征矢量也是40維,基于NOFRF和GFRF特征提取的時(shí)間曲線如圖8所示。隨后,對電機(jī)每種狀態(tài)仿真100次,前60次仿真結(jié)果用于SVM分類器訓(xùn)練,后40次結(jié)果用于測試,采集的結(jié)果首先利用文獻(xiàn)[20]中KPCA方法進(jìn)行數(shù)據(jù)維數(shù)的壓縮,達(dá)到降維的目的,經(jīng)計(jì)算前3個(gè)主元累計(jì)貢獻(xiàn)率達(dá)到96.72%,將壓縮之后的數(shù)據(jù)送往SVM分類器進(jìn)行故障模式識別,其診斷結(jié)果見表3。SVM分類器采用一對多形式,核函數(shù)采用高斯徑向核函數(shù),核函數(shù)參數(shù)σ=1,懲罰因子c=0.1。
圖8 特征提取時(shí)間對比
從表2、表3可以看出,采用基于NOFRF的頻譜分析方法對工業(yè)機(jī)器人驅(qū)動系統(tǒng)進(jìn)行故障診斷得到的故障識別準(zhǔn)確率很高;從圖8可以看出,在50次實(shí)驗(yàn)過程中,基于GFRF方法提取故障特征耗時(shí)較長,平均為712 ms;而基于NOFRF方法提取故障特征耗時(shí)較短,平均為104 ms。特征值提取耗時(shí)多少反映了算法計(jì)算量大小和難易程度,本文中這兩種算法實(shí)時(shí)性差異較大,其根本原因在于GFRF辨識模型復(fù)雜,多維函數(shù)計(jì)算難度大,而NOFRF是一維函數(shù),計(jì)算難度較小。由此可見,在利用非線性頻譜分析方法對故障進(jìn)行診斷時(shí),與基于GFRF的方法相比,基于NOFRF的方法可以節(jié)約85.4%時(shí)間,因此更能滿足工業(yè)機(jī)器人驅(qū)動系統(tǒng)故障診斷對實(shí)時(shí)性的要求。
表2 各種狀態(tài)前4階非線性頻譜特性數(shù)值
表3 基于SVM的診斷結(jié)果
針對工業(yè)機(jī)器人驅(qū)動系統(tǒng)非線性特點(diǎn),首先,采用基于NOFRF的非線性頻譜特征提取方法來獲取驅(qū)動電機(jī)的高維故障特征頻譜數(shù)據(jù);然后,通過KPCA方法對高維故障特征進(jìn)行壓縮,降低變量之間的非線性度,最后通過SVM分類器實(shí)現(xiàn)了故障類型的精確診斷。仿真實(shí)驗(yàn)表明,該方法具有實(shí)時(shí)性好、識別準(zhǔn)確率高的特點(diǎn),適合推廣到航天發(fā)動機(jī)、高鐵車輪等零部件的故障診斷。