宋艷芳,徐穎若,張繼方
(1.同濟大學汽車學院,上海 201800;2.河南工業(yè)職業(yè)技術(shù)學院汽車工程學院,河南 南陽 473000)
車輛零件加工裝配技術(shù)日益成熟[1],在量產(chǎn)與自動化檢測領域也取得了長足的發(fā)展,但隨著零件表面復雜度和檢測精度都越來越高[2],為了進一步滿足復雜零配件三維結(jié)構(gòu)的自動化檢測,從而實現(xiàn)智能裝配的最終目標,面向復雜結(jié)構(gòu)汽車零件的自動檢測技術(shù)的研究成為了熱點。
國外工業(yè)發(fā)展起步較早,在工業(yè)自動化檢測與控制方面具有領先地位,世界上第一臺可編程機器人由美國斯坦福大學生產(chǎn),目前已在汽車加工、零件裝配等領域廣泛應用。ABB公司設計的并聯(lián)機器人成功應用于汽車零件加工中,其小巧的結(jié)構(gòu)在車架內(nèi)部零件安裝過程中具有很好的適用性。Connolly[8]研究的傳感式校正系統(tǒng)被應用于機器臂控制,在復雜零件結(jié)構(gòu)檢測中精度可優(yōu)于400 μm。寶馬公司推行的智能化汽車裝配工程體系采用了虛擬現(xiàn)實與裝配工藝流程相結(jié)合的設計思路,其中使用的數(shù)字孿生(Digital twin)技術(shù)就包含傳感數(shù)據(jù)的獲取,即自動檢測系統(tǒng)。國內(nèi)中科院自動化所研發(fā)的新松機器人就是自動化檢測與控制有效結(jié)合的典型研究成果,其應用于汽車裝配領域的布線工藝環(huán)節(jié),具有很大的市場占比。浙江大學的裝配技術(shù)國家重點實驗室研發(fā)的虛擬裝配軟件模塊,完成了檢測數(shù)據(jù)與控制系統(tǒng)的數(shù)據(jù)對接,自動裝配系統(tǒng)智能化發(fā)展提供了新的思路。同濟大學汽車學院開展了汽車零件測量數(shù)據(jù)對仿真裝配過程的校正研究,本文基于此基礎針對汽車零件自動檢測的掃描路徑優(yōu)化問題,給出了基于分層完成目標區(qū)域三次B樣條插值的設計思路,構(gòu)建了驗證測試實驗。
為了自動檢測復雜面形汽車零件的表面并實現(xiàn)精確重構(gòu)[15],使機械臂掃描路徑更準確,實現(xiàn)為質(zhì)檢、安裝等提供準確的修正數(shù)據(jù),設計了自動檢測系統(tǒng),如圖1所示。
圖1 基于三次B樣條分層插值的自動檢測系統(tǒng)Fig.1 Automatic detection system based on cubic B-spline hierarchical interpolation
系統(tǒng)主要分為兩大部分,一是計算分析部分,其中包括處理模塊、掃描路徑規(guī)劃模塊、分析算法模塊;二是執(zhí)行部分,其中包含機械臂控制模塊、機械臂、光學探頭。首先,處理模塊通過數(shù)據(jù)采集卡讀取由光學探頭獲取得到的測試件點云數(shù)據(jù);然后,通過對測試數(shù)據(jù)進行三維重建獲得測試件的位置與位姿信息;其次,在與工件數(shù)學模型對比的基礎上,計算測試件實際位置與姿態(tài)和理論位置與姿態(tài)之間的差異;最后,結(jié)合測試獲得的偏差數(shù)據(jù)信息,通過三次B樣條分層插值算法完成對掃描路徑的優(yōu)化,從而實現(xiàn)優(yōu)化自動檢測掃描路徑的目的。
待測件點云的獲取采用結(jié)構(gòu)光配合雙目視覺的方法實現(xiàn),由線陣CCD完成待測區(qū)域光信號的采集,利用捕獲靶標點信號完成目標的三維重構(gòu)。設雙目視覺系統(tǒng)的坐標系分別是P1和P2,如圖2所示,當需要完成點云拼接時,將兩個坐標系的數(shù)據(jù)進行對齊即可實現(xiàn)目標點云的組合。
圖2 雙目測量的工作機理示意圖Fig.2 Schematic diagram of the working mechanism of binocular measurement
雙目系統(tǒng)統(tǒng)一坐標系后設其主點為(u0,v0),兩個相機的焦距與間距分別為F和D,在兩個相機的像面位置上的點分別是P1(u1,v1)和P2(u2,v2)。則待測物坐標可以寫成:
(1)
兩個相機之間的坐標變換可以通過旋轉(zhuǎn)矩陣和位移矩陣實現(xiàn),兩坐標系之間的變換符合以下矩陣變換規(guī)則:
(2)
式中,P表示位移矩陣;R為表示旋轉(zhuǎn)矩陣,上標為選用坐標系,下標為目標坐標系,兩個坐標系下的數(shù)據(jù)互換是可逆的。
機械臂的掃描路徑常采用B樣條曲線構(gòu)成,由于裝配等過程容易造成誤差引入,簡單的擬合曲線難以符合精度要求,故本文采用三次B樣條,并且基于數(shù)據(jù)特征進行分層插值,從而實現(xiàn)根據(jù)測試數(shù)據(jù)特點進行掃描路徑優(yōu)化的目的。傳統(tǒng)B樣條曲線可以通過m個頂點和n個節(jié)點來控制,則定義B樣條曲線為:
(3)
其中,i為n個節(jié)點中的第i個;節(jié)點值;j為m個頂點中的第j個;k為B樣條的次數(shù)(本文中采用三次,即k=3);di為控制點數(shù)據(jù);ui為節(jié)點矢量。
由于汽車零件的表面結(jié)構(gòu)復雜,在構(gòu)建掃描曲線的時候如果不分類處理,在具有階躍變化的位置很容易造成細節(jié)丟失,從而導致掃描精度降低。所以,采用數(shù)據(jù)分層的方式可以很好地解決諸如直角、棱邊、孔洞等結(jié)構(gòu)的點云數(shù)據(jù)拼接問題。數(shù)據(jù)分層的依據(jù)由測試面的連續(xù)程度決定,即采用測試曲面上待測點的曲率決定。這樣分層的優(yōu)勢有兩個:一是由曲率變化分層可以準確反映出曲面的形態(tài)與特征,二是由曲率計算法向量時可以直接為機械臂掃描路徑優(yōu)化提供位姿補償信息。由此可見,基于曲率連續(xù)性的數(shù)據(jù)分層可以實現(xiàn)測量數(shù)據(jù)與掃描路徑的數(shù)據(jù)關聯(lián),在此基礎上,確定節(jié)點與頂點的矢量表達就能完成曲線插值重建。對于數(shù)據(jù)點qi而言,構(gòu)造三次B樣條曲線時要將首末數(shù)據(jù)點映射到B樣條曲線的對應端點上,并且將數(shù)據(jù)點依次對應到段與段的連接點上,從而得到m段曲線。由此得到的三次B樣條曲線將存在(n+1)個控制頂點dj。節(jié)點矢量的集合可以表示為:
再次,村落民俗志書寫應兼顧村民立場,這是走出傳統(tǒng)書寫模式中主體“缺席”誤區(qū)的關鍵。趙世瑜曾提出歷史人類學應掌握一種“逆推順述”的研究技術(shù)和敘事技巧,最近又將之視為一種觀察歷史的方法論,頗值得注意:
U=[u0,u1,…,un+k+1]
則其固支條件及定義域有:
u∈[u3,un+1]=[0,1]
其中,u0=u1=u2=u3=0,un+1=un+2=un+3=un+4=1。由此將節(jié)點矢量的構(gòu)造過程在各個分層數(shù)據(jù)中進行遍歷,從而獲得每個數(shù)據(jù)分層中擬合曲線的節(jié)點矢量信息。
由于采用三次B樣條,故k=3代入式(3),得到三次B樣條函數(shù):
(4)
然后將定義域[u3,un+1]中符合u∈[ui,ui+1]的節(jié)點依次導入方程后,有:
(5)
由此利用式(5)完成對控制頂點的解析,通過頂點方程的矩陣表達可以寫成:
(6)
其中,a1、b1、c1為邊界條件的首行非零系數(shù);an-1,bn-1,cn-1為邊界條件的末行非零系數(shù);ai,bi,ci是中間行系數(shù);d表示控制頂點(下標為頂點號);e表示頂點矢量(下標為對應頂點)。所有系數(shù)可由節(jié)點矢量的差分量計算得到,有:
(7)
待測目標采用AtlaScan型雙目掃描儀完成數(shù)據(jù)采集,該設備最大采樣速率為900 /ms,分辨率最高為0.01 mm,仿真時根據(jù)設計需要的測試速度與重建精度,系統(tǒng)采樣速率與精度選用500 /ms與0.05 mm。采集后的原始點云數(shù)據(jù)無法直接使用,因為目標點云與背景點云混疊在一起。所以需要先將數(shù)據(jù)導入MATLAB中完成雜散點濾波,濾波方法采用點云相鄰域連通的方式實現(xiàn)。對于本測試中的零件而言,其曲面變化復雜程度并不高,所以只需要兩個數(shù)據(jù)獲取就能夠得到完整的目標點云集合,然后對每一次獲取的點云進行背景點云濾波,將目標點云數(shù)據(jù)保留后再完成三維目標的重建。
采用100 mm×100 mm掃描區(qū)域獲取待測目標的點云數(shù)據(jù),要求待測目標具有直角、棱邊及孔洞等特征。由雙目視覺系統(tǒng)獲取待測目標結(jié)構(gòu)的點云,導入MATLAB后,對雜散點進行濾波后可以得到目標的點云分布如圖3(a)所示。通過點云數(shù)據(jù)的三次B樣條分層插值完成對缺失信息的補償,從而達到優(yōu)化掃描路徑的目的。在Qualify中,分別重建了無插值與經(jīng)插值優(yōu)化的重建效果,如圖3(b)所示。
(b)重建數(shù)據(jù)圖3 模擬汽車零件的點云與三維重建Fig.3 Point cloud and 3D reconstruction of simulated auto parts
將雙目系統(tǒng)獲取的基于靶標點的點云數(shù)據(jù)輸入MATLAB后,利用邊界濾波消除多余的噪聲點,最終形成圖3(a)中的點云數(shù)據(jù)集合,由此可以看出零件的大體外形輪廓。采用三角面片法將點云連通,從而構(gòu)成目標的三維模型,重建得到零件的結(jié)構(gòu)如圖3(b)所示。在三維重建結(jié)構(gòu)中抽取各個位置上的斜率信息與數(shù)模中對應位置上的斜率進行比較,就可以得到預設的掃描路徑與實際目標位置之間存在的誤差,故對測試得到的三維重建數(shù)據(jù)進行三次B樣條分層插值,就能夠?qū)⑴c數(shù)模之間的誤差以補償矩陣的形式給出,從而反饋控制調(diào)整機械臂軌跡,實現(xiàn)對系統(tǒng)掃描路徑的優(yōu)化。
實驗中零件外形點云獲取采用的是AtlaScan型雙目掃描儀,系統(tǒng)采樣速率為500 /ms,采樣精度為0.05 mm,標準測試位置范圍80 mm×80 mm。獲取點云過程中利用數(shù)據(jù)連通特性完成目標點云與背景點云的區(qū)分,具體實現(xiàn)手段是對一個計算范圍內(nèi)的點云求解斜率均值,當相鄰區(qū)域的點云斜率均值明顯大于或小于其相鄰域的計算結(jié)果時,認為該檢測區(qū)域與相鄰區(qū)域不同源,從而在已知目標表面的斜率范圍的基礎上,可以對所有點云數(shù)據(jù)區(qū)域進行遍歷,最終將背景點云與雜散飛點等濾除掉。并且在完成數(shù)據(jù)運算時,可以通過降低已有目標點云數(shù)據(jù)總量的方法提高系統(tǒng)對目標重建的速度與邊界。
為了驗證本系統(tǒng)對掃描路徑的優(yōu)化效果,對上文中仿真分析的同一個零件進行掃描路徑規(guī)劃對比,零件尺寸范圍80 mm×40 mm×40 mm,激光掃描范圍為80 mm×80 mm,由此可見,在一個維向上僅需完成一次掃描即可獲得零件在該維度上的投影數(shù)據(jù)。重建的曲面精度實際上會決定樣件掃描時機械臂與樣件表面的位姿關系,而不同的位姿關系計算得到的測試點位置是不同,也就是說,最終可以通過計算不同掃描路徑條件下的位置偏移誤差進行量化對比。
將實際掃描得到的點云數(shù)據(jù)與數(shù)模點云數(shù)據(jù)進行點云匹配后,就可以計算兩組數(shù)據(jù)之間的偏差,該偏差就是用于優(yōu)化自動檢測結(jié)構(gòu)掃描路徑的補償信息。由于零件為三維結(jié)構(gòu),故采用測試點位置之間的絕對距離表征該偏差值,有:
(8)
其中,Δx、Δy、Δz分別表示測試點云數(shù)據(jù)與數(shù)模點云數(shù)據(jù)在x、y、z位置上的位置偏差量,則直接重建與采用三次B樣條分層插值后重建的三坐標偏差數(shù)據(jù)及絕對距離偏差的計算結(jié)果如表1所示。
表1 偏差程度對比表Tab.1 Comparison table of deviation degree
由表1可知,優(yōu)化后重建結(jié)果在x、y、z軸方向上的位置偏差的最大值和平均值都有所減小,減小程度約為原有測試值的1/3左右。分析認為,由于采用了三次B樣條分層插值算法,通過實測數(shù)據(jù)點之間插值補償?shù)姆绞绞箶M合曲線更加接近真實值的。相比之下,由于在三個坐標軸方向上的位置偏差均有所改善,故其測試點位的絕對距離修正效果更為明顯,約為優(yōu)化前的1/4。
根據(jù)算法對零件三維結(jié)構(gòu)重建面形的誤差校正,通過對誤差數(shù)據(jù)的分布形式,給出了相應的自動檢測掃描路徑的規(guī)劃結(jié)果。對300個樣本點的測試偏差結(jié)果和基于此偏差結(jié)果的路徑補償歸一化系數(shù),如圖4所示。從圖4(a)中可以看出,測試點的絕對距離誤差范圍集中在0.2~0.8 mm之間,該數(shù)據(jù)可以為自動掃描路徑的優(yōu)化提供依據(jù)。也就是當絕對距離超過設定閾值時,通過程序判斷該時刻x,y和z軸上正負值,并根據(jù)其正負關系(正值表示相對原路徑點分離的程度,負值表示相對原路徑點接近的程度)對掃描路徑進行修正,修正參數(shù)由路徑補償歸一化系數(shù)決定。而歸一化系數(shù)如圖4(b)所示,可以看出其分布趨勢基本與Dxyz倒數(shù)接近,因為其就是用來補償數(shù)模導出的掃描路徑。綜上所述,當采用本系統(tǒng)可以利用三次B樣條分層插值算法對重建零件進行補償,從而實現(xiàn)減小實際裝配過程中掃描路徑的誤差。
圖4 測試點間的偏差程度與補償系數(shù)Fig.4 The degree of deviation between the test points and the compensation coefficient
本文針對汽車零件自動檢測過程中由于環(huán)境干擾會導致機械臂掃描軌跡與實際零件面形偏差增大的問題,提出了一種基于三次B樣條分層插值算法,用于改善點云數(shù)據(jù)重建效果。在計算三個坐標軸方向上不同偏差程度的基礎上,完成了基于測試點絕對距離的偏移誤差判斷,最終將包含該特征信息的數(shù)據(jù)以路徑補償歸一化系數(shù)的形式對掃描軌跡進行修正,達到了優(yōu)化掃描軌跡的目的??梢?該算法為自動檢測的在線修正提出了新的思路。