Cnc數控設備刀路轉角平滑處理方法
【技術領域】
[0001] 本發明涉及CNC數控系統解決方案。
【背景技術】
[0002] CNC數控加工設備,通常由CAM系統的后置處理器按加工精度的要求將復雜路徑 分解成一系列的微小路徑段(如直線段或圓弧段),再由數控系統中的各相關插補器對每 一個特定的微小路徑段進行插補運算。加減速是插補運算要完成的重要控制功能,在加減 速控制方式中,有插補前加減速和插補后加減速之分。為了保證加工精度,一般采用前瞻規 劃控制。
[0003] 前瞻處理功能是現代數控系統的標志性功能之一,前瞻算法設計直接關系到數控 機床的加工效率和運動平穩性。前瞻處理中的加減速控制,主要來源于兩方面:一、單段微 小路徑段(如直線段或圓弧段)上的最大速度、最大加速度、最大加加速;二、微小路徑段 之間銜接處,因路徑發生偏轉,而產生的轉角加速度、轉角加加速,偏轉角越大,允許的銜接 速度越小。所以,由CAM生成的刀路文件的好壞,直接影響到加工的質量與速度。有時由 于精度等方面的限制,CAM軟件生成的刀路并不完美,比如與真實的加工曲線擬合誤差過 大,偶爾出現大的偏轉角,導致出現急劇減速點,影響效率及加工質量。速度與精度,往往是 CNC數控系統的一對矛盾對立面,現有技術中的解決方案是直接微調刀路上的各個端點,以 此減小段與段之間的轉角。然而該方案的缺點在于:對于圓弧路徑,其端點無法被調整,要 么被保留,要么被全部打斷成微線段后再處理;對于長線段,因兩個端點被調整,導致整段 的精度都受影響。
【發明內容】
[0004] 為了克服現有技術存在的不足,本發明的目的在于提供一種能夠同時兼顧加工速 度與加工精度的CNC數控設備刀路轉角平滑處理方法。
[0005] 為達到以上目的,本發明提供了一種CNC數控設備刀路轉角平滑處理方法,包括 如下步驟: a) 在CNC數控設備的刀路運動指令中設置一平滑參數,該平滑參數用于標記刀路終點 處是否允許被平滑調整,該平滑參數的默認值為"是"; b) 設定或讀取CNC數控設備的刀路運動指令的最大偏轉角閾值0、弓高誤差e,從而 計算出最大分段長度!^=£*(1+(}〇8(0/2))/8;[11(9/2) ; c) 讀取當前刀路運動指令類型并獲得后續路徑的特征值,根據后續路徑的特征值將后 續路徑進行分段處理; d) 端點調整:如果相鄰兩段路徑的平滑參數均為"是",則對相鄰兩段路徑的銜接 點進行調整,調整時連接前段路徑的起點與后段路徑的終點,從而在銜接點處形成三角 形,確定該三角形的內心,然后連接銜接點至內心,計算該線段的長度,如果小于等于設 定的弓高誤差e,則將銜接點直接調整為該內心處,否則在該線段上,從銜接點起截取 5的距離,將銜接點平移至此處; e)線段調整:當一段路徑的起點被調整時,保存起點調整的向量%,待到得到終點需 要調整的向量1后,只需將該段路徑的姿態向量加上V 即可。
[0006] 本發明的進一步改進在于,所述的運動指令類型包括G00、G01、G02、G03,其中: G00類型為快速定位狀態,G01類型為直線切削狀態,G02類型為順時針圓弧切削狀態,G03 類型為逆時針圓弧切削狀態。
[0007] 本發明的進一步改進在于,所述的步驟c)中,如果運動指令類型為G00,則無需打 斷并標記平滑參數為"否"。
[0008] 本發明的進一步改進在于,所述的步驟c)中,如果運動指令類型為G01,計算出其 路徑長度L,如果L < 1. 51^,則無需打斷;如果1. L < 2. 51^,則取中點打斷成兩條; 否則,從兩端各截取長度為U打斷,分為三段,其中中間那段終點無需平滑調整,故標記其 平滑參數為"否"。
[0009] 本發明的進一步改進在于,所述的步驟c)中,如果運動指令類型為G02或G03,計 算出其路徑長度L,如果L < 1. 5U,則無需打斷;如果1. 5US L < 2. 51^,則取中點打斷成 兩條;否則,從兩端各截取長度為U打斷,分為三段,其中中間那段終點無需平滑調整,故標 記其平滑參數為"否"。
[0010] 本發明的進一步改進在于,打斷前含有原圓弧端點的,則將該圓弧簡化成線段即 對應的弦,并滿足:弦長< U,且弧中點與弦的距離<%
[0011] 本發明的進一步改進在于,所述的步驟d)中,銜接點處運動的偏轉角如果大于等 于最大偏轉角閾值0,則該銜接點處必須減速至0,同時無需調整位置。
[0012] 本發明的進一步改進在于,所述的步驟d)中,銜接點處運動的偏轉角如果為0,則 該銜接點處無需調整。
[0013] 本發明的進一步改進在于,所述的步驟d)中,當需要調整時,當前相鄰的兩段路徑 的運動指令類型為均為G01。
[0014] 本發明采用先將現有運動指令打斷成最多三段的方式,兩端的形成微線段,并被 允許繼續調整端點,而中間的則不允許調整。這樣,即保留了長線段及長圓弧中間部分的精 度、同時又可僅針對減速點轉角附近進行調整,從而速度和精度均可得到很好地平衡。經實 驗證明,經過該算法平滑處理后的刀路,更圓潤光滑。對于某些加工領域,如高光處理,具有 顯著效果,加工效率及加工質量均大幅提升。
【具體實施方式】
[0015] 下面對本發明的較佳實施例進行詳細闡述,以使本發明的優點和特征能更易于被 本領域技術人員理解,從而對本發明的保護范圍做出更為清楚明確的界定。
[0016] 本發明的CNC數控設備刀路轉角平滑處理方法,包括如下步驟: a) 在CNC數控設備的運動指令(G00、G01、G02、G03)的數據結構中新增一個bool變 量m_bAllowSmooth,以標記該指令終點處是否允許被平滑調整,默認值為true; b) 設定或讀取CNC數控設備的刀路運動指令的最大偏轉角閾值0、弓高誤差e,從而 計算出最大分段長度!^=£*(1+(}〇8(0/2))/8;[11(9/2) ; c) 讀取當前刀路運動指令類型并獲得后續路徑的特征值,所述的運動指令類型包括 G00、G01、G02、G03,其中:GOO類型為快速定位狀態,G01類型為直線切削狀態,G02類型為 順時針圓弧切削狀態,G03類型為逆時針圓弧切削狀態。根據后續路徑的特征值將后續路 徑進行分段處理; i. 如果為G00快速定位,則無需打斷并標記m_bAllowSmooth = false; ii. 如果為G01直線切削,計算出其線段長度L,如果L <1.51^,則無需打斷;如果 1. L < 2. 5L ^,則取中點打斷成兩條;否則,從兩端各截取長度為U打斷,分為三段,其 中中間那段終點無需平滑調整,故標記其m_bAllowSmooth = false; iii. 如果為G02或G03 (分別為順時針、逆時針的圓弧切削),類似于上述G01打斷 的方法,計算出其路徑長度L,如果L < 1. 5U,則無需打斷;如果1. 5US L < 2. 5L ^,則取中 點打斷成兩條;否則,從兩端各截取長度為U打斷,分為三段,其中中間那段終點無需平滑 調整,則中間那段保留為圓弧,且標記