左 昊,王玉琳,金 瑞,黃海鴻
(1.合肥工業(yè)大學 機械工程學院,安徽 合肥 230009; 2.合肥工業(yè)大學 機械工業(yè)綠色設(shè)計與制造重點實驗室,安徽 合肥 230009)
液壓系統(tǒng)具有高功率密度的特點,廣泛用于工程機械和成形機械領(lǐng)域[1],但普遍存在高噪音、高污染、低能效問題[2]。為解決上述問題,很多學者對液壓系統(tǒng)進行了研究,如文獻[3-4]針對液壓成形裝備,對其工作過程中的能量流進行了研究。由于傳統(tǒng)液壓系統(tǒng)的驅(qū)動單元由異步電機和定量泵構(gòu)成,輸出的流量不能改變,導(dǎo)致在低速工況下輸出流量大多通過溢流閥直接流回油箱,從而造成大量能量損失。因此,變流量液壓驅(qū)動單元成為研究熱點。
變流量液壓驅(qū)動單元的實現(xiàn)形式主要有3種,分別是定速變排量驅(qū)動單元(由異步電機和變排量泵構(gòu)成)、變速定排量驅(qū)動單元(由變速電機和定排量泵構(gòu)成)和變速變排量驅(qū)動單元(由變速電機和變排量泵構(gòu)成)[5-7]。
定速變排量驅(qū)動單元在工程中已經(jīng)廣泛應(yīng)用。1973年,文獻[8]首次提出了泵控技術(shù),采用三相異步電機驅(qū)動變排量液壓泵,并研究了泵控液壓系統(tǒng)的靜態(tài)和動態(tài)性能;文獻[9]研究表明,同傳統(tǒng)閥控系統(tǒng)相比,定速變排量驅(qū)動單元的節(jié)能效果高達40%。
隨著電機控制技術(shù)的發(fā)展,變頻器得到廣泛應(yīng)用,很多學者采用變頻器控制三相交流電機,提出變速定排量液壓驅(qū)動單元。文獻[10]在液壓電梯上采用變頻電機驅(qū)動螺桿泵,該驅(qū)動單元與普通閥控液壓系統(tǒng)相比,平均節(jié)能效果達46.3%;文獻[11]對注塑機液壓驅(qū)動系統(tǒng)進行了深入研究,對比了5種不同的驅(qū)動單元(異步電機驅(qū)動定量泵、變轉(zhuǎn)速異步電機驅(qū)動定量泵、異步電機驅(qū)動變量泵、交轉(zhuǎn)速異步電機驅(qū)動變量泵和交流伺服電機驅(qū)動定量泵),其中交流伺服電機驅(qū)動定量泵的能耗最小,相較于異步電機驅(qū)動定量泵,系統(tǒng)的節(jié)能率高達88%;文獻[12]對比了定速變排量驅(qū)動單元和變速定排量驅(qū)動單元的能量效率,發(fā)現(xiàn)變速定排量驅(qū)動單元在大多數(shù)場合具有更高的能效。
文獻[13-15]對3種液壓驅(qū)動單元的性能進行了研究和對比,并對變速變排量驅(qū)動單元的動態(tài)性能進行了研究,發(fā)現(xiàn)借助驅(qū)動系統(tǒng)的動態(tài)損耗模型,可以將能耗降低20%以上。在文獻[16]的研究中,變速變排量液壓驅(qū)動單元被用于提高液壓機的能效;通過對比3種驅(qū)動單元在液壓機單個工作周期中的能效,發(fā)現(xiàn)變速變排量液壓驅(qū)動單元具有最高的能量效率,變速定排量驅(qū)動單元次之,定速變排量驅(qū)動單元的能效最低;同時,提出一種變速變排量驅(qū)動單元的節(jié)能控制策略。雖然上述方案在實際案例中都取得了不錯的節(jié)能效果,但是節(jié)能策略都建立在大量實驗數(shù)據(jù)和有級工作區(qū)域的基礎(chǔ)上,不能完全發(fā)揮變速變排量的節(jié)能潛力。此外,變速變排量驅(qū)動單元的理論能效模型存在轉(zhuǎn)速和排量的耦合關(guān)系且模型誤差較大,導(dǎo)致理論模型難以應(yīng)用于實際生產(chǎn)中。
為了解決變速變排量液壓驅(qū)動單元能效模型難求解和不精確的問題,本文提出采用機器學習算法建立能耗預(yù)測模型的方法。機器學習算法是通過找出數(shù)據(jù)里隱藏的模式進而做出預(yù)測的識別模式,廣泛應(yīng)用于能耗預(yù)測問題中。文獻[17]通過響應(yīng)面法結(jié)合期望函數(shù)的方法,建立了數(shù)控切削加工過程的能量模型,取得了較好的效果;文獻[18]基于深度學習,研究了車削能耗的建模方法,并對比支持向量機(support vector machine,SVM)、卷積神經(jīng)網(wǎng)絡(luò)、堆棧自動編碼器和深度信念網(wǎng)絡(luò)的建模效果,結(jié)果表明堆棧自動編碼器是最適合的能耗建模方法;文獻[19]針對機器學習模型在住宅能耗預(yù)測領(lǐng)域的應(yīng)用進行研究,提出并討論了支持向量機、逆向傳播神經(jīng)網(wǎng)絡(luò)(back-propagation neural network,BPNN)、隨機森林和梯度提升機4種模型,其中基于集成學習方法的隨機森林和梯度提升機模型的表現(xiàn)性能最好。
采用數(shù)據(jù)驅(qū)動的方法,根據(jù)部分實驗數(shù)據(jù)建立誤差較小的能耗預(yù)測模型。本文對變速變排量液壓驅(qū)動單元進行能量分析,通過實驗平臺和數(shù)據(jù)采集系統(tǒng)采集傳感器數(shù)據(jù),并基于6種獨立的機器學習方法(嶺回歸、SVM、隨機森林、梯度提升決策樹(gradient boosting decision tree,GBDT)、極端梯度提升(extreme gradient boosting,XGBoost)、BPNN)和一種堆疊模型對變速變排量液壓驅(qū)動單元的能耗進行建模,通過能耗建模優(yōu)化輸入的參數(shù)配置,節(jié)約輸入能量,以降低驅(qū)動單元能耗。
變速變排量液壓驅(qū)動單元由伺服電機和電磁比例柱塞泵構(gòu)成,如圖1所示。
圖1中:伺服電機主要采用交流永磁同步電機,通過伺服驅(qū)動器實現(xiàn)轉(zhuǎn)速的精確控制;通過控制電磁比例柱塞泵的伺服閥和2個控制活塞調(diào)整斜盤傾角,從而改變柱塞泵的排量;通過調(diào)整電機的轉(zhuǎn)速和柱塞泵的排量控制液壓驅(qū)動單元的輸出流量。
圖1 變速變排量液壓驅(qū)動單元示意圖
伺服電機及其驅(qū)動器將來自電源的電能轉(zhuǎn)換為機械能,液壓泵將電機輸出的機械能轉(zhuǎn)換為液壓能,驅(qū)動液壓系統(tǒng)工作。液壓驅(qū)動單元的能量損耗主要由電機驅(qū)動器能耗、電機能耗和液壓泵能耗組成,如圖2所示。
圖2 變速變排量驅(qū)動單元的能量流
忽略伺服電機的轉(zhuǎn)子損耗、機械損耗和雜散損耗,變速變排量驅(qū)動單元的能量損耗可以表示為:
(1)
其中:Eloss為驅(qū)動單元的能耗,單位J;Ptloss為總功率損耗,單位W;t為工作時長,單位s;PSD為伺服驅(qū)動器的功率損耗;PFe為電機定子鐵損;PCu為電機定子銅損;Ppv為柱塞泵的容積損耗;Ppm為柱塞泵的機械損耗。
液壓驅(qū)動單元的輸出能量為:
(2)
其中:Eout為驅(qū)動單元的輸出能量,單位J;Pout為柱塞泵的輸出功率,單位W;ppump為柱塞泵出油端壓力,單位MPa;qpump為柱塞泵的輸出流量,單位m3/s。
結(jié)合(1)式、(2)式,液壓驅(qū)動單元的總輸入能量可以表示為:
(3)
其中,Pin為驅(qū)動單元的輸入功率,單位W。
由于忽略了電機與柱塞泵之間傳動的機械損失,電機的輸出功率等于柱塞泵的輸入功率。根據(jù)文獻[14],PSD、PFe、PCu、Ppv、Ppm均與泵的輸出壓力、輸出流量以及電機轉(zhuǎn)速n具有函數(shù)關(guān)系,同時考慮溫度T對液壓油屬性和零部件的影響,可將液壓驅(qū)動單元的總功率損耗簡化為:
Ptloss=f(ppump,qpump,n,T)
(4)
液壓驅(qū)動單元的總輸入能量表示為:
Etotal=g(ppump,qpump,n,T)
(5)
根據(jù)(5)式可得,變速變排量驅(qū)動單元的輸入能量只與液壓泵的輸出流量、輸出壓力、電機轉(zhuǎn)速和液壓油溫度有關(guān)。在實際應(yīng)用中,相同的工況下(即Pout相同)可以采用驅(qū)動單元的輸入功率Pin作為評價能效的特征。
因此,本文將基于機器學習方法,結(jié)合采集的數(shù)據(jù),研究如何通過ppump、qpump、n和T建立對Pin的預(yù)測模型。
實驗平臺和數(shù)據(jù)采集存儲系統(tǒng)框架如圖3所示。
圖3 實驗平臺與數(shù)據(jù)采集系統(tǒng)示意圖
實驗平臺由交流永磁同步電機、伺服驅(qū)動器、電磁比例變量柱塞泵、集成式閥塊、電磁比例溢流閥和油箱等構(gòu)成,其主要參數(shù)見表1所列。
實驗平臺通過轉(zhuǎn)速轉(zhuǎn)矩傳感器獲取伺服電機的轉(zhuǎn)速,角位移傳感器獲取電磁比例柱塞泵的排量,壓力計獲取柱塞泵出口壓力,溫度傳感器獲取油箱溫度。以上信息數(shù)據(jù)通過NI數(shù)據(jù)采集卡傳遞給基于LabVIEW軟件搭建的數(shù)據(jù)采集系統(tǒng)。同時,電源端的功率數(shù)據(jù)由功率儀采集,并通過Modbus-RTU數(shù)據(jù)傳輸協(xié)議傳遞給采集系統(tǒng)。
表1 實驗平臺的主要參數(shù)
根據(jù)上文所述,變速變排量液壓驅(qū)動單元能耗模型的數(shù)據(jù)包括電機轉(zhuǎn)速n、柱塞泵的出口流量q、出口壓力p、油箱的溫度T以及驅(qū)動單元的輸入功率Pin。由于流量傳感器在小流量時的數(shù)據(jù)不穩(wěn)定,無法直接用于機器學習模型訓(xùn)練。在實際實驗中,采用柱塞泵的排量V代替柱塞泵的出口流量,用于能耗建模。實驗數(shù)據(jù)采集過程如下:
(1) 設(shè)定液壓系統(tǒng)工況,即伺服電機的轉(zhuǎn)速、柱塞泵的排量和溢流閥的工作壓力。
(2) 持續(xù)運行實驗平臺,在該過程中,采集伺服驅(qū)動器端的實時輸入功率Pin、電機實際轉(zhuǎn)速n、油箱的溫度T、柱塞泵的實時排量V和出口壓力p,總時長為s。
(3) 更改液壓系統(tǒng)的工況,重復(fù)執(zhí)行步驟(1)和步驟(2),直至采集到充分的實驗數(shù)據(jù)。
液壓系統(tǒng)在切換工況過程中需要短暫的時間恢復(fù)至穩(wěn)定狀態(tài),以便更好地建立能耗預(yù)測模型,保留每組數(shù)據(jù)的穩(wěn)定值部分,防止異常數(shù)據(jù)影響模型精度。
采用下式對每組特征(Pin,n,T,V,p)對應(yīng)的數(shù)據(jù)分別進行零均值歸一化處理:
(6)
其中:特征的均值為μ;標準差為σ。該處理將原始數(shù)據(jù)映射到均值為0、標準差為1的正態(tài)分布上。
變速變排量液壓驅(qū)動單元的能耗預(yù)測是一種非線性問題,可以采用具有非線性擬合能力的機器學習回歸算法求解。在眾多的機器學習算法模型中,嶺回歸模型在線性回歸的基礎(chǔ)上進行了改良,具有處理非線性問題的能力,并加入了正則化項來緩解過擬合;支持向量機回歸模型利用核函數(shù)進行非線性映射,其決策函數(shù)只由少數(shù)的支持向量確定,具有很好的魯棒性;集成學習通過構(gòu)建并組合多個學習器實現(xiàn)建模,具有較好的泛化能力,其代表性算法有bagging方法中的隨機森林模型和boosting方法中的GBDT與XGBoost模型;BPNN是目前廣泛應(yīng)用的一種神經(jīng)網(wǎng)絡(luò)形式,具有良好的非線性映射能力、自學習自適應(yīng)能力和泛化能力。本文將采用上述6種機器學習算法建立變速變排量液壓驅(qū)動單元的能耗預(yù)測模型,所有模型都采用交叉驗證的方法,并對各模型進行超參數(shù)優(yōu)化。
2.3.1 嶺回歸
給定數(shù)據(jù)集D={(x1,y1),(x2,y2),…,(xm,ym)},其中xi=(xi1,xi2,…,xid),yi∈R。線性回歸(linear regression)試圖學得一個線性模型以盡可能準確預(yù)測實際值輸出標簽值。其損失函數(shù)如下:
(7)
其中:yi為第i個樣本真實值;xi為第i個樣本的特征取值;ω為特征系數(shù)。
在線性回歸的損失函數(shù)上添加L2范數(shù)正則項即嶺回歸[20],L2范數(shù)為:
(8)
嶺回歸的損失函數(shù)為:
(9)
2.3.2 支持向量機SVM
SVM[21]屬于有監(jiān)督學習算法的一種,其回歸模型為支持向量回歸(support vector regression,SVR),其問題可形式化為:
(10)
其中:C為正則化常數(shù);lε為ε-不敏感損失(ε-insensitive loss)函數(shù),即
(11)
s.t.f(xi)-yi≤ε+ξi,
(12)
由于線性學習器的表示能力有限,需要引入核函數(shù)來將線性學習器拓展為非線性學習器,常用的核函數(shù)包括線性核函數(shù)、多項式核函數(shù)以及高斯核函數(shù),本文中使用的是高斯核函數(shù)。
2.3.3 隨機森林
隨機森林[22]以決策樹作為基學習器,并在決策樹的訓(xùn)練過程中引入了隨機屬性選擇。回歸或分類隨機森林偽代碼如下所述。
1.Forb=1 toB
(a) 用自助法從訓(xùn)練數(shù)據(jù)中提取大小為n的樣本Z*;
(b) 通過遞歸重復(fù),將隨機森林算法樹的數(shù)目Tb增長到自助法數(shù)據(jù)量,為樹的每個終端節(jié)點執(zhí)行以下步驟,直到達到最小節(jié)點大小nmin;
i. 從變量p中隨機選擇m個變量
ii. 在m個變量中選擇最佳變量/分割點
iii. 將節(jié)點分成2個子節(jié)點
2.3.4 梯度提升決策樹GBDT
Gradient Boosting[23]是Boosting中的一大類算法,典型的算法代表為GBDT,其基本思想是根據(jù)當前模型損失函數(shù)的負梯度信息來訓(xùn)練新加入的弱分類器,然后將訓(xùn)練好的弱分類器以累加的形式結(jié)合到現(xiàn)有模型中。在每一輪迭代中,首先計算出當前模型在所有樣本上的負梯度,然后以該值為目標訓(xùn)練一個新的弱分類器進行擬合并計算出該弱分類器的權(quán)重,最終實現(xiàn)對模型的更新。
2.3.5 極端梯度提升XGBoost
XGBoost[24]是在GBDT算法的基礎(chǔ)上改進的模型,其目標函數(shù)為:
(13)
其中:l為平方損失函數(shù);yi為真實值;Ft-1(xi)為現(xiàn)有的t-1棵樹最優(yōu)解;ft(xi)為第t棵樹預(yù)測的殘差值;Ω(ft)為樹的復(fù)雜度。
XGBoost有特定的準則來選取最優(yōu)分裂。通過將預(yù)測值代入到損失函數(shù)中可求得損失函數(shù)的最小值為:
(14)
其中:Gj為葉子節(jié)點j所包含樣本的一階偏導(dǎo)數(shù)累加之和;Hj為葉子節(jié)點j所包含樣本的二階偏導(dǎo)數(shù)累加之和;λ為正則化項的系數(shù);γ為一個葉子節(jié)點的復(fù)雜度;T為葉子節(jié)點的數(shù)量。
計算出分裂前、后損失函數(shù)的差值為:
(15)
XGBoost采用最大化該差值作為準則來進行決策樹的構(gòu)建,通過遍歷全部特征的所有取值,尋找使得損失函數(shù)前、后相差最大時對應(yīng)的分裂方式。
2.3.6 逆向傳播神經(jīng)網(wǎng)絡(luò)BPNN
BPNN[25]是一種多層前饋神經(jīng)網(wǎng)絡(luò),信息可以在神經(jīng)網(wǎng)絡(luò)中交替地向前、向后傳播。
對每個樣本,BPNN執(zhí)行以下操作:將輸入樣本提供給輸入層神經(jīng)元,逐層將信號前傳,直到產(chǎn)生輸入層的結(jié)果;計算輸出層的誤差,再將誤差逆向傳播至隱層神經(jīng)元;最后根據(jù)隱層神經(jīng)元的誤差來對連接權(quán)重和閾值進行調(diào)整。該迭代過程循環(huán)進行,直到達到某些停止條件為止。
本文采用4層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其中輸入層的特征參數(shù)為n、T、V、p,輸出層為Pin,b1和b2為偏置參數(shù),G()函數(shù)為激活函數(shù)。
BPNN結(jié)構(gòu)如圖4所示。
圖4 BPNN結(jié)構(gòu)
由于算法模型的差異,模型的超參數(shù)也不相同。6種模型的超參數(shù)與取值見表2所列,其中所有的超參數(shù)均為調(diào)參之后的結(jié)果。
表2 模型超參數(shù)
2.4.1 交叉驗證
機器學習建模過程是將數(shù)據(jù)劃分成訓(xùn)練集和測試集。測試集是與訓(xùn)練集獨立的數(shù)據(jù),完全不參與訓(xùn)練,只用于最終的模型評估。模型在驗證數(shù)據(jù)中的評估和超參數(shù)選取常用K折交叉驗證法。本文采用5折交叉驗證,如圖5所示。
圖5 K-Fold 5折交叉驗證
原始數(shù)據(jù)被分成K組,依次將每組數(shù)據(jù)作為驗證集、其余K-1組數(shù)據(jù)作為訓(xùn)練集,最終將K個模型的誤差加權(quán)平均得到交叉驗證誤差。
2.4.2 評價函數(shù)
評價函數(shù)反映了任務(wù)需求,在對比不同模型的性能時,使用不同的性能度量會導(dǎo)致不同的評判結(jié)果。評估學習器f的性能,需要將學習器預(yù)測結(jié)果f(x)與真實標簽y進行比較。
回歸任務(wù)最常用的性能度量是均方根誤差(root mean squared error,RMSE),即
(16)
在本文的數(shù)據(jù)集中,可能會存在個別偏離程度非常大的離群點,即使少量的離群點也會讓RMSE指標變差。因此選擇魯棒性更好的平均絕對百分比誤差(mean absolute percentage error,MAPE)為:
(17)
MAPE不僅考慮預(yù)測值與真實值的誤差,還考慮了誤差與真實值之間的比例。相較于RMSE,MAPE相當于將每個點的誤差進行了歸一化,降低了個別離群點帶來的絕對誤差的影響。
當利用數(shù)據(jù)擬合一個回歸模型,還需要度量模型對觀測值擬合的好壞,決定系數(shù)R2為度量模型擬合優(yōu)度的一個指標,即
(18)
本文采用RMSE、MAPE和決定系數(shù)3種評價方法共同作為衡量模型性能的指標。
對上述6種能耗預(yù)測模型性能進行對比分析,結(jié)果見表3所列。
表3 算法模型性能評價指標值
最好的能耗預(yù)測模型應(yīng)該有最小的ERMS和PMAE以及最大的R2。從表3可以看出:XGBoost模型在測試集上具有最小的ERMS(76.252)、最小的PMAE(3.407)和最大的R2(0.988);GBDT模型在3個指標上的表現(xiàn)僅次于XGBoost模型;SVM模型的泛化能力較好,訓(xùn)練集與測試集的誤差最小;嶺回歸模型在訓(xùn)練集和測試集上的表現(xiàn)較好;BPNN在測試集上的ERMS和PMAE均較差,比XGBoost模型高3倍左右;隨機森林方法在測試集上的誤差最大。此外,XGBoost模型訓(xùn)練時長為16.38 s,僅次于SVM和嶺回歸模型。各種算法訓(xùn)練時長見表4所列。
表4 交叉驗證的算法訓(xùn)練時長
綜合考慮能耗預(yù)測模型精度和訓(xùn)練時長,XGBoost模型是適用于變速變排量液壓驅(qū)動單元能耗預(yù)測的機器學習模型。
然而,采用獨立模型對原始數(shù)據(jù)進行訓(xùn)練容易發(fā)生過擬合。而多種模型有效堆疊的集成學習方法(stacking)可以集成不同算法的優(yōu)勢,從而在多個維度去優(yōu)化模型,提高了能耗模型的泛化能力和魯棒性。stacking是一種分層模型集成框架。以2層為例,第1層由多個基學習器組成,其輸入為原始訓(xùn)練集,第2層的模型則是以第1層基學習器的輸出作為訓(xùn)練集進行再訓(xùn)練,從而得到完整的stacking模型。鑒于6個模型在訓(xùn)練集和測試集上的表現(xiàn),將stacking的第1層的基學習器由SVM、GBDT、隨機森林、BPNN和XGBoost模型組成,第2層的元模型為嶺回歸。從表3可以看出,stacking模型在測試集上的表現(xiàn)和泛化能力均好于所有獨立模型。
本文基于機器學習方法建立了7種變速變排量液壓驅(qū)動單元能耗預(yù)測模型,即SVM、嶺回歸、隨機森林、GBDT、XGBoost、BPNN和堆疊的集成學習模型,通過模型評估得到以下結(jié)論:
(1) 在建立的6種獨立的能耗預(yù)測模型中,XGBoost模型具有最好的預(yù)測性能,且預(yù)測精度明顯優(yōu)于其他機器學習模型;GBDT模型的表現(xiàn)性能僅次于XGBoost模型;嶺回歸和SVM模型表現(xiàn)一般;BPNN模型的預(yù)測性能比XGBoost模型差了3倍左右,且表現(xiàn)性能差異較大;隨機森林模型在測試集上的表現(xiàn)最差。XGBoost模型在變速變排量液壓泵驅(qū)動單元的能耗預(yù)測上具有優(yōu)勢。
(2) 多種模型有效堆疊(stacking)的集成學習方法融合了多個模型的優(yōu)點,不僅在測試集上有著最好的效果,而且提高了模型的泛化能力,使模型具有了更好的穩(wěn)定性。
(3) 雖然本文通過機器學習方法解決了變速變排量液壓驅(qū)動單元的能耗建模問題,但由于采集到的數(shù)據(jù)量有限,樣本的特征數(shù)較少。在后續(xù)的工作中將考慮豐富數(shù)據(jù)量和特征維度,并考慮運用深度學習的方法,進行更深層次的能耗建模,以便其能應(yīng)用于變速變排量液壓驅(qū)動單元的技能控制策略中。