胡 鵬 ,金國光 ,隋修武 ,郭振鋒
(1.天津工業(yè)大學(xué)機(jī)械工程學(xué)院,天津 300387;2.天津工業(yè)大學(xué)天津市現(xiàn)代機(jī)電裝備技術(shù)重點(diǎn)實(shí)驗(yàn)室,天津 300387)
六自由度柔性測(cè)量臂屬于非笛卡爾式坐標(biāo)測(cè)量機(jī).它仿照人體關(guān)節(jié)結(jié)構(gòu),以角度基準(zhǔn)取代長度基準(zhǔn),將6個(gè)桿件和1個(gè)測(cè)頭通過6個(gè)旋轉(zhuǎn)關(guān)節(jié)串聯(lián)連接,一端固定在基座上,另一端(測(cè)頭)可在空間自由移動(dòng),構(gòu)成一個(gè)球形測(cè)量空間.由于其輕巧便捷、功能強(qiáng)大、使用環(huán)境要求較低、測(cè)量范圍較廣、投入成本較低,而被廣泛地應(yīng)用于航空航天、汽車制造、重型機(jī)械、軌道交通、零部件加工、模具制造等多個(gè)行業(yè).盡管多關(guān)節(jié)柔性測(cè)量臂是一種非常有前途的便攜式坐標(biāo)測(cè)量臂,但測(cè)量精度低是其致命的弱點(diǎn),這在很大程度上影響了它的應(yīng)用.采用高精度的標(biāo)定方法可以提高柔性測(cè)量臂的測(cè)量精度[1].多關(guān)節(jié)柔性測(cè)量臂的參數(shù)標(biāo)定方法有很多,有基于最小二乘法和迭代算法[2-3]的參數(shù)標(biāo)定,有基于遺傳算法[4]的參數(shù)標(biāo)定,有基于改進(jìn)模擬退火算法[5]的參數(shù)標(biāo)定等.本文首先建立了柔性測(cè)量臂的測(cè)量模型和誤差模型,然后給出了用最小二乘法和迭代算法對(duì)六自由度柔性測(cè)量臂的關(guān)節(jié)零位偏差進(jìn)行標(biāo)定的方法,最后在Matlab中對(duì)標(biāo)定算法進(jìn)行了模擬仿真驗(yàn)證.
六自由度柔性測(cè)量臂可以看成一個(gè)串聯(lián)開式運(yùn)動(dòng)鏈,它是由6個(gè)桿件和1個(gè)測(cè)頭通過6個(gè)旋轉(zhuǎn)關(guān)節(jié)串接而成,圖1為柔性測(cè)量臂簡圖.
圖1 柔性測(cè)量臂簡圖Fig.1 Schematic diagram of flexible measuring arm
Denavit和Hartenberg在1955年提出了對(duì)兩個(gè)相互連接且相對(duì)運(yùn)動(dòng)的桿件之間相互關(guān)系的分析方法,簡稱 D-H 方法[2,4].
根據(jù)D-H方法,連桿i的坐標(biāo)系的Zi軸位于連桿i與連桿i+1的轉(zhuǎn)動(dòng)關(guān)節(jié)軸線上;連桿i的兩端軸線的公垂線為連桿坐標(biāo)系的Xi軸,方向指向下一個(gè)連桿;公垂線與Zi軸的交點(diǎn)為坐標(biāo)系原點(diǎn)Oi;坐標(biāo)系的Yi軸由Xi和Zi按照右手定則確定,至此,連桿i的坐標(biāo)系已建立.
測(cè)量臂的坐標(biāo)系模型如圖2所示.各桿件坐標(biāo)系按D-H方法建立,由于在坐標(biāo)轉(zhuǎn)換過程中不用考慮Yi軸,在圖2中未標(biāo)出.圖2中θ7所對(duì)應(yīng)的旋轉(zhuǎn)關(guān)節(jié)在接觸式測(cè)量中不起作用,只在激光掃描測(cè)量時(shí)起作用,可以不用考慮.
在建立了各個(gè)桿件的坐標(biāo)系之后,D-H方法規(guī)定用4個(gè)參數(shù)來描述桿件及桿件之間的關(guān)系,其中2個(gè)參數(shù)用來描述連桿,即連桿長度ai,連桿扭角αi;另外2個(gè)參數(shù)用來描述相鄰兩桿的關(guān)系,即兩連桿距離di,兩連桿夾角θi.
在建立了桿件坐標(biāo)系并確定各個(gè)D-H參數(shù)之后,Oi-1Xi-1Yi-1Zi-1與OiXiYiZi之間的轉(zhuǎn)換可以通過坐標(biāo)系的平移、旋轉(zhuǎn)來實(shí)現(xiàn).轉(zhuǎn)換矩陣如下:
圖2 測(cè)量臂的坐標(biāo)系模型Fig.2 Coordinate system model of measuring arm
式中:Ri是3×3的旋轉(zhuǎn)矩陣;qi是3×1的平移矩陣.
如圖2所示,把測(cè)頭坐標(biāo)系O7X7Y7Z7相對(duì)于基座坐標(biāo)系O0X0Y0Z0的位姿記為A07,這是一個(gè)4×4的齊次矩陣,由坐標(biāo)轉(zhuǎn)換關(guān)系可以得到:
A07反映了測(cè)頭在空間相對(duì)于基座坐標(biāo)系的坐標(biāo)位置與姿態(tài).測(cè)頭在基座坐標(biāo)系下的齊次坐標(biāo)P可表示為:
式中:P'=[0 0 0 1]T.
式(3)即為該六自由度柔性測(cè)量臂的測(cè)頭位置坐標(biāo)測(cè)量方程.桿件的 4個(gè) D-H 參數(shù)中,參數(shù) ai、αi、di都是固定的常數(shù),稱為桿件結(jié)構(gòu)參數(shù),而θi是變化的,稱為關(guān)節(jié)變量.把測(cè)量方程寫成矢量函數(shù)形式:
至此,六自由度柔性測(cè)量臂測(cè)量模型建立完畢.
考慮到關(guān)節(jié)零位偏差對(duì)測(cè)量精度的巨大影響,首先建立基于關(guān)節(jié)零位偏差的誤差模型.
關(guān)節(jié)零位偏差的特點(diǎn):各關(guān)節(jié)的零位偏差互不相同;由于裝配工藝水平所限,通常造成的關(guān)節(jié)零位偏差較大(約±3°),并且由于臂長的逐級(jí)放大作用,使得關(guān)節(jié)零位偏差在末端測(cè)頭處產(chǎn)生很大的位置測(cè)量誤差;對(duì)于每臺(tái)裝配好的關(guān)節(jié)臂式柔性測(cè)量臂,各關(guān)節(jié)的零位偏差固定不變,屬于系統(tǒng)誤差.
為了分析關(guān)節(jié)零位偏差對(duì)測(cè)量精度的影響,尋求關(guān)節(jié)零位偏差與測(cè)量位置誤差之間的關(guān)系,假設(shè)關(guān)節(jié)零位偏差足夠小.對(duì)式(4)進(jìn)行全微分,近似得到測(cè)頭位置誤差方程[1-3]:
寫成矩陣形式:
這里,ΔP=[ΔPx,ΔPy,ΔPz]T
Δθ是一個(gè)6×1的誤差參數(shù)矢量,即:
式(6)即為基于關(guān)節(jié)零位偏差的誤差模型,它描述了關(guān)節(jié)零位偏差與測(cè)頭位置誤差之間的近似線性關(guān)系,這種線性關(guān)系的建立將大大地簡化標(biāo)定過程.
通過提高柔性臂的角度編碼器、機(jī)械零部件的加工與裝配精度可以提高測(cè)量臂的測(cè)量精度,但提高的精度有限且成本非常高;此外,可以采取高精度的標(biāo)定方法以提高測(cè)量精度.
基于最小二乘法和迭代算法的標(biāo)定方法[2]如下:
為準(zhǔn)確標(biāo)定出關(guān)節(jié)零位偏差,需要一些已知的標(biāo)準(zhǔn)位置坐標(biāo),這些標(biāo)準(zhǔn)位置坐標(biāo)可以通過高精度的測(cè)量設(shè)備獲得.假設(shè)有m個(gè)標(biāo)準(zhǔn)位置坐標(biāo),用柔性測(cè)量臂測(cè)量這個(gè)m標(biāo)準(zhǔn)位置,記下這m組關(guān)節(jié)變量組合,然后把這m組關(guān)節(jié)變量組合代入式(3)計(jì)算出m個(gè)理論位置坐標(biāo),與標(biāo)準(zhǔn)坐標(biāo)比對(duì),可得到3×m個(gè)位置誤差方程,即:
只要3×m>6,則可運(yùn)用最小二乘法解出6個(gè)關(guān)節(jié)零位偏差,即
把計(jì)算出的關(guān)節(jié)零位偏差作為修正值對(duì)式(4)中的關(guān)節(jié)變量進(jìn)行修正,然后計(jì)算出新的位置誤差和新的誤差系數(shù)矩陣并代入式(8),再重復(fù)式(9)的計(jì)算,通過反復(fù)的迭代,直到測(cè)頭位置誤差滿足要求,從而獲得最佳標(biāo)定結(jié)果.
為了進(jìn)行計(jì)算機(jī)仿真,首先給定柔性臂的結(jié)構(gòu)參數(shù),并假定關(guān)節(jié)零位偏差.具體數(shù)值如表1所示.
表1 柔性測(cè)量臂結(jié)構(gòu)參數(shù)Tab.1 Structural parameters of flexible measuring arm
為了驗(yàn)證該標(biāo)定算法的正確性,共做了3組模擬實(shí)驗(yàn),每組實(shí)驗(yàn)包含3組關(guān)節(jié)變量組合,標(biāo)定過程分以下3步:
第1步:根據(jù)表1中的結(jié)構(gòu)參數(shù)和關(guān)節(jié)零位偏差,按式(3)計(jì)算出3個(gè)實(shí)際的空間坐標(biāo)作為標(biāo)準(zhǔn)坐標(biāo)Pb.然后不考慮零位偏差,計(jì)算出3個(gè)理論坐標(biāo)Pl,從而得到位置誤差矢量ΔP=Pb-Pl.
第2步:根據(jù)式(7)計(jì)算出誤差系數(shù)矩陣,然后根據(jù)式(9)運(yùn)用最小二乘法計(jì)算出Δθ.
第3步:將第2步得到的Δθ作為修正量對(duì)關(guān)節(jié)變量的理論值進(jìn)行修正,計(jì)算出新一輪的坐標(biāo)理論值,誤差系數(shù)矩陣和位置誤差矢量.如果修正后位置誤差矢量滿足要求則結(jié)束,未達(dá)到要求則重復(fù)式(9),計(jì)算出新的Δθ,在前一次修復(fù)的基礎(chǔ)上繼續(xù)對(duì)關(guān)節(jié)變量進(jìn)行修正,計(jì)算修正之后的位置誤差,直到滿足要求為止.
本次模擬仿真經(jīng)過2次迭代,結(jié)果如表2所示.
表2 仿真結(jié)果Tab.2 Simulation results
由仿真結(jié)果可知:
(1)較小的關(guān)節(jié)零位偏差通過臂長的放大作用會(huì)造成很大的位置測(cè)量誤差,達(dá)到數(shù)十毫米.
(2)經(jīng)過一次最小二乘標(biāo)定,即可把位置誤差減小到1 mm以內(nèi),經(jīng)過第二次最小二乘標(biāo)定,基本上可以消除位置測(cè)量誤差.
(3)之前設(shè)定的關(guān)節(jié)零位偏差為(1.5°,-1.2°,1.0°,1.2°,-1.1°,1.5°),轉(zhuǎn)化為弧度制表示為:(0.0262,-0.0209,0.0175,0.0209,-0.0192,0.0262),這與仿真驗(yàn)算結(jié)果是吻合的,由此可知,通過該標(biāo)定算法可以準(zhǔn)確地標(biāo)定出關(guān)節(jié)零位偏差的真實(shí)值.這也間接地論證了誤差模型的正確性.
(4)3組實(shí)驗(yàn)得到的結(jié)果相同,說明只要在測(cè)量空間任取3點(diǎn),即可準(zhǔn)確且惟一地標(biāo)定出6個(gè)關(guān)節(jié)零位偏差.
本文在建立了六自由度柔性測(cè)量臂的測(cè)量模型的基礎(chǔ)上,運(yùn)用全微分法建立了基于關(guān)節(jié)零位偏差的線性誤差模型.然后,利用該線性誤差模型,結(jié)合最小二乘法和迭代算法建立了關(guān)節(jié)零位偏差的線性標(biāo)定模型.該標(biāo)定模型的優(yōu)勢(shì)在于,將復(fù)雜的非線性參數(shù)辨識(shí)問題線性化,大大簡化了標(biāo)定過程.最后,通過Matlab模擬仿真驗(yàn)算,證明了該標(biāo)定算法的正確性.該研究對(duì)提高柔性測(cè)量臂的測(cè)量精度具有重要意義,也為自主研發(fā)高精度多關(guān)節(jié)柔性測(cè)量臂提供了理論支持.
[1]王春花,費(fèi)業(yè)泰.柔性三坐標(biāo)測(cè)量機(jī)的結(jié)構(gòu)系統(tǒng)及誤差修正標(biāo)定分析[J].工具技術(shù),2006,40(9):76-78.
[2]魏霖,王從軍.多關(guān)節(jié)坐標(biāo)測(cè)量機(jī)的坐標(biāo)轉(zhuǎn)換和參數(shù)標(biāo)定[J].光電工程,2007,34(5):57-61.
[3]汪平平,費(fèi)業(yè)泰,尚平,等.柔性坐標(biāo)測(cè)量機(jī)參數(shù)辨識(shí)方法[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2007,38(7):129-132.
[4]鄒璇,李德華.多關(guān)節(jié)機(jī)械臂的坐標(biāo)模型和參數(shù)標(biāo)定[J].光學(xué) 精密工程,2001,9(3):252-256.
[5]高貫斌,王文,林鏗,等.應(yīng)用改進(jìn)模擬退火算法實(shí)現(xiàn)關(guān)節(jié)臂式坐標(biāo)測(cè)量機(jī)的參數(shù)辨識(shí)[J].光學(xué)精密工程,2009,17(10):2499-2505.
[6]WANG Xueying,LIU Shugui,ZHANG Guoxiong,et al.Calibration technology of articulated arm flexible CMM [J].Journal of Harbin Institute of Technology,2008,40(9):1439-1442.