吳金文 王玉鵬 周海波
(①南京工業(yè)大學浦江學院,江蘇南京211222;②南通航運職業(yè)技術學院,江蘇南通226010)
隨著國家經(jīng)濟的快速發(fā)展,對機械制造業(yè)精密加工要求也逐漸提高。數(shù)控機床是機械加工的重要設備,適合各種復雜工件的加工,在當代企業(yè)生產(chǎn)線中應用較為廣泛。但是,數(shù)控機床加工精度也會受到多種因素的制約,從而限制了加工精度的提高[1]。據(jù)統(tǒng)計,數(shù)控機床加工精度主要是受到熱誤差的影響,工件加工產(chǎn)生的總誤差中,大約有70%左右是熱誤差。當前,減小數(shù)控機床熱誤差方法主要包括兩種[2]:(1)誤差防止法。(2)誤差補償法。誤差防止法是通過優(yōu)化數(shù)控機床設計、加工工藝等減小熱誤差,但是,該方法成本較高,受到一定的局限性。誤差補償法采用新的誤差來補償數(shù)控機床熱誤差,該方法成本較低,在市場發(fā)展中受到廣泛的應用。因此,研究數(shù)控機床熱誤差補償技術,對于國家制造高精度產(chǎn)業(yè)的發(fā)展具有很大的促進作用。
當前,許多研究者對機床熱誤差進行了深入的研究,從而產(chǎn)生多種熱誤差補償方法。例如:文獻[3]研究了遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡的機床熱誤差補償方法,建立遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡學習過程,通過實驗對機床加工進行在線補償,較快的搜索到最優(yōu)補償參數(shù);文獻[4]研究灰色理論和最小支持向量機組合的機床熱誤差預測方法,通過測量機床溫度,建立熱誤差預測模型,對模型加權系數(shù)進行優(yōu)化,輸出機床熱誤差在線補償數(shù)據(jù);文獻[5]研究了灰色神經(jīng)網(wǎng)絡的機床熱誤差補償方法,通過灰色關聯(lián)度分析方法,選擇機床上影響熱誤差較大的溫度點,建立灰色神經(jīng)網(wǎng)絡系統(tǒng)預測模型,通過具體實例對熱誤差預測模型進行驗證。文獻[6]研究了高速切削加工中心的熱誤差預測模型,建立了機床有限元模型,分析了機床進給系統(tǒng)的瞬態(tài)熱分布和定位誤差,對機床運行溫度引起的位移變化進行了實驗測量。文獻[7]研究了自適應神經(jīng)模糊推理系統(tǒng)的機床熱誤差補償方法,通過自適應模糊推理系統(tǒng)建立溫度測量值,采用GM(1,N)模型構建熱誤差預測模型,從而預測機床運行產(chǎn)生的熱誤差。以往研究的數(shù)控機床長時間工作時,預測精度較低,導致機床加工精度下降。針對預測產(chǎn)生較大偏差問題,本文引用混合算法優(yōu)化BP神經(jīng)網(wǎng)絡結構,建立改進BP神經(jīng)網(wǎng)絡預測模型,提高熱誤差預測結果。在預測過程中,采用量子粒子群算法和差分進化算法,給出了混合算法優(yōu)化算法的具體步驟,建立了改進BP神經(jīng)網(wǎng)絡優(yōu)化流程圖。通過具體實例,采用數(shù)控銑床作為研究對象,將改進BP神經(jīng)網(wǎng)絡預測模型的預測結果用作銑床熱誤差在線補償,為減小機床加工產(chǎn)生的熱誤差提供了參考數(shù)據(jù)。
粒子群算法是由J.Kenndy等人提出的一種優(yōu)化算法,它是通過模擬鳥類覓食尋找最優(yōu)值。標準粒子群算法具有簡單性、并行性及魯棒性等優(yōu)點,但是標準粒子群算法在尋優(yōu)過程中容易陷入局部最優(yōu)值。J Sun等人在標準粒子群算法的基礎上,經(jīng)過改進后提出了量子粒子群算法,該算法全局搜索能力較強,其尋優(yōu)計算公式[8-9]為:
式中:ps為種群數(shù)量;c1、c2為學習因子,一般取值為c1=c2=2;r1、r2為隨機數(shù),一般取值范圍為[0,1];pi(t)為個體最優(yōu)值;pg(t)為全局最優(yōu)值;vi∈[-vmin,vmax];t為當前迭代次數(shù);T為最大迭代次數(shù)。
Storn和Price等人提出了差分進化算法,該算法采用變異、交叉及選擇方法來搜索種群最優(yōu)值,采用多次迭代,從而搜索出全局最優(yōu)值。具體搜索方法如下:
(1)種群初始化。
初始種群是隨機產(chǎn)生的,其產(chǎn)生的計算公式[10-11]為:
式中:r1、r3為區(qū)間[0,N]內(nèi)的隨機整數(shù),F(xiàn) 為區(qū)間[0.5,1]縮放因子,t為進化代數(shù),Xi(t)為第 t代種群第i個個體。
(3)交叉操作。
將t代個體與Vi(t+1)進行交叉,得到試驗個體,如下所示[10-11]:
式中:xi,j為第i個個體的第j個分量;為兩個父本向量;NP為種群大小;D為個體決策變量個數(shù);rand為均勻分布的隨機數(shù)。
(2)變異操作。
在初始種群中隨機抽取兩個不同的個體,與另外待變異互不相同的兩個個體進行運算后產(chǎn)生新的變異種群,生成新的變異個體計算公式[10-11]為:
式中:CR為區(qū)間[0.8,1]的交叉概率;jrand為隨機數(shù)。
(4)選擇操作。
差分進化算法從父代個體和試驗個體中選擇優(yōu)秀個體遺傳到下一代,其計算公式[10-11]為:
量子粒子群算法的搜索速度較快,迭代次數(shù)較少,但是,在收斂后期,由于種群的多樣性削弱,致使陷入局部最優(yōu)解。差分進化算法可以增強種群的多樣性,但是迭代次數(shù)較多,收斂速度較慢。因此,采用混合優(yōu)化算法,在量子粒子群算法的基礎上融合差分進化算法,對粒子的個體和速度進行更新,從而較快的搜索到全局最優(yōu)值。具體操作步驟如下:
(1)隨機產(chǎn)生初始種群,大小為ps,初始化種群粒子的位置和速度,設置當前迭代次數(shù)(t)和最大迭代次數(shù)(T)。
(2)若t>T,則輸出pg(t);否則,轉換到下一步。
(3)通過公式(1)、(3)更新粒子的位置和速度。
(4)通過公式(6)、(7)、(8)對粒子位置進行變異、交叉和選擇操作。
(5)選擇種群中最優(yōu)值個體遺傳到下一代,替換當前最優(yōu)值個體,同時更新pg(t)。
(6)令t=t+1;轉換到步驟(2)。
BP神經(jīng)網(wǎng)絡包括三層結構:輸入層、隱含層和輸出層。輸入層和輸出層神經(jīng)元個數(shù)分別由輸入、輸出的個數(shù)來確定,隱含層的神經(jīng)元個數(shù)求解方程式[12]如下:
式中:n1、n2、n3分別為輸入層、隱含層、輸出層神經(jīng)元個數(shù);Wij、Vjk分別為輸入層到隱含層、隱含層到輸出層的連接權值;N為樣本總數(shù);uni為輸入值。
采用混合算法優(yōu)化BP神經(jīng)網(wǎng)絡具體流程如下:
(1)設置最大迭代次數(shù)和誤差精度。
(2)設置連接權值的初始值。
(3)確定粒子的初始位置和速度,將BP神經(jīng)網(wǎng)絡訓練集上計算的均方根誤差作為適應度函數(shù),如下所示[13]:式中:n為樣本個數(shù);yi為熱誤差預測值;y'i為熱誤差目標值。
(4)比較適應度值,判斷粒子是否需要更新,直至訓練次數(shù)達到最大迭代次數(shù)或訓練誤差精度達到設定值;若訓練結束后,精度仍然沒有達到設定值,則用梯度下降法調整連接權值,直到誤差精度達到設定值。
改進BP神經(jīng)網(wǎng)絡優(yōu)化流程如圖1所示。
選擇立式銑床進行溫度測量,根據(jù)模糊C均值聚類法[7],由于在銑床分布的5個位置溫度參數(shù)對銑床熱誤差建模影響較大,因此,在銑床5個位置安裝溫度傳感器,如圖2所示。T1安裝在立柱中間上、T2安裝在橫梁中間上、T3安裝在主軸中間上、T4安裝在主軸和工作臺之間、T5安裝在工作臺中間上。主軸轉速區(qū)間為[2 000 r/min,3 000 r/min]。在圖 2 中,T1~T5為溫度傳感器,用來測量機床主軸旋轉時的溫度值。
在溫度測量過程中,假設室內(nèi)主軸轉速設置為2 000 r/min、2 500 r/min 及 3 000 r/min,各自運行60 min,每3 min測量一次得一組5個傳感器的溫度,總共測量得60組溫度值。
采用5個位移傳感器測量主軸受熱后產(chǎn)生的偏差,由于主軸的X軸、Y軸截面積比Z軸大,因此,X軸和Y軸分別采用兩個傳感器,而Z軸采用一個傳感器。傳感器S1、S2用于測量X軸方向的位移偏差,S3、S4用于測量Y軸方向的位移偏差,S5用于測量Z軸方向的位移偏差,X和Y軸測量位移偏差取平均值,在主軸分布的位移傳感器位置如圖3所示。實驗測量過程采用數(shù)控銑床進行驗證,將位移傳感器固定在銑床主軸附近(1 m以內(nèi)),位移傳感器感應到的數(shù)據(jù)通過采集器輸入到電腦上,主軸受熱產(chǎn)生偏差的實驗測量過程如圖4所示。
將溫度測量數(shù)據(jù)用作BP神經(jīng)網(wǎng)絡模型的輸入層,通過調節(jié)BP神經(jīng)網(wǎng)絡的權值和閾值,輸出Y軸和Z軸方向產(chǎn)生的熱誤差值,預測流程如圖5所示。
將測量溫度數(shù)據(jù)分成兩個部分進行操作:第一部分數(shù)據(jù)為45組溫度值,用作BP神經(jīng)網(wǎng)絡訓練;第二部分數(shù)據(jù)為15組溫度值,用作測試數(shù)據(jù)。改進BP神經(jīng)網(wǎng)絡的參數(shù)設置如下:學習效率為0.02,輸出層精度為10 μm,種群數(shù)量為300,交叉概率為0.15,變異概率為0.01,最大迭代次數(shù)為500。由于銑床主軸是圓形,在X軸方向位移變形與Y軸方向呈現(xiàn)對稱結構,所以選擇Y軸和Z軸方向位移變形量進行研究。圖6為Y軸方向預測偏差,圖7為Z軸方向預測偏差。
圖6預測結果顯示:BP神經(jīng)網(wǎng)絡預測模型預測值與實驗值偏差較大,在Y軸方向產(chǎn)生的偏差最大值為7.3 μm,而改進BP神經(jīng)網(wǎng)絡預測模型預測值與實驗值偏差較小,在在Y軸方向產(chǎn)生的偏差最大值為2.8 μm。圖7預測結果顯示:BP神經(jīng)網(wǎng)絡預測模型預測值與實驗值偏差較大,在Z軸方向產(chǎn)生的偏差最大值為7.5 μm,而改進BP神經(jīng)網(wǎng)絡預測模型預測值與實驗值偏差較小,在Z軸方向產(chǎn)生的偏差最大值為2.9 μm。綜合比較,BP神經(jīng)網(wǎng)絡預測偏差在8 μm以內(nèi),而改進BP神經(jīng)網(wǎng)絡預測偏差在3 μm以內(nèi),另外,改進BP神經(jīng)網(wǎng)絡預測偏差數(shù)據(jù)波動較小,效果較好。
本文在量子粒子群算法的基礎上增加了差分進化算法,將混合算法用作優(yōu)化BP神經(jīng)網(wǎng)絡,從而可以預測銑床運行產(chǎn)生的熱誤差,主要結論如下:
(1)混合算法不僅收斂速度快,而且可以避免尋優(yōu)過程中陷入局部最優(yōu)解。
(2)改進BP神經(jīng)網(wǎng)絡,熱誤差預測精度較高,偏差都在3 μm以內(nèi)。
(3)改進BP神經(jīng)網(wǎng)絡預測熱誤差可以用于銑床的在線補償,從而提高銑床的加工精度。