龔海強(qiáng),單 奇,吳鵬飛,羅新河
(西南交通大學(xué) 機(jī)械工程學(xué)院,四川 成都 610031)
磨削工件的表面質(zhì)量是生產(chǎn)加工的重要指標(biāo)之一[1-2]。同時(shí),工件表面質(zhì)量的好壞也直接關(guān)系到產(chǎn)品品質(zhì)[3-4]。因此,如何確定磨削工件表面特征信息是表面檢測領(lǐng)域中的重要研究對象[5-6]。曾碧[7]等人提出一種基于機(jī)器視覺的工件長時(shí)間跟蹤算法,提高工件表面檢測的準(zhǔn)確性。董明明[8]等人提出一種基于顏色分離與特征統(tǒng)計(jì)分析的工件表面異物檢測算法,提高工件表面異物檢測準(zhǔn)確性。然而,磨削工件表面檢測還存在著許多實(shí)際問題。隨著激光發(fā)展,激光測量技術(shù)被廣泛應(yīng)用于測量、尺寸檢測等領(lǐng)域[9-10],用激光測量技術(shù)取代傳統(tǒng)的檢測方法是提高效率、保證精度的有效途徑[11-12]。Zhang Y C[13]等人將激光應(yīng)用在尺寸測量上,實(shí)現(xiàn)了大型鍛件熱態(tài)尺寸測量。王仲等人[14]將激光傳感器固定在機(jī)床主軸上,實(shí)現(xiàn)了大型工件軸孔心定位。但激光掃描測量在工件表面檢測方面的應(yīng)用研究較少。
本文針對工件表面特征檢測領(lǐng)域,利用機(jī)械臂帶動(dòng)激光傳感器掃描激光測量平面中的工件,通過工件邊界點(diǎn)定位以及邊界線擬合方法得出附著在工件上的坐標(biāo)系相對于激光測量坐標(biāo)系的偏移量以及旋轉(zhuǎn)角度,通過兩個(gè)坐標(biāo)系之間的位姿信息進(jìn)行坐標(biāo)轉(zhuǎn)換得出工件精確的三維坐標(biāo)信息。該方法檢測精度高且無需復(fù)雜的工件定位操作,為磨削工件表面檢測提供了理論依據(jù)。
如圖1所示,激光源發(fā)出的激光采樣線(下面簡稱采樣線)經(jīng)過被測物反射后在CCD上成像被測物上的點(diǎn)和在CCD上成像點(diǎn)的位置是一一對應(yīng)關(guān)系。采樣線上各個(gè)點(diǎn)到傳感器的距離可以通過在CCD上面成像直線上各個(gè)圖像點(diǎn)M1的具體位置求出來。
圖1 激光掃描原理
如圖2所示,以采樣線的起始位置為激光測量平面的左邊界線,以采樣線的結(jié)束位置為右邊界線,機(jī)械臂帶動(dòng)激光傳感器沿水平方向移動(dòng)構(gòu)成一個(gè)平面,將該平面定義為激光測量平面(下面簡稱測量平面)并以機(jī)械臂水平移動(dòng)方向?yàn)榧す鉁y量坐標(biāo)系的y軸,激光光束平行方向?yàn)榧す鉁y量坐標(biāo)系的x軸。
圖2 激光測量平面
如圖3所示,對放置在測量平面中的工件掃描。掃描完成后即可采集工件邊界點(diǎn)信息。
圖3 邊界點(diǎn)的識(shí)別與定位
本方法采用相鄰2個(gè)采樣點(diǎn)之間的高度變化來確定工件邊界點(diǎn)[15]。即查找同一條采樣線上所有相鄰的采樣點(diǎn),查找公式表示為
Δz=(xi+1,yi+1,zi+1)-(xi,yi,zi)
(1)
式中:(xi,yi,zi)是采樣線上第i個(gè)采樣點(diǎn),(xi+1,yi+1,zi+1)是同一采樣線上第i+1個(gè)采樣點(diǎn)。
根據(jù)公式(1)計(jì)算出相鄰2個(gè)采樣點(diǎn)之間的高度變化Δz,若|Δz|大于工件表面或測量平面表面粗糙度閾值,則可判斷(xi,yi,zi)為邊界點(diǎn)。將求出的所有工件邊界點(diǎn)保存在邊界點(diǎn)集合G=(xi,yi,zi)(i=0,1,…,j)中,其中(xi,yi,zi)為邊界點(diǎn)。
圖4為掃描過程中第i條采樣線上工件截面圖。如圖4所示,工件邊界點(diǎn)是工件表面和測量平面之間的過渡點(diǎn)。因此,利用工件邊界點(diǎn)x軸坐標(biāo)值的大小關(guān)系即可確定工件表面點(diǎn)。
圖4 工件截面圖
找出同一條采樣線上x軸坐標(biāo)值最大和最小的邊界點(diǎn),該采樣線上介于這2個(gè)點(diǎn)之間(包括這2個(gè)點(diǎn))的采樣點(diǎn)即為工件表面點(diǎn),將其保存在表面點(diǎn)集合W=(xi,yi,zi)(i=0,1,…,j)中,其中(xi,yi,zi)為工件表面點(diǎn)。
在本方案中利用最小二乘法對工件邊界進(jìn)行擬合,求出其邊界在激光測量坐標(biāo)系中的表達(dá)式,并根據(jù)表達(dá)式的斜率來確定旋轉(zhuǎn)角度。
如圖5和圖6所示,工件相對于激光測量坐標(biāo)系的旋轉(zhuǎn)角度有θ≠0和θ=0兩種情況。
圖5 旋轉(zhuǎn)角度θ≠0
圖6 旋轉(zhuǎn)角度θ≠0
由上圖可知,首先確定旋轉(zhuǎn)角度θ是否等于0。系統(tǒng)遍歷工件邊界點(diǎn)集合G,找出其中x軸坐標(biāo)的極值點(diǎn),記為Xmax和Xmin,y軸坐標(biāo)值的極值點(diǎn),記為Ymax和Ymin,構(gòu)造判別表達(dá)式:
|Ymax-Ymin|=Δi
(2)
|Xmax-Xmin|=Δz
(3)
Δ1-l=ε1
(4)
Δ2-h=ε2
(5)
式中:Ymax和Ymin是集合G中y軸坐標(biāo)值最大和最小的點(diǎn),Xmax和Xmin是x軸坐標(biāo)值最大和最小的點(diǎn),l是工件長度,h是工件寬度。
通過公式(4)和公式(5)判斷|ε1|、|ε2|的值。若|ε1|≈0且|ε2|≈0,則可判斷旋轉(zhuǎn)角度θ=0,反之則判斷旋轉(zhuǎn)角度θ≠0。若旋轉(zhuǎn)角度θ≠0,則進(jìn)入下一步判別條件,判斷旋轉(zhuǎn)角度。工件坐標(biāo)系旋轉(zhuǎn)角度θ是否為0的確定算法如下所示:
1) 找出Ymax,Ymin,Ymax,Xmin。
2) 根據(jù)公式(2)和公式(4)求出|ε1|,根據(jù)公式(3)和公式(5)求出|ε2|,判斷|ε1|≈0且|ε2|≈0是否成立。
3) 如果步驟2中條件成立則證明旋轉(zhuǎn)角度θ=0,反之則跳轉(zhuǎn)到步驟4。
4) 跳轉(zhuǎn)到工件邊界定位模型中利用Ymax、Ymin、Xmax、Xmin的坐標(biāo)關(guān)系以及最小二乘法求出旋轉(zhuǎn)角度。
當(dāng)旋轉(zhuǎn)角度θ≠0時(shí),旋轉(zhuǎn)角度θ求解的先決條件是確定一條可以用最小二乘法擬合的邊界線上點(diǎn)的坐標(biāo)集合。下面首先介紹進(jìn)行邊界線擬合點(diǎn)的集合坐標(biāo)確定。
由上小節(jié)的分析可知,在得出Ymax、Ymin、Xmax、Xmin這4個(gè)點(diǎn)之后,找出這4個(gè)點(diǎn)中y軸坐標(biāo)最小的2個(gè)點(diǎn),在邊界點(diǎn)集合G中所有介于這兩點(diǎn)間的邊界點(diǎn)即為所需要進(jìn)行曲線擬合的點(diǎn),記為集合K。擬合的步驟為:
利用最小二乘法對集合K內(nèi)的邊界點(diǎn)構(gòu)造一條邊界線方程:
yj=a+bx
(6)
根據(jù)最小二乘法的原理,根據(jù)公式(6),構(gòu)造函數(shù):
f(a,b)=∑(yi-yj)2=∑(yi-a-bxi)2
(7)
根據(jù)公式(7),對f(a,b)函數(shù)生成極值函數(shù):
(8)
由公式(8)即可求得a、b,從而求出擬合邊界線的表達(dá)式。
在擬合出邊界線的方程后,根據(jù)公式(9)可以求得旋轉(zhuǎn)角度θ。
k=tanθ
(9)
式中:k是邊界線斜率;θ是旋轉(zhuǎn)角度。
1) 當(dāng)工件處于圖5(a)位置時(shí),θ=arctank+90°;
2) 當(dāng)工件處于圖5(b)位置時(shí),θ=arctank-90°。
為了描述工件在激光測量坐標(biāo)系{A}中的位姿信息,在工件上附著一個(gè)參考坐標(biāo)系{B}(如圖6所示)。下面詳細(xì)介紹姿態(tài)變換的旋轉(zhuǎn)矩陣和位置變換的位置矢量的確定方法。
構(gòu)造一個(gè)旋轉(zhuǎn)矩陣用來確定工件在激光測量坐標(biāo)系中的姿態(tài)信息,如公式(10)所示:
(10)
圖7 坐標(biāo)系映射
(11)
(12)
(13)
位置矢量用來確定坐標(biāo)系{B}的原點(diǎn)在激光測量坐標(biāo)系{A}中的位置,此處用符號APB來表示。位置矢量的描述如公式(12)所示:
(14)
式中:px、py、pz是坐標(biāo)系{B}原點(diǎn)在激光測量坐標(biāo)系{A}的x、y、z主軸上的投影。同理,由于是二維的位姿變換,故而pz=0。
對于旋轉(zhuǎn)角度θ≠0和θ=0兩種情況。
1) 當(dāng)θ=0時(shí),坐標(biāo)系{B}的位置分量px、py用Xmin的x軸和y軸的坐標(biāo)值來描述。
2) 當(dāng)θ≠0時(shí),斜率k存在2種情況:當(dāng)k>0時(shí),坐標(biāo)系{B}的位置分量px、py用Ymin的x軸和y軸的坐標(biāo)值來描述;當(dāng)k<0時(shí),坐標(biāo)系{B}的位置分量px、py用Xmin的x軸和y軸的坐標(biāo)值來描述;
根據(jù)上面的分析可以求得位置矢量的分量px、py。由于只存在x、y平面的姿態(tài)描述,所以位置矢量的分量pz=0。
將上述求得位置矢量的分量px、py、pz代入公式(12)中,即可得本方法中位置矢量APB。
根據(jù)坐標(biāo)系變換的物理屬性可知:
BPA=-APB=[-px-py-pz]T
(15)
由于用激光傳感器掃描出來的工件表面點(diǎn)位是在坐標(biāo)系{A}中進(jìn)行描述的,在求出坐標(biāo)系之間的位置和姿態(tài)的相對變換后,可以根據(jù)公式(16)來求出坐標(biāo)系{A}中點(diǎn)位的矢量在坐標(biāo)系{B}中的描述。
(16)
式中:PA=[XAYAZA]T表示的是坐標(biāo)系{A}中描述的點(diǎn)的位置矢量。
將上述求解得到的旋轉(zhuǎn)角度θ與位移量px、py帶入公式(13)可得
如圖8所示,工件表面檢測系統(tǒng)由機(jī)械臂、激光傳感器、上位機(jī)、激光測量平面及掃描工件組成。其中,上位機(jī)用于對激光傳感器采集到的數(shù)據(jù)進(jìn)行分析處理,從而得出工件表面特征信息。
圖8 實(shí)驗(yàn)裝置
在對工件邊界線進(jìn)行擬合之前,首先對工件邊界極值點(diǎn)定位的準(zhǔn)確性進(jìn)行測試。測試結(jié)果如圖9所示。
圖9 邊界極值點(diǎn)定位
為了驗(yàn)證工件邊界線擬合是否符合預(yù)期要求,對該擬合方法進(jìn)行測試。實(shí)驗(yàn)中對兩種不同位姿的工件邊界線進(jìn)行擬合,擬合結(jié)果如圖10所示。
圖10 工件邊界線擬合
為了驗(yàn)證表面檢測是否符合預(yù)期要求,對該方法進(jìn)行測試。檢測結(jié)果如圖11所示。
圖11 工件表面檢測
在測量過程中,誤差不可避免。本方案對系統(tǒng)測量過程中誤差產(chǎn)生的原因進(jìn)行分析,主要有以下幾個(gè)部分:
1) 機(jī)械臂誤差:主要由于機(jī)械臂的制造精度產(chǎn)生的誤差,其中包括加工、裝配以及機(jī)械臂之間的傳動(dòng)等引起的誤差。機(jī)械臂水平方向引起的測量誤差δ1=100 μm;機(jī)械臂垂直方向引起的測量誤差δ2=100 μm。
2) 激光傳感器誤差:主要包括激光傳感器制造精度造成的加工誤差和激光傳感器安裝在機(jī)械臂上造成的安裝誤差。激光傳感器沿x軸方向測量誤差δ3=4 μm;沿z軸方向的測量誤差δ4=10 μm;激光光束橫截面的寬度為200 μm,因此,由激光傳感器造成的沿y軸方向上的最大測量誤差為δ5=200 μm。
3) 環(huán)境誤差和工件材料:主要包括測量過程中的溫度、濕度、光照及工件表面反射率引起的誤差。由于測量裝置被放置在室內(nèi),故環(huán)境誤差對實(shí)驗(yàn)影響較小。
在測量過程中,機(jī)械臂帶動(dòng)激光傳感器進(jìn)行工件掃描時(shí),工件表面檢測誤差主要由機(jī)械臂垂直方向引起的測量誤差δ2和激光傳感器沿z軸方向誤差δ4確定的,故工件表面檢測誤差δ=δ2+δ4=110 μm。
本文采用激光傳感器實(shí)現(xiàn)非接觸測量,保證了工件表面檢測精度,并利用機(jī)械臂帶動(dòng)激光傳感器掃描工件實(shí)現(xiàn)了工件表面特征檢測并生成工件表面精確的三維坐標(biāo)信息。實(shí)驗(yàn)結(jié)果表明,該方法檢測時(shí)間短且識(shí)別精度高,為工件表面特征檢測提供了新的思路,具有良好的參考價(jià)值。