陳平斌,林述溫,陳坤火
(福州大學(xué) 機(jī)械工程及自動(dòng)化學(xué)院,福建 福州 350116)
開放式數(shù)控系統(tǒng),其結(jié)構(gòu)開放、模塊具有互換性,功能可擴(kuò)展,已成為數(shù)控技術(shù)發(fā)展的趨勢(shì)[1]。數(shù)控系統(tǒng)的加工仿真功能可有效檢驗(yàn)NC代碼的正確性、檢驗(yàn)加工程序是否存在過切或欠切,優(yōu)化切削參數(shù)[2-3]等。大多數(shù)控系統(tǒng)仿真功能需要借助CAM軟件實(shí)現(xiàn),如UG、CATIA等。隨著計(jì)算機(jī)建模技術(shù)的發(fā)展,許多學(xué)者對(duì)數(shù)控仿真系統(tǒng)進(jìn)行了研究,如文獻(xiàn)[4] 運(yùn)用實(shí)體幾何法建模思想研究了數(shù)控車床運(yùn)動(dòng)仿真及切削仿真;文獻(xiàn)[5] 采用Z-MAP方法對(duì)數(shù)控銑削加工仿真進(jìn)行了研究;文獻(xiàn)[6]基于離散建模對(duì)三軸數(shù)控銑削加工仿真算法進(jìn)行研究。但上述研究大都是建立在Window平臺(tái)上,而且系統(tǒng)能夠支持仿真的對(duì)象有限。智能制造環(huán)境下對(duì)數(shù)控系統(tǒng)提出了開放性、集成CAM軟件,方便編程模擬的需求[6]。為此,本文針對(duì)基于Linux平臺(tái),采用PC+可編程I/O卡體系的開放式數(shù)控系統(tǒng)[7],研究了加工軌跡仿真功能單元的通用模型,并基于該模型,研發(fā)了數(shù)控銑削機(jī)床的加工仿真功能。
數(shù)控系統(tǒng)是一個(gè)多任務(wù)、高實(shí)時(shí)的控制系統(tǒng),基于IEC61499[8]功能塊模型建立軌跡仿真功能單元的標(biāo)準(zhǔn)模型,可以在滿足上述需求的同時(shí)降低開發(fā)周期。IEC61499基本功能塊模型(BFB)如圖1所示。根據(jù)該模型,建立加工軌跡仿真功能單元的通用模型,如圖2所示。功能單元的執(zhí)行由事件觸發(fā)驅(qū)動(dòng),如開始仿真事件、觸發(fā)事件可以多樣,但是接口必須符合BFB模型標(biāo)準(zhǔn)。軌跡仿真控制執(zhí)行表依據(jù)觸發(fā)事件切換狀態(tài),并調(diào)用此狀態(tài)下的控制算法進(jìn)行處理,如若觸發(fā)事件為開始仿真,ECC的狀態(tài)由FREE轉(zhuǎn)為START狀態(tài),開始處理刀位、毛坯等數(shù)據(jù),并依次調(diào)用相應(yīng)算法進(jìn)行加工仿真計(jì)算。處理完畢后自動(dòng)更新內(nèi)部數(shù)據(jù),將得到的數(shù)據(jù)由數(shù)據(jù)輸出接口輸出。當(dāng)ECC的狀態(tài)為FINISH狀態(tài),軌跡仿真功能單元執(zhí)行完畢。
圖1 IEC61499基本功能塊模型
圖2 基于BFB的軌跡仿真功能單元通用模型
在仿真計(jì)算中,采用離散矢量建模法進(jìn)行加工仿真的實(shí)質(zhì)[9]是刀具掃描體與毛坯體求交運(yùn)算和毛坯體數(shù)據(jù)的更新顯示。因此,采用何種方式、何種精度離散出用于求交計(jì)算的數(shù)學(xué)模型是該方法的關(guān)鍵所在。
均勻網(wǎng)格離散建模,是以一定的網(wǎng)格間距(離散精度)將零件包圍在xoy平面的投影面均勻劃分為有限個(gè)網(wǎng)格。每個(gè)網(wǎng)格點(diǎn)法矢方向與零件外表面的交點(diǎn)稱為Z-MAP點(diǎn)。均勻網(wǎng)格的離散方式簡(jiǎn)單但是其仿真速度和離散精度存在矛盾,要想得到較好的仿真效果,只有不斷地提升劃分精度,但是會(huì)帶來大量數(shù)據(jù),嚴(yán)重影響仿真速度。
針對(duì)上述問題,進(jìn)行了改進(jìn)和優(yōu)化,如圖3所示。首先以一般的精度對(duì)零件曲面進(jìn)行均勻離散劃分,在零件外表面曲率值較大處進(jìn)行局部增加劃分精度,從而提升仿真效果,又兼顧了仿真速度。本文將這種局部?jī)?yōu)化的方法稱為改進(jìn)離散矢量建模方法,建立的數(shù)學(xué)模型稱為非均勻離散方式模型。
圖3 非均勻離散方式模型
毛坯體建模采用改進(jìn)離散矢量建模法,以方形塊料為例進(jìn)行闡述毛坯模型建立的流程如下。
首先定義毛坯和仿真精度,包括毛坯尺寸、加工余量、仿真精度和速度控制。仿真精度和速度用Epsilon參數(shù)和Step參數(shù)控制。Epsilon表示相鄰均勻離散網(wǎng)格之間的間距,Step用于改變單步的網(wǎng)格數(shù),來調(diào)節(jié)粗加工和精加工時(shí)對(duì)網(wǎng)格間距的不同要求。在算法中,兩者之積控制了仿真精度和速度。然后進(jìn)行均勻離散網(wǎng)格劃分,在毛坯建模中,將Z-MAP點(diǎn)的初始高度值賦值為毛坯高度,均勻離散網(wǎng)格之間的間距根據(jù)刀具類型和切削深度進(jìn)行確定。球型刀和環(huán)形刀可按式(1)確定。
(1)
式中:et為切削深度;R為刀具半徑。
對(duì)于平底刀
Epsilonmax=2et
(2)
在網(wǎng)格實(shí)際劃分時(shí)由于切削深度無法精確估計(jì),大多數(shù)情況下et遠(yuǎn)遠(yuǎn)小于R。為了簡(jiǎn)化起見,在仿真精度控制中將Epsilon取值范圍定為0.1~1.0mm,并通過Step參數(shù)來調(diào)節(jié)粗加工和精加工時(shí)對(duì)網(wǎng)格間距的不同要求。實(shí)際采用的網(wǎng)格劃分間距L為兩者之積。
L=Epsilon×Step
(3)
在均勻離散網(wǎng)格劃分完成后,對(duì)零件表面曲率較大之處添加非均勻離散網(wǎng)格點(diǎn)。非均勻離散網(wǎng)格劃分流程如圖4所示。先將加工零件曲面離散為四邊面片拼接表示,然后進(jìn)行曲率估算。顯然曲率較大之處四邊面片不同方向兩弧長(zhǎng)之積將越大。據(jù)此通過遍歷所有四邊面片,計(jì)算其兩弧長(zhǎng)之積Si并和曲率較小處四邊面片S0相比較來確定是否需要添加非均勻離散網(wǎng)格點(diǎn)。在算法中,令S0=L×L,并設(shè)定當(dāng)Si>1.5S0時(shí),以等間距在均勻離散網(wǎng)格基礎(chǔ)上添加非均勻離散網(wǎng)格點(diǎn)。
圖4 毛坯體局部非均勻離散網(wǎng)格劃分流程
刀具在本仿真建模中可視作剛體處理,其模型建立后就保持不變。因此,關(guān)鍵是刀具掃描體與毛坯模型求交計(jì)算后模型的更新顯示。所謂刀具掃描體是指刀具在刀位點(diǎn)之間移動(dòng)形成的包絡(luò)體,不同刀具類型會(huì)形成不同的包絡(luò)體,因此涉及的求交計(jì)算也不同。
毛坯體數(shù)據(jù)的更新依賴于離散點(diǎn)法線方向與刀具掃描體的求交計(jì)算,為了簡(jiǎn)化計(jì)算和加快仿真速度,本文在每一個(gè)刀位點(diǎn),先得到切削加工影響的局部區(qū)域(刀具在xoy平面投影的外切最小正四邊形),在此區(qū)域進(jìn)行求交計(jì)算,達(dá)到毛坯數(shù)據(jù)的局部更新。
1) 離散點(diǎn)法矢與球形刀掃描體交點(diǎn)位置計(jì)算
球形刀的求交計(jì)算如圖5所示,設(shè)刀具(半徑為R)從一個(gè)刀位點(diǎn)(xs,ys,zs)移動(dòng)到另一刀位點(diǎn)(xe,ye,ze),兩點(diǎn)的連線d稱為刀具運(yùn)動(dòng)的中心線,其在xoy平面的投影線記作dxy,刀心在xoy平面的投影點(diǎn)記作點(diǎn)s和點(diǎn)e。p(xp,yp)為xoy平面局部區(qū)域的一離散點(diǎn),其法矢方向直線與球形刀具掃描體的交點(diǎn)為p′(xp,yp,zp),此時(shí)對(duì)應(yīng)的刀心坐標(biāo)為(xc,yc,zc),則:
(4)
(5)
式中:Δx=xe-xs;Δy=ye-ys;Δz=ze-zs。
圖5 球形刀與毛坯交點(diǎn)的幾何關(guān)系示意圖
連接點(diǎn)s和點(diǎn)p得到有向線段記作向量a,連接點(diǎn)s和點(diǎn)e得到有向線段(長(zhǎng)度為dxy)記作向量b。記向量a在dxy的投影長(zhǎng)度為L(zhǎng)x,在dxy垂線上的投影長(zhǎng)度為L(zhǎng)y,由向量投影原理和幾何關(guān)系可得:
(6)
(7)
(8)
設(shè)過當(dāng)前位置刀心點(diǎn)c(xc,yc,zc)在加工影響的局部區(qū)域取離散網(wǎng)格點(diǎn)p(xp,yp),作垂直于dxy線段的平面與球形刀相交得到一半圓弧,該半圓弧即為當(dāng)前刀具的切削刃。由包絡(luò)線的特性,半圓弧上的點(diǎn)與刀具中心線的距離為L(zhǎng)y,則交點(diǎn)p′(xp,yp,zp)與當(dāng)前位置刀心點(diǎn)(xc,yc,zc)在z軸方向的距離zd為
(9)
由此可得離散網(wǎng)格點(diǎn)與球形刀具掃描體交點(diǎn)處的高度值z(mì)p:
(10)
2) 離散點(diǎn)法矢與環(huán)形刀掃描體交點(diǎn)位置計(jì)算
環(huán)形刀的切削刃為圓環(huán)面下部外側(cè)面。設(shè)刀具半徑為R,切削刃半徑為r,對(duì)于平底刀可以看做是環(huán)形刀的特例(切削刃半徑r為0)。環(huán)形刀在兩刀位運(yùn)動(dòng)之間的某一位置如圖6所示。p′(xp,yp,zp)為加工影響的局部區(qū)域一離散網(wǎng)格點(diǎn)p與環(huán)形刀具掃描體的交點(diǎn),其與當(dāng)前位置刀心點(diǎn)Oc(xc,yc,zc)在z軸方向的距離為zd。以dxy方向?yàn)閤軸,z軸方向不變,建立一個(gè)新的坐標(biāo)系。α1是p′o′連線與z軸方向的夾角,α2是xoy平面pc與x軸方向的夾角。
圖6 環(huán)形刀求交計(jì)算
由包絡(luò)體特性可知,點(diǎn)p′的法線(p′o′)方向與刀具速度方向正交,設(shè)刀具速度方向T,p′的法線方向?yàn)镹,則有:
T·N=0
T可取為刀具中心點(diǎn)移動(dòng)方向,N取為單位法線方向則:
由幾何關(guān)系可知:
將式(12)、式(13)代入式(11)可得
(14)
在算法中采用迭代法求解zd,根據(jù)式(8)求得zc,則離散網(wǎng)格點(diǎn)與環(huán)型刀具掃描體交點(diǎn)處的高度值z(mì)p:
zp=zc-zd
(15)
毛坯體數(shù)據(jù)的更新算法流程如圖7,其基本原理是通過比較求交計(jì)算所得zp值,當(dāng)新zp小于原zp值時(shí)更新離散點(diǎn)的z值,否則保留原值不變。當(dāng)遍歷完當(dāng)前刀位點(diǎn)局部區(qū)域的所有離散網(wǎng)格點(diǎn)后,調(diào)用Open GL庫(kù)glBegin(GL_QUAD_STRIP) 函數(shù)繪制四邊面片拼接形成切削后的毛坯外形。
圖7 毛坯體數(shù)據(jù)更新算法流程
所研發(fā)數(shù)控銑削加工軌跡仿真功能單元的運(yùn)行流程如圖8,在外部輸入事件的驅(qū)動(dòng)下,通過執(zhí)行控制表切換狀態(tài)進(jìn)入下一個(gè)流程,并調(diào)用相應(yīng)算法實(shí)現(xiàn)從毛坯定義、模型離散、求交計(jì)算、數(shù)據(jù)更新繪制等過程。
圖8 數(shù)控銑削加工軌跡仿真功能單元運(yùn)行流程
圖9所示為數(shù)控銑削加工仿真功能單元的默認(rèn)顯示界面。通過打開軌跡文件按鈕。調(diào)用數(shù)控系統(tǒng)粗插補(bǔ)計(jì)算后的刀位文件。刀位文件獲取采用前瞻速度、加速度預(yù)處理插補(bǔ)算法,詳見文獻(xiàn)[10] 。仿真時(shí)毛坯選為塊料,加工精度控制參數(shù)設(shè)為Epsilon×Step=0.5×5。采用平底刀和球型刀加工仿真時(shí)的效果如圖10所示。此外,仿真功能單元能對(duì)過切、欠切進(jìn)行檢查并輸出錯(cuò)誤的程序段號(hào)。如圖11所示,當(dāng)發(fā)生過切時(shí)將進(jìn)行提示,并在毛坯模型上通過與正常加工時(shí)差異化的顏色(圖中為灰色)體現(xiàn)。實(shí)際加工試件經(jīng)測(cè)量數(shù)據(jù)對(duì)比發(fā)現(xiàn),仿真結(jié)果和實(shí)際加工結(jié)果基本一致,所研發(fā)數(shù)控銑削加工仿真功能單元適應(yīng)本開放式數(shù)控系統(tǒng)。
圖9 銑床軌跡仿真功能單元默認(rèn)顯示界面
圖10仿真加工結(jié)果
圖11 過切檢查
本文針對(duì)PC+可編程I/O(接口)體系結(jié)構(gòu)的開放式數(shù)控系統(tǒng),為滿足不同控制對(duì)象的仿真需求,基于IEC61499基本功能塊模型設(shè)計(jì)了適應(yīng)本開放式數(shù)控系統(tǒng)的軌跡仿真功能的通用模型。仿真建模時(shí),為改善毛坯數(shù)學(xué)模型離散化精度和仿真速度之間存在的矛盾,在均勻網(wǎng)格離散基礎(chǔ)上加以改進(jìn),并以數(shù)控銑床為例,基于通用模型和改進(jìn)離散矢量建模法設(shè)計(jì)開發(fā)了三維動(dòng)態(tài)加工仿真功能單元,實(shí)現(xiàn)了試切模擬和軌跡錯(cuò)誤檢查。毛坯建模時(shí),離散化精度和仿真速度之間存在矛盾,本文采用改進(jìn)離散矢量建模法,使之得到一定改善,但仍有待進(jìn)一步探索新方法,以提高仿真精度和兼顧速度。