基于数据驱动的动力电池健康状态评估平台
2022-07-07常泽宇张之琦张晓东郁亚娟
常泽宇,张之琦,张晓东,李 丽,郁亚娟
(北京理工大学材料学院能源与环境材料系,北京100081)
在我国推进“碳中和、碳达峰”目标的大背景下,新能源汽车行业进一步发展,继续吸引着广泛的关注。而动力电池作为新能源汽车最核心的部分也随之迅速发展起来[1-2]。2021 年上半年,我国新能源汽车生产和销售分别达到了121.5 万辆和120.6 万辆,同比增长两倍,而动力电池装车辆已累计达到52.5 GWh,同比累计增长200.3%[3]。虽然电动汽车拥有环保和排放上的优势,但是动力电池在长期使用后难免会有容量和功率性能的恶化,甚至产生安全隐患[4]。因此,对动力电池健康状态做出评估变得尤为重要。
电池健康状态(state of health,SOH)是一个评价动力电池老化程度的量化指标[5]。SOH可以由内阻和容量定义。一般认为,当内阻达到初始内阻的两倍时,或者电池容量衰减至初始容量的80%时,可以认为电池寿命达到尽头,应当被更换[6]。对电池的SOH 进行评估,判断电池的健康状态,并及时处理老化的电池,对于动力电池乃至锂电池来说都有十分重要的意义。
电池健康状态评估具有多种方法,主要可以分为直接测量和间接测量。直接测量的方法是指通过测量电池在特定条件下的与电池老化相关的特征参数如内阻、阻抗等来直接计算电池SOH[6]。然而,在电池实际运行过程中,这些参数并不容易直接测量,为了实现SOH 的在线评估,产生了间接测量SOH 的方法。间接测量的方法包括,基于模型的SOH 估计方法和数据驱动的SOH 估计方法[7-8]。基于模型的方法,顾名思义,是通过对被测量电池的建模的方法来实现SOH 评估,包括电化学模型、等效电路模型和经验模型。任璞等[9]以三元锂电池为例,建立二阶RC 等效模型来表征电池工作特性,并从内阻增加和容量衰减两个方面入手,实现了对锂电池健康状态的评估。董明等[10]通过对不同状态下的锂离子电池电化学阻抗谱测试,并分析弛豫时间分布,建立了包含温度影响的健康状态评估模型,使预测误差控制在2.5%以内。Wang等[11]基于等效电路模型分析,完成了电池建模和参数辨识,同时结合改进的拼接卡尔曼滤波算法,使模型具有良好的鲁棒性,实现了复杂工况下的高精度预测,控制误差在1.38%。数据驱动的方法是利用电池历史退化数据或者状态检测数据背后所隐藏的电池健康信息,结合人工智能或者机器学习的算法实现SOH预测[6]。王凡等[12]利用自编码器对提取的电池充放电数据进行降维,随后引入注意力机制分配特征权重,最后利用BiGRU 学习输入变量与容量之间的映射关系,使得SOH预测均方误差在1.1%以下。张孝远等[13]提出一种基于改进时间卷积网(TCN)模型的动力电池健康状态评估方法:首先提取充电曲线中的健康因子,筛选后作为输入数据,随后利用编码器对其降维,最后利用TCN 模型建立其与SOH的因果关系,实现SOH预测。这些基于数据的方法无需考虑电池内部复杂的老化过程,从电池运行数据中挖掘出关键信息并由此建立与SOH 的映射关系。这样的方法无需考虑具体的机理与模型,具有更大的灵活性和适用性。
在本研究中,搭建了一个基于数据驱动的动力电池健康状态评估系统的平台。该平台采用机器学习的方法,利用Light Gradient Boosting Machine(LightGBM)模型实现电池SOH 的预测。该平台对用户输入的电池数据进行处理,提取特征工程,通过引入直方图算法、单边梯度采样算法和互斥特征捆绑算法,增加数据处理效率。最终返回包括预测容量、模型特征权重等全方面的结果。同时也可以与输入的实际电池运行情况作对比,输出误差结果与对比图。这项工作对于电池健康状态的评价具有可观的精度,为SOH评估提供了极大的便利。
1 平台设计思路与评估方法
1.1 平台设计思路
图1为软件具体设计流程,包括了软件具体的工作流程和操作步骤。首先由主界面选择需要使用的模型,目前使用的为LightGBM 模型。按照要求上传相应类型的文件。随后,系统将对输入的数据进行处理并提取特征工程。经过模型的运算之后,平台会以图表和数据的形式返回包括容量预测信息、特征权重信息和误差信息的输出结果。
图1 平台设计流程Fig.1 Platform design process
1.2 SOH评估方法
如上所述,SOH 预测方法可以两大类:直接测量和间接测量,而间接测量又可以分为基于模型的估计方法和数据驱动的估计方法。本文使用的是基于数据驱动的估计方法,LightGBM 模型是传统机器学习算法梯度提升决策树(gradient boosting decision tree,GBDT)的优化。通过引入直方图算法(histogram algorithm)、单边梯度采样算法(gradientbased one-side sampling,GOSS)和互斥特征捆绑算法(exclusive feature bundling,EFB),LighhtGBM在减少计算量和保持精度两个方面找到平衡,并最终在计算速度、内存消耗和计算精度方面得到了有效提升[14-15]。
提取特征工程是为了获取模型训练所需的数据。特征工程的提取将原始数据转化为可供机器学习的数学特征。合理的选择特征,有助于模型在预测未知数据过程中达到最佳的性能。依据此前相关的工作[16],我们筛选了预测过程中表现优良的6 个特征工程,分别是放电电压的最小值的时间、负载电压的75 百分位、放电电压平均值、放电负载电压的25百分位、放电电压的25百分位和放电电压的标准差。
2 平台实现
2.1 平台运行环境与方法
选用Java 和Python 语言编写电池健康管理平台,软件部署在对外开放的服务器中。网页浏览器可用IE8.0或火狐、谷歌浏览器。软件的Web应用端基于Java的spring实现,提供对应的交互功能,系统以Mysql5.5 作为后台数据库,记录用户信息,平台的计算服务由Python 实现,用于模型的计算和训练,两种服务之间通过gRPC建立通信,实现Web端和计算服务之间的交互。访问该系统时,只需找输入服务对应的URL 地址,打开浏览器,输入地址栏后回车,即可登录电池健康管理平台。
2.2 操作演示
在满足上述运行环境的前提下,即可利用平台进行SOH 的计算。拟选取平台自带的样例作为演示,该样例数据来自美国国家航空航天局艾姆斯卓越预测中心(NASA Ames Prognostics Center of Excellence)的锂电池加速老化实验数据集。该数据集是目前研究锂电池健康状态与剩余使用寿命的重要公开数据集,并在此领域得到了广泛的使用[17-18]。
2.2.1 数据输入
在浏览器输入对应的URL 地址后,进入平台主界面,右上角注册登录后,即可开始使用SOH预测平台。输入界面的设计主要为了满足用户按照各自不同的需求,便捷、快速地利用该平台。如图2所示,在输入过程中支持用户自主选择运算模型和电池类型,并支持用户上传本地文件。上传的文件中应当包含电池运行的电流、电压、负载电压、温度以及时间等参数。用户也可以使用系统内置的两个样例,在不选择上传文件的情况下进行SOH 计算。当用户完成选择并上传文件之后,点击“上传信息”按钮即可完成数据输入。
图2 数据输入界面Fig.2 Data input interface
在演示中,选择使用的模型为“LightGBM”,选择电池类型为“样例1”。点击“上传信息”后,系统自动跳转到输出页面,等待计算结果输出。
2.2.2 软件运行
图3为平台运行流程。在模型建立过程中,引入了直方图算法。它将数据中原本为浮点数的连续的特征值离散成为若干个整数,并以此构建成一个具有一定宽度的直方图。每一个特征对应于一个直方图,而直方图的宽度则为离散成整数的个数。在遍历数据时,以离散后的值作为索引,即可在直方图中统计累计量。以这些直方图为依据,便可寻求最佳的分割点。因为将浮点数的数据简化成了整数进行处理,大大降低了对内存的消耗。同时采用直方图的形式进行计算,与传统的GBDT 算法相比,降低了计算的复杂程度[19]。
图3 模型运算流程Fig.3 Model operation flow chart
LightGBM 中GOSS 算法是一个采样算法,在采样时,按照一定的比例,选择性地更多保留了梯度较大的样本,而舍去一些梯度较小的样本。这是因为大梯度的样本更有利于计算信息增益。相较于GBDT 传统的XGboost(eXtreme Gradient Boosting)算法中遍历所有特征值的做法,这样更有利于提升计算效率。而EFB 算法,将互斥的特征捆绑在一起,减少特征的维度,因此减少了构建直方图时的特征数量,降低了计算的复杂程度。LightGBM 由此实现了占用内存更小,计算代价更小,处理速度更快,而计算精度并没有因此而降低[14]。
在本平台中,将原始的训练数据经过处理后,提取特征工程,计算梯度并按照按叶生长的方式(leaf-wise)构建决策树,不断更新梯度,直至完全建立决策树。如图4所示:不同于传统GBDT中按层生长(level-wise)的决策树构建方式,leaf-wise的方式对于同一层的“叶子”进行区别的对待,更加注重分裂增益:在每一层中都选择分裂增益最高的叶子进行分裂。而传统level-wise 的方式可以同时分裂每一层的“叶子”进行多线程的优化,这样实际上增加了非必需的计算开销。值得注意的是,leaf-wise的方式可能会产生较深的决策树,从而导致过拟合现象的发生。因此在进行leaf-wise时,要对最大深度进行限制才能构建更高效率的模型。
图4 决策树的构建方式Fig.4 Construction method of decision tree
训练好的模型存储在服务器中。当用户数据输入之后,将被传输到服务器并在模型中进行运算,并返回运算结果。用户可以在输出页面查看SOH预测详细信息。
2.2.3 运行结果
在完成数据运算后,系统弹出具体的输出结果。输出的结果包含容量预测结果和特征权重信息以及误差信息,结果以图表和数据的形式输出在界面上。
图5展示了容量预测的结果,是模型计算最重要的结果,也是绝大多数用户最为重视的结果。其中,图5(a)为容量预测图,只包含对输入数据处理和运算后的结果输出,代表了对电池使用过程中容量的预测。其中横坐标为循环次数,纵坐标为电池容量,单位为安时(Ah)。当用户在输入的文件中增加了电池运行的真实容量衰减情况时,可以在该图中增加真实电池容量曲线作为对比,以便于直观观察数据拟合结果。如图5(b)所示,虚线部分为来自NASA艾姆斯卓越预测中心数据的真实电池运行情况,实线部分为平台预测情况。需要查看图片细节和具体信息时,使用光标移动到图片的对应位置时,会在光标处体现出具体的坐标信息。权重为50.84%,这意味着在模型计算中,最为看重这一特征。其次为放电电压标准差和负载电压75百分位。
图5 容量预测结果Fig.5 Results of capacity prediction
图6 特征权重信息Fig.6 Feature weight information
本软件用3个指标来表征模型计算误差,分别是MSE、RMSE 和R2。MSE 为 均 方 误 差(mean square error,MSE),RMSE为均方根误差或标准差(root mean square error,RMSE),R2为决定系数。它们的计算公式如下所示
式中,m为样本数量;yi为测试集中的真实值;ŷi为测试集中的预测值;ȳi为真实值的平均值。MSE 和RMSE 两个指标越小,则表明误差越小。R2的范围是[0,1],越接近1,则表明模型拟合效果越好。本平台使用LightGBM模型进行电池SOH预测时,计算得到MSE=1.075×10-4,RMSE=0.0103,R2=0.995。如表1 所示,通过与相似工作的对比[20-21],本平台误差表征指标均维持在理想的数值,具有一定的优势。这说明,预测结果对比实际情况拟合状态良好,利用该平台进行SOH 的预测,可以得到较为精准的结果。
表1 算法误差对比Table 1 Algorithm error comparison
3 结 论
本研究设计并开发了一个基于数据驱动的动力电池健康状态评估系统。该平台的设计目的在于快速便捷地进行SOH 预测。用户通过向该平台输入电池数据便可以进行快速的SOH 预测,并得到返回结果。平台进行SOH预测通过LightGBM模型实现。通过直方图算法、GOSS 算法以及EFB 算法,实现了占用内存更小、计算消耗更小的SOH预测。本文选取了美国国家航空航天局艾姆斯卓越预测中心的锂电池加速老化实验数据集对该平台进行验证与演示,并将验证结果与类似工作进行对比。证明了该平台有能力高准确度地进行电池SOH 预测,并且提供给用户全面的预测评估信息。
该平台将会继续开发,采集更多数据,引入并完善更多算法。随着该平台的普及和后续完善,未来可以期望广泛运用到动力电池相关各个领域。