基于深度神经网络的车辆电池荷电状态估计方法与流程

文档序号:19212106发布日期:2019-11-26 01:21阅读:618来源:国知局
基于深度神经网络的车辆电池荷电状态估计方法与流程

本发明涉及电池状态监测技术领域,更具体的说是涉及一种基于深度神经网络的车辆电池荷电状态估计方法。



背景技术:

电动汽车(ev),由于其污染小、噪音低、能效高、驾驶体验好等特点,已经被广大消费者广泛追捧,加之有着国家政策的支持,其发展潜力巨大。电池作为电动汽车的核心系统,对电池状态进行在线、准确的监控是保证电动汽车安全性的重要手段,其主要通过对电池的荷电状态soc(state-of-charge,荷电状态)估计来实现。电池的soc是指当前剩余电荷量占总电荷量百分比,精准有效的估计能够清晰的反应出电池的当前状态,从soc曲线可以进一步分析出电池是否产生故障或者其他相关问题。

目前车辆电池soc估计的方法主要分为两大类,一类是基于电池领域知识的方法,即根据电池的电化学原理来进行估计;另外一类是数据驱动的方法,即根据电池产生的历史数据,从中学习特征与soc值的映射关系,这类方法以机器学习、深度学习为主。主流的soc估计方法包括开路电压法、库伦积分法、卡尔曼滤波法、基于支持向量机和基于神经网络的方法。开路电压法是建立在让电池在稳定状态下足够长时间达到平衡之后的开路电压上,这时候soc和开路电压会呈现出一种线性关系,不同电池种类会不一样。开路电压法的准确率较高,但是需要电池有长时间的静止过程,这在实际运用中难以实现。库伦积分法是最常见也是最简单的,实现起来消耗低,但是难点在于决定初始的soc值。一旦初始的soc值设置的不合适,那么在函数的积分过程中,这个误差就会被逐渐累积放大,慢慢地soc值就会偏离实际值,导致估计效果不理想。卡尔曼滤波法是过去相当一段时间内soc值估计的很有效的方法,是国内外研究人员研究的热点,也发展出了一些强有力的变体,如拓展卡尔曼滤波法和无损卡尔曼滤波法。这种方法是递归形式的,可以减少电流的噪声,虽然计算代价比较大,但是可以实时估计并且修正电池soc值,所得到的效果比较好。支持向量机是传统的机器学习的办法,适用于非线性系统,能够快速准确的实现soc估计,但存在计算量较大、实际运用中效果不理想的情况。

综上所述,传统的soc估计方法存在估计准确度较低、无法实时估计、计算量大等缺点。而深度神经网络完全抛弃电池相关的电化学复杂的理论知识和各种等效模型,具有强大的拟合非线性系统的能力,训练后的网络能够对电池soc进行在线估计,因此很适合应用于车辆电池soc估计领域。

因此,如何提供一种基于深度神经网络的车辆电池荷电状态估计方法是本领域技术人员亟需解决的问题。



技术实现要素:

有鉴于此,本发明提供了一种基于深度神经网络的车辆电池荷电状态估计方法,能够对电池soc进行实时精准的估计,计算量少。

为了实现上述目的,本发明采用如下技术方案:

一种基于深度神经网络的车辆电池荷电状态估计方法,包括以下步骤:

步骤1:采集预设温度下,不同模拟汽车驾驶习惯的负载对电池进行放电操作的历史数据,并对所述历史数据进行初步处理得到原始数据;

步骤2:将所述原始数据转换为双向lstmencoder-decoder深度神经网络可以训练的数据集,所述数据集包括训练集和测试集;

步骤3:初始化所述双向lstmencoder-decoder深度神经网络,并利用所述训练集对所述双向lstmencoder-decoder深度神经网络进行训练,获得训练后的网络模型参数;

步骤4:利用步骤3获得的模型对所述测试集进行测试,得到soc估计的效果;

若效果在可接受误差内直接运用到在线车辆电池荷电状态的估计。

进一步,所述历史数据包括电池电压v、电池电流i,电池表面温度t和电池当前电量ah。

进一步,对所述历史数据进行初步处理得到原始数据包括以下步骤:

步骤11:对包括电池电压v、电池电流i,电池表面温度t和电池当前电量ah的历史数据进行重新采样,采样频率为1hz,得到不同时刻的电池电压vt、电池电流it、电池表面温度tt和电池当前电量aht;

步骤12:根据所述电池当前电量和标准电量计算电池的soc值,并作为网络的标签数据,其计算公式为:

其中,aht表示t时刻测得的电池电量,ah0表示电池标准电量。

进一步,将所述原始数据转换为双向lstmencoder-decoder深度神经网络可以训练的数据集具体包括以下步骤:

步骤21:将不同时刻的所述电池电压vt、所述电池电流it和所述电池表面温度tt进行归一化,使其分布在[0,1]区间,具体公式为:

其中,d表示电压、电流和电池表面温度中任意一个,dt表示t时刻的数据,dmin表示最小的数据点,dmax表示最大的数据点;

步骤22:将归一化后的电压v′t、电流i′t和表面温度t′t连接为输入向量xt=[v′t,i′t,t′t],对应的标签为soct;

步骤23:将归一化的数据转换为所述双向lstmencoder-decoder深度神经网络模型需要的数据结构,其中所述数据结构为[样本数,时间步,特征数],变形后的单个样本结构为[[v′t,i′t,t′t],[v′t+1,i′t+1,t′t+1],……[v′t+k-1,i′t+k-1,t′t+k-1]],表示时间步为k时的单个样本输入。

进一步,所述训练集:所有模拟汽车驾驶情况下对电池施加负载的随机混合而成的数据集;

所述测试集:单个模拟汽车驾驶情况下对电池施加负载的数据集。

进一步,所述双向lstmencoder-decoder深度网络模型结构具体为:encoder部分采用双向lstm层,decoder部分采用lstm层,中间的语义向量c作为decoder部分的每次输入。

进一步,所述步骤3具体包括以下步骤:

步骤31:随机设置所述双向lstmencoder-decoder深度神经网络的所有参数,包括权重值和偏置值,完成模型的初始化;

步骤32:将所述步骤23得到的训练数据输入所述步骤31得到的深度神经网络中,经过网络的前向传播计算得到预测值soct’,其计算公式为:

soc′t=σ(v′t,i′t,t′t)(3)

其中,σ表示神经网络的一次前向传播;

步骤33:训练神经网络的损失函数loss,其计算公式为:

其中,y表示训练集soc的标签值,表示训练集soc的预测值,m表示样本数量,i表示样本序号;

步骤34:采用穿过时间的反向传播算法更新网络的权值参数;

步骤35:重复步骤32-34,直到神经网络收敛,完成训练,获得网络模型的参数。

进一步,所述步骤4具体包括以下步骤:

步骤41:将所述测试集的测试数据输入至训练完成的深度神经网络,经过网络的前向传播计算得到预测值soc″t;

步骤42:利用平均绝对误差mae评价模型性能,其计算公式为:

其中,y表示测试集soc的标签值,表示测试集soc的预测值,m表示样本数量,i表示样本序号;

当测试集的mae在可接受范围内时表示网络性能卓越,输入当前时刻电池的电压、电流和电池表面温度,得到当前时刻的电池soc值。

经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于深度神经网络的车辆电池荷电状态估计方法,能够处理有着大量数据的复杂非线性系统,并且不需要电池本身的细节信息,只需要电池的历史数据。当模型训练和测试完成之后,便可以进行soc的实时估计,十分便捷。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1附图为本发明提供的基于深度神经网络的车辆电池荷电状态估计方法流程图。

图2附图是本发明中双向lstmencoder-decoder深度神经网络模型结构图。

图3中(a)图是本发明中双向lstmencoder-decoder深度神经网络模型应用于25摄氏度下us06数据集效果图;(b)图是本发明中双向lstmencoder-decoder深度神经网络模型应用于25摄氏度下us06数据集的误差;(c)图是本发明中双向lstmencoder-decoder深度神经网络模型应用于25摄氏度下hwfet数据集效果图;(d)图是本发明中双向lstmencoder-decoder深度神经网络模型应用于25摄氏度下hwfet数据集的误差。

图4是本发明中双向lstmencoder-decoder深度神经网络模型在5个温度下us06和hwfet数据集的结果。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种基于深度神经网络的车辆电池荷电状态估计方法,本实施方案选用panasonic18650pf型号电池的数据集,该数据集可以是在25、10、0、-10或-20摄氏度采集的数据,在相同温度下分别对电池施加不同的模拟汽车驾驶状态的负载,包括us06、hwfet、udds、la92和nn以及对这5种负载进行随机混合的cycle1-4。数据集的详细信息如表1所示:

表1panasonic18650pf汽车电池数据集

其中,在一次完整的电池放电测试中,us06、hwfet、udds、la92和nn都是重复施加相同的模拟驾驶放电负载,cycle1-4则表示施加us06、hwfet、udds、la92和nn这五种模拟驾驶放电负载中的4种随机组合,直至放电结束。

本发明实施例一种基于深度神经网络的车辆电池荷电状态估计方法,包括以下步骤,如图1所示:

步骤1:对车辆电池进行完全充电;待充电完成的车辆电池表面温度达到预设测试温度(-20℃、-10℃、0℃、10℃或25℃)时,采集不同模拟驾驶习惯的电池放电操作并实时记录各项数据,获取电池数据集中电池的电压v、电流i、电池表面温度t和电池当前电量ah的历史数据,初步处理得到原始数据,具体为:

步骤11、重新采样,对包括电压、电流、电池表面温度和电池当前电量的历史数据重新采样成频率为1hz的数据,即1s一个数据点,得到不同时刻的电池电压vt、电池电流it、电池表面温度tt和电池当前电量aht;

步骤12、根据电池当前电量和标准电量计算电池的soc值,这个值将作为网络的标签数据,具体公式为:

其中,aht表示t时刻测得的电池电量,ah0表示电池标准电量。

步骤2:使用上述处理后的数据制作成神经网络可以训练的数据集,分为训练集和测试集,具体为:

步骤21、标准化数据,不同时刻的电池电压vt、电池电流it和电池表面温度tt进行归一化,使其分布在[0,1]区间,具体公式为:

其中,d表示电压v、电流i和电池表面温度中任意一个,dt表示t时刻的数据,dmin表示最小的数据点,dmax表示最大的数据点;

步骤22、将归一化后的电压v′t、电流i′t和表面温度t′t连接为输入向量xt=[v′t,i′t,t′t],对应的soc标签值为soct;

步骤23、将数据变形为深度神经网络模型需要的数据结构,即[样本数,时间步,特征数],变形后的单个样本结构为[[v′t,i′t,t′t],[v′t+1,i′t+1,t′t+1],……[v′t+k-1,i′t+k-1,t′t+k-1]],表示时间步为k时的单个样本输入;

步骤24、训练集为cycle1-4,测试集为us06、hwfet、udds、la92和nn。

如图2所示,为本发明所使用的双向lstmencoder-decoder模型的结构图。

模型架构方面,包含输入层、隐藏层以及输出层。其中,输入、输出数据均为序列数据,一次性向神经网络传入多个样本数据计算输出。隐藏层中,encoder部分采用双向lstm,即双向长短期记忆网络,所有的输入然后被编码成一个语义向量时,可以利用到当前时间步内的所有信息,前后的联系更加紧密;编码后的向量蕴含了输入的所有信息,神经网络会自动学习到一些有用的信息存储下来,丢弃的无用的信息;decoder部分采用单层lstm,每一个时间步输入都是前面编码后的向量,因为解码时只需要用到之前的语义向量和前一时间步的状态信息,并不需要后一步的状态信息。单层lstm到输出层之间使用timedistributed层封装,这样可以保证输出层的矩阵参数在同一段时间步内不会更新。

模型具体参数配置方面:网络模型的时间步长设置为40,可以使网络达到较好的预测效果;隐藏层单元个数设置为64,从而保证网络预测效果较好的同时计算量在可接受范围内;同时,可以将encoder和decoder部分进行堆叠。

步骤3:初始化双向lstmencoder-decoder深度神经网络模型,并利用上述训练集对网络进行训练,获得训练后的网络模型参数。

训练深度神经网络的方法如下:

步骤31、随机设置双向lstmencoder-decoder模型的所有参数,包括权重值和偏置值,完成模型的初始化;

步骤32、将上述的训练数据输入深度神经网络,经过网络的前向传播计算得到预测值soct’,其计算公式为:

soc′t=σ(v′t,i′t,t′t)(3)

其中,σ表示神经网络的一次前向传播;

需要说明的是,预测值并不是一个定值,是一直在经过反向传播算法迭代更新的,直到loss满足要求(收敛)为止。

步骤33、训练神经网络的损失函数loss设置为均方差mse,训练网络的目的就是使损失函数降低到可接受范围内,此时表示网络收敛,损失函数的公式为:

其中,y表示训练集soc的标签值,表示训练集soc的预测值,m表示样本数量,i表示样本序号;

步骤34、使用穿过时间的反向传播算法(backpropagationthroughtime)更新网络的权值参数;

步骤35、重复步骤32-34,直到神经网络收敛,完成训练,获得网络模型的参数。

进一步,为了提高神经网络训练效率,本发明在对模型进行训练时引入了adam优化方法和mini-batch,batch大小设置为1024以加快训练速度,训练5000个epoch以保证收敛。

步骤4:使用上述模型对测试集进行测试,得到soc估计的效果。具体为:

步骤41、将上述的测试数据输入训练完成的深度神经网络,经过网络的前向传播计算得到预测值soc″t;

步骤42、网络性能的主要评级机制为平均绝对误差mae,其计算公式为:

其中,y表示测试集soc的标签值,表示测试集soc的预测值,m表示样本数量,i表示样本序号;

当测试集的mae在可接受范围内时表示网络性能卓越,可用于电池soc的在线估计。即输入当前时刻电池的电压、电流和电池表面温度,直接得到当前时刻的电池soc值。

这里需要说明的是,可接受范围是根据国内外研究现状决定的,mae越小性能越好。实际运用中,低于2%mae已经足够优秀。

表2中展示了在5个温度下us06和hwfet测试集的效果。

表25个温度下us06和hwfet测试集的效果

可以看出,该网络模型达到了非常好的预测效果:在25℃情况下,us06测试集的mae达到了0.55%,hwfet测试集的mae达到了0.60%,证明本发明所提供的双向lstmencoder-decoder深度神经网络模型对于电池soc实时估计有着十分精确的效果。

因此,本发明一种基于深度神经网络的模型——双向lstm(longshort-termmemory,长短期记忆)encoder-decoder模型,能够对电池soc进行精准的估计。该模型不需要传统的一些领域知识和滤波操作,能够自动学习相关参数,输入对应的数据,就可以直接得到电池的soc值。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1