APP下载

基于稀疏采样数据的电动公交车电池SOC预测方法研究*

2020-04-03葛建军

汽车工程 2020年3期
关键词:测试数据向量时刻

鲍 伟,葛建军

(合肥工业大学电气与自动化工程学院,合肥 230009)

前言

锂离子电池的荷电状态(state of charge,SOC)[1]是电池的一项重要参数,它反映了电池剩余容量与额定容量的比值。SOC对于电池的充放电管理、均衡管理以及电池健康状态诊断、有效避免过度充放电等导致的电池使用寿命缩短的问题等都具有重要意义。但是SOC并不能通过传感器测量而直接获得,需要通过算法估计。

目前估计电池SOC的方法主要有放电实验法、安时积分法、开路电压法和等效电路法等[2-6]。放电实验法需要大量时间,电池进行的工作需要被迫中断,不适用于行驶中的电动汽车;安时积分法必须要考虑电池充放电效率,且在高温状态和电流变化剧烈的情况下,误差较大;开路电压法需要对电池长时间静置,单独使用时只适用于电动汽车驻车状态;等效电路法在建立电池数学模型时需要考虑电池内部复杂的物理化学反应,比较繁琐。近年来,由于计算机技术的迅速发展,数据驱动的方法得到了广泛的应用。数据驱动思想[7]指利用受控系统的在线和离线数据,实现系统的基于数据的预报、评价、调度、监控、诊断、决策和优化等各种期望功能。刘征宇等[8]基于 QPSO-BP神经网络的方法对锂电池的SOC进行了预测,尹安东等[9]基于自适应模糊神经系统对锂电池SOC进行了预测,都有较好的预测精度。但是上述SOC估计预测算法,需要的电池相关数据的采样周期非常短,譬如10 ms,数据较为稠密。一旦采样周期变长,估计的准确度就会下降。

随着智能网联和云平台技术的不断发展,越来越多的电动汽车将整车特别是动力电池的关键数据上传到云平台上,方便科研和技术人员对整车状态进行良好把控,通过算法对某些潜在故障进行提前预警。如果能够利用上传的电池数据对未来时刻的SOC值进行合理的预测,并与实际上传的BMS估计的SOC值进行相互佐证,则对于电池系统的云平台在线诊断有着十分重要的意义。然而受到上传数据量、无线通信速率和流量等因素的限制,目前整车数据的上传周期为几十秒,时间维度数据较稀疏。因此上述在实验室或整车上使用的SOC估计预测算法无法估计准确的SOC值。

本文中深入分析并利用电池数据监控云平台电池数据库中存储的稀疏采样的电池数据,结合支持向量机(SVM)与贝叶斯优化算法,提出了基于稀疏采样数据驱动的电动公交车电池SOC单步预测方法和自主预测方法,具有较高的预测精度,在理论和工程应用上都具有重要的意义。

1 稀疏采样数据源简介

以某公交公司电动公交车云平台系统为例,整车实时采样动力电池运行过程中的关键数据,并将采样得到的数据通过车载终端实时上传到电池数据监控云平台的电池数据库中,电池数据的上传周期为30 s,电池数据监控云平台如图1所示。

图1 电池数据监控云平台

电池数据云平台根据其电池数据库中所存储的稀疏采样的电池数据,如电压、电流和温度等来对电池的状态进行有效监控。电池数据监控云平台的电池数据库中存储的数据主要包括采样时间、电池管理系统(BMS)估计的真实 SOC值、电池组的总电压、电流、总装机容量、剩余容量和每个模组的温度值等,如表1所示。

表1 电池数据库主要数据

2 数据处理与建模

2.1 数据选取、预处理与数据集构建

2.1.1 预测变量与输出变量的选取原则

SOC值的变化与电池的总电压、电流等明显相关,又由于环境温度的变化会影响电池内部化学反应的快慢,从而导致SOC变化的快慢,所以模组的温度也是影响因素之一。另外,下一时刻的SOC值必然与当前时刻的SOC值密切相关。所以,为预测第t+1个采样时刻的SOC值,选取第t+1个采样时刻总电压值 Ut+1,电流值 It+1,模组温度均值 TempAt+1,第t个采样时刻电池组的SOC值SOCt作为预测变量,选取第t+1个采样时刻的 SOC值 SOCt+1为输出变量。

2.1.2 数据预处理

共选取30 000组样本数据,由于采样获得的数据中只包含第t个采样时刻编号为m的模组温度值Tempt(m),所以首先求取第t个采样时刻所有模组的温度均值TempAt。

式中M为模组的总数。

为加快模型的收敛速度,对选取的预测变量和输出变量按照式(2)进行标准化处理,将数据映射到[-1,1]范围内。

式中:vt(k)为第k个变量在第t个采样时刻的原始数据值;vmax(k)为整个数据集中第k个变量原始数据的最大值;vtstd(k)为第k个变量在第 t个采样时刻的标准化数据,标准化数据的范例如表2所示。

表2 标准化数据范例

2.1.3 数据集划分与数据向量构建

将前20 000组数据作为训练数据,并按式(3)构建训练数据集的输入数据向量x,输出数据向量y;将后10 000组作为测试数据,按式(4)构建测试数据集的输入数据向量xtest,输出数据向量ytest。

2.2 基于稀疏采样数据驱动的电池SOC单步预测

2.2.1 支持向量机

支持向量机(SVM)[10]能根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折中,以获得良好的泛化能力。支持向量机能够较好地解决小样本、非线性、高维数和局部极小点等实际问题。支持向量机回归(SVR)是用于解决回归问题的支持向量机。

首先将式(3)中构建的训练数据集的输入数据向量x,通过非线性映射φ(x)映射到一个高维的特征空间,然后在这个特征空间中建立一个线性模型来估计回归函数,即

式中:w为与特征空间维数相等的权值向量;b为偏置量;f(x,w)为预测的 SOC值。

对于给定的包含l个点的训练数据集(x1,y1),(x2,y2),…,(xl,yl),其中 xl(l=1,2,…,t+1)为训练数据集的输入数据向量,yl(l=1,2,…,t+1)为相对应的真实SOC值,采用ε-不敏感损失函数,通过ε-支持向量机回归(ε-SVR)[11],找到一个函数 f(x,w),使得对于所有的输入数据向量xl,其对应的预测SOC值f(xl,w)同真实 SOC值 yl的偏差不超过ε,则其约束优化问题可表示为

式中:C为惩罚系数,决定了对于大于ε的偏差的容忍程度和函数扁平程度之间的折中;ξ*i与ξi为松弛变量。

式(6)中的优化问题可通过引入拉格朗日函数将其转化为对偶问题,如式(7),即ε-不敏感损失函数,求解式(7)得到式(5)的解:

式中:K(xi,xj)为核函数;αi、αi*(i=1,2,…,l)为拉格朗日乘子。其中不为0的αi、αi*对应的样本就是支持向量(support vector,SV),通过支持向量并由式(8)可预测SOC值:

式中λ为核参数。

2.2.2 寻找SVM的最优超参数

支持向量机的超参数包含惩罚系数C,不敏感系数ε,以及核函数K(xi,x)的核参数λ。SVM非常依赖于所选择的超参数组合,因此需要选用合适的方法来寻找支持向量机的最优超参数组合。目前的方法主要有:网格搜索法[12]、随机搜索法[13]和贝叶斯优化算法[14]。贝叶斯优化算法是一种联合优化超参数的强力工具,它能够自动调节超参数,且能够以较快的速度获取全局最优值,因此,采用贝叶斯优化算法来寻找超参数组合的全局最优解。

贝叶斯优化算法的主要目的是在一个有界的超参数组合的集合Z(Z是RD的一个子集)中寻找使目标函数即ε-不敏感损失函数L(α)取得最小值的超参数组合zbest,即

其中超参数组合表示为 zn=(Cn,εn,λn),zn∈Z。贝叶斯优化算法与其他算法的不同之处在于它为L(α,zn)建立了一个概率模型,然后开采该模型来决定下一次在Z中的何处评估L(α,zn)。

在执行贝叶斯优化算法时,要做如下两个选择。

(1)选择一个先验函数来表达关于要被优化的函数的假设,通常选择高斯过程[15]先验,由于它具有灵活性和易处理性。

高斯过程是表达函数的方便而又有力的先验分布,形式为L:Z→R。任意 n个点 zn∈Z(n=1,…,N)的有限集合都服从一个多元高斯分布,根据这个性质,定义了高斯过程。

(2)选择一个采集函数,用于从模型后验估计中构建一个效用函数以决定下一个评估点。

假设要优化的目标函数L(α,zn)来自于高斯过程先验,且观测值形如{zn,hn},hn~N(L(α,zn),θ)(n=1,…,N),其中θ是引入函数观测值的噪声方差。这个先验假设和这些观测数据将会引发基于采集函数的后验估计,采集函数表示为a:Z→R+,通过代理优化过程znext=arg mazx a(z)来决定Z中下一个评估点。在高斯过程先验下,采集函数a(z)完全取决于模型的预测均值函数μ(z)和预测方差函数σ2(z),通过开采高斯过程的下置信边界[16]来构建采集函数,采集函数为

式中κ为一个可调的参数,用来平衡探索与开采,在此处取2。

2.2.3 序列最小最优化(SMO)算法

在求解目标函数最小值的过程中,还需要求解式(7)中的拉格朗日乘子,序列最小最优化(SMO)算法[17]能很好地解决这个问题。SMO算法每次启发式选择2个变量进行优化,不断循环,直到目标函数达到最优值。

2.2.4 建模与预测方法

根据电池数据监控云平台的电池数据库中存储的以30 s为采样周期的稀疏采样电池数据,基于贝叶斯优化的SVM对式(3)中构建的训练数据集进行训练,得出SOC单步预测模型。由训练得出的SOC单步预测模型,根据式(12)对训练数据进行预测:

式中:mdl为训练所得的单步预测模型;SOCpredt+1为经SOC单步预测算法预测出的第t+1个采样时刻的SOC值。

2.3 基于稀疏采样数据驱动的电池SOC自主预测

SOC单步预测算法在预测SOC的过程中,只能利用第t个采样时刻采样的真实SOC值作为预测变量之一,来预测第t+1个采样时刻的SOC值,为摆脱这种长期依赖,直接利用第t个采样时刻的预测SOC值替代真实SOC值,并作为预测变量之一,来预测第t+1个采样时刻的SOC值,本文中进一步建立了电动公交车电池SOC自主预测模型。

2.3.1 数据再划分与训练数据集再构建

为实现对动力电池SOC值的自主预测,需要将训练数据集进一步划分为充电训练数据集和放电训练数据集。当t+1时刻数据满足SOC变化量ΔSOC非负,且电流值为正时,被划分为充电训练数据,否则被划分为放电训练数据,如式(13)所示:

共有8 943组数据被划分为充电训练数据,11 056组数据被划分为放电训练数据,分别构建充电训练数据集与放电训练数据集。

2.3.2 建模与预测方法

基于贝叶斯优化的SVM对充电数据集和放电数据集分别进行训练,建立充电过程SOC预测模型和放电过程SOC预测模型。

为实现自主预测,只需先根据第1个采样时刻的真实SOC值及第2个采样时刻电池的充放电状态求出第2个采样时刻的SOC预测值,并在之后的预测中,用第t个采样时刻的预测SOC值替代预测变量中来自BMS的第t个采样时刻的真实SOC值,并根据式(14)构建预测向量,即可预测出第t+1个采样时刻的SOC值:

式中SOC_Ipredt为经SOC自主预测算法预测出的第t个采样时刻的SOC值。

预测时根据动力电池当前时刻和上一时刻的电流I来判断电池是处于充电状态还是放电状态。判断准则是:若 t+1时刻电流值 It+1≤0,则 t+1时刻电池处于放电状态。根据放电过程预测模型并由式(15)预测 t+1时刻的 SOC值:

式中mdl_disch为训练得出的放电过程SOC预测模型。

若 t+1时刻电流值 It+1>0,则再判断是否 t时刻电流值It≤0,若 It≤0,则 t+1时刻电池处于放电状态,根据放电过程预测模型并由式(15)预测t+1时刻的SOC值,这种判断的依据是纯电动公交车动力电池运行过程中存在制动能量回收过程,当发生制动能量回收时,会出现短时间的电流大于0的过程,实际上电池仍然处于放电的过程中。

如果不满足上述条件,则t+1时刻处于充电状态,根据充电过程预测模型并由式(16)来预测t+1时刻的SOC值:

式中mdl_ch为训练得出的充电过程SOC预测模型。

3 模型预测结果与分析

3.1 SOC单步预测结果与分析

基于Matlab 2016b平台进行训练,训练所得的SOC单步预测模型的相关参数如表3所示。

表3 SOC单步预测模型相关参数

在训练数据集上,单步预测SOC值与真实SOC值的对比如图2所示,误差如图3所示。

图2 训练数据上单步预测方法预测SOC曲线

在训练数据集上,基于贝叶斯优化的SVM预测模型预测出的SOC值与真实SOC值的最大绝对误差为1.58%,平均绝对误差仅0.18%,具有较高的预测精度。

图3 训练数据上单步预测方法预测误差

为测试SOC单步预测模型的泛化性能,将SOC单步预测模型应用于式(4)中构建的测试数据集上,观察预测模型的表现。测试数据集上单步预测SOC值与真实SOC值的对比如图4所示,误差如图5所示。

图4 测试数据上单步预测方法预测SOC曲线

图5 测试数据上单步预测方法预测误差

在测试数据集上,基于贝叶斯优化的SVM预测模型仍然具有很高的预测精度,最大绝对误差为1.82%,平均绝对误差仅为0.17%,也进一步证明SOC单步预测模型具有很好的泛化性。

3.2 SOC自主预测结果与分析

基于Matlab 2016b平台进行训练,训练所得的SOC自主预测模型的相关参数如表4所示。

表4 SOC自主预测模型相关参数

在训练数据集上,自主预测的SOC值与真实SOC值的对比如图6所示,误差如图7所示。

图6 训练数据上自主预测方法预测SOC曲线

图7 训练数据上自主预测方法误差

在训练数据集上,自主预测的SOC值与真实SOC值的最大绝对误差为5.89%,平均绝对误差为2.69%,具有较高的预测精度。

为测试SOC自主预测模型的泛化性能,将SOC自主预测模型应用于测试数据集上,观察预测模型的表现。测试数据集上自主预测SOC值与真实SOC值的对比如图8所示,误差如图9所示。

图8 测试数据上自主预测方法预测SOC曲线

图9 测试数据上自主预测方法误差

在测试数据集上,自主预测方法同样具有优秀的表现,其预测的最大绝对误差为5.87%,平均绝对误差为2.75%,模型具有很好的泛化性。

3.3 SOC预测模型鲁棒性分析

值得注意的是,上述建立的SOC预测模型反映的是SOC与电池的总电压、电流和电池温度等因素之间的内在关系,与公交车的运行路线、工况和气温等外界因素没有直接耦合的关系。因为外界因素的变化最终体现在总电压、电流和电池温度等内在因素的变化上,而这些内在因素已经作为预测模型的输入,参与到了模型的训练和预测中,因此SOC预测模型的精度对公交车的运行路线、工况和气温等外界因素的变化不敏感,体现了SOC预测模型的鲁棒性。

为验证SOC单步预测模型与SOC自主预测模型的鲁棒性,用上述已训练好的1号公交车SOC的预测模型,来预测具有不同运行路线的2号公交车的SOC值。同时为验证预测模型对气温的不敏感性,2号车的预测数据段取自夏天(2017年7月),而图4、图5、图8和图9的预测数据段取自1号车冬天(2017年2月)。值得注意的是,1号车与2号车具有相同的电池包,且为同一厂家同一批次的电芯。

将2号车的稀疏采样数据进行数据预处理,构建测试数据集,并基于1号车训练所得SOC单步预测模型进行预测,结果如图10和图11所示。

图10 2号车7月份单步预测方法预测SOC曲线

图11 2号车7月份单步预测方法预测误差

基于1号车训练所得SOC自主预测模型对2号车SOC进行预测,结果如图12和图13所示。

图12 2号车7月份自主预测方法预测SOC曲线

由图10和图11可以看出,在不同运行路线且处于不同气温的情况下,SOC单步预测方法仍然具有很高的精度,单步预测的最大绝对误差为1.65%,平均绝对误差为0.58%。由图12和图13可以看出,在不同运行路线且处于不同气温的情况下,SOC自主预测方法也具有很高的精度,自主预测的最大绝对误差为5.89%,平均绝对误差为2%。可见在不同运行路线且在不同天气温度的情况下,SOC预测模型具有较强的鲁棒性。

图13 2号车7月份自主预测方法误差

值得注意的是,若电池生产厂家不同,或电池材料体系及电池包的成组方式不同等,其电池的SOC与总电压、电流、电池温度等的内在关系必然会发生不同程度的改变,在进行电池SOC预测前需要重新训练以建立新的电池SOC预测模型。

4 结论

基于某公交公司纯电动公交车云平台电池数据库中存储的稀疏采样的动力电池运行数据,对影响纯电动公交车运行过程中电池SOC变化的影响因素进行了深入分析,运用支持向量机回归方法,并结合贝叶斯优化算法,建立了SOC单步预测模型,对第t+1个采样时刻的SOC值进行预测,预测的最大绝对误差仅为1.82%;进一步建立了SOC自主预测模型,实现了对第t+1个采样时刻SOC值的自主预测,预测的最大绝对误差仅为5.89%;并基于该预测模型对具有不同运行路线且处于不同气温下的车辆进行了SOC预测,验证了预测模型具有较强的鲁棒性。

所提出的基于稀疏采样数据驱动的SOC单步预测方法是一种新颖的预测电动公交车电池SOC的方法,简化了预测模型建立的过程;进一步建立的SOC自主预测方法摆脱了SOC预测过程中对预测变量中真实SOC值的长期依赖,实现了对电池SOC的自主预测。所提出的预测方法合理地运用了电池监控云平台的电池数据库中存储的稀疏采样数据,且能够将预测的未来时刻的SOC值与实际上传的BMS估计的SOC值进行相互佐证,对于电池系统的云平台在线诊断有着十分重要的意义,同时也为挖掘动力电池运行数据背后的规律和价值提供了一种参考。下一步计划在自主预测的基础上实现SOC提前多步预测,以此为驾驶员提供参考续驶时间。

猜你喜欢

测试数据向量时刻
基于ID3决策树算法的大学生体能测试数据管理系统设计
基于回收测试数据特点的判读方案设计与实现
向量的分解
冬“傲”时刻
捕猎时刻
聚焦“向量与三角”创新题
测试数据管理系统设计与实现
基于自适应粒子群优化算法的测试数据扩增方法
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线