張結(jié)實 李玉杰 肖 瑤
(北京長安汽車工程技術(shù)研究有限責任公司,北京 102209)
關(guān)節(jié)臂式三坐標測量系統(tǒng)通過獲取能夠表征目標實體表面特征的密集采樣點(稱為“點云”)的空間三維坐標,為汽車實體逆向和檢測創(chuàng)造了條件。然而,由于關(guān)節(jié)臂式三坐標測量系統(tǒng)在測量距離方面存在限制,當測量大尺寸物體(象整車外表面)時,無法一次測量。必須在環(huán)繞掃描對象一周的不同位置分別設(shè)點,采用多測站多視角掃描方式,獲得該對象各個部位的分塊點云數(shù)據(jù),再通過分塊數(shù)據(jù)拼接處理才能獲得掃描對象完整的表面點云。目前序列拼接是實現(xiàn)多站激光掃描點云拼接的方法,顯然該方法存在誤差累積,會導致最后一站與首站的掃描點云間存在裂縫或交叉,拼接后的掃描點云不能準確地表達掃描對象的形態(tài)。該文就關(guān)節(jié)臂式三坐標測量系統(tǒng)掃描整車外表面的無縫拼接處理提出了如下方法:對分多次掃描完后的整車點云進行兩兩拼接,對目標點云(待拼接點云)的特征點在參考點集中找一個與之距離最近的點,建立點對的映射關(guān)系,然后以點對間距離平方和最小為條件,通過最小二乘法迭代解算出一個最優(yōu)坐標變換關(guān)系式。根據(jù)此算法編譯程序,輸入目標點及參考點的坐標值即可得出最優(yōu)的配對結(jié)果,達到點云拼接最小誤差,并提高掃描精度的目標。
一種6自由度柔性三坐標測量機結(jié)構(gòu)如圖1所示。測量機由3根剛體臂、6個活動關(guān)節(jié)和1個測頭組成。第1根固定臂與第2根中間臂之間、第2根與第3根末端臂之間、第3根與測頭之間均為關(guān)節(jié)式連接,可作空間回轉(zhuǎn),而每個活動關(guān)節(jié)裝有相互垂直的回轉(zhuǎn)角傳感器,可測量各個臂和測頭在空間的位置。由于關(guān)節(jié)臂測量機的各臂長度固定,引起誤差的主要因素為各轉(zhuǎn)角的誤差,因此轉(zhuǎn)角誤差的測量和補償對提高關(guān)節(jié)臂測量機的精度十分重要。
蛙跳技術(shù)是在關(guān)節(jié)臂測量中用到的一種技術(shù)。在關(guān)節(jié)臂測量機的測量范圍之外的測量需要用到蛙跳技術(shù)。理論上該技術(shù)可以使關(guān)機臂的測量范圍擴大,但考慮到測量精度在每次蛙跳之后都會降低,所以在具體應用時應該權(quán)衡被測工件的尺寸公差要求來進行蛙跳對齊的實行。
圖1 一種6自由度柔性三坐標測量機結(jié)構(gòu)簡圖
蛙跳原理如圖2所示,在位置1(Arm Position 1)時完成所有測量范圍內(nèi)的尺寸測量,在測量3個蛙跳球(A,B,C),然后移動關(guān)節(jié)臂測量機到位置2(Arm Position 2,確定能測到3個蛙跳球),在位置2處進行尺寸測量之前先按同樣的順序測量3個蛙跳完成蛙跳對齊。
圖2 蛙跳原理示意圖
(1)固定整車,調(diào)平車身。(2)黏貼鋼球。
鋼球黏貼位置要求:在相鄰2個便攜式三坐標的安裝位置上,至少滿足測量到3個公共鋼球點。鋼球需在車身上對稱布置,便于看清車輛輪廓,區(qū)分車輛前后位置,給所有鋼球進行編號,在點云對齊時更容易找到對應的點。
(1)盡量使用較少的蛙跳次數(shù),兩側(cè)車門B柱位置各1次,車輛前后位置各2次,車身兩側(cè)蛙跳位置對稱分布。
(2)保證在蛙跳前后2次的掃描儀安裝位置上,關(guān)節(jié)臂能測量到3個以上的公共鋼球點。
使用便攜式三坐標掃描頭進行掃描,首先選擇車身兩側(cè)B柱位置開始掃描,車身B柱位置可以測量的鋼球點覆蓋面比較大,掃描車身左右兩側(cè),然后按照上述方法將便攜式三坐標掃描儀移動到車身前后2個位置分別掃描。最后得到在不同位置掃描的分塊點云。
利用Geomagic Qualify軟件對掃描的分塊點云進行前期處理。掃描的分塊點云的前期處理步驟為:
(1)縫合:將多次掃描(便攜式三坐標沒有移動位置)的分塊點云縫合為一塊點云。
(2)稀釋:減少點云數(shù)據(jù)量,便于后期處理。
(3)去除離散點。
(4)渲染:便于看清零件形狀,方便刪除雜質(zhì)點。
(5)手動刪除雜質(zhì)點。
(6)降噪:降低點云分層誤差。
(7)對處理后的點云進行拼合對齊。
(8)在同一位置掃描(便攜式三坐標沒有移動位置)的點云數(shù)據(jù)保存在一個文件里面,即點云的坐標沒有變化。
目前序列拼接是實現(xiàn)多站激光掃描點云拼接的方法,通過從點云中提取特征點對第2站掃描點云求取坐標轉(zhuǎn)換參數(shù),將其轉(zhuǎn)換到第1站相同的坐標系中,將這2站的數(shù)據(jù)拼接起來,再將第3站數(shù)據(jù)向已拼接的第1站和第2站數(shù)據(jù)進行坐標轉(zhuǎn)換和拼接,以此類推,直到完成最后1站數(shù)據(jù)的拼接。顯然該方法存在誤差累積,會導致最后一站與首站的掃描點云間存在裂縫或交叉,拼接后的掃描點云不能準確地表達掃描對象的形態(tài)。
4.2.1 拼接順序
(1)根據(jù)圖3所示的掃描順序進行點云分塊,第2塊點云分別與第1塊、第3塊點云拼接,形成車體右側(cè)點云。
圖3 掃描順序示意圖
(2)第5塊點云分別與第6塊、第4塊點云拼接,形成車體左側(cè)點云。
(3)車體左側(cè)點云與右側(cè)點云通過黏貼在車體前后的公共鋼球點拼接成一整體。
4.2.2 采用優(yōu)化算法進行點云兩兩拼接
車體左側(cè)點云與右側(cè)點云拼接時,共有6~8個鋼球點,公共鋼球配對時前3個點的選擇與順序?qū)⒂绊?塊點云的拼接誤差。該文通過以下算法在所有鋼球點排列組合中找到最小誤差時的排列組合,使2塊點云拼接誤差達到最小。
(1)輸入2塊點云中的2組公共鋼球點坐標(每組6~8個點),定義左側(cè)(或右側(cè))點云鋼球點坐標為A組,右側(cè)(或左側(cè))點云鋼球點坐標為B組。A組點為固定點,B組點為浮動點。
固定點集 A={A1,A2,A3…A6}
浮動點集 B={B1,B2,B3…B6}
(2)配對過程中,只要B組的前3個點的坐標確定,那么其余點坐標也就一一確定了。
以A1對B1,A2對B2,A3對B3為例,A1點與B1點為1號鋼球分別在2次機器位置下掃描的點云點,所以配對時必須A1對B1,A2對B2……A6對B6,計算B組配對后的新坐標值,然后求出同一鋼球點2次坐標的偏差,找到該配對情況下的最大誤差。
①A1對B1。直接使B1new=A1,即 B1new= (x1,y1,z1)。
②A2對B2。由B1new到B2new的距離固定
圖4 B2new位置示意圖
(xB2new-x1)2+(yB2new-y1)2+(zB2new-z1)2=(xB2-xB1)2+(yB2-yB1)2+(zB2-zB1)2(1)
通過公式(1)可以約束B2new在以A1(B1new)為圓心、以為半徑的球上運動,A1與A2的連線與此球交于2點,距離A2最近的那個點即為B2new,如圖4所示。
當B2new在A1與A2的連線或其延長線上時,即
即有
綜合式(1)、式(2)、式(3)、式(4)求出2個坐標值,再比較求出的這2個點與A2的距離,選擇距離較小的那個即為B2new。
即有
A1、A2、A3在一個平面內(nèi),運動軌跡與此平面垂直,通過式(5)、式(6)可以約束B3new的軌跡在以A1與A2連線為軸線的圓上,A1、A2、A3所在的平面與此圓交于2個點,距離A3最近的那個點即為B3new,如圖5所示。由A1、A2、A3三點坐標可求出A1、A2、A3所在的平面的法向量=(a,b,c),若B3new在該平面上,則=0,有
由式(5)、式(6)、式(7)求出2個坐標值,再比較求出的這兩個點與A3的距離,選擇距離較小的那個即為B3new。
圖5 B3new位置示意圖
圖6 B4new位置示意圖
④A4對B4。此時,B1new、B2new、B3new坐標已確定,B1new、B2new、B3new在一平面內(nèi),B4new,A4在平面外,根據(jù)B4new到這3個點的距離與原B4到B1、B2、B3的距離相同,可求出2個坐標值,選擇距離較小的那個即為B4new,如圖6所示。
⑤參照第(4)步可以把其余B組的點全部轉(zhuǎn)換過來,此時可以求出A組對應點與B組對應點之間的偏差,其中的最大偏差即為在該順序配對的情況下的拼接誤差。
⑥根據(jù)①~⑤步算出所有配對情況下的拼接誤差,其中最小值對應的配對順序可以達到最小的拼接誤差。
(3)程序運行示例。利用Python(一種解釋型、面向?qū)ο?、動態(tài)數(shù)據(jù)類型的高級程序設(shè)計語言)將以上算法轉(zhuǎn)化成程序語言,再利用HTML(一種超文本標記語言,WWW的描述語言)制作程序運行界面。操作時只需將固定點坐標輸入A組坐標欄,將浮動點坐標輸入B組坐標欄,點擊“提交”,界面右側(cè)即可快速顯示運行結(jié)果,如圖7所示。排在TOP1的點排列順序?qū)钠罴礊樗信帕薪M合下的最小偏差。在Geomagic Qualify中進行對齊配對時,按照計算結(jié)果選擇排列順序?qū)Ⅻc云拼接,如圖8所示。
圖7 程序運行界面
圖8 Qualify軟件分塊點云對齊界面
根據(jù)該文描述的整車掃描方法,使用便攜式三坐標掃描系統(tǒng)掃描一輛轎車外表面,得到分散的6塊點云,分別用2種點云拼接方式進行拼接,得到2個結(jié)果的整車外表面點云,在2個整車外表面相同位置測量相鄰2塊點云搭接處的偏差。傳統(tǒng)方法順序拼接所得的結(jié)果,平均偏差為:2.294 mm;用該文提出的方法拼接所得的結(jié)果,平均偏差為:1.495 mm。由此可見掃描精度大大提高。
該文提出的用關(guān)節(jié)臂式三坐標測量系統(tǒng)進行整車外形掃描的工作方法,擴展了設(shè)備的掃描范圍,通過算法比對找到最優(yōu)的點云匹配方案,從而提高了整體的掃描精度。