辛 宇, 陳 興, 許素安, 富雅瓊, 徐紅偉
(中國計量大學機電工程學院,浙江 杭州 310018)
隨著我國經濟迅速發展,交通運輸量也急劇增加,超載愈加嚴重。車輛動態稱重系統是治理超載超限一個有效手段,并且隨著技術的進步,可以有效地解決省界收費站取消后的超限超載難治理的問題,但如何提高稱重精度仍是系統發展的重點和核心[1-2]。其中一個難點是在路面激勵、車速、車輛振動等因素的影響下,將稱重傳感器采集到的真實信號分離出來[3]。宋文鳳[4]提出了加權-滑動平均濾波組合算法對信號處理,楊軍[5]利用卡爾曼濾波算法濾除周期性干擾信號效果明顯,但以上算法應對偶然出現的脈沖性干擾的抑制效果不佳,車輛高速狀態下效果差。另一個核心是建立合適的稱重模型進行校正。陳超波[6]通過構建RBF神經網絡(radial basis function neural network)動態稱重模型對車重進行擬合,有效降低了稱重誤差。王春香[7]利用基于遺傳算法的多段曲線擬合車重,濾除了低速干擾信號的影響。郝曉嫻[8]通過建立BP神經網絡稱重模型提高了處理精度。上述模型在實際應用中仍存在許多不足,如最小二乘法擬合僅適用于低速,神經網絡法收斂慢、迭代數多、易陷入局部最小和全局搜索能力不足等缺點。
針對上述算法及模型的不足,本文從減少噪聲干擾及提高動態稱重精度出發,利用小波變換對稱重信號進行濾波及信號重構。針對神經網絡收斂速度慢、易陷入局部極值的問題,提出了遺傳算法結合粒子群算法對神經網絡進行優化的動態稱重模型,通過濾波算法預處理及建立稱重模型校正,實現對車輛動態稱重信號的高精度處理。
動態稱重系統主要由工型主梁一體化秤臺、嵌入式應變傳感器、信號處理電路、地感線圈、工控機、云平臺等部分組成,圖1為動態稱重系統的結構圖[9]。動態稱重系統首先將焊接好的秤臺與公路采用高強度混凝土澆筑連接,秤臺平面與路面水平,使稱重設備與公路之間同平面無間隙。垂直行車方向的單個工型梁上安裝兩個嵌入式應變傳感器。當車輛行駛經過稱臺時,秤臺上承受的壓力導致結構梁及應變片發生形變,將質量信號轉換為差分信號;信號處理電路將傳感器傳來的信號進行放大、濾波處理;工控機對電壓信號進一步處理運算得到車輛修正后的動態質量,并將處理結果上傳至云平臺。
圖1 動態稱重系統結構圖
動態稱重信號中包含著各種噪聲,可以分為低頻隨機振動噪聲干擾和高頻噪聲干擾[10],動態稱重信號主要表現為低頻信號,影響稱量精度的最主要因素是高頻噪聲。
車輛通過秤臺產生的理想波形為梯形波,梯形波的上底表示為車輛駛過秤臺的波形,實際的波形受車速、車輛振動、路面激勵、環境等因素影響,因此想要提高動態稱重精度,首先需要對信號進行去噪處理,使采集波形接近理想波形[11]。
Daubechies小波函數(簡稱dbN小波,N是小波的階數)對不規則信號較為敏感,在信號分析上應用廣泛[12],db4小波為緊支撐正交實小波,正交性好、消失矩大,在時頻域分析中優勢明顯,為了獲得被干擾信號淹沒的真實動態稱重信號,可以利用db4小波對稱重信號進行多層分解并重構,減小噪聲信號的干擾。除N=1(Harr小波)外,dbN沒有明確的公式表達,小波函數可以由尺度函數以及濾波器系數求出,是的位移加權和,公式如下:
db4小波函數和尺度函數如圖2所示。
圖2 db4小波函數與其尺度函數
設連續函數 f (x)∈L2(R),則以db4作為基本小波的連續小波變換為:
式中:a——伸縮因子;
b——平移因子;
式中,t為離散時間參數,m為伸縮因子,n為平移因子;通常選取 a0=b0=2,其對應的變換為二進制離散小波變換。
1)確定小波類型及小波分解的層次。
2)高頻系數閾值選擇。選擇第一層到第N層的閾值。
3)根據第N層的低頻系數和第一層到第N層的高頻系數,對信號進行分解和重構。
4)本文采用db4小波分解函數對信號進行5層分解:
其中wavedec是一個小波分解函數,x5為被分解的函數,5表示分解的層數,db4表示采用的小波分解函數。圖3和圖4分別表示為對信號進行去噪重構前、重構后的結果。通過小波變換去噪重構的信號波形更接近于理想信號,保證了動態車重獲取的準確性及稱重模型建立可靠性。
圖3 小波變換去噪前波形
圖4 小波變換去噪后波形
粒子群算法是一種并行隨機搜索的算法,在個體適應度條件下進行全局搜索,迭代更新每一個粒子的速度和位置,并保存個體和集體極值,能短時間內精準接近目標,但尋優過程中易陷入局部極值。遺傳算法同粒子群算法類似,都是基于種群及種群適應度。遺傳算法具有良好的并行計算能力和全局搜索能力,但在種群迭代更新中存在信息丟失,并不會將個體的信息進行保存,易出現收斂緩慢或停止的現象[14]。針對兩種算法的缺陷,本文將遺傳算法中交叉、變異操作引入粒子群算法完成對粒子進行更新,使算法具備了遺傳算法全局收斂和粒子群算法收斂速度快的優點。
PSO算法尋優是每個粒子在迭代過程中對其速度和位置進行更新:
為了防止在迭代過程中粒子運動范圍過大或速度太快,還需要設置參數對粒子的位置和速度進行更新并加以限制。
混合算法中首先更新粒子的速度項,不再利用慣性系數乘以原始速度,而是將粒子速度進行變異操作,用遺傳算法的變異概率替換速度項 ω Vi(k),然后讓粒子分別先后與個體極值、全局極值進行交叉操作,用遺傳算法的交叉概率進行替換。最后將經過遺傳處理的粒子及其對應的速度項相加,完成粒子的更新。
GA-PSO算法能夠有效地克服BP算法的局部最優的缺陷,迭代優化網絡的權值和閾值[15],GAPSO-BP的算法流程(見圖5)如下:
圖5 GA-PSO-BP算法流程
1)初始化神經網絡。確定BP神經網絡的網絡結構及基本參數。
式中:l——輸出節點數;
3)粒子群的迭代。計算更新粒子的速度和位置及粒子的適應度,得到新種群。
6)判斷粒子群迭代次數會否大于最大迭代數,或者適應度函數的值是否優于前一代,以最優個體值作為神經網絡參數。
2019年10月至12月在浙江某汽車動態稱重設備測試現場進行了設備布置,對車輛動態情況下的稱重系統進行了實驗測試。
實驗前對6輛車進行靜態標定,獲取車輛的靜態車重。測試并記錄各車輛通過秤臺的動態車輛速度及軸數,試驗車輛如表1所示:選取二軸、四軸、六軸貨車各2輛,總共6種不同載荷,實驗總共采集數據189組。
表1 實驗基礎數據
選取車輛動態稱重擬合值作為神經網絡輸出,預處理后的動態車重、車速、車輛軸數作為BP網絡輸入,進行訓練。本實驗中PSO種群規模,粒子維度D=36,c1=c2=2,收斂精度E=0.001,遺傳算法交叉概率Pc=0.7,變異概率Pm=0.2。BP網絡輸入節點數為3,隱含層節點數為5,輸出節點數為1,訓練次數設置為1000,學習速率設置為0.1,目標誤差為0.0001。每種車型隨機挑選兩個樣本,共選取12組樣本作為測試數據,剩下的177組數據作為訓練樣本進行模型訓練。
首先通過mapminmax函數對輸入輸出數據進行歸一化和反歸一化處理,提高樣本的收斂速度,選擇學習效率高且迭代誤差減小幅度較大的trainlm函數作為學習函數,誤差較小的tansig正切函數作為輸入層到隱含層傳遞函數,purelin線性函數作為隱含層到輸出層的傳遞函數。
實驗以靜態質量為22560 kg的四軸貨車為例,構建GA-PSO-BP稱重模型,并與BP模型、PSOBP模型及靜態車重、原始數據進行對比分析,如圖6所示。在各擬合曲線中,BP、PSO-BP稱重模型由于易陷入局部最優解的缺陷,與靜態車重的值相差較大,從GA-PSO-BP模型的擬合曲線來看通過GA和PSO模型的優勢互補,預測值與靜態車重能夠較好地吻合。
圖6 多模型預測質量對比圖
PSO-BP神經網絡適應度函數值和GA-PSOBP神經網絡的適應度函數值如圖7所示,混合算法優化的網絡模型收斂速度和最優個體適應度值都好于PSO-BP模型,經過100代的迭代,GA-PSOBP的最優個體適應度函數值為0.0501,PSO-BP得到的適應度函數值為0.7358。
圖7 最優個體適應度變化曲線
為驗證訓練完成的GA-PSO-BP神經網絡驗證動態稱重模型的準確性及優越性,將選取的12組測試樣本用于驗證,由表2可知,最大稱重誤差降至 0.9849%,稱重結果滿足 JJG 907—2006《車輛自動衡器檢定規程》中1級秤的規定誤差不超過1%的要求。
表2 GA-PSO-BP模型對車動態稱重數據擬合結果
本文提出了一種基于小波變換和GA-PSO-BP神經網絡動態稱重模型。通過對信號的濾波重構,降低了復雜環境對真實稱重信號獲取的影響。融合粒子群算法全局尋優及遺傳算法的并行計算的優點,有效克服了BP神經網絡易陷入局部極值的問題,提高了收斂速度,并用訓練好的網絡對稱重數據進行了驗證。實驗結果表明,模型所需樣本少,精度高,能有效地將車輛的稱重誤差控制在1%以內,稱重結果達到國標JJG907—2006《車輛自動衡器檢定規程》中的1級標準。該方法的應用可以為解決省界收費站取消以后的治理超限超載提供有效助力。