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