Parallelotopic Space Filter for EV Battery Pack SOC Estimation

As a researcher in the field of electric vehicle power systems, I have always been fascinated by the fundamental role that the EV battery pack plays in the overall performance and safety of electric vehicles. The EV battery pack is not merely a storage device; it is the heart of the vehicle’s powertrain, determining range, acceleration, and reliability. Among all the internal states that need to be monitored, the state of charge (SOC) stands out as the most critical indicator for the battery management system (BMS). The SOC is defined as the ratio of the remaining capacity to the nominal capacity of the battery, and it directly affects the energy management strategy, charging/discharging control, and the prevention of overcharge or overdischarge incidents. Inaccurate SOC estimation can lead to reduced battery lifetime, thermal runaway, and even leakage, which are unacceptable safety hazards. Therefore, developing accurate and robust SOC estimation algorithms for the EV battery pack has become a central research topic in both academia and industry.

Throughout my study, I have investigated numerous SOC estimation methods. The traditional ampere-hour integration method, also known as Coulomb counting, is simple but suffers from cumulative errors and sensitivity to the initial SOC. Open-circuit voltage (OCV) based methods require long rest periods and are not suitable for real-time estimation. Electrochemical impedance spectroscopy is limited to laboratory settings due to its high cost and complexity. In recent years, model-based estimation methods have gained popularity, particularly those based on equivalent circuit models and various filtering algorithms. The Kalman filter (KF) family, including the extended Kalman filter (EKF) and unscented Kalman filter (UKF), assumes that the process and measurement noises follow Gaussian distributions. However, in real-world applications, the noise affecting an EV battery pack is often unknown but bounded (UBB). This mismatch can significantly degrade the performance of Kalman-based estimators. Set-membership filtering methods, on the other hand, are designed to handle UBB noise by maintaining a feasible set that guarantees to contain the true state. Among these, parallelotopic space filters offer a good balance between computational efficiency and conservatism. In this thesis, I present my work on enhancing parallelotopic space filters for SOC estimation of EV battery packs, addressing both linear and nonlinear battery models.

The rest of this article is organized as follows. In Section 2, I introduce the equivalent circuit model used for the EV battery pack and the parameter identification procedure. Section 3 presents a particle swarm optimization (PSO) based orthogonal parallelotope filter (PSO-OHSF) for linear battery models. Section 4 describes a parallelotope-based particle filter (P-IPF) for nonlinear battery models. Section 5 provides experimental validation and comparisons. Section 6 presents the development of a production management and SOC estimation system. Finally, Section 7 concludes the paper.

Battery Modeling and Parameter Identification

For SOC estimation of an EV battery pack, an accurate yet tractable battery model is essential. Among various equivalent circuit models, the first-order RC model, also known as the Thevenin model, provides a good compromise between accuracy and complexity. It consists of an ideal voltage source representing the OCV, an ohmic resistance \(R_0\), and a parallel RC network comprising a polarization resistance \(R_p\) and a polarization capacitance \(C_p\). The model captures the dynamic behavior of the battery during charge and discharge while keeping the number of parameters manageable. The continuous-time equations of the first-order RC model are given by:

\[
\begin{aligned}
U &= U_{oc} – U_p – I R_0, \\
\dot{U}_p &= -\frac{U_p}{R_p C_p} + \frac{I}{C_p},
\end{aligned}
\]

where \(U\) is the terminal voltage, \(U_{oc}\) is the open-circuit voltage, \(I\) is the current, and \(U_p\) is the voltage across the RC network. To use this model in a digital BMS, I discretized the equations with a sampling interval \(\Delta t\). The discrete-time state-space representation, with the state vector \(x_k = [U_{p,k}, SOC_k]^T\), is:

\[
\begin{bmatrix}
U_{p,k+1} \\
SOC_{k+1}
\end{bmatrix}
=
\begin{bmatrix}
e^{-\Delta t/\tau_p} & 0 \\
0 & 1
\end{bmatrix}
\begin{bmatrix}
U_{p,k} \\
SOC_k
\end{bmatrix}
+
\begin{bmatrix}
\left(1 – e^{-\Delta t/\tau_p}\right) R_p \\
-\eta \Delta t / Q_N
\end{bmatrix}
I_k + w_k,
\]

where \(\tau_p = R_p C_p\) is the time constant, \(\eta\) is the Coulombic efficiency, and \(Q_N\) is the nominal capacity. The measurement equation is:

\[
U_k = U_{oc,k} – U_{p,k} – I_k R_0 + v_k,
\]

where \(w_k\) and \(v_k\) are the process and measurement noises, respectively. In my research, I assumed that both noises are unknown but bounded, which is a realistic assumption for an EV battery pack operating in variable environments.

To identify the model parameters, I performed experiments on a 18650 lithium-ion cell with a nominal voltage of 3.7 V and a nominal capacity of 1.5 Ah. The experimental platform consisted of a power supply, a voltage and current display, a host computer, and a constant current charge/discharge controller. I used the static capacity test method to obtain the OCV-SOC relationship. The cell was fully charged and then rested for three hours, and the terminal voltage was recorded as the OCV at 100% SOC. Then, the battery was discharged at a 1/2C rate in steps of 10% SOC, followed by a one-hour rest to record the stable OCV. The same procedure was repeated for charging. The average values of multiple experiments were used to construct the OCV-SOC table, as shown in Table 1.

Table 1: Measured OCV-SOC relationship for the EV battery pack cell
SOC (%) OCV (V)
0 2.78
10 3.63
20 3.71
30 3.76
40 3.79
50 3.83
60 3.87
70 3.94
80 4.01
90 4.09
100 4.19

In the linear case for the PSO-OHSF algorithm, I approximated the OCV-SOC relationship with a linear function:

\[
U_{oc}(SOC) \approx k_{OCV-SOC} SOC + b_{OCV-SOC} = 0.5293 SOC + 3.5821.
\]

For the nonlinear case, I used a cubic polynomial to better capture the nonlinearity:

\[
U_{oc}(SOC) \approx 5.83 SOC^3 – 9.27 SOC^2 + 5.2 SOC + 2.943.
\]

The parameters of the first-order RC model were identified using a recursive least squares method from the pulse discharge data. The identified values are listed in Table 2.

Table 2: Identified parameters of the first-order RC model
Temperature (°C) R0 (Ω) Rp (Ω) Cp (F)
25 0.0415 0.03068 2372.2

PSO-Based Orthogonal Parallelotope Filter (PSO-OHSF)

The first algorithm I proposed is a particle swarm optimization based orthogonal parallelotope filter, abbreviated as PSO-OHSF, for SOC estimation of an EV battery pack under UBB noise. Traditional parallelotopic set-membership filters maintain a parallelotope that contains all possible states consistent with the model and measurements. However, due to the shape of the parallelotope and the way it is updated, the resulting feasible set often has significant redundancy, leading to loose bounds and reduced estimation accuracy. To mitigate this issue, I integrated the PSO algorithm into the filtering framework. The core idea is to generate a set of candidate state vectors (particles) inside the parallelotope, evolve them according to the measurement information, and then construct a tighter orthogonal parallelotope that encloses the converged particles.

In my implementation, at each time step \(k+1\), a parallelotope \(\mathbb{P}(\theta_{c,k+1}, T_{k+1})\) containing the true SOC is first obtained using the standard recursive optimal parallelotopic outbounding algorithm. Here, \(\theta_{c,k+1}\) is the center and \(T_{k+1}\) is the generator matrix. The parallelotope is defined as:

\[
\mathbb{P}(\theta_{c}, T) = \{\theta : \theta = \theta_c + T\alpha, \|\alpha\|_\infty \leq 1\}.
\]

Since directly using this parallelotope as the search space for PSO is inconvenient due to its skewed shape, I constructed an orthogonal parallelotope \(\mathbb{P}(\hat{\theta}^o_{c,k+1}, \hat{T}^o_{k+1})\) that has the same coordinate-wise bounds as the original parallelotope. The center and generator matrix of the orthogonal parallelotope are computed from the extreme values of the vertices of the original parallelotope. Let the vertices of \(\mathbb{P}(\theta_{c,k+1}, T_{k+1})\) be \(z_i, i=1,\dots,2^{n_x}\). For each dimension \(d\), the upper and lower bounds are:

\[
\mu^{\max}_{d,k+1} = \max_i Z_{d,i}, \quad \mu^{\min}_{d,k+1} = \min_i Z_{d,i},
\]

where \(Z_{d,i}\) is the \(d\)-th component of the \(i\)-th vertex. Then the orthogonal parallelotope is given by:

\[
\hat{\theta}^o_{c,k+1} = \begin{bmatrix}
(\mu^{\max}_{1} + \mu^{\min}_{1})/2 \\
\vdots \\
(\mu^{\max}_{n_x} + \mu^{\min}_{n_x})/2
\end{bmatrix}, \quad
\hat{T}^o_{k+1} = \operatorname{diag}\left\{ \frac{\mu^{\max}_1 – \mu^{\min}_1}{2}, \dots, \frac{\mu^{\max}_{n_x} – \mu^{\min}_{n_x}}{2} \right\}.
\]

This orthogonal parallelotope serves as the search space for the particle swarm. I initialized a swarm of \(n\) particles within this search space, where each particle represents a candidate state vector \(X_i = [U_{p,i}, SOC_i]^T\). The particles were updated using the standard PSO velocity and position equations:

\[
V_i^{l+1} = \omega V_i^l + c_1 r_1 (P_i^l – X_i^l) + c_2 r_2 (G^l – X_i^l),
\]

\[
X_i^{l+1} = X_i^l + V_i^{l+1},
\]

where \(\omega\) is the inertia weight, \(c_1\) and \(c_2\) are learning factors, \(r_1\) and \(r_2\) are random numbers in \([0,1]\), \(P_i^l\) is the personal best, and \(G^l\) is the global best. To evaluate the fitness of each particle, I constructed a fitness function based on the measurement innovation. For each particle \(X_i^l\), the predicted measurement is:

\[
\hat{y}_i^l = C X_i^l + \hat{v},
\]

where \(\hat{v}\) is a random noise sample within the bounded set. The fitness function is:

\[
f_i^l = \exp\left[-(y_{k+1} – \hat{y}_i^l)^2\right].
\]

Through iteration, particles move toward the region where the true state lies. To keep particles inside the search space, I applied a boundary constraint: if a particle exceeds the bounds \(\mu^{\min}_d\) or \(\mu^{\max}_d\), it is reflected randomly within the domain. After the PSO converges (e.g., when the global best fitness exceeds a threshold), the set of particles \(\{X_i^{k+1}\}_{i=1}^n\) represents a cluster of candidate states near the true SOC. I then used linear programming to find the tightest orthogonal parallelotope that encloses all particles. The new center and generator matrix are:

\[
\theta^{o,*}_{c,d} = \frac{\beta_d + \beta_{d+n_x}}{2}, \quad
T^{o,*}_{d} = \frac{\beta_d – \beta_{d+n_x}}{2},
\]

where \(\beta_d = \max_{i} e_d^T X_i\) and \(\beta_{d+n_x} = \min_i e_d^T X_i\) are obtained via linear programming. This new orthogonal parallelotope \(\mathbb{P}(\theta^{o,*}_{c,k+1}, T^{o,*}_{k+1})\) provides a much tighter enclosure of the true SOC than the original parallelotope. I named this algorithm PSO-OHSF.

Parallelotope-Based Particle Filter (P-IPF) for Nonlinear Models

For nonlinear battery models, I developed a second algorithm: a parallelotope-based particle filter (P-IPF). The motivation is that particle filters are well-suited for nonlinear and non-Gaussian systems, but they suffer from particle degeneracy and loss of diversity due to resampling. By using a parallelotope to restrict the particle feasible region, I can retain only particles that are consistent with both the process model and the measurement constraints, thereby avoiding blind resampling and improving estimation accuracy.

The nonlinear state-space model for the EV battery pack is:

\[
\begin{cases}
x_k = f(x_{k-1}, u_{k-1}) + w_{k-1}, \\
y_k = h(x_k, u_k) + v_k,
\end{cases}
\]

where \(f\) and \(h\) are nonlinear functions. To apply set-membership techniques, I linearized the state function around the current estimate \(\hat{x}_{k-1}\) using a first-order Taylor expansion and treated the linearization error as an additional uncertainty. The linearization error is bounded by a parallelotope \(\mathbb{P}(\theta_{e_{k-1}}, \operatorname{diag}\{r_{e_{k-1}}\})\) obtained via difference of convex (DC) programming. Then, the one-step predicted feasible set is computed as the Minkowski sum of the linearized state parallelotope, the linearization error parallelotope, and the process noise parallelotope:

\[
\begin{aligned}
\mathcal{Z}(\hat{x}_{k,k-1}, T_{k,k-1}) &= \mathbb{P}(f(\hat{x}_{k-1}), A_k T_{k-1}) \oplus \mathbb{P}(\theta_{e_{k-1}}, \operatorname{diag}\{r_{e_{k-1}}\}) \oplus \mathbb{P}(0, \operatorname{diag}\{r_w\}) \\
&= \mathcal{Z}\left(f(\hat{x}_{k-1}) + \theta_{e_{k-1}}, [A_k T_{k-1}, \operatorname{diag}\{r_{e_{k-1}} + r_w\}]\right).
\end{aligned}
\]

The resulting zonotope is then over-bounded by a minimal-volume parallelotope \(\mathbb{P}(\hat{x}_{k,k-1}, \hat{G}_{k,k-1})\) using the following theorem:

\[
\hat{G}_{k,k-1} = \left([\varphi_1, \dots, \varphi_n]^T\right)^{-1},
\]

where \(\varphi_i^T = H_{v_{m_i}}^+ / \Delta k_{v_{m_i}}\). Here, \(H^+\) is obtained from the halfspace representation of the zonotope, and \(\Delta k\) is a scaling factor. This parallelotope serves as the prediction feasible domain, which contains all plausible states before the measurement update.

For the update step, the measurement equation is linearized similarly, and the measurement set \(S_k\) is constructed from the bounded linearization error and measurement noise. The updated feasible region is the intersection of the prediction parallelotope with the measurement strip. To avoid the complexity of exact intersection, I used the recursive optimal parallelotopic outbounding (ROPO) algorithm to compute a minimal-volume outer parallelotope \(\mathbb{P}(\hat{x}_{k,k}, G_{k,k})\) that contains the intersection. This parallelotope represents the posterior particle feasible region.

With this feasible region, I can now filter the particles. Initially, I generate \(N\) prior particles \(x_i^-\) from the importance density function. A particle is retained if it lies inside the parallelotope, i.e., if:

\[
\|G_{k,k}^{-1}(x_i^- – \hat{x}_{k,k})\|_\infty \leq 1.
\]

Particles outside this region are assigned zero weight. To maintain a constant particle count, I generate new particles by solving the following optimization problem based on the maximum a posteriori (MAP) criterion:

\[
\min_{x_{new} \in \mathbb{P}(\hat{x}_{k,k}, G_{k,k})} -\left\{ \log p_{x_e^k}(x_{new} – x_i^-) + \log p_{v_k}(y_k – h(x_{new})) \right\}.
\]

The new particles are generated within the feasible region and are therefore consistent with both the model and the measurement. The retained and newly generated particles together form the posterior particle set. The weights of the posterior particles are then computed as:

\[
w_k^i \propto w_{k-1}^i p(y_k | x_k^{i,+}).
\]

Finally, the state estimate is obtained by the weighted sum:

\[
\hat{x}_k = \sum_{i=1}^N w_k^i x_k^{i,+}.
\]

The P-IPF algorithm effectively combines the advantages of set-membership filtering and particle filtering. It prevents particle degeneracy without losing diversity because new particles are drawn from a continuous parallelotope region, not merely resampled from a discrete set. I applied this algorithm to the nonlinear battery model with the cubic OCV-SOC relationship and tested it under UBB noise conditions.

Experimental Validation and Results

I conducted extensive simulations to validate the proposed algorithms for SOC estimation of the EV battery pack. For the PSO-OHSF algorithm, the initial parallelotope was set with center \(\theta_{c,0} = [0.1, 1]^T\) and generator matrix \(T_0 = \operatorname{diag}\{0.1, 0.1\}\). The process noise and measurement noise were bounded in \([-0.001, 0.001]\). I compared PSO-OHSF against the ellipsoidal set-membership filter (ESMF) and the orthogonal hyperparallelotope set-membership filter (OHSSMF). Figure 1 shows the feasible sets at different time instants. It can be observed that the PSO-OHSF algorithm produces a much tighter feasible region around the true SOC compared to the other two filters, confirming its lower conservatism. The SOC estimation bounds over time are shown in Figure 2, where the red lines represent the upper and lower bounds of PSO-OHSF. The PSO-OHSF bounds remain close to the true value while the ESMF bounds are significantly wider. The OHSSMF bounds are narrower than ESMF but still broader than PSO-OHSF, especially during transient periods. I also plotted the volume of the feasible set over time in Figure 3, which demonstrates that the PSO-OHSF volume decays rapidly and remains small, indicating high precision.

For the P-IPF algorithm, I used the nonlinear battery model with the cubic OCV-SOC relation. The initial particle feasible region was set as a parallelotope with \(\hat{x}_0 = [1, 0.1]^T\) and generator matrix \(G_0 = \operatorname{diag}\{0.03, 0.01\}\). The noise bounds were \(w_{k,i} \in [-0.01, 0.01]\) for \(i=1,2\) and \(v_k \in [-0.01, 0.01]\). I compared P-IPF with the extended Kalman filter (EKF), the maximum correntropy criterion adaptive EKF (MCC-AEKF), the ellipsoidal set-membership particle filter (ESMPF), the standard particle filter (PF), and the extended parallelotope set-membership filter (EPSMF). Table 3 lists the root mean square error (RMSE) of the SOC estimates for all methods over 1000 time steps.

Table 3: RMSE comparison of different SOC estimation algorithms
Algorithm EKF MCC-AEKF EPSMF PF ESMPF P-IPF
RMSE (SOC) 0.0175 0.00526 0.00736 0.00879 0.00480 0.00319

The results demonstrate that the proposed P-IPF achieves the lowest RMSE among all compared algorithms. Specifically, compared to the ESMPF, the RMSE of P-IPF is reduced by 33.5%. In Figure 4, I show the SOC estimates from all six algorithms. It is evident that the P-IPF estimate (solid red line) tracks the true SOC (black line) most closely, while the EKF deviates significantly due to its Gaussian noise assumption. The MCC-AEKF performs better than EKF but still worse than P-IPF. The EPSMF and PF show moderate accuracy. The P-IPF also maintains a tight confidence region (dashed red lines) that always covers the true state.

Furthermore, I examined the convergence of the parallelotope volume in the P-IPF algorithm. As shown in Figure 5, the area of the particle feasible region converges within 8 iterations and remains stable over time. This indicates that the algorithm is computationally effective and the feasible region shrinks to a compact set around the true state. I also tested the robustness of P-IPF to incorrect initial SOC values. I set the initial SOC to 0.7 instead of the true value 1.0. The algorithm quickly corrected the error within a few steps, as shown in Figure 6, proving that the proposed method is robust to initial condition uncertainties.

Development of an EV Battery Pack Production Management and SOC Estimation System

Beyond the algorithm development, I also implemented a software system for an EV battery pack production line in a leading battery manufacturing enterprise. The system was developed to address the practical needs of the production environment, such as real-time monitoring of manufacturing activities, process data management, equipment control, and SOC estimation. Based on my research findings, I packaged the PSO-OHSF and P-IPF algorithms as backend services that can be invoked via HTTP APIs. The system uses a front-end and back-end separation architecture. The front-end is built with Vue.js and ECharts, providing interactive dashboards for data visualization. The back-end is built with Spring Boot and MyBatis, and the data are stored in a MySQL database. The entire system is deployed on an enterprise server running Windows Server 2016.

The system consists of four main functional modules: the manufacturing activity collection module, the process data module, the production line management module, and the SOC estimation module. The manufacturing activity collection module displays real-time production data, including mixing duration, coating density, and formation parameters, as well as quality indicators such as open-circuit voltage and pass rates. It also visualizes the status of critical processes (waiting, running, completed, or paused) and the inventory versus required quantities of raw materials via radar charts. The process data module allows users to search for battery specifications by battery ID and retrieve detailed process parameters such as coating density, winding length, and liquid injection volume. The production line management module monitors the working status of equipment such as winding machines, coating machines, and slitting machines, and provides controls to stop faulty equipment. It also displays the production time for each device and enables dynamic order scheduling by calling a backend insertion algorithm. The SOC estimation module is the core module that integrates my proposed filtering algorithms. It fetches battery parameters from the database through APIs, such as the rated capacity, cutoff voltages, temperature, and current, and runs the P-IPF algorithm to estimate the SOC in real time. The results are displayed as a bar chart with the current SOC value annotated, and the OCV during the resting discharge process is shown as a line chart. The module helps engineers monitor the SOC performance of individual battery packs and adjust the production process accordingly.

The developed system has been successfully deployed and is operating stably in the enterprise environment. It significantly improves the transparency of the production process, reduces manual record-keeping errors, and assists workers in making scientifically informed decisions. By integrating set-membership-based SOC estimation into the production management platform, the system contributes to the digital transformation and intelligent manufacturing upgrade of the enterprise.

Conclusion

In this article, I have presented my research on SOC estimation of EV battery pack using parallelotopic space filters. I first established a first-order RC equivalent circuit model for the battery and identified its parameters through experiments. To address the unknown-but-bounded noise problem in the linear model, I proposed the PSO-OHSF algorithm that combines particle swarm optimization with orthogonal parallelotopic set-membership filtering. By iteratively refining the particles within a constructed orthogonal search space, the algorithm yields a much tighter feasible enclosure of the true SOC. The comparative experiments confirmed that PSO-OHSF outperforms ESMF and OHSSMF in terms of conservatism and estimation accuracy. For the nonlinear battery model, I proposed the P-IPF algorithm, which uses parallelotopes to define particle feasible regions and generates new particles via MAP optimization. This algorithm not only mitigates particle degeneracy and diversity loss but also improves the SOC estimation accuracy compared to EKF, PF, MCC-AEKF, EPSMF, and ESMPF. The RMSE reduction of 33.5% over ESMPF highlights the advantage of the parallelotope-based approach. Finally, I developed a comprehensive production management and SOC estimation system that incorporates the proposed algorithms, demonstrating their practical applicability in industrial settings. Future work may include incorporating temperature effects into the battery model, optimizing the computational complexity for real-time embedded systems, and extending the system with additional functions such as health monitoring and fault diagnosis. I believe that the parallelotopic filtering framework offers a promising direction for robust state estimation of EV battery pack and other complex systems under bounded uncertainties.

Scroll to Top