---
# System prepended metadata

title: 使用RNN網路進行容量預估

---

# 使用RNN網路進行容量預估

[TOC]

## 研究動機
鋰離子 (Li-Ion) 電池是可充電電池，由於其化學能力，可以最大限度地延長電池壽命，同時提高功率能量密度。 由於這些原因，鋰離子電池廣受歡迎，並廣泛用於移動計算設備和汽車系統。 電池健康監測的一個基本參數是健康狀態 (SoH)，其根據最大可釋放容量計算得出，代表電池在能量存儲和輸送方面的功能，本次專題將會關注於循環 ANN（RNN）的實現，使用提供由美國國家航空航天局 (NASA) 提供的鋰離子電池數據集進行預測

## 軟硬體架構
* 訓練軟硬體
        *     i7-12750H+3060laptop
        *     pytorch 2.0.2+cuda 11.8

* 推論硬體
        *     jetson nano developer kit
        *    pytorch 1.13.2+cuda 10.2 
    ![](https://hackmd.io/_uploads/rJXI55Ww2.png)


## 資料集建置與預處理
本次資料集使用NASA提供的鋰離子電池數據集，並經過處理後當作模型輸入
![](https://hackmd.io/_uploads/H1PEni-D2.png)

首先將各cycle的電壓電流曲線經過Akima函數進行曲線擬和
![](https://hackmd.io/_uploads/HyPqD9bw3.png)
![](https://hackmd.io/_uploads/ryzwu9ZDn.png)
在使用Savitzky–Golay filter進行濾波接著再從中提取CCCT(定電流段的充電時間)與CVCT(定電壓段的充電時間)以及其餘固定電壓段的充電時間
![](https://hackmd.io/_uploads/rkqSWcbwh.png)
最後使用了以下特徵當作訓練資料集
* CCCT
* CVCT
* 3.7V~4.19V的充電時間
* 3.8V~4.19V的充電時間
* 3.7V~4.1V的充電時間
* 3.7V~4.1V的充電時間

![](https://hackmd.io/_uploads/H17kFcZPh.png)
可以觀察到這些特徵皆與電池容量呈現一定相關性

## 模型建置與預測結果

本次推論將會採用GRU、LSTM兩種模型進行訓練與比較
1. 輸入皆為取前三個cycle的各項特徵，並進行正規化
1. 當前的容量作為輸出
1. 訓練時會將各電池的特徵與容量曲線進行拼接以方便訓練
1. 權重值皆會經過正交初始化，bias的起始值設為0.1，cell state以及hidden state設為0
1. 使用MSE Loss 和Adam  Optimizer
* LSTM
![](https://hackmd.io/_uploads/ryHoiqWDh.png)

* GRU
![](https://hackmd.io/_uploads/rJhLAcbwn.png)

* 訓練效果
    * loss
        LSTM
![](https://hackmd.io/_uploads/Byv11sWw3.png)
GRU
![](https://hackmd.io/_uploads/Bk49yobDh.png)

    * train reslut
    LSTM
    ![](https://hackmd.io/_uploads/SyuGgo-w2.png)
    GRU
    ![](https://hackmd.io/_uploads/B1Lmes-wn.png)

    * test reult
    ![](https://hackmd.io/_uploads/HyWWOiWw3.png)
![](https://hackmd.io/_uploads/BkWZdiZv2.png)
![](https://hackmd.io/_uploads/rJgW-di-wh.png)
![](https://hackmd.io/_uploads/BkZbuibP2.png)
![](https://hackmd.io/_uploads/ByZbdsbD2.png)
![](https://hackmd.io/_uploads/BkWWui-v2.png)


# 結論

本次模型預測出來的曲線雖有呈現大致趨勢，但準確度依然有待改善，且預測結果皆有垂直分量的誤差，推斷有可能是因為各電池的特徵特性不同，以及特徵多樣性不足，導致有此種結果，未來會再增加特徵種類並試著使用不同的模型訓練，以比較各模型的成效差異
 
# 參考資料
資料級來源: https://www.kaggle.com/datasets/patrickfleith/nasa-battery-dataset/code
參考論文:
https://ieeexplore.ieee.org/document/9133084




