張會(huì)彬 ,蔣 強(qiáng) ,張 偉 ,高 升 ,季毅巍
(1.沈陽(yáng)理工大學(xué) 自動(dòng)化與電氣工程學(xué)院,沈陽(yáng) 110168;2.中國(guó)科學(xué)院沈陽(yáng)自動(dòng)化研究所 機(jī)器人國(guó)家重點(diǎn)實(shí)驗(yàn)室,沈陽(yáng) 110016;3.上海微小衛(wèi)星工程中心,上海 200050)
如今,機(jī)器人已經(jīng)在加工和制造等行業(yè)取得了廣泛地應(yīng)用。然而,一旦機(jī)器人系統(tǒng)發(fā)生故障,不僅會(huì)影響產(chǎn)品的質(zhì)量,甚至還會(huì)對(duì)用戶和工作空間中的其他物體造成傷害[1]。因此,實(shí)現(xiàn)對(duì)機(jī)器人系統(tǒng)的實(shí)時(shí)故障診斷,提高故障的確診率一直是機(jī)器人故障診斷方向的重要課題。
隨著故障診斷技術(shù)的發(fā)展,國(guó)內(nèi)外學(xué)者先后提出了基于解析模型的故障診斷、基于信號(hào)的故障診斷和基于人工智能的故障診斷等故障診斷方法[2]。其中,基于解析模型的故障診斷方法是構(gòu)造系統(tǒng)的精確數(shù)學(xué)模型,利用可觀測(cè)輸入輸出量獲得殘差信號(hào)來(lái)反映系統(tǒng)期望行為和實(shí)際行為之間的不同,然后通過(guò)對(duì)殘差信號(hào)的分析來(lái)進(jìn)行故障診斷;基于信號(hào)的故障診斷方法是利用信號(hào)處理的方法對(duì)獲得的測(cè)量信號(hào)進(jìn)行分析,提取與故障相關(guān)的頻域或時(shí)域特征來(lái)進(jìn)行故障診斷。機(jī)器人作為一個(gè)典型的非線性復(fù)雜系統(tǒng),其數(shù)學(xué)模型極難建立,故障特征量也相互關(guān)聯(lián)且難以提取,基于解析模型和基于信號(hào)的故障診斷方法在機(jī)器人系統(tǒng)中很難獲得良好的性能。神經(jīng)網(wǎng)絡(luò)的出現(xiàn)為機(jī)器系統(tǒng)的故障診斷提供了一種新的思路,其本身具有的容錯(cuò)、記憶、聯(lián)想和自學(xué)習(xí)等功能,極大地拓寬了故障診斷策略在復(fù)雜系統(tǒng)中的應(yīng)用范圍[3]。
人工神經(jīng)網(wǎng)絡(luò)作為一個(gè)新興領(lǐng)域,經(jīng)過(guò)近些年的發(fā)展,已經(jīng)成功應(yīng)用到各個(gè)領(lǐng)域。在故障診斷方面,早在1990年,F(xiàn)errada等人就將人工神經(jīng)網(wǎng)絡(luò)技術(shù)運(yùn)用于化學(xué)工廠故障狀態(tài)的識(shí)別過(guò)程之中[4];Gomm J B等人也成功地將人工神經(jīng)網(wǎng)絡(luò)技術(shù)運(yùn)用于過(guò)程故障診斷中并且完成了對(duì)主要部件的分析[5];在1993年,國(guó)內(nèi)的顏廷虎等實(shí)現(xiàn)了工神經(jīng)網(wǎng)絡(luò)技術(shù)在旋轉(zhuǎn)機(jī)械故障診斷中的應(yīng)用[6]。受上述研究成果的啟發(fā),本文提出一種基于RBF神經(jīng)網(wǎng)絡(luò)的機(jī)器人系統(tǒng)故障診斷方法,設(shè)計(jì)出了一種包含神經(jīng)網(wǎng)絡(luò)觀測(cè)器的故障診斷模型,通過(guò)比較運(yùn)行過(guò)程中實(shí)際系統(tǒng)與觀測(cè)器的輸出差異來(lái)獲得殘差信息,實(shí)現(xiàn)對(duì)故障的診斷。該方法在故障診斷方面具有不需要建立系統(tǒng)精確模型、有自學(xué)習(xí)能力等優(yōu)點(diǎn)。
機(jī)器人控制系統(tǒng)的設(shè)計(jì)需要以系統(tǒng)的動(dòng)力學(xué)模型為基礎(chǔ)。除特殊結(jié)構(gòu)的機(jī)器人外,系統(tǒng)的動(dòng)力學(xué)模型都可近似描述為[7]
式中:q為關(guān)節(jié)位置向量;τ為機(jī)器人的關(guān)節(jié)輸入力矩;M(q)為質(zhì)量矩陣;C(q,˙)為非線性離心力和哥氏力矢量;G(q)為重力項(xiàng)。
在機(jī)器人控制方面,本文采用一種具有重力補(bǔ)償?shù)腜D控制系統(tǒng)[8]來(lái)跟蹤期望的軌跡,它包含有一個(gè)內(nèi)控制回路,可以補(bǔ)償機(jī)器人系統(tǒng)的重力項(xiàng),使機(jī)器人成為一個(gè)簡(jiǎn)單、易控的系統(tǒng)。其控制框圖如圖1所示。
具有重力補(bǔ)償?shù)腜D控制系統(tǒng)的控制率為
圖1 具有重力補(bǔ)償?shù)腜D控制框圖Fig.1 PD control architecture with gravity compensation
式中:Kp、Kd分別為比例調(diào)節(jié)系數(shù)和微分調(diào)節(jié)系數(shù),G^(q)為對(duì)重力矩的估計(jì)值,e=qd-q為關(guān)節(jié)的跟蹤誤差,qd為期望關(guān)節(jié)軌跡,q為當(dāng)前關(guān)節(jié)位置。
重力矩的估計(jì)函數(shù)取如下形式:
式中:mk為各關(guān)節(jié)質(zhì)量;為連桿的質(zhì)心向量;為關(guān)節(jié)連桿的旋轉(zhuǎn)變換矩陣。
采用這種方法,只要保證重力矩估計(jì)值的準(zhǔn)確性,就可以實(shí)現(xiàn)機(jī)器人系統(tǒng)精確的軌跡跟蹤。
現(xiàn)階段,雖然機(jī)器人系統(tǒng)已被廣泛應(yīng)用于工業(yè)生產(chǎn)和制造等領(lǐng)域,但大部分機(jī)器人的工作模式仍然比較單一,在實(shí)際運(yùn)行過(guò)程中,固定工作模式下機(jī)器人各關(guān)節(jié)的輸入輸出量之間通常存在著對(duì)應(yīng)關(guān)系,所以可將機(jī)器人無(wú)故障狀態(tài)下的運(yùn)行數(shù)據(jù)應(yīng)用于機(jī)器人的故障診斷之中。
本文提出的故障診斷方法是利用RBF神經(jīng)網(wǎng)絡(luò)建立系統(tǒng)觀測(cè)器,使其具有復(fù)現(xiàn)無(wú)故障狀態(tài)下機(jī)器人系統(tǒng)動(dòng)態(tài)行為的能力,然后在實(shí)際運(yùn)行中將神經(jīng)網(wǎng)絡(luò)觀測(cè)器的預(yù)測(cè)輸出與系統(tǒng)的真實(shí)輸出數(shù)據(jù)進(jìn)行比較生成殘差信息,最后通過(guò)對(duì)殘差信號(hào)的分析實(shí)現(xiàn)系統(tǒng)的故障診斷。其基本原理如圖2所示。
圖2 故障診斷方法原理Fig.2 Fault diagnosis architecture
由圖2所示的故障診斷模型的基本結(jié)構(gòu)可知,利用神經(jīng)網(wǎng)絡(luò)觀測(cè)器產(chǎn)生的殘差信號(hào)為
式中:qi為機(jī)器人系統(tǒng)第i個(gè)關(guān)節(jié)的實(shí)際位置,qi′為觀測(cè)器的第i個(gè)估計(jì)輸出。
徑向基函數(shù)RBF神經(jīng)網(wǎng)絡(luò)是一種具有單一隱含層的前向神經(jīng)網(wǎng)絡(luò),它是在1988年由Moody和Darken提出的[9]。RBF神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖3所示,其輸入層由信號(hào)源節(jié)點(diǎn)構(gòu)成,起數(shù)據(jù)信息傳遞的作用;隱含層以徑向基函數(shù)為激活函數(shù),實(shí)現(xiàn)對(duì)輸入信息的空間映射變換;輸出層對(duì)隱含層神經(jīng)元輸出的信息進(jìn)行線性加權(quán)后輸出,作為整個(gè)神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果,實(shí)現(xiàn)對(duì)輸入的模式響應(yīng)。
圖3 RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 Topology structure of RBF neural network
對(duì)于一個(gè)輸入層、隱含層及輸出層神經(jīng)元的數(shù)量分別為n,p和m的RBF神經(jīng)網(wǎng)絡(luò),給定n維空間的輸入量X∈Rn,其輸出為
式中:yi為輸出層第i個(gè)神經(jīng)元的輸出,φ(X)為徑向基函數(shù),wji為第j個(gè)隱含層神經(jīng)元到第i個(gè)輸出層神經(jīng)元的權(quán)值。
徑向基函數(shù)的類型選擇為高斯函數(shù):
式中:cj=[cj1,cj2,…,cjn]為基函數(shù)的中心點(diǎn),σj為節(jié)點(diǎn)基寬。
本文利用正常工作時(shí)機(jī)器人系統(tǒng)的運(yùn)行數(shù)據(jù)對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,以此建立RBF神經(jīng)網(wǎng)絡(luò)觀測(cè)器。觀測(cè)器模塊的結(jié)構(gòu)如圖4所示。可以看出,觀測(cè)器模塊的輸入為n個(gè)關(guān)節(jié)的輸入力矩τi,輸出qi為各個(gè)關(guān)節(jié)的預(yù)測(cè)輸出角度,兩者之間的關(guān)系為
圖4 RBF神經(jīng)網(wǎng)絡(luò)觀測(cè)器模型Fig.4 RBF neural network observer model
觀測(cè)器網(wǎng)絡(luò)的訓(xùn)練算法選擇為梯度下降法,基函數(shù)中心cj、節(jié)點(diǎn)基寬σj和隱含層到輸出層權(quán)值的迭代算法分別為:
式中:η 為學(xué)習(xí)速率,α 為動(dòng)量因子,qi(t)和qim(t)分別為第i個(gè)輸出節(jié)點(diǎn)在t時(shí)刻的實(shí)際輸出和期望輸出。
訓(xùn)練完成后,隨機(jī)選取測(cè)試數(shù)據(jù)集中的部分樣本作為測(cè)試樣本,對(duì)RBF神經(jīng)網(wǎng)絡(luò)觀測(cè)器進(jìn)行測(cè)試。若網(wǎng)絡(luò)的精確度低于設(shè)定值,則調(diào)整人工神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),重新訓(xùn)練。
本文應(yīng)用RBF神經(jīng)網(wǎng)絡(luò)觀測(cè)器對(duì)機(jī)器人系統(tǒng)進(jìn)行故障診斷的原理為將t時(shí)刻各關(guān)節(jié)的力矩信號(hào)作為神經(jīng)網(wǎng)絡(luò)觀測(cè)器的輸入,得到各關(guān)節(jié)輸出的預(yù)測(cè)值,然后將預(yù)測(cè)值與t時(shí)刻關(guān)節(jié)的真實(shí)輸出相比較,產(chǎn)生殘差,將殘差與設(shè)定的閾值進(jìn)一步比較,若殘差信號(hào)大于閾值,則認(rèn)為有故障發(fā)生。
式中:qi(t)為第i個(gè)關(guān)節(jié)在t時(shí)刻的實(shí)際角度,qi′(t)為t時(shí)刻的觀測(cè)器的第i個(gè)輸出。
設(shè)計(jì)故障檢測(cè)規(guī)則如下:
式中:bi表示故障診斷閾值,閾值量由無(wú)故障狀態(tài)下擾動(dòng)的幅值確定。如果在一段時(shí)間間隔內(nèi)殘差的值持續(xù)大于設(shè)定的閾值,則可以確定系統(tǒng)故障的發(fā)生。
目前,機(jī)器人的結(jié)構(gòu)仍以多旋轉(zhuǎn)關(guān)節(jié)的串聯(lián)機(jī)器人形式為主。為了驗(yàn)證故障診斷方法的有效性,本文以典型的二連桿機(jī)器人為研究對(duì)象,對(duì)故障診斷方法進(jìn)行仿真研究。在本次仿真中,模型的構(gòu)建和仿真運(yùn)行都在Matlab/Simulink中執(zhí)行,仿真的采樣時(shí)間設(shè)置為10-4,算法選擇ode45。
仿真選取的二連桿機(jī)器人中各連桿質(zhì)量和長(zhǎng)度的參數(shù)為m1=0.5 kg,m2=0.5 kg,r1=1.2 m,r2=0.8 m,控制策略采用上文所提到的具有重力補(bǔ)償?shù)腜D控制方法,計(jì)算得到各關(guān)節(jié)轉(zhuǎn)矩的控制率由式(2)確定,其中Kp、Kd的取值為
用于重現(xiàn)無(wú)故障機(jī)器人系統(tǒng)動(dòng)態(tài)行為的RBF神經(jīng)網(wǎng)絡(luò)觀測(cè)器設(shè)計(jì)為具有10個(gè)神經(jīng)元的前向網(wǎng)絡(luò),其中隱含層神經(jīng)元的個(gè)數(shù)為6個(gè);輸入層神經(jīng)元為2個(gè),分別接收2個(gè)關(guān)節(jié)的轉(zhuǎn)矩信息;輸出層神經(jīng)元為2個(gè),輸出2個(gè)關(guān)節(jié)的預(yù)測(cè)角度。訓(xùn)練集由2000個(gè)樣本點(diǎn)構(gòu)成,包含超過(guò)40種不同運(yùn)行軌跡的數(shù)據(jù),其中每個(gè)樣本包含4個(gè)數(shù)據(jù)。測(cè)試集分為2組,第一組為從30個(gè)隨機(jī)軌跡的模擬中獲得的300個(gè)樣本,第二組為在位置和速度中添加噪聲擾動(dòng)(方差為0.01)的200個(gè)樣本。訓(xùn)練算法采用梯度下降法。
(2)金礦物主要為自然金和碲金銀礦,自然金中金含量約為84.68%;碲金銀礦中金含量?jī)H為19.78%。金整體分布粒度比較細(xì)小,主要以細(xì)粒金為主;礦石中79.41%的金被黃鐵礦包裹,其次為粒間金,少量為裂隙金。黃鐵礦是主要的載金礦物, -0.074 mm含量占65%的磨礦細(xì)度下90.96%的黃鐵礦已解離。因此,采用浮選工藝富集硫化物就可達(dá)到富集金的目的。
RBF神經(jīng)網(wǎng)絡(luò)的初始權(quán)值w、基函數(shù)的初始中心cj和節(jié)點(diǎn)基寬σj采用隨機(jī)選取的方式,學(xué)習(xí)速率和動(dòng)量因子設(shè)定為 η=0.13,α=0.04。
神經(jīng)網(wǎng)絡(luò)觀測(cè)器訓(xùn)練和測(cè)試的結(jié)果如圖5和圖6所示,其中圖5為網(wǎng)絡(luò)訓(xùn)練的收斂情況,圖6為測(cè)試輸出與期望輸出的誤差。可以看出,訓(xùn)練完成后,神經(jīng)網(wǎng)絡(luò)觀測(cè)器的預(yù)測(cè)輸出可以很好地跟蹤無(wú)故障狀態(tài)下機(jī)器人系統(tǒng)的實(shí)際輸出。
由于本文提出的故障診斷方法對(duì)故障形式?jīng)]有限制,為便于比較,仿真以低頻信號(hào)來(lái)模擬關(guān)節(jié)執(zhí)行器的故障,驗(yàn)證本方法對(duì)機(jī)器人系統(tǒng)故障診斷的可行性。設(shè)置各關(guān)節(jié)殘差的閾值為bi=0.04,關(guān)節(jié)1和關(guān)節(jié)2執(zhí)行器故障的表達(dá)式分別為
圖5 網(wǎng)絡(luò)訓(xùn)練的收斂情況Fig.5 Convergence of network training
圖6 測(cè)試樣本的輸出誤差Fig.6 Output error of test sample
仿真過(guò)程中機(jī)器人系統(tǒng)的期望運(yùn)動(dòng)軌跡和各關(guān)節(jié)的初始狀態(tài)分別設(shè)定為
圖7 無(wú)故障狀態(tài)下各關(guān)節(jié)的實(shí)際輸出和觀測(cè)器輸出Fig.7 Actual position and observer output for each joint when no fault occurs
圖8 無(wú)故障狀態(tài)下各關(guān)節(jié)的殘差Fig.8 Residual of joints when no fault occurs
無(wú)故障狀態(tài)下,RBF神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)輸出與機(jī)器人系統(tǒng)的實(shí)際輸出如圖7所示,圖8為兩者之間的殘差。可以看出,機(jī)器人處于正常工作狀態(tài)時(shí),盡管存在著建模誤差與噪聲擾動(dòng)的影響,系統(tǒng)各關(guān)節(jié)的實(shí)際輸出與RBF神經(jīng)網(wǎng)絡(luò)的估計(jì)輸出之間的偏差依然保持在很小的閾值范圍之內(nèi)。
當(dāng)關(guān)節(jié)1發(fā)生執(zhí)行器故障時(shí),各關(guān)節(jié)的殘差量如圖9所示??梢钥闯?,由于故障f1的影響,在t>1 s時(shí),關(guān)節(jié)1的殘差上限遠(yuǎn)遠(yuǎn)大于設(shè)定的閾值且殘差響應(yīng)近似為故障函數(shù),表明故障診斷策略不僅可以確定故障發(fā)生的位置,還可以獲得故障的信息。圖10為關(guān)節(jié)2發(fā)生故障時(shí)的殘差響應(yīng)。
圖9 關(guān)節(jié)1發(fā)生故障時(shí)各關(guān)節(jié)的殘差Fig.9 Residuals of joints when joint 1 failure
圖10 關(guān)節(jié)2發(fā)生故障時(shí)各關(guān)節(jié)的殘差Fig.10 Residuals of joints when joint 2 failure
實(shí)驗(yàn)結(jié)果表明,該方法可以應(yīng)用于機(jī)器人系統(tǒng)的故障診斷之中,實(shí)現(xiàn)對(duì)機(jī)器人系統(tǒng)的故障診斷。
本文提出的基于RBF神經(jīng)網(wǎng)絡(luò)的機(jī)器人故障診斷方法,通過(guò)再現(xiàn)無(wú)故障狀態(tài)下機(jī)器人系統(tǒng)動(dòng)態(tài)行為的方式,實(shí)現(xiàn)了對(duì)機(jī)器人的故障診斷。仿真結(jié)果表明,本方法可以獲得各關(guān)節(jié)的殘差信號(hào),進(jìn)而判斷故障發(fā)生的位置,實(shí)現(xiàn)對(duì)機(jī)器人系統(tǒng)的故障診斷。隨著科學(xué)技術(shù)的發(fā)展,機(jī)器人系統(tǒng)的結(jié)構(gòu)也越來(lái)越復(fù)雜,人工神經(jīng)網(wǎng)絡(luò)必將成為機(jī)器人系統(tǒng)故障診斷的強(qiáng)有力手段,優(yōu)化神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)、改進(jìn)訓(xùn)練算法,提高自學(xué)習(xí)能力,是人工神經(jīng)網(wǎng)絡(luò)應(yīng)用于故障診斷的發(fā)展方向。