陳相君,古力那爾·祖農(nóng),薛 梓,栗大超,班 朝,4,任國營,
(1. 天津大學(xué) 精密測試技術(shù)及儀器國家重點實驗室, 天津 300072; 2. 新疆維吾爾自治區(qū)計量測試研究院,新疆 烏魯木齊 830011;3. 中國計量科學(xué)研究院,北京 100029; 4. 中國計量大學(xué) 機(jī)電工程學(xué)院,浙江 杭州 310018)
高端制造業(yè)的持續(xù)發(fā)展帶動了協(xié)作機(jī)器人產(chǎn)業(yè)的發(fā)展,也對機(jī)器人的精度提出了更高要求,機(jī)器人標(biāo)定對提高機(jī)器人的絕對定位精度有重要作用[1]。目前對于機(jī)器人標(biāo)定的研究主要集中在基于模型的標(biāo)定方法上,由于機(jī)械加工誤差、裝配誤差、磨損等因素影響,使得機(jī)器人實際參數(shù)和理論設(shè)計參數(shù)存在偏差,直接導(dǎo)致了末端位姿精度的降低。研究發(fā)現(xiàn),機(jī)器人幾何參數(shù)誤差是影響機(jī)器人作業(yè)精度的主要誤差源,約占總誤差的90%[2~4]。故機(jī)器人幾何參數(shù)的標(biāo)定研究是提高其定位精度的基礎(chǔ)和核心。
機(jī)器人的幾何參數(shù)標(biāo)定可以分為建模、測量、辨識、補(bǔ)償4個步驟。目前機(jī)器人多采用DH參數(shù)法進(jìn)行建模,但是DH參數(shù)法存在一個缺陷,即當(dāng)機(jī)器人相鄰兩軸平行或接近平行時出現(xiàn)奇異點,無法滿足建模連續(xù)性的要求[5]。針對此情況Hayati S A等[6]提出了修正的5參數(shù)MDH方法,通過增加一個參數(shù)建立運(yùn)動學(xué)模型。此外,機(jī)器人的標(biāo)定也可使用CPC模型[7],或基于POE的運(yùn)動學(xué)模型[8],但這兩種模型的算法相對復(fù)雜,計算過程較困難。測量是利用高精設(shè)備測得機(jī)器人末端的位置??捎玫脑O(shè)備有:三坐標(biāo)測量機(jī),雙目視覺攝像機(jī),激光跟蹤儀等。唐宇存等[9]通過放置在一個平面上的3個標(biāo)準(zhǔn)球來實現(xiàn)三坐標(biāo)測量機(jī)對位姿精度的測量;張旭等[10]采用主動光立體標(biāo)靶和雙目視覺系統(tǒng)測量機(jī)器人末端位姿;劉春學(xué)等[11]利用Leica AT960絕對激光跟蹤儀系統(tǒng)和SA軟件實現(xiàn)對機(jī)器人的末端位姿檢測和參數(shù)辨識。辨識是從測量數(shù)據(jù)中獲取機(jī)器人實際模型參數(shù)信息的過程,王躍靈等[12]采用自適應(yīng)粒子群遺傳算法對柔性關(guān)節(jié)機(jī)器人動力學(xué)參數(shù)進(jìn)行辨識;趙春芳等[13]采用改進(jìn)的免疫遺傳優(yōu)化蟻群算法尋找移動機(jī)器人的最優(yōu)路徑;劉宇等[14]提出了基于改進(jìn)遺傳算法的空間機(jī)器人動力學(xué)參數(shù)辨識研究。
本文采用MDH參數(shù)法進(jìn)行機(jī)器人模型建立,用激光跟蹤儀測量機(jī)器人末端絕對位置坐標(biāo),利用機(jī)器人正運(yùn)動學(xué)方程和奇異值分解法對數(shù)據(jù)進(jìn)行處理,最后用LM[15,16]法對誤差參數(shù)進(jìn)行辨識,分別通過仿真和內(nèi)部補(bǔ)償實驗對辨識結(jié)果進(jìn)行補(bǔ)償并驗證效果。
機(jī)器人常用的建模方法是DH參數(shù)法,相鄰兩連桿坐標(biāo)系之間的轉(zhuǎn)換關(guān)系可以用4個運(yùn)動參數(shù)來描述,分別是連桿扭角αi-1、連桿長度ai-1、連桿偏移量di、關(guān)節(jié)角度θi(i=1,2,…,n)。但DH參數(shù)法的不足之處是:當(dāng)相鄰兩關(guān)節(jié)軸平行或接近平行時,關(guān)節(jié)軸姿態(tài)的微小變化會引起DH參數(shù)出現(xiàn)巨大變化。為解決這一問題,MDH參數(shù)法在DH參數(shù)的基礎(chǔ)上增加了轉(zhuǎn)動項Rot(yi,βi)(βi表示繞yi軸旋轉(zhuǎn)的轉(zhuǎn)角),解決了DH參數(shù)法存在的這一缺陷[17、18],其相鄰連桿的變換關(guān)系為
(1)
(2)
(3)
在理想狀態(tài)下,機(jī)器人末端的實際位姿應(yīng)與控制器中的指令位姿一致,由于機(jī)器人受到各種誤差因素(如:加工和裝配誤差)的影響,使機(jī)器人末端的實際位姿與指令位姿之間存在一定偏差。根據(jù)機(jī)器人學(xué)的微分變換方法,可將各個關(guān)節(jié)產(chǎn)生的誤差轉(zhuǎn)換至機(jī)器人末端誤差,建立機(jī)器人的幾何誤差模型。由于位姿誤差辨識對測量精度要求高,計算量大,會產(chǎn)生大量冗余,而且,因為機(jī)器人各個關(guān)節(jié)間的強(qiáng)耦合關(guān)系,當(dāng)機(jī)器人末端位置精度提高時,姿態(tài)精度也會提高。故本文只建立機(jī)器人的定位誤差模型。
Δαi-1)·Trans(zi,di+Δdi)Rot(zi,θi+
Δθi)Rot(yi,βi+Δβi)
(4)
連桿i處的誤差模型為
(5)
式中:Δi是相鄰關(guān)節(jié)之間的坐標(biāo)系微分變換矩陣,其值可表示為
(6)
式中:δxi、δyi、δzi分別表示關(guān)節(jié)i的微分旋轉(zhuǎn)誤差,dxi、dyi、dzi分別表示關(guān)節(jié)i的微分平移誤差。
實際上Δαi-1、Δai-1、Δdi、Δθi、Δβi這些參數(shù)誤差都非常微小,故連桿的誤差模型可以用微分模型來代替,對轉(zhuǎn)換矩陣進(jìn)行全微分得:
(7)
(8)
同理可得到Qai-1,Qdi,Qθi,Qβi。聯(lián)立式(7)、式(8)可得:
(9)
聯(lián)立式(5)、式(6)、式(9)可得:
(10)
用微分運(yùn)動列矢量Bi來表示微分平移誤差和微分旋轉(zhuǎn)誤差,同時設(shè)第i關(guān)節(jié)的誤差系數(shù)矩陣為Gi,運(yùn)動學(xué)參數(shù)誤差列矢量為qi,則式(10)可表示為
Bi=Giqi
(11)
式(11)僅建立了關(guān)節(jié)i的微分誤差模型,而機(jī)器人末端位姿誤差是由機(jī)器人各關(guān)節(jié)誤差疊加而成的。在實際測量中得到的是機(jī)器人末端位姿,需要把機(jī)器人的各關(guān)節(jié)誤差變換到機(jī)器人末端。
根據(jù)機(jī)器人微分變換原理[19],令6ji為第i關(guān)節(jié)坐標(biāo)系到末端坐標(biāo)系的微分誤差變換矩陣:
(12)
因此,機(jī)器人誤差模型描述為
(13)
式中:Bn為變換后名義微分運(yùn)動列矢量;J為雅克比矩陣;q為各連桿參數(shù)誤差列矢量集合。
因為只考慮位置誤差分量,由式(13)可得位置誤差的標(biāo)定方程
Δp=J0q
(14)
式中:Δp為機(jī)械臂名義末端位置誤差;J0為系數(shù)矩陣,是雅可比矩陣J的前3行。
將機(jī)器人末端運(yùn)動到工作空間不同的50個點,使點集盡可能分布均勻,利用激光跟蹤儀測得這些點的位置數(shù)據(jù),最后用LM法求解誤差模型參數(shù)q[20]。
激光跟蹤儀測量機(jī)器人末端坐標(biāo)時,實際測量到的坐標(biāo)是法蘭盤上靶球中心點的坐標(biāo),測量點與機(jī)器人末端存在一個平移變換,利用激光跟蹤儀的測量值和協(xié)作機(jī)器人的正運(yùn)動學(xué)方程,結(jié)合LM優(yōu)化算法計算出在x,y,z方向上平移量的最優(yōu)值,其數(shù)學(xué)模型為
(15)
設(shè)靶球相對于機(jī)器人末端的偏移量為(Δx,Δy,Δz),由式(3)機(jī)器人正運(yùn)動學(xué)公式可得:
(16)
則靶球位置坐標(biāo)表示為
(17)
當(dāng)校準(zhǔn)點為50個時,得到49個方程,解3個未知數(shù),產(chǎn)生冗余情況,用LM優(yōu)化算法迭代求解,算出Δx,Δy,Δz的值。
本文以JAKA六軸協(xié)作機(jī)器人為實驗對象,利用美國API激光跟蹤儀對機(jī)器人的末端位置進(jìn)行測量,用LM法辨識出機(jī)器人模型誤差參數(shù),進(jìn)而對機(jī)器人內(nèi)部系統(tǒng)參數(shù)進(jìn)行補(bǔ)償仿真與實驗。實驗中MDH模型各個參數(shù)名義值見表1,使用的機(jī)器人實物及建立的各連桿之間的坐標(biāo)系如圖1所示。
圖1 JAKA機(jī)器人實物圖及各連桿之間坐標(biāo)系建立Fig.1 Physical drawing of JAKA robot and establishment of coordinate system between each link
表1 機(jī)器人的MDH參數(shù)Tab.1 MDH parameters of robot
50個測量點在機(jī)器人坐標(biāo)系下的分布見圖2。
圖2 50個測量點在機(jī)器人坐標(biāo)系下的分布Fig.2 The distribution of fifty measurement points in the robot coordinate system
實驗現(xiàn)場布局如圖3所示。
圖3 實驗現(xiàn)場布局Fig.3 Layout of experiment site
利用協(xié)作機(jī)器人正運(yùn)動學(xué)方程和工具坐標(biāo)系轉(zhuǎn)換解算出的坐標(biāo)值是機(jī)器人基坐標(biāo)系下表示的坐標(biāo)值,而使用激光跟蹤儀測量的坐標(biāo)值是在測量儀器坐標(biāo)系下表示的坐標(biāo)值,需要將兩者統(tǒng)一到同一個坐標(biāo)系下才能進(jìn)行下一步的對比計算,本文采取奇異值分解法進(jìn)行坐標(biāo)系間的旋轉(zhuǎn)平移變換。
采用第4節(jié)中的辨識算法,通過MATLAB計算得出的機(jī)器人MDH模型參數(shù)誤差如表2所示。
表2 辨識出的MDH模型參數(shù)誤差Tab.2 Parameter errors of MDH model identified externally
運(yùn)用MATLAB仿真補(bǔ)償前后的位置誤差變化如圖4所示。JAKA機(jī)器人內(nèi)部參數(shù)實驗補(bǔ)償前后的位置誤差變化見圖5。
對仿真和實驗結(jié)果進(jìn)行數(shù)據(jù)分析,見表3。
由圖4、圖5可以看出,測量點補(bǔ)償后的誤差曲線整體下降并且趨于平滑,誤差波動幅度減??;誤差越大的測量點,補(bǔ)償效果越明顯。綜合來看,所有的測量點都得到了很好的補(bǔ)償。
圖4 仿真補(bǔ)償前后位置誤差對比Fig.4 Comparison of position errors before and after simulation compensation
圖5 實驗補(bǔ)償前后位置誤差對比Fig.5 Comparison of position errors before and after experimental compensation
由表3中數(shù)據(jù)顯示,對機(jī)器人模型參數(shù)仿真補(bǔ)償后,機(jī)器人位置誤差平均值降低了70.97%,標(biāo)準(zhǔn)差降低了62.00%,誤差最大值降低了59.05%。對機(jī)器人模型參數(shù)實驗補(bǔ)償后,機(jī)器人位置誤差平均值,標(biāo)準(zhǔn)差分別降低了70.58%,56.76%,57.44%。
表3 機(jī)器人位置誤差統(tǒng)計Tab.3 Statistics of robot position error mm
由此可以得出,本文提出的機(jī)器人參數(shù)標(biāo)定的算法可以較準(zhǔn)確地辨識出機(jī)器人的模型誤差,標(biāo)定后機(jī)器人的絕對定位精度得到明顯的改善。
本文根據(jù)高端制造業(yè)對協(xié)作機(jī)器人高精度的要求,提出了基于激光跟蹤儀的機(jī)器人幾何參數(shù)標(biāo)定方法,針對機(jī)器人相鄰兩軸線平行或接近平行時存在的奇異性問題,建立了MDH模型,給出了用該方法辨識補(bǔ)償機(jī)器人幾何參數(shù)誤差的具體步驟。仿真及實驗結(jié)果證實:該方法能夠快速有效地完成機(jī)器人幾何參數(shù)的標(biāo)定,標(biāo)定后的機(jī)器人絕對定位精度得到很大提高。