段書用 * 段浩東 * 韓 旭 *,2) 李昌洛 * 歐陽衡 * 李雨樂 * 劉桂榮 **
* (河北工業(yè)大學(xué)省部共建電工裝備可靠性與智能化國家重點(diǎn)實(shí)驗(yàn)室,天津 300131)
? (河北工業(yè)大學(xué)機(jī)械工程學(xué)院,天津 300131)
** (辛辛那提大學(xué)航空工程和機(jī)械工程系,美國辛辛那提 45221)
隨著機(jī)器人技術(shù)的不斷發(fā)展,機(jī)器人的應(yīng)用范圍越來越廣,在航天航空[1]、3C 制造[2]、外科手術(shù)[3]等高精密加工制造領(lǐng)域應(yīng)用越來越多,對(duì)于精度和可靠性要求也越來越高.但是機(jī)器人在長(zhǎng)期運(yùn)行過程中,由于機(jī)件磨損、潤(rùn)滑油脂失效,自然腐蝕和其他原因,軌跡精度難免出現(xiàn)細(xì)微偏差,可靠性降低,甚至還會(huì)成為影響生產(chǎn)安全和產(chǎn)品質(zhì)量的一大隱患,給生產(chǎn)和運(yùn)行帶來麻煩.因此必須定期對(duì)機(jī)器人進(jìn)行維護(hù)來保證精度,必要時(shí)需要進(jìn)行一些繁瑣困難的辨識(shí)工作和標(biāo)定工作來提升機(jī)器人軌跡精度,造成維護(hù)成本過高.而由機(jī)器人關(guān)節(jié)內(nèi)部減速器磨損和潤(rùn)滑油脂失效導(dǎo)致的機(jī)器人關(guān)節(jié)摩擦參數(shù)變化是導(dǎo)致機(jī)器人軌跡精度降低的一個(gè)重要的影響因素[4-5].因此,有必要在摩擦參數(shù)和實(shí)際摩擦情況不匹配時(shí),快速反求出變化后摩擦參數(shù),進(jìn)行摩擦補(bǔ)償來提高軌跡精度,以滿足實(shí)際工程需要,為機(jī)器人后期維護(hù)提供更加便捷的方式.
摩擦是一個(gè)非常普遍的現(xiàn)象,但是又十分復(fù)雜.眾多研究學(xué)者對(duì)摩擦現(xiàn)象進(jìn)行了相關(guān)分析,建立了多種摩擦模型來描述.摩擦模型主要分為靜摩擦模型(如庫侖模型、黏性模型、Stribeck 摩擦模型)和動(dòng)摩擦模型(如Dahl 模型和LuGre 模型)[6].動(dòng)摩擦模型是在靜摩擦模型的基礎(chǔ)上使用附加的狀態(tài)變量來描述摩擦的動(dòng)態(tài)行為[7].雖然動(dòng)摩擦模型在描述關(guān)節(jié)摩擦特性方面比靜摩擦模型更接近實(shí)際情況,但在復(fù)雜工況下很難保證摩擦力矩的獲取精度,尤其動(dòng)態(tài)參數(shù)的確定較為困難,而且魯棒性欠佳.因此,有關(guān)機(jī)器人關(guān)節(jié)摩擦模型的研究多基于靜摩擦模型,如采用靜摩擦模型中的庫侖模型描述機(jī)器人關(guān)節(jié)的干摩擦系統(tǒng)[8];采用庫侖模型和黏性模型的組合描述機(jī)器人關(guān)節(jié)高速狀態(tài)下的摩擦分布[9].雖然庫侖模型和黏性模型在一定程度上反映了機(jī)器人關(guān)節(jié)干摩擦及高速狀態(tài)下的摩擦分布情況,但庫侖模型、黏性模型及其組合模型均未考慮關(guān)節(jié)低速運(yùn)動(dòng)時(shí)摩擦的非線性特點(diǎn)和換向過程中關(guān)節(jié)摩擦力矩不連續(xù)問題[10].基于此,陶岳等[11]通過在庫侖+黏性摩擦模型中引入Sigmod 函數(shù),盡管未考慮關(guān)節(jié)低速運(yùn)動(dòng)時(shí)摩擦的非線性特點(diǎn),但克服了機(jī)器人關(guān)節(jié)在換向中摩擦力矩不連續(xù)問題,有效降低了關(guān)節(jié)換向過程中的軌跡跟蹤誤差.Bo 等[12]充分考慮了關(guān)節(jié)低速運(yùn)動(dòng)時(shí)摩擦的非線性特點(diǎn),建立了Stribeck 摩擦模型.相關(guān)研究發(fā)現(xiàn),在一定條件下Stribeck 摩擦模型對(duì)關(guān)節(jié)低速時(shí)摩擦模型的非線性描述精度高達(dá)90%[13-14],和動(dòng)摩擦模型相比,結(jié)構(gòu)簡(jiǎn)單,適應(yīng)性較廣,但Stribeck 摩擦模型未考慮換向過程中關(guān)節(jié)摩擦力矩不連續(xù)問題.張鐵等[15]通過引入線性函數(shù)方法改進(jìn)了Stribeck 摩擦模型,從而解決了傳統(tǒng)Stribeck摩擦模型未考慮換向過程中關(guān)節(jié)摩擦力矩不連續(xù)的問題,在一定程度上減小了關(guān)節(jié)輸出力矩的誤差.
雖然現(xiàn)有摩擦模型在一定程度上定性地描述了關(guān)節(jié)角速度與摩擦力矩間的關(guān)系,但關(guān)節(jié)摩擦計(jì)算的準(zhǔn)確性決定了機(jī)器人各關(guān)節(jié)摩擦力矩與驅(qū)動(dòng)力矩的匹配性.當(dāng)機(jī)器人各關(guān)節(jié)摩擦力矩與驅(qū)動(dòng)力矩不匹配將導(dǎo)致機(jī)器人末端運(yùn)動(dòng)時(shí)產(chǎn)生爬行、抖動(dòng)等現(xiàn)象,嚴(yán)重影響機(jī)器人的軌跡精度與平穩(wěn)性[16].因此,相關(guān)研究者對(duì)摩擦模型參數(shù)的辨識(shí)展開了細(xì)致深入的研究.目前,基于計(jì)算反求技術(shù)的參數(shù)辨識(shí)方法主要有最小二乘法[17-19]、群體智能算法[20-22]和神經(jīng)網(wǎng)絡(luò)[23-26]等.陳光勝等[17]基于泰勒高次展開法將Stribeck 摩擦模型線性化后采用最小二乘擬合的方法對(duì)摩擦模型參數(shù)進(jìn)行了辨識(shí);張鐵等[15]用混合遺傳算法對(duì)改進(jìn)的Stribeck 摩擦模型的參數(shù)進(jìn)行了辨識(shí);Tu 等[23]在考慮負(fù)載的情況下通過神經(jīng)網(wǎng)絡(luò)對(duì)摩擦力矩進(jìn)行了反求;劉海榮等[24]采用模糊神經(jīng)網(wǎng)絡(luò)對(duì)伺服系統(tǒng)的LuGre 摩擦模型參數(shù)進(jìn)行了辨識(shí).
然而,機(jī)器人關(guān)節(jié)摩擦具有強(qiáng)非線性及時(shí)變性,不僅關(guān)節(jié)摩擦力矩隨機(jī)器人位姿的變化而變化,而且受諸多不確定性因素影響,如潤(rùn)滑劑黏度、工作溫度[27-28]、外力/扭矩水平、接觸面粗糙度[29]、材料特性和表面拓?fù)浣Y(jié)構(gòu)等[30],導(dǎo)致關(guān)節(jié)摩擦模型難以準(zhǔn)確描述.因此一些學(xué)者對(duì)摩擦模型的不確定性建模進(jìn)行了分析,Lahriri 等[31]通過實(shí)驗(yàn)測(cè)得了轉(zhuǎn)子和定子接觸時(shí)干摩擦系數(shù)的上下界.Petrov[32]針對(duì)摩擦與間隙接觸界面參數(shù)的不確定性,提出了一種計(jì)算非線性狀態(tài)強(qiáng)迫響應(yīng)水平不確定性的方法.Bitencourt 等[33]基于實(shí)驗(yàn)觀察,提出了一個(gè)擴(kuò)展的摩擦模型,即使在負(fù)載和溫度不確定性下,也可以實(shí)現(xiàn)準(zhǔn)確的磨損估計(jì).吳曉敏等[34]在考慮溫度變化的情況下,對(duì)機(jī)器人摩擦進(jìn)行了分析.Huang 等[35]提出了一種擴(kuò)展的動(dòng)態(tài)參數(shù)集(EDS),并通過仿真和實(shí)驗(yàn)證明,基于EDS 模型可以大大補(bǔ)償摩擦模型的不確定性.鑒于機(jī)器人關(guān)節(jié)摩擦受眾多不確定性因素影響,很難獲取普適性強(qiáng)的精確摩擦模型對(duì)其進(jìn)行描述.因此,相關(guān)研究者采用跳過摩擦建模的方法,從控制的角度出發(fā),把摩擦力矩當(dāng)作外部干擾項(xiàng)或不確定項(xiàng),通過反饋控制消除其對(duì)軌跡精度的影響,提升關(guān)節(jié)系統(tǒng)抗干擾能力.李坤龍等[36]用干擾觀測(cè)器估計(jì)摩擦力的大小并對(duì)其進(jìn)行了補(bǔ)償,提高系統(tǒng)的運(yùn)行穩(wěn)定性.Yao 等[37]在考慮了參數(shù)不確定性的情況下,提出了一種自適應(yīng)魯棒控制方法,提高機(jī)器人系統(tǒng)的跟蹤精度.但通過反饋控制方法補(bǔ)償摩擦力影響往往需要很大的反饋增益,增加硬件成本,容易激發(fā)極限環(huán)震蕩、增大傳感器噪聲等問題,而且對(duì)關(guān)節(jié)緩慢運(yùn)動(dòng)和轉(zhuǎn)向的跟蹤效果較差.
綜上所述,通過反求摩擦參數(shù),建立摩擦模型進(jìn)行前饋補(bǔ)償,可以提前預(yù)測(cè)摩擦力矩并消除摩擦力矩對(duì)機(jī)器人的影響,提高機(jī)器人的運(yùn)動(dòng)精度.因此,本文提出了一種通過神經(jīng)網(wǎng)絡(luò)反求摩擦參數(shù)的方法.首先,通過恒速跟蹤實(shí)驗(yàn)測(cè)得在不同速度下的摩擦力矩,建立非線性摩擦模型.其次,通過建立機(jī)器人模型的方式建立摩擦參數(shù)和關(guān)節(jié)驅(qū)動(dòng)力矩之間的關(guān)系,在此基礎(chǔ)上對(duì)摩擦模型開展全局靈敏度分析,找到影響其性能的關(guān)鍵參數(shù).然后,通過拉丁超立方抽樣方法在采樣空間內(nèi)抽樣,建立數(shù)據(jù)集.最后,建立神經(jīng)網(wǎng)絡(luò),進(jìn)行訓(xùn)練并對(duì)摩擦參數(shù)反求,并用反求的摩擦參數(shù)進(jìn)行摩擦力矩補(bǔ)償,驗(yàn)證反求參數(shù)的精確性和該方法對(duì)于機(jī)器人維護(hù)的便捷性.
本節(jié)基于恒速跟蹤實(shí)驗(yàn)得到關(guān)節(jié)速度與其摩擦力矩關(guān)系的一般表達(dá)式[38].首先對(duì)恒速跟蹤實(shí)驗(yàn)的原理和實(shí)施步驟進(jìn)行詳細(xì)描述,再對(duì)所測(cè)得的數(shù)據(jù)經(jīng)過卡爾曼濾波進(jìn)行處理,消去環(huán)境噪聲,最后經(jīng)過數(shù)據(jù)擬合,建立關(guān)節(jié)非線性摩擦模型.
機(jī)器人的電機(jī)、減速器與連桿間的力傳遞關(guān)系如圖1 所示,由電流Ic驅(qū)動(dòng)關(guān)節(jié)內(nèi)的電機(jī)產(chǎn)生驅(qū)動(dòng)力矩 τm,經(jīng)關(guān)節(jié)內(nèi)的減速器將驅(qū)動(dòng)力矩 τm放大后傳遞給機(jī)器人相應(yīng)的連桿,從而使得機(jī)器人運(yùn)動(dòng).由此可得電機(jī)的驅(qū)動(dòng)力矩
圖1 關(guān)節(jié)結(jié)構(gòu)Fig.1 The structure of joint
其中,Kτ∈R6×6為電機(jī)轉(zhuǎn)矩常數(shù)矩陣,對(duì)角線上為各個(gè)關(guān)節(jié)電機(jī)轉(zhuǎn)矩常數(shù),其余位置為0;Ic∈R6×1代表驅(qū)動(dòng)電流矩陣.Kτ中元素的數(shù)據(jù)由表1 所示.
由電機(jī)、減速器與連桿間的力傳遞關(guān)系可得
其中,J∈R6×6為折算到電機(jī)軸上的總轉(zhuǎn)動(dòng)慣量矩陣,對(duì)角線上為折算到各個(gè)關(guān)節(jié)電機(jī)軸上的轉(zhuǎn)動(dòng)慣量,其余元素為0;∈R6×1表示電機(jī)軸角加速度矩陣;τ ∈R6×1為連桿的驅(qū)動(dòng)轉(zhuǎn)矩矩陣;k∈R6×6是減速器的減速比矩陣,對(duì)角線上為各個(gè)關(guān)節(jié)減速器減速比,其余元素為0;τf∈R6×1為電機(jī)端摩擦力矩矩陣.k中元素的數(shù)據(jù)和電機(jī)轉(zhuǎn)子的轉(zhuǎn)動(dòng)慣量Jm 由表1所示.
表1 關(guān)節(jié)電機(jī)參數(shù)Table 1 Motor parameters of joint
將式(1)和式(2)聯(lián)立可得關(guān)節(jié)摩擦力矩表達(dá)式
由于機(jī)器人連桿的驅(qū)動(dòng)轉(zhuǎn)矩為
由傳動(dòng)比關(guān)系可得
將式(4)和式(5)代入式(3)可得
由于Kτ已知,電流Ic可以測(cè)得,因此只需消除慣性力、科氏力和連桿重力影響,便可通過測(cè)量電機(jī)驅(qū)動(dòng)電流計(jì)算得到電機(jī)端摩擦力矩
因此,設(shè)計(jì)機(jī)器人的恒速跟蹤實(shí)驗(yàn)核心思想如下.
(3)消除連桿重力影響即G(θ)=0 : 設(shè)置旋轉(zhuǎn)關(guān)節(jié)i平行于重力方向.
恒速實(shí)驗(yàn)具體實(shí)施如下:
為了測(cè)量不同關(guān)節(jié)的角速度與摩擦力的關(guān)系,保持關(guān)節(jié)i的軸線平行于重力方向,并鎖定其他關(guān)節(jié),驅(qū)動(dòng)被測(cè)關(guān)節(jié)勻速運(yùn)動(dòng).如圖2 所示,以角速度將關(guān)節(jié)i從位置2 順時(shí)針(CW)轉(zhuǎn)動(dòng)到位置1,再以相同的角速度從位置1 逆時(shí)針(CCW)旋轉(zhuǎn)到位置2,測(cè)量關(guān)節(jié)恒速轉(zhuǎn)動(dòng)中的電流信號(hào).設(shè)定關(guān)節(jié)角速度采樣空間0.5 °/s~ 15 °/s,由于低速區(qū)摩擦力矩呈非線性分布,高速區(qū)摩擦力矩呈線性分布,所以在低速區(qū)0.5 °/s~ 5 °/s 以速度0.25 °/s 為間隔進(jìn)行采樣,高速區(qū)5 °/s~ 15 °/s 以2.5 °/s 為間隔進(jìn)行采樣,共采得23 個(gè)速度樣本,每個(gè)速度樣本重復(fù)做5 次采集實(shí)驗(yàn).通過式(7)將得到的電流信號(hào)轉(zhuǎn)換為摩擦力矩,由于電機(jī)控制器上數(shù)字電路的高速翻轉(zhuǎn)和芯片控制部分的快速切換,測(cè)量的電流信號(hào)會(huì)產(chǎn)生高頻噪聲,所以通過電流得到的摩擦力矩也會(huì)有同樣的噪聲特征.因此,需將5 次重復(fù)實(shí)驗(yàn)計(jì)算得到的摩擦力矩?cái)?shù)據(jù)濾波后統(tǒng)計(jì)平均.
圖2 消除載荷的恒速跟蹤實(shí)驗(yàn)布置圖Fig.2 Constant velocity tracking experiment layout with load elimination
以關(guān)節(jié)3 的摩擦力矩?cái)?shù)據(jù)為例,對(duì)其濾波過程進(jìn)行詳細(xì)說明.如圖3 所示,關(guān)節(jié)3 以0.5 °/s 速度逆時(shí)針運(yùn)動(dòng)計(jì)算其力矩采樣點(diǎn)raw data (CCW)在0.08~0.18 N·m 之間分布,順時(shí)針運(yùn)動(dòng)時(shí)的力矩采樣點(diǎn)raw data (CW)在?0.18~ ?0.08 N·m 之間分布.對(duì)于高頻噪聲的濾波既要達(dá)到降噪的要求,又要確保濾波后的數(shù)據(jù)不失真.因?yàn)樵肼暦细咚狗植?而卡爾曼濾波是線性高斯系統(tǒng)的最優(yōu)無偏估計(jì),使測(cè)量數(shù)據(jù)方差最小,可以很好消除噪聲.
圖3 關(guān)節(jié)3 摩擦力矩濾波Fig.3 Friction torque filtering of joint 3
在恒速跟蹤實(shí)驗(yàn)中,這個(gè)系統(tǒng)是一個(gè)靜態(tài)的一維系統(tǒng),可以用離散型狀態(tài)空間方程表達(dá)這個(gè)系統(tǒng)為
其中,xk表示k時(shí)刻驅(qū)動(dòng)力矩的狀態(tài)值,A為系統(tǒng)系數(shù),B為控制系數(shù),u k?1為k?1 時(shí)刻的輸入值,w k?1為k?1時(shí)刻的過程噪聲
其中,zk為k時(shí)刻的驅(qū)動(dòng)力矩的觀測(cè)值,H為觀測(cè)系數(shù),vk為k時(shí)刻的測(cè)量噪聲.
卡爾曼濾波主要分為以下預(yù)測(cè)和校正兩個(gè)階段
(1)預(yù)測(cè)階段
(2)校正階段
其中,K k表示k時(shí)刻卡爾曼增益
其中,R表示測(cè)量噪聲v的方差
因?yàn)閷?shí)驗(yàn)是在單一關(guān)節(jié)做恒速運(yùn)動(dòng)時(shí)測(cè)量的力矩值,所以此時(shí)這個(gè)系統(tǒng)可以看做是一個(gè)靜態(tài)系統(tǒng),因此并沒有輸入,所以u(píng) k?1=0,B=0 ,所以系統(tǒng)系數(shù)A=1.zk是觀測(cè)到的力矩值,是真實(shí)值和測(cè)量噪聲的疊加,所以觀測(cè)系數(shù)H=1.可以通過設(shè)置Q和R的值來調(diào)整濾波效果,因?yàn)閱侮P(guān)節(jié)保持恒速運(yùn)動(dòng),并且實(shí)驗(yàn)過程中并沒有引入其他額外干擾,所以此時(shí)過程噪聲w非常小,因此將Q設(shè)置為1 × 10?6,根據(jù)經(jīng)驗(yàn)將R設(shè)置為0.01.由圖3 可知,濾波后力矩值的離散程度遠(yuǎn)小于原始數(shù)據(jù).由表2 可以看出,過濾后的數(shù)據(jù)方差比原始數(shù)據(jù)方差降低了2 個(gè)數(shù)量級(jí).因此,采用濾波后的數(shù)據(jù)和真實(shí)情況更為接近.
表2 力矩?cái)?shù)據(jù)方差Table 2 Variance of torque data
通過以0.5 °/s~ 15 °/s 速度驅(qū)動(dòng)3 個(gè)關(guān)節(jié)分別恒速運(yùn)動(dòng),并對(duì)采集的力矩采樣點(diǎn)進(jìn)行濾波,得到了沿速度梯度分布的摩擦力矩值.取同一速度下摩擦力矩均值,得到關(guān)節(jié)3 摩擦力矩相對(duì)于速度 θi的分布,如圖4 所示.采用4 參數(shù)非線性摩擦模型式(15)可以很好地?cái)M合分布關(guān)系,擬合的摩擦參數(shù)如表3 所示.
表3 非線性摩擦模型參數(shù)擬合值Table 3 Parameters of nonlinear friction model of fitting
圖4 關(guān)節(jié)3 摩擦模型擬合Fig.4 Fitting of friction model of joint 3
式中,fci代表第i個(gè)關(guān)節(jié)庫侖摩擦系數(shù);fsi表示第i個(gè)關(guān)節(jié)靜摩擦系數(shù);vsi表示第i個(gè)關(guān)節(jié)的Stribeck 速度;fbi為第i個(gè)黏滯摩擦系數(shù).
在許多工程實(shí)際問題中如動(dòng)力修改及優(yōu)化、結(jié)構(gòu)的強(qiáng)度分析、故障診斷和系統(tǒng)的健康檢測(cè)等,一些關(guān)鍵參數(shù)通過理論分析和實(shí)驗(yàn)測(cè)量都很難直接獲取,嚴(yán)重影響其在設(shè)計(jì)、建模、分析中的可靠性和安全性.工程反問題[39-40]通常利用容易測(cè)得的結(jié)構(gòu)或系統(tǒng)的響應(yīng)來反求難以通過實(shí)驗(yàn)或測(cè)量手段獲取的關(guān)鍵參數(shù).由式(7)可知,機(jī)器人的關(guān)節(jié)驅(qū)動(dòng)力矩可以通過測(cè)電流的方式得到.因此,通過建立摩擦參數(shù)與機(jī)器人驅(qū)動(dòng)力矩之間的關(guān)系,即可實(shí)現(xiàn)對(duì)摩擦參數(shù)反求.具體分析步驟如下:
(1)建立動(dòng)力學(xué)模型,建立摩擦參數(shù)和驅(qū)動(dòng)力矩之間的關(guān)系;
(2)分析摩擦參數(shù)對(duì)關(guān)節(jié)驅(qū)動(dòng)力矩的敏感性,設(shè)計(jì)激勵(lì)軌跡,增大摩擦參數(shù)對(duì)驅(qū)動(dòng)力矩的敏感性;
(3)設(shè)置敏感摩擦參數(shù)的取值范圍,即采樣空間.在采樣空間中進(jìn)行采樣,得到相應(yīng)的關(guān)節(jié)驅(qū)動(dòng)力矩響應(yīng)值;
(4)建立包括摩擦參數(shù)樣本和相應(yīng)的關(guān)節(jié)驅(qū)動(dòng)力矩的數(shù)據(jù)集.將得到數(shù)據(jù)集劃分反問題神經(jīng)網(wǎng)絡(luò)的訓(xùn)練集、驗(yàn)證集和測(cè)試集;
(5)建立反問題神經(jīng)網(wǎng)絡(luò);
(6)訓(xùn)練神經(jīng)網(wǎng)絡(luò);
(7)對(duì)測(cè)試集誤差進(jìn)行分析.
在恒速跟蹤實(shí)驗(yàn)中,通過測(cè)量關(guān)節(jié)摩擦,得到關(guān)節(jié)摩擦模型和摩擦參數(shù).但是隨著工作溫度、潤(rùn)滑油黏度、機(jī)器人使用時(shí)間的長(zhǎng)短等因素,關(guān)節(jié)的摩擦參數(shù)也在不斷發(fā)生變化.使用神經(jīng)網(wǎng)絡(luò)進(jìn)行參數(shù)反求時(shí),需要大量的數(shù)據(jù)樣本,并且數(shù)據(jù)樣本應(yīng)盡可能覆蓋實(shí)際參數(shù)空間的所有可能的取值,這將導(dǎo)致巨大的工作量和難以估量的計(jì)算量.因此通過建立機(jī)器人模型來代替真實(shí)機(jī)器人,來獲得和摩擦參數(shù)相對(duì)應(yīng)的驅(qū)動(dòng)力矩,組成數(shù)據(jù)集.為了保證建立仿真模型和實(shí)際模型的準(zhǔn)確性,可以對(duì)機(jī)器人進(jìn)行動(dòng)力學(xué)參數(shù)辨識(shí)[41],得到相對(duì)精確的動(dòng)力學(xué)模型.
機(jī)器人運(yùn)動(dòng)學(xué)參數(shù)(用Denavit-Hartenberg 法描述)和局部坐標(biāo)系如圖5 和表4 所示,其中關(guān)節(jié)轉(zhuǎn)角θi定義為從x i?1軸到xi軸的轉(zhuǎn)角,繞z i?1軸正向轉(zhuǎn)動(dòng)為正.關(guān)節(jié)距離di定義為從x i?1軸到xi軸的距離,沿xi?1軸的指向?yàn)檎?桿件扭角 αi定義為從z i?1軸到zi軸的轉(zhuǎn)角,繞xi軸正向轉(zhuǎn)動(dòng)為正.桿件長(zhǎng)度ai定義為從z i?1軸到zi軸的距離,沿xi軸的指向?yàn)檎?在表5中,機(jī)器人動(dòng)力學(xué)參數(shù)包括連桿的質(zhì)量m、慣性張量Im和質(zhì)心r相對(duì)于局部坐標(biāo)系的坐標(biāo).對(duì)于協(xié)作機(jī)器人來說,減速器和軸承的重量相對(duì)于連桿來說非常小的,因此在建立動(dòng)力學(xué)模型時(shí)忽略了減速器和軸承的重量.機(jī)器人關(guān)節(jié)2~ 4 的摩擦參數(shù)如表3 所示,對(duì)于其他關(guān)節(jié),動(dòng)態(tài)模型中沒有加入摩擦特性.利用MATLAB 機(jī)器人工具箱(RTB)[42]建立機(jī)器人模型.
圖5 六軸協(xié)作機(jī)器人Fig.5 Six axis cooperative robot
表4 連桿運(yùn)動(dòng)學(xué)參數(shù)Table 4 Kinematics parameters of links
表5 連桿動(dòng)力學(xué)參數(shù)Table 5 Dynamic parameters of link
靈敏度分析是衡量輸出響應(yīng)對(duì)待反求參數(shù)敏感程度的關(guān)鍵,也是反問題計(jì)算成功的前提[43-47].若待反求參數(shù)一定,結(jié)構(gòu)或系統(tǒng)的輸出響應(yīng)對(duì)待反求參數(shù)不敏感時(shí),需調(diào)整邊界條件等增加輸出響應(yīng)對(duì)待反求參數(shù)的敏感性或采用對(duì)待反求參數(shù)更為敏感的輸出響應(yīng).若結(jié)構(gòu)或系統(tǒng)響應(yīng)已定,需要從相關(guān)參數(shù)中找到對(duì)結(jié)構(gòu)或系統(tǒng)響應(yīng)敏感的參數(shù),然后對(duì)敏感的參數(shù)進(jìn)行反求.鑒于本文是通過關(guān)節(jié)驅(qū)動(dòng)力矩反求摩擦參數(shù),所以為了選擇對(duì)關(guān)節(jié)輸出力矩敏感的摩擦參數(shù),需要對(duì)式中可設(shè)計(jì)參數(shù)fsi,fci,vsi和fbi進(jìn)行靈敏度分析.以關(guān)節(jié)3 為例,敏感性分析步驟如下.
(1)將關(guān)節(jié)3 的驅(qū)動(dòng)力矩 τm3作為機(jī)器人在設(shè)計(jì)的笛卡爾軌跡下的響應(yīng).
(3)通過對(duì)摩擦參數(shù)的靈敏度分析,選擇靈敏度較高的參數(shù)作為需要進(jìn)行辨識(shí)的參數(shù).圖7 為機(jī)器人規(guī)劃的笛卡兒軌跡,是在XZ平面上從點(diǎn) (?0.553 6,0.127 0)到點(diǎn)(?0.644 4,0.673 9)的一條直線軌跡.當(dāng)關(guān)節(jié)摩擦參數(shù)為P3raw時(shí),使機(jī)器人在這條直線軌跡上運(yùn)動(dòng),同時(shí)得到關(guān)節(jié)3 的驅(qū)動(dòng)力矩,采樣頻率為10 Hz,關(guān)節(jié)3 的驅(qū)動(dòng)力矩如圖8 所示.
圖6 關(guān)節(jié)3 摩擦波動(dòng)區(qū)間Fig.6 Friction fluctuation zone of joint 3
圖7 機(jī)器人的笛卡爾軌跡Fig.7 Cartesian trajectory of robot
圖8 關(guān)節(jié)3 的驅(qū)動(dòng)力矩Fig.8 Driving torque of joint 3
靈敏度分析結(jié)果如圖9 所示,是給定直線軌跡中4 個(gè)摩擦參數(shù)對(duì)驅(qū)動(dòng)力矩隨時(shí)間變化的靈敏度趨勢(shì).紅線表示在摩擦參數(shù)P3max下對(duì)關(guān)節(jié)驅(qū)動(dòng)力矩的靈敏度 η+.藍(lán)線表示在摩擦參數(shù)P3min下對(duì)關(guān)節(jié)驅(qū)動(dòng)力矩的靈敏度 η?.如圖9(a)所示,庫侖摩擦系數(shù)fc3的靈敏度 η+和靈敏度 η?絕對(duì)值最大值均為7.82%.如圖9(b)所示,當(dāng)t<2.3 s 或t>9.4 s時(shí),靜摩擦系數(shù)fs3的靈敏度 η+和靈敏度 η?的絕對(duì)值大于0,最大值為15.97%,其余部分的靈敏度是0.如圖9(c)所示,黏性摩擦系數(shù)fb3的靈敏度η+和靈敏度 η?的絕對(duì)值均大于7.06%.如圖9(d)所示,Stribeck 速度vs3的靈敏度η+和靈敏度η?的絕對(duì)值最大值分別為1.16%和1.68%.當(dāng)2.3 s
圖9 摩擦參數(shù)對(duì)驅(qū)動(dòng)力矩的敏感性分析Fig.9 Sensitivity of friction parameter to driving torque
根據(jù)以上分 析,驅(qū)動(dòng)力 矩 τmi對(duì) 這fci,fsi和fbi這3 個(gè)摩擦參數(shù)敏感,因此,選擇它們作為需要反求的參數(shù).涂驍[48]做了不同負(fù)載下的機(jī)械臂關(guān)節(jié)摩擦參數(shù)試驗(yàn),發(fā)現(xiàn)摩擦參數(shù)會(huì)隨著負(fù)載的變化而變化.為了使機(jī)器人在不同負(fù)載工況下,或者由于使用時(shí)間長(zhǎng)造成摩擦參數(shù)變化的情況能快速得到反求得到準(zhǔn)確的摩擦參數(shù),取表6 所示的摩擦參數(shù)上下限作為采樣空間,采用優(yōu)化后的拉丁超立方法在3 個(gè)摩擦參數(shù)的采樣空間內(nèi)共獲得了10 000 個(gè)樣本.該方法為多個(gè)變量范圍采樣,極大的使變量范圍的每一邊緣分布分層,能夠全面的覆蓋到每一個(gè)變量范圍.將這10 000 個(gè)樣本代入機(jī)器人模型中進(jìn)行計(jì)算,得到對(duì)應(yīng)的關(guān)節(jié)力矩,進(jìn)而得到一個(gè)完備的數(shù)據(jù)集,同時(shí)可以基于仿真模型和實(shí)際模型之間的誤差,施加相應(yīng)的噪聲數(shù)據(jù),來增強(qiáng)模型的泛化能力.然后,將數(shù)據(jù)集按照7:1.5:1.5 的比例劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集.然后,根據(jù)訓(xùn)練數(shù)據(jù)集和需要反求的3 個(gè)摩擦參數(shù)建立逆神經(jīng)網(wǎng)絡(luò).最后,利用訓(xùn)練數(shù)據(jù)集直接訓(xùn)練神經(jīng)網(wǎng)絡(luò).
表6 關(guān)節(jié)3 摩擦參數(shù)的采樣區(qū)間Table 6 Sampling interval of friction parameters of joint 3
2.3.1 建立神經(jīng)網(wǎng)絡(luò)模型
建立如圖10 所示的BP 神經(jīng)網(wǎng)絡(luò),輸入層有6 個(gè)神經(jīng)元,隱藏層有100 個(gè)神經(jīng)元,輸出層有3 個(gè)神經(jīng)元.隱層神經(jīng)元的數(shù)量由網(wǎng)絡(luò)的可訓(xùn)練參數(shù)決定.由于有7000 組訓(xùn)練數(shù)據(jù),神經(jīng)網(wǎng)絡(luò)具有很好的收斂性.取可訓(xùn)練參數(shù)與訓(xùn)練數(shù)據(jù)的比值接近于1.根據(jù)式(17)計(jì)算隱層神經(jīng)元數(shù)為100
圖10 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.10 Neural network structure
其中,N為神經(jīng)網(wǎng)絡(luò)的總層數(shù),Di表示第i層輸出神經(jīng)元的數(shù)量.在建立了神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)后,選擇tanh(18)作為激活函數(shù).選取均方誤差(MSE)Loss函數(shù)(19)作為神經(jīng)網(wǎng)絡(luò)的優(yōu)化目標(biāo),該函數(shù)計(jì)算預(yù)測(cè)值與目標(biāo)值差的平方和的均值.優(yōu)化算法采用Levenberg-Marquardt 算法
2.3.2 反求結(jié)果
7000 組訓(xùn)練集用于訓(xùn)練,1500 組驗(yàn)證集用于驗(yàn)證,當(dāng)驗(yàn)證集Loss 連續(xù)6 次不再下降時(shí),就停止網(wǎng)絡(luò)訓(xùn)練,避免過擬合,1500 組測(cè)試集用于測(cè)試.為了評(píng)價(jià)最終模型的泛化能力,測(cè)試集的數(shù)據(jù)與訓(xùn)練集的數(shù)據(jù)不一致.訓(xùn)練過程的Loss 曲線如圖11 所示.神經(jīng)網(wǎng)絡(luò)需要多次迭代才能較好地?cái)M合關(guān)節(jié)力矩和摩擦參數(shù).當(dāng)?shù)螖?shù)達(dá)到500 時(shí),Loss 有小幅度的下降趨勢(shì).當(dāng)?shù)螖?shù)達(dá)到1000 時(shí),訓(xùn)練集的Loss 為 3.5034×10?9,驗(yàn)證集的Loss 為 3.6958×10?9,測(cè)試集的Loss為 3.6826×10?9.
圖11 神經(jīng)網(wǎng)絡(luò)Loss 曲線Fig.11 Loss of neural network
由于測(cè)試數(shù)據(jù)集沒有經(jīng)過訓(xùn)練,所以可以用它來測(cè)試神經(jīng)網(wǎng)絡(luò)的泛化能力.如圖12 所示.將所有測(cè)試集代入神經(jīng)網(wǎng)絡(luò).反求結(jié)果與實(shí)際值的最大誤差小于0.4%.摩擦參數(shù)預(yù)測(cè)的平均誤差為:fs3>fb3>fc3.結(jié)果與第3 節(jié)中摩擦參數(shù)對(duì)驅(qū)動(dòng)力矩的敏感性分析一致.即參數(shù)越敏感,反求的摩擦參數(shù)精度越高.其他關(guān)節(jié)摩擦參數(shù)反求誤差如表7 所示.
圖12 測(cè)試集相對(duì)誤差Fig.12 Test set relative error
表7 摩擦參數(shù)反求誤差Table 7 Fricition parameter inverse error
為了進(jìn)一步驗(yàn)證神經(jīng)網(wǎng)絡(luò)反求參數(shù)的準(zhǔn)確性,假設(shè)機(jī)器人負(fù)載發(fā)生了變化或者傳動(dòng)件長(zhǎng)時(shí)間磨損導(dǎo)致摩擦參數(shù)變?yōu)樵瓉淼?.1 倍.使機(jī)器人在規(guī)劃的軌跡上運(yùn)動(dòng),同時(shí)測(cè)得機(jī)器人關(guān)節(jié)力矩,并把選取的力矩點(diǎn)的值輸入訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),反求得到變化后的摩擦參數(shù).
從表8 中可以看出,神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的參數(shù)精度很高,最大誤差為0.36%.由這些參數(shù)建立的摩擦模型與機(jī)器人關(guān)節(jié)的實(shí)際摩擦力矩高度吻合.
表8 摩擦參數(shù)反求結(jié)果Table 8 Friction parameter inverse results
為了進(jìn)一步驗(yàn)證用反求參數(shù)建立摩擦模型在摩擦補(bǔ)償控制策略中能夠減小關(guān)節(jié)摩擦的影響,提高機(jī)器人低速運(yùn)行時(shí)的軌跡跟蹤精度.因此,通過MATLAB,在Simulink 中建立如圖13 所示的關(guān)節(jié)前饋控制系統(tǒng).
圖13 機(jī)器人關(guān)節(jié)前饋控制系統(tǒng)Fig.13 Feedforward control system for robot joints
因此,在仿真條件下,關(guān)節(jié)前饋控制律設(shè)為
下面將采用3 種方式做對(duì)比,一種是不帶摩擦補(bǔ)償?shù)腜D 控制,一種是用原始摩擦參數(shù)進(jìn)行摩擦補(bǔ)償?shù)腜D 控制和當(dāng)摩擦參數(shù)變化后,通過神經(jīng)網(wǎng)絡(luò)反求的得到的摩擦參數(shù)進(jìn)行摩擦補(bǔ)償?shù)腜D 控制.以關(guān)節(jié)3 為例,在PD 控制律中Kp3=60,Kd3=30時(shí)進(jìn)行研究,仿真結(jié)果如圖14 所示,當(dāng)沒有摩擦補(bǔ)償時(shí),在關(guān)節(jié)速度換向時(shí),摩擦力矩發(fā)生突變,導(dǎo)致關(guān)節(jié)速度發(fā)生突變,從而影響軌跡跟蹤精度,造成巨大的位置誤差,造成位置誤差在在?0.05~ 0.03 rad之間.而當(dāng)通過建立的摩擦模型使用原始摩擦參數(shù)進(jìn)行補(bǔ)償后,大大改善了機(jī)器人在低速換向時(shí)的速度突變問題,提高了速度跟蹤和位置跟蹤精度,使最大位置誤差在0.01 rad 之內(nèi).而通過神經(jīng)網(wǎng)絡(luò)反求出的變化后的摩擦參數(shù)進(jìn)行補(bǔ)償后,跟蹤誤差和穩(wěn)定性又得到了小幅度的提高.
圖14 關(guān)節(jié)3 運(yùn)動(dòng)軌跡仿真Fig.14 Motion trajectory simulation of joint 3
針對(duì)當(dāng)機(jī)器人關(guān)節(jié)摩擦參數(shù)發(fā)生變化引起軌跡精度下降,精度維護(hù)困難問題,提出一種考慮時(shí)變效應(yīng)的機(jī)器人關(guān)節(jié)非線性摩擦參數(shù)反求方法.通過構(gòu)建機(jī)器人關(guān)節(jié)一般非線性摩擦模型,擇取非線性摩擦模型關(guān)鍵參數(shù),建立關(guān)節(jié)輸出力矩和摩擦參數(shù)一一對(duì)應(yīng)的數(shù)據(jù)集及反向神經(jīng)網(wǎng)絡(luò)模型,并對(duì)其進(jìn)行學(xué)習(xí)與訓(xùn)練,實(shí)現(xiàn)非線性摩擦模型關(guān)鍵參數(shù)辨識(shí)與結(jié)果驗(yàn)證.研究的主要結(jié)論如下:
(1)通過設(shè)計(jì)實(shí)驗(yàn),獲得了機(jī)器人關(guān)節(jié)的非線性摩擦參數(shù),建立了非線性摩擦模型;
(2)分析了摩擦參數(shù)對(duì)關(guān)節(jié)力矩的敏感性,對(duì)關(guān)節(jié)驅(qū)動(dòng)力矩較敏感的非線性摩擦參數(shù)按照降序排列分別為fb,fs,fc和vs;
(3)所提的非線性摩擦參數(shù)反求方法具有較高的精度.反求的摩擦參數(shù)最大誤差在0.4%以下,并且在仿真實(shí)驗(yàn)中表明,通過反求的參數(shù)建立的摩擦模型進(jìn)行補(bǔ)償,可以有效的解決在機(jī)器人關(guān)節(jié)速度換向時(shí),摩擦力突變問題,提高軌跡跟蹤精度;
(4)所提的非線性摩擦參數(shù)反求方法有效解決了機(jī)器人摩擦參數(shù)時(shí)變的難題,可以在機(jī)器人使用時(shí)間增長(zhǎng),摩擦參數(shù)不匹配時(shí),通過一次測(cè)量同時(shí)識(shí)別多個(gè)關(guān)節(jié)的摩擦參數(shù),提高識(shí)別效率,為機(jī)器人后期維護(hù)提供了方便快捷的解決方案.