鋰離子電池是新能源汽車、儲能系統及便攜式電子設備的核心能源部件,其剩余使用壽命(Remaining Useful Life,RUL)的準確預測直接關系到設備運行安全、維護成本優化和能源效率提升。RUL預測算法能夠提前量化電池剩余可用時間,是保障新能源汽車與儲能系統安全穩定運行、降低突發故障風險、優化維護策略的關鍵技術支撐。
近年來,開源社區陸續發布了大量基于機器學習與深度學習的電池RUL預測代碼庫,為該領域的研究與工程落地提供了重要支撐。本文系統梳理了作者實測過的多個GitHub開源項目,并從技術路線、功能完整性、數據集適配性與工程實用性等維度進行詳細對比分析。
RUL指設備(如電池、電機等)從當前狀態到無法正常工作前仍可運行的時間或循環次數。在電池領域,其定義進一步明確為:電池由當前狀態衰減至壽命終止(EOL,End of Life)所需的剩余時間或等效循環次數。其中:
- EOL可根據實際應用場景靈活設定,通常將電池健康狀態(SOH,State of Health)降至80%的時刻作為壽命終止點;
- 本文中的循環次數均為等效循環次數,即電池從滿電放空到再次充滿的完整過程;若中途充電,則累計至完成一次滿充滿放后記為一次等效循環。
文章目錄
- 1 概覽
- 1.1 開源倉庫概覽
- 1.2 預測方法分類
- 2 開源倉庫介紹
- 2.1 [XiuzeZhou/RUL](https://github.com/XiuzeZhou/RUL)
- 2.2 [huzaifi18/RUL_prediction](https://github.com/huzaifi18/RUL_prediction)
- 2.3 [hilinxinhui/battery_phm](https://github.com/hilinxinhui/battery_phm)
- 2.4 [ThinkXca/RUL](https://github.com/ThinkXca/RUL)
- 2.5 [USTC-AI4EEE/RUL-Mamba](https://github.com/USTC-AI4EEE/RUL-Mamba)
- 2.6 [khw11044/Battery_RUL](https://github.com/khw11044/Battery_RUL)
- 2.7 [microsoft/BatteryML](https://github.com/microsoft/BatteryML)
- 2.8 [zshicode/MambaLithium](https://github.com/zshicode/MambaLithium)
- 2.9 [Ruifeng-Tan/BatteryLife](https://github.com/Ruifeng-Tan/BatteryLife)
- 2.10 [CXL-edu/Battery_RUL_Benchmark](https://github.com/CXL-edu/Battery_RUL_Benchmark)
1 概覽
1.1 開源倉庫概覽
為助力基于數據驅動的電池RUL算法開發和降低研發成本,下表匯總了10個RUL算法倉庫的核心信息。其中實用性信息基于本人使用體驗總結,觀點僅供參考。實用性等級定義為:
- A:高實用性(功能全面、可復現性強、適配多場景),
- B:中等實用性(核心功能明確、可復現性較好、場景適配有限),
- C:低實用性(功能單一、復現難度中等、適用場景狹窄)。
序號 | GitHub倉庫 | 技術特點 | 實用性 |
---|---|---|---|
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等電池的測試數據。
- 支撐文章:
- Transformer network for remaining useful life prediction of lithium-ion batteries
- AttMoE: Attention with Mixture of Experts for remaining useful life prediction of lithium-ion batteries
- 優缺點:
- 優點:代碼可復現性強,是電池RUL預測開源倉庫中少數用迭代方式預測壽命衰減軌跡的實現。
- 缺點:預測效果一般,且實驗數據量較少。
- 相關結果:
2.2 huzaifi18/RUL_prediction
- 主要功能:基于CNN與LSTM的混合深度學習模型,利用歷史充電數據預測電池下一刻使用壽命。
- 訓練和驗證過程中,電壓(V)、電流(I)、溫度(T)及歷史容量數據分別輸入不同的模型層;各特征輸出經拼接后,通過全連接層得到預測結果。
- 實驗數據集:
- NASA數據集。
- 支撐文章:
- A Hybrid CNN-LSTM for Battery Remaining Useful Life Prediction with Charging Profiles Data
- 優缺點:
- 優點:模型訓練過程中充分利用歷史充放電數據,能夠深度挖掘數據中的潛在特征,具備較強的特征提取能力,為后續壽命預測的準確性提供了有力支撐。
- 缺點:模型基于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數據集。
- 支撐文章:
- Survival Analysis with Machine Learning for Predicting Li-ion Battery Remaining Useful Life
- 優缺點:
- 優點:提供了清晰的環境配置流程和代碼運行步驟;通過引入生存分析方法進行電池RUL預測,為該領域提供了新的技術思路。
- 缺點:所采用的生存分析方法理論性較強且框架相對陳舊;評估指標側重于生存分析領域,與通用的RUL評價體系銜接較弱,實際效果難以準確評估。
2.5 USTC-AI4EEE/RUL-Mamba
- 主要功能:
- 基于Mamba架構,利用歷史數據實現RUL預測。
- 實驗數據集(各數據集獨立進行模型訓練和驗證):
- 包含來自NASA、牛津大學和同濟大學(TJU)的三個電池退化數據集。
- TJU數據集已放置在倉庫中。
- 支撐文章:
- RUL-Mamba: Mamba-based remaining useful life prediction for lithium-ion batteries
- 優缺點:
- 優點:倉庫集成多種架構的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數據集進行研究。
- 支撐文章:
- BatteryML: An Open-source Platform for Machine Learning on Battery Degradation
- Physics-informed neural network for lithium-ion battery degradation stable modeling and prognosis
- 優缺點:
- 優點:功能全面且代碼模塊化,覆蓋數據處理、模型訓練、評估及拓展定制全流程,適配多種研究場景。
- 缺點:RUL的預測方式是利用電池早期固定幾圈的人工設計特征數據直接回歸輸出剩余RUL值。該方法既非端到端模式,也未充分發揮深度學習處理大數據的優勢,因此預測結果的RMSE誤差高達數百。
- 相關結果:
2.8 zshicode/MambaLithium
- 主要功能:
- 基于Mamba算法實現電池狀態的回歸與分類。
- 輸入為電池某一循環的充放電電流、電壓、溫度、循環次數等反映其動態變化的參數;輸出為電池當前循環的RUL、SOH和SOC。
- 實驗數據集:
- RUL與SOH數據集:參考既往研究中的兩個數據集,具體信息詳見倉庫提供的論文。
- SOC數據集:包括DST、FUDS和US06數據集。
- 支撐文章:
- MambaLithium: Selective state space model for remaining-useful-life, state-of-health, and state-of-charge estimation of lithium-ion batteries
- 優缺點:
- 優點:代碼可復現性強,結構規整。
- 缺點:僅依據當前完整充放電循環的特征數據回歸輸出RUL和SOH,且實驗數據規模有限,方法的實用性尚需進一步驗證。
2.9 Ruifeng-Tan/BatteryLife
- 主要功能:提供電池壽命預測數據集與基準測試平臺的整合服務。
- 整合16個公開數據集,涵蓋990個電池共9.9萬條帶壽命標簽的樣本,可滿足多類型電池研究需求。
- 內置18種基準方法的開源代碼,覆蓋當前主流的電池壽命預測方法與時間序列分析基線,支持模型訓練、評估與微調。
- 電池相關代碼參考BatteryML,深度學習部分參考當前優質的時序預測代碼庫。
- 實驗數據集(各數據集可合并用于模型訓練與驗證):
- 包含鋰離子、鋅離子、鈉離子、CALB等多種類型電池數據,其中絕大部分為現有公開數據集的整合;
- 整合多個數據集,經清洗后總體大小超過70GB;
- 每個數據集均提供原始數據下載鏈接及簡要說明文檔。
- 支撐文章:
- BatteryLife: A Comprehensive Dataset and Benchmark for Battery Life Prediction
- 優缺點:
- 優點:數據集規模大、多樣性強,為電池壽命預測研究提供了豐富的數據支撐;附帶多種基準方法代碼,便于研究人員開展模型對比與改進工作。
- 缺點:因集成多數據集與多種方法,代碼結構較為繁雜;且倉庫整體代碼冗余度高,導致學習、使用及修改的難度較大。此外,相關方法偏向論文發表,實用性欠佳。
- 相關結果:
2.10 CXL-edu/Battery_RUL_Benchmark
- 主要功能:在電池數據集上,采用線性回歸、高斯過程回歸等方法,以滑動窗口機制更新輸入序列(融合歷史循環數據與前一次預測結果),通過逐步迭代預測后續循環的容量變化,最終生成電池直至失效的完整衰減曲線;
- 實驗數據集(各數據集獨立進行模型訓練和驗證):
- NASA數據集:包含B0005、B0006、B0007等電池的充放電循環數據;
- CALCE數據集:包含CS2_35、CS2_36、CS2_37等電池的測試數據。
- 優缺點:
- 優點:代碼可復現性強,配套可視化代碼豐富;支持高斯過程回歸等方法的95%置信區間輸出,可有效量化預測不確定性;
- 缺點:實驗僅覆蓋NASA與CALCE兩個數據集,數據多樣性存在不足;未提供參考論文,建議優先選用本文介紹的第一個倉庫。
- 相關結果: