中国测试  2021, Vol. 47 Issue (7): 26-30

文章信息

辛宇, 陈兴, 许素安, 富雅琼, 徐红伟
XIN Yu, CHEN Xing, XU Su’an, FU Yaqiong, XU Hongwei
基于GA-PSO-BP的车辆动态称重算法研究
Research on vehicle dynamic weighing algorithm based on GA-PSO-BP
中国测试, 2021, 47(7): 26-30
CHINA MEASUREMENT & TEST, 2021, 47(7): 26-30
http://dx.doi.org/10.11857/j.issn.1674-5124.2020080102

文章历史

收稿日期: 2020-08-21
收到修改稿日期: 2020-10-09
基于GA-PSO-BP的车辆动态称重算法研究
辛宇 , 陈兴 , 许素安 , 富雅琼 , 徐红伟     
中国计量大学机电工程学院,浙江 杭州 310018
摘要:针对车辆动态称重系统测量精度较低的问题,提出基于遗传算法(genetic algorithms)和粒子群算法(particle swarm optimization)混合优化的BP神经网络(back propagation neural network)动态称重模型。首先利用小波变换对信号进行去噪滤波与信号重构。通过GA-PSO算法迭代寻优神经网络的权阈值,以滤波重构的动态车重、车速、轴数作为网络输入,拟合动态车重与静态车重间的非线性关系,可以使称重误差控制在1%以内。实验结果表明该模型精度高,可应用于工程实践。
关键词动态称重    小波变换    GA-PSO算法    BP神经网络    信号处理    
Research on vehicle dynamic weighing algorithm based on GA-PSO-BP
XIN Yu , CHEN Xing , XU Su’an , FU Yaqiong , XU Hongwei     
College of Mechanical and Electrical Engineering, China Jiliang University, Hangzhou 310018, China
Abstract: Aiming at the problem that the measurement accuracy of on-board dynamic weighing system is low, a dynamic weighing model based on BP neural network optimized by GA-PSO is proposed. The wavelet transform was used to pre-process noise of vehicle weighing signal and signal reconstruction. GA-PSO was used to optimize the weight and thresholds of the traditional BP neural network, the speed, axle number and dynamic vehicle weight are used as inputs to fitting the nonlinear relationship between dynamic vehicle weight and static vehicle weight, which can control the weighing error within 1%. The experimental results show that model has high accuracy and can be applied to engineering practice.
Key words: dynamic weighing     wavelet transform     GA-PSO algorithm     BP neural network     signal processing    
0 引 言

随着我国经济迅速发展,交通运输量也急剧增加,超载愈加严重。车辆动态称重系统是治理超载超限一个有效手段,并且随着技术的进步,可以有效地解决省界收费站取消后的超限超载难治理的问题,但如何提高称重精度仍是系统发展的重点和核心[1-2]。其中一个难点是在路面激励、车速、车辆振动等因素的影响下,将称重传感器采集到的真实信号分离出来[3]。宋文凤[4]提出了加权-滑动平均滤波组合算法对信号处理,杨军[5]利用卡尔曼滤波算法滤除周期性干扰信号效果明显,但以上算法应对偶然出现的脉冲性干扰的抑制效果不佳,车辆高速状态下效果差。另一个核心是建立合适的称重模型进行校正。陈超波[6]通过构建RBF神经网络(radial basis function neural network)动态称重模型对车重进行拟合,有效降低了称重误差。王春香[7]利用基于遗传算法的多段曲线拟合车重,滤除了低速干扰信号的影响。郝晓娴[8]通过建立BP神经网络称重模型提高了处理精度。上述模型在实际应用中仍存在许多不足,如最小二乘法拟合仅适用于低速,神经网络法收敛慢、迭代数多、易陷入局部最小和全局搜索能力不足等缺点。

针对上述算法及模型的不足,本文从减少噪声干扰及提高动态称重精度出发,利用小波变换对称重信号进行滤波及信号重构。针对神经网络收敛速度慢、易陷入局部极值的问题,提出了遗传算法结合粒子群算法对神经网络进行优化的动态称重模型,通过滤波算法预处理及建立称重模型校正,实现对车辆动态称重信号的高精度处理。

1 动态称重系统的结构及原理

动态称重系统主要由工型主梁一体化秤台、嵌入式应变传感器、信号处理电路、地感线圈、工控机、云平台等部分组成,图1为动态称重系统的结构图[9]。动态称重系统首先将焊接好的秤台与公路采用高强度混凝土浇筑连接,秤台平面与路面水平,使称重设备与公路之间同平面无间隙。垂直行车方向的单个工型梁上安装两个嵌入式应变传感器。当车辆行驶经过称台时,秤台上承受的压力导致结构梁及应变片发生形变,将质量信号转换为差分信号;信号处理电路将传感器传来的信号进行放大、滤波处理;工控机对电压信号进一步处理运算得到车辆修正后的动态质量,并将处理结果上传至云平台。

图 1 动态称重系统结构图

2 动态称重信号预处理

动态称重信号中包含着各种噪声,可以分为低频随机振动噪声干扰和高频噪声干扰[10],动态称重信号主要表现为低频信号,影响称量精度的最主要因素是高频噪声。

车辆通过秤台产生的理想波形为梯形波,梯形波的上底表示为车辆驶过秤台的波形,实际的波形受车速、车辆振动、路面激励、环境等因素影响,因此想要提高动态称重精度,首先需要对信号进行去噪处理,使采集波形接近理想波形[11]

Daubechies小波函数(简称dbN小波,N是小波的阶数)对不规则信号较为敏感,在信号分析上应用广泛[12],db4小波为紧支撑正交实小波,正交性好、消失矩大,在时频域分析中优势明显,为了获得被干扰信号淹没的真实动态称重信号,可以利用db4小波对称重信号进行多层分解并重构,减小噪声信号的干扰。除N=1(Harr小波)外,dbN没有明确的公式表达,小波函数 $\psi \left( t \right)$ 可以由尺度函数 $\phi \left( t \right)$ 以及滤波器系数 ${g_k}$ 求出, $\psi \left( t \right)$ $\phi \left( {{{2t}}} \right)$ 的位移加权和,公式如下:

$\psi \left( t \right) = \sum\limits_k {{g_k}\phi \left( {2t - k} \right)} $ (1)

db4小波函数和尺度函数如图2所示。

图 2 db4小波函数与其尺度函数

设连续函数 $f(x) \in {L^2}(R)$ ,则 $f\left( x \right)$ 以db4作为基本小波的连续小波变换为:

${W_{\rm{f}}}(a,b) = \int_R {f\left( x \right)} \sqrt {\left| a \right|} \overline \psi (a - b){\rm d}x$ (2)

式中:a——伸缩因子;

b——平移因子;

$\overline \psi \left( {{x}} \right)$ —— $\psi \left( {{x}} \right)$ 的复共轭复数。

${a_0} > 0$ ${b_0} > 0$ $a = a_0^m$ $b = b_0^m$ 则其对应的高离散小波变换:

$ {W}_{\rm{f}}({{a}}_{0}^{m},n{b}_{0}{a}_{0}^{-m})={\displaystyle {\int }_{R}f(t)\sqrt{{a}_{0}^{m}}}\overline{\psi }\left({a}_{0}^{m}t-n{b}_{0}\right){\rm d}t $ (3)

式中, $t$ 为离散时间参数,m为伸缩因子,n为平移因子;通常选取 ${a_0} = {b_0} = 2$ ,其对应的变换为二进制离散小波变换。

选取不同的m值对应着不同的带通滤波器 $\psi \left( \omega \right)$ ,从而分离出不同频率的称重信号及噪声,进而得真实动态车重信号。小波分解步骤[13]如下:

1)确定小波类型及小波分解的层次。

2)高频系数阈值选择。选择第一层到第N层的阈值。

3)根据第N层的低频系数和第一层到第N层的高频系数,对信号进行分解和重构。

4)本文采用db4小波分解函数对信号进行5层分解:

$\left[ {C,L} \right] = {\rm wavedec}(x5,5,'{\rm db}4')$ (4)

其中wavedec是一个小波分解函数,x5为被分解的函数,5表示分解的层数,db4表示采用的小波分解函数。图3图4分别表示为对信号进行去噪重构前、重构后的结果。通过小波变换去噪重构的信号波形更接近于理想信号,保证了动态车重获取的准确性及称重模型建立可靠性。

图 3 小波变换去噪前波形

图 4 小波变换去噪后波形

3 动态称重模型及算法 3.1 GA-PSO算法

粒子群算法是一种并行随机搜索的算法,在个体适应度条件下进行全局搜索,迭代更新每一个粒子的速度和位置,并保存个体和集体极值,能短时间内精准接近目标,但寻优过程中易陷入局部极值。遗传算法同粒子群算法类似,都是基于种群及种群适应度。遗传算法具有良好的并行计算能力和全局搜索能力,但在种群迭代更新中存在信息丢失,并不会将个体的信息进行保存,易出现收敛缓慢或停止的现象[14]。针对两种算法的缺陷,本文将遗传算法中交叉、变异操作引入粒子群算法完成对粒子进行更新,使算法具备了遗传算法全局收敛和粒子群算法收敛速度快的优点。

PSO算法寻优是每个粒子在迭代过程中对其速度和位置进行更新:

$ \begin{split} {V_i}\left( {k + 1} \right) = \;&\omega {V_i}(k) + {c_1}{r_1}\left[ {{p_{\rm ibest}} - {x_i}\left( k \right)} \right] + \\ & {c_2}{r_2}\left[ {{p_{\rm gbest}} - {x_i}\left( k \right)} \right] \end{split} $ (5)
${X_i} = {X_i}\left( k \right) + \beta {V_i}\left( k \right)$ (6)

式中: $k$ ——进化代数;

$\omega $ ——惯性权系数;

${c_1},{c_2}$ ——学习因子;

${r_1},{r_2}$ ——[0,1]间的随机数。

为了防止在迭代过程中粒子运动范围过大或速度太快,还需要设置参数对粒子的位置和速度进行更新并加以限制。

混合算法中首先更新粒子的速度项,不再利用惯性系数乘以原始速度,而是将粒子速度进行变异操作,用遗传算法的变异概率 ${P_{\rm m}}$ 替换速度项 $\omega {V_i}\left( k \right)$ ,然后让粒子分别先后与个体极值、全局极值进行交叉操作,用遗传算法的交叉概率 ${P_{\rm c}}$ 进行替换。最后将经过遗传处理的粒子及其对应的速度项相加,完成粒子的更新。

3.2 GA-PSO算法优化BP神经网络

GA-PSO算法能够有效地克服BP算法的局部最优的缺陷,迭代优化网络的权值和阈值[15],GA-PSO-BP的算法流程(见图5)如下:

图 5 GA-PSO-BP算法流程

1)初始化神经网络。确定BP神经网络的网络结构及基本参数。

2)初始化种群。根据网络结构确定种群的规模 $R$ 、维度 $D$ 、每个粒子的速度 $v$ 、位置 $p$ 。以BP神经网络的误差函数 $E\left( \omega \right)$ 作为适应度值函数,评价各粒子的质量:

$E\left( \omega \right) = {\sum\limits_{i = 1}^l {\left\| {{y_i} - {o_i}} \right\|} ^2}$ (7)

式中: $l$ ——输出节点数;

${y_i}$ ${o_i}$ ——期望输出和预测输出。

3)粒子群的迭代。计算更新粒子的速度和位置及粒子的适应度,得到新种群 $po{p_1}$

4)粒子群的遗传操作。新种群 $po{p_1}$ 中的粒子先后以交叉概率 ${P_{\rm c}}$ 与个体极值粒子和全局极值粒子进行交叉,再对适应度值差的粒子以 ${P_{\rm m}}$ 的变异概率进行随机初始化。

5)更新粒子的最优适应度函数值、最优位置 ${P_{\rm ibest}}$ ${P_{\rm gbest}}$ ,替换上一代的遗传优化的最优粒子。

6)判断粒子群迭代次数会否大于最大迭代数,或者适应度函数的值是否优于前一代,以最优个体值作为神经网络参数。

4 算法处理与结果分析 4.1 实验数据获取

2019年10月至12月在浙江某汽车动态称重设备测试现场进行了设备布置,对车辆动态情况下的称重系统进行了实验测试。

实验前对6辆车进行静态标定,获取车辆的静态车重。测试并记录各车辆通过秤台的动态车辆速度及轴数,试验车辆如表1所示:选取二轴、四轴、六轴货车各2辆,总共6种不同载荷,实验总共采集数据189组。

表 1 实验基础数据
车型 静态车重/kg 车速/(km∙h–1) 采集数据/组
二轴货车 3310 3~90 23
二轴货车 5290 3~90 15
四轴货车 22560 3~90 30
四轴货车 65530 3~90 42
六轴货车 16710 3~90 40
六轴货车 53950 3~90 39

4.2 动态称重模型建立及参数选择

选取车辆动态称重拟合值作为神经网络输出,预处理后的动态车重、车速、车辆轴数作为BP网络输入,进行训练。本实验中PSO种群规模 $R = $ $ 100$ ,粒子维度D=36, ${c_1} = {c_2} = 2$ ,收敛精度 $E = 0.001$ ,遗传算法交叉概率 ${P_{\rm c}} = 0.7$ ,变异概率 ${P_{\rm m}} = 0.2$ 。BP网络输入节点数为3,隐含层节点数为5,输出节点数为1,训练次数设置为1000,学习速率设置为0.1,目标误差为0.0001。每种车型随机挑选两个样本,共选取12组样本作为测试数据,剩下的177组数据作为训练样本进行模型训练。

首先通过mapminmax函数对输入输出数据进行归一化和反归一化处理,提高样本的收敛速度,选择学习效率高且迭代误差减小幅度较大的trainlm函数作为学习函数,误差较小的tansig正切函数作为输入层到隐含层传递函数,purelin线性函数作为隐含层到输出层的传递函数。

4.3 实验及结果分析

实验以静态质量为22560 kg的四轴货车为例,构建GA-PSO-BP称重模型,并与BP模型、PSO-BP模型及静态车重、原始数据进行对比分析,如图6所示。在各拟合曲线中,BP、PSO-BP称重模型由于易陷入局部最优解的缺陷,与静态车重的值相差较大,从GA-PSO-BP模型的拟合曲线来看通过GA和PSO模型的优势互补,预测值与静态车重能够较好地吻合。

图 6 多模型预测质量对比图

PSO-BP神经网络适应度函数值和GA-PSO-BP神经网络的适应度函数值如图7所示,混合算法优化的网络模型收敛速度和最优个体适应度值都好于PSO-BP模型,经过100代的迭代,GA-PSO-BP的最优个体适应度函数值为0.0501,PSO-BP得到的适应度函数值为0.7358。

图 7 最优个体适应度变化曲线

为验证训练完成的GA-PSO-BP神经网络验证动态称重模型的准确性及优越性,将选取的12组测试样本用于验证,由表2可知,最大称重误差降至0.9849%,称重结果满足JJG 907—2006《车辆自动衡器检定规程》中1级秤的规定误差不超过1%的要求。

表 2 GA-PSO-BP模型对车动态称重数据拟合结果
样本 车速/
(km∙h–1)
静态车重/
kg
动态车重/
kg
GA-PSO-BP
拟合/kg
相对误差/
%
1 86 3310 3100 3324 0.4230
2 3 3310 3455 3315 0.1511
3 17 5290 5025 5302 0.2268
4 39 5290 5600 5275 –0.2836
5 81 22560 20700 22367 –0.8555
6 42 22560 24450 22668 0.4787
7 50 65530 67475 65527 –0.0046
8 73 65530 62675 65557 0.0412
9 35 16710 17950 16566 –0.8618
10 66 16710 15725 16854 0.8618
11 48 53950 61500 53872 –0.1446
12 9 53950 54425 54001 0.0945

5 结束语

本文提出了一种基于小波变换和GA-PSO-BP神经网络动态称重模型。通过对信号的滤波重构,降低了复杂环境对真实称重信号获取的影响。融合粒子群算法全局寻优及遗传算法的并行计算的优点,有效克服了BP神经网络易陷入局部极值的问题,提高了收敛速度,并用训练好的网络对称重数据进行了验证。实验结果表明,模型所需样本少,精度高,能有效地将车辆的称重误差控制在1%以内,称重结果达到国标JJG907—2006《车辆自动衡器检定规程》中的1级标准。该方法的应用可以为解决省界收费站取消以后的治理超限超载提供有效助力。

参考文献
[1]
李惠敏. 车载动态称重系统的研究与设计[D]. 太原: 太原理工大学, 2016.
[2]
何磊. 基于动态称重技术的车辆载重测量系统的设计与研究[D]. 武汉: 武汉科技大学, 2019.
[3]
黄必飞, 冯志敏, 张刚, 等. 压电薄膜车辆动态称重系统算法研究[J]. 传感技术学报, 2016, 29(6): 941-946. DOI:10.3969/j.issn.1004-1699.2016.06.025
[4]
宋文凤. 车载式车辆荷载质量动态称重系统研发[D]. 西安: 长安大学, 2018.
[5]
杨军, 李丽宏, 周尚儒. 基于自适应卡尔曼滤波的动态称重算法的研究[J]. 自动化与仪表, 2014, 29(8): 5-8. DOI:10.3969/j.issn.1001-9944.2014.08.002
[6]
陈超波, 杨楠. RBF神经网络算法在动态称重中的应用[J]. 电子测量技术, 2016, 39(5): 187-190. DOI:10.3969/j.issn.1002-7300.2016.05.051
[7]
王春香. 基于EEMD算法的动态超限预检系统研究[D]. 太原: 太原理工大学, 2016.
[8]
郝晓娴, 牛昱光, 韩芝星, 等. 基于小波和BP神经网络的车载动态称重算法[J]. 仪表技术与传感器, 2017(8): 110-113. DOI:10.3969/j.issn.1002-1841.2017.08.029
[9]
范爱民, 廖高华, 林谋有. 公路车辆动态称重系统的设计[J]. 仪表技术与传感器, 2010(6): 62-64. DOI:10.3969/j.issn.1002-1841.2010.06.022
[10]
张惠芳, 张海宁. 动态车辆称重系统的算法研究[J]. 国外电子测量技术, 2017, 36(7): 52-54. DOI:10.3969/j.issn.1002-8978.2017.07.013
[11]
王鑫, 李丽宏. 小波神经网络在动态汽车衡称量数据处理中的应用[J]. 仪表技术与传感器, 2015(3): 85-87. DOI:10.3969/j.issn.1002-1841.2015.03.027
[12]
李敏. 用Daubechies小波软阈值法对近红外光谱数据进行预处理[J]. 红外, 2015, 36(1): 30-34. DOI:10.3969/j.issn.1672-8785.2015.01.006
[13]
王锦芳. 动态称重系统的研究与开发[D]. 杭州: 浙江大学, 2006.
[14]
崔萌洁, 卢文科, 左锋. 基于 PSO-BP 模型的扩散硅压力传感器温度补偿[J]. 中国测试, 2019, 45(11): 95-100.
[15]
邵继业, 谢昭灵, 杨瑞. 基于GA-PSO优化BP神经网络的压缩机气阀故障诊断[J]. 电子科技大学学报, 2018, 47(5): 781-787. DOI:10.3969/j.issn.1001-0548.2018.05.023