朱成耀,張 波
(上海交通大學(xué)機(jī)械與動力工程學(xué)院,上海 200240)
協(xié)作機(jī)器人具有拖動示教、碰撞檢測、力/位混合控制等優(yōu)勢,這使得它在教育、加工、注塑和3C等領(lǐng)域中扮演著越來越重要的作用。協(xié)作機(jī)器人友好的動力學(xué)交互離不開精準(zhǔn)的動力學(xué)模型,因此動力學(xué)參數(shù)的辨識工作十分重要。
摩擦力參數(shù)辨識是動力學(xué)參數(shù)辨識的重點(diǎn)和難點(diǎn)。目前,被廣泛使用的摩擦力模型由庫侖摩擦和粘性摩擦組成,但是無法描述摩擦的非線性特征。文獻(xiàn)[1]中,使用和速度的指數(shù)成線性關(guān)系的粘性摩擦可以獲得較好的實(shí)驗(yàn)效果。另外,機(jī)器人關(guān)節(jié)還存在正反向摩擦力不對稱性,因此,建立更符合實(shí)際的摩擦模型可以提高動力學(xué)參數(shù)辨識的準(zhǔn)確性。
動力學(xué)參數(shù)辨識的基本方法為最小二乘法[2],最小二乘法保證了力矩誤差的二范數(shù)達(dá)到最小。作為前者的改進(jìn),加權(quán)的最小二乘法則保證了動力學(xué)參數(shù)的方差達(dá)到最優(yōu)[3]。然而上述方法均無法實(shí)現(xiàn)非線性摩擦模型的辨識。對此,Han等[4]提出了動力學(xué)參數(shù)的迭代辨識方法,該方法在提高動力學(xué)參數(shù)精度上表現(xiàn)了很大的優(yōu)勢,但是由于動力學(xué)參數(shù)眾多,迭代的辨識方法需要消耗大量的時間。在動力學(xué)模型線性化后,基本慣性參數(shù)中部分參數(shù)對機(jī)器人關(guān)節(jié)力矩的貢獻(xiàn)很小,剔除后并不影響動力學(xué)模型的精度,因此可以剔除。Janot等[5]在統(tǒng)計學(xué)意義上對基本動力學(xué)參數(shù)的作用進(jìn)行了分析。
基于上述分析,為了獲取更精準(zhǔn)的動力學(xué)參數(shù),本文引入了考慮速度指數(shù)和摩擦不對稱常數(shù)的摩擦力模型,針對非線性模型采用一種迭代的方法進(jìn)行參數(shù)辨識,引入F統(tǒng)計量剔除不影響關(guān)節(jié)力矩計算的基本動力學(xué)參數(shù)來提高迭代辨識的效率。通過實(shí)驗(yàn)驗(yàn)證了考慮復(fù)雜摩擦模型的迭代辨識的準(zhǔn)確性,以及剔除影響小的參數(shù)后辨識的高效性。
n自由度的串聯(lián)機(jī)器人的動力學(xué)模型(考慮關(guān)節(jié)摩擦力)可以線性化為[6]
(1)
機(jī)器人的動力學(xué)方程可以簡化為
(2)
假設(shè)有m個數(shù)據(jù)點(diǎn),根據(jù)式(2)可以算出觀測矩陣和觀測響應(yīng)為:
(3)
(4)
所以觀測矩陣和觀測響應(yīng)的關(guān)系為
τ*=Y*p
(5)
因?yàn)閙n>b,且Y*滿秩,所以可以用最小二乘法求解慣性參數(shù)為
p=((Y*)TY*)-1(Y*)Tτ*
(6)
系統(tǒng)殘差為
R*=τ*-Y*p
(7)
假設(shè)關(guān)節(jié)力矩的噪聲是相互獨(dú)立的,則力矩誤差的協(xié)方差矩陣Λ是對角陣,且各關(guān)節(jié)力矩的噪聲方差為
(8)
最小二乘法保證誤差的二范數(shù)達(dá)到最小,加權(quán)最小二乘法可以使動力學(xué)參數(shù)的方差達(dá)到最小,即
p=((Y*)TDY*)-1(Y*)TD-1τ
(9)
D∈Rmn×mn為分塊矩陣,其對角線由m個Λ組成。
(10)
因此,第i個動力學(xué)參數(shù)pi的相對標(biāo)準(zhǔn)差εpi為
(11)
辨識的動力學(xué)參數(shù)要滿足物理可行性約束[7],即辨識出的動力學(xué)參數(shù)應(yīng)有實(shí)際的物理意義。對于關(guān)節(jié)j需要滿足約束為
(12)
Ij為基于關(guān)節(jié)坐標(biāo)系原點(diǎn)的慣性張量矩陣;mjrj為關(guān)節(jié)的一階慣量;mj為關(guān)節(jié)質(zhì)量;tr( )為跡函數(shù);E3為三階單位矩陣;>0表示矩陣是正定矩陣。
最小二乘法雖然簡單,但是在辨識過程中無法考慮物理可行性約束,沒有將采樣數(shù)據(jù)的異常點(diǎn)剔除,也無法對復(fù)雜的摩擦力進(jìn)行辨識,這都會影響動力學(xué)參數(shù)辨識的精度。因此,本文將最小二乘法改為有約束的優(yōu)化問題,對辨識問題轉(zhuǎn)化成三環(huán)迭代優(yōu)化問題,以此提高動力學(xué)參數(shù)的辨識精度。
a.關(guān)節(jié)通道誤差歸一化迭代的內(nèi)環(huán)。
如果去掉機(jī)器人關(guān)節(jié)噪聲獨(dú)立的假設(shè),那么力矩誤差的協(xié)方差矩陣便不再是對角陣,新的協(xié)方差矩陣為
(13)
由于協(xié)作機(jī)器人的1~3關(guān)節(jié)力矩要比4~6關(guān)節(jié)的力矩要大很多,因此誤差的量級也不相同,因?yàn)橐獙κ?7)中各關(guān)節(jié)通道的誤差進(jìn)行歸一化處理,即
(14)
b.異常采樣數(shù)據(jù)剔除的中環(huán)。
實(shí)驗(yàn)中采集的數(shù)據(jù)異常點(diǎn)會對最小二乘法的辨識結(jié)果產(chǎn)生很大影響,因此需要在辨識的過程中去除。定義迭代的權(quán)重變量W:
(15)
(16)
W∈Rmn為權(quán)重變量,We∈Rmn×b為擴(kuò)展權(quán)重變量,其由b個W擴(kuò)展組成;.*為按元素乘符號。
本實(shí)驗(yàn)采用最簡單的T類硬權(quán)函數(shù)[8],當(dāng)歸一化殘差絕對值小于閾值φ時,該數(shù)據(jù)權(quán)重為1,否則為0。在既保證異常數(shù)據(jù)被清除,又保證剩余數(shù)據(jù)是正態(tài)分布的情況下,閾值φ=2.795。
去除異常數(shù)據(jù)后,則對動力學(xué)參數(shù)進(jìn)行求解。由于需要考慮物理可行性約束,將最小二乘法轉(zhuǎn)化為帶約束的優(yōu)化問題[9],即
(17)
pb為與摩擦參數(shù)無關(guān)的基本慣性參數(shù);pd為原始參數(shù)向基本慣性參數(shù)轉(zhuǎn)換時被簡化的參數(shù),這部分參數(shù)是不確定、無法辨識的;pf為與摩擦相關(guān)的基本慣性參數(shù);pt為變換后的基本慣性參數(shù)和不確定參數(shù);G為原始慣性參數(shù)向基本慣性參數(shù)轉(zhuǎn)換的映射矩陣;pt( )取pt參數(shù)集中對應(yīng)的參數(shù)。該優(yōu)化問題可以用MATLAB工具箱CVX的SDP模式獲得最優(yōu)解。
獲取動力學(xué)參數(shù)后,計算出歸一化的殘差為
R#=τ#-Y#p
(18)
噪聲的協(xié)方差更新為
(19)
E#為歸一化殘差R#的變形。這一過程即內(nèi)環(huán)的關(guān)節(jié)通道誤差歸一化迭代。
內(nèi)環(huán)穩(wěn)定后,對計算出的歸一化誤差數(shù)據(jù)進(jìn)行加權(quán),更新權(quán)重變量,即
Wcur=min(Wpre,T(R#))
(20)
min( )為取較小值函數(shù);T( )為T硬權(quán)函數(shù)。該迭代公式表明之前迭代異常的數(shù)據(jù)將不再參與計算,每次迭代去除新的異常數(shù)據(jù)。這一過程即中環(huán)的異常采樣數(shù)據(jù)去除迭代。
c.指數(shù)粘性摩擦模型辨識的外環(huán)。
一般情況下,摩擦力模型被簡化為庫侖摩擦和與速度成線性關(guān)系的粘性摩擦,即
(21)
實(shí)際機(jī)器人關(guān)節(jié)摩擦力模型可表示為
(22)
(23)
首先獲取關(guān)節(jié)力矩中摩擦力的部分,即
(24)
對這部分摩擦力用式(22)進(jìn)行擬合,即
(25)
這就是外環(huán)的指數(shù)粘性摩擦模型辨識迭代。該優(yōu)化問題可以用MATLAB函數(shù)fmincon求解。
在動力學(xué)參數(shù)辨識的結(jié)果中,有些參數(shù)非常小,與此伴隨的現(xiàn)象是相對標(biāo)準(zhǔn)差較大,這些參數(shù)幾乎不貢獻(xiàn)關(guān)節(jié)力矩,因此剔除這些參數(shù)不會影響力矩精度。在辨識之前找到這些參數(shù)可以降低內(nèi)環(huán)優(yōu)化問題的維度,提高辨識效率。
F檢驗(yàn)是一種統(tǒng)計檢驗(yàn)方法,主要用于方差齊性檢驗(yàn)和方差比率檢驗(yàn)等。它是在零假設(shè)之下,統(tǒng)計值服從F分布的檢驗(yàn)。F檢驗(yàn)可以進(jìn)行線性回歸方程整體的顯著性檢驗(yàn),即線性方程回歸系數(shù)中的1個或多個是否適用于估計母體。
使用F檢驗(yàn)之前需要進(jìn)行KS檢驗(yàn)保證分析的數(shù)據(jù)符合正態(tài)分布。
迭代的參數(shù)辨識的歸一化殘差通過KS檢驗(yàn)(MATLAB中的kstest函數(shù))滿足正態(tài)分布:R#~N(0,1)。因此,可以使用F檢驗(yàn)剔除對力矩沒有顯著影響的動力學(xué)參數(shù)[10]。
c.計算統(tǒng)計量F。
(26)
顯著性水平α=0.05,自由度n1=b-br、自由度n2=mn-b≈∞,查閱F分布表獲得邊界值Fth。若F≤Fth,則說明剔除的參數(shù)對力矩就算精度沒有影響,繼續(xù)降低相對標(biāo)準(zhǔn)差閾值ε0,ε0根據(jù)經(jīng)驗(yàn)可以從60向20遞減直到F檢驗(yàn)失效。
通過F檢驗(yàn)后,對關(guān)節(jié)力矩計算精度有顯著影響的參數(shù)變?yōu)閎r。式(17)的優(yōu)化問題變?yōu)?/p>
由于該優(yōu)化問題處于三環(huán)迭代的最內(nèi)層,是計算最頻繁的優(yōu)化環(huán)節(jié),將動力學(xué)參數(shù)降維后將會提高辨識的效率。
動力學(xué)參數(shù)辨識的實(shí)驗(yàn)在溱者協(xié)作機(jī)器人Chin7上進(jìn)行,表1為Chin7的MDH參數(shù)。
表1 Chin7機(jī)器人MDH參數(shù)
為了保證機(jī)器人的動力學(xué)特性被充分激發(fā),需要設(shè)計軌跡保證式(5)中的觀測矩陣滿足持續(xù)激勵條件。根據(jù)文獻(xiàn)[11],機(jī)器人動力學(xué)參數(shù)辨識軌跡通常采用五階傅里葉級數(shù)。
(28)
wf=0.2π為基頻,軌跡周期T=10 s。每個關(guān)節(jié)軌跡有10個待定參數(shù)。
根據(jù)文獻(xiàn)[12],以式(5)的觀測矩陣的條件數(shù)為優(yōu)化目標(biāo),滿足機(jī)器人的速度、加速度約束,求解
(29)
為了簡化約束提高辨識效率,該優(yōu)化問題沒有將位置和速度起始點(diǎn)和結(jié)束點(diǎn)約束為關(guān)節(jié)原點(diǎn)。在運(yùn)行激勵軌跡之前可以各設(shè)計1段五階多項(xiàng)式軌跡作為啟動軌跡和收尾軌跡。本次實(shí)驗(yàn)采用的激勵軌跡如圖1所示。
圖1 動力學(xué)參數(shù)辨識的關(guān)節(jié)激勵軌跡
在獲得降維的參數(shù)以后,可以用降維的觀測矩陣作為優(yōu)化的目標(biāo),觀測矩陣的列數(shù)減少,同樣可以提高激勵軌跡優(yōu)化問題的求解速度。
將圖1的激勵軌跡輸入到機(jī)器人控制器中運(yùn)行,重復(fù)運(yùn)行5次以便對數(shù)據(jù)集取平均降低誤差。機(jī)器人以1 kHz的采樣頻率獲得關(guān)節(jié)電流和關(guān)節(jié)角度。計算觀測矩陣時需要關(guān)節(jié)的速度和加速度,因此先對位置進(jìn)行濾波再一次差分和二次差分獲得速度和加速度[13]。采用截止頻率為7.5 Hz(軌跡最高頻率的15倍)的四階巴特沃斯濾波器(MATLAB中的butter函數(shù)),進(jìn)行零相位濾波(MATLAB中的filtfilt函數(shù))。關(guān)節(jié)電流和關(guān)節(jié)力矩成正比,在使用式(9)辨識時,采用和處理位置信號相同的濾波器。使用式(17)辨識時,由于迭代辨識中環(huán)的存在,電流不需要進(jìn)行濾波即可參與計算[4]。
a.最小二乘法和迭代辨識法。
利用處理好的數(shù)據(jù),分別使用最小二乘法直接計算機(jī)器人的動力學(xué)參數(shù)(方法A),再用迭代辨識的方法計算機(jī)器人的動力學(xué)參數(shù)(方法B)。
求解出動力學(xué)參數(shù)后,再設(shè)計1條驗(yàn)證軌跡,觀察驗(yàn)證軌跡的實(shí)際力矩和使用動力學(xué)參數(shù)計算出的預(yù)測力矩是否吻合,評價標(biāo)準(zhǔn)相對RMS為εRMS,即
(30)
2種方法的εRMS如表2所示。由表2可知,迭代的辨識方法考慮了物理可行性約束、對異常采樣數(shù)據(jù)進(jìn)行了剔除以及建立更符合實(shí)際的摩擦模型,其辨識出的動力學(xué)參數(shù)計算出的關(guān)節(jié)力矩都更接近實(shí)際力矩。證明迭代的辨識方法獲得的動力學(xué)參數(shù)更加準(zhǔn)確。
表2 3種辨識方法的驗(yàn)證軌跡各關(guān)節(jié)εRMS
b.降維前后的迭代辨識方法。
使用式(9)和式(11)求解動力學(xué)參數(shù)和相對標(biāo)準(zhǔn)差。然后使用F檢驗(yàn)去除無影響的動力學(xué)參數(shù),相對標(biāo)準(zhǔn)差閾值ε0從60開始以5的梯度遞減直到F檢驗(yàn)失效。在Chin7上,在ε0=35時,失效的參數(shù)為15個,在顯著性水平α=0.05時,自由度n1=b-br=15、自由度n2=mn-b≈∞,查閱F分布表獲得邊界值Fth=1.68,求解F=1.604 2,滿足F檢驗(yàn)。此時,機(jī)器人的動力學(xué)參數(shù)由58個降為43個。
原始基本動力學(xué)參數(shù)的迭代方法(方法B)和使用F檢驗(yàn)降維后的動力學(xué)參數(shù)的迭代方法(方法C)辨識的εRMS結(jié)果和驗(yàn)證軌跡力矩圖如表2和圖2所示。
圖2 降維前后的驗(yàn)證軌跡各關(guān)節(jié)力矩
針對機(jī)器人動力學(xué)參數(shù)辨識需要考慮物理可行性約束、去除異常采樣數(shù)據(jù)、建立更符合實(shí)際的摩擦力模型問題,本文使用了迭代的辨識方法。并針對迭代方法時間成本高的問題提出了一種改進(jìn)的迭代方法,引入F檢驗(yàn)的統(tǒng)計學(xué)方法,以相對標(biāo)準(zhǔn)差εpi作為基準(zhǔn)遞減至F檢驗(yàn)失效,獲得對關(guān)節(jié)力矩貢獻(xiàn)很小的基本動力學(xué)參數(shù)并進(jìn)行剔除,參數(shù)經(jīng)過剔除后再參與迭代辨識。通過實(shí)驗(yàn)發(fā)現(xiàn):
a.用三環(huán)迭代的動力學(xué)參數(shù)辨識方法比直接用最小二乘法獲得的動力學(xué)參數(shù)精度高。
b.使用F檢驗(yàn)降維后的參數(shù)參與的迭代辨識在沒有損失各關(guān)節(jié)力矩精度的情況下,大大提高了三環(huán)辨識的效率。
c.未來將在降維的動力學(xué)模型框架下,考慮關(guān)節(jié)在低速下的Stribeck摩擦模型,從而進(jìn)一步提高動力學(xué)參數(shù)辨識精度。