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