五軸加工的干涉是五軸數控加工中有待解決的技術難題之一。目前已有了一些有效的解決方法。例如, Y. Takeuchi[ 1~4] 等研制了基于實體模型的五軸免干涉控制軟件。它們是在刀具的徑向和軸向設置許多檢查點, 根據曲面與檢查點的干涉程度來調整刀軸矢量。這種方法雖精度高, 但由于不斷迭代計算時間特別長, 且只能在工作站上運行, 這樣就限制了軟件的適用性。張定華等[ 5] 對多軸端銑、側銑加工中的干涉現象進行分析, 提出了一種以臨界約束和刀具與曲面最近距離監視為基礎的防干涉方法。這種方法由于沒將曲面三角化, 誤差較小, 但在計算點到曲面的最近距離時, 對算法的可靠性要求較高, 且“傾角H”的精確調整也很難。
本文提出一種基于曲面模型的免干涉算法, 該算法可對五軸加工進行干涉檢查及修正,在微機上運行, 十分有效。
1 刀具尺寸與干涉的關系
分析干涉的原因可從刀具尺寸和曲面形態的關系來考慮。刀具尺寸的選擇取決于被加工表面, 一般情況下, 刀具半徑不應該大于被加工曲面的最小曲率半徑, 這樣就可以避免干涉。由于刀具半徑變小, 對材料的去除率相應降低, 增加了加工時間; 此外, 刀具越小, 折斷的可能性越大。因此, 曲面對刀具半徑的限制對加工極為不利。刀具尺寸的選取既不能太大,也不能太小。通常的做法是粗加工時選取直徑較大的圓盤銑刀, 留有一定的加工余量; 精加工時選取小尺寸的球頭刀加工到曲面的精確尺寸。
2 算法的基本思想
首先將曲面按等參數三角化, 形成平面三角網格, 以此代替被加工曲面; 然后, 以不考慮干涉所產生的刀位文件作為輸入數據進行處理, 最后生成針對被加工曲面的免干涉刀位文件。本算法是基于曲面模型, 為了使刀具具有實體特性, 特引入檢查線概念。即在刀具周向均勻分布12 條直線段, 直線段的起點位于刀具的頂端( 以圓柱平底銑刀為例) , 方向與刀軸矢量方向相同, 直線段長度等于刀桿長度, 如圖1 所示。
3 算法步驟
3. 1 基本思路
首先從輸入數據讀取一個刀位數據, 得到一個刀位點和刀軸矢量, 對于給定的刀具半徑、刀具類型和刀桿長度, 檢查線自動產生, 并存貯到數組中; 然后就檢查每條直線段是否與三角平面片相交, 如果相交, 經過相應處理, 刀軸矢量就發生改變, 產生免干涉的新刀位數據。
3. 2 具體步驟
( 1) 將加工曲面按等參數三角化, 并將三角形數據存入一個較大的數組T riang le 1。
( 2) 從輸入數據讀取刀位點和刀軸矢量, 根據刀桿長度在XOY 平面內投影形成一個圓, 這個圓就是可能的干涉區域。在數組Tr iangle 1 中進行搜索, 只要三角形中有一個頂點在XOY 平面內的投影在圓內, 就記錄這個三角形, 形成一個針對刀位點和刀軸矢量的新的三角形數組Tr iangle 2。這樣就很快地排除了根本不可能產生干涉的三角形。
( 3) 以刀位點為原點, 以刀軸矢量為Zø軸, 建立局部坐標系OøX øYøZø。
( 4) 計算12 個檢查線起點在局部坐標系中的坐標值。
(5) 計算局部坐標系到世界坐標系的平移變換矩陣M1。
( 6) 計算局部坐標系向世界坐標系轉換的變換矩陣M2。
( 7) 通過變換矩陣M1 , M2 , 計算檢查線起點在世界坐標系中的坐標值。
( 8) 根據設定的刀桿長度以及刀軸矢量, 可生成12 條世界坐標系下的檢查直線段。
( 9) 每條檢查直線段與三角形數組T riang le 2 中每個三角平面片求交, 如果有交點, 則要記錄直線段被截長度( 從起點算起) , 存入一個數組D 1, 此外還要計算相交的三角平面片法矢( 指向刀具一側) , 存入一個數組N 1。
( 10) 求出被截長度數組D1 中最大值dmax , 若ûdmax û< E, 則此時的刀位點和刀軸矢量是可接受的, 不需要改變; 否則轉步驟( 11) 。E為干涉檢查精度。
( 11) 計算新的刀軸矢量, 方法是將相交的三角平面片法矢加權平均, 其中權重是相應的直線段被截長度, 公式表示為
( 12) 根據刀位點和上式所求得的新刀軸矢量, 重做步驟( 2) , ( 3) , ( 4) , ( 5) , ( 6) , ( 7) , ( 8) , ( 9) , ( 10) 。若ûdmax û> E, 此時不重新計算刀軸矢量, 而是沿著最新的刀軸矢量方向抬刀,其抬刀高度為d max, 由此可得到新的刀位點。
3. 3 算法說明
上述算法中對刀軸矢量只進行了一次計算, 當然為了提高準確性可以進行兩次、三次等多次計算, 但事實上, 從上機實踐可以看出, 只要計算一次刀軸矢量, 絕大部分干涉即可排除, 較少量的干涉可通過抬刀消除, 這樣就大大地節省運行時間。由于刀具類型較多, 刀心位置也不同, 如圖2 所示。
在算法中, 檢查線段起始位置設定也有所不同。假設局部坐標系OøX øYøZø的原點在刀心, Zø軸與刀軸矢量相同, 則對于端銑刀( R1= 0) , 檢查線段起始位置為Zø= 0, 即與刀心處在同一高度。對于環銑刀( R> R1 ) 和球頭刀( R= R1 ) , 檢查線段起始位置為Zø = - 0. 5R 1, 即從刀心Oø向下0. 5 倍圓角半徑處。由上可以看出, 檢查線段起始位置的設定, 對端銑刀是準確值, 而對環銑刀和球頭刀則是近似值。
4 干涉處理實例
本文用上述算法對如圖3 所示曲面進行干涉處理。
原始數據: 平底端銑刀, 刀具半徑R = 2. 5mm, 圓角半徑R 1= 0, 刀桿長度L = 50mm;干涉檢查精度E= 0. 01; 曲面三角化, U 向分為100 個點, nU= 100, V 向分為100 個點, nV=100; 曲面被( nU- 1) ( nV- 1) ×2= 18062 個平面三角片所逼近。在486 微機上運行, 運行時間為30min。
部分刀位點處的干涉處理情況如表1 所示。可見刀軸矢量經過一次調整即達到精度要求。
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com