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