沈志飛,劉曉東,費(fèi)錫磊,康 愷
(華中科技大學(xué) 激光加工國家工程研究中心,武漢 430074)
激光憑借著方向性好、亮度高、單色性好、相干性高等特點(diǎn),在加工領(lǐng)域有著廣泛的應(yīng)用,包括激光切割、激光打孔、激光焊接、激光標(biāo)刻等[1-3]。激光振鏡加工利用高能量密度激光束與材料的作用,結(jié)合高速轉(zhuǎn)動(dòng)的振鏡[4]進(jìn)行光束路徑進(jìn)行規(guī)劃,極大提高打標(biāo)速度和定位精度,成為激光打標(biāo)、激光內(nèi)雕、激光打孔等主要技術(shù)手段。
激光振鏡加工輸入圖形可為位圖或矢量圖,位圖一般通過二值化[5]后,根據(jù)像素值0或1,進(jìn)行點(diǎn)陣掃描;矢量圖則是通過路徑信息,輸出圖像的輪廓,具有更高的分辨率和無放大失真等特點(diǎn)[6]。PLT文件[7]是激光矢量加工中常用的交互圖形文件,由于其結(jié)構(gòu)簡潔,處理效率高,被廣泛運(yùn)用于激光振鏡加工領(lǐng)域中。但另一方面,由于數(shù)據(jù)全為線段點(diǎn)集,只能根據(jù)標(biāo)刻幅面進(jìn)行等比例放大取整,輸出缺少靈活性:當(dāng)放大比例較小時(shí),高密集數(shù)據(jù)點(diǎn)集的標(biāo)刻步距很小甚至為0,數(shù)據(jù)點(diǎn)過多上位機(jī)數(shù)據(jù)發(fā)送速率與振鏡速率不匹配,激光在某一點(diǎn)停滯時(shí)間過長,導(dǎo)致激光燒蝕[8];放大比例較大時(shí),相應(yīng)的標(biāo)刻步距變大,稀疏數(shù)據(jù)點(diǎn)集線段化明顯,標(biāo)刻精度和質(zhì)量降低。貝塞爾曲線作為計(jì)算機(jī)圖形學(xué)中常用參量曲線,通過改變參量t增量控制標(biāo)刻步距大小,可適應(yīng)各種標(biāo)刻放大比例,具有更高的標(biāo)刻精度和質(zhì)量[9],并且存儲(chǔ)形式為貝塞爾曲線的文件具有數(shù)據(jù)量更小、放縮不變等優(yōu)點(diǎn)。所以將線段點(diǎn)集擬合成少量控制點(diǎn)的貝塞爾曲線可解決加工PLT文件中點(diǎn)集分布過于密集或稀疏的問題。
點(diǎn)集擬合成B樣條[10]或非均勻有理B樣條曲線(non-uniform rational B-splines,NURBS)[11],最常用的方法是漸進(jìn)迭代逼近法(progressive iterative approximation,PIA)[12],在點(diǎn)集中根據(jù)曲率大小選取主特征點(diǎn),將其作為控制點(diǎn)并根據(jù)生成的曲線與點(diǎn)集誤差進(jìn)行控制點(diǎn)迭代,最終達(dá)到誤差要求。但PIA迭代計(jì)算量大,當(dāng)擬合誤差要求較小時(shí),迭代次數(shù)大,添加的控制點(diǎn)多,后面由曲線計(jì)算標(biāo)刻路徑更加復(fù)雜,并且矢量文件中曲線類型多為3階貝塞爾曲線,表達(dá)更加簡易。Potrace算法[13-14]可以將位圖經(jīng)過二值化、輪廓提取[15]、最優(yōu)多邊形和光滑處理,轉(zhuǎn)換成只有直線和3階貝塞爾曲線的矢量圖,可用來消除放大位圖帶來的鋸齒效應(yīng),但其不適用點(diǎn)集擬合曲線,具有較大擬合誤差。因此,為了解決密集點(diǎn)集在激光振鏡加工中由于放大比例差異引起的激光燒蝕及鋸齒化問題,作者設(shè)計(jì)出三角二分法用于點(diǎn)集的曲線擬合,將點(diǎn)集轉(zhuǎn)成由直線和貝塞爾曲線組成的控制點(diǎn)集,再根據(jù)標(biāo)刻放大比例進(jìn)行統(tǒng)一的步距規(guī)劃,減少數(shù)據(jù)量的同時(shí)保證標(biāo)刻的精度和質(zhì)量。
PLT文件繪圖結(jié)果可看成由多個(gè)實(shí)體組成,每個(gè)實(shí)體則是由閉合多邊形組成[16],即點(diǎn)集。每個(gè)實(shí)體都會(huì)通過圖1中的算法流程進(jìn)行處理,首先對點(diǎn)集進(jìn)行稀疏化,拋棄一些重復(fù)點(diǎn)及位于同一直線上的點(diǎn),簡化后,通過計(jì)算相鄰線段的偏轉(zhuǎn)角找出連續(xù)的曲線點(diǎn)集,并對曲線進(jìn)行適當(dāng)分割,使其偏轉(zhuǎn)角不大于90°,對每段曲線使用三角二分進(jìn)行貝塞爾曲線擬合,最終生成僅由控制點(diǎn)表示的包含曲線及少部分直線的實(shí)體[17]。
Fig.1 Scheme of point set optimization
如圖2所示,為初始點(diǎn)集,分布密集且不均勻,短線段可以合并成更長的線段。首先使用盡可能少的直線來替代直線點(diǎn)集,再在簡化點(diǎn)集中找到曲線點(diǎn)集。
Fig.2 The process of point set fitting a—original point set b—point set thinning c—point set split d—final fitted curve
在保證轉(zhuǎn)換精度前提下,盡可能將點(diǎn)集使用更少的直線替代。如圖3所示,現(xiàn)假設(shè)直線P1Qi-1在滿足轉(zhuǎn)換精度條件下可替代P1和Qi-1之間所有的點(diǎn),下一點(diǎn)為P2,分析直線P1P2是否可以替代P1Qi-1。首先直線P1P2表達(dá)式為:
Fig.3 Line thinning
(1)
依次計(jì)算P1和P2之間的點(diǎn)Qi到直線P1P2的距離d:
(2)
Qj(1≤j≤i-1)到P1P2的最大距離dmax即該點(diǎn)集用直線擬合的最大誤差,假設(shè)直線擬合的允許誤差為εline,分為兩種情況:當(dāng)最大誤差小于εline時(shí),點(diǎn)集P1~P2間的點(diǎn)可用直線P1P2代替,取P2后一點(diǎn)作為新的P2,重復(fù)以上流程;當(dāng)誤差大于εline時(shí),P2無法與前面點(diǎn)集共直線,P1Qi-1為滿足誤差的最長擬合直線,可將P1Qi-1的點(diǎn)全部去除,并將點(diǎn)Qi-1和P2作為下一點(diǎn)集,取P2后一點(diǎn)作為P2,Qi-1則作為點(diǎn)集起始點(diǎn)P1重復(fù)以上流程。
如圖2b所示,εline=0.02pixel,通過將每一個(gè)封閉點(diǎn)集進(jìn)行直線稀疏化,減少了直線點(diǎn)集中間的點(diǎn)及一些曲線點(diǎn)集相離很近且接近于直線的點(diǎn),便于后面對直線進(jìn)行統(tǒng)一的步距規(guī)劃。
便于后續(xù)的求解,選用3階貝塞爾曲線,有4個(gè)控制點(diǎn),所以對于擬合的點(diǎn)集來說,點(diǎn)個(gè)數(shù)不小于4才能對點(diǎn)集簡化。如圖4a所示,假設(shè)點(diǎn)P0,P1,P2屬于曲線點(diǎn)集,判斷P3是否屬于曲線點(diǎn)集。由向量公式:
(3)
Fig.4 Curve point set criterion and segmentation
為了便于控制曲線形狀,將連續(xù)的曲線點(diǎn)集進(jìn)行分段,保證每一段的拐角都小于90°,首尾控制點(diǎn)切線連線可構(gòu)成三角形包裹整個(gè)曲線點(diǎn)集,如圖4c所示,P1作為起始點(diǎn),PN作為終點(diǎn),兩點(diǎn)切向向量夾角θ<π/2,兩點(diǎn)間點(diǎn)集作為貝塞爾曲線擬合的基本單位,再將PN作為起點(diǎn),尋找下一終點(diǎn)。連續(xù)曲線點(diǎn)集的最終剩下的若干點(diǎn),若點(diǎn)個(gè)數(shù)小于4,則直接歸于前一段點(diǎn)集,否則作為新的一段。如圖2c所示,紅色點(diǎn)為分段曲線分界點(diǎn),可看出每段曲線點(diǎn)集角度偏轉(zhuǎn)不超過90°。
由于前面的曲線點(diǎn)集的分段保證了首尾點(diǎn)的夾角不會(huì)超過90°,且貝塞爾曲線的首尾控制點(diǎn)正好為曲線上的點(diǎn),折線與曲線相切。根據(jù)這一特性,通過求取估算點(diǎn)集兩端切線,兩切線相較于點(diǎn)Q,B1和BN即為控制點(diǎn)P0和P3,且P1和P2分別位于切線B1Q和BNQ上,所以如何調(diào)整P1和P2的位置得到的擬合曲線與點(diǎn)集間的誤差最小,算法流程見下。
Fig.5 Triangular dichotomy
點(diǎn)P1和P2在三角形邊上的位置參量,范圍為0~1,由二分法求取,t初始左邊界為tleft=0(P1P2對應(yīng)P0P3),初始右邊界為tright=1(P1P2對應(yīng)Q),求出兩條貝塞爾曲線C1和C2,根據(jù)兩點(diǎn)距離最小值求出每個(gè)點(diǎn)對應(yīng)在貝塞爾曲線上的位置,距離即為單點(diǎn)絕對誤差ei,并得到單點(diǎn)誤差最大值emax。原始點(diǎn)集將三角形一分為二,擬合曲線位于上半部分時(shí),實(shí)際誤差εi=-ei,擬合曲線位于下半部分時(shí),實(shí)際誤差εi=ei。
(4)
式中,εi為每點(diǎn)的實(shí)際誤差,εsum為所有擬合點(diǎn)實(shí)際誤差的和。
假設(shè)εsum最大允許誤差為εs,若abs(εsum)<εs,跳到步驟(3);不滿足則到步驟(2)。
(2)tleft對應(yīng)的誤差和εsum,C1>0,tright對應(yīng)的誤差和εsum,C2<0,由二分法求出中間位置參量tmid=(tleft+tright)/2=0.5,P1和P2位置在QP0和QP3中點(diǎn),C3即為新的曲線,求出abs(εsum,C3)>εs且εsum,C3>0,則tmid替代tleft,求取下一個(gè)tmid,直到滿足abs(εsum)<εs。
(3)如圖5b所示,C為第1次滿足條件的貝塞爾曲線。假設(shè)單點(diǎn)所允許的最大誤差為eper,若emax 經(jīng)過上述步驟,可將點(diǎn)集中所有點(diǎn)的誤差控制在eper以下,擬合成3階貝塞爾曲線,如圖2d所示,紅色控制點(diǎn)計(jì)算得到的黑色曲線與初始點(diǎn)集的最大誤差不超過0.02pixel,并且可根據(jù)實(shí)際加工誤差需求進(jìn)行換算調(diào)整當(dāng)前誤差值。 經(jīng)過上述兩個(gè)步驟,線段點(diǎn)集擬合成僅由直線和貝塞爾曲線組合成的實(shí)體,根據(jù)不同的標(biāo)刻分辨率,采用不同的步距進(jìn)行統(tǒng)一分割。除此之外,經(jīng)過曲線化后,具備了另一個(gè)性質(zhì),即曲率。如圖6a所示,在選擇下一個(gè)插入點(diǎn)Ti時(shí),計(jì)算TiTi-1中點(diǎn)P與貝塞爾曲線上兩點(diǎn)的參量t的中點(diǎn)T的距離,作為誤差值δ[18]: (5) 式中,ui為對應(yīng)點(diǎn)的貝塞爾參量值,中間值u=(ui-1+ Fig.6 Chord height error segmentation a—schematic diagram of chord height error segmentation b—segmentation diagram c—marking points at low magnification times d—marking points at high magnification times ui)/2,P通過n階貝塞爾曲線公式[19]計(jì)算: (6) 式中,bj為控制點(diǎn)。 經(jīng)過迭代計(jì)算使得最終誤差δ滿足需求,如圖6b所示,對于曲率大的位置,同一誤差會(huì)求出更小的步距,最終完成實(shí)體中所有曲線和直線的插補(bǔ)[20]。將數(shù)據(jù)以曲線方式保存,標(biāo)刻時(shí)根據(jù)放大比例大小、曲率大小以不同步距進(jìn)行適應(yīng)性插補(bǔ),圖6c和圖6d中分別是低高放大倍數(shù)下的選取的標(biāo)刻點(diǎn)。 振鏡標(biāo)刻幅面大小110mm×110mm,對應(yīng)的分辨率65535×65535,以圖2a和圖2d作為輸入,激光參量為:頻率50kHz,平均功率20W,標(biāo)刻速率500mm/s,分別在36×和72×放大倍數(shù)下在黑色相紙上進(jìn)行標(biāo)刻,1pixel對應(yīng)實(shí)際加工距離分別為0.06mm和0.12mm,故0.02pixel的擬合誤差換算成加工幅面下實(shí)際誤差分別約為1μm和2μm,其中擬合曲線的標(biāo)刻點(diǎn)在圖6中計(jì)算得出。使用工業(yè)相機(jī)下進(jìn)行觀察,如圖7a所示,在低放大倍數(shù)下,原始點(diǎn)由于分布過密,導(dǎo)致在對應(yīng)標(biāo)刻點(diǎn)出現(xiàn)了激光燒蝕現(xiàn)象,標(biāo)刻線為黃色,且刻蝕線變粗,在圖7c中,則是在高放大倍數(shù)下加工,放大后相鄰點(diǎn)間距變大,燒蝕現(xiàn)象有所減輕,但仍然存在。圖7b和圖7d中,擬合控制點(diǎn)在低、高放大倍數(shù)下,標(biāo)刻點(diǎn)都會(huì)進(jìn)行適應(yīng)性分布,沒有出現(xiàn)激光燒蝕或者鋸齒現(xiàn)象,標(biāo)刻線均勻,都具有良好的標(biāo)刻效果。 Fig.7 Image which marked by original point set and fitted control points at different resolutions 表1中分別從標(biāo)刻點(diǎn)數(shù)、加工時(shí)間、加工質(zhì)量和有無激光燒蝕等方面對4組數(shù)據(jù)及標(biāo)刻圖作出對比。擬合誤差不超過2μm,并且在不同分辨率下標(biāo)刻點(diǎn)隨之改變,保證標(biāo)刻質(zhì)量,解決了由數(shù)據(jù)點(diǎn)過密引起的激光燒蝕問題,也一定程度上減少了加工時(shí)間。 Table 1 Comparison of marking quality between original point set and fitted control points at different magnification 針對振鏡激光加工中原始數(shù)據(jù)點(diǎn)集過密造成激光燒蝕的問題,提出了一種將原始點(diǎn)集經(jīng)過稀疏化、曲線點(diǎn)集選取分段、三角二分貝塞爾曲線擬合生成曲線控制點(diǎn)集,在加工時(shí)根據(jù)放大倍數(shù)大小和曲率大小進(jìn)行適應(yīng)性分割的方法,擬合后的加工誤差不超過2μm,數(shù)據(jù)量大幅度壓縮,解決了低放大倍數(shù)下激光燒蝕問題,高放大倍數(shù)下也保證了加工質(zhì)量,并提高了加工效率。研究結(jié)果為一些高密集數(shù)據(jù)激光加工優(yōu)化提供了參考。4 貝塞爾曲線輸出
5 實(shí)驗(yàn)結(jié)果與分析
6 結(jié) 論