汪常洋,施 群,游玉霖
(上海大學 機電工程與自動化學院,上海 200072)
在五軸數控加工中,加工復雜的自由曲面型面時由于機床運動的復雜性,刀具很有可能會與機床或者夾具發生碰撞,對零件來講直接導致刀桿干涉和局部干涉的過切,對機床主軸頭及刀具來講可能與工件夾具發生全局干涉。對于大型復雜零件五軸加工的干涉碰撞檢測而言,由于工件形狀復雜和刀具運動復雜,使得每一個加工位置的計算量很大,而且在整個加工軌跡生成過程中所有加工位置尤其是重疊區域都需要進行檢測。因此,高效碰撞檢測至關重要。
就上述問題,齊曉松[1]在處理干涉檢測中使用了動態的OBB 模型檢測,當檢測到與刀具發生碰撞時,它將被劃分。這種方法雖然在一定程度上減少了內存的消耗,但是前提是針對某一檢測位置,由于每更新一次刀具位姿就會重新動態的進行工件的OBB 模型的建立,很難快速的結束檢測的。彭芳瑜[2]等人在構建OBB 模型中由于沒有考慮機床加工本身特點,沒能夠將計算量簡化,也就不能保證計算的效率,同時在處理全局干涉的判定中,不能準確的判定全局干涉和局部干涉。鄒益勝[3]提出了基于混合包圍盒的改進,為了進一步加速排除不相交的物體,在每個物體的頂層OBB 增加一個包圍球,在進行OBB 間的相交測試前,先進行包圍球間的相交測試。此方法在一定程度上加快了碰撞區域的檢測,但是球包圍盒不致密性導致了排除的效率不是很高。王偉[4]等人通過對傳統算法的改進后,跳過剛開始進行的兩個葉子節點之間的包圍盒間的重疊測試,而直接進行包圍盒與基本幾何元素的相交測試和基本幾何元素間的相交測試。郭凌云[5]提出一種空間分解與層次包圍盒相結合的碰撞檢測算法,并利用物體運動的時空相關性來加速物體之間的碰撞檢測速度。在包圍盒碰撞檢測時采用加入預判的OBB 相交測試方法,減少了包圍盒的相交測試計算。許熠[6]提出了一種改進型的基于混和層次包圍盒的碰撞檢測算法,采用了獨創性的樹型結構,并且在樹的遍歷和更新上也作出了改進Redon[7]和Jimenez P[8]等人在計算精度性方面進行了深入的研究,提出的算法較好的克服了離散碰撞檢測算法存在的一些問題,但通常運算速度相對較慢,無法達到實時系統的要求。
綜述以上文獻,在干涉檢測方面,有些文獻不惜算法和時間的復雜性進行求取無干涉區域,不適合廣泛使用。針對以上問題提出了一種先進行工件球包圍盒與刀具膠囊體包圍盒檢測方法進行快速檢測刀具與工件可能的碰撞區域,再進行相對精確的OBB 檢測。在此基礎上進行干涉類型的劃分,根據不同的干涉類型求取曲面干涉三角片與刀具的精確干涉量。本方法平衡了構建包圍盒的復雜度和包圍盒緊密性的關系,根據機床加工特點,從各種算法的優點和最適用范圍出發,將刀具等效為構造簡單而又相對緊密的膠囊體包圍盒,利用刀具膠囊體包圍盒與工件球包圍盒進行檢測,然后再進行相對復雜并且更加精確的OBB 包圍盒的準精確檢測。在整個過程中,“有數據再構建”和“有碰撞再更新”的策略進一步加快了整個碰撞過程中的檢測效率。此方法檢測結果與傳統的只有OBB模型檢測的方法進行了對比。
OBB 模型包圍盒技術是利用簡單的規則幾何體來代替復雜的不規則幾何體,先對物體的包圍盒進行粗略檢測,如果包圍盒相交,其包圍的真實幾何體才有可能相交;如果包圍盒不相交,其包圍的真實幾何體也一定不相交。刀具屬于運動部件,位姿不斷變化,故可根據對象位置更新刀軸方向的方向包圍盒表示刀具。
由于平底刀為圓柱體,可直接建立如圖1 所示的刀軸包圍盒OBB 模型。刀具OBB 包圍盒通過中心和3 個方向上的長度以及在全局坐標系下的變換矩陣T來定義。設OBB 的中心為Center,3 個相互正交的方向為V1、V2和V3,3 個方向上相應的長度為r1、r2和r3。
當刀具發生旋轉后,只要對OBB 的基底進行同樣的旋轉即可。對于刀具OBB 而言,其總變換矩陣T=T1T2,其OBB 數據結構為:element T,其中T1為平移轉換T2為旋轉轉換。在此不用轉換基底,由于刀具OBB 模型的建立是很簡單的,所以刀具OBB 模型發生位姿變換的時候可以通過重新建立數據來更新OBB 模型。

1.2.1 基于八叉樹的工件曲面表示
八叉樹包圍盒建立的過程是對三角面片數據進行定位和分割,得到八叉樹,節點采用指針方式存儲,其中包含了節點的中心點位置和三邊長。
由于干涉檢測是在八叉樹節點和刀具體OBB之間進行的。被加工曲面一般是固定在機床上的,且按坐標軸方向排列,故可以采用八叉樹方法對其進行描述。八叉樹節點可被認為是一個有固定位置和方向的OBB 模型,所以八叉樹節點也使用與OBB 相同的數據結構來描述。為了更有效的進行數據的儲存以及查找,這里用data 的或與非進行節點的標記,當節點中沒有數據時不需要建立此節點,不僅節省內存,而且在查詢數據的時候會直接跳過沒有數據的節點,提高了整體的計算時間。
1.2.2 八叉樹的遞歸生成
遞歸生成算法流程描述見圖2 所示。

1.3.1 分離軸理論應用
分離軸理論[9]:如果兩個OBB 模型在一條軸上的投影不重疊,則稱該軸為分離軸。如果兩個對象存在一條分離軸,則可以判定這兩個物體不相交。如圖3所示,需要判斷兩個任意方向的包圍盒A和B是否相交。A的半邊長為a1,a2,a3,中心位于點AO,3 個軸方向為矢量AX,AY,AZ,標記為同理:B也按照上述的方式描述。

如圖3 所示,計算方法為:給定一根方向為n的軸,穿過原點,然后將包圍盒A和B投影到該軸上,包圍盒中心點距離值為:S=T·n/|n|。
進一步,根據半邊長之和是否小于他們中點間的距離來判斷A和B的投影段是否相交。即當式(1)成立時,包圍盒在軸上的投影段是不相交:

在軸上由A的投影段的半邊長為A的3 條半邊長在各自正交邊方向上半徑向量的模數之和。

其中:

1.3.2 檢測算法的改進
由于OBB檢測較為復雜,所以在檢測時間上消耗較多。而包圍球的相交測試代價最小,但是由于包圍球的緊密性較差會包容不會碰撞的OBB模型,同樣也是消耗了測試時間。結合球包圍盒和比球包圍盒緊密而消耗檢測時間又小的膠囊體包圍盒。將刀具膠囊體表示為所有到刀軸線段的距離等于刀具半徑R的點的集合,根據工件的球包圍盒中心到刀軸線段的距離是否小于刀具半徑R來快速的判定工件包圍盒是否與刀具膠囊體包圍盒碰撞,碰撞如圖4 所示。此方法結合了刀具本身的長比例特點。

碰撞檢測過程:先對工件構造包圍球,與刀具膠囊體包圍盒進行粗檢。發現有相交的包圍球后,再對相交的包圍球內的工件構造OBB包圍盒,同時進行刀具OBB包圍盒更新。
初步檢測的方法仍不能很精確的檢查出是否真正發生了干涉。所以,有必要在上述的檢測結果上進行進一步的三角片與刀具精確檢測。
五軸平底刀數控加工復雜曲面過程中,刀具與曲面干涉類型也比較復雜。根據干涉現象在刀具上產生的位置不同,干涉可分為局部干涉和全局干涉兩類,兩種干涉形式對應著不同的干涉特征,分析如下:
2.1.1 局部干涉特征分析
局部干涉,指在加工曲面時刀底切削了曲面上不該切削的部分。

局部干涉特征:如圖5 所示,復雜曲面為已知,切觸點為CC,刀位點為CL,刀具半徑為R,刀軸矢量為i,刀具與加工曲面發生干涉的條件是:

其中,Pt為刀具底面上的所有點;P為Pt點在曲面上的刀軸方向的投影;n為P點的曲面法矢。
2.1.2 全局干涉特征分析
全局干涉,指刀桿與加工曲面或者其相鄰的約束表面之間發生的碰撞。

全局干涉特征:如圖6 所示,復雜曲面已知,切觸點為CC,刀位點為CL,刀具半徑為R,刀軸矢量為i,刀具與加工曲面發生刀桿干涉的條件是:

其中,Pt為刀具底面上的所有點;P為Pt點在加工曲面上的投影;n為P點的曲面法矢。如圖6 所示,在有些加工狀況比較惡劣的情況下會出現超干涉,其發生的條件是:(Pt-P)·n>0,|Pt-CL| <R,并且刀軸矢量i與全局干涉三角片存在交點。
經檢測找出所有產生碰撞的三角片,以及相對應的三角片邊與刀軸公垂線的垂足點,計算出三者中最大干涉距離di,然后計算所有干涉三角片最大干涉量dmax,如圖7 所示。

本文提出了一種先進行工件球包圍盒與刀具膠囊體包圍盒檢測方法進行快速檢測刀具與工件可能的碰撞區域。在此基礎上進行不同干涉類型的判別,并根據不同的干涉類型求取三角片與刀具的精確干涉量。其實施流程圖,如圖8 所示。

對比傳統和改進的方法說明后者效率有所提高。模型如圖9 所示,自由曲面STL 文件數據的三角誤差是0.02mm,平底刀刀具半徑RN=5mm,刀具長度TL=150mm。虛擬加工軟件平臺是VERICUT,刀軌以及干涉區域顯示軟件平臺是Visual Studio 2010。

圖9 刀具與工件的加工碰撞
如圖9a 所示在加工到某一位置時刀具與工件發生了碰撞,圖9b 表示的是工件八叉樹模型的可能碰撞區域。
表格1 表示檢測耗時,可以看出檢測效率提高了。

表1 檢測耗時情況
從圖10 的加工狀態可以看出,刀具與零件的碰撞區域不僅可以檢測出來,而且進行了干涉處理,保證了被加工零件表面的質量。

圖10 刀具干涉處理之后的加工狀態
本文提出的五軸數控加工碰撞干涉檢測方法,將碰撞干涉檢測劃分為粗略檢測和詳細檢測,膠囊體包圍盒對刀具的近似誤差很小,工件的球包圍盒與刀具的膠囊體包圍盒相結合能快速準確地確定可能存在碰撞干涉的刀位點,將刀具的膠囊體包圍盒檢測與刀具OBB 檢測分開,在上述檢測結果的基礎上進行檢測,有效提高了碰撞干涉檢測的效率。“碰撞再更新”的策略也對檢測效率有很大的提升。在上述的檢測基礎上根據不同的干涉類型做出判斷和處理。最后進行了干涉檢測的三維仿真實現來驗證效果,結果證明此方法不僅有效而且實用。
[1]齊曉松,胡青泥,劉晶. 基于多視角的動態八叉樹碰撞檢測算法[J]. 東華大學學報(自然科學版),2006,32(5):418-423.
[2]彭芳瑜,蘇永春,鄒孝明,等. 大型螺旋槳五軸加工中基于方向包圍盒層次樹的全局干涉碰撞檢測[J]. 中國機械工程,2007,18(3),4:41 -50.
[3]鄒益勝. 虛擬樣機環境下實時碰撞檢測算法研究[D].重慶:西南交通大學,2010.
[4]王 偉,馬 峻,劉 偉. 基于OBB 包圍盒的碰撞檢測研究與應用[J]. 計算機仿真,2009,67(11):15 -19.
[5]郭凌云,鄭延斌,劉晶晶. 基于時空相關性的快速碰撞檢測算法[J]. 計算機應用與軟件,2013(12):62 -64.
[6]許熠. 基于混合包圍盒的碰撞檢測算法的優化研究[D]. 南京:南京理工大學,2013.
[7]Redon S,Kheddar A,Coquillarl S. Fast continuous collision detection between rigid bodies[C]. Computer Graphics Forum,2002. 21(3):279 -287.
[8]Jimenez P,Thomas F. Torras C. Collision detection:survey[J].Computers and Graphics,2001,25(2):269 -285.
[9]朱聃. 五軸數控加工全局干涉檢測技術研究與系統開發[D].南京:南京航空航天大學,2007.