趙顯富,宗 敏,趙 軒,曹 爽,張育鋒
(1. 南京信息工程大學(xué),江蘇 南京 210044; 2. 南京南信大影像技術(shù)工程有限公司,江蘇 南京 210061)
大型工業(yè)鋼結(jié)構(gòu)在交付使用前的“試組裝”是鋼結(jié)構(gòu)企業(yè)面臨的重大技術(shù)難題,行業(yè)內(nèi)主要依靠人力“試組裝”來(lái)完成,周期長(zhǎng),成本高,自動(dòng)化程度低,手段比較落后。隨著現(xiàn)代制造業(yè)的發(fā)展,傳統(tǒng)的人力“試組裝”已不能滿足需求,為了適應(yīng)制造業(yè)生產(chǎn)批量大、質(zhì)量要求嚴(yán)格、檢測(cè)任務(wù)繁重,并實(shí)現(xiàn)產(chǎn)品“零廢品率”檢測(cè)目標(biāo)的要求,提出運(yùn)用三維激光掃描技術(shù)解決這一技術(shù)難題。三維激光掃描技術(shù)是近十幾年來(lái)快速發(fā)展的一種新型測(cè)量技術(shù),是測(cè)繪領(lǐng)域繼GPS技術(shù)之后的又一次技術(shù)革命[1]。它廣泛應(yīng)用于建筑、土木工程、文化遺產(chǎn)保護(hù)、工業(yè)測(cè)量等領(lǐng)域,顯示出巨大的應(yīng)用前景,逐漸成為物體表面數(shù)字化的重要方法。將數(shù)字化的工業(yè)構(gòu)件通過(guò)建模獲得相應(yīng)的模型,在計(jì)算機(jī)中模擬組裝過(guò)程,使得連接處的螺栓孔一一對(duì)應(yīng),最終完成組裝。可見(jiàn)構(gòu)件螺栓孔的空間位置對(duì)模擬安裝的結(jié)果有巨大的影響,因此,在模擬安裝之前需要對(duì)每個(gè)構(gòu)件螺栓孔的空間位置進(jìn)行單獨(dú)檢測(cè)。螺栓孔的空間位置檢測(cè)是指獲得特征點(diǎn)在點(diǎn)云坐標(biāo)系中的坐標(biāo),通過(guò)坐標(biāo)轉(zhuǎn)換到模型坐標(biāo)系中與模型坐標(biāo)系中對(duì)應(yīng)的特征點(diǎn)計(jì)算點(diǎn)位誤差,從而實(shí)現(xiàn)螺栓孔的空間位置檢測(cè)。
通過(guò)CAD建立工業(yè)構(gòu)件設(shè)計(jì)圖的三維標(biāo)準(zhǔn)模型[2]如圖1所示,標(biāo)準(zhǔn)模型上的特征可用一組點(diǎn)表示,直接由CAD 軟件自動(dòng)生成[3],并且以矩陣的形式存儲(chǔ)在計(jì)算機(jī)中,提取螺栓孔的表面點(diǎn),通過(guò)擬合獲得特征點(diǎn)坐標(biāo),并作為檢測(cè)的基準(zhǔn)。設(shè)計(jì)圖經(jīng)過(guò)生產(chǎn)加工得到的工業(yè)構(gòu)件如圖2所示,本文研究在生產(chǎn)加工過(guò)程中構(gòu)件鋼板上分布的16個(gè)螺栓孔中心(如圖2所示待檢測(cè)點(diǎn))的空間位置變化。將構(gòu)件通過(guò)三維激光掃描獲得構(gòu)件表面的三維坐標(biāo)信息如圖3所示,將法蘭兩端連接處且不在同一平面的8個(gè)螺栓孔中心作為公共點(diǎn),用于解算坐標(biāo)系間的變換矩陣,提取鋼板表面分布的16個(gè)螺栓孔的中心坐標(biāo),并與標(biāo)準(zhǔn)模型一一進(jìn)行比對(duì),從而達(dá)到檢測(cè)的目的。
圖1
圖2
圖3
對(duì)于螺栓孔的空間位置檢測(cè),困難在于如何在激光點(diǎn)云中找到特征點(diǎn),螺栓孔的點(diǎn)云近似圓柱,本文利用圓柱螺栓孔中心作為特征點(diǎn),因此通過(guò)圓柱擬合的方法獲得螺栓孔中心坐標(biāo)。圓柱擬合的過(guò)程就是確定圓柱位置、方向和大小等幾何參數(shù),文獻(xiàn)[4—6]分別介紹了利用高斯、遺傳算法、特征值來(lái)確定圓柱幾何參數(shù)的方法。但是這3種方法理論都比較復(fù)雜,計(jì)算過(guò)程也比較麻煩,本文采用非線性的最小二乘法來(lái)擬合圓柱面。圓柱面可描述為
(1)
式中,x0、y0、z0、m、n、l、R為圓柱參數(shù);o(x0,y0,z0)表示圓柱面軸線上任意一點(diǎn);a=(mnl)表示圓柱面軸線方向的單位向量;R表示圓柱面半徑。
首先對(duì)圓柱面重新進(jìn)行參數(shù)化,如圖4所示,坐標(biāo)原點(diǎn)到圓柱面的最近距離為ρ|n|,其中n為圓柱面的法向量,圓柱軸線的方向向量為a,a和n均為單位向量,則a·n=0,圓柱的半徑為1/k,n用球面坐標(biāo)表示為
n=(cosφsinθsinφsinθcosθ)
(2)
圖4
式中,θ是向量n和Z軸的夾角(0°≤θ≤180°);φ是向量n在平面Z=0上的投影向量和X軸的夾角(0°≤φ≤360°)。n對(duì)φ、θ的偏導(dǎo)數(shù)為
nφ=(-sinφsinθcosφsinθ0)
(3)
nθ=(cosφcosθsinφcosθ-sinθ)
(4)
式中,nθ為單位向量。將nφ單位化,得
(5)
(6)
這樣,圓柱面就可參數(shù)化為S=(ρ,φ,θ,k,α),可見(jiàn),經(jīng)過(guò)重新參數(shù)化后,圓柱面的參數(shù)由相互關(guān)聯(lián)的7個(gè)參數(shù)轉(zhuǎn)變?yōu)橄嗷オ?dú)立的5個(gè)參數(shù)。然后得到數(shù)據(jù)點(diǎn)pi到圓柱面的距離函數(shù)
(7)
(8)
確定滿足最小值的解S時(shí)非常復(fù)雜和困難,因此需要對(duì)距離函數(shù)d(S,pi)進(jìn)行近似修改。文獻(xiàn)[7]中,Gabor Lukács 等提出了這樣一種形式的近似函數(shù)
(9)
用近似距離函數(shù)來(lái)表示真實(shí)距離
ρ-pi·n
(10)
最小二乘目標(biāo)函數(shù)變?yōu)?/p>
(11)
(12)
各數(shù)據(jù)點(diǎn)到旋轉(zhuǎn)軸上的投影參數(shù)為
ti=a·(pi-O′)=a·pi
(13)
然后將得到的參數(shù)ti(i=1,2,…,n)排序,最大的與最小的分別為兩端點(diǎn),即圓柱面兩端圓心C1、C2對(duì)應(yīng)的投影參數(shù),還原可得到C1、C2兩點(diǎn)
(14)
這樣就可以得到圓柱的中心
(15)
{(xi,yi,zi,1),i=1,2,…,n}
(16)
(17)
設(shè)點(diǎn)云坐標(biāo)系中的點(diǎn)集X和模型坐標(biāo)系中的點(diǎn)集Y轉(zhuǎn)換為齊次坐標(biāo)后表示為
對(duì)于坐標(biāo)系轉(zhuǎn)換,就是解算出點(diǎn)云坐標(biāo)系相對(duì)于模型坐標(biāo)系的平移矩陣和旋轉(zhuǎn)矩陣,如果本文求出這兩個(gè)矩陣的積R,就可以將點(diǎn)云坐標(biāo)系轉(zhuǎn)換到模型坐標(biāo)系下。坐標(biāo)系轉(zhuǎn)換的過(guò)程實(shí)際上是點(diǎn)云坐標(biāo)系與模型坐標(biāo)系完全重合的過(guò)程,首先將點(diǎn)云坐標(biāo)系的原點(diǎn)平移到模型坐標(biāo)系的原點(diǎn)上,然后通過(guò)基本旋轉(zhuǎn)變換將點(diǎn)云坐標(biāo)系的坐標(biāo)軸與模型坐標(biāo)系的坐標(biāo)軸重合,則矩陣變換過(guò)程如下
(18)
R=(XTX)-1XTY
(19)
通過(guò)Matlab編程實(shí)現(xiàn)了相關(guān)檢測(cè)方法,首先擬合24個(gè)螺栓孔中心,包括8個(gè)用于坐標(biāo)系變換的公共點(diǎn)和16個(gè)待檢測(cè)點(diǎn)。單個(gè)螺栓孔的擬合結(jié)果如圖5所示,擬合誤差如圖6所示。然后利用8個(gè)公共點(diǎn)計(jì)算點(diǎn)云坐標(biāo)系向模型坐標(biāo)系轉(zhuǎn)換的變換矩陣R。
圖5
圖6
解算后得到變換矩陣R為
對(duì)鋼板表面分布的16個(gè)螺栓孔的空間位置進(jìn)行檢測(cè),結(jié)果見(jiàn)表1。首先擬合得到16個(gè)螺栓孔中心在點(diǎn)云坐標(biāo)系中的坐標(biāo)(見(jiàn)表中數(shù)據(jù)列2);將坐標(biāo)乘以變換矩陣R,得到坐標(biāo)系轉(zhuǎn)換后的坐標(biāo)(見(jiàn)表中數(shù)據(jù)列3);數(shù)據(jù)列4表示螺栓孔中心在模型坐標(biāo)系中的坐標(biāo);最后一列數(shù)據(jù)表示待檢測(cè)構(gòu)件與標(biāo)準(zhǔn)模型的點(diǎn)位誤差, 即判斷螺栓孔的空間位置是否精確的主要依據(jù)。從表1中可以看出,點(diǎn)位的最大誤差小于2 mm,且分布均勻、波動(dòng)不大,在誤差允許的范圍內(nèi),因此待檢測(cè)構(gòu)件螺栓孔的空間位置符合設(shè)計(jì)要求。
在實(shí)現(xiàn)坐標(biāo)系轉(zhuǎn)換時(shí),通常利用n個(gè)公共點(diǎn)在兩個(gè)坐標(biāo)系中的坐標(biāo)求出坐標(biāo)系轉(zhuǎn)換參數(shù)R的最小二乘解。為討論不同數(shù)量的公共點(diǎn)對(duì)坐標(biāo)系轉(zhuǎn)換參數(shù)求解的影響,進(jìn)行了多次試驗(yàn),得到的結(jié)果如圖7所示,在公共點(diǎn)從5個(gè)增加到8個(gè)的過(guò)程中,平均誤差從1.9 mm逐漸減小到1.4 mm(見(jiàn)表2),點(diǎn)位誤差的波動(dòng)減小,趨向平緩。誤差來(lái)源于多個(gè)方面:在加工鑄造過(guò)程中有一定的誤差,那么檢測(cè)結(jié)果中也帶有這部分誤差;同時(shí)數(shù)據(jù)采集所使用的手持式三維激光掃描儀點(diǎn)位精度最高可達(dá)0.05 mm左右,會(huì)帶來(lái)一定的數(shù)據(jù)采集誤差;此外用于計(jì)算坐標(biāo)系轉(zhuǎn)換參數(shù)的公共點(diǎn)本身也存在一定的誤差,因此檢測(cè)結(jié)果中會(huì)帶有一定的誤差。隨著公共點(diǎn)數(shù)目的增加,坐標(biāo)系轉(zhuǎn)換參數(shù)的最小二乘解趨向優(yōu)化,點(diǎn)位誤差的標(biāo)準(zhǔn)差從0.8 mm左右降到0.3 mm左右,誤差波動(dòng)減小,有助于判斷螺栓孔的空間位置跳動(dòng)情況,因此采用8個(gè)公共點(diǎn)進(jìn)行坐標(biāo)系轉(zhuǎn)換參數(shù)的求解。
表1 螺栓孔空間位置檢測(cè)結(jié)果 mm
表2 坐標(biāo)轉(zhuǎn)換后的點(diǎn)位誤差 mm
通過(guò)試驗(yàn)可知,工業(yè)構(gòu)件螺栓孔的空間位置檢測(cè)方法是可行的,但是在檢測(cè)過(guò)程中影響檢測(cè)結(jié)果的因素比較多,其中包括激光掃描儀本身的測(cè)量誤差、數(shù)據(jù)處理過(guò)程中的擬合誤差、坐標(biāo)系轉(zhuǎn)換誤差等。因此,數(shù)據(jù)采集時(shí)應(yīng)當(dāng)選擇適當(dāng)精度的儀器,采集足夠的數(shù)據(jù),從而使得檢測(cè)結(jié)果能夠更好地反映出構(gòu)件加工制造過(guò)程中產(chǎn)生的誤差。與傳統(tǒng)方法相比,本文所提出的方法具有通用性強(qiáng)、效率高、檢測(cè)精度高、成本低等優(yōu)勢(shì),這些因素使得利用三維激光掃描技術(shù)檢測(cè)工業(yè)構(gòu)件螺栓孔的空間位置具有較強(qiáng)的可行性,可在工業(yè)構(gòu)件低成本連續(xù)檢測(cè)方面發(fā)揮較大作用。
參考文獻(xiàn):
[1] 馬立廣. 地面三維激光掃描儀的分類與應(yīng)用[J]. 地理空間信息,2005, 3(3): 60-62.
[2] 陽(yáng)復(fù)建. 法蘭數(shù)字化制造CAD系統(tǒng)的開(kāi)發(fā)[D]. 蘭州:蘭州理工大學(xué), 2011.
[3] 徐旭松,楊將新,曹衍龍,等.基于齊次坐標(biāo)變換的制造誤差建模研究[J].浙江大學(xué)學(xué)報(bào),2008,42(6):1021-1026.
[4] 劉元朋,張定華. 逆向工程中圓柱體幾何特征參數(shù)評(píng)估方法的研究[J].機(jī)械科學(xué)與技術(shù),2005,24 (3): 310-311.
[5] 秦世偉, 潘國(guó)榮, 谷川, 等. 基于遺傳算法的三維空間柱面擬合[J]. 同濟(jì)大學(xué)學(xué)報(bào):自然科學(xué)版,2010, 38(4): 604-607.
[6] 王解先. 工業(yè)測(cè)量中一種二次曲面的擬合方法[J].武漢大學(xué)學(xué)報(bào):信息科學(xué)版,2007, 32(1): 47-50.
[8] 孫家廣. 計(jì)算機(jī)圖形學(xué)[M]. 北京: 清華大學(xué)出版社, 1998.