數控仿真關鍵技術的研究與實現
1 引言
隨著機械零件制造復雜程度的提高,對數控代碼正確性驗證的需求越來越迫切,數控仿真系統利用計算機圖形顯示技術模擬實際加工過程,是驗證數控加工程序正確性的有力工具之一[1>。國外已有比較成熟的數控加工仿真系統,如美國的CGTech公司的Vericut系統等[2>;國內眾多研究機構也在該方面做了大量的研究工作,推出了比較成熟的數控仿真系統 ,但相比國外同類產品而言,在仿真過程動畫的效果方面仍然存在一定的差距。因此作者在研究過程中,借鑒部分已有成果 [3>[4>,對傳統的Z-MAP方法進行改進,設計并實現了一種基于OpenGL的模板緩存機制、繪制范圍二次確定的局部繪制算法的三軸數控銑削加工仿真系統。
2 改進的Z-MAP方法
假設刀具平行于z軸,三軸數控銑削加工過程存在兩個明顯的特點[5>:1)只有工件的上表面才是加工表面;2)以工件底平面上任意一點為起點且平行于z軸的一條射線與工件的上表面有且僅有一個交點。
正是在這樣的條件下,將Z-MAP方法應用于三軸數控銑削仿真系統的工件模型的幾何表示才成為可能。
2.1 傳統的Z-MAP方法
Hsu和Yang[6>提出的Z-MAP方法是一種特殊的基于離散模型的表示方法。該方法的基本思想是將原始的工件模型假定為長方體,將該長方體在XOY平面的投影得到的長方形按照一定精度離散為m×n個均勻分布的正方形網格,從而可以將整個工件模型離散為m×n個以各個正方形為底面的小長方體集合。
在引入Z-MAP方法建立工件的幾何表示后,刀具對工件實際切削過程的幾何表示就被近似表示為離散小長方體高度連續更新(降低)的過程,因此該方法被形象地稱為“割草法”。
2.2 改進后的Z-MAP方法
作者在研究過程中采用了Z-MAP方法建立工件的幾何表示,發現該方法仍然存在著不足。基于Z-MAP方法建立的工件模型僅僅是一系列不同高度的小長方體單元的集合,這樣處理的后果是嚴重破壞了工件模型上表面的幾何連續性,特別是當離散精度較低時,難以表達切削過程中工件上表面的局部曲面特征。因此作者在傳統的Z-MAP方法的基礎上進行了改進,設計了改進的Z-MAP方法,算法思想如下:
1)在按照一定的離散精度將工件模型的底平面離散為一系列的正方形網格后,以各網格點為起點、工件模型頂面為終點可以得到一系列的z向線段;
2)將所有的z向線段與工件模型上表面的交點按照一定的規則以三角形的形式連接構成的三角形網格面即可被視為工件模型的近似表示。
3 局部繪制技術
數控仿真過程中工件模型形狀特征的改變僅在當前切削段的局部區域中,其他場景保持不變,如果僅對當前切削段局部區域進行局部繪制將會極大地減少參與消隱、光照和圖形生成的數據量,并最終提高圖形的刷新速率,獲得每秒至少24幀的動畫顯示效果。
作者在數控仿真的研究過程中,設計并實現了復雜場景下基于Z-MAP方法的工件模型的局部繪制方法,其基本流程如下:
1)在設備坐標系下確定切削段刀具運動包絡體在屏幕上的顯示區域 Q;
2)世界坐標系下在切削最低平面上初選工件模型的矩形區域F,F是圖形顯示結果和Q發生重疊關系的最小區域;
3)在切削最低平面上精確排除上述矩形區域F中不與Q發生重疊關系的部分區域,并最終精確確定局部區域R;
4)使用模板緩存技術在屏幕顯示區域Q中顯示由精選得到的局部繪制區域R。
3.1 切削段刀具運動包絡體的確定
世界坐標系中工件模型三角網格面局部繪制范圍的確定過程,從本質上講,是在工件模型空間中尋求可能會被某切削段的刀具運動包絡體所遮擋的最大三角網格范圍;而設備坐標系中圖形局部繪制區域的確定也是尋求某切削段的刀具運動包絡體的最大圖形顯示范圍。精確意義上的刀具運動包絡體的確定需要考慮刀具類型的影響,特別是球頭刀包絡體的組成比較復雜。但在實際確定該模型時,基于以下兩個原因,可對模型的建立進行了適當的簡化處理:1)由于世界坐標系和設備坐標系中所確定的都是最大局部區域或范圍,因此將任何類型的刀具都簡化為長方體模型;2)在實際切削過程中,工件外形的變化僅局限在某一切削段局部范圍內,而且工件上表面是工件外形在高度方向上變化的最大范圍。
根據上述分析,對切削段刀具運動包絡體的確定本質上就是對刀具運動包絡體頂點位置的確定。如圖3-1所示,根據這八個頂點的坐標依次確定刀具運動包絡體的六個表面就確定了該刀具運動包絡體,而刀具運動包絡體的確定是局部繪制算法的基礎。
圖3-1 切削段刀具運動包絡體
3.2 世界坐標系中局部繪制區域的確定
世界坐標系中工件模型上表面三角網格面局部繪制區域確定的目的是查找出所有可能被刀具運動包絡體所遮擋的最大范圍。為了體現“最大范圍”的原則,作者在算法設計中引入了“切削最低平面”的概念, “切削最低平面”的定義如下:
其中ZMIN是指所有切削過程全部結束后工件模型上表面三角網格面頂點中z坐標的最小值,而且工件模型空間中存在這樣一個明確的規律:對于在“切削最低平面”上沒有被刀具運動包絡體所遮擋的三角網格面部分而言,雖然實際情況下該區域的三角網格面往往高于“切削最低平面”,但在這種情況下這些區域也絕對不可能被刀具運動包絡體所遮擋,因此這部分區域在局部繪制時可以不予計算和顯示。如圖3-2中的由四條白色直線所確定的平面為“切削最低平面”,黑色長方體為刀具運動包絡體。
為了確定局部繪制區域,最簡單的方法是依次判斷平行于X(或Y)方向的各條網格線的假想顯示圖形是否和刀具運動包絡體的假想顯示圖形相交,如果相交則精確確定每條網格線上和刀具運動包絡體顯示圖形的相貫區間,所有相貫區間的集合即為局部繪制區域。但是這種方法存在的問題是計算量大、計算效率低。為此作者采用了初選和精選兩個階段來提高計算效率。初選的目的是確定工件上表面和刀具運動包絡體發生遮擋關系的最小矩形區域,圖3-2中所示的四條白色粗線所包圍的矩形區域即為初選結果;精選的目的是在初選所得矩形區域內排除絕對不發生遮擋關系的范圍,而其余部分即為由于可能發生遮擋關系而需要重新繪制的區域,圖3-2中所示的在刀具運動包絡體中的白色區域部分即為精選結果。
3.3 屏幕圖形局部繪制區域的確定
根據得到的刀具運動包絡體,可以確定在屏幕中所改變的區域僅在該刀具運動包絡體范圍內,而在刀具運動包絡體以外的區域將不發生改變,因此作者在研究和實現的過程中使用了OpenGL所提供的模板緩存機制來限制屏幕的繪制范圍。
OpenGL所提供的模板緩存將繪制限制在屏幕的某些部分進行。模板緩存可以保持屏幕上某些部分的圖形不變化,而其他部分仍然可以進行正常的圖形顯示[7>。在三軸數控銑削加工仿真中,局部繪制的區域只可能在當前切削段刀具運動包絡體中,因此將由當前切削段刀具運動包絡體在屏幕上的顯示區域設置為模板。
3.4 局部繪制的完整流程
步驟1:清空模板緩存;
步驟2:啟用深度緩存和模板緩存畫刀具運動包絡體,并且設置顏色緩存中的信息為不能修改,不顯示所畫的刀具運動包絡體,但相應的模板緩存中的信息設置為1;
步驟3:開啟深度緩存,繪制一個遠平面;
步驟4:設置顏色緩存為可以寫入,繪制工件模型改變部分。
在數控加工圖形仿真過程中,要使局部重繪區域的圖形有正確的消隱效果,就要將工件模型在屏幕所確定區域的深度信息設置為最大值。OpenGL沒有提供修改局部區域深度信息的功能,因此作者使用繪制遠平面的方法修改由工件模型所確定的包絡體的深度信息。由于該遠平面只是用于修改深度信息的一個媒介,因此不需要顯示在屏幕上。
4 結論
作者根據工件模型的幾何表示和局部繪制技術實現了三軸數控銑削仿真系統,現以半徑為4的球頭刀銑削一個半圓柱形的零件為例在三軸數控銑削加工仿真系統進行了實驗。當工件模型的離散精度為0.8時,工件模型上表面三角網格頂點個數為187×300個,使用全局繪制方法刷新速率為每秒(28.723±1)幀,而使用局部繪制方法刷新速率為每秒(67.703±1)幀,效果圖如圖4-1所示。當工件模型的離散精度為0.5時,工件模型上表面三角網格頂點個數為300×480個,使用局部繪制方法刷新速率為每秒(10.264±1)幀,使用局部繪制方法刷新速率為每秒(64.170±1)幀,效果圖如圖4-2所示。
圖4-1 離散精度為0.8時仿真效果圖
圖4-2 離散精度為0.5時仿真效果圖
本文作者創新點:對傳統的Z-MAP方法改進的基礎上,設計并實現了一種基于OpenGL的模板緩存機制、繪制范圍二次確定的局部繪制算法的三軸數控銑削加工仿真系統。本系統使用的數控代碼來源于鄭州輕工業學院機電工程學院數控加工中心FANUC數控機床,Pentium® 4 CPU 1.49GHZ,512MB內存的測試環境,直接讀取NC文件,得到以上測試數據,該系統的應用每年將節約開發經費約50萬元。
文章版權歸西部工控xbgk所有,未經許可不得轉載。