本发明涉及一种基于daupf(双自适应采样无极卡尔曼粒子滤波算法)的锂离子电池寿命预测方法,属于锂电池健康管理技术领域。
背景技术:
锂离子电池已成功应用于许多消费电子产品(如手机,笔记本电脑和电动汽车),并逐步扩展到军事通信,导航,航空,航天等领域。锂离子电池的安全性受到越来越多人的重视。电池以充放电的循环次数或使用年限来定义电池寿命。电池中的化学物质会随着电池工作时间的增加而逐渐老化,电池故障会造成很严重的后果。美国加州消防局称,一辆特斯拉models汽车在一个停车场中自燃,几小时后在拖车场中再度起火,两次自燃期间该车没有过碰撞及其他操作。所以准确预测锂离子电池的使用寿命是非常重要的。健康状态估计(soh)和剩余寿命预测是电池健康管理的关键,它们能够确保锂离子电池的安全使用。
目前,锂电池的预测方法有两类。一类为非参数模型法,一类为参数模型法。
非参数法有神经网络法、机器学习法等。吴等人使用前馈神经网络(ffnn)与蒙特卡洛(is)法估算锂离子电池的剩余使用寿命(rul)。张等人使用基于长短期记忆型神经网络(lstm)去预测电池剩余使用寿命。机器学习法有支持向量分类(svm)、支持向量回归(svr)、相关向量机(rvm)法等。tobar等人将改进核自适应滤波的方法运用在电动自行车电池电压的预测。
参数模型法最常见的是各种滤波算法。其中,粒子滤波(pf)法是一种基于蒙特卡洛仿真的近似贝叶斯滤波算法。其核心思想是用一些离散的随机采样点来近似系统随机变量的概率密度函数。苗等人通过粒子滤波的方法预测电池的剩余使用寿命,得出粒子滤波可以很好地预测锂离子电池的剩余寿命。b.saha等人建立电池系统框架,通过pf预测电池在不同放电率下的剩余使用寿命。粒子滤波方法适用于任何非线性非高斯环境,但好坏取决于所选的参考分布与状态后验估计。
扩展卡尔曼(ekf)与无迹卡尔曼(ukf)是改进的卡尔曼滤波(kf)算法。ekf的优点在于它拥有弱非线性,在噪声较小的环境中有较好的预测效果。董等人基于递归最小二乘法提出自适应扩展卡尔曼(aekf)算法,得出aekf能很好地抑制噪声。h.s.ramadan等人分析比较多种ekf算法,得出预测电池荷电状态(soc)需要精确的参数模型,而ekf算法的好坏与模型的精确程度息息相关。ukf的优点在于模型上没有损失,计算精度相对较高。郑提出一种集成的ukf方法来预测电池rul,利用未来残差估计电池的参数,能精确预测电池的短期容量,但由于ukf无法调整模型参数,预测精度无法进一步提升。
粒子滤波与卡尔曼滤波各有优缺点,并且两种算法的优点可以弥补相互的不足,于是便有了扩展卡尔曼粒子滤波法和无迹卡尔曼粒子滤波法。苗等人通过使用无极卡尔曼粒子滤波(upf)算法,成功地预测了电池的rul。但该算法过于依赖粒子数、数据集大小以及历史数据质量等。张等人使用基于马尔科夫连蒙特卡洛的upf算法,能维持粒子多样性对锂离子电池的剩余寿命进行预测。陈等人用二阶高斯模型和upf对电池寿命进行预测。
upf算法是在采样阶段,用ukf算法指导粒子采样。采样完成后进行pf算法步骤,计算权重,进行归一化处理。判断是否进行重采样,对粒子集合进行复制和淘汰。计算粒子集合均值,得到估计输出值。迭代结束后分析数据。其结构如图1所示。
由于引入了ukf算法指导采样,upf算法容易受到高斯噪声的约束以及参考分布的影响;另外,传统的ut(unscentedtransform)变换后会对状态值进行更新,更新后的状态值的sigma分布与未更新前的sigma分布之间有一定的误差,如果使用未更新前所用的sigma分布来计算观测预测值等参数,也会对预测结果产生一定的影响。
技术实现要素:
本发明的目的在于,针对上述问题,提出一种基于daupf的锂离子电池寿命预测方法,首先,为了解决upf算法容易受到噪声和参考分布影响所带来的问题,我们在daupf算法中加入自适应因子。考虑到传统的upf算法是ukf与pf算法的结合,于是分别在采样阶段与预测阶段加入自适应因子,自适应因子可以调整参数分布,从而弥补两种算法的不足。其次,采样阶段需要使用ukf算法给出概率密度,ukf在采样时会进行ut变换,由于需要在第一步ut变换后加入新的自适应因子,会使得ut变换给出的sigma分布不准确。另外,传统的ut变换后会对状态值进行更新,更新后的状态值的sigma分布与未更新前的sigma分布之间有一定的误差,如果使用未更新前所提出的sigma分布来计算观测预测值等参数,会对预测结果产生一定的影响。基于以上两点原因,本发明daupf算法在状态值更新后再进行一次ut变换,得到新的sigma点集,进而计算观测预测值等参数。本文用马里兰大学高级生命周期工程中心的锂电池实验数据验证daupf算法的有效性,并和扩展卡尔曼滤波、无迹卡尔曼滤波、粒子滤波、扩展卡尔曼粒子滤波、无迹卡尔曼粒子滤波进行对比。
本发明一种基于daupf的锂离子电池寿命预测方法,为了解决上述问题所采用的技术方案为:首先采样部分,在ukf算法的基础上加入双自适应因子,然后指导sigma点集一步预测得到状态值和协方差,再进行一次ut变换,得到新的sigma点集,带入观测方程,得到新的观测量,从而得到第一次循环的样本均值与协方差;在改进ukf算法部分完成一次循环后更新双自适应因子中的一个自适应因子,再进行下一次改进ukf算法循环。采样完成后进入pf过程,得到一次输出预测值后,更新另一自适应因子,完成一次daupf过程;最后,预测测试数据。
本发明一种基于daupf的锂离子电池寿命预测方法,具体包括如下步骤:
step1.初始化参数;
step2.进入改进ukf中,指导粒子分布;
step3.通过ut变换第一次计算sigma点集,得到
step4.加入双自适应因子,得到
step5.通过step3得到的sigma点集,计算均值与协方差
step6.用step5得到的均值与协方差,再进行一次ut变换,得到新的sigma点集
step7.通过step6得到的新sigma点集预测得到观测预测值
step8.计算卡尔曼增益,方差及状态更新;
step9.更新第一个自适应因子
step10.判断是否完成采样。如果完成,则进行下一步权值归一化处理,否则进入step2;
step11.用step1-9采样部分得到的均值与方差,归一化处理计算权重,得到归一化权值;
step12.粒子重采样;更新数据,状态更新,方差更新,均值作为最终估计。
step13.得到预测值,更新自适应因子β值;
step14.判断是否完成迭代。如果完成,则评价算法,否则进入step2;
step15.评价算法。
其中,所述step1初始化的参数包括:初始化状态值
其中,所述step2为开始采样阶段,整个采样阶段循环n次,采样阶段为:step2-step9。
其中,所述step3具体为:计算2n+1个采样点的sigma点集
其中,所述step4具体为:
其中,所述step5为采样点的一步预测,均值为
其中,所述step6为第二次ut变换,产生新的sigma点集,
其中,所述step7观测预测值
其中,所述step8计算卡尔曼增益kk,
其中,所述step9更新第一个自适应因子,具体步骤同step4。
其中,所述step13得到预测值,预测值zupfk为归一化后权值代入状态方程函数得到,更新第二个自适应因子。
其中,所述step14为判断步骤,判断算法是否完成。
本发明一种基于daupf的锂离子电池寿命预测方法,其优点及功效在于:改善了upf算法的采样部分,双自适应因子的加入令算法有更强的鲁棒性,两步ut变换使得自适应因子能更好的融入算法中,使算法预测效果更准确。
附图说明
图1所示为upf算法流程图。
图2所示为本发明方法流程图。
图3所示为马里兰大学4组锂离子电池数据a3、a5、a8、a12的容量变化曲线图。
图4a所示为a3电池数据真实值与四种算法结果对比图。
图4b所示为a3电池数据真实值与四种算法的绝对误差图。
图5a~图5d所示为a3电池数据真实值与四种算法的误差概率密度图。
图6a所示为a3电池数据101次循环的ame图。
图6b所示为a3电池数据101次循环的rmse图。
图6c所示为a8电池数据101次循环的ame图。
图6d所示为a8电池数据101次循环的rmse图。
图7a所示为不同电池数据下各算法的ame值。
图7b所示为不同电池数据下各算法的rmse值。
具体实施方式
下面结合附图和实施例,对本发明的技术方案做进一步的说明。
如图2所示,本发明一种基于daupf的锂离子电池寿命预测方法,具体过程如下:
步骤一、初始化参数,包括:初始化状态值
步骤二、进入改进ukf中,指导粒子分布。本步骤为开始采样阶段,整个采样阶段循环n次,整个采样阶段为:从步骤二至步骤九。
步骤三、通过ut变换第一次计算sigma点集,得到
步骤四、加入双自适应因子,得到
步骤五、计算均值与协方差
步骤六、再进行一次ut变换,得到新的sigma点集。通过第二次ut变换,产生新的sigma点集
步骤七、预测得到观测预测值;用观测预测值、状态预测值通过无迹变换计算得到新的观测值、均值与协方差;具体如下:
观测预测值
新的观测值
新的均值由新的观测值与观测预测值加权得到,即
新的协方差由步骤六中得到的新的sigma点集
步骤八:计算卡尔曼增益,方差及状态更新。
卡尔曼增益
更新的系统协方差由卡尔曼增益kk与新的均值
更新的状态由步骤六中新的sigma点集
步骤九、更新第一个自适应因子
步骤十、判断是否完成采样。如果完成,则进行下一步权值归一化处理,否则返回步骤二;
步骤十一、用步骤一到步骤九完成的采样部分得到的均值与方差,归一化处理计算权重,得到归一化权值;
步骤十二、粒子重采样。更新数据,状态更新,方差更新,均值作为最终估计;
步骤十三、得到预测值,更新自适应因子β值。预测值
步骤十四、判断是否完成迭代。如果完成,则评价算法,否则返回步骤二;其中步骤二到步骤十三为daupf算法的一周期循环,daupf算法循环几次由需求设定。
步骤十五、评价算法。
具体实施例:
本实验使用matlab进行仿真,基于马里兰大学高级生命周期工程中心的锂电池实验数据,实验选择no.03,05,08以及12作为实验数据,4组锂离子电池实验数据如图3所示,该实验使用具有不同容量降解速率的同类型同品牌电池,在相同工况下进行。锂电池的充放电测试方法为:在室温下运用arbinbt2000电池测试系统进行充放电试验,当充电或放电电压达到制造商指定的截止电压时完成一次充电或放电过程。电池额定容量为0.9ah,放电电流为0.4ah。
下方初始值a、b、c、d为no.03,05,08,12拟合后得到的值。过程噪声与过程噪声方差分别设定为0.0001和0.001。本实验观测模型使用容量衰减模型zk=a*exp(b*k)+cexp(d*k)。
1.将初始值a=-0.0000083499;b=0.055237;c=0.90097;d=-0.00088543代入
2.采样阶段循环n次
3.
4.
5.进行第二次ut变换,
6.
7.
r=0.0001
8.
9.更新自适应因子①
10.完成1次采样,后续采样重复步骤2-10。上述仅为一次循环的数据。
11.采样部分得到的均值与方差,归一化处理计算权重,得到归一化权值。
12.
更新自适应因子②
13.以上数值为进行一次daupf循环得到的预测数据zupf,欲预测更多数据需继续进行运行程序。
以下通过用马里兰大学高级生命周期工程中心的锂电池实验数据验证daupf算法的有效性,并和扩展卡尔曼滤波、无迹卡尔曼滤波、粒子滤波、扩展卡尔曼粒子滤波、无迹卡尔曼粒子滤波进行对比。
本实验为了说明daupf预测效果的准确性,分别和ukf、pf、upf进行了对比,四种算法的初始参数以及误差值与本发明daupf的初始参数值以及误差值保持一致。
图4、图5对应电池数据a3,图4a,4b分别给出了其预测结果、绝对误差,图5a~图5d为误差概率密度图。
在图中,黑色曲线代表输出真实值;圆圈代表pf的预测结果;方格为ukf算法预测结果;菱形为upf算法结果;交叉符号为daupf预测结果;横线是电池容量失效阈值。从图4a中可以看出,随着滤波方法的不断改进,预测效果有了显著的提升,其中daupf算法所表示的线更靠近真实值所代表的线。从绝对误差图4b中可以看出daupf的绝对误差是最小的,pf效果最差,并且越到失效点预测效果越差。从图5a~图5d中可以看出本发明daupf算法最为稳定,鲁棒性最强。
本实验完整地进行了101次循环,将每次循环后的得到的mae与rmse记录,绘成折线图如图6a~6d所示。rmse值与mae值越接近于0,意味着预测方法越准确。从图中可以看出,不同的数据集a3、a8,不同的数据量,不同的过程噪声与观测噪声下,daupf算法预测值的mae值与rmse值相比于其他算法最小,比相对预测效果最好的upf误差要小一倍,并且算法的稳定性也强于其他算法(从横轴上看,可以看出daupf算法可以减少各种大小的观测噪声以及过程噪声的影响)。因此,本发明daupf算法相比较与其他几种算法预测性能更好。
从图7a、7b中可以看出,pf算法对于a3数据组预测效果不是很理想,即粒子滤波对数据点比较少的数据集的预测效果不好。ukf算法对于数据波动较大的数据有较好的预测效果。upf算法对于不同数据集有很好的预测效果,但从数据上也能看出,数据点比较少的数据集对upf算法的预测精度有一定的影响。本发明daupf算法在不同的数据集下的预测效果都优于其他算法,误差最小,并且最为稳定,鲁棒性更强。