本发明涉及电动汽车技术领域,具体涉及一种电动汽车动力电池故障诊断方法及设备。
背景技术:
电动汽车作为新能源汽车的主要发展方向之一,越来越受到人们的重视。电池作为动力供应能源在电动汽车的组成中有着至关重要的作用,动力电池的性能直接影响着整个电动车的各方面性能,包括电动车的行驶里程、最高行驶速度、爬坡性能等。在电动汽车行驶中,由于路况条件等原因,造成电池的物理挤压和物理碰撞等不利因素的出现,会影响电动汽车在行驶过程中的整车安全。为了确保电动汽车的安全行驶,防止因为动力电池故障所导致的重大人员伤害和财产损失,保障电动汽车使用者的生命财产安全,给每一台电动汽车配备能够及时准确地诊断动力电池故障的电池故障诊断系统,将成为未来电动汽车发展的趋势。
因此实时了解电池的运行状况,及时发现电池故障,并给出相关原因分析以及对应处理操作是极为必要的,所以对电动汽车动力电池故障诊断进行研究将成为电动汽车安全方面的研究热点。目前对电动汽车动力电池的管理和控制是通过bms(batterymanagementsystem,电池管理系统)实现的,bms通过监测动力电池的温度、电压等参数来判断动力电池是否出现故障,然而,不同的动力电池由于其结构、材料以工艺存在差异,其工作时的温度、电压等参数的特性也存在差异,因此由于存在这些不确定因素,可能会导致bms判定的故障是误报,从而影响车辆的正常行驶。
因此需要一种更精确的电池故障诊断方法,提高电池组故障诊断的精度,以确保电动车行驶过程中安全性。
技术实现要素:
发明目的:本发明的目的是提供一种基于人工智能的电动汽车动力电池故障诊断方法和设备,能及时将故障电池的位置、故障原因和故障解决方法以诊断结果的形式反馈出来,提高电池组故障诊断的精度,确保电动车行驶过程中安全性。
技术方案:根据本发明的第一方面,提供一种基于人工智能的电动汽车动力电池故障诊断方法,包括以下步骤:
获取动力电池参数数据,利用小波包分解提取动力电池数据的幅频特性和相频特性特征;
将动力电池数据的幅频特性和相频特性特征输入预先训练好的lstm故障诊断模型中,得到诊断结果。
其中所述动力电池参数数据包括电池的电压数据、电流数据、温度数据和放电量数据。
进一步地,所述利用小波包分解提取动力电池数据的幅频特性和相频特性特征包括:
对动力电池参数数据进行3层小波包分解,其中,采用的小波函数为db3,小波熵为香农熵;
3层小波包分解最后一层中总共有8个节点,将这8个节点的信号以频率为参考量,从低至高排序分别定义为(3,0),(3,1),(3,2),(3,3),(3,4),(3,5),(3,6),(3,7);
根据能量公式计算重构后的各节点的能量值,并将能量值按照[(3,0),(3,1),(3,2),(3,3),(3,4),(3,5),(3,6),(3,7)]的顺序组合;
对小波包分解后各个节点上信号能量进行分析,采取合适的阈值对小波包系数进行处理,然后小波包分解信号进行重构。
进一步地,所述预先训练好的lstm故障诊断模型建立方法如下:
采集正常电池和各类故障电池参数数据,包括电池的电压数据、电流数据、温度数据和放电量数据,进行3层小波包分解,提取出动力电池数据的幅频特性和相频特性特征;
设置网络结构并确定参数,在网络结构中,隐含层神经元的数目与网络输入参数的维度相同,隐含层采用lstm神经元,输出层神经元数量与上述各类故障电池的类别相同;对网络节点、初始权值、最小训练速率、偏置量、允许误差、迭代次数和sigmoid参数进行确定;
将小波分解后的数据样本分为训练集、验证集和测试集三个部分,利用训练集数据来拟合模型,通过设置神经网络的参数,训练分类模型;使用验证集数据来调整模型参数;使用测试集数据进行模型性能评价。
进一步地,所述各类故障电池包括容量偏低电池,内阻偏大电池和soc偏低电池。
根据本发明的第二方面,提供一种计算机设备,所述设备包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现如本发明第一方面所述方法的步骤。
有益效果:本发明针对电动汽车行驶过程中的安全问题,防止因为动力电池故障所导致的重大人员伤害和财产损失,通过对动力电池进行故障树分析,利用小波包分解提取动力电池故障特征,然后建立了基于lstm神经网络的电动汽车动力电池故障诊断模型;通过离子电池历史数据对神经网络进行训练,得到预期的诊断结果后,再将实时采集的电池数据输入神经网络中进行分类诊断,并对神经网络进行不断自学习。本发明可提高电池组故障诊断的精度,确保电动车行驶过程中安全性。
附图说明
图1为根据本发明实施例的基于人工智能电动汽车电池故障诊断方法流程图;
图2为根据本发明实施例的电动汽车动力电池故障诊断树;
图3为根据本发明实施例的对电压信号的分解结果;
图4为根据本发明实施例的电池故障诊断模型结构;
图5为根据本发明实施例的lstm神经元结构;
图6为根据本发明实施例的lstm神经网络反向传播图解;
图7为根据本发明实施例的lstm网络模型的门功能展示。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明。
如图1所示,在一个实施例中,实现了一种基于神经网络的锂离子电池故障诊断方法,主要分为两步进行:首先利用现有的锂离子电池历史数据(该数据已被分为标记故障种类)对神经网络进行训练,得到预期的诊断结果后,再将实时采集的电池数据输入神经网络中进行分类诊断,并对神经网络进行不断自学习。在训练神经网络或进行故障诊断之前,对原始数据进行预处理是十分必要的,因为原始数据可能包含对故障诊断结果有消极影响的噪声数据,因此需要对原始数据进行特征提取,同时为了提高计算机的计算效率和便于分类处理,需要对特征提取后数据进行归一化处理等,才能为故障诊断神经网络供应高质量的数据样本。参照图1,基于人工智能的电动汽车电池故障诊断方法包括以下步骤:
步骤1,通过对动力电池进行故障树分析。
电池的性能受到许多因素的影响,其中对其影响最大的是电池的两极材料和电解液成分。电池性能的评估主要依赖于这些电池参数,包括:电池额定电压、电池额定容量、充放电截止电压、充放电截止电流、工作温度范围、体积能量比、质量能量比和循环充放电次数与自放电率等。在实际工程应用中,无法采集到上述的所有参数,因此在故障诊断系统中常用的几个电池性能参数有:电压、内阻、电池容量和荷电状态(stateofcharge,soc)。
1.电池电压
电池电压是电池分析中最常用的参数之一,可以分为5种类型的电压:理论电压、开路电压、工作电压、额定电压和充放电截止电压。其中理论电压是指电池在25℃时正负极间的电极标准电位差;开路电压是电池在开路状态(电池两端未接负载)时正负两级间的电位差,与理论电压值相差无几;工作电压指的是电池在给负载供电时电池两端的输出电压,通常情况下其值不大于理论电压;额定电压是电池在普通室温情况下给规定负载供电时电池两端的实际电压;充放电截止电压是指电池在充放电时电池的极限电压,超出该电压则电池停止充电或放电,该电压是电池生产厂商规定或者根据电池的实际工作环境决定。
2.电池内阻
电池内阻是电池的固有属性,内阻的不一致不仅体现在不同种类的电池之间,而且即便是相同生产批次的同类电池不同的工作状态下其阻值也有所差异。电池内阻只是在日常使用中的普遍叫法,实际上它是由两种类型的内阻组成,分别是欧姆内阻和极化内阻。欧姆内阻的组成分为两部分,其一是由电池隔膜与电极孔的离子穿越阻力所决定的离子电阻,其二是由隔膜两端电解液交互时出现的接触阻力所产生的电子电阻。极化内阻是电池正负电极,参与电池充放电时的电化学反应而产生极化现象所导致的电阻,该阻值受到电池的固有属性和外部条件共同影响。
3.电池容量
电池容量代表电池所储存电能的大小,是反映电池续航能力的重要指标。与电池的电压应用,电池电容也分为理论容量和实际容量两类。其中电池的理论容量是指电池在充分电化学反应时放出的总电量,该电量大小取决于电池中的参与电化学反应的活性物质总质量。电池的实际容量是指电池在特定工作条件下放出的总电量,通常以符合c或ah为单位。
4.荷电状态(soc)
电池的荷电状态是反映电池剩余电量的一种估计指标。电池的soc作为决定电动汽车控制策略的重要指标,能够表征电池的续航时间和电池充满所需的时长,是判断电池工作状态的重要参数之一,对于电池故障诊断有重要的意义。目前对电池soc预测的主要方法有开路电压法、内阻判别法和安时测量法等。
故障树分析是一种系统可靠性分析的方法,具体表现是自上而下由总到分地以图形的形式展开,将故障按包含和被包含关系以树状图的形式展现,是广泛应用于系统安全分析中的方法。设计故障树的原则是:首先收集系统可能产生的故障(包括软、硬件故障),然后通过调查实际案例分析产生这些故障的原因(系统内在因素和外部因素),利用故障树标准符号(包括事件符号、逻辑门符号和转移符号等)对故障和原因的因果关系以树形图表示,来明确系统故障原因的各种组合方式,以达到对故障的分类和给出相应处理操作,提高系统可维护性。
故障树的形状与二叉树类似,是一种树形因果关系图,其组成部分包括顶事件、中间事件、基本事件和未探明事件等,它们之间以逻辑门和转移符号连接,具体构成步骤如下:
1.熟悉系统:详细了解系统运行中各个状态的每种参数变化情况。
2.调查事故:统计以往系统故障事件,并分析系统故障的因果关系,整理系统可能发生的故障。
3.确定顶上事件:顶上事件就是系统对象中所有故障的根源,即所有故障的父类事件。
4.确定目标值:通过分析故障事件,利用统计学分析得到故障的发生概率,并将此值作为目标值。
5.调查原因事件:分析查证导致事故发生的具体原因。
6.画出故障树:以顶上事件为源头,将所有故障事件以树状形式逐步排列一直达到需要分析的事件,并以逻辑关系分布。
7.分析:将故障树中的同类故障合并为一个根故障的子类,简化故障树结构,并确定各个基本事件的重要程度。
建立故障树除了需要确定构建步骤之外,事件和逻辑符号也是必不可少的成分。我国为故障树符号制定了统一的标准,结合本发明所涉及的故障类型,在表1中列出部分故障树中基本符号定义。
表1故障树基本符号及其含义
锂离子电池的故障主要分为两大类:单体电池的故障和电池组的故障。其中单体电池的故障是在电池的日常使用中,伴随着电池内部电解液和电极之间发生电化学反应所产生的副反应,包括电隔膜融穿,解液分解和金属锂沉淀等,或者在使用不当情况下(过充、过放、过热、短路等)导致的电池故障,具体体现为电池的电压降低、温度升高和电池容量减小等,如果不及时加以控制处理,可能会引发电池起火乃至爆炸等危险。
电池组故障主要出现在电动汽车中,由于现今的技术条件有限,有限体积的锂离子电池单体电压一般最大只能达到个位数,无法给电动汽车提高足够的动力,因此在电动汽车中,电动汽车的能量来源主要由电池组(包)提供,其中电池组(包)是由多个单体电池串联或并联构成。而正是因为这样的结构,电池组在使用的过程中会因为电池的不一致性(同样型号电池的各项性能参数呈现差异)致使某些电池发生过充或过放情况。在充电时,电池组中容量较小的电池和容量较大的电池分别处于过充和欠充的状态;在放电时,电池组中容量较小的电池和容量较大的电池分别处于过放和欠放的状态。出现电池不一致情况的电池组经过长时间的使用后,其不一致程度加大,电池组整体性能将会下降,而且对电池组的寿命也有所影响。
通过对动力电池故障的分析,最终画出动力电池的故障树如图2。如图所示,得到的故障树中包括两个一级故障源分别为电池单体故障和电池组故障,在电池单体故障下包含电压低、热失控、老化三个二级故障源,在电池组故障下包含电池单体不一致、放电电压低和充电故障三个二级故障源。每个二级故障源下包含若干故障原因底事件。其中每一层平行的事件之间为或的关系。
动力电池故障树的建立相当于对各类故障现象的总结,再结合故障树的建立方法,直接就可以画出故障树。故障树的建立是为了选取故障电池,因此选取本次设计要诊断的电池故障:容量偏小,内阻偏大,soc偏低,照顾到所有的故障现象,能够更好的分析电池。
步骤2,利用小波包分解提取锂动力电池故障特征。
电动汽车电池系统的故障中某些故障由于其征兆不明显,难以根据直接采集的原始数据中判断,以致故障无法及时发现,最终造成电池组性能下降或损坏,提高了电动汽车的维护费用,严重情况下甚至可能造成人员伤害和财产的损失,这类故障被称为软故障,一般包括:电池容量偏小、电池内阻偏大、soc偏低等。
通过分析上述软故障电池的充放电数据,发现在故障产生的时候,其电流、电压、温度等参数的相频特性和幅频特性均产生了一系列波动,这正好符合了非平稳信号的特点,因此可以采用小波包分析方法对信号进行特征提取处理。由于小波包分解是让原始信号通过一对互补的高通和低通滤波器进行分解,得到一个高频信号好一个低频信号,假设原始信号的长度为2l,那么这两个信号的长度均为l,同理,小波包分解中每一层的节点都会被分成长度相等的两个子信号,因此可以说小波包分解不会造成信号的损失。本发明采用三层小波包分解来处理锂离子电池的原始信号,原始信号包括电池故障产生的时候,其电流、电压、温度等参数的相频特性和幅频特性曲线信号,并利用其信号能量来对信号进行特征提取,作为重构依据。
根据公式:
可以求得小波包分解中某一层的重构信号。式中si,j是小波包分解中第i层第j个信号,也就是电流、电压、温度信号中的某一个,si是小波包分解中第i层的重构信号。
接下来需要求取信号的能量,在巴塞伐尔定理中规定信号的能量公式为:
根据公式(2)可以求得小波包分解第i层中第j个信号的能量ei,j:
式中的n表示第i层小波包的数量,cj,k表示第i层第j个信号的小波包系数。r表示在实数范围内的积分。
使用小波包分析技术,对四种类型的电池单体:正常电池、容量偏小电池、电阻偏大电池和soc偏低电池,进行ece+eudc工况(一种欧洲实行的汽车行驶油耗测试工况)下的电池放电实验,采集其电压、电流、温度和放电量等数据进行分析,利用小波包分析方法求出每个参数中各个频率段信号的能量,作为特征提取的依据。
具体步骤如下:
(1)使用matlab软件编程,将经过锂离子电池动态仿真工况放电后,所采集到的正常电池和各类故障电池参数数据,包括电池的电压数据、电流数据、温度数据和放电量数据,进行3层小波包分解。其中,采用的小波函数为db3,小波熵为香农熵。
(2)3层小波包分解最后一层中总共有8个节点,将这8个节点的信号以频率为参考量,从低至高排序分别定义为(3,0),(3,1),(3,2),(3,3),(3,4),(3,5),(3,6),(3,7)。
(3)根据能量公式计算重构后的各节点的能量值,并将能量值按照[(3,0),(3,1),(3,2),(3,3),(3,4),(3,5),(3,6),(3,7)]的顺序组合。
(4)对小波包分解后各个节点上信号能量进行分析,采取合适的阈值对小波包系数进行处理,然后小波包分解信号进行重构。其中对小波包系数进行处理可通过matlab软件中调用函数ddencmp,会有一个默认的小波包系数阈值。
通过上述分解,就完成了信号特征提取,以电压信号为例,电压信号的分解结果如图3所示。
步骤s3,建立基于lstm网络的故障诊断模型并进行训练。
在神经网络的设计过程中主要需要考虑神经网络的结构和规模,因为当神经网络结构简单、规模太小,会导致网络的精确度不足,泛化能力低下等;而神经网络结构过于复杂,也会导致网络训练时间过长,计算量太大的问题,使得网络诊断效率降低。为兼顾诊断精度和诊断效率,本发明提出一种稳定的lstm神经网络设计方法,使得网络具有较强的逼近能力和较强的实用性。本发明中的锂离子电池故障诊断模型如图4所示,是基于lstm神经网络模型来设计的,因为lstm神经网络在处理时序数据时有良好的性能,具有记忆历史数据的能力,这样将锂离子电池的历史数据输入神经网络中,能够更好地通过一段时间内电池数据变化来对锂离子电池进行故障分类。
在设计lstm神经网络时必须对网络节点、初始权值、最小训练速率、偏置量、允许误差、迭代次数和sigmoid参数进行确定。其中,网络节点是lstm神经网络中最为重要的参数,一旦网络节点确定了,整个神经网络的模型也就确定了。网络节点的确定一般需要确定输出层、输出层和隐含层节点,输出层节点数是与输入数据的维度一致,输出层节点需要根据分类数量来确定,隐含层节点的确定通常需要根据输入层节点确定,一般选择是输入层节点数的75%,但具体数量不确定,需要根据训练效果进行选择。初始权值是指数据在神经网络传递过程中的乘法因子,如lstm神经网络中的u、v和w矩阵。初始权值的选择一般需要让其不完全相等,而且它决定着神经网络的训练效率,根据相关经验,一般在-0.5~+0.5之间随机选择数值作为神经网络的初始权值。最小训练速率又叫做学习率,学习率的选择也会影响神经网络的诊断效果。过大会导致系统振荡,分类误差大;过小会导致系统训练速率降低,且容易陷入过拟合状态,因此学习率的选择是在不引发系统振前提下越大越好。偏置量一般是根据经验来确定的,通常在0.6~0.8之间。允许误差是用来作为训练停止的参考量,即当系统误差小于该值时就停止迭代,完成训练。迭代次数用于设置训练的最大轮数,当训练轮数超过该值,即使误差未达标也停止训练。sigmoid参数是用来控制分类的模式。
本发明实施例中,lstm神经网络各项参数指标为:输入层节点为4,隐含层层数为2层,隐含层节点为8,输出层节点为4,初始权值选为-0.5~+0.5之间的随机数,最小训练速率为0.3,迭代次数为1000次,偏置量取0.7,允许误差取0.01%,sigmoid参数采用softmax函数作为输出层的分类函数。
在网络结构中,隐含层神经元的数目与网络输入参数的维度相同,隐含层采用lstm神经元。在每个时刻t,隐含层神经元均有一个输出值h(t)。对于输入参数qi,经过lstm隐含层可得到一个输出值序列
式中,θ1,θ2,...,θk∈rn+1,
根据本发明的构思,需要对正常电池、容量偏低电池,内阻偏大电池和soc偏低电池进行分类,结合神经网络输出层神经元数量可以将电池类别以以下形式表现:正常电池所对应的神经元输出为[1;0;0;0];容量偏低电池所对应的神经元输出为[0;1;0;0];内阻偏大电池所对应的神经元输出为[0;0;1;0];soc偏低电池所对应的神经元输出为[0;0;0;1]。
lstm神经元结构如图5所示。lstm模型中输入、输出和内部计算都需要经过门控制操作,这些门控制在不同的位置有着不同的功能。其中输入门的作用是控制前一时刻数据的输入与否,输出门的作用是控制处理过后的数据是否输出,遗忘门的作用是控制数据在计算过程中的删除或保留。这些控制门都是围绕着存储所有时刻信息的记忆单元而工作的,它们所采用的算法都是一种非线性求和算法,通过这些门都有一个激活条件,当数据经过这些控制门的算法处理后达到激活条件,该门将会呈现开启状态,让数据能够进入或输出记忆单元。如图5中所示,输入门、输出门和遗忘门所采用的算法f是logisticsigmoid函数,而当前时刻输入和输出所采用的算法g和h则一般除了sigmoid函数之外还有tanh函数等。
设x(t)为时刻t的输入,u和w都是lstm模型中的参数矩阵,而b则代表偏置量,其下标i表示输入门(input)参数,如ui,wi,bi;f表示遗忘门(forget)参数,如uf,wf,bf;a表示状态单元参数,如ua,wa,ba;o表示输出门(output)参数,如uo,wo,bo。假设当前时刻为t,已知上述参数则可对lstm网络中的输入门、输出门和遗忘门的激活信息i(t)、f(t)和o(t)进行计算,同时神经元状态c(t)和输出值h(t)也将得到更新,具体实现方法如下:
从数据流动顺序进行分析,在时刻t时,输入数据传入输入门中,经过输入门的算法计算得到激活信息i(t),同时时刻t-1中输出的信息h(t-1)也通过状态单元的门控制的算法得到候选状态a(t),其具体算法如公式(5)和公式(6):
i(t)=σ(wih(t-1)+uix(t)+bi)(5)
a(t)=tanh(wah(t-1)+uax(t)+ba)(6)
神经元中的遗忘门将状态信息进行处理后得到激活信息f(t),其具体算法实现如公式(7):
f(t)=σ(wfh(t-1)+ufx(t)+bf)(7)
神经元在时刻t的状态单元信息c(t)的更新,需要根据输入门、候选状态单元、遗忘门和t-1时刻状态单元信息c(t-1)来计算。其具体算法实现如公式(8):
c(t)=i(t)⊙a(t)+f(t)⊙c(t-1)(8)
式中⊙表示两个向量的点乘,就是向量之间的数据按照其序数一一对应相乘。最后是在时刻t时神经元的输出值h(t)和神经元上输出门的激活信息o(t)的更新,其中激活信息h(t)需要根据t-1时刻神经元的输出值h(t-1)来计算,其具体算法实现如公式(9)和公式(10):
o(t)=σ(woh(t-1)+uox(t)+bo)(9)
h(t)=o(t)tanh(c(t))(10)
最终的输出为:
式中σ表示logisticsigmoid函数。sigmoid函数的曲线是“s”形,用言语描述就是其函数曲线斜率从-∞开始逐渐增大,到达0时斜率达到最大,然后再逐渐减小,在+∞时到达最小。在神经网络模型中,最常用的sigmoid函数是logisticsigmoid函数是,其函数的表达式为:
logisticsigmoid函数的特点主要是:首先它在(-∞,+∞)都有定义,并且值域为(0,1),因此可以所有输入值映射在0和1之间,有利于对结果分类;其次它是单调递增函数,而且在定义域内是连续可导的,其导数表达式简洁,方便求解。
在时刻t时,lstm神经网络模型中神经元上的各个参数就是利用公式(5)到公式(11)来进行更新的。
lstm传播算法思路和rnn的反向传播算法思路一致,也是通过梯度下降法迭代更新所有的参数,其关键部分在于计算所有参数基于损失函数的偏导数。
与在rnn中通过隐藏状态h(t)的梯度δ(t)向前传播计算反向传播误差类似。在lstm中定义两个隐藏状态h(t)和c(t),同时定义两个δ,即:
如图6所示,反向传播时使用了
而在最后的序列索引位置τ的
而
至此已经可以求得ui、wi、bi、uf、wf、bf、ua、wa、ba、uo、wo、bo、v、c等参数的梯度:
输入门:
遗忘门:
细胞状态:
输出门:
v和c:
正是由于lstm单元门控制的存在,使得神经网络模型能够有选择性得接收时序数据,如此一来即可控制信息的取舍,使得lstm神经网络可以储存久远的状态信息,同时也解决了rnn参数训练中的梯度消失和梯度爆炸问题。例如,在一段时序数据输入lstm神经网络的训练过程中,利用各个单元控制门对信息输入、输出的控制作用,即可控制历史信息的长期保留。对这种门控制进行通俗化描述可以表达为图7。
从图7中可以看出,lstm神经网络中的三个控制门都在隐含层上,其中在在神经元下面的是输入门,神经元左边的是遗忘门,在神经元上面的是输出门,它们的开闭状态以“o”、“-”表示。在神经网络中用颜色的深浅来表示神经元对输入数据的敏感程度,其中颜色越深表示对数据越敏感,而白色则表示敏感度为零。在网路的输入层可以看出,只有时刻1和时刻2输入数据有敏感度,其中时刻1输入数据的敏感度高,时刻2输入数据的敏感度低。在时刻2、时刻3和时刻5时输入门为关闭状态,其他时刻为开启状态。在时刻1、时刻2、时刻4和时刻6的输出门为关闭状态,其他时刻为开启状态。遗忘门只在时刻6为关闭状态。从图中可以看出,隐含层数据只在时刻1和时刻4处被修改,输出层只在时刻3和时刻5有数据输出。
在深度学习训练过程中,数据样本一般被分为三个部分:训练集、验证集和测试集。其中训练集的作用是用来拟合模型,通过设置神经网络的参数,训练分类模型;验证集作用是当通过训练集训练出多个模型后,为了能找出效果最佳的模型,使用各个模型对验证集数据进行预测,并记录模型准确率,选出效果最佳的模型所对应的参数,即用来调整模型参数;测试集的作用是对最优模型进行预测,用来衡量该最优模型的性能和分类能力,即可以把测试集当做从来不存在的数据集,当已经确定模型参数后,使用测试集进行模型性能评价。训练集、验证集、测试集的划分准则是这三个集合必须随机划分,而且不能有交集。由于本发明采用lstm神经网络算法,该网络的输入层是时序数据,因此需要先将实验数据按神经网络层数分割得到数据集,然后再将数据集划分的训练集、验证集、测试集按8:1:1的比例进行分割。
由于实施例中是仿真实验数据,实验数据在数值上的分布差值很大,对神经网络计算速度是不利的,因此为了加快了梯度下降求最优解的速度和神经网络训练精度,在训练之前先将待训练数据进行归一化处理,其目的主要是将原始数据转化为分布在[0,1]之间的数据,方便计算和分类。本发明利用对原始数据等比例缩放来实现数据的归一化。采用线性函数归一化处理数据,线性函数将原始数据线性化的方法转换到[0,1]的范围,归一化公式如下:
式中,xnorm为归一化后的数据,x为原始数据,xmax、xmin分别为原始数据集的最大值和最小值。
从电动汽车互联互通系统中获取以往的历史数据,即故障时的电压、电流、温度等数据,进行数据的归一化处理,然后根据设置的模型参数利用训练集数据进行训练,利用验证集数据调整模型参数,最终得到训练好的模型。
步骤4,利用训练好的诊断模型对电池实时数据进行诊断。
在实际应用中,对动力电池的实时数据进行预处理和特征提取,得到幅频特性和相频特性特征;再将动力电池数据的幅频特性和相频特性特征输入预先训练好的lstm故障诊断模型中,得到诊断结果。
在实施例中,利用测试集数据对模型进行评价。通过使用python语言和tensorlfow深度学习框架,对lstm神经网络进行实验仿真测试,其结果如下表1所示。表中n表示未经过小波包分解与重构的数据故障诊断准确度,y表示经过小波包分解与重构的数据故障诊断准确度。
表1两种诊断方法的诊断准确度比较
从表中可以看出lstm神经网络在经过小波包分解与重构的锂电池故障诊断的准确率比未经过小波包分解与重构的数据故障诊断准确度高4.1%。
基于与方法实施例相同的技术构思,根据本发明的另一实施例,提供一种计算机设备,所述设备包括:一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现方法实施例中的各步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。