一种基于粒子群优化的电池状态估计方法与流程

文档序号:11405713阅读:381来源:国知局
一种基于粒子群优化的电池状态估计方法与流程

本发明属于电池状态估计领域,涉及一种基于粒子群优化的电池状态估计方法。



背景技术:

在二次电池的应用中,需要对soc等电池状态进行估计。现有的技术包括安时积分法、电压法、状态滤波法。在这些方法中,状态滤波法的长期精确度最佳。状态滤波法中较为常用的一种方法是卡尔曼滤波。

通过卡尔曼滤波进行电池状态估计时,需要获得准确的电池模型,然而目前的技术常使用固定的电池模型参数,难以适应电池使用时电池模型参数的变化。也有方法通过卡尔曼滤波同时对电池状态和电池参数进行估计,这种方法的缺陷在于,卡尔曼滤波的理论基础是线性模型,而电池系统呈现很强的非线性特性,因此卡尔曼滤波在对电池系统进行估计时精度下降。同时,如果电池模型存在多个局部最优点,卡尔曼滤波容易陷入局部最优点,因此对全局最优点的搜索能力不强。

为了对非线性的电池系统进行估计,可以采用非线性估计方法对电池参数进行估计。对于参数为连续量的电池系统,可以采用粒子群优化对电池参数进行估计。粒子群优化是模拟现实世界中鸟群觅食的一种算法,该算法对于非线性系统的估计能力较强,且有一定的全局最优点搜索能力。



技术实现要素:

针对上述存在问题或不足,本发明提供了一种基于粒子群优化的电池状态估计方法,克服现有技术的局限性。以使得在对电池状态进行在线估计时,能够适应电池模型参数的变化,从而获得更精确的电池模型参数估计,使得电池状态的估计更加精确。

一种基于粒子群优化的电池状态估计方法,其具体步骤如下:

步骤s1、初始化粒子群,初始化状态估计器;

首先,根据模型复杂度和估计精度要求,确定粒子数量,并根据电池参数的取值范围,初始化粒子群;

然后,根据电池特性和电池初始状态,对粒子群中的每个粒子初始化一个状态估计器,每个状态估计器对应粒子群中的一个粒子;

步骤s2、对于粒子群中的每个粒子,获得状态后验估计,并比较状态后验估计的精度获得状态估计,再通过状态后验估计得到下一采样点的状态先验估计;

首先,对于粒子群中的每个粒子,根据粒子坐标获得电池参数,并根据状态先验估计,通过对应的状态估计器获得状态后验估计;

然后,计算粒子适应度,比较粒子适应度获得状态估计;

最后,根据状态后验估计,通过电池模型获得下一采样点的状态先验估计;

步骤s3、根据状态后验估计的精度,对粒子群进行演化,获得新的粒子群;

首先,根据步骤s2所得粒子适应度,更新粒子群中粒子的历史最优值;

然后,根据电池参数估计全局性的要求,选取粒子群中领袖数量,并根据粒子适应度选取粒子作为领袖;

最后,通过更新公式得到新的子种群后,合并所有子种群得到新的粒子群。

进一步的,所述步骤s3中,更新公式包括速度更新公式和坐标更新公式;

速度更新公式

坐标更新公式

其中,pi,k是粒子坐标,vi,k是粒子速度,δtk是采样点时间间隔,ppbest,i是粒子的历史最优值,plbest是领袖的历史最优值。γv是惯性系数,α、β是加速常数,这三个系数用于控制粒子群的搜索特性,其中γv在0至1之间,γv越大,全局搜索能力越强,γv越小,局部搜索能力越强,α、β越大,则粒子对应地更多地向粒子历史最优值或领袖历史最优值搜索。这三个系数根据实际需求适当取值。u1、u2是服从n(0,1)的正态分布的随机值,u3是服从u(0,1)的均匀分布的随机值,其作用是加大坐标更新的时间间隔,减弱粒子坐标变化对粒子适应度计算的影响。是粒子适应度衰减常数,在0至1之间取值。

进一步的,所述步骤s2中,粒子适应度的计算公式为

其中是粒子适应度,是粒子适应度衰减常数,在0至1之间取值。δtk是采样点时间间隔,yk是电压测量值,是电压预测值。

进一步的,还包括一个步骤s4:重复步骤s2、s3,以持续对电池状态作出估计。

本发明在对电池进行状态估计时,通过粒子群优化,得到电池参数的估计,且当电池模型有多个局部最优点时,相比于局部优化方法更容易得到电池模型的全局最优估计,从而使得状态滤波得到的电池状态估计更加精确。

综上所述,本发明在对电池状态进行在线估计时,能够适应电池模型参数的变化,从而获得更精确的电池模型参数估计,使得电池状态的估计更加精确。

附图说明

图1为本发明的整体流程图;

图2为本发明步骤s1的细节流程图;

图3为本发明步骤s2的细节流程图;

图4为本发明步骤s3的细节流程图;

图5为实施例获得的状态估计曲线,其中,soc估计95%置信上限、soc估计95%置信下限根据状态误差协方差矩阵估计计算获得;

图6为实施例获得的电压预测值曲线与电池电压曲线。

具体实施方式

下面结合附图及实施例,对本发明进行进一步详细说明。

参阅图1,一种基于粒子群优化的电池状态估计方法可分为以下步骤:

步骤s1:初始化粒子群,根据模型复杂度和估计精度要求,确定粒子数量,并对于粒子群中每个粒子初始化一个状态估计器,每个状态估计器对应一个粒子群中的粒子。

参阅图2,步骤s1具体包括步骤s11~s12。

步骤s11:根据模型复杂度和估计精度要求,确定粒子数量,并根据电池参数的取值范围,初始化粒子群。

本发明方法可用于不同电池模型的估计。实际应用时,粒子群的粒子数量应根据模型复杂性及所需的估计精度进行确定。粒子数量越高,估计精度越好,但计算量也越高。本实施例中,使用一阶滞变rc模型,一共初始化100个粒子构成粒子群。电池参数包括放电内阻r+、充电内阻r-、滞变常数γ、滤波器常数α1、α2、g1、g2。其中,γ大于0,α1、α2在0到1之间。根据经验或历史数据,获得关于电池参数的取值范围的估计,根据电池参数的取值范围初始化粒子群。单个粒子的初始坐标为

其中,k为采样点编号,下标min、max表示各参数的取值范围的最小值和最大值,γ0是与γ相关的值,|γ0|=γ,用于限制粒子群中γ为非负值,ζ1,min、ζ1,max、ζ2,min、ζ2,max是与α1、α2的最小、最大值相关的值,|ζi,minormax|=-logai,maxormin,i=1,2,用于限制粒子群中α1、α2值的范围至(0,1],u是与粒子坐标维数相同的随机向量,其各元素服从相互独立的u(0,1)的均匀分布。符号代表元素相乘。

单个粒子的初始速度通过随机分布进行初始化,

其中r是与粒子坐标维数相同的随机向量,各元素期望为0。单个粒子初始速度也可以设为0。本发明实施例中,单个粒子的初始速度vi,k设为0。

步骤s12:根据电池特性和电池初始状态,对粒子群中的每个粒子初始化一个状态估计器,每个状态估计器对应一个粒子群中的粒子。

本实施例中,采用卡尔曼滤波器作为状态滤波器。对于任意一个卡尔曼滤波器,初始化其状态先验估计状态误差协方差矩阵先验估计

其中,k是采样点编号,是soc先验估计,通过测量电池初始静置电压,根据开路电压函数得到初始估计,是滞变先验估计,这里初始估计为0,为滤波器状态先验估计,这里初始估计为0。是对应的状态误差协方差先验估计,其取值大于0。

步骤s2:对于粒子群中的每个粒子,根据粒子坐标获得电池参数,并通过对应的状态估计器获得状态后验估计,计算粒子适应度,比较粒子适应度获得状态估计,最后通过状态后验估计得到下一采样点的状态先验估计。

参阅图3,步骤s2具体包括步骤s21~s23。

步骤s21:对于粒子群中的每个粒子,根据粒子坐标获得电池参数,并根据状态先验估计,通过对应的状态估计器获得状态后验估计。

本实施例中,对于粒子pi,k,有

pi,k=[r+r-γ0ζ1ζ2g1g2]

根据粒子pi,k得到电池参数,即放电内阻r+、充电内阻r-、滞变常数γ=|γ0|、滤波器常数α1=exp(-|ζ1|)、α2=exp(-|ζ2|)、g1、g2。

由电池参数得到卡尔曼滤波的状态方程

输出方程

状态矩阵

输出矩阵

ck=[ocv′(zk)1g1g2]

其中,ik是电池电流,通过测量获得,δtk是采样周期,可通过测量获得,或取为固定值,cn是电池容量,通常通过标称或放电测试获得,m(z)是电池最大滞变函数,即电池充分充电至一定soc后的开路电压与电池充分放电至该soc后的开路电压的差值关于soc的函数,通常通过充放电测试获得,m′(z)是m(z)关于z的导数,sgn(·)是符号函数,yk是电池电压,通过测量获得,ocv(z)是电池开路电压函数,即排除滞变影响后电池开路电压关于soc的函数,通常通过充放电测试获得,ocv′(z)是ocv(z)关于z的导数。

得到卡尔曼增益

其中,ev为输出噪声协方差,根据测量仪器的精确度、输出方程的精确度以及输出噪声的大小综合确定。

根据输出方程得到电压预测值

从而得到状态后验估计

以及状态误差协方差矩阵后验估计

步骤s22:计算粒子适应度,比较粒子适应度获得状态估计。

本实施例中,对于任一粒子,其粒子适应度为

其中是粒子适应度,是粒子适应度衰减常数,在0至1之间取值。表征了粒子对应状态滤波器在一定时间内电池电压估计的精度,可以表征状态后验估计的精度。越小,说明状态后验估计的精度越高。以最小的粒子对应的状态后验估计、状态误差协方差矩阵后验估计作为状态估计、状态误差协方差矩阵估计。由上述估计可以获得电池soc的估计以及对电池soc估计的精度的估计。

步骤s23:根据状态后验估计,通过电池模型获得下一采样点的状态先验估计。

本实施例中,根据状态方程得到下一采样点的状态先验估计为

其中

分别是的各分量。

又根据状态矩阵得到下一采样点的状态误差协方差矩阵先验估计为

其中,ew为状态噪声协方差矩阵,其各分量值根据状态方程的精确度及误差相关性综合确定。

步骤s3:根据步骤s2所得粒子适应度,对粒子群进行演化,获得新的粒子群。

参阅图4,步骤s3具体包括步骤s31~s33。

步骤s31:根据粒子适应度,更新粒子群中粒子的历史最优值。

本实施例中,根据状态后验估计的精度,即粒子适应度将粒子群中各粒子排序,将各粒子的名次与历史名次比较,若名次上升,则将当前粒子坐标作为粒子历史最优值。然后,将各粒子的名次作为新的历史名次。

步骤s32:根据电池参数估计全局性的要求,选取粒子群中领袖数量,并根据粒子适应度选取粒子作为领袖。

领袖粒子数量的选取根据系统的局部最优点数量确定,局部最优点越多,对全局搜索性能要求越大,则领袖粒子数量越大。

本实施例中,将100个粒子分为10个子种群,其方法为,选取粒子适应度最高的10个粒子作为子种群的领袖,依次选取剩余粒子中粒子适应度最低的9个粒子与粒子适应度最高的一个领袖一同构成一个子种群。

步骤s33:通过更新公式得到新的粒子群。

本发明实施例中,对于每个子种群,各粒子为pi,k,各粒子速度为vi,k,各粒子历史最优值为ppbest,i领袖历史最优值为plbest,则更新公式包括速度更新公式

以及坐标更新公式

其中,γv是惯性系数,α、β是加速常数,这三个系数用于控制粒子群的搜索特性,其中γv在0至1之间,γv越大,全局搜索能力越强,γv越小,局部搜索能力越强,α、β越大,则粒子对应地更多地向粒子历史最优值或领袖历史最优值搜索。这三个系数根据实际需求适当取值。u1、u2是服从n(0,1)的正态分布的随机值,u3是服从u(0,1)的均匀分布的随机值,其作用是加大坐标更新的时间间隔,减弱粒子坐标变化对粒子适应度计算的影响。

通过更新公式得到新的子种群后,合并所有子种群得到新的粒子群。

完成上述步骤后,重复步骤s2、s3,以获得电池状态的实时估计。

图5为实施例获得的状态估计曲线,其中,soc估计95%置信上限、soc估计95%置信下限根据状态误差协方差矩阵估计计算获得;图6为实施例获得的电压预测值曲线与电池电压曲线。

通过图5、图6可以看出本发明所述方法能较好地对电池状态进行估计。

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