【技术领域】
本发明属于锂电池技术领域,具体涉及基于自适应ukf的锂电池soc估算方法。
背景技术:
电池是电动汽车的主要能量载体和动力来源,也是电动汽车整车车体的主要组成部分,准确的估算电池soc,不仅可以提高电池的容量利用效率,还可以延长电池使用寿命。由于电池内部复杂的电化学性质及物理反应,soc不能直接测量,一般是通过电池外部参数,如电压及工作电流等进行估算。对于电池动态非线性混合系统的状态估计问题,目前主要采取单一的非线性滤波算法进行估计,ekf方法作为最早提出的非线性滤波方法之一,在工程上有着广泛的应用,但是ekf对非线性方程的一阶近似处理,忽略了系统的高阶项,容易产生线性化误差,且ekf需要计算复杂的jacobian矩阵。为了解决上述问题,julier等提出来的一种新的非线性滤波方法——ukf,它采用unscented变化技术近似非线性函数的均值和方差,可以获得比ekf更好的估计精度,但是ukf对系统的先验噪声分布有严格的要求,其良好的性能是建立在噪声分布特性已知且电池模型精确的基础上,但是在实际应用中很难得到电池精确的数学模型和噪声的统计特性,致使滤波精度降低甚至产生滤波发散的现象。
中国发明专利cn104502852a公开了一种基于ukf的锂电池soc估算方法,该算法产生sigma点,确定加权系数,ut变换,kalman滤波框架,完成了对锂电池soc的估算。该发明克服了ekf算法中需计算复杂的jacobian矩阵及线性化误差的缺点。由于ukf算法对系统先验噪声分布有严格的要求,且依赖系统精确的数学模型,仅采用ukf算法对电池soc进行估算,精度不高。
中国发明专利cn106019164a公开了一种基于双重自适应无际卡尔曼滤波器的锂电池soc估计算法。通过估计过程噪声和测量噪声的协方差矩阵,对未知的或者不准确的噪声统计进行实时在线修正,从而实现了锂电池soc的估计,避免了传统卡尔曼滤波器由于错误的噪声统计特性而导致的滤波估计性能降低,甚至滤波发散等问题。由于实际中系统模型存在不确定性,该发明未克服系统模型不确定的鲁棒性。
目前soc估算方法主要存在以下问题:
1、模型过于简化或系统参数发生变动。实际中的系统模型一般比较复杂,若要精确的描述系统,模型中的状态变量需要达到较高的维数,这不利于对系统状态进行重构,因此大多数情况下都要使用模型简化的办法,即忽略系统中某些不重要的因素,从而使用相对较少的状态变量来描述系统的主要特征,这就可能造成应用模型与实际系统之前的不匹配。系统在实际运行过程中可能会出现元件损坏、老化问题,这些问题均会对系统模型造成影响,进而使模型参数发生变化,与原模型的匹配程度降低。
2、噪声统计特性不准确。在模型中都需要考虑系统噪声和测量噪声,在大多数模型中应用的噪声统计特性都比较理想,从而导致实际过程噪声的统计特性与理论特性不能达到一致性。在实际情况中,系统的统计特性可能因为系统干扰而发生变化,这将会造成噪声统计特性的不准确性。
技术实现要素:
本发明所要解决的技术问题在于提供一种基于自适应ukf的锂电池soc估算方法,克服了ukf算法中由于电池模型的不确定性及噪声统计特性未知可能造成滤波精度降低甚至产生滤波发散的问题。
本发明是这样实现的:
一种基于自适应ukf的锂电池soc估算方法,包括如下步骤:
步骤一:对锂电池进行快速标定实验,获取soc与开路电压ocv关系曲线;
步骤二:建立待测锂电池的模型,并通过电池充放电实验,对电池模型参数进行辨识。本发明采用如下数学模型描述电池端电压特性:
zk=k0-rik-k1/xk-k2xk+k3in(xk)+k4in(1-xk)
其中,zk是指电池端电压,i为电池电流,r指电池内阻,该值在充电和放电时的值是不同的,充电时将其设为r+,放电时设为r-,k0~k4为常数;
步骤三:建立电池系统离散的状态空间模型;
zk=k0-rik-k1/xk-k2xk+k3in(xk)+k4in(1-xk)=h(xk,uk)+vk
式中cn是额定容量;i为电池电流;η为库伦效率,其中
步骤四:采用改进的ekf算法对电池soc进行估算;
(1)选定初始值
(2)时间更新
(2.1)当k>1时,采用sigma点对称采样策略,构造2n+1个sigma点集及其对应的权值:
其中:λ是常数,
(2.2)计算2n+1个sigma点集的一步预测
(2.3)根据一步预测值,再次使用ut变换,产生新的sigma点集
(2.4)将步骤(2.3)预测的sigma点集代入观测方程,得到预测的观测量
(2.5)计算sigma点的均值和方差
其中,η和σ为阈值,rk为相对残差,δk为测量值标准差,c为可调节参数;
时变渐消因子ζk+1的计算:
式中γk为k时刻残差,γ(1)表示k=0时刻的残差,sk表示残差的协方差矩阵,0<ρ<1,0<b<1为遗忘因子,通常在0.95-0.99之间选取,β≥1为弱化因子,目的是使状态估计值更加平滑;
(3)测量更新
当获得新的测量值zk后,可对状态均值和方差进行更新;
(3.1)计算卡尔曼滤波增益矩阵
(3.2)计算滤波更新值
(3.3)协方差更新
(4)判断滤波是否执行,如果是,返回步骤(2);否则,结束算法。
性对状态估算的影响,为了使电池的状态估计更加准确,提出了基于自适应ukf的锂电池soc估算方法,根据cauchy鲁棒函数数据校正原理,以ukf的测量先验值与其实际值的残差作为基准,采用联合权函数对滤波过程的噪声估计值进行实时修正,降低噪声不准的估计值的权重,使鲁棒目标函数达到最小值,克服了系统噪声估计不准所导致的滤波器精度变差问题;强跟踪ukf在协方差矩阵当中引入一个自适应调节因子ζk+1,通过在线自适应调整状态预测协方差阵pk+1/k,使得残差序列在每一步互相正交,降低了ukf算法对电池模型不确定性的影响。与传统的ukf算法相比,本发明克服了ukf算法中由于电池模型的不确定性及噪声统计特性未知而造成的滤波精度降低的问题,算法在复杂度上会略有增加,但滤波精度、鲁棒性有所提高。
【附图说明】
下面参照附图结合实施例对本发明作进一步的描述。
图1是本发明的方法流程示意图。
【具体实施方式】
如图1所示,一种基于自适应ukf的锂电池soc估算方法,包括如下步骤:
步骤一:对锂电池进行快速标定实验,获取soc与开路电压ocv关系曲线;
步骤二:建立待测锂电池的模型,并通过电池充放电实验,对电池模型参数进行辨识。本发明采用如下数学模型描述电池端电压特性:
zk=k0-rik-k1/xk-k2xk+k3in(xk)+k4in(1-xk)
其中,zk是指电池端电压,i为电池电流,r指电池内阻,该值在充电和放电时的值是不同的,充电时将其设为r+,放电时设为r-,k0~k4为常数;
步骤三:建立电池系统离散的状态空间模型;
zk=k0-rik-k1/xk-k2xk+k3in(xk)+k4in(1-xk)=h(xk,uk)+vk
式中cn是额定容量;i为电池电流;η为库伦效率,其中e[wk]=0,
步骤四:采用改进的ekf算法对电池soc进行估算;
(1)选定初始值
(2)时间更新
(2.1)当k>1时,采用sigma点对称采样策略,构造2n+1个sigma点集及其对应的权值:
其中:λ是常数,
(2.2)计算2n+1个sigma点集的一步预测
(2.3)根据一步预测值,再次使用ut变换,产生新的sigma点集
(2.4)将步骤(2.3)预测的sigma点集代入观测方程,得到预测的观测量
(2.5)计算sigma点的均值和方差
其中,η和σ为阈值,rk为相对残差,δk为测量值标准差,c为可调节参数;
时变渐消因子ζk+1的计算:
式中γk为k时刻残差,γ(1)表示k=0时刻的残差,sk表示残差的协方差矩阵,0<ρ<1,0<b<1为遗忘因子,通常在0.95-0.99之间选取,β≥1为弱化因子,目的是使状态估计值更加平滑;
(3)测量更新
当获得新的测量值zk后,可对状态均值和方差进行更新;
(3.1)计算卡尔曼滤波增益矩阵
(3.2)计算滤波更新值
(3.3)协方差更新
(4)判断滤波是否执行,如果是,返回步骤(2);否则,结束算法。
考虑到电池模型及噪声统计特性对状态估算的影响,为了使电池的状态估计更加准确,提出了一种基于自适应ukf的锂电池soc估算方法,根据cauchy鲁棒函数数据校正原理,以ukf的测量先验值与其实际值的残差作为基准,采用联合权函数对滤波过程的噪声估计值进行实时修正,降低噪声不准的估计值的权重,使鲁棒目标函数达到最小值,克服了系统噪声估计不准所导致的滤波器精度变差问题;强跟踪ukf在协方差矩阵当中引入一个自适应调节因子ζk+1,通过在线自适应调整状态预测协方差阵pk+1/k,使得残差序列在每一步互相正交,降低了ukf算法对电池模型不确定性的影响。与传统的ukf算法相比,本发明克服了ukf算法中由于电池模型的不确定性及噪声统计特性未知而造成的滤波精度降低的问题,算法在复杂度上会略有增加,但滤波精度、鲁棒性有所提高。
以上所述仅为本发明的较佳实施用例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。