1.引言
六自由度關節(jié)式坐標測量機是一種新型的非笛卡爾式坐標測量機。它仿照人體關節(jié)結構,以角度基準取代長度基準,將六個桿件和一個測頭通過六個旋轉關節(jié)串聯(lián)連接,一端固定在機座上,另一端(測頭)可在空間自由運動,構成一個六自由度的封閉球形測量空間。與傳統(tǒng)的笛卡爾式三坐標測量機相比,它具有機械結構簡單,體積小,測量范圍大,靈活方便等優(yōu)點,主要應用于CAD/CAM中三維模型表面數(shù)字化和大型零部件幾何尺寸的現(xiàn)場檢測等領域[1,2]。 六自由度關節(jié)式坐標測量機在裝配過程中,由于角度光電編碼器的零位與關節(jié)結構的理論零位不重合而產生的角度偏差,稱為關節(jié)零位偏差。其特點是:各關節(jié)的零位偏差各不相同;由于裝配工藝誤差不可避免,關節(jié)零位偏差較大(約±3°);對于每臺裝配好的關節(jié)式坐標測量機,各關節(jié)零位偏差值固定不變,屬于系統(tǒng)誤差。由于桿長的放大作用,關節(jié)零位偏差在末端測頭處產生很大的位姿誤差。因此,為了補償關節(jié)零位偏差,提高測量精度,對關節(jié)式坐標測量機進行標定是非常重要的。
2.數(shù)學模型
圖 六自由度關節(jié)式坐
標測量機結構模型六自由度關節(jié)式坐標測量機從機械結構上可以看成是串聯(lián)的開式運動鏈。其結構模型如圖所示(各坐標系的Y軸由“右手法則”確定)。 參見圖示,將測頭局部坐標系O7-X7Y7X7相對于基座參考坐標系O0-X0Y0Z0的位姿記為T07,這是一個4×4的齊次矩陣,可描述為
T07=A01A12A23A34A45A56A67 。1)
式中,Ai-1i(i=1,…,7)是桿件i相對于桿件i-1的齊次位姿變換矩陣。Denavit和Hartenberg在1995年提出了兩個相互連接且相對運動的構件之間相互關系的分析方法,并給出了相應的齊次變換矩陣[3],即
。2)
式中,θi是關節(jié)的轉角,這里是變量,稱為關節(jié)變量;φi是相鄰關節(jié)旋轉軸線的夾角,這里近似為直角;ai是相鄰關節(jié)軸線沿空間公垂線的距離,這里近似為0;di是相鄰桿件坐標原點沿Z軸之間的距離,這里稱為桿長。 對于多關節(jié)坐標測量機,測頭在空間的姿態(tài)并不重要,而測頭的空間位置坐標則是需要得到的。將式(1)、(2)合并后,測頭位置坐標方程為
P=(R1R2R3R4R5R6)q7+(R1R2R3R4R5)q6+R1R2R3R4)q5 。R1R2R3)q4+(R1R2)q3+R1q2+q1 (3)
式中包括三個坐標分量方程,都是關節(jié)變量的函數(shù),即
P=F(θ1,θ2,θ3,θ4,θ5,θ6) 。4)
為了得到關節(jié)零位偏差與測頭位置誤差之間的關系,假設關節(jié)零位偏差足夠小,對式(4)求全微分,近似得到測頭位置誤差方程為[4]
(5)
將式(5)用矩陣方式簡單描述,即
ΔP=JδΔδ (6)
式中 ΔP=(ΔPx ΔPy ΔPz)T
Δδ=(Δθ1 Δθ2 Δθ3 Δθ4 Δθ5 Δθ6)T
由式(4)和式(6)即可得到描述關節(jié)零位偏差與測頭位置誤差之間關系的線性方程。 3.標定算法 為測定各關節(jié)零位偏差值,需要一系列已知標準位置坐標,這些標準位置坐標可以通過高精度的三坐標測量機測得。設有m個標準位置坐標,關節(jié)式坐標測量機的測頭分別觸測這些標準位置,由光電編碼器分別得到相應的關節(jié)轉角,將這些關節(jié)轉角分別代入方程式(4),計算出測頭的理論位置坐標,然后與標準坐標比對,得到m個測頭位置誤差。把這些數(shù)據(jù)代入式(6),可得到3×m個位置誤差方程,即
ΔQ=GΔδ (7)
其中
式(7)中有6個未知量,只要3×m>6,則可運用最小二乘法求解出關節(jié)零位偏差,即
Δδ=(GTG)-1GTΔQ (8)
把計算出的關節(jié)零位偏差值作為零位偏差的修正量代入式(4),計算出新的測頭位置坐標,然后將新的位置誤差和新的系數(shù)矩陣代入式(7),再重復式(8)的計算。經過以上的反復迭代過程,直到測頭位置誤差小于設定值,最后獲得最優(yōu)解,即最接近實際的關節(jié)零位偏差值。
4.仿真驗算
為了進行計算機仿真驗算,首先設定六自由度關節(jié)式坐標測量機的結構參數(shù)(φi,ai,di),并假設關節(jié)零位偏差(Δθi),具體數(shù)值列于表1。
表1 六自由度關節(jié)式坐標測量機結構參數(shù)
桿件 序號 |
φi(°) |
ai(mm) |
di(mm) |
零位偏差 Δθi(°) |
1 |
。90.1 |
0.01 |
99.85 |
2.4 |
2 |
90.05 |
0.02 |
151.38 |
-2.05 |
3 |
90 |
。0.01 |
448.6 |
。1.5 |
4 |
-89.9 |
。0.03 |
101.1 |
2.2 |
5 |
-90.05 |
0.01 |
352.2 |
1.2 |
6 |
89.35 |
0.005 |
99.75 |
。1.8 |
7 |
0 |
0 |
150.25 |
0 |
在驗算中,對標定算法重復進行了三次仿真計算。每次隨機選取3組關節(jié)轉角組合,根據(jù)表1中的結構參數(shù)和關節(jié)零位偏差,按式(4)計算出3個標準(實際)的空間坐標矢量。同時,不考慮零位偏差,計算出3個理論坐標矢量,并得到相應的誤差矢量。根據(jù)式(5)、(6)、(7),可得到9個誤差方程。利用式(8)求解出6個關節(jié)零位偏差值。為了獲得更準確的數(shù)據(jù),采用迭代算法,將計算出的關節(jié)零位偏差值代入式(4)修正理論模型,重復以上過程,直到空間位置誤差小于一設定值(這里設為0.3mm)。三次仿真計算的結果列于表2。
表2 仿真驗算結果 |
仿真 次數(shù) |
關節(jié)轉角組合 (θ1,…,θ6) (°) |
標準坐 標矢量 (mm) |
位置 誤差 (mm) |
迭代1次 |
迭代2次 |
迭代3次 |
迭代4次 |
零位 誤差 (°) |
位置 誤差 (mm) |
零位 誤差 (°) |
位置 誤差 (mm) |
零位 誤差 (°) |
位置 誤差 (mm) |
零位 誤差 (°) |
位置 誤差 (mm) |
1 |
(-90,-90,0,90, 0,90) |
138.558 575.782 -283.282 |
39.968 |
2.406 -2.063 -1.432 2.177 1.776 -1.375 |
1.717 |
2.406 -2.063 -1.490 2.177 1.719 -1.776 |
1.483 |
2.406 -2.063 -1.490 2.177 1.203 -1.776 |
0.148 |
2.406 -2.063 -1.492 2.182 1.203 -1.781 |
0.146 |
(120,90,120,-20, 70,50) |
-652.092 645.842 202.687 |
30.043 |
1.201 |
|
0.955 |
|
0.206 |
|
0.206 |
(-90,0,0,90, 0,0) |
142.57 522.883 503,83 |
49.592 |
0.732 |
0.801 |
0.244 |
0.232 |
2 |
(-90,10,10,90, 10,10) |
61.557 434.09 594.691 |
49.319 |
2.521 -1.948 -1.432 2.464 1.146 -1.261 |
1.479 |
2.406 -2.063 -1.490 2.181 1.203 -1.781 |
0.212 |
|
|
|
|
(0,90,0,-90, 0,90) |
320.85 157.437 -251.305 |
23.654 |
1.155 |
|
0.230 |
< |
< |
|
|
(-120,140,20,60, 10,150) |
-148.998 -518.998 -237.442 |
39.30 |
2.176 |
0.082 |
|
|
3 |
(50,-80,50,40, -60,40) |
-463.903 -760.076 176.659 |
73.57 |
2.349 -2.120 -1.432 2.292 1.146 -1.432 |
0.603 |
2.406 -2.063 -1.490 2.180 1.203 -1.781 |
0.068 |
|
|
|
|
(10,80,30,150, 30,140) |
186.165 160.292 290.97 |
26.475 |
0.894 |
|
0.069 |
< |
< |
|
|
(40,30,60,150, 90,-90) |
179.32 102.388 101.179 |
17.161 |
0.898 |
0.122 |
|
|
由仿真驗算結果可得出以下結論: 。1)較小的關節(jié)零位偏差會引起很大的測頭位置誤差,最大可達73.57mm; 。2)本文給出的標定算法是正確的,經標定得出的關節(jié)零位偏差值與設定的真值近似,最大誤差為0.02°; 。3)迭代算法是收斂的,一般不超過4次迭代; 。4)三次仿真計算所得結果相同,說明只要在測量空間任取三點,即可準確且唯一地標定出6個關節(jié)零位偏差。
5.結語
本文在Denavit-Hartenberg方法基礎上,建立了六自由度關節(jié)式坐標測量機的數(shù)學模型。從模型可以看出,測頭末端位置坐標與六個關節(jié)角度之間的關系是非線性的,這對于由已知空間坐標值來推算關節(jié)零位偏差是相當困難的。因此,我們運用全微分方法,求得了關節(jié)零位偏差與測頭末端位置誤差之間的線性關系,從而大大簡化了標定過程。在已知空間點坐標情況下,應用最小二乘法和有限次數(shù)的迭代運算,求出最優(yōu)的關節(jié)零位偏差值。最后,通過計算機仿真驗算,證明了該算法的正確性。該標定算法也完全適用于其它結構參數(shù)誤差的標定。該標定算法對提高六自由度關節(jié)式坐標測量機的測量精度具有重要意義。
|