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