本发明涉及电池荷电状态评估领域,尤其涉及一种基于plstm序列映射的电池soc鲁棒评估方法。
背景技术:
随着化石燃料的使用,人类在得以实现大规模工业生产的同时,也为环境带来了极大的负面影响,能源危机和环境污染等给人类带来了严峻的考研。因此,以锂电池为代表的清洁能源近年来得到了极大发展。电池的荷电状态(state-of-charge,soc)表征电池当前可用容量与其额定容量之间的比值,准确的soc评估对掌握电池剩余可用容量起到关键作用,是电动汽车车载电池管理等系统的重要功能。因此,需要研发准确的电池soc评估方法。
现有的soc评估方法可分为开路电压法、安时积分法、基于模型的方法和数据驱动的方法。开路电压法通过测量电池静置时的ocv,与试验得到的ocv-soc曲线进行比对,查表得到当前电池soc。安时积分法通过确定初值,计算充电电流在时间上的积分完成soc评估。基于模型的soc评估方法通过建立电池的电化学模型,进而通过测量电池的状态,估计模型参数,完成soc的估计。传统的数据驱动soc评估方法只需要获得电池的测量参数,使用历史数据训练模型,并在新测得的数据上完成soc评估。现有方法或仅考虑电池充放电过程中的状态信息,建立电池状态参数与soc之间的映射关系,这类方法忽略了电池的动态特性,在面临变采样频率等状态间过程不同的情况时无法完整学习到输入中的完整信息;或仅考虑过程信息,这类方法一方面对初值设定的准确度要求较高,另一方面没有状态信息对时间累积效应的修正,会给soc估计带来累积误差,影响估计准确度。因此,亟需提出一种结合电池充放电过程中的状态信息与过程信息完成soc评估的方法。同时,避免建立复杂的电池电化学模型。
技术实现要素:
为解决上述问题,本发明提出了一种基于plstm序列映射的电池soc鲁棒评估方法:对基本lstm(longshort-termmemory,长短期记忆)单元进行改进,成为plstm(lstmwithprocessinformation),使之能够在处理多步状态信息的同时,处理状态之间的过程信息;然后基于plstm构建序列映射模型,完成电池状态-过程信息序列到电池soc序列的映射,进而完成soc评估。具体步骤如下:
步骤一:训练及测试数据归一化
首先针对训练数据和测试数据中所有状态信息参数和过程信息参数进行归一化处理,使每个参数的幅值范围在0-1之间。其中,测试数据归一化时,使用训练数据对应列的归一化参数。
步骤二:滑窗序列切片
使用一定宽度的单步滑窗对步骤一得到的归一化处理后的训练集中状态信息参数序列、过程信息参数序列进行切片,每个切片样本包含一定采样点数的状态信息参数、过程信息参数,称为状态-过程序列样本;同时使用相同宽度的单步滑窗对相应的soc参数序列进行切片,每个切片样本包含与状态/过程信息参数切片相同采样点数的soc值,称为soc序列样本。
步骤三:构建并训练基于plstm的自编码器
使用步骤二获得的所有状态-过程序列样本训练基于plstm的自编码器。plstm是在基础lstm单元基础上,在输入和门控机制中引入状态信息参数的一种改进。plstm单元在基础lstm单元的基础上,加入了对过程信息参数向量的计算和处理。相比于基础lstm,plstm在输入、门控的计算过程中,同时加入了对过程信息参数的处理,因此其能够同时学习输入序列多步状态之间所经历的过程。使用plstm单元作为编码层,lstm单元作为解码层,构建自编码器,学习对过程-状态序列样本的重构,直至损失收敛,自编码器能够以较低误差完成对输入数据的压缩和重构。
步骤四:构建并调优基于plstm的序列映射模型
提取步骤三中训练得到的基于plstm的自编码器的编码层,在其之后接入一层lstm层、一个lstm输出单元,完成基于plstm的序列映射模型构建。使用步骤二中获得的状态-过程序列样本作为训练输入,与每个样本对应的soc序列样本作为训练输出,对上述基于plstm的序列映射模型进行调优训练,直至损失收敛。此时模型能够建立状态-过程信息参数序列到电池soc序列的映射,进而完成soc评估。
步骤五:使用测试数据完成soc评估
使用一定宽度的单步滑窗对步骤一得到的归一化处理后的测试集中状态信息参数序列、过程信息参数序列进行切片,同时使用相同宽度的单步滑窗对相应的soc参数序列进行切片,切片方法与步骤二相同,得到用于测试的状态-过程序列样本和对应的soc序列样本。将测试用状态-过程序列样本输入步骤四中训练得到的基于plstm的序列映射模型,得到模型输出的估计soc序列,完成soc评估;将估计soc序列与测试集中真实soc序列进行比较,验证模型的性能和效果。
本发明的优点与积极效果在于:
(1)本发明针对基础lstm单元进行了改进,在其输入和门控机制中引入了过程信息,使之不仅能够学习电池状态参数与电池soc之间的映射关系,还能够同时学习多步电池状态间所经历过程与电池soc之间的映射关系,使得利用充放电剖面信息更加充分,提升了soc评估方法克服电池动态特性等不利影响的能力;
(2)基于plstm单元,本发明提出了一种可以同时考虑电池充放电状态信息与过程信息的序列映射模型,并在调优训练之前首先经过基于自编码器的预训练,能够鲁棒地建立多步电池状态、状态间过程与电池soc间的序列映射关系,且不需建立复杂的电池模型;
(3)本发明所提出的模型,由于过程信息的引入,能够有效在变采样频率条件下,以及在未知放电剖面下实现高准确度的soc评估,具有较大实际应用价值。
附图说明
图1是本发明的基于plstm序列映射的电池soc鲁棒评估方法流程图;
图2是本发明的基础lstm单元原理图;
图3是本发明实施例的电池动态载荷放电剖面放电电流示意图;
图4是本发明实施例的基于plstm的自编码器训练损失变化图;
图5是本发明实施例的基于plstm的序列映射模型训练损失变化图;
图6是本发明实施例的0℃时本发明内容与相似技术soc评估结果误差对比;
图7是本发明实施例的25℃时本发明内容与相似技术soc评估结果误差对比;
图8是本发明实施例的45℃时本发明内容与相似技术soc评估结果误差对比;
具体实施方式
本申请的基于plstm序列映射的电池soc鲁棒评估方法,主要包括以下步骤:
步骤一:训练及测试数据归一化
首先针对训练数据和测试数据中所有状态信息参数和过程信息参数进行归一化处理,使每个参数的幅值范围在0-1之间。其中,测试数据归一化时,使用训练数据对应列的归一化参数。针对训练集/测试集的第i个参数进行归一化的公式如下:
其中
步骤二:滑窗序列切片
使用宽度为w单步滑窗对步骤一得到的归一化处理后的训练集中状态信息参数序列、过程信息参数序列进行切片,每个切片样本包含w步的状态信息参数、过程信息参数,称为状态-过程序列样本,记作
步骤三:构建并训练基于plstm的自编码器
使用步骤二获得的所有状态-过程序列样本训练基于plstm的自编码器。
plstm是在基础lstm单元基础上,在输入和门控机制中引入状态信息参数的一种改进。基础lstm单元原理如图2所示。
基础lstm单元的计算过程如下式,其中i,f,m和o分别代表输入门、遗忘门、记忆单元和输出门。σ(·)和tanh(·)分别代表sigmoid函数和tanh函数。w是每个门的权重矩阵,b是偏置向量。sk是第k步的状态信息参数向量,hk-1是第k-1步的隐藏状态向量。
ik=σ(wi×[sk,hk-1] bi)
fk=σ(wf×[sk,hk-1] bf)
ok=σ(wo×[sk,hk-1] bo)
plstm单元在基础lstm单元的基础上,加入了对过程信息参数向量的计算和处理。其计算过程如下式:
ik=σ(wi×[sk,pk,hk-1] bi)
fk=σ(wf×[sk,pk,hk-1] bf)
ok=σ(wo×[sk,pk,hk-1] bo)
除pk外,其余参数与基础lstm单元计算过程公式相同;pk是第k步的过程信息参数向量。可以看出,相比于基础lstm,plstm在输入、门控的计算过程中,同时加入了对过程信息参数的处理,因此其能够同时学习输入序列多步状态之间所经历的过程。
使用plstm作为输入编码层,lstm作为输出解码层,构建自动编码器。自动编码器旨在学习一个恒等函数,由编码器将输入数据压缩至编码向量,然后由解码器将编码向量解码重构生成输出数据,使得输出数据与输入数据之间差异尽可能小。设编码器和解码器表达的非线性函数分别为e(·)和d(·)。首先,对于状态-过程序列样本
使用adam优化器对其进行迭代训练,直至损失收敛,能够准确重构输入的状态-过程序列样本。
步骤四:构建并调优基于plstm的序列映射模型
提取步骤三中训练得到的基于plstm的自编码器的编码层,在其之后接入一层lstm层、一个lstm输出单元,完成基于plstm的序列映射模型构建。对于一组样本
使用步骤二中获得的状态-过程序列样本作为训练输入,与每个样本对应的soc序列样本作为训练输出,对上述基于plstm的序列映射模型使用adam优化器进行调优训练,直至损失收敛。此时模型能够建立状态-过程信息参数序列到电池soc序列的映射,进而完成soc评估。
步骤五:使用测试数据完成soc评估
使用一定宽度的单步滑窗对步骤一得到的归一化处理后的测试集中状态信息参数序列、过程信息参数序列进行切片,同时使用相同宽度的单步滑窗对相应的soc参数序列进行切片,切片方法与步骤二相同,得到用于测试的状态-过程序列样本和对应的soc序列样本。将测试用状态-过程序列样本输入步骤四中训练得到的基于plstm的序列映射模型,得到模型输出的估计soc序列,完成soc评估;将估计soc序列与测试集中真实soc序列进行比较,验证模型的性能和效果。
实施例
本实施例采用马里兰大学先进生命周期工程中心(calce)所公开的锂电池动态负载放电数据,采用本发明方法开展电池soc评估,以对所发明内容进行阐述,并进一步说明本发明内容的使用过程。
在本实施例中,所选取的电池状态信息参数包括电压(u)、电流(i),电池过程信息参数指采样时刻之间的时间间隔δk=tk-tk-1。
数据集中包含四种不同的动态载荷放电剖面,分别是动态压力测试剖面(dst)、联邦城市驾驶剖面(fuds)、高速公路驾驶剖面(us06)和北京动态压力测试剖面(bjdst),其放电电流情况如图3所示。
在本实施例中,所有训练过程均只使用dst剖面的数据,测试过程在fuds、us06和bjdst剖面上展开,以验证本发明内容在未知载荷剖面上进行soc评估的能力。
为验证本发明内容的效果,对所有数据进行重采样处理,采用在1-10步之间的随机间隔对数据进行重新采样。原始数据以1hz的频率进行采样,在重采样处理之后,每两个状态之间所经历的时间间隔在1s到10s间随机变化。
首先对四个放电剖面的数据进行归一化处理及滑窗序列切片处理。在切片时,采用的滑窗宽度为10,即每个状态-过程序列样本中包含10个采样时刻的数据,对应的soc序列样本中包含10个电池soc数值。
构建并训练基于plstm的自编码器。自编码器的输入编码层包含100个plstm单元,隐藏编码向量维度为100,输出解码层包含100个lstm单元。针对dst剖面样本,使用adam优化器对其进行迭代训练,直至损失收敛,能够准确重构输入的状态-过程序列样本。adam优化器的学习参数中,学习率lr=0.001,β1=0.9,β2=0.999。在训练过程中,损失值随训练迭代循环次数变化情况如图4所示。可见损失函数趋于收敛,模型能够以较低误差对输入状态-过程序列样本进行重构生成。
提取上述训练得到的基于plstm的自编码器的编码层,在其之后接入一层lstm层、一个lstm输出单元,完成基于plstm的序列映射模型构建。对于一组样本
使用步骤二中获得的dst剖面下状态-过程序列样本作为训练输入,与每个样本对应的soc序列样本作为训练输出,对上述基于plstm的序列映射模型使用adam优化器进行调优训练,直至损失收敛,如图5。此时模型能够建立状态-过程信息参数序列到电池soc序列的映射,进而完成soc评估。
使用上述训练完毕的基于plstm的序列映射模型对fuds、us06和bjdst放电剖面进行soc评估,其结果如表1所示。
表1本发明内容方法在0℃、25℃、45℃条件下针对三种不同剖面的soc评估结果绝对误差
从表中可以看出,在不同温度、变采样频率条件下,本发明内容均能够以较低的误差完成soc评估,具有较高的鲁棒性。
为体现本发明内容相较于现有类似方法的优越性,以相同的试验设定和数据条件,使用基于基础lstm的序列映射模型进行soc评估,与本发明内容评估结果误差对比如图6、图7、图8所示。相比基础lstm序列映射模型,基于plstm序列映射模型,针对三种未知放电剖面的soc评估结果误差在0℃、25℃和45℃时分别平均降低了9.36%、34.07%和21.29%。
除非另有定义,本申请中使用的所有技术和/或科学术语具有与由本发明所涉及的领域的普通技术人员通常理解的相同含义。本申请中提到的材料、方法和实施例仅为说明性的,而非限制性的。
虽然已结合具体实施方式对本发明进行了描述,在本申请的发明主旨下,本领域的技术人员可以进行适当的替换、修改和变化,这种替换、修改和变化仍属于本申请的保护范围。
1.一种基于plstm序列映射的电池soc鲁棒评估方法,其特征在于包括:
步骤一:训练及测试数据归一化;
步骤二:滑窗序列切片;
步骤三:构建并训练基于plstm的自编码器;
步骤四:构建并调优基于plstm的序列映射模型;
步骤五:使用测试数据完成soc评估。
2.如权利要求1的电池soc鲁棒评估方法,其特征在于:
首先针对训练数据和测试数据中所有状态信息参数和过程信息参数进行归一化处理,使每个参数的幅值范围在0-1之间;其中,测试数据归一化时,使用训练数据对应列的归一化参数。
3.如权利要求2的电池soc鲁棒评估方法,其特征在于:
使用一定宽度的单步滑窗对步骤一得到的归一化处理后的训练集中状态信息参数序列、过程信息参数序列进行切片,每个切片样本包含一定采样点数的状态信息参数、过程信息参数,称为状态-过程序列样本;同时使用相同宽度的单步滑窗对相应的soc参数序列进行切片,每个切片样本包含与状态/过程信息参数切片相同采样点数的soc值,称为soc序列样本。
4.如权利要求3的电池soc鲁棒评估方法,其特征在于:
使用步骤二获得的所有状态-过程序列样本训练基于plstm的自编码器;plstm是在基础lstm单元基础上,在输入和门控机制中引入状态信息参数的一种改进:plstm单元在基础lstm单元的基础上,加入了对过程信息参数向量的计算和处理。相比于基础lstm,plstm在输入、门控的计算过程中,同时加入了对过程信息参数的处理,因此其能够同时学习输入序列多步状态之间所经历的过程;使用plstm单元作为编码层,lstm单元作为解码层,构建自编码器,学习对过程-状态序列样本的重构,直至损失收敛,自编码器能够以较低误差完成对输入数据的压缩和重构。
5.如权利要求4的电池soc鲁棒评估方法,其特征在于:
提取步骤三中训练得到的基于plstm的自编码器的编码层,在其之后接入一层lstm层、一个lstm输出单元,完成基于plstm的序列映射模型构建;使用步骤二中获得的状态-过程序列样本作为训练输入,与每个样本对应的soc序列样本作为训练输出,对上述基于plstm的序列映射模型进行调优训练,直至损失收敛;此时模型能够建立状态-过程信息参数序列到电池soc序列的映射,进而完成soc评估。
6.如权利要求5的电池soc鲁棒评估方法,其特征在于:
使用一定宽度的单步滑窗对步骤一得到的归一化处理后的测试集中状态信息参数序列、过程信息参数序列进行切片,同时使用相同宽度的单步滑窗对相应的soc参数序列进行切片,切片方法与步骤二相同,得到用于测试的状态-过程序列样本和对应的soc序列样本;将测试用状态-过程序列样本输入步骤四中训练得到的基于plstm的序列映射模型,得到模型输出的估计soc序列,完成soc评估;将估计soc序列与测试集中真实soc序列进行比较,验证模型的性能和效果。
技术总结