As the global transportation sector shifts toward electrification, the reliability and safety of lithium-ion power batteries have become critical for the widespread adoption of electric vehicles. In particular, accurate state of charge (SOC) estimation and remaining useful life (RUL) prediction are fundamental for the optimal energy management and long-term health monitoring of EV battery packs. In this study, I present a comprehensive investigation that addresses the challenges of SOC estimation and RUL prediction under dynamic working conditions. The work is built upon a carefully designed experimental platform, advanced filtering algorithms, and deep learning architectures. Throughout this article, I emphasize the importance of the EV battery pack as the central subject of study, and all proposed methods are evaluated using realistic dynamic test profiles and multi-temperature environments.
Although many existing approaches have been developed for SOC and RUL estimation, most of them rely on idealized laboratory conditions and fail to capture the complexity of real-world EV battery pack operations. The dynamic current fluctuations, temperature variations, and nonlinear aging mechanisms observed in actual EV battery packs necessitate more robust and adaptive estimation frameworks. To overcome these limitations, I propose a hybrid strategy that combines model-driven filtering methods with deep residual learning, alongside a health indicator fusion approach for RUL prediction. The experimental data used throughout this work are collected from 18650 lithium-ion cells, which are representative of the cells commonly assembled into EV battery packs. The proposed methodologies are verified under multiple dynamic cycles including FUDS, DST, WLTP, and US06, over temperatures of 0°C, 25°C, and 40°C.
The remainder of this article is organized as follows. First, I describe the experimental platform and the construction of two distinct datasets for SOC and RUL studies. Second, I present the SOC estimation method, which integrates an equivalent circuit model (ECM), unscented Kalman filtering (UKF), adaptive dual extended Kalman filtering (DEKF), multiple model adaptive estimation (MMAE), and gated recurrent unit (GRU) residual correction. Third, I detail the RUL prediction method, which leverages kernel principal component analysis (KPCA), variational mode decomposition (VMD), and a dropout-optimized bidirectional long short-term memory network with an attention mechanism (D-BiLSTM-A). Finally, I provide a comprehensive discussion of the results and highlight the generalization capabilities of the proposed framework for EV battery packs.
Experimental Platform and Dataset Construction
To accurately emulate the operating conditions of an EV battery pack, I established a battery testing platform consisting of an Arbin battery test system, a programmable temperature chamber, and an upper computer with MITS Pro software. The platform enables precise control of charge/discharge protocols and high-frequency acquisition of voltage, current, and capacity data. The cells under test are commercial 18650 lithium-ion batteries with nickel-cobalt-manganese (NCM) cathodes. The nominal capacity is 3.4 Ah for the SOC experiments, and another batch with 2.0 Ah capacity is used for the aging experiments. The key specifications are listed in Table 1.
| Parameter | SOC test cell | Aging test cell |
|---|---|---|
| Nominal capacity | 3400 mAh | 2000 mAh |
| Nominal voltage | 3.7 V | 3.7 V |
| Charge limit voltage | 4.2 V | 4.2 V |
| Discharge cutoff voltage | 2.75 V | 2.75 V |
| Max discharge current | 10 A | 8 A |
| Internal resistance | ≤22 mΩ | ≤52 mΩ |
The experimental platform is illustrated in the figure below. It includes the Arbin system, the temperature chamber, and the control interface. This setup supports a wide range of testing profiles and ensures the reproducibility of experiments.

For SOC estimation experiments, I designed two main test categories: maximum available capacity tests and dynamic driving cycle tests. The capacity tests were conducted at 0°C, 25°C, and 40°C under four different dynamic profiles: FUDS, DST, WLTP, and US06. The discharge capacity was recorded for each condition, and Figure 1 (not explicitly referenced) shows that capacity varies significantly with both temperature and cycle type. At the same temperature, the lowest capacity is observed under WLTP, while FUDS and US06 yield higher capacities. At 0°C, the capacity is notably reduced due to increased internal resistance and slower lithium-ion kinetics. These observations confirm that the SOC estimation algorithm must account for both temperature and dynamic load effects.
For RUL prediction, I constructed two datasets. Dataset A is the NASA PCoE public dataset with batteries B5, B6, and B7, each cycled 168 times. Dataset B is measured in our laboratory using the 2.0 Ah cells, with two different discharge protocols: a constant current (CC) discharge and a FUDS dynamic discharge. The aging test procedure consists of a constant current constant voltage (CCCV) charge to 4.2 V, followed by a rest period, and then discharge to 2.75 V. This cycle is repeated until the cell reaches the end-of-life threshold. For the constant current aging test, 210 cycles are recorded, while for the FUDS aging test, 130 cycles are collected. The capacity degradation curves from dataset B show a clear decline with cycle number, and the dynamic discharge protocol leads to more pronounced capacity fluctuations.
SOC Estimation Framework Based on Filtering and Deep Residual Correction
The SOC of an EV battery pack is a hidden state that must be estimated from measurable signals. In this work, I adopt a model-driven approach based on a second-order RC equivalent circuit model. The model equation is given by:
$$ U_t = U_{oc}(SOC) – I R_0 – U_{RC1} – U_{RC2}, $$
where \(U_t\) is the terminal voltage, \(U_{oc}\) is the open-circuit voltage, \(I\) is the discharge current (positive), and \(R_0\) is the ohmic resistance. The RC network voltages satisfy the differential equations:
$$ \frac{dU_{RC1}}{dt} = -\frac{U_{RC1}}{R_1 C_1} + \frac{I}{C_1}, \quad \frac{dU_{RC2}}{dt} = -\frac{U_{RC2}}{R_2 C_2} + \frac{I}{C_2}. $$
The SOC dynamics are described by the Coulomb counting equation:
$$ \frac{dSOC}{dt} = -\frac{\eta I}{Q_n}, $$
where \(\eta\) is the Coulombic efficiency and \(Q_n\) is the nominal capacity. Discretizing these equations yields the state-space model:
$$ x_{k+1} = A_k x_k + B_k u_k + w_k, \quad y_k = H_k x_k + v_k, $$
where the state vector is \(x = [SOC, U_{RC1}, U_{RC2}]^T\), the input is \(u=I\), and the output \(y=U_t\). The system matrices are derived from the circuit parameters.
UKF Baseline Estimation
To handle the nonlinearity of the model, I employ the unscented Kalman filter (UKF). The UKF uses a deterministic sampling approach to propagate the mean and covariance through the nonlinear system. For an \(n\)-dimensional state, \(2n+1\) sigma points are generated:
$$ \chi_0 = \hat{x}_k, \quad \chi_i = \hat{x}_k + \sqrt{(n+\lambda)P_k}, \quad \chi_{i+n} = \hat{x}_k – \sqrt{(n+\lambda)P_k}, \quad i=1,\dots,n. $$
These sigma points are propagated through the model, and the posterior state and covariance are computed using weighted sums. The Kalman gain is then calculated as:
$$ K_k = P_{xy} P_{yy}^{-1}, $$
and the state update is:
$$ \hat{x}_k = \hat{x}_k^- + K_k (y_k – \hat{y}_k), \quad P_k = P_k^- – K_k P_{yy} K_k^T. $$
The UKF provides a solid baseline for SOC estimation, but its performance degrades when the noise statistics are unknown or time-varying, which is typical in an EV battery pack during real-world operation.
Adaptive DEKF for Time-Varying Noise
In order to adapt to changing noise characteristics, I introduce an adaptive dual extended Kalman filter (DEKF). The DEKF uses two coupled EKFs: one for state estimation and one for parameter or noise covariance estimation. The innovation sequence is used to adaptively update the process noise covariance \(Q_t\) and measurement noise covariance \(R_t\). The update laws are:
$$ Q_{t+1} = (1-\gamma_Q) Q_t + \gamma_Q e_t e_t^T, $$
$$ R_{t+1} = (1-\gamma_R) R_t + \gamma_R (y_t – \hat{y}_t)(y_t – \hat{y}_t)^T, $$
where \(\gamma_Q\) and \(\gamma_R\) are forgetting factors. This adaptive mechanism allows the filter to maintain accuracy when the EV battery pack experiences sudden load changes, temperature shifts, or aging effects.
MMAE for Model Robustness
To further improve robustness, I implement a multiple model adaptive estimation (MMAE) approach. In MMAE, a bank of parallel UKFs runs simultaneously, each assuming a different noise model \((Q_i, R_i)\). The likelihood of each model is computed based on the innovation sequence, and the weights are updated as:
$$ \mu_i(k) = \frac{p(y_k \mid M_i) \mu_i(k-1)}{\sum_{j=1}^{N} p(y_k \mid M_j) \mu_j(k-1)}, $$
where \(p(y_k \mid M_i)\) is the likelihood of model \(M_i\). The final estimate is a weighted sum:
$$ \hat{x}(k) = \sum_{i=1}^{N} \mu_i(k) \hat{x}_i(k). $$
MMAE excels in handling model uncertainty and abrupt changes, as the weighting mechanism automatically favors the model that best matches the current operating condition. In my comparative study, the MMAE filter achieves lower SOC error than the single DEKF, especially during aggressive dynamic cycles.
GRU Residual Correction
Although the filtering algorithms provide a well-founded statistical estimate, there still exist nonlinear residual errors caused by model mismatch and unmodeled dynamics. To compensate for these errors, I construct a deep residual correction module based on gated recurrent unit (GRU) networks. The GRU is a lightweight RNN variant that uses update and reset gates to control information flow. The update gate \(z_t\), reset gate \(r_t\), candidate hidden state \(\tilde{h}_t\), and the final hidden state \(h_t\) are computed as follows:
$$ z_t = \sigma(W_z x_t + U_z h_{t-1} + b_z), $$
$$ r_t = \sigma(W_r x_t + U_r h_{t-1} + b_r), $$
$$ \tilde{h}_t = \tanh(W_h x_t + U_h (r_t \odot h_{t-1}) + b_h), $$
$$ h_t = (1 – z_t) \odot h_{t-1} + z_t \odot \tilde{h}_t. $$
The GRU model takes as input the multivariate time series including voltage \(V\), current \(I\), temperature \(T\), the filtered SOC, and their differences. It learns to predict the residual \(\Delta SOC_t = SOC_{ref}(t) – SOC_{filter}(t)\). The final SOC estimate is obtained by adding the predicted residual to the filter output:
$$ SOC_{final}(t) = SOC_{filter}(t) + \Delta SOC_t. $$
I train two separate GRU models: one for the DEKF branch and one for the MMAE branch. The training configuration is listed in Table 2.
| Parameter | Value |
|---|---|
| Optimizer | Adam |
| Learning rate | 1e-3 |
| Batch size | 64 |
| Loss function | MSE |
| Epochs | 100 |
| Hidden units | 128 |
The combined architecture, named UKF-DEKF-GRU and UKF-MMAE-GRU, is evaluated under multiple dynamic conditions. Table 3 summarizes the SOC estimation errors for the four main baseline and proposed models under the FUDS cycle at 25°C.
| Model | MAE (%) | RMSE (%) | MAPE (%) | R² |
|---|---|---|---|---|
| UKF | 8.1324 | 8.9563 | 10.9645 | 0.9158 |
| UKF-DEKF | 7.4854 | 8.3115 | 9.7632 | 0.9233 |
| UKF-MMAE | 7.1873 | 7.9774 | 10.5436 | 0.9393 |
| UKF-DEKF-GRU | 0.5996 | 0.6745 | 1.1634 | 0.9992 |
| UKF-MMAE-GRU | 0.8902 | 0.9669 | 1.3258 | 0.9989 |
The results clearly show that the deep residual correction significantly reduces the SOC estimation error. The UKF-DEKF-GRU model achieves an RMSE of only 0.67% compared to 8.31% for the UKF-DEKF model, an improvement of more than 90%. A similar trend is observed for the MMAE branch. These findings confirm that the proposed hybrid framework provides high accuracy and stability for SOC estimation in EV battery packs.
Evaluation Under Multi-Temperature and Multi-Cycle Conditions
To test the generalization ability, I further evaluated the models under 0°C and 40°C with all four dynamic cycles. Table 4 reports the SOC estimation errors for the UKF-DEKF-GRU (referred to as G3) and UKF-MMAE-GRU (G4) models.
| Cycle | Temperature | Model | MAE (%) | RMSE (%) | R² |
|---|---|---|---|---|---|
| FUDS | 0°C | G3 | 0.5854 | 0.6571 | 0.9995 |
| FUDS | 25°C | G3 | 0.5996 | 0.6745 | 0.9992 |
| FUDS | 40°C | G3 | 0.5635 | 0.6475 | 0.9995 |
| DST | 0°C | G3 | 0.3316 | 0.4770 | 0.9997 |
| DST | 25°C | G3 | 0.2623 | 0.3753 | 0.9998 |
| DST | 40°C | G3 | 0.3997 | 0.5474 | 0.9996 |
| WLTP | 0°C | G3 | 0.1091 | 0.1575 | 0.9999 |
| WLTP | 25°C | G3 | 0.5107 | 0.5932 | 0.9996 |
| WLTP | 40°C | G3 | 0.5302 | 0.5951 | 0.9996 |
| US06 | 0°C | G3 | 0.2932 | 0.3549 | 0.9998 |
| US06 | 25°C | G3 | 0.4540 | 0.6085 | 0.9996 |
| US06 | 40°C | G3 | 0.5033 | 0.6664 | 0.9995 |
Even under extreme temperatures, the model maintains an RMSE below 0.7% and a coefficient of determination \(R^2\) above 0.999. This demonstrates that the combination of adaptive filtering and deep residual learning is highly effective for monitoring the SOC of EV battery packs in real-world environments.
RUL Prediction Based on Multi-Dimensional Health Indicators and Deep Learning
Predicting the RUL of an EV battery pack is essential for proactive maintenance and safe operation. The capacity degradation process is often non-monotonic and exhibits local capacity recovery phenomena, which makes accurate prediction challenging. To address this, I propose a comprehensive framework that consists of three main steps: health indicator (HI) extraction and fusion, multi-scale decomposition using VMD, and prediction using a dropout-optimized BiLSTM with attention mechanism.
Degradation Feature Extraction and Correlation Analysis
From the discharge curves, I extract five health indicators that capture both local dynamic responses and global cumulative statistics. These are defined as:
- HI1: voltage change from 3.8 V to 1000 s
- HI2: time for voltage drop from 3.6 V to 3.2 V
- HI3: discharge capacity integral
- HI4: average discharge voltage
- HI5: discharge energy integral
To quantify their relevance to RUL, I compute the Spearman rank correlation coefficient \(\rho\):
$$ \rho = \frac{\sum_{i=1}^{n} (P_i – \bar{P})(Q_i – \bar{Q})}{\sqrt{\sum_{i=1}^{n} (P_i – \bar{P})^2} \sqrt{\sum_{i=1}^{n} (Q_i – \bar{Q})^2}}, $$
where \(P\) and \(Q\) are the ranks of the two variables. Table 5 presents the Spearman coefficients for the three batteries from dataset A.
| HI | B5 | B6 | B7 |
|---|---|---|---|
| HI1 | 0.9927 | 0.9955 | 0.9971 |
| HI2 | 0.9904 | 0.9982 | 0.9941 |
| HI3 | 0.9994 | 0.9967 | 0.9950 |
| HI4 | 0.9746 | 0.9992 | 0.9982 |
| HI5 | 0.9932 | 0.9983 | 0.9543 |
All absolute coefficients are above 0.95, confirming the strong monotonic relationship between the extracted features and the RUL. This justifies their use for constructing a integrated health indicator.
IHI Construction Using KPCA
Because the five HIs are highly correlated and exhibit nonlinear relationships, I apply kernel principal component analysis (KPCA) to fuse them into a single integrated health indicator (IHI). KPCA maps the original features into a higher-dimensional space using a kernel function, then performs PCA in that space. In this work, I use the radial basis function (RBF) kernel:
$$ K(x_i, x_j) = \exp\left(-\gamma \| x_i – x_j \|^2\right). $$
The first principal component is selected as the IHI. This IHI effectively represents the overall health state of the battery and follows the same degradation trend as the capacity. The Spearman correlation between IHI and RUL is 0.9927 for B5, 0.9854 for B6, and 0.9946 for B7, confirming the high fidelity of the fused indicator.
Multi-Scale Decomposition Using VMD
To separate the global degradation trend from local fluctuations and noise, I decompose the IHI using variational mode decomposition (VMD). The VMD algorithm solves the constrained variational problem:
$$ \min_{\{u_k\},\{w_k\}} \sum_{k=1}^{K} \left\| \partial_t \left[ \left( \delta(t) + \frac{j}{\pi t} \right) * u_k(t) \right] e^{-j w_k t} \right\|_2^2, $$
$$ \text{s.t.} \sum_{k=1}^{K} u_k(t) = f(t), $$
where \(u_k\) are the modes, \(w_k\) are their center frequencies, and \(f(t)\) is the original IHI signal. The parameter \(K\) is set to 3, and the penalty factor \(\alpha\) is 2000. The decomposition yields three components: IMF1 (global trend), IMF2 (local fluctuations), and IMF3 (high-frequency noise). The correlation of each component with the RUL is given in Table 6.
| Battery | Component | Spearman correlation |
|---|---|---|
| B5 | IMF1 | 0.9985 |
| B5 | IMF2 | 0.0486 |
| B5 | IMF3 | 0.0642 |
| B6 | IMF1 | 0.9846 |
| B6 | IMF2 | 0.0875 |
| B6 | IMF3 | 0.0468 |
| B7 | IMF1 | 0.9962 |
| B7 | IMF2 | 0.0532 |
| B7 | IMF3 | 0.0463 |
It is evident that IMF1 carries almost all the relevant degradation information, while the other components are uncorrelated and can be omitted. Therefore, I select IMF1 as the input to the prediction model.
D-BiLSTM-A Model
The final prediction model is based on a bidirectional long short-term memory network (BiLSTM). BiLSTM captures temporal dependencies in both forward and backward directions. The hidden state at time step \(t\) is a concatenation of the forward and backward LSTM outputs:
$$ h_t^{BiLSTM} = [\overrightarrow{h}_t, \overleftarrow{h}_t]. $$
A dropout layer is introduced after the BiLSTM layer to prevent overfitting. During training, dropout randomly sets a fraction \(p\) of the hidden units to zero. This is implemented using a Bernoulli mask:
$$ z \sim \text{Bernoulli}(1-p), \quad \tilde{y} = y \odot z. $$
Additionally, an attention mechanism is applied to assign adaptive weights to different time steps. The attention weight \(\alpha_{ij}\) is calculated using a softmax over the attention scores:
$$ \alpha_{ij} = \frac{\exp(e_{ij})}{\sum_{k=1}^{n} \exp(e_{ik})}, \quad e_{ij} = \frac{Q_i \cdot K_j}{\sqrt{d_k}}. $$
The context vector is the weighted sum of the value vectors:
$$ C_i = \sum_{j=1}^{n} \alpha_{ij} V_j. $$
This attention mechanism enables the model to focus on critical degradation stages, improving the prediction accuracy especially when capacity sudden drops or recoveries occur.
RUL Prediction Results on Public Dataset
To validate the proposed D-BiLSTM-A model, I first use dataset A (B5, B6, B7). The sequences are divided such that 30% of the cycles form the training set and the remaining 70% serve as the test set. I compare three models: M1 (BiLSTM), M2 (BiLSTM-Attention), and M3 (Dropout-BiLSTM-Attention). The evaluation metrics include MAE, RMSE, and \(R^2\).
| Battery | Model | MAE (%) | RMSE (%) | R² |
|---|---|---|---|---|
| B5 | M1 | 1.97 | 2.34 | 0.9286 |
| B5 | M2 | 1.79 | 2.04 | 0.9449 |
| B5 | M3 | 1.58 | 1.65 | 0.9815 |
| B6 | M1 | 1.63 | 1.97 | 0.9642 |
| B6 | M2 | 1.16 | 1.74 | 0.9837 |
| B6 | M3 | 0.97 | 1.26 | 0.9935 |
| B7 | M1 | 1.86 | 2.24 | 0.9398 |
| B7 | M2 | 1.62 | 1.84 | 0.9636 |
| B7 | M3 | 1.10 | 1.62 | 0.9865 |
On all three batteries, the D-BiLSTM-A model achieves the lowest RMSE and the highest \(R^2\). The inclusion of dropout reduces overfitting, while the attention mechanism helps the model capture the non-monotonic capacity recovery phenomena. These results confirm the effectiveness of the proposed architecture for RUL prediction in EV battery packs.
Validation on Measured Dataset B
To evaluate the generalization capability of the model, I applied the same framework to dataset B collected from our own experiments. Two scenarios are considered: constant current discharge aging and FUDS dynamic discharge aging. The prediction results for the constant current scenario are shown in Table 8.
| Model | MAE (%) | RMSE (%) | R² |
|---|---|---|---|
| M1 | 2.16 | 3.87 | 0.9128 |
| M2 | 1.68 | 2.03 | 0.9763 |
| M3 | 0.56 | 1.03 | 0.9954 |
Under the FUDS dynamic aging experiment, the prediction errors are presented in Table 9.
| Model | MAE (%) | RMSE (%) | R² |
|---|---|---|---|
| M1 | 4.92 | 6.61 | 0.8928 |
| M2 | 2.34 | 3.04 | 0.9773 |
| M3 | 1.28 | 1.56 | 0.9905 |
Even in the presence of strong dynamic current fluctuations, the D-BiLSTM-A model maintains an RMSE below 1.6% and an \(R^2\) above 0.99. Compared with the constant current scenario, the RMSE increases slightly from 1.03% to 1.56%, demonstrating that the model can adapt to more complex loading profiles without significant loss of accuracy.
Multi-Condition Comparison and Discussion
Table 10 summarizes the final performance of the proposed D-BiLSTM-A model across all evaluated datasets and conditions.
| Data source | Condition | MAE (%) | RMSE (%) | R² |
|---|---|---|---|---|
| Measured cell | Constant current | 0.56 | 1.03 | 0.9954 |
| Measured cell | FUDS dynamic | 1.28 | 1.56 | 0.9905 |
| NASA B5 | Public standard | 1.58 | 1.65 | 0.9815 |
| NASA B6 | Public standard | 0.97 | 1.26 | 0.9935 |
| NASA B7 | Public standard | 1.10 | 1.62 | 0.9865 |
These results demonstrate that the proposed RUL prediction framework is not only accurate but also highly generalizable across different battery cells and operating conditions. This is particularly important for the practical deployment of health monitoring systems in EV battery packs, where cell-to-cell variations and dynamic field usage are inevitable.
Comparison with State-of-the-Art SOC Estimation Methods
To benchmark the SOC estimation performance of the proposed UKF-DEKF-GRU and UKF-MMAE-GRU models, I compare their results with several recent deep learning and hybrid approaches. Table 11 lists the MAE and RMSE for the best-performing model (G3) on the DST cycle at 25°C, along with values reported for other methods in the literature.
| Method | MAE (%) | RMSE (%) |
|---|---|---|
| G3 (proposed) | 0.2623 | 0.3753 |
| G4 (proposed) | 0.4676 | 0.4995 |
| PSO-CNN-LSTM | 0.52 | 0.73 |
| IMOA-TCN-LSTM | 0.613 | 0.698 |
| IAFFRLS-AUKF | 0.5144 | 0.6152 |
| SVDUKF-EKF | 0.87 | 0.99 |
| LSTM-Transformer | 0.49 | 0.58 |
The proposed models achieve the lowest errors among all compared methods, confirming their superiority for SOC estimation in EV battery packs under dynamic conditions.
Conclusion
In this article, I have presented a systematic study on the state of charge estimation and remaining useful life prediction of lithium-ion batteries for electric vehicle applications. The core contributions are summarized as follows.
First, I designed a comprehensive experimental platform and collected data under diverse dynamic conditions and temperatures. This dataset is essential for evaluating the robustness of the proposed algorithms. Second, I developed a hybrid SOC estimation framework that couples model-based filtering with deep residual correction. The use of adaptive DEKF and MMAE significantly improves the baseline UKF performance, and the GRU-based residual correction further reduces the error to below 1%. The final model achieves \(R^2\) values exceeding 0.999 across all tested conditions, demonstrating excellent accuracy and generalization.
Third, I proposed a RUL prediction method that leverages multi-dimensional health indicators, KPCA-based feature fusion, VMD multi-scale decomposition, and a dropout-optimized BiLSTM with attention. The method was validated on both public and self-measured datasets, including dynamic FUDS aging. The results show outstanding prediction accuracy, with RMSE values around 1–1.5% and \(R^2\) values above 0.99. The model is robust to capacity sudden drops and recoveries, which are common in real-world EV battery packs.
In conclusion, the proposed frameworks provide reliable and accurate tools for monitoring the performance of EV battery packs under complex operating conditions. The integration of physical models, adaptive filtering, and deep learning offers a promising direction for future battery management systems. Nevertheless, there is still room for improvement, such as online learning and deployment on embedded platforms. Future work will focus on extending the methods to battery pack level and incorporating more real-world driving data.
