彭鵬峰,許新權,趙曉敏
(1.廣東工貿職業技術學院汽車工程學院,廣東 廣州 510510;2.東南大學交通學院,江蘇 南京 210096)
貨車超載危害極大,不僅損害公路、橋梁和車輛自身,而且容易引發交通事故[1]。在貨車肇事的道路交通事故中,有60%以上是由于超載運輸引起,對貨車進行超載檢測是維護良好的道路交通秩序、減少交通事故的重要手段[2]。目前,貨車超載檢測主要是基于安裝到道路上的稱重設備[3-4],因路網廣無法做到全覆蓋檢測,且很多司機故意繞開檢測站,導致超載治理效果不佳,超載運輸現象仍較為普遍。
近年來國內外學者將研究焦點轉向車載式超載控制系統,以期從源頭上抑制貨車超載現象的發生。文獻[5]將鋼板彈簧的下移量作為車輛是否超載的判定量,當監測到汽車超載時,切斷點火系統線路,禁止車輛運行。文獻[6]利用安裝在鋼板彈簧上的應變傳感器檢測車輛載重量,當車輛超載時通信裝置將車輛信息以及超載信息以短消息形式發送給管理中心。文獻[7]開發了一種基于車橋應變監測的超載控制系統,車輛超載時系統實時報警并使發動機熄火。車載式超載控制系統的核心是稱重模塊,只有準確地測量貨車載重量,后續的超載控制措施才有意義。
車載式載重量檢測有直接法和間接法兩種。直接法是將壓力傳感器安裝在車架和貨箱之間,直接檢測重量。這種方式測量精度高,但傳感器組承受全部載荷,對傳感器工藝要求很高,且安裝過程十分復雜,應用較少。間接法是通過測量車身結構件如鋼板彈簧、輪胎、車架等因受載產生的變形來間接獲取載重量信息。間接法傳感器安裝較為方便,但載重量計算通常是將受載部件簡化為線性力學模型,或根據測量數據用最小二乘法擬合出傳感器測量值與載荷的關系式,存在測量精度不高的問題。
人工神經網絡是近幾年興起的一種人工智能算法,能夠以任意精度逼近復雜的非線性映射[8],為間接法測量精度不高的問題提供了一個很好的解決辦法。盡管人工神經網絡在各行各業已得到了廣泛的應用,但在車載稱重領域的研究卻較少。文獻[9]通過神經網絡對每組鋼板彈簧分別建立撓度-載荷辨識模型,但是整車載重量還需要根據前、后懸架的軸荷分配系數對各載荷進行加權計算才能得到。
文獻[10]通過BP 神經網絡建立車橋應變與載荷量的預測模型,但車橋受載下變形量非常微小,數據難采集,容易引起測量誤差。文獻[11]提出了一種基于小波變換和BP神經網絡的車載稱重算法,但側重于算法的理論研究。且上述研究均是通過傳統BP神經網絡進行,迭代時間長、預測精度有限。
基于以上問題,這里提出了一種基于改進BP神經網絡的貨車車載稱重方法,能夠方便且精確地測量貨車載重量。首先,在貨車前、后車橋上都安裝兩組位移傳感器以測量車橋和車架間距,采用標準重量的砝碼對車輛進行加載,根據車橋和車架間的距離變化情況獲取各組鋼板彈簧變形量。然后運用采集到的數據樣本,基于人工神經網絡搭建貨車載重量檢測模型,并應用改進的BP學習算法對模型進行訓練。最后對模型的識別結果進行分析,并與傳統BP學習算法進行對比。
當前路政治超的重點是三軸及以上的重型貨車,鮮有關注兩軸貨車,但兩軸貨車的超載率卻更高,因此本文選取兩軸貨車為研究對象。測試車輛外觀圖,如圖1 所示。車輛額定總質量為16T,核定載重量為6T,前軸鋼板彈簧片數為3片,后軸鋼板彈簧為主副簧結構,主彈簧3片、副彈簧2片。

圖1 測試車輛Fig.1 Test Vehicle
2.1.1 車輛靜力學分析
兩軸貨車的力學模型,如圖2所示。車輛在空載狀態下處于一個靜力學平衡狀態,下面僅對因裝載貨物而增加的這部分重力進行力學分析。
貨物通過車架將力作用到懸架上。對車架而言,則有:

式中:G—貨物重力,即載質量;Ff、Fr—前懸架、后懸架給車架的反作用力;a、b—貨物重心至前軸、后軸的距離。

a b圖2 兩軸貨車力學模型Fig.2 Mechanical Model of Two-Axle Truck
可見,Ff、Fr值隨貨物重心位置的不同而改變。同一根軸上左、右兩組鋼板彈簧受到的載荷之和等于該軸懸架施加給車架的反作用力。若貨物重心不在車輛縱向對稱面上,則同軸上左、右兩組鋼板彈簧受到的載荷不同。
2.1.2 鋼板彈簧特性分析
鋼板彈簧在載荷作用下會產生變形,載荷越大,變形量也越大,但變形量與載荷間的關系并不是簡單地的線性關系。因為鋼板彈簧受載荷作用時,各簧片表面間將產生接觸和摩擦,且各片間的接觸情況隨著加載過程不斷變化,其剛度特性很復雜[12]。
此外,車輛后軸采用主、副簧結構的鋼板彈簧,在載荷小時副簧不工作,只有載荷達到一定值時,副簧與托架接觸,開始和主簧共同工作,此時彈簧剛度會有一個大的突變。
綜上可見,貨車載質量與各組鋼板彈簧的變形量間存在非線性映射關系,本文將利用人工神經網絡構建兩者間的關系模型。
鋼板彈簧上端與車架相連,下端固定在車橋上,彈簧高度直接影響著車橋和車架間距離。考慮到傳感器安裝的便利性,采用測量車架與車橋位移的方法間接獲取鋼板彈簧變形量。
位移傳感器類型眾多,根據測量方式可分為接觸式和非接觸式。貨車工作環境惡劣,行駛時會受到各種沖擊載荷作用,接觸式傳感器要和彈簧一起隨著車身上下振動,容易損壞,不宜采用。非接觸式主要有電渦流傳感器、超聲波傳感器、光柵傳感器和光電傳感器等。電渦流傳感器測量精度高,分辨率為um級,但量程小,價格昂貴;超聲波傳感器價格便宜,但測量精度相對較低,適合長距離的測量;光柵傳感器測量精度也比較高,量程大,但體積大。
綜合考慮傳感器的測量精度、量程、價格和體積等因素,本文采用光電式位移傳感器。傳感器量程為(50~500)mm,分辨率為0.1mm。每根車橋上安裝2個傳感器,對稱布置在車橋上鋼板彈簧U型螺栓旁5cm的位置。
鋼板彈簧在某一載重量下的變形量l根據下式計算:

式中:l1、l2—空載和加載狀態下傳感器測到的數值。
測試車輛車廂內有舉升機構,左右兩側門可向外翻轉90°打開,用叉車從兩側將加載物裝載到車廂上,如圖3所示。加載物為標準計量砝碼,每個砝碼重1T。車廂上設有砝碼固定裝置,砝碼可以放置的位置共有9處。在加載重量不變的情況下,砝碼位置不同,前后軸承受的載荷則不同,各組鋼板彈簧變形量也不同。通過變換砝碼的位置,可在同一載重量下測得到多組數據。

圖3 加載方法Fig.3 Loading Method
從空載開始,每次加載1T,逐步增加載重量至10T停止加載,此為一輪測試。然后變換砝碼的位置再次測量,共進行了10輪測試。由傳感器測量每組鋼板彈簧旁的車橋與車架間距,再根據式(3)計算出各組鋼板彈簧的變形量;整車載重量由砝碼的數量確定,共采集了100組數據,節選部分數據,如表1所示。

表1 測量數據節選Tab.1 Extract of Measurement Data
BP神經網絡是一種利用誤差反向傳播訓練算法的多層前向網絡,是迄今為止應用最為廣泛的人工神經網絡。網絡結構包含輸入層、隱含層及輸出層,層與層之間多數采用全連接方式,同一層神經元之間不存在相互連接,各神經元的輸出值與輸入值之間的關系由權值和閾值決定[13-14]。應用最為普遍的單層神經網絡模型,如圖4所示。該模型包括了輸入層、隱含層和輸出層,因此也被稱為三層感知器。本研究采用單層神經網絡構建貨車載重量檢測模型,輸入層特征參數為前、后軸上4組鋼板彈簧變形量,輸出層特征參數為貨車載重量,即輸入層4個神經元,輸出層1個神經元。

圖4 BP神經網絡模型Fig.4 BP Neural Network Model
為防止因輸入絕對值過大使神經元輸出飽和,從而導致網絡訓練效果不佳,對前述采集到的樣本數據集進行歸一化處理,將數據換算到[-1,1]范圍內。數據變換公式為:

式中:xi—某特征參數第i個數據;xmin—數據數組的最小值;xmax—數據數組的最大值;—歸一化后的數據。
將處理后的樣本數據作為BP 神經網絡訓練與測試的數據庫,從每輪測試數據中選取1組數據、共10組數據作為測試樣本,其余數據作為訓練樣本。為避免同類樣本太集中而使網絡訓練時傾向于只建立與其匹配的隱射關系,而當另一類樣本集集中輸入時權值的調整又轉向對前面訓練結果的否定,將不同輪測試數據交叉輸入重構訓練樣本集。
隱含層神經元個數對神經網絡的性能有著直接的影響。通過經驗式(5)[15]確定神經元個數取值范圍,然后從最小神經元數開始構建神經網絡,逐步增加隱含層神經元數,比較各種神經網絡結構的訓練精度,得出最佳神經元數。

式中:h—隱含層神經元數;m—輸入層神經元數,取4;n—輸出層神經元數,取1;a—(1~10)之間的常數。
由式(5)得到隱含層神經元數范圍值為[3,12]。用訓練樣本對不同隱含層神經元數的網絡進行訓練,設置訓練次數為500 次。隱含層神經元個數與網絡輸出誤差的關系曲線,如圖5 所示。

圖5 隱含層神經元個數與網絡誤差的關系曲線Fig.5 The Curve about the Number of Hidden Layer Neurons and Network Error
可見,網絡輸出誤差隨隱含層神經元數的增加先呈現上升的趨勢,后又逐漸下降,在節點數為10時誤差達到最小,而后又出現上升。因此,取隱含層節點數為10,即這里所構建的貨車載重量檢測模型網絡結構為4-10-1。
BP神經網絡的訓練包括兩個過程:輸入信號的正向傳播和輸出誤差信號的反向傳播。在輸出誤差未滿足預期的精度時,網絡沿著反向傳播,對網絡中各隱含層神經元的權值進行調整,以使信號誤差趨向最小,訓練流程,如圖6所示。

圖6 BP神經網絡的訓練流程Fig.6 Training Flow of BP Neural Network
傳統BP算法按照誤差函數負梯度方向進行權值系數修正,由于網絡誤差曲面的復雜性,往往會出現收斂速度緩慢、陷入局部最小值等問題[16]。
為此,對傳統BP學習算法進行改進,在權值調整時增加動量因子并引入自適應調節學習率,以解決上述問題。改進算法的計算過程如下:
假定網絡在進行第k次訓練,記輸入變量為x(k)={x1(k),x2(k),x3(k),x4(k)},網絡輸出為z(k),目標輸出為zs(k)。則:

式中:yi—隱含層第i個神經元的輸出;wij—第j個輸入神經元與第i個隱含層神經元的連接權值;θi—隱含層第i個神經元的激活閾值;wi—第i個隱含層神經元與輸出層神經元的連接權值;δ—輸出層神經元的激活閾值。
此時實際輸出與目標輸出的誤差為:

對所有訓練樣本按照式(6)~式(8)計算其誤差,然后取均方差作為網絡訓練的目標函數,即:

根據目標函數調整從隱含層到輸出層的權值wi和從輸入層到隱含層的權值wij。
采用負梯度下降算法計算調整量,并將上一次的部分權值調整量也迭加進來。各權值的調整量為:

式中:α—動量系數,取0.7;φ(k)—學習率,初始值為0.2;
學習率調整的基本思路為:若經過一批次權值后使網絡總誤差變小,則在下一次學習中增加其學習率,以加快收斂;若經過一批次權值后使網絡總誤差增加,說明步長過大,則應在下一次學習中減小學習率,保證收斂[17]。其表達式為:

根據調整后的權值,用訓練樣本數據按照式(6)~式(9)重新計算網絡輸出誤差,若誤差達到精度要求,則訓練結束,否則再次反向調整權值。通過不斷的調整權值和迭代運算,直到誤差精度達到要求為止。
在MATLAB軟件中編寫程序實現改進BP算法,利用訓練樣本集對搭建好的貨車載重量檢測模型進行訓練,設置誤差目標值為0.0001,經過多次訓練,取訓練結果最好的一次,訓練的結果,如圖7所示。

圖7 訓練結果圖Fig.7 Training Results
可見,隨著訓練次數的增加,網絡輸出均方差MSE 逐漸下降,經過1137次迭代運算后網絡收斂。此時,網絡中各層間神經元的連接權值和神經元激活閾值,如表2所示,將這些數據帶入式(6)和式(7)就可以得到貨車載重量與各組鋼板彈簧變形量的關系表達式。

表2 網絡的連接權值和激活閾值Tab.2 Connection Weights and Activation Thresholds
用訓練好的模型預測測試樣本的輸出,然后對預測結果進行反歸一化處理,并計算絕對誤差和相對誤差,結果,如表3所示。可見,目標值為10T的樣本相對誤差最小,預測精度最高,其余測試樣本的預測值與實際值的誤差都在0.5T以內,相對誤差均在5%以內,說明這里構建的BP神經網絡模型能夠實現通過鋼板彈簧變形量數據精確測量貨車載質量。

表3 改進BP神經網絡預測結果Tab.3 Prediction Results of Improved BP Neural Network
采用傳統BP算法,用相同的訓練樣本集對模型進行訓練,設置迭代次數為10000次,其他參數保持不變,經過多次訓練,訓練結果最好的一次網絡輸出誤差MSE最小值為0.00398,迭代步數為8408次。
然后用相同的測試集預測其輸出。將兩種學習算法的預測結果與目標值進行線性擬合的相關性分析,計算相關系數R2;并選取目標載重量為8T、9T和10T的三個測試樣本,比較兩種學習算法下模型的預測精度,用精確度AC(式13)作為評價指標,如表4所示。

表4 改進BP算法與傳統BP算法預測精度比較Tab.4 Comparison of Prediction Accuracy Between Improved and Traditional BP Algorithm

式中:zm—目標值;z—預測值。
由表4可見,改進BP算法預測值與目標值線性相關性系數R2為0.9962,優于傳統BP 算法;對于同一目標值8T 的樣本測試結果來看,改進后BP算法具有更高的精度,精度高達98.52%,說明基于改進學習算法的模型預測的值更接近于目標值,目標值9T、10T樣本測試結果具有相同的結論。
針對貨車車載稱重間接法測量精度不高的問題,提出了一種基于改進BP神經網絡的貨車載重量檢測方法。以兩軸貨車為研究對象,設計了樣本數據采集方案,利用BP神經網絡搭建了載重量檢測模型,并針對傳統學習算法的不足,對算法進行改進。得到以下結論:
(1)從測量精度、量程、價格和體積等方面考慮,光電式位移傳感器更加適合于貨車車橋和車架間距的測量。
(2)相比于傳統學習算法,改進的BP算法具有更好的預測精度、更快的收斂速度。
(3)基于改進學習算法構建的模型預測值與實際值的誤差都在0.5T以內,相對誤差在5%以內,預測精度高,表明該方法適用于貨車載重量檢測。
這里的研究為車載式貨車超載控制系統的開發奠定了基礎,對于控制貨車的超載具有重要的意義。