王鈞,李瑋,王周梅,劉斌,郭志偉,魏新宇
(西南林業大學機械與交通學院,云南昆明 650224)
在數控編程中,四五軸編程是解決復雜零件加工的有效手段,甚至是葉輪等零件加工的必備手段。但是多特征體零件在四軸和五軸編程中因為其復雜的特征關系和復雜的矢量控制,一直是編程工程師的難題。許多CAM軟件沒有針對多軸加工提供足夠完善的解決方案,大多都需要使用者憑經驗進行變通處理,特別是復雜體零件。其主要原因就是四五軸的刀軸矢量不像三軸是固定不旋轉的,特別是五軸有兩個旋轉軸。控制好這兩個軸的合理擺動,并且做到加工中不干涉、不碰撞就顯得尤為重要。特別是在具有上千個特征和奇特曲面的復雜體中,既要完成復雜的刀路設計,還要保證其安全、可靠、不過切,一旦出現失誤,其加工就會出現嚴重的過切或者失誤,嚴重的會造成刀具斷裂、工件破壞和機床損壞。所以如何解決這一問題一直是編程工程師要面對的痛點和難題。基于以上問題,針對復雜零件加工,本文作者提出了一種新型的編程思路,將多軸刀路在空間維度上降低為2D生成刀路后又轉回3D,實現良好的四五軸編程方式,具體實施過程如圖1所示。并且使用MATLAB構建神經網絡來解釋難以用公式表達和描述的空間曲線變化規律,以滿足深入學習和開發的實際需求。
四五軸編程為了更好地控制刀軸的變化,大多通過點、線、輔助曲線、曲面和外形輪廓的方式進行刀路驅動,以完成加工的刀軌設計,也可以理解為四五軸的刀路情況取決于做出來的輔助面(線)的質量。但是對于一些體量較大、構造面復雜需要制作很多輔助面(線)驅動的零件則顯得較為麻煩,并且多次的選用操作非常容易出錯。為了達到將復雜的刀路簡單化處理的目的,采用了如圖1所示的編程思路和方法,具體流程為:(1)使用投影法可以先將復雜零件的特征從模型上抽取下來,在二維平面展開,并根據展開曲線編制刀路路徑;(2)展開后將編制出的刀路路徑程序通過后處理轉換成樣條曲線,根據其空間坐標關系再纏繞到復雜零件上;(3)根據纏繞回去的曲線,編制該多軸程序;(4)將程序傳輸至系統,即可上機進行試切加工。

圖1 編程思路流程
為了進一步說明降維法編程之間各曲線和刀路路徑設置更深層次的關系和轉化機制,將對其曲線進行多方面研究。但是其整個曲線的點位多達30萬點,每個點又有3個坐標值,數據量太大,很難進行數據分析與處理。為了更好地進行數據分析,故將其曲線提取出具有代表性的外層輪廓進行分析和研究。
圖2所示為各編程曲線之間的關系,纏繞曲線為一個空間中的立體3D曲線,它的3D空間刀軸矢量如圖2所示,其矢量并不固定,而且根據其法向的變化而變化,很難控制。在空間中垂直于該纏繞曲線的矢量做任意旋轉都能是該直線的刀軸矢量,所以就造成了在編程過程中多軸刀路的刀軸矢量不容易控制的狀況。任意方向的矢量都會造成刀軸錯亂,甚至導致進、退刀撞刀的事故。為了避免上述情況的發生,使用基準坐標系中的、、先將其展開為由多個點構成的樣條曲線,如圖2中綠色路徑所示,其刀軸矢量在圖2所示的2D空間中都是垂直于展開平面的,編程就相對方便,編程時就不會再出現刀軸不確定、難固定等情況。完成編程后,因為該曲線與模型保持著相互聯系的特點,所以就可以根據其模型的自有特征和空間坐標關系再纏繞回去。該操作可以保證每一個曲線的刀軸矢量都垂直于加工面的切線方向,不會出現錯亂,從而精確控制刀軸和投影矢量。但是由于2D平面的刀路曲線是不可以直接纏繞的,所以必須借助一個刀路路徑轉樣條曲線(.dat)的后處理工具,通過該后處理工具將刀路路徑轉換成樣條曲線,再將該樣條曲線根據其空間坐標關系纏繞回復雜零件上。最后通過纏繞的曲線編制成四五軸程序,利用該加工程序實現復雜四五軸零件的加工。

圖2 編程曲線關系
除了上述的轉換關系,要完成降維編程,其關鍵的輔助工具就是上文中說到的刀路路徑轉樣條曲線的后處理工具。該后處理的作用是將刀路文件轉換為樣條曲線,方便降維纏繞。進入后處理編輯器中,如圖3所示,在UGPOST中首先創建一個通用后處理,設置完成后只保留M0M_set_seq_off(關閉所有行號),將所有代碼里面的G代碼和M代碼刪除,并強制輸出、、三個坐標值,讓每個類型的坐標中間用空格隔開,不允許出現“;、,。”等特殊符號,程序結束時加入M0M_set_seq_off,要求linea output,保存輸出格式為.dat(樣條曲線的格式)。完成上述設置后就可以得到以下3個文件:(1)pui(用戶界面文件);(2)tcl(控制機床運動事件處理文件);(3)def(格式的定義文件)。這3個后處理程序是完成以上四五軸復雜零件編程中降維編程的關鍵工具。

圖3 后處理制作
在上述的表達中已經闡述了如何運用升維和降維的思路解決四五軸編程中復雜零件的編程問題。但是具體應用中該處理方法還是比較繁瑣的,如何將復雜零件加工中降維編程中所包含的數學關系及運用機制通過制作二次開發軟件甚至是專用的定制命令的方式呈現出來,更好地幫助廣大編程工程師解決實際問題,就是本文作者要解決并達到的重要目的。
但是由于3D空間曲線在投影過程中有較為復雜空間的轉換,一個坐標點單一的變量要由多個變量通過某種規律轉換,但該規律很難用數學公式表達。BP神經網絡模型是一種具有代表性的神經元結構化模型,是典型的多層神經網絡。為了更好地解決該問題,采用MATLAB的神經網絡構建其輸入、輸出及其隱含內容。通過算法的不斷學習,選取特征參數,離散化學習來擬合出其中的關系。
抽取出如圖2中展開曲線的坐標,具體數值如表1所示。為了使最后得到的擬合數據更接近實際值,在展開曲線和纏繞曲線中各取1 000個坐標點,作為實驗數據,進行BP神經網絡的模擬學習。圖4所示為BP神經網絡的算法關系,通過使用已知的兩組坐標點進行神經網絡結構構建,對展開曲線以及纏繞曲線的坐標點進行分析,構建輸入輸出層和隱含層。通過查詢相關研究成果,表明僅含有一個隱含層的BP神經網絡可以任意精度逼近任意的非線性系統。因此,在該模型設計中選擇15層神經網絡對相關數據進行預估,添加15個隱含層,通過前向信號傳播和誤差反向傳播的數據來動態調整每層的權重,權重調整的過程就是BP神經網絡的學習和訓練過程。通過BP神經網絡的不斷模擬訓練,就可以達到輸入任意的一組、、(展開坐標)值就可以輸出另外一組與之對應的、、(纏繞坐標)數值,從而達到簡單的升維和降維操作,而不再需要復雜的關系轉換。

表1 展開纏繞曲線點位坐標

圖4 算法關系圖
構建完其輸入、輸出關系后,需要知道其中的原理及其過程。如式(1)所示,輸入值等于權重值(輸入到隱含層的權重)和輸入的具體數值的乘積,但是由于輸入值不是只有一個,單個表達式中為15。

(1)
如式(2)所示,隱含層的輸出等于公式(1)中的隱含層輸入值的激活函數,故可表達為()。其中表示激活函數,其作用是將包含的數值作非線性映射處理,net表示該數據為隱含層。
=()
(2)
如式(3)所示,已知以上兩個值后,就可以求出預測值等于權重(隱含層到輸出層)與隱含層輸出值的激活函數的乘積。

(3)
如式(4)所示,根據以上邏輯就可以推導其預測輸出值。但其預測輸出值還存在著一定的誤差。使用實際值和預測值進行一個對比,就可以得到其誤差函數。

(4)
如式(5)所示,其表示的是誤差函數對的敏感程度,其意義是求出對的影響程度的大小。故需要求出和的偏導,但是數學中不能直接求出,故先對求導,接著求對的偏導,再求對的偏導,最后求對的偏導,公式中?為求偏導符號。

(5)
完成上述推導后,使用MATLAB對其點位進行處理,即可得到如圖5所示的對應訓練的訓練值、驗證值、測試值、最佳值分布曲線。通過這種正向計算輸出、反向傳播誤差的多次迭代后,系統的性能指標將隨著迭代次數的增加而減小,經過不斷調整權值,性能指標不斷降低,網絡最后達到穩定狀態。從圖5可以看出:在訓練到第5組時基本已經進入理想狀態,各條曲線變化率基本穩定;當在24組時達到最佳值網絡收斂,基本呈穩定狀態,訓練結果良好。

圖5 訓練情況分布曲線
將1 000組數據分成不同組別,分別作為訓練、驗證、測試數據,用這3組數據的結果分別同目標的理想值進行對比。從圖6可以看出:3組對比數據的相似度均達到了0.97以上。根據經驗值來說,一般達到0.8以上就已經相似了,所以此次實驗結果非常理想。

圖6 預測值和真實值之間的關系
綜上所述,通過BP神經網絡對1 000組數據的展開值和1 000組數據的纏繞值的坐標點進行訓練,獲得了滿足輸入、輸出之間隱含的邏輯關系。能夠輸入任意一個、、的坐標值,就可以輸出與之相對應的降維后的輪廓曲線的、、坐標值,并且還能獲得其優化解,為降維編程方法提供一個快捷有效的使用方案和方法。
由于在多軸編程中經常會出現細微的過切、抬刀、插刀、矢量不均勻等情況,是驅動曲線或者曲面提供的刀軸矢量不夠優化導致的。為了說明該方案的刀路優化性,文中也對刀路路徑的設置與優化進行了分析。
由圖7可以看出:將多軸的原始編程輪廓取出來進行空間的曲線分析,發現該曲線有以下特點:

圖7 多軸輪廓3D空間分析圖
(1)過渡段曲線曲梳不平滑,突變較多。(這是造成跳刀、亂矢量主要原因)
(2)極點處相鄰曲率變化超過90°(這是選線時出現不連接或者產生跳刀的主要原因)。
(3)總體曲梳不順滑,過渡圓角處呈現非線性變化或者扇形遞增減少,很難實現其線性關系。
將四五軸的輪廓抽取進行“降維”展開以后,得到如圖8所示的降維處理后多軸輪廓3D空間分析圖,通過分析該曲線可以明顯得出整體曲線中部分曲梳短而平滑,過渡圓潤。在過渡角A、B、C、D、E、F處明顯有漸進的扇形過渡區域,標志著該區域能夠良好地、漸進地進行過渡,從而提高機床的加工精度。這種現象在刀路路徑中表現為旋轉軸移動線性且順滑,無突變或跳刀。扇形區域呈逐漸增加后又減少的趨勢,G處雖然平滑,但是無劇烈突變,也呈線性增加,且不起主要作用。在刀路設計中符合編程工程師想要的等間距、精細節、緩過渡等原則,是解決復雜形狀四五軸編程的有效手段。

圖8 降維處理后多軸輪廓3D空間分析圖
通過分析以上造成編程時過切、抬刀、插刀、矢量不均勻等情況的主要原因后,可知在轉折點或接頭點處容易造成曲梳過大,導致曲線斷開,也是導致跳刀、振動和錯亂的主要原因。使用投影軸變化后生成的刀路驅動曲線平滑穩定,是理想的四五軸編程驅動,對復雜類的四五軸曲面編程是一種很好的解決方式。
為了說明該方法的最終結果是可行的,是能夠保證精度的,本文作者將同一模型的普通多軸編程的NC代碼輪廓曲線、降維法編程的NC代碼輪廓曲線、MATLAB自動生成的NC代碼輪廓曲線分別取出,使用Origin軟件對其進行曲線擬合,再將擬合后的3條曲線進行同一坐標系對比,說明該方法得到的曲線輪廓和使用普通方法得到的輪廓雖然在數值上截然不同,但是最終擬合的空間曲線完全相同,加工軌跡相同,加工尺寸和精度也相同。
通過上述說明,對于復雜體零件的編程一共有以下3種方式:(1)普通選線法得到的刀路路徑;(2)通過降維方法得到的刀路路徑;(3)通過MATLAB訓練后得到的刀路路徑,且MATLAB得到的曲線又是在降維法的基礎上得到的。為了證明針對復雜零件編程中第二、第三種方法的可行性和正確性,開展了3種方式曲線擬合的對比實驗,獲得了如表 2 所示的展開纏繞曲線點位坐標。對3種方法編程得到的刀路路徑曲線(由于數據過多,只選取一條輪廓刀路)進行數據分析,通過分析3組數據的相對誤差,來論證針對復雜零件編程中第二、第三種方法的可行性和正確性。

表2 展開纏繞曲線點位坐標
數據分析所采用的軟件是Origin 2018 軟件。圖9就是利用Origin進行數據整理導入的結果,將采集好的3組數據分別導入到軟件中,對3組數據進行編排。3組數據的每一行分別由、、三個數據組成。一個、、坐標在空間中分別代表一個點,所有的點擬合完成以后,組成了該條刀路路徑的空間曲線。

圖9 數據整理導入
將整理好的3組曲線分別擬合成空間曲線,完成后將3組曲線進行對比分析,并且添加投影線。如圖10所示,圖(a)、圖(b)、圖(c)分別為各組曲線擬合后的刀具路徑曲線,圖(d)為3組曲線擬合對比圖。可以看出:其結果都保持一致,并且從投影曲線可以看出無錯位點,無不相交點。可以很好地說明3種方法最后達到的刀路路徑效果都是相同的。表明這3種編程方法均可達到相同的加工要求和加工效果,并且能夠保證復雜零件的加工精度。

圖10 3種刀路擬合及其投影對比曲線
講述了使用降維方法如何將復雜體的編程通過將多軸刀路在空間維度上降低為2D生成刀路后又轉回3D,來解決復雜體編程的難題,其中主要敘述了其思路及其工具后處理的制作。為了更好地、更快捷地使用該方法,運用MATLAB對其進行分析,構建BP神經網絡,通過訓練達到能夠自動輸出需要的刀路路徑,從而免去中間較為繁瑣的步驟。并對輸出的刀路編程所用的曲線進行了曲率曲梳分析,說明該方法對于處理復雜體編程、優化刀路、減少跳刀、增強平滑性、減少刀具切削力的變化等方面有非常好的效果。最后為了證明提出的方法是切實可行的,將普通編程的刀路曲線、降維法編程的刀路曲線、MATLAB自動生成的刀路曲線通過Origin分析軟件進行處理,分別進行擬合后又將3組曲線進行對比,得出3種方法雖然過程不同,得到的數據從數值上也各不相同,但是最后的擬合結果是一模一樣的,也證明了該方法是可行的、正確的。