喬貴方 萬 其 呂仲艷 康傳帥 孫大林 溫秀蘭
(1.南京工程學(xué)院自動化學(xué)院, 南京 211167; 2.東南大學(xué)儀器科學(xué)與工程學(xué)院, 南京 210096)
近年來,工業(yè)機器人在高端制造領(lǐng)域和農(nóng)業(yè)領(lǐng)域的應(yīng)用受到國內(nèi)外研究機構(gòu)的關(guān)注[1-3]。為了實現(xiàn)高精度、低成本、柔性化的加工系統(tǒng)[4],歐盟于2010—2013年資助 COMET 項目,用于研究工業(yè)機器人在機械加工方面的關(guān)鍵技術(shù)。近些年,丁漢院士團隊[1]、廖文和團隊[5]以及邾繼貴團隊[6]重點研究將工業(yè)機器人應(yīng)用于航天發(fā)動機的葉片智能磨拋作業(yè)、航天工業(yè)中鉆鉚/裝配作業(yè)以及制造現(xiàn)場在線測量等高端制造領(lǐng)域。目前,工業(yè)機器人重復(fù)定位精度雖能達到0.01~0.1 mm,但其絕對定位精度仍為毫米級。利用視覺測量系統(tǒng)反饋實時調(diào)節(jié)工業(yè)機器人的末端位姿能夠提高作業(yè)精度,但影響機器人的運動效率[7-8]。研究表明,采用機器人標(biāo)定技術(shù)能夠有效地提高工業(yè)機器人的絕對定位精度[9]。
機器人標(biāo)定一般分為關(guān)節(jié)級標(biāo)定、運動學(xué)參數(shù)標(biāo)定與非運動學(xué)標(biāo)定[10-11]。運動學(xué)參數(shù)誤差是影響機器人作業(yè)精度的主要因素,約占總誤差的80%以上[12]。運動學(xué)參數(shù)描述關(guān)節(jié)軸線之間的幾何關(guān)系,如連桿長度、連桿扭角、關(guān)節(jié)距離、關(guān)節(jié)零位等。在機器人運動或載荷變化時,運動學(xué)參數(shù)誤差保持不變,即運動學(xué)參數(shù)誤差對機器人的所有位形是常數(shù)?;谶\動學(xué)誤差模型的機器人標(biāo)定過程包括建模、測量、辨識及補償4個基本步驟[13]。運動學(xué)模型應(yīng)具備完整性、連續(xù)性和極小性。目前,機器人控制器中廣泛使用DH運動學(xué)模型,但當(dāng)相鄰兩軸平行或接近平行時,DH模型存在奇異性[14]。為解決該問題,HAYATI等[15]提出了MDH模型,其核心是在DH模型的基礎(chǔ)上添加一個角度參數(shù)來描述相鄰平行軸的位置關(guān)系,但該模型在相鄰軸線垂直時也會出現(xiàn)奇異狀態(tài),同樣也不具備完整性。POE模型[16]基于旋量理論的指數(shù)積表達式提出,該模型滿足完整性、連續(xù)性和極小性。但因目前機器人控制器主要基于DH模型進行正逆解運算,故基于POE模型不易于實現(xiàn)運動學(xué)誤差補償。按照誤差模型建立的方式,標(biāo)定模型可分為基于位置誤差模型、基于距離誤差模型和基于位姿誤差模型[17-19],其中基于位姿誤差模型更為完整,得到的機器人運動學(xué)模型精度更高,并且全面優(yōu)化了機器人末端位置和姿態(tài)精度[20]。
本文提出一種基于模型轉(zhuǎn)換的串聯(lián)機器人運動學(xué)參數(shù)標(biāo)定方法。該方法基于零參考模型建立機器人的位姿誤差模型,零參考模型(Zero reference model,ZRM)具有完整性和連續(xù)性,從而能夠?qū)崿F(xiàn)高精度的運動學(xué)參數(shù)誤差辨識;為更易于實現(xiàn)誤差補償,將ZRM的參數(shù)誤差轉(zhuǎn)換成MDH模型的參數(shù)誤差。通過以上兩步,進一步提高工業(yè)機器人的絕對定位精度,并易于實現(xiàn)誤差補償。
圖1為搭建的機器人標(biāo)定試驗系統(tǒng)。該系統(tǒng)使用Leica AT960型激光跟蹤儀,其測量不確定度為±(15 μm+6 μm/m)。配套使用的測量分析軟件為Spatial Analyzer,該軟件提供了擬合幾何體、建立坐標(biāo)系等功能。該系統(tǒng)待標(biāo)定的為Staubli TX60型工業(yè)機器人,該機器人重復(fù)定位精度為±0.02 mm,額定負(fù)載為3 kg,最大負(fù)載為5 kg。激光跟蹤儀T-MAC型測量工具安裝在工業(yè)機器人末端法蘭盤上,激光跟蹤儀能夠準(zhǔn)確測量其空間位姿。本文的測量過程均符合GB/T 12642—2013及ISO 9283工業(yè)機器人性能規(guī)范及其試驗方法標(biāo)準(zhǔn)[21]。
根據(jù)零參考模型的建立原則[22],建立Staubli TX60型機器人各連桿坐標(biāo)系如圖2所示。零參考模型中定義了兩個矢量:①單位方向矢量ui,確定各個關(guān)節(jié)軸的方向。②位置矢量bi+1,確定各個關(guān)節(jié)軸的相對位置。如圖2所示,以機器人基坐標(biāo)系定義為零參考模型中的參考坐標(biāo)系,從而獲得機器人零位狀態(tài)下的各個關(guān)節(jié)沿關(guān)節(jié)旋轉(zhuǎn)軸線的單位方向矢量ui=(uix,uiy,uiz)以及關(guān)節(jié)i-1和關(guān)節(jié)i之間的位置矢量bi=(bix,biy,biz)。
根據(jù)以上定義,Staubli TX60型工業(yè)機器人的零位置模型名義參數(shù)如表1所示,而機器人相鄰兩關(guān)節(jié)間旋轉(zhuǎn)變換矩陣表達式為
表1 TX60型機器人零參考模型名義參數(shù)Tab.1 ZRM nominal parameters of TX60 robot
(1)
其中
Vi=1-cosqiSi=sinqi
式中qi——關(guān)節(jié)i的角位移
而機器人相鄰連桿之間的坐標(biāo)系齊次變換矩陣表達式為
(2)
因此,機器人的末端位姿在其基坐標(biāo)系中位姿表達式為
(3)
建立運動學(xué)誤差模型是實現(xiàn)機器人標(biāo)定的重要步驟之一。將機器人末端定位誤差定義為實際位姿測量值TR與理論位姿值TN差值ΔT。根據(jù)式(3),將TN對模型參數(shù)uix、uiy、uiz、b(i+1)x、b(i+1)y、b(i+1)z進行偏微分并忽略高階項,可以得到第j個位姿點的定位誤差為
(4)
其中 Δη=[ΔuixΔuiyΔuizΔb(i+1)x
Δb(i+1)yΔb(i+1)z…]T
[ΔnjΔojΔaj]=ΔRj
式中 Δη——待辨識的零參考模型參數(shù)誤差
ΔPj、ΔRj——第j個待測位姿點的位姿誤差
Prj、nrj、orj、arj——將激光跟蹤儀測量的位姿轉(zhuǎn)換到機器人基坐標(biāo)系下的實際位姿
Pnj、nnj、onj、anj——基坐標(biāo)系下機器人理論位姿
將式(4)寫成矩陣形式可得
(5)
式中 ΔEj——待測點位姿誤差
Hj——零參考模型雅可比矩陣
由于誤差模型中的誤差雅可比矩陣可能存在線性相關(guān)的問題,使運動學(xué)模型中的某些參數(shù)無法辨識,同時也會導(dǎo)致優(yōu)化算法的辨識精度較差。為避免優(yōu)化算法陷入局部極小值,首先分析零參考模型的冗余參數(shù),將冗余參數(shù)去除。矩陣奇異值分解(SVD)能夠獲得冗余參數(shù),對辨識雅可比矩陣進行QR分解[23],QR分解公式為
(6)
式中Q——r×r正交矩陣
O(r-c)×c——零矩陣
R——c×c上三角矩陣
理論上,在矩陣R對角線上為0的元素所對應(yīng)的誤差參數(shù)無法辨識。實際處理時,可將一些數(shù)值較小的對應(yīng)元素去除。通過以上處理,機器人零參考誤差模型對應(yīng)的冗余參數(shù)如表2所示。
表2 零參考誤差模型冗余性分析Tab.2 Redundancy analysis of ZRM error model
基于ZRM構(gòu)建的誤差模型為典型的非線性方程,對于求解非線性方程的最優(yōu)問題,目前使用較為廣泛的優(yōu)化算法是Levenberg-Marquardt(LM)算法,根據(jù)文獻[24]可知,LM算法收斂快速穩(wěn)定,計算復(fù)雜度較小。將式(5)誤差模型改寫為
fj(Δη)=ΔEj-HjΔη
(7)
構(gòu)建LM優(yōu)化算法的目標(biāo)函數(shù)為
(8)
LM算法的遞推公式為
(9)
其中μ是一個正數(shù),當(dāng)μ接近于0時,這個算法近似于Gauss-Newton算法;當(dāng)μ很大時,這個算法近似于最速下降法。
以Staubli TX60型機器人的基坐標(biāo)系為參考坐標(biāo),以坐標(biāo)值(550 mm, 0 mm, 550 mm)為中心點,在邊長為1 000 mm的正方體空間內(nèi)隨機選擇50個測量點,并使這50個測量點盡可能分布在整個正方體空間內(nèi)。根據(jù)式(4)計算位姿誤差,辨識得到ZRM模型的參數(shù)誤差如表3所示,標(biāo)定前后的機器人絕對定位精度如圖3和圖4所示。標(biāo)定前TX60型機器人在x、y、z軸上的平均定位誤差分別為0.146 3、0.306 4、0.416 1 mm,標(biāo)定后的TX60型機器人在x、y、z軸上的平均定位誤差分別為0.034、0.021、0.031 mm,標(biāo)定前TX60型機器人在x、y、z軸上的平均角度誤差分別為0.000 46、0.001 4、0.000 62 rad,標(biāo)定后的TX60型機器人在x、y、z軸上的平均角度誤差分別為0.000 62、0.000 67、0.000 79 rad。從以上結(jié)果可以看出,標(biāo)定后的機器人在3個軸向上的位置精度均有較大改善,平均綜合定位誤差降低了90.63%。標(biāo)定后的機器人在y軸向上的姿態(tài)精度有較大改善,并且在3個軸向上的姿態(tài)精度相對標(biāo)定前更為均衡,平均綜合姿態(tài)誤差降低了25.08%。
表3 辨識出的零位置模型參數(shù)誤差Tab.3 Identified parameter error of ZRM model
如圖5、6所示,基于MDH誤差模型標(biāo)定后的機器人在x、y、z軸上的平均定位誤差分別為0.041 85、0.041、0.054 6 mm,在x、y、z軸上的平均角度誤差分別為0.001 57、0.000 95、0.000 6 rad,可以看出,標(biāo)定后的機器人在3個軸向上的位置精度均有較大改善,平均綜合定位誤差降低了85.09%。但基于MDH誤差模型標(biāo)定后機器人姿態(tài)誤差較大。因此,基于ZRM誤差模型辨識后的模型精度高于基于MDH誤差模型。由于目前工業(yè)機器人主要采用DH模型進行建模,基于零參考模型所辨識的參數(shù)無法直接用于機器人誤差補償。因此,本文提出一種基于ZRM-MDH模型轉(zhuǎn)換的標(biāo)定方法,能夠?qū)崿F(xiàn)高精度的運動學(xué)參數(shù)辨識。
圓點分析法(Circle point analysis,CPA)是一種通過測量工業(yè)機器人關(guān)節(jié)軸線進行標(biāo)定的技術(shù)[25],通過獲取關(guān)節(jié)軸線的方向向量計算工業(yè)機器人的運動學(xué)模型參數(shù)。ZRM直接給出在參考坐標(biāo)系下關(guān)節(jié)旋轉(zhuǎn)軸線的單位方向矢量,因此,可將ZRM誤差模型計算得到的運動學(xué)誤差通過CPA方法轉(zhuǎn)換為DH模型的運動學(xué)參數(shù)誤差。根據(jù)獲得的ZRM運動學(xué)參數(shù)對機器人的各關(guān)節(jié)建立坐標(biāo)系,如表4所示。
表4 基于ZRM的坐標(biāo)系定義Tab.4 Definition of coordinate frame based on ZRM
根據(jù)以上建立的坐標(biāo)系,計算被標(biāo)定的機器人MDH參數(shù),計算過程如下:
首先判斷相鄰關(guān)節(jié)軸線Zi-1與Zi是否近似平行,若|Zi-1-Zi|≤0.000 1,則認(rèn)為相鄰關(guān)節(jié)軸線近似平行。
當(dāng)相鄰關(guān)節(jié)軸線不近似平行時,則βi=0,Xi-1與Xi之間在繞Zi-1正向上的夾角為
(10)
式中Xi——關(guān)節(jié)坐標(biāo)系i的X軸軸向單位矢量
Oi-1與Oi之間在Xi正向上的距離為
(11)
式中Oi——關(guān)節(jié)坐標(biāo)系i原點坐標(biāo)矢量
Oi-1與Oi之間在Zi-1正向上的距離為
(12)
Zi-1到Zi之間繞Xi正向上的夾角為
(13)
當(dāng)相鄰關(guān)節(jié)軸線近似平行時,則di=0,Xi-1與向量lOi-1Oi間在繞Zi-1正向上的夾角為
(14)
Oi-1與Oi之間的距離為
ai=|Oi-Oi-1|
(15)
Zi-1到Zi之間繞Xi正向上的夾角為
(16)
其中Yi-1=li×Zi-1Yi=Xi×Zi
Zi-1到Zi之間繞Yi正向上的夾角為
(17)
但因零參考模型中的參考坐標(biāo)系和DH模型中的基坐標(biāo)系無法通過以上步驟進行統(tǒng)一,因此,在以上計算得到的參數(shù)誤差基礎(chǔ)上,添加基坐標(biāo)系修正矩陣,該矩陣為
(18)
根據(jù)模型轉(zhuǎn)換后的殘余誤差,通過LM算法擬合修正矩陣的參數(shù),該矩陣如表5所示。隨機選擇40個定位點作為測試點,分別經(jīng)過基于MDH誤差模型標(biāo)定,基于ZRM誤差模型標(biāo)定以及基于ZRM-MDH模型轉(zhuǎn)換方法,標(biāo)定結(jié)果如圖7所示。由圖7可以看出,3種方法均能夠?qū)崿F(xiàn)高精度的運動學(xué)參數(shù)標(biāo)定,其中基于MDH誤差模型標(biāo)定后的機器人平均綜合定位誤差為0.081 mm,基于ZRM誤差模型標(biāo)定后的機器人平均綜合定位誤差為0.052 mm,而經(jīng)過ZRM-MDH模型轉(zhuǎn)換后的機器人平均綜合定位誤差為0.062 mm,相對于基于MDH誤差模型的平均綜合定位誤差降低了23.5%。
表5 基于MDH模型與基于ZRM-DH模型轉(zhuǎn)換的辨識結(jié)果對比Tab.5 Comparison of identification results of MDH model based and ZRM-DH model transformation based calibrations
為了進一步驗證結(jié)果的正確性,分別在TX60型機器人前側(cè)工作區(qū)域內(nèi)的上下左右中5個方位分別選擇5個邊長為500 mm的小正方體,在每個正方體內(nèi)隨機選取50個測量點,5個區(qū)域的測量點分布圖如圖8所示,計算結(jié)果如圖9所示。由圖9可以看出,基于MDH誤差模型辨識得到運動學(xué)模型在各個區(qū)域內(nèi)的誤差穩(wěn)定性相對較差,平均綜合定位誤差為0.132 mm,而基于ZRM-MDH模型轉(zhuǎn)換所獲得的運動學(xué)模型誤差穩(wěn)定性相對較好,平均綜合定位誤差為0.099 mm,平均綜合定位誤差降低25%。因此,本文提出的基于ZRM-MDH模型轉(zhuǎn)換的機器人運動學(xué)參數(shù)辨識方法具有較好的標(biāo)定效果。
針對串聯(lián)工業(yè)機器人運動學(xué)參數(shù)標(biāo)定問題,提出了一種基于ZRM-MDH模型轉(zhuǎn)換的機器人運動學(xué)參數(shù)標(biāo)定方法。該方法首先利用零參考模型對串聯(lián)工業(yè)機器人進行標(biāo)定,然后基于圓點分析法將零參考模型轉(zhuǎn)換成MDH模型。在TX60型機器人前側(cè)工作區(qū)域內(nèi)任意選擇50個測量點,實施運動學(xué)參數(shù)誤差標(biāo)定。實驗表明,基于MDH模型標(biāo)定后的機器人平均綜合定位誤差為0.081 mm,而經(jīng)過ZRM-MDH模型轉(zhuǎn)換后的機器人平均綜合定位誤差為0.062 mm,TX60型機器人的平均綜合定位誤差降低了23.5%。為驗證標(biāo)定方法的穩(wěn)定性,在TX60型機器人前側(cè)工作區(qū)域內(nèi)選擇5個區(qū)域?qū)嵤┻\動學(xué)參數(shù)誤差標(biāo)定,結(jié)果表明,基于ZRM-MDH模型轉(zhuǎn)換獲得的標(biāo)定精度穩(wěn)定性相對較好。本文提出的基于ZRM-MDH模型轉(zhuǎn)換的機器人運動學(xué)參數(shù)標(biāo)定方法既能夠直接獲得機器人DH參數(shù),易于實現(xiàn)機器人誤差補償,又能夠有效地提升機器人的標(biāo)定精度。