周 鵬,郭菁菁,李 冬,于文達
(1.沈陽建筑大學科學技術研究院,遼寧 沈陽 110168;2.沈陽建筑大學交通工程學院,遼寧 沈陽 110168;3.沈陽建筑大學機械工程學院,遼寧 沈陽 110168)
近年來,隨著國家建筑產(chǎn)業(yè)的發(fā)展和技術的提升,裝配式建筑成為建筑領域的發(fā)展熱點。而混凝土預制構(gòu)件是重要的裝配式建筑品部件,其采用工業(yè)化生產(chǎn)方式。與現(xiàn)澆混凝土生產(chǎn)方式相比,在工廠中生產(chǎn)的預制混凝土構(gòu)件具有安全、環(huán)保、耐用、可維護等諸多優(yōu)點[1-3],其需求量也越來越大。為提高預制購件的產(chǎn)量,大多數(shù)工廠選擇購買國外的混凝土預制構(gòu)件生產(chǎn)設備,這在很大程度上制約了我國高端裝備制造業(yè)的發(fā)展和工程裝備能力的提高,同時也增加了成本,成為我國預制裝配建筑產(chǎn)業(yè)發(fā)展的瓶頸問題。因此,需要研發(fā)出適合我國國情的具有自主知識產(chǎn)權的混凝土預制構(gòu)件生產(chǎn)設備。
螺旋式混凝土布料機是混凝土預制構(gòu)件生產(chǎn)中的重要設備,目前主要采用人工控制方式進行布料生產(chǎn)[4-5]。面對預制混凝土構(gòu)件生產(chǎn)方式的變革,原有混凝土布料機的人工控制方式已經(jīng)無法滿足產(chǎn)業(yè)發(fā)展需求,急需向自動化、信息化及智能化方向轉(zhuǎn)變。
混凝土布料機螺旋輸送量模型是實現(xiàn)自動化布料的重要模型,主要用于給出布料重量控制目標值,其計算精度直接決定布料重量控制系統(tǒng)的穩(wěn)定性,也影響最終布料生產(chǎn)的構(gòu)件重量精度。傳統(tǒng)混凝土布料機螺旋輸送量計算模型的很多參數(shù)均依靠經(jīng)驗確定,如物料堆積密度、填充系數(shù)等,導致現(xiàn)有模型輸送量計算精度低,無法用于布料重量控制目標值的設定,進而也限制了產(chǎn)業(yè)升級進程。
人工神經(jīng)網(wǎng)絡方法可以高精度的逼近任意非線性函數(shù),被廣泛應用于模型預報[6],如Yun S.W.等應用BP神經(jīng)網(wǎng)絡進行油藏預測,提高了油藏量預測的精度[7];Islam Badar等應用BP神經(jīng)網(wǎng)絡進行非常短期的電能需求預測,取得了很好的效果[8];Kamal U.A.等利用神經(jīng)網(wǎng)絡模型預測湖泊的水污染情況,結(jié)果表明神經(jīng)網(wǎng)絡模型的預測誤差小于回歸模型的預測誤差[9]。上述應用案例為采用神經(jīng)網(wǎng)絡預報混凝土布料機螺旋輸送量的可行性提供了有力支撐,為此,本文基于螺旋輸送機理模型和BP神經(jīng)網(wǎng)絡基本原理,研究布料機的螺旋輸送量智能預報方法,并通過實驗對預報方法進行驗證。
混凝土布料機分為攤鋪式布料機和螺旋式布料機,與攤鋪式布料機相比,螺旋布料機布料更精細,因此將對螺旋布料機輸送量進行研究。螺旋布料機結(jié)構(gòu)如圖1所示。
圖1 螺旋混凝土布料機結(jié)構(gòu)圖
在混凝土布料機輸送混凝土的過程中,螺旋葉片在布料機布料口腔體中,通過旋轉(zhuǎn)的方式不停推撥混凝土,使混凝土隨著螺旋葉片上下翻滾,同時還會隨著螺旋葉片的旋轉(zhuǎn)沿軸向布料口出口方向運動,其單位時間內(nèi)通過布料口出口橫截面的混凝土體積即為螺旋輸送量,行業(yè)內(nèi)通常采用式(1)對螺旋輸送量進行計算
Q=3600SρVz
(1)
式中:Q為布料機的螺旋輸送量,S為螺桿中混凝土層的橫截面積,m2;ρ為混凝土的堆積密度,t/m3;Vz為螺桿內(nèi)混凝土的軸向輸送速度,m/s。
料層橫斷面面積為
(2)
式中:D為螺旋葉片直徑,m;d為螺旋軸直徑,m;Ψ為填充系數(shù);c為傾斜修正系數(shù)。
Vz按下式計算
(3)
式中:P為螺距,m;n為螺桿轉(zhuǎn)速,r/min。
將式(2)和式(3)代入式(1),得布料機螺旋輸送量
Q=47ψPcnρ(D2-d2)
(4)
由于混凝土布料機的影響因素與輸送量關系為非線性,而BP神經(jīng)網(wǎng)絡對非線性系統(tǒng)的預報效果很好,因此將采用BP神經(jīng)網(wǎng)絡進行布料機輸送量的預報。BP神經(jīng)網(wǎng)絡分為信息的正向傳播與誤差的反向傳播兩個部分,本節(jié)將對這兩個部分進行設計以實現(xiàn)輸送量的智能預報。
BP神經(jīng)網(wǎng)絡讀取布料機螺桿轉(zhuǎn)速,螺距以及混凝土配比的輸入數(shù)值后,按照正向傳播方向,即依次經(jīng)過輸入層、隱含層和輸出層的處理后,才能得出布料機輸送量的預測值。所以,下面依次對此BP神經(jīng)網(wǎng)絡的輸入層、隱含層和輸出層進行設計。
1)輸入層設計
輸入層神經(jīng)元個數(shù)對布料機輸送量BP神經(jīng)網(wǎng)絡的穩(wěn)定及預測準確度有重要影響,一般依據(jù)預測對象的影響因素來確定。
由螺旋輸送量機理預報模型相關計算式(1)~(4)可知,布料機輸送量的影響因素主要包括:摩擦系數(shù)、混凝土配比、填充系數(shù)、螺桿轉(zhuǎn)速、螺距、螺桿外徑和螺旋軸直徑等。其中,摩擦系數(shù)與混凝土性質(zhì)及螺桿材料有關,對于指定的混凝土布料機,其所采用材料是確定的,所以摩擦系數(shù)對布料機輸送量影響主要由混凝土性質(zhì)決定;因螺桿填充系數(shù)主要受螺桿轉(zhuǎn)速和混凝土性質(zhì)影響,所以可直接采用這兩個因素代替螺桿填充系數(shù)計算布料機輸送量[10];因螺桿外徑和內(nèi)徑相對于其它因素來說,對螺旋輸送量影響明顯偏小[11],所以可忽略這兩個因素對輸送量的影響。綜上,混凝土配比、螺桿轉(zhuǎn)速和螺距這三個影響因素確定為布料機輸送量BP神經(jīng)網(wǎng)絡的輸入量,每個因素對應一個輸入神經(jīng)元。
為避免輸入量物理單位不一致影響神經(jīng)網(wǎng)絡的預報效果,采用式(5)對螺距、螺桿轉(zhuǎn)速和混凝土配比的值進行歸一化處理
(5)
式中:xi為樣本原始數(shù)據(jù);xmin和xmax分別為所有數(shù)據(jù)中的最小值和最大值;ymin和ymax分別為輸入數(shù)據(jù)規(guī)劃范圍的下限和上限,ymin=-1,ymax=1。
被歸一化的輸入數(shù)據(jù)被送入輸入層神經(jīng)元進行計算處理,輸入層神經(jīng)元計算采用logsig(log-sigmoid)作為傳遞函數(shù),其傳遞函數(shù)計算式為
(6)
歸一化后螺距、螺桿轉(zhuǎn)速和混凝土配比分別為I1=[p1,p2,…,pn],I2=[n1,n2,…,nn],I3=[g1,g2,…,gn],則輸入層的輸出為
(7)
2)隱含層設計
隱含層設計包括隱含層的層數(shù)以及每層的神經(jīng)元數(shù)的設計。據(jù)cybenko證明,擁有一層隱含層的神經(jīng)網(wǎng)絡即可逼近任何非線性函數(shù)[12],所以布料機輸送量BP神經(jīng)網(wǎng)絡的隱含層數(shù)選為1層。
對于隱含層神經(jīng)元,其數(shù)量越多,不僅會使神經(jīng)網(wǎng)絡的函數(shù)映射越復雜,還會使網(wǎng)絡收斂越慢、訓練時間更長,甚至會導致神經(jīng)網(wǎng)絡出現(xiàn)過擬合,從而降低網(wǎng)絡容錯性。對于本文研究的螺旋輸送系統(tǒng),隱含不可避免的輸送量影響因素還有螺桿的磨損b=[b1,b2,…,bn],溫度t=[t1,t2,…,tn],螺桿振幅a=[a1,a2,…,an]等很多因素,它們之間的關系如式(8)所示
(8)
目前,隱含層神經(jīng)元數(shù)量主要依據(jù)經(jīng)驗式(9)來計算
(9)
式中:J為隱含層神經(jīng)元數(shù);m為輸入層神經(jīng)元數(shù);u為輸出層神經(jīng)元數(shù);z為1~10之間的常數(shù)。
對于隱含層傳遞函數(shù)采用與輸入層傳遞函數(shù)相同的形式,見式(10)所示,而其輸出計算式為
i=1,2,3,j=1,2,…,J
(10)
2)輸出層設計
因采用BP神經(jīng)網(wǎng)絡螺旋輸送量模型預報的是布料機輸送量,所以輸出層神經(jīng)元數(shù)量為1。輸出層神經(jīng)元的傳遞函數(shù)采用純線性(purelin)函數(shù),即采用式(11)來計算BP神經(jīng)網(wǎng)絡的螺旋輸送量預報模型
(11)
式中:O為輸出層神經(jīng)元實際輸出,wj為隱含層第j個神經(jīng)元到輸出層神經(jīng)元的連接權值,其初始值通常也是隨機產(chǎn)生,θ為輸出層神經(jīng)元的閾值。
BP神經(jīng)網(wǎng)絡采用誤差反向傳播方式調(diào)節(jié)各層權值,使網(wǎng)絡輸出值逐漸趨于目標值。具體做法是:求出輸出節(jié)點誤差,采用誤差梯度下降法(trainlm)修正各層連接權值和閾值,由輸出層到隱含層逐層修正,形成反向傳播,經(jīng)過多次反向傳播修正,直至BP神經(jīng)網(wǎng)絡輸出誤差減少到指定目標精度范圍內(nèi),輸出最終預測結(jié)果。
1)輸出層節(jié)點連接權值與閾值的修正
輸出節(jié)點的均方誤差為
(12)
式中,E為輸出節(jié)點的均方誤差;Ot為輸出層神經(jīng)元的期望輸出,p為樣本數(shù)。
均方誤差對輸出節(jié)點連接權值求導,得
(13)
E是多個Op的函數(shù),各Op間相互獨立。
設輸出節(jié)點誤差為δ=(Ot-O),則
(14)
采用誤差梯度下降法修正連接權值,則
(15)
(16)
式中:η為學習速率,η∈(0,1),k為訓練步數(shù)。
均方誤差對輸出節(jié)點閾值求導,得
(17)
根據(jù)誤差梯度下降法對閾值修正得
(18)
θ(k+1)=θ(k)+Δθ=θ(k)-ηδ
(19)
2)隱含層節(jié)點連接權值與閾值的修正
隱含層節(jié)點連接權值與閾值的修正方法與均方誤差對隱含層節(jié)點連接權值求導,得
(20)
(21)
采用誤差梯度下降法修正連接權值,則
(22)
(23)
在對網(wǎng)絡各層連接權值修正的同時,閾值也要被修正。均方誤差對隱含層節(jié)點閾值求導
(24)
根據(jù)誤差梯度下降法對隱含層閾值修正得
(25)
qj(k+1)=qj(k)+Δqj=qj(k)-ηδj
(26)
將修正后的連接權值和閾值代入式(10)和(11)并計算均方誤差直至其小于0.001,輸出布料機輸送量的預測值。
綜上,設計的三層BP神經(jīng)網(wǎng)絡螺旋輸送量預報模型結(jié)構(gòu)如圖2所示,其輸入層有3個神經(jīng)元,它們對應的輸入量依次為螺距、螺桿轉(zhuǎn)速和混凝土配比,輸出為布料機輸送量。
圖2 輸送量BP神經(jīng)網(wǎng)絡結(jié)構(gòu)
1)算法參數(shù)初始化。隨機產(chǎn)生隱含層和輸出層的閾值初始值、輸入層到隱含層以及隱含層到輸出層的連接權值初始值。
2)輸入數(shù)據(jù)歸一化處理。輸入影響因素數(shù)據(jù)及其對應輸出值構(gòu)成的樣本數(shù)據(jù)集,采用式(5)對樣本輸入數(shù)據(jù)進行歸一化處理。
3)樣本數(shù)據(jù)輸入的正向傳播計算。對樣本輸入影響因素,依次按照式(7)、(10)和(11)計算神經(jīng)網(wǎng)絡輸出值,即螺旋輸送量預報值。
4)誤差計算與判斷。按式(12)進行均方誤差的計算,若均方誤差小于目標誤差,則將y=O代入式(5),進行輸出數(shù)據(jù)的反歸一化處理,輸出最終BP神經(jīng)網(wǎng)絡的輸送量預報值;否則進行步驟5),并重復步驟3)和4)。
5)連接權值和閾值的修正。按式(16)和(19)進行輸出層連接權值和閾值計算,按式(23)和式(26)進行隱含層連接權值和閾值計算,并計算輸送量。
圖3 BP神經(jīng)網(wǎng)絡計算流程圖
為驗證布料機輸送量BP神經(jīng)網(wǎng)絡預報模型的效果,對基于經(jīng)驗參數(shù)的傳統(tǒng)螺旋輸送量解析模型以及本文設計的布料機輸送量BP神經(jīng)網(wǎng)絡預報模型進行仿真,并分析比較二者仿真效果。
為達到上述目的,首先對實驗條件及樣本數(shù)據(jù)的獲取進行說明介紹;其次,對布料機輸送量BP神經(jīng)網(wǎng)絡預報模型的結(jié)構(gòu)參數(shù)進行調(diào)試優(yōu)化;最后,進行實驗對比并分析效果。
為實現(xiàn)后續(xù)BP神經(jīng)網(wǎng)絡螺旋輸送量預報的仿真,需要樣本數(shù)據(jù)和實驗驗證數(shù)據(jù)。由于預制構(gòu)件廠的布料機體積大,很難準確對混凝土進行稱重來評估布料機輸送量BP神經(jīng)網(wǎng)絡的預報效果。因此按照容積5:1的比例對工廠布料機進行縮小,搭建了實驗平臺,使用PLC對螺桿轉(zhuǎn)速等進行控制,并通過電子天平來測量布料機輸送的混凝土重量。
實驗平臺的尺寸參數(shù)為:D=105mm,d=52mm,傾斜角度為0°。由傾斜角度及混凝土粒徑查經(jīng)驗數(shù)據(jù)可確定螺桿修正系數(shù)c=1,填充率Ψ=0.3。
根據(jù)實驗臺參數(shù),取螺距P=[90,100,105]mm,螺桿轉(zhuǎn)速n=[15,30,50,60]r/min,以及四種行業(yè)內(nèi)常用的混凝土配比。將以上三種因素的數(shù)據(jù)進行隨機排列組合,取36組進行實驗測出每組數(shù)據(jù)下不同的輸送量值,作為樣本數(shù)據(jù)。
從實驗獲得的36組數(shù)據(jù)中隨機選擇30組數(shù)據(jù),用作BP神經(jīng)網(wǎng)絡的訓練數(shù)據(jù),剩余6組數(shù)據(jù)作為實驗驗證數(shù)據(jù)。并使用平均相對誤差來表征預測誤差。
為使設計的BP神經(jīng)網(wǎng)絡螺旋輸送量預報模型通過有限的訓練達到較好的預報效果,分別對隱層神經(jīng)元數(shù)量以及學習速度速率進行調(diào)試優(yōu)化。
由第2節(jié)可知,本文設計BP神經(jīng)網(wǎng)絡螺旋輸送量模型的輸入層神經(jīng)元數(shù)為3,輸出層神經(jīng)元數(shù)為1,代入式(7)可得隱含層神經(jīng)元數(shù)范圍區(qū)間為3~12。根據(jù)圖2中建好的神經(jīng)網(wǎng)絡模型,固定學習速率為0.01,令隱含層神經(jīng)元數(shù)J=[3,4,5,6,7,8,9,10,11,12],使用隨機選擇的30組數(shù)據(jù)進行訓練,剩余6組數(shù)據(jù)進行預測,逐個計算每個隱含層神經(jīng)元數(shù)量對應的神經(jīng)網(wǎng)絡預測誤差。所以每組仿真反復進行15次,記錄15次仿真中最小的預測誤差值,如表1所示。
表1 不同隱含層神經(jīng)元數(shù)下的預測效果
由表1中各個隱含層節(jié)點數(shù)量對應的預測誤差可知,當隱含層節(jié)點數(shù)為3時,對應預測誤差最小,所以,隱含層神經(jīng)元數(shù)量確定為3。
在確定BP神經(jīng)網(wǎng)絡螺旋輸送量預報模型的基礎上,調(diào)試網(wǎng)絡的學習速率,以提高神經(jīng)網(wǎng)絡在有限訓練次數(shù)內(nèi)的收斂速度及效果。學習速率一般采用試錯法,其取值范圍通常在0.001~0.8之間。為兼顧學習速率調(diào)節(jié)的快速性及效果,當其在0.001~0.01之間時,設置變化步長為0.001;當學習速率在0.1~0.8之間時,設置變化步長為0.01。根據(jù)圖2中建好的神經(jīng)網(wǎng)絡模型,固定隱含層神經(jīng)元數(shù)為3,使用隨機選擇的30組數(shù)據(jù)進行訓練,剩余6組數(shù)據(jù)進行預測,逐個計算每個學習速率對應的神經(jīng)網(wǎng)絡預測誤差。每組仿真反復進行15次,記錄15次仿真中最小的且小于0.1的預測誤差值,如表2所示。
表2 不同學習速率下的預測效果
由表2知,當學習速率為0.43時預測誤差為最小值,即0.0389,所以學習速率設置為0.43。
至此,布料機輸送量BP神經(jīng)網(wǎng)絡模型參數(shù)已調(diào)試完成,對調(diào)試好的模型進行仿真,如圖4所示。
圖4 仿真結(jié)果曲線
采用剩余6組數(shù)據(jù)分別使用螺旋輸送量機理預報模型式(4)和BP神經(jīng)網(wǎng)絡螺旋輸送量預報模型進行預報,兩個模型輸出的預報結(jié)果與實際測量結(jié)果進行對比,如圖5所示。螺旋輸送量機理模型以及BP神經(jīng)網(wǎng)絡螺旋輸送量模型預報值的平均相對誤差如圖6所示。
圖5 螺旋輸送量期望值與預報值對比效果圖
圖6 兩種模型預報的平均相對誤差對比圖
從圖5可以看出,BP神經(jīng)網(wǎng)絡螺旋輸送量預報模型的預報值明顯比螺旋輸送量機理模型的計算值更接近實際輸送量值。由圖6可進一步看到,BP神經(jīng)網(wǎng)絡螺旋輸送量預報模型的預測誤差在0.0389附近波動;而機理預報模型的預測誤差則波動較大。綜上可知,基于BP神經(jīng)網(wǎng)絡的螺旋輸送量模型預報精度明顯高于基于經(jīng)驗數(shù)據(jù)的螺旋輸送量機理預報模型,且預報值振幅小,計算結(jié)果更加穩(wěn)定。
預制構(gòu)件混凝土布料機進行自動布料重量控制時,因基于經(jīng)驗值的螺旋輸送量機理預報模型計算精度低,導致重量控制系統(tǒng)因缺少準確目標設定值而無法充分發(fā)揮其性能。為此,結(jié)合螺旋輸送量預報機理,以輸送物料性質(zhì)、轉(zhuǎn)速和螺距這三個主要影響因素為輸入量,以螺旋輸送量為輸出,通過參數(shù)調(diào)試提出并建立了基于BP神經(jīng)網(wǎng)絡的螺旋輸送量智能預報模型,其模型結(jié)構(gòu)為3-3-1。在此基礎上開展仿真,結(jié)果表明,與基于經(jīng)驗數(shù)據(jù)的螺旋輸送量機理模型計算數(shù)據(jù)相比,基于BP神經(jīng)網(wǎng)絡的螺旋輸送量預報精度高,且計算結(jié)果平穩(wěn)性好,不會出現(xiàn)過大振動,體現(xiàn)出良好的準確性和穩(wěn)定性,可用于混凝土布料重量自動控制系統(tǒng)目標值的設定,為預制混凝土構(gòu)件重量的自動化和智能化控制奠定基礎。