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