王文輝,苗恩銘,唐光元,馮天勤
(重慶理工大學(xué) 機(jī)械工程學(xué)院, 重慶 400054)
數(shù)控機(jī)床熱誤差對零件的加工精度影響顯著,研究表明熱誤差占機(jī)床總誤差的40%~70%[1-3]。以熱誤差模型為核心的軟件補(bǔ)償方法因成本低、靈活度高的優(yōu)勢,成為現(xiàn)代機(jī)床熱誤差研究中的主流趨勢[4]。
數(shù)控機(jī)床熱誤差軟件補(bǔ)償?shù)暮诵膯栴}是建立預(yù)測精度高、穩(wěn)健性強(qiáng)的數(shù)學(xué)模型[5]。目前,反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)具有較強(qiáng)的非線性映射能力、高度自學(xué)習(xí)和自適應(yīng)的能力[6-7],在描述復(fù)雜非線性的溫度-熱誤差關(guān)系時(shí)具有優(yōu)勢,受到許多學(xué)者的關(guān)注。Yang等[8]建立神經(jīng)網(wǎng)絡(luò)模型,提高機(jī)床在不同切削條件下的預(yù)測精度;譚峰等[9]建立BP神經(jīng)網(wǎng)絡(luò)熱誤差模型,提高機(jī)床主軸的預(yù)測精度;伍偉敏等[10]基于BP神經(jīng)網(wǎng)絡(luò)搭建五軸數(shù)控機(jī)床熱誤差補(bǔ)償模型,能夠有效提高機(jī)床的加工精度。辛宗霈等[11]建立神經(jīng)網(wǎng)絡(luò)模型,提高了絲桿熱變形量的預(yù)測精度。
上述研究中,BP神經(jīng)網(wǎng)絡(luò)在一定程度上可以提高模型的預(yù)測精度,但該算法在訓(xùn)練過程中容易受到冗余信息的干擾,使得模型難于快速確定最佳的權(quán)值和閾值,陷入局部最優(yōu),導(dǎo)致模型預(yù)測精度下降。因此,在機(jī)床熱誤差補(bǔ)償建模中,BP模型的預(yù)測精度會出現(xiàn)提高和降低的現(xiàn)象,其穩(wěn)健性較差,無法同時(shí)滿足模型預(yù)測精度和穩(wěn)健性的要求。
經(jīng)研究發(fā)現(xiàn),偏最小二乘(partial least squares,PLS)算法對自變量進(jìn)行降維處理,提取主成分,能消除其所包含的冗余信息,有效提高模型的穩(wěn)健性[12-13]。本文在BP神經(jīng)網(wǎng)絡(luò)建模的基礎(chǔ)上,提出增加PLS算法的數(shù)據(jù)前處理方法,消除冗余信息的干擾,從而快速準(zhǔn)確地獲得模型的最佳權(quán)值和閾值,提高模型穩(wěn)健性,稱此方法為PLS-BP神經(jīng)網(wǎng)絡(luò)。
本文中,以臺中精機(jī)Vcenter-55型數(shù)控加工中心為研究對象,采用傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法建模,分析預(yù)測精度和穩(wěn)健性性能。同時(shí),采用所提PLS-BP神經(jīng)網(wǎng)絡(luò)方法進(jìn)行建模預(yù)測,并與傳統(tǒng)BP模型的預(yù)測效果進(jìn)行對比分析,以驗(yàn)證PLS-BP模型的有效性和優(yōu)越性。
BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋性神經(jīng)網(wǎng)絡(luò),模型為節(jié)點(diǎn)構(gòu)成的拓?fù)浣Y(jié)構(gòu),包含輸入層、隱含層和輸出層[14],結(jié)構(gòu)如圖1所示。
圖1 BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)示意圖
采用“2-5-1”BP神經(jīng)網(wǎng)絡(luò)熱誤差模型,輸入層2個(gè)節(jié)點(diǎn)表示為2個(gè)溫度敏感點(diǎn)輸入變量;中間隱含層有5個(gè)節(jié)點(diǎn);輸出層1個(gè)節(jié)點(diǎn)為熱誤差數(shù)據(jù)。
在BP神經(jīng)網(wǎng)絡(luò)中,正向傳播時(shí)輸入信號經(jīng)權(quán)值和閾值處理傳遞給隱含層,經(jīng)隱含層神經(jīng)元的傳遞函數(shù)處理后輸出,逐層傳遞,最終輸出信號。輸出信號與熱誤差之間的殘差作為誤差信號,當(dāng)誤差信號過大時(shí),則進(jìn)行反向傳播,將誤差信號沿原來的通道返回,修改各層節(jié)點(diǎn)的權(quán)值和閾值使誤差信號最小,重復(fù)訓(xùn)練最終得出網(wǎng)絡(luò)模型。
BP神經(jīng)網(wǎng)絡(luò)的高度自學(xué)習(xí)和自適應(yīng)能力使模型的預(yù)測精度有所提升,但訓(xùn)練過程中容易受冗余信息的干擾,使得模型無法快速確定最佳權(quán)值和閾值,導(dǎo)致模型預(yù)測精度的穩(wěn)健性下降。而在工程實(shí)踐中,模型需同時(shí)滿足精度和穩(wěn)健性要求,故傳統(tǒng)BP模型存在一定的缺陷。PLS算法對溫度數(shù)據(jù)進(jìn)行降維處理,并保留溫度數(shù)據(jù)與熱誤差之間的相關(guān)性,用無相關(guān)性的主成分變量參與回歸建模,可提高模型的穩(wěn)健性[15]。
結(jié)合上述2種算法的優(yōu)點(diǎn),構(gòu)建PLS-BP神經(jīng)網(wǎng)絡(luò)。使用PLS算法計(jì)算出主成分變量,用主成分變量作為輸入信號建立BP模型。算法建模步驟如下:
設(shè)溫度數(shù)據(jù)X(N×m)=[x1x2…xm],熱誤差數(shù)據(jù)Y(N×n)=[y1y2…yn],樣本點(diǎn)個(gè)數(shù)為N。
步驟1將溫度數(shù)據(jù)和熱誤差數(shù)據(jù)標(biāo)準(zhǔn)化,得到X0和Y0,然后分別提取X0和Y0的第一主成分t1和u1,保證t1和u1保留各原始數(shù)據(jù)的主要特征,且t1和u1之間的相關(guān)性達(dá)到最大,計(jì)算公式如下:
(1)
步驟2建立X0和Y0關(guān)于主成分t1的回歸模型:
(2)
式中:p1=[p11,p12,…,p1m],q1=[q11,q12,…,q1n]分別為回歸模型中的參數(shù)向量;X1和Y1分別為殘差矩陣。
步驟3用殘差矩陣X1和Y1替換X0和Y1重復(fù)上述步驟以進(jìn)一步提取主成分,直至所提主成分貢獻(xiàn)率超過95%。
步驟4假設(shè)最終通過PLS算法提取到r個(gè)主成分t1、t2、…、tr,將其作為神經(jīng)網(wǎng)絡(luò)的輸入層,熱誤差數(shù)據(jù)Y作為輸出層,搭建PLS-BP神經(jīng)網(wǎng)絡(luò)模型。
以Vcenter-55型數(shù)控加工中心作為被測對象,同步采集數(shù)控機(jī)床的熱誤差和溫度,如圖2所示。
圖2 Vcenter-55數(shù)控立式加工中心實(shí)物圖
熱誤差測量采用“五點(diǎn)測量法”,在X向和Y向上各布置2個(gè)電渦流傳感器,Z向布置1個(gè),如圖3所示。電渦流傳感器型號為ZH3010,量程為1 mm,測量精度為1 μm。
圖3 五點(diǎn)測量法示意圖
溫度測量方面,使用20個(gè)型號為DS18B20的溫度傳感器在機(jī)床的主要熱源附近進(jìn)行測量,測量范圍為-55~125 ℃,編號記作T1~T20,安放位置如表1所示。
表1 溫度傳感器安放位置
依據(jù)上述實(shí)驗(yàn)裝置,主軸以恒定轉(zhuǎn)速2 500 r/min空轉(zhuǎn),每次實(shí)驗(yàn)持續(xù)時(shí)間達(dá)到7 h以上,累計(jì)獲得機(jī)床在橫跨3—9月份不同季節(jié)下的K1—K6批次實(shí)驗(yàn)數(shù)據(jù),如表2所示。由于溫度數(shù)據(jù)結(jié)果較多,本文中僅展示K1批次的部分溫度數(shù)據(jù),如圖4所示。
表2 實(shí)驗(yàn)數(shù)據(jù)
圖4 K1批次部分溫度曲線
因機(jī)床X軸和Y軸的熱誤差較小,故以Z向熱誤差數(shù)據(jù)進(jìn)行建模和預(yù)測,得出K1—K6批次的熱誤差數(shù)據(jù)如圖5所示。不難看出,在跨季過程中,熱變形規(guī)律差異較大,因此所建補(bǔ)償模型必須考慮穩(wěn)健性。
圖5 K1—K6批次的Z向熱誤差曲線
熱誤差數(shù)據(jù)建模前需要從諸多溫度監(jiān)測點(diǎn)中選擇合適的溫度敏感點(diǎn),以避免過多的輸入變量可能存在的共線性問題[16-17]。使用模糊聚類結(jié)合灰色關(guān)聯(lián)度的方法[18-19]選擇溫度敏感點(diǎn),6批次數(shù)據(jù)計(jì)算結(jié)果如表3所示。
表3 溫度敏感點(diǎn)數(shù)據(jù)計(jì)算結(jié)果
針對數(shù)控加工中心Z向熱誤差建模對比分析,先用傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法建模,分析其預(yù)測精度和穩(wěn)健性。采用本文的PLS-BP神經(jīng)網(wǎng)絡(luò)進(jìn)行建模預(yù)測,并與傳統(tǒng)BP預(yù)測效果進(jìn)行對比分析,以驗(yàn)證PLS-BP模型的有效性和優(yōu)越性。
以K1批次數(shù)據(jù)建模為例,將溫度敏感點(diǎn)T3和T19作為模型的輸入信號,隱含層節(jié)點(diǎn)數(shù)設(shè)為5,Z向熱誤差作為輸出層,訓(xùn)練得到網(wǎng)絡(luò)模型。同理,得出K2—K6批次的BP模型。
為驗(yàn)證模型的預(yù)測效果,使用模型對其他批次數(shù)據(jù)進(jìn)行預(yù)測。為判斷模型的優(yōu)劣性,以殘余標(biāo)準(zhǔn)差S作為精度評判標(biāo)準(zhǔn),見式(3)。而模型對其他批次數(shù)據(jù)預(yù)測的殘余標(biāo)準(zhǔn)差的平均值Mn能夠反映模型預(yù)測效果,用來表征模型的預(yù)測精度,計(jì)算見式(4);殘余標(biāo)準(zhǔn)差的標(biāo)準(zhǔn)差Sd反映模型預(yù)測效果的波動(dòng)性,用來表征模型的穩(wěn)健性,計(jì)算見式(5)。
(3)
(4)
(5)
式中:Si為數(shù)據(jù)預(yù)測的殘余標(biāo)準(zhǔn)差;K為預(yù)測數(shù)據(jù)的批次。
根據(jù)所建立的K1—K6批次的BP模型,對其他批次數(shù)據(jù)進(jìn)行預(yù)測,得到各批次的預(yù)測殘余標(biāo)準(zhǔn)差S,并計(jì)算S的均值Mn和S的標(biāo)準(zhǔn)差Sd用于模型穩(wěn)健性精度分析,計(jì)算結(jié)果如表4所示。
表4 BP模型的殘余標(biāo)準(zhǔn)差計(jì)算結(jié)果 μm
由表4可知,BP模型的Mn值分布范圍為4.93~6.46 μm,Sd值分布范圍為1.33~2.24 μm。
因BP算法在訓(xùn)練過程中易陷入局部最優(yōu),導(dǎo)致模型的預(yù)測精度下降。故將PLS算法與BP神經(jīng)網(wǎng)絡(luò)算法結(jié)合,用PLS算法對溫度數(shù)據(jù)進(jìn)行降維,去除冗余信息,實(shí)現(xiàn)對模型預(yù)測精度和穩(wěn)健性的提升。
以K1批次數(shù)據(jù)建模為例,對實(shí)驗(yàn)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,進(jìn)而計(jì)算出主成分對。
(6)
第1個(gè)主成分貢獻(xiàn)率為85.56%<95%,因此選擇2個(gè)主成分對,記作t=(t1,t2)。然后,用主成分t作為輸入信號,以Z向熱誤差作為輸出層,搭建PLS-BP神經(jīng)網(wǎng)絡(luò)模型,如圖6所示。
圖6 PLS-BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
作為參照對比,使用PLS-BP模型與K1批次所建立的BP模型分別預(yù)測K2批次數(shù)據(jù),預(yù)測結(jié)果和殘差值如圖7和圖8所示。殘差值越小,模型的預(yù)測效果越好,計(jì)算見式(7)。
(7)
圖8 K2預(yù)測殘差
對比圖7和圖8的預(yù)測結(jié)果發(fā)現(xiàn),BP模型殘差分布在-3.42~9.42 μm;PLS-BP模型殘差分布在-6.23~3.15 μm,波動(dòng)范圍更小。進(jìn)一步地,計(jì)算2種模型的殘余標(biāo)準(zhǔn)差S,如表5所示。相比之下,PLS-BP模型的S數(shù)值更小,為2.24 μm。由此可見,PLS-BP模型預(yù)測精度要優(yōu)于BP模型。
表5 BP模型與PLS-BP模型預(yù)測精度
為進(jìn)一步體現(xiàn)PLS-BP模型的穩(wěn)健性,用K1—K6批次實(shí)驗(yàn)數(shù)據(jù)之間相互預(yù)測,并計(jì)算殘余標(biāo)準(zhǔn)差的平均值Mn和殘余標(biāo)準(zhǔn)差的標(biāo)準(zhǔn)差Sd用于模型的穩(wěn)健性分析,計(jì)算結(jié)果如表6所示。
表6 PLS-BP模型的殘余標(biāo)準(zhǔn)差計(jì)算結(jié)果 μm
綜合評價(jià)PLS-BP模型的穩(wěn)健性,將表6和表4中BP模型的預(yù)測效果進(jìn)行對比,得出PLS-BP模型的最大Mn和Sd值分別為3.13 μm和1.32 μm,BP模型的最大Mn和Sd值分別為6.46 μm和2.24 μm,PLS-BP模型在數(shù)值上具有優(yōu)勢。
進(jìn)一步繪制K1—K6單批次各模型的Mn和Sd直方圖,直觀對比模型的預(yù)測精度和穩(wěn)健性,如圖9和圖10所示。
圖9 BP和PLS-BP模型預(yù)測效果均值直方圖
圖10 BP和PLS-BP模型預(yù)測效果標(biāo)準(zhǔn)差直方圖
通過圖9、圖10分析得出,PLS-BP模型的Mn和Sd值均低于BP模型,具有更好的預(yù)測精度和穩(wěn)健性,且最大的Mn、Sd值分別出現(xiàn)在K6、K5批次所建的模型中,數(shù)值分別為3.13 、1.32 μm,低于BP模型最小的Mn值(4.93μm)和Sd值(1.33 μm)。
結(jié)果表明,PLS-BP模型相比于BP模型,穩(wěn)健性得到較大提升,具有明顯優(yōu)勢,能夠更好地表達(dá)熱誤差與溫度之間的關(guān)系。
針對BP神經(jīng)網(wǎng)絡(luò)熱誤差模型存在的穩(wěn)健性差的缺陷,提出基于PLS-BP神經(jīng)網(wǎng)絡(luò)的熱誤差建模方法。通過增加偏最小二乘降維處理,消除冗余信息,從而快速確定最佳權(quán)值和閾值,克服陷入局部最優(yōu)的缺陷,提高模型的預(yù)測精度和穩(wěn)健性,
建立Vcenter-55數(shù)控加工中心的熱誤差模型,多批次預(yù)測實(shí)驗(yàn)結(jié)果表明,所提PLS-BP模型可將預(yù)測殘余標(biāo)準(zhǔn)差的最大均值和最大標(biāo)準(zhǔn)差分別控制在3.13 和1.32 μm以內(nèi),穩(wěn)健性顯著優(yōu)于BP模型,對進(jìn)一步提高熱誤差模型的精度和穩(wěn)健性具有理論指導(dǎo)意義。