朱淑梅,劉 威,朱俊俊,周 琛,孫文鑫
(蘇州科技大學 機械工程學院,蘇州 215000)
點云模型粗加工刀軌高效生成方法研究
朱淑梅,劉 威,朱俊俊,周 琛,孫文鑫
(蘇州科技大學 機械工程學院,蘇州 215000)
為了提高點云粗加工刀軌生成效率,提出一種基于柵格劃分的刀軌計算方法和基于距離法的行切刀軌連接方法,利用柵格數(shù)據(jù)量較小、組織簡便的優(yōu)點,將點云劃分到柵格、再運用分層切削法計算粗加工刀軌,避免了海量數(shù)據(jù)點運算量大的問題;為減少抬刀次數(shù)、簡化刀軌連接,提出一種直接根據(jù)刀軌之間距離關(guān)系連接相鄰刀軌的算法,避免了識別、組織切削區(qū)域或構(gòu)建中間數(shù)據(jù)結(jié)構(gòu),實現(xiàn)了刀軌的高效連接。最后對算例生成刀軌并進行加工仿真,驗證了方法的可行性。
粗加工;層切法;刀軌生成;刀軌連接
目前在汽車、航空等工業(yè)領域中,很多時候主流CAD軟件很難滿足復雜外形的設計要求,需要使用油泥、粘土等材料制成手工模型,然后運用逆向手段獲取實物模型外形上的海量數(shù)據(jù)點,即點云模型。點云應用于數(shù)控加工是逆向加工最重要的手段,粗加工可以快速地切除工件毛坯上的大部分多余材料,為精加工保留適當?shù)募庸び嗔浚罅康募庸r間消耗在粗加工過程中,因此研究出高效的點云粗加工刀軌生成算法,對提高粗加工質(zhì)量和效率具有重要的實際意義。
點云粗加工刀軌生成主要有Z-map法和多面體法。Lin[1,2]等首先提出對點云構(gòu)造Z-map模型,通過將點云投影到在XY平面上構(gòu)造的矩形網(wǎng)格,求出每個網(wǎng)格節(jié)點的z坐標,以此將散亂的點云轉(zhuǎn)換為規(guī)則的網(wǎng)格點,再計算分層切削平面與數(shù)據(jù)點的交點,獲取加工區(qū)域并生成刀位軌跡。楊建中[3]等通過構(gòu)造Z-map模型獲取切削層上的二值圖像,提出邊界追蹤算法和邊界描述樹來確定切削區(qū)域,但獲得高精度的邊界就需要提高網(wǎng)格密度。Yau[4]等引入了“面元(surfel)”的概念,將點云轉(zhuǎn)換為連續(xù)的曲面,根據(jù)刀具類型和尺寸生成類似于Z-map結(jié)構(gòu)的規(guī)則點云,進行刀軌規(guī)劃時考慮了加工誤差的影響。李學藝[5,6]等提出用多面體模型來描述測量數(shù)據(jù)點,基于二維等值平面圖的拓撲結(jié)構(gòu),求出各層的有效加工區(qū)域。張偉[7]等運用神經(jīng)網(wǎng)絡對點云構(gòu)建三角形網(wǎng)格并偏置獲得多面體模型,根據(jù)切削平面上二維等值平面圖的拓撲結(jié)構(gòu)確定各切削層的有效加工區(qū)域。韓有昂[8]等提出采用移動最小二乘法將測量數(shù)據(jù)直接生成粗、精加工刀具路徑的算法。刀軌連接方面,劉爐山[9]和劉司偉[10]利用分層平面截取點云獲得截面點集,組環(huán)判斷加工區(qū)域并進行等距規(guī)劃出刀軌。原恩桃[11]等計算出切削層上邊界輪廓獲取加工區(qū)域,構(gòu)造邊界數(shù)據(jù)結(jié)構(gòu)獲取加工區(qū)域。吳世雄[12]等利用Marching Cubes算法構(gòu)建層切網(wǎng)計算刀具路徑。盛沛頤[13]和賀顯良[14]都提出了一種基于單調(diào)鏈技術(shù)的行切刀軌生成算法,劃分出切削區(qū)域后生成刀軌并進行相連,以減少跳刀次數(shù)。李駿[15]等將復雜型腔的加工區(qū)域劃分為若干單調(diào)子區(qū)域并在其中生成刀具軌跡,減少了抬刀次數(shù),但只適用于凸輪廓。層切法規(guī)劃行切粗加工刀軌,由于其切削效率高、刀軌規(guī)劃相對簡單,應用十分廣泛,但通常需要獲取加工區(qū)域邊界并進行區(qū)域的識別、組織[1~7],刀軌連接時需要構(gòu)建層切網(wǎng)、單調(diào)鏈等中間數(shù)據(jù)結(jié)構(gòu)[9~15],算法結(jié)構(gòu)復雜,當加工區(qū)域邊界復雜、數(shù)量多時,工作量較大。
為了提高粗加工刀軌生成效率同時保證加工精度,本文提出基于柵格的刀軌計算方法和基于距離法的行切刀軌連接方法,與Z-map模型相比,柵格構(gòu)造和使用更加簡便且包含所有數(shù)據(jù)點,將點云劃分到柵格再對柵格計算刀軌可大幅減少計算量,提出一種直接根據(jù)刀軌距離關(guān)系的連接方法,實現(xiàn)將一次走刀能走過的所有刀軌相連,以此降低抬刀次數(shù),無需進行切削區(qū)域和中間數(shù)據(jù)結(jié)構(gòu)的識別、構(gòu)造,最大程度簡化中間步驟。
獲取所有數(shù)據(jù)點x、y、z坐標的最大最小值xmax、ymax、zmax、xmin、ymin、zmin,以此創(chuàng)建一個與坐標軸平行的長方體包圍盒。為了保證粗加工余量小于閾值,立方體柵格邊長mcell應不大于余量閾值,柵格在X、Y、Z方向上的個數(shù)可由式(1)求出。為柵格構(gòu)造三維數(shù)組Cell[Xnum][Ynum][Znum],式(2)可求出任意數(shù)據(jù)點p(px,py,pz)所在的柵格序號,計算出所有數(shù)據(jù)點所在的柵格,最后獲取每個柵格所包含的數(shù)據(jù)點。
點云劃分到柵格后,構(gòu)造int型二維數(shù)組M[Xnum][Ynum]保存Z方向上非空柵格的最大序列號。設切削、行距方向分別為X、Y,對于第k個切削平面z=zk上的第i行刀軌,其y坐標為yi=y1+(i-1)W,其中y1為首行刀軌y坐標,W(W≤2R)為行距,R為平底刀半徑,則此行刀軌計算流程如下:
1)獲取切削平面上非空柵格。由式(3)計算出切削平面所在的Z柵格序號Zk,新建BOOL型二維數(shù)組Nk[Xnum][Ynum]記錄切削平面上柵格是否包含數(shù)據(jù)點,由式(4)完成賦值,其中
2)獲取一行刀軌切削范圍內(nèi)的柵格集合。刀具上下切削邊界的y坐標分別為式(2)計算出對應的柵格Y序號獲取所有的柵格,按照柵格序號XY方向上連續(xù)的關(guān)系將這些柵格劃分為互不相連的K個子集Cell1,Cell2,…,CellK。
3)對每個柵格子集計算出左右刀位點。以首個子集Cell1為例,如圖1所示,獲取每一行柵格中X序號最小的柵格,對序號大于Yi的柵格獲取其下頂點,序號小于Yi的柵格獲取其上頂點,按照式(5)對每個柵格取一個頂點代入式(6)計算出左刀位點的x坐標;同理,可獲取每一行X序號最大的柵格,按照式(7)和式(8)計算出右刀位點的x坐標。可對所有子集完成左右刀位點的計算,并依次保存到刀位點鏈表CL_List中,最后分別在鏈表首尾增加邊界刀位點
圖1 對柵格子集Cell1計算刀位點示意圖
4)判斷刀位點是否干涉,獲取有效刀軌。對鏈表CL_List內(nèi)的刀位點進行有效性判斷,逐對比較和的x坐標大小,若如圖2所示,分別與柵格子集Cellj+1和Cellj發(fā)生干涉,這對刀位點無效并將其刪除。完成所有刀位點有效性判斷后,對剩余的所有刀位點依次兩兩相連,即獲得了第i行切削刀軌。
按照以上流程可計算出所有切削層上的行切刀軌。
圖2 刀位點干涉示意圖
上節(jié)生成的行切刀軌之間相互分離,為了減少抬刀次數(shù),需要對每個切削平面上的刀軌進行連接。目前許多刀軌連接方法[9~15]都要提取切削平面上的切削區(qū)域環(huán)和輪廓、構(gòu)建層切網(wǎng)或構(gòu)造單調(diào)鏈來進行刀軌連接,為了避免獲取模型的區(qū)域邊界或構(gòu)建單調(diào)鏈等中間步驟、大幅簡化算法結(jié)構(gòu),本節(jié)提出一種基于刀軌距離關(guān)系的刀軌連接方法。以第i行刀位點鏈表CL_List、坐標升序搜索為例,首先對當前刀軌通過y坐標升序搜索下一行未連接且切削區(qū)域相連的刀軌,若下一行無滿足條件的刀軌,則轉(zhuǎn)為y坐標降序的方式,最后將刀軌端點連接起來獲得一次走刀的完整刀軌。為了避免距離過大的刀軌端點連接發(fā)生過切,設置距離閾值dmax,dmax取值越大抬刀次數(shù)越少,但越容易發(fā)生過切,經(jīng)測試一般取4R≤dmax≤8R較為合適,算法詳細流程如下:
1)新建刀位點鏈表Path_List以保存一次走刀的所有刀位點。對所有刀軌,按y坐標和x坐標升序搜索刀軌,若所有刀軌都已連接,則轉(zhuǎn)到5);否則將搜索到的首個未連接刀軌記為已連接,設置當前搜索方式為y坐標升序,以左端點為初始連接端點并保存到鏈表Path_List中,轉(zhuǎn)到2)。
3)若相鄰行無刀軌或都為已連接的刀軌,轉(zhuǎn)到5);若相鄰行刀軌存在未連接的刀軌,將這些刀軌的首尾點x坐標分別記為{xSm}、{xEm},其中m≥0;若區(qū)間[xSm,xEm]與當前刀軌的x坐標區(qū)間[xi,j,xi,j+1]無交集,如圖3 (a)所示,計算點集{xSm}和{xEm}中與搜索點CLi,j+1距離最近點和最短距離dmin。若dmin<2R,說明CLi,j+1與的切削區(qū)域有重疊,將作為待連接點,轉(zhuǎn)到4);若dmin≥2R,則不進行連接,轉(zhuǎn)到5);若相鄰行刀軌的x坐標區(qū)間[xSm,xEm]與當前刀軌區(qū)間[xi,j,xi,j+1]有k(k≥1))段交集,如圖3(b)所示,若搜索點為刀軌的右端點,在中找出與搜索點x坐標xi,j+1距離最近的點和最短距離小于等于距離閾值作為待連接點,轉(zhuǎn)到4);若不是待連接點,在{xSm}中找出與搜索點x坐標xm,j+1距離最近的點和最短距離為待連接點,轉(zhuǎn)到4),否則相鄰行無可連接點,轉(zhuǎn)到5)。類似地,若搜索點為刀軌的左端點,則以先{xSm}后{xEm}的順序按照此方式進行搜索待連接點。
圖3 刀軌連接示意圖
4)待連接點就是需要連接的刀軌端點,將搜索點標記(Searching)移動到待連接點上作為連接端點,并將其添加到鏈表Path_List中,將此段刀軌作為當前刀軌,轉(zhuǎn)到2)。
5)若當前搜索方式為y坐標升序,則改為y坐標降序并搜索出所有相鄰行刀軌,轉(zhuǎn)到2);若當前搜索方式為y坐標降序,則轉(zhuǎn)到6)。
6)將鏈表Path_List中保存的刀位點依次相連,即獲得一次走刀的完整刀軌,此次刀軌連接結(jié)束。轉(zhuǎn)到1),即可開始下一次的刀軌連接直至所有刀軌都連接,算法流程如圖4所示。
圖4 流程圖
所提出的方法已在Visual C++ 6.0和Opencascade6.2.0平臺上完成了軟件的開發(fā),為了驗證其可行性,以圖5中的覆蓋件點云為例規(guī)劃粗加工刀軌。點云包含305,267個點,包圍盒尺寸為315×235×70,加工參數(shù)為:刀具直徑5、行距4、切削余量閾值1、刀軌連接閾值40,單位為mm,共分為20個切削層,每層切削深度相同。圖6給出了算法求出的第1、3、9切削層上的刀軌,對所有刀軌利用Vericut軟件進行加工仿真,效果如圖6(d)所示。
圖5 覆蓋件點云
圖6 加工刀軌生成與仿真
點云包含海量數(shù)據(jù)點,直接對數(shù)據(jù)點計算粗加工刀軌計算量大,為此本文提出將點云劃分到柵格中、對柵格采用層切法計算行切刀軌,以此減小計算量;為了避免刀軌連接時識別、構(gòu)造切削區(qū)域和中間數(shù)據(jù)結(jié)構(gòu)這一中間過程,提出直接判斷刀軌之間距離關(guān)系進行相鄰刀軌連接,最大程度簡化中間步驟、降低抬刀次數(shù)。本文提出的算法可實現(xiàn)點云粗加工刀軌高效生成,在未來的研究中,可進一步研究抬刀、下刀距離(即空行程)最小化算法,以減少非加工刀軌距離、縮短加工時間,獲得更加高效的刀軌。
[1] Lin AC, Liu HT. Automatic generation of NC cutter path from massive data points[J].Computer Aided Design,1998,30(1):77-90.
[2] Lin AC, Lin SY.Computer-aided mold engraving: from point-data smoothing, NC machining, to accuracy checking[J].Journal of Materials Processing Technology,1999,86(3):101-114.
[3] 楊建中,王啟富,黃正東,陳剛.組合曲面的粗加工刀軌算法[J].計算機輔助設計與圖形學學報,2006,18(2):295-301.
[4] Yau HT, Hsu CY. Generating NC tool paths from random scanned data using point-based models[J].The International Journal of Advanced Manufacturing Technology,2009,41(9-10):897-907.
[5] 李學藝,姜虹,王小椿,李潤方.雕塑曲面數(shù)控粗加工刀位規(guī)劃[J].西安交通大學學報,2003,37(11):1175-1178.
[6] 李學藝,王小椿,陳松,李潤方.離散數(shù)據(jù)復雜曲面的粗加工[J].計算機輔助設計與圖形學學報,2003,15(3):338-342.
[7] 張偉,盧錫龍.基于散亂數(shù)據(jù)的粗加工刀具路徑生成[J].機械設計與研究,2014,30(1):85-88.
[8] 韓有昂,張英杰.基于移動最小二乘法測量數(shù)據(jù)的數(shù)控刀軌生成[J].計算機集成制造系統(tǒng),2011,17(3):638-642.
【】【】
[9] 劉爐山.基于數(shù)字化樣件的虛擬測量及數(shù)據(jù)處理技術(shù)[D].南京:南京航空航天大學,2003.
[10] 劉司偉,張麗艷.基于散亂測量數(shù)據(jù)點的三軸數(shù)控粗加工刀位軌跡生成算法[J].機械設計與研究,2004,(3):6-10.
[11] 原恩桃,邵兵,張曉峰.細分曲面粗加工刀軌生成算法[J].機械設計與制造,2013,(4):144-146.
[12] 吳世雄,王文,陳子辰.測點數(shù)據(jù)生成刀具路徑研究[J].計算機輔助設計與圖形學學報,2005,17(8):1704-1709.
[13] 盛沛頤,陳鋼,張新訪.基于單調(diào)鏈的平面型腔行切加工軌跡生成算法[J].華中科技大學學報,2002,30(4):10-12.
[14] 賀顯良,謝明紅.基于單調(diào)鏈的行切刀具路徑生成算法[J].計算機輔助工程,2008,17(1):52-55.
[15] 李駿,樊留群,趙建華,陳閣,胡立文.基于區(qū)域劃分的刀軌生成算法的研究[J].組合機床與自動化加工技術(shù),2014,(5):123-126.
Research on efficient tool path generation method of rough machining point cloud
ZHU Shu-mei, LIU Wei, ZHU Jun-jun, ZHOU Chen, SUN Wen-xin
TP391.73
:A
1009-0134(2017)07-0032-04
2017-05-16
江蘇省高校自然科學研究面上項目(14KJB460027),蘇州科技大學科研基金(青年項目),江蘇省大學生創(chuàng)新重點項目(2017103320092),蘇州科技大學大學生創(chuàng)新項目
朱淑梅(1985 -),女,江蘇興化人,本科,研究方向為CAD/CAM和數(shù)控加工。