康巖輝,張 恒
(中國計量科學研究院,北京100013)
在現(xiàn)代工業(yè)生產(chǎn)中,尤其是在航天航空、汽車、模具制造等領域,具有復雜自由曲面外形的大型零件越來越多,而且對零件的結(jié)構(gòu)和外形要求非常高,傳統(tǒng)人工測量的方式已不能滿足現(xiàn)代化生產(chǎn)對自由曲面測量的要求[1],如何準確、快速地對產(chǎn)品的曲面進行測量成為研究熱點之一。
以激光傳感器為代表的光學非接觸測量方式具有速度快、效率高、精度好等優(yōu)點,日益廣泛地應用于測量領域[2~4],其中,基于線結(jié)構(gòu)光原理的激光掃描傳感器結(jié)構(gòu)簡單、測量方便可靠。但由于線掃描傳感器本身無運動結(jié)構(gòu)[5,6],同時也受測量對象、測量范圍等限制,往往單一的傳感器并不能完成自由曲面的測量,需要進行與可移動設備進行組合,并利用數(shù)據(jù)拼合、坐標系統(tǒng)一、誤差分析等若干技術才能實現(xiàn)高精度、高效率、多角度、大范圍的自由曲面測量。本文將激光線掃描傳感器應用于大型自由曲面測量系統(tǒng),首先闡述其系統(tǒng)結(jié)構(gòu)和組成,著重針對數(shù)據(jù)獲取后的處理技術進行研究,并用實驗驗證該系統(tǒng)的測量精度與測量效果。
測量系統(tǒng)的基本結(jié)構(gòu)如圖1 所示,該系統(tǒng)以激光線掃描傳感器為數(shù)據(jù)獲取裝置,將大范圍移動機構(gòu)(如機器人手臂)作為傳感器運動載體,實現(xiàn)對大型自由曲面的自動掃描;利用計算機將傳感器測量數(shù)據(jù)與運動機構(gòu)位姿數(shù)據(jù)進行處理,進行坐標系統(tǒng)一與數(shù)據(jù)拼合重構(gòu)等,最終得到曲面的形貌。
圖1 測量系統(tǒng)結(jié)構(gòu)Fig 1 Structure of measurement system
測量數(shù)據(jù)采集所使用的nxSensor-I 型傳感器是美國nextWare 公司生產(chǎn)的一種基于激光三角法測量原理獲取三維空間中不透明物體表面形狀的新型傳感器,如圖2 所示。它具有先進的數(shù)字成像技術與實時數(shù)據(jù)采集處理功能;具有嵌入式數(shù)字信號處理器(DSP),用于專用的從實時圖像數(shù)據(jù)計算出3D 坐標,無需圖像采集卡;對于動態(tài)跟蹤對象具有自動學習和自動跟蹤功能;與計算機通過USB 接口進行通信;可通過外部和內(nèi)部軟件觸發(fā);有低功耗休眠模式,耗電量少。
圖2 nxSensor-I 型傳感器示意圖Fig 2 Schematic diagram of nxSensor-I type sensor
激光線掃描傳感器本身只能獲取光平面與被測表面交線上的坐標數(shù)據(jù),要實現(xiàn)掃描測量則必須由運動機構(gòu)帶動。工業(yè)機器人能夠進行旋轉(zhuǎn)、平移運動,技術成熟,是實現(xiàn)大范圍掃描測量的理想移動載體[7]。
工業(yè)機器人手臂是由6 個轉(zhuǎn)軸組成的空間六連桿開鏈機構(gòu),各個軸的轉(zhuǎn)動具有一定的范圍。本系統(tǒng)所采用的IRB2400 型機器人,6 根軸的運動范圍分別為:- 180°~180°,-100°~110°,-60°~65°,- 200°~ 200°,- 120°~ 120°,-400°~400°。機械手臂的每個關節(jié)都由AC 伺服電機驅(qū)動,且每個AC 伺服電機都安裝了編碼器和剎車機構(gòu)。此外,工業(yè)機器人還配備有一塊串口測量板(SMB),負責將編碼器的模擬量轉(zhuǎn)換為數(shù)字量。
激光掃描傳感器輸出數(shù)據(jù)為一條直線上的若干點坐標,則測量系統(tǒng)得到的是各條直線上所有坐標組成的大量點云數(shù)據(jù)。這些點云由機器人在不同位姿下采集,由于各種誤差的存在(如機器人運動誤差等),往往不能很好地統(tǒng)一到同一坐標系下,除進行必要的參數(shù)標定和運動學誤差校正外,還需要利用點云拼合技術才能實現(xiàn)大范圍的精確測量。
點云拼合(point cloud registration)技術是通過某種變換將兩組不同區(qū)域的點云數(shù)據(jù)中的共同部分對齊,使得不同區(qū)域的點云共同部分能夠正確地匹配和搭接。ICP(iterative closest point)算法,也稱為迭代最近點法,是計算機視覺研究者Besl P J 和Mckay N D 于1992 年提出的最典型的拼合方法[8],它主要是通過點與點之間的距離最小進行坐標變換的求解。該算法在數(shù)據(jù)拼合中具有很好的效果[9]。
本測量系統(tǒng)的ICP 算法基本思路為:有2 個待拼接的點集A,B,假設A 是目標點集,B 是參考點集,它固定不動,A 點集需要拼合到B 點集所在的參考坐標系下;A,B 點集中有重合的區(qū)域,對A 中需要參加匹配的點云,在B 中尋找最近點,并建立合適的目標函數(shù);理論上,當2 個數(shù)據(jù)完全匹配時,目標函數(shù)應為零,但是由于噪聲的存在,并不總是存在對應點,因此,目標函數(shù)最小表示在噪聲和誤差存在時,能獲得最佳的匹配解,從而使得A 點集正確地拼合到B點集所在的坐標系下。
已知點集 A = {a1,a2,…,an},點集 B = {b1,b2,…,bm},它們的初始坐標變換矩陣為R0,T0,尋找平移矩陣和旋轉(zhuǎn)矩陣使得誤差函數(shù)
最小,η 是由R 和T 構(gòu)成的坐標變換關系。對于采用點對點的ICP 算法,誤差函數(shù)可以表示為
其中,bki是點ai在點集B 中的對應點。
對于點到平面的ICP 算法,誤差函數(shù)可以表示為
其中,Si是點ai在點集B 中對應點bki的切平面。
采用點對點的誤差函數(shù),具體實現(xiàn)步驟如下:
1)若A 是目標點集,B 是參考點集,對點集A 中的每一點 ai∈A,在 B 中尋找與它距離最近的點 bki,其中,bki代表了第k 次迭代的對應點,即
其中,d(ai,bki)為兩點的歐氏距離。若ai的三維坐標為(x1,y1,z1),bki的三維坐標為(x2,y2,z2),則
2)建立距離最小誤差函數(shù)
式中 R,T 分別為點集A 坐標系與點集B 坐標系之間轉(zhuǎn)換關系的旋轉(zhuǎn)矩陣、平移矩陣,bki(i =1,2,…,n)是點集B中與ai對應的點,按照剛體變換求解R,T,使得式(6)的值最小。
3)將求解出的R,T 作用于點集A,點集A 中的所有數(shù)據(jù)變?yōu)镽ai+ T。
4)一般一次求解并不能求得最優(yōu)的R,T,因此,需要多次進行迭代,并且給出終止迭代的條件。假設k 次迭代求得的旋轉(zhuǎn)矩陣和平移矩陣分別為Rk,Tk,誤差函數(shù)的值為errork,則點集A 中的數(shù)據(jù)變?yōu)?Rkai+Tk,按照步驟(1)和步驟(2)計算出k +1 次迭代的旋轉(zhuǎn)矩陣Rk+1和平移矩陣 Tk+1,誤差函數(shù)值為 errork+1,若|errork- errork+1| ≤ε(ε為設定的閾值),則停止迭代。
對于測量系統(tǒng)采集的數(shù)據(jù)而言,相鄰姿態(tài)下的點集只有部分點云是重合的,在采用上述ICP 算法時,會導致不重合部分的點參與計算,出現(xiàn)求解結(jié)果錯誤[10]。為盡量減少錯誤點云對拼合精度的影響,需要通過一定選擇方法將錯誤點剔除,具體方法為:設定一個距離閾值,當計算的對應點距離大于此閾值時,則刪除這對點,該閾值可以根據(jù)均值或者方差來估計。
ICP 算法另外一個關鍵部分是高效地尋找最近點,最近點尋找的好壞會影響最終拼接的精度和算法的收斂速度。
目前,也有很多學者在最近點尋找算法上做出了很大的貢獻,如Greenspan M 等人提出了球面三角形約束的最近鄰域方法[11];Zhang Z Y 優(yōu)化了搜索結(jié)構(gòu),即常用的 k-d樹搜索,加快了搜索速度[12]。
本文在此基礎上采用了一種新的最近點尋找方法。首先在重疊區(qū)域的不同位置選取幾部分點集,這樣可以減少參與計算的點云數(shù)量。設點集為P,其內(nèi)部的點為pi,在點集P 中尋找點pi的k 個鄰近點;采用最小二乘算法擬合出點pi的切平面,計算切平面的法矢向量npi,得到一條通過點pi,方向為npi的直線l;在對應點集Q 中尋找距離直線l 最近的點qi,采用同樣的方法得到點的切平面S;將點pi沿法向量npi投影在切平面S 上,投影點q'i即是點pi的對應點。
在實際尋找過程中,可能會出現(xiàn)錯誤的對應點。為減少對應點對求取結(jié)果的影響,引入相對距離閾值ε。假如存在兩組對應點{pi|q'i},{pj|q'j},它們應該滿足式‖pi-pj‖≈‖q'i-q'j‖,因此,對于點集P 和Q 中的每個點對檢查下式是否成立
設置一個元素數(shù)為n 的一維數(shù)組count[n],當式(7)成立時,對應的 count[i]和 count[j]均增加 1。再給定一個百分比閾值t%,若count[k]< n×t%,則認為{pk|q'k}是錯誤的對應點,應予以剔除。
鑒于對自由曲面測量的精度驗證有一定困難,可以對系統(tǒng)測量平面的誤差進行評價,反映其測量精度水平。測量前,激光線掃描傳感器和傳感器與機器人之間的手眼關系已經(jīng)過精確標定,機器人的運動學參數(shù)誤差也進行了校正。
用Leica AT901 激光跟蹤儀與T-Scan 組成測量系統(tǒng),如圖3 所示,對某一加工標準件的上、下兩平面進行掃描測量,然后利用本文的測量系統(tǒng)也對其進行測量,最終以兩者掃描結(jié)果的均方根(RMS)誤差來評價測量系統(tǒng)平面測量的精度,如表1 所示。根據(jù)儀器手冊,T-Scan 在5 m 范圍內(nèi)測量平面的不確定度(包含因子k =2)為± (95 +3L ×10-6)μm,(其中,L 為測量距離,m)。
圖3 被測量工件Fig 3 Workpiece for measurement
表1 上下表面誤差Tab 1 Top and bottom surface errors
采用本系統(tǒng)對一白車身的車門覆蓋件進行掃描測量。由于車門的面積比較大,實驗中只設置了7 條掃描路徑,機器人按照路徑運動,對車門進行掃描,如圖4 所示。
圖4 車門掃描實驗Fig 4 Scan experiment of car door
掃描的點云數(shù)據(jù)如圖5(a)所示,若將其局部進行放大,會發(fā)現(xiàn)不同路徑下掃描的點云存在如圖5(b)所示的錯位現(xiàn)象。
圖5 拼合前的點云數(shù)據(jù)圖Fig 5 Diagram of point cloud datas before registration
每條路徑下采集的數(shù)據(jù)均有重疊的區(qū)域,因此,可采用ICP 算法將7 個不同路徑下掃描的數(shù)據(jù)拼合在一起,效果如圖6 所示。由此可見,應用ICP 算法有效減小了運動機構(gòu)等引入的誤差,使大型自由曲面的整體測量精度得到提高。圖7(a),(b)所示分別為以三角網(wǎng)格形式和光照渲染模式下的數(shù)據(jù)點云重構(gòu)結(jié)果。
圖6 拼合后的點云數(shù)據(jù)圖Fig 6 Diagram of point cloud datas after registration
圖7 點云重構(gòu)后的車門圖Fig 7 Diagram of car door after point cloud reconstruction
本文提出了基于激光線掃描傳感器的大型自由曲面測量系統(tǒng),討論了其基本原理與組成結(jié)構(gòu)。為解決因移動機構(gòu)的運動誤差導致大范圍曲面測量精度不高的問題,研究了其中的曲面點云拼合等技術,在很大程度上提高了曲面拼合的精度。實驗驗證結(jié)果表明:該系統(tǒng)實現(xiàn)了對大型自由曲面較高精度的非接觸測量。
[1] 屈玉福,浦昭邦,趙慧潔.基于單目視覺的自由曲面三維坐標測量方法[J].儀器儀表學報,2006,27(10):1318 -1321.
[2] 張宏偉,張國雄,秦 鵬,等.雙目視覺檢測技術在自由曲面測量中的應用[J].機械工程學報,2004,40(7):110 -113.
[3] 李旭東,崔 磊,趙慧潔,等.雙振鏡點掃描三維形貌測量系統(tǒng)[J].光學精密工程,2010,18(7):1648 -1653.
[4] 何炳蔚,周小龍.線激光三維測量儀中視覺傳感器規(guī)劃方法研究[J].中國激光,2010,37(6):1618 -1625.
[5] 段 宇,劉常杰,勞達寶,等.基于視覺檢測站線結(jié)構(gòu)光傳感器的標定方法[J].傳感器與微系統(tǒng),2010,29(4):126 -128.
[6] 王艷慶,程偉德,張 華,等.激光視覺傳感器對不連續(xù)焊縫的識別[J].傳感器與微系統(tǒng),2011,30(5):8 -11.
[7] 王 一,任永杰,劉常杰,等.工業(yè)機器人視覺檢測系統(tǒng)的現(xiàn)場標定技術[J].傳感器與微系統(tǒng),2010,29(2):83 -86.
[8] Besl P J,McKay N D.A method for registration of 3-D shapes[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1992,14(2):239 -256.
[9] Blais G,Levine M D.Registering multiview range data to create 3D computer graphics[J].IEEE Transactions on Patten Analysis and Machine Intelligence,1995,17(8):820 -824.
[10] 董明曉,鄭康平.一種點云數(shù)據(jù)噪聲點的隨機濾波處理方法[J].中國圖像圖形學報,2004,9(2):245 -248.
[11] Greenspan M,Godin G.A nearest neighbor method for efficient ICP[C]∥Proceedings of the 3rd International Conference on 3D Digital Imaging and Modeling,2001:161 -168.
[12] Zhang Z Y.Iterative point matching for registration of free-form curves and surfaces[J].International Journal of Computer Vision,1994,13(2):119 -152.