锂离子电池是新能源汽车、储能系统及便携式电子设备的核心能源部件,其剩余使用寿命(Remaining Useful Life,RUL)的准确预测直接关系到设备运行安全、维护成本优化和能源效率提升。RUL预测算法能够提前量化电池剩余可用时间,是保障新能源汽车与储能系统安全稳定运行、降低突发故障风险、优化维护策略的关键技术支撑。

近年来,开源社区陆续发布了大量基于机器学习与深度学习的电池RUL预测代码库,为该领域的研究与工程落地提供了重要支撑。本文系统梳理了作者实测过的多个GitHub开源项目,并从技术路线、功能完整性、数据集适配性与工程实用性等维度进行详细对比分析。

RUL指设备(如电池、电机等)从当前状态到无法正常工作前仍可运行的时间或循环次数。在电池领域,其定义进一步明确为:电池由当前状态衰减至寿命终止(EOL,End of Life)所需的剩余时间或等效循环次数。其中:

  • EOL可根据实际应用场景灵活设定,通常将电池健康状态(SOH,State of Health)降至80%的时刻作为寿命终止点;
  • 本文中的循环次数均为等效循环次数,即电池从满电放空到再次充满的完整过程;若中途充电,则累计至完成一次满充满放后记为一次等效循环。

1 概览

1.1 开源仓库概览

为助力基于数据驱动的电池RUL算法开发和降低研发成本,下表汇总了10个RUL算法仓库的核心信息。其中实用性信息基于本人使用体验总结,观点仅供参考。实用性等级定义为:

  • A:高实用性(功能全面、可复现性强、适配多场景),
  • B:中等实用性(核心功能明确、可复现性较好、场景适配有限),
  • C:低实用性(功能单一、复现难度中等、适用场景狭窄)。
序号 GitHub仓库 技术特点 star数 实用性
1 XiuzeZhou/RUL 基于Transformer架构,从初始寿命数据出发预测电池的寿命衰减曲线 A
2 huzaifi18/RUL_prediction 利用历史充电曲线数据预测电池下一刻使用寿命 B
3 hilinxinhui/battery_phm 基于LSTM模型估算电池SOH和预测电池RUL B
4 ThinkXca/RUL 利用生存分析算法预测电池RUL C
5 USTC-AI4EEE/RUL-Mamba 基于Mamba模型进行电池RUL预测 B
6 khw11044/Battery_RUL 直接利用当前电池循环的特征数据输出RUL值 C
7 microsoft/BatteryML 一站式分析与预测电池性能 A
8 zshicode/MambaLithium 基于Mamba算法输出当前循环下电池的RUL、SOH和SOC B
9 Ruifeng-Tan/BatteryLife 提供综合电池寿命预测数据集和基准测试平台 A
10 CXL-edu/Battery_RUL_Benchmark 基于高斯过程回归方法迭代预测RUL B

1.2 预测方法分类

本文涉及的主要术语定义如下:

术语缩写 英文全称 中文释义
RUL Remaining Useful Life 剩余使用寿命,指电池从当前状态到失效(通常定义为容量衰减至初始值80%以下)的剩余循环次数或时间
SOH State of Health 健康状态,反映电池当前性能与初始性能的比值
SOC State of Charge 充电状态,反映电池当前剩余电量与额定容量的比值(类似电量百分比)
PHM Prognostics and Health Management 故障预测与健康管理,涵盖设备状态监测、故障诊断、寿命预测全流程
RMSE Root Mean Square Error 均方根误差,衡量预测值与真实值的偏差程度,值越小表示精度越高

上述技术预测电池RUL的方式主要分为两类:一类是RUL直接预测,即利用电池当前及历史循环运行数据,直接预测当前时刻的RUL值;另一类是RUL迭代式预测,即基于多组历史寿命数据预测下一次循环或下一时刻的寿命值,随后将该预测值纳入历史数据序列,再以最新的等长数据序列开展下一次预测,通过反复迭代最终得到RUL值。其他预测方式的详细介绍可参见文献:Battery Lifetime Prognostics

RUL直接预测

指基于电池历史若干循环的电流、电压、温度运行数据,构建运行数据与RUL的映射模型,再通过分类或回归算法直接输出当前电池的RUL值。该方式流程简洁,可直接输出RUL值,无需中间迭代过程,计算效率较高;但难以体现电池健康状态的动态演化过程,且预测精度对模型泛化能力要求极高。因此适用于数据采集频率高、样本量充足的应用场景。

RUL迭代式预测

以当前循环作为起始点,首先基于历史多次循环中的SOH数据,选取从当前时刻起最近一段固定长度的SOH序列,预测下一时刻的SOH值;然后将该预测值纳入历史数据集,基于更新后数据中最新相同长度的SOH序列,继续预测再下一时刻的SOH值,如此逐步迭代推进预测过程,直至预测的SOH值降至80%的阈值。

最终,将SOH达到80%时所对应的循环次数与当前循环次数相减,得到剩余使用寿命RUL的估计值。该方法通过滚动更新预测窗口,能够输出完整的电池老化轨迹,但存在预测精度较低、迭代过程中误差易累积、实时性较差等局限,适用于对SOH动态变化较为关注的场景。

2 开源仓库介绍

2.1 XiuzeZhou/RUL

  • 主要功能:通过Transformer及改进模型AttMoE预测电池的寿命衰减曲线。

    • 训练时,随机选取电池任意历史多个循环的寿命数据(如过去10个循环数据),学习规律以预测下一循环的寿命数据。
    • 验证时,输入电池初始若干次循环的实测数据(如10个循环数据),模型先预测第11次循环的寿命;随后将该预测结果纳入输入序列,以最新10个循环数据(即第2至第11次循环)为基础,通过滑动窗口递归迭代,预测第12次循环的寿命,依此类推,最终生成电池从启用至失效的完整寿命衰减曲线。
  • 实验数据集(各数据集独立进行模型训练和验证):
    • NASA数据集:包含B0005、B0006、B0007等电池的充放电循环数据。
    • CALCE数据集:包含CS2_35、CS2_36、CS2_37等电池的测试数据。
  • 支撑文章:
  • 优缺点:
    • 优点:代码可复现性强,是电池RUL预测开源仓库中少数用迭代方式预测寿命衰减轨迹的实现。
    • 缺点:预测效果一般,且实验数据量较少。
  • 相关结果:

2.2 huzaifi18/RUL_prediction

  • 主要功能:基于CNN与LSTM的混合深度学习模型,利用历史充电数据预测电池下一刻使用寿命。

    • 训练和验证过程中,电压(V)、电流(I)、温度(T)及历史容量数据分别输入不同的模型层;各特征输出经拼接后,通过全连接层得到预测结果。
  • 实验数据集:
    • NASA数据集。
  • 支撑文章:
  • 优缺点:
    • 优点:模型训练过程中充分利用历史充放电数据,能够深度挖掘数据中的潜在特征,具备较强的特征提取能力,为后续寿命预测的准确性提供了有力支撑。
    • 缺点:模型基于TensorFlow构建,复现性差;预测仅能基于历史数据推算下一循环的寿命,无法生成完整的寿命衰减轨迹;且实验数据量有限,难以应用于实际工程场景。
  • 相关结果:

2.3 hilinxinhui/battery_phm

  • 主要功能:

    • SOH估计:分别采用CNN与LSTM模型,以电池的电压、电流、温度等关键参数作为输入,实现对电池SOH的精准预测。
    • RUL预测:基于优化后的LSTM模型,利用历史循环数据预测电池下一时刻的寿命值。
  • 实验数据集:
    • NASA数据集。​
    • CALCE数据集。​
    • TRI数据集:公开的电动汽车锂电池循环数据,包含高倍率充放电场景下的老化特性,适合用于极端工况下的RUL预测算法验证。
    • UNIBO 数据集:包含实际工况下的间歇式充放电循环数据,更贴近工业应用场景。
  • 支撑文章:
    • 作者自己的本科毕业论文,论文包含在仓库中。
  • 优缺点:
    • 优点:代码容易复现,包含详细注释与文档,以及论文和实验结果。
    • 缺点:模型数据处理代码过于繁杂,二次开发困难;且所采用方法的性能较弱。

2.4 ThinkXca/RUL

  • 主要功能:

    • 该方法结合了Cox、DeepHit、MTLR等生存分析模型或机器学习方法,用于预测电池随时间变化的无故障概率。
    • 生存分析源于医学和生物学统计,其核心是评估事件发生的时间;而RUL指的是设备从当前状态到发生故障的剩余时间。因此,利用生存分析可将电池历史数据转化为具有实用价值的信息,包括可能发生故障的时间及其概率。
  • 实验数据集(各数据集独立进行模型训练和验证):
    • Toyota数据集:基于特征提取方法从原始数据中提取得到,原始数据分为8个可下载的子数据集。
    • NASA数据集。
  • 支撑文章:
  • 优缺点:
    • 优点:提供了清晰的环境配置流程和代码运行步骤;通过引入生存分析方法进行电池RUL预测,为该领域提供了新的技术思路。
    • 缺点:所采用的生存分析方法理论性较强且框架相对陈旧;评估指标侧重于生存分析领域,与通用的RUL评价体系衔接较弱,实际效果难以准确评估。

2.5 USTC-AI4EEE/RUL-Mamba

  • 主要功能:

    • 基于Mamba架构,利用历史数据实现RUL预测。
  • 实验数据集(各数据集独立进行模型训练和验证):
    • 包含来自NASA、牛津大学和同济大学(TJU)的三个电池退化数据集。
    • TJU数据集已放置在仓库中。
  • 支撑文章:
  • 优缺点:
    • 优点:仓库集成多种架构的RUL预测模型。
    • 缺点:代码阅读起来比较困难,方向更加偏向于学术,也没有进行生成完整的寿命衰减轨迹的研究。

2.6 khw11044/Battery_RUL

  • 主要功能:

    • 利用电池当前循环的特征数据(如放电时间、循环次数等多个指标)作为输入,直接输出电池容量衰减至初始容量80%时的剩余循环次数(即RUL值)。
    • 该仓库主要代码来自于:https://github.com/ignavinuales/Battery_RUL_Prediction
  • 实验数据集:
    • 夏威夷自然能源研究所的14个NMC-LCO电池数据,该数据集包含电池完整生命周期的数据。
  • 优缺点:
    • 优点:可复现性较好,代码结构规整。
    • 缺点:仅适用于每圈满充满放且训练过程中需明确每一圈的剩余循环数据,这对数据集质量要求较高。
  • 相关结果:

2.7 microsoft/BatteryML

  • 主要功能:提供一站式机器学习工具链,通过提取电池老化特征实现RUL预测与SOH评估。

    • 数据处理:支持多种格式电池数据的下载和预处理,可将原始数据转化为统一格式;内置数据预处理和特征工程功能,支持对数据进行平滑、归一化等操作。
    • 特征处理:提供多种RUL老化特征的获取代码,适配多种电池数据集。
    • 模型训练与评估:涵盖电池性能预测领域的多种经典模型,如线性模型、树模型、神经网络等;支持通过配置文件指定训练和推理流程,便于对不同模型进行对比与基准评测。
    • 功能拓展:采用模块化设计与灵活接口,方便研究人员和开发者定制数据集、开发新型数据处理与特征工程方法,或探索更先进的机器学习模型。
  • 实验数据集:
    • 单一数据源数据集:包含CALCE、HUST等多个公开数据源的电池数据,涵盖不同电极化学组成、标称容量和电压范围的电池信息。
    • 组合数据集:为评估不同电池数据组合的训练效果,可将多个数据集(如CALCE、RWTH、HUST等)合并为MIX数据集进行研究。
  • 支撑文章:
  • 优缺点:
    • 优点:功能全面且代码模块化,覆盖数据处理、模型训练、评估及拓展定制全流程,适配多种研究场景。
    • 缺点:RUL的预测方式是利用电池早期固定几圈的人工设计特征数据直接回归输出剩余RUL值。该方法既非端到端模式,也未充分发挥深度学习处理大数据的优势,因此预测结果的RMSE误差高达数百。
  • 相关结果:

2.8 zshicode/MambaLithium

  • 主要功能:

    • 基于Mamba算法实现电池状态的回归与分类。
    • 输入为电池某一循环的充放电电流、电压、温度、循环次数等反映其动态变化的参数;输出为电池当前循环的RUL、SOH和SOC。
  • 实验数据集:
    • RUL与SOH数据集:参考既往研究中的两个数据集,具体信息详见仓库提供的论文。
    • SOC数据集:包括DST、FUDS和US06数据集。
  • 支撑文章:
  • 优缺点:
    • 优点:代码可复现性强,结构规整。
    • 缺点:仅依据当前完整充放电循环的特征数据回归输出RUL和SOH,且实验数据规模有限,方法的实用性尚需进一步验证。

2.9 Ruifeng-Tan/BatteryLife

  • 主要功能:提供电池寿命预测数据集与基准测试平台的整合服务。

    • 整合16个公开数据集,涵盖990个电池共9.9万条带寿命标签的样本,可满足多类型电池研究需求。
    • 内置18种基准方法的开源代码,覆盖当前主流的电池寿命预测方法与时间序列分析基线,支持模型训练、评估与微调。
    • 电池相关代码参考BatteryML,深度学习部分参考当前优质的时序预测代码库。
  • 实验数据集(各数据集可合并用于模型训练与验证):
    • 包含锂离子、锌离子、钠离子、CALB等多种类型电池数据,其中绝大部分为现有公开数据集的整合;
    • 整合多个数据集,经清洗后总体大小超过70GB;
    • 每个数据集均提供原始数据下载链接及简要说明文档。
  • 支撑文章:
  • 优缺点:
    • 优点:数据集规模大、多样性强,为电池寿命预测研究提供了丰富的数据支撑;附带多种基准方法代码,便于研究人员开展模型对比与改进工作。
    • 缺点:因集成多数据集与多种方法,代码结构较为繁杂;且仓库整体代码冗余度高,导致学习、使用及修改的难度较大。此外,相关方法偏向论文发表,实用性欠佳。
  • 相关结果:

2.10 CXL-edu/Battery_RUL_Benchmark

  • 主要功能:在电池数据集上,采用线性回归、高斯过程回归等方法,以滑动窗口机制更新输入序列(融合历史循环数据与前一次预测结果),通过逐步迭代预测后续循环的容量变化,最终生成电池直至失效的完整衰减曲线;
  • 实验数据集(各数据集独立进行模型训练和验证):
    • NASA数据集:包含B0005、B0006、B0007等电池的充放电循环数据;
    • CALCE数据集:包含CS2_35、CS2_36、CS2_37等电池的测试数据。
  • 优缺点:
    • 优点:代码可复现性强,配套可视化代码丰富;支持高斯过程回归等方法的95%置信区间输出,可有效量化预测不确定性;
    • 缺点:实验仅覆盖NASA与CALCE两个数据集,数据多样性存在不足;未提供参考论文,建议优先选用本文介绍的第一个仓库。
  • 相关结果:

[能源化工] 面向锂电池RUL预测的开源项目全景速览的更多相关文章

  1. AI 预测蛋白质结构「GitHub 热点速览 v.21.29」

    作者:HelloGitHub-小鱼干 虽然 AI 领域藏龙卧虎,但是本周预测蛋白质结构的 alphafold 一开源出来就刷爆了朋友圈,虽然项目与我无关,但是看着科技进步能探寻到生命机理,吃瓜群众也有 ...

  2. OSGEARTH三维地形开源项目

    第一章   OSGEarth介绍 第二章   OSGEarth编译环境配置 OSGEarth的编译环境配置随着版本的不同.运行平台的不同,也有很大的差异.本章主要以Windows XP SP3(x86 ...

  3. 可能是国内最火的开源项目 —— C/C++ 篇

    程序员们,在北上广你还能买房吗? >>>   推荐阅读: 可能是最火的开源项目 -- Java 篇 可能是国内最火的开源项目 -- PHP 篇 可能是国内最火的开源项目 -- Pyt ...

  4. 百度DMLC分布式深度机器学习开源项目(简称“深盟”)上线了如xgboost(速度快效果好的Boosting模型)、CXXNET(极致的C++深度学习库)、Minerva(高效灵活的并行深度学习引擎)以及Parameter Server(一小时训练600T数据)等产品,在语音识别、OCR识别、人脸识别以及计算效率提升上发布了多个成熟产品。

    百度为何开源深度机器学习平台?   有一系列领先优势的百度却选择开源其深度机器学习平台,为何交底自己的核心技术?深思之下,却是在面对业界无奈时的远见之举.   5月20日,百度在github上开源了其 ...

  5. Github上优秀的.NET Core开源项目的集合

    内容包括:库.工具.框架.模板引擎.身份认证.数据库.ORM框架.图片处理.文本处理.机器学习.日志.代码分析.教程等. Github地址:https://github.com/jasonhua95/ ...

  6. 这些.NET开源项目你知道吗?.NET平台开源文档与报表处理组件集合(三)

    在前2篇文章这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧 和这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,大伙热情高涨.再次拿出自己的私货,在.NET平台 ...

  7. 【目录】本博客其他.NET开源项目文章目录

    本博客所有文章分类的总目录链接:本博客博文总目录-实时更新 1.本博客其他.NET开源项目文章目录 37..NET平台开源项目速览(17)FluentConsole让你的控制台酷起来 36..NET平 ...

  8. 这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧

    注意:有网友提出部分项目停止更新的事情,这个问题我特意注意过,很多都是小功能组件,功能稳定,没有bug,没更新是正常的.够用就行了.其次技术支持的事情,对开源免费来说,不能太强求,这里发布的都是小功能 ...

  9. .NET开发人员值得关注的七个开源项目 .

    NET开发人员值得关注的七个开源项目 软近几年在.NET社区开源项目方面投入了相当多的时间和资源,不禁让原本对峙的开源社区阵营大吃一惊,从微软.NET社区中的反应来看,微软.NET开发阵营对开源工具的 ...

  10. 收集常用的.net开源项目

    Json.NET http://json.codeplex.com/ Json.NET是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更加简单.通过Lin ...

随机推荐

  1. 基于混合检索与RRF融合的智能问答系统核心技术解析

    引言 在当今信息爆炸的时代,如何快速.精准地从海量知识中定位用户所需信息,成为智能问答系统面临的核心挑战.GC-QA-RAG系统通过创新的向量检索技术和混合检索机制,实现了高效的知识点定位能力.本文将 ...

  2. java Set HashSet详解

    Set集合 就像把对象随意扔进罐子里,无法记住元素的添加顺序.Set某种程度就是Collection,方法没有不同,只是行为稍微不同,(不允许重复元素),如果一定要往里加两个相同元素,添加失败add( ...

  3. github action 与自动化部署

    前言 github action 一直都是自动化部署的引领者,今天就介绍一下如何它部署咱们的网站和服务 服务器生成ssh密钥 通过终端(finalshell.xshell)登录到您的 linux 服务 ...

  4. opengl 学习 之 15 lesson

    opengl 学习 之 15 lesson 简介 光照贴图 link http://www.opengl-tutorial.org/uncategorized/2017/06/07/website-u ...

  5. Golang基础笔记十一之日期与时间处理

    本文首发于公众号:Hunter后端 原文链接:Golang基础笔记十一之日期与时间处理 本篇笔记介绍 Golang 里日期与时间的处理,以下是本篇笔记目录: 当前日期与时间的获取 字符串与时间格式的互 ...

  6. 2条流程解决数据同步到全球部署的N个数据库

    1.数据同步需求 自动识别源表中数据所归属的分公司进行自动同步,即将源表中A分公司的数据同步到A公司数据库表,源表中B分公司的数据同步到B公司数据库表,以此类推. 2.实现思路 一般ETL工具实现思路 ...

  7. ETL中RESTful API 组件的用法

    一.ETL是什么 ETL,全称为Extract-Transform-Load,即数据提取(Extract).数据转换(Transform)和数据加载(Load).这是数据仓库中数据处理的重要过程.ET ...

  8. PID算法及其优化

    PID算法及其优化 1. 经典PID公式 位置式PID公式 增量式PID公式 PID适用范围: 线性时不变低阶(二阶及以下)控制系统,当然可以通过一些优化来一定程度上解决非线性和将高阶系统简化至二阶以 ...

  9. SciTech-Mathmatics-Analysis: important inequalities 重要的几个不等式: Trigonometry + Mean + Cauchy + Minkowski + Newton + Bernoulli + Chebyshev + Hölder

    Cauchy Inequality(柯西不等式): \(\large \begin{array}{rl} \\ | ax +by | &<= & \sqrt{a^2+b^2} \ ...

  10. Linguistics-English-Would, Should, and Could: How to Use Them Correctly

    https://7esl.com/would-should-could/ Compare Can, Could and Would Can: capacity Could: possibility W ...