(2) State prediction

Calculate the sensitivities of the sigma points with the state equation and evaluate the sensitivity of the a priori state estimation and a priori covariance matrix.

$$\frac{\partial \overline{\chi}\_{j,k}}{\partial \mathbf{a}\_{i}} = \frac{\partial f\left(\hat{\chi}\_{j,k-1}, \boldsymbol{\mu}\_{k-1}, \boldsymbol{a}\right)}{\partial \mathbf{a}\_{i}} + \frac{\partial f\left(\hat{\chi}\_{j,k-1}, \boldsymbol{\mu}\_{k-1}, \boldsymbol{a}\right)}{\partial \hat{\chi}\_{j,k-1}} \frac{\partial \hat{\chi}\_{j,k-1}}{\partial \mathbf{a}\_{i}}, \; j = 0, \ldots, 2L \tag{24}$$

$$\overline{\sigma}\_{i\_k} = \frac{\overleftarrow{\partial} \overline{\pi}\_k}{\partial \alpha\_i} = \sum\_{j=0}^{2L} \omega\_j^{(m)} \frac{\overleftarrow{\partial} \overline{\chi}\_{j,k}}{\partial \alpha\_i} \tag{25}$$

$$\frac{\partial \overline{P}\_{k}}{\partial \mathbf{a}\_{i}} = \sum\_{j=0}^{2L} \omega\_{j}^{(c)} \left\{ \left[ \frac{\partial \overline{\chi}\_{j,k}}{\mathbf{a}\_{i}} - \overline{\sigma}\_{i\_{k}} \right] \left[ \overline{\chi}\_{j,k} - \overline{\pi}\_{k} \right]^{T} + \left[ \overline{\chi}\_{j,k} - \overline{\pi}\_{k} \right] \left[ \frac{\partial \overline{\chi}\_{j,k}}{\mathbf{a}\_{i}} - \overline{\sigma}\_{i\_{k}} \right]^{T} \right\}, i = 1, \ldots, \ell \tag{26}$$

#### (3) Measurement update

Calculate the sensitivity of the sigma points with the observation equation and the sensitivity of the predicted measurement.

$$\frac{\partial \mathcal{Y}\_{j,k}}{\partial \mathbf{a}\_{i}} = \frac{\partial \hbar \left( \overline{\chi}\_{j,k}, \mu\_{k} \mathbf{a} \right)}{\partial \mathbf{a}\_{i}} + \frac{\partial \hbar \left( \overline{\chi}\_{j,k}, \mu\_{k} \mathbf{a}\_{i} \right)}{\partial \overline{\chi}\_{j,k}} \frac{\partial \overline{\chi}\_{j,k}}{\partial \mathbf{a}\_{i}}, j = 0, \dots, 2L \tag{27}$$

$$\frac{\partial \overline{y}\_k}{\partial \alpha\_i} = \sum\_{j=0}^{2L} \omega\_j^{(m)} \frac{\partial \mathcal{Y}\_{j,k}}{\partial \alpha\_i} \tag{28}$$

Calculate the sensitivity of the innovation covariance matrix and the cross-covariance matrix.

$$\frac{\partial \overline{\mathbb{P}}\_{\overline{y},k}}{\partial \mathbf{a}\_{i}} = \sum\_{j=0}^{2L} \omega\_{j}^{(c)} \left\{ \left[ \frac{\partial \mathbb{V}\_{j,k}}{\partial \mathbf{a}\_{i}} - \frac{\partial \overline{\mathbb{V}}\_{k}}{\partial \mathbf{a}\_{i}} \right] \left[ \mathbb{V}\_{j,k} - \overline{\mathbb{y}}\_{k} \right]^{T} \right. \\ \left. + \left[ \mathbb{V}\_{j,k} - \overline{\mathbb{y}}\_{k} \right] \left[ \frac{\partial \mathbb{V}\_{j,k}}{\partial \mathbf{a}\_{i}} - \frac{\partial \overline{\mathbb{y}}\_{k}}{\partial \mathbf{a}\_{i}} \right]^{T} \right\} \,, = 1, \ldots, \ell \tag{29}$$

$$\frac{\partial \overline{\mathcal{P}}\_{xyk}}{\partial \mathbf{a}\_{i}} = \sum\_{j=0}^{2L} \omega\_{j}^{(c)} \left\{ \begin{bmatrix} \frac{\partial \overline{\mathcal{X}}\_{ik}}{\partial \mathbf{a}\_{i}} - \overline{\mathcal{V}}\_{k\_{k}} \end{bmatrix} \begin{bmatrix} \mathcal{Y}\_{jk} - \overline{\mathcal{y}}\_{k} \end{bmatrix}^{T} + \begin{bmatrix} \overline{\mathcal{X}}\_{jk} - \overline{\mathcal{X}}\_{k} \end{bmatrix} \begin{bmatrix} \frac{\partial \mathcal{Y}\_{jk}}{\partial \mathbf{a}\_{i}} - \frac{\partial \overline{\mathcal{Y}}\_{k}}{\partial \mathbf{a}\_{i}} \end{bmatrix}^{T} \right\}, i = 1, \ldots, \ell \tag{30}$$

Calculate the Kalman gain and sensitivity of posterior covariance of the posterior state estimation.

$$\boldsymbol{K}\_{k}\boldsymbol{\varPhi}\_{\text{yy},k} + \sum\_{i=1}^{\ell} \boldsymbol{W}\_{i\_{k}}\boldsymbol{K}\_{k}\boldsymbol{\upgamma}\_{i\_{k}}\boldsymbol{\upgamma}\_{i\_{k}}^{T} = \boldsymbol{\upbeta}\_{\text{xy},k} + \sum\_{i=1}^{\ell} \boldsymbol{W}\_{i\_{k}}\boldsymbol{\upoverline{\boldsymbol{\mathcal{V}}}\_{i\_{k}}}\boldsymbol{\upgamma}\_{i\_{k}}^{T}\tag{31}$$

Here, *γik* = *∂yk*/*∂αi*:

$$\frac{\partial \hat{P}\_k}{\partial a\_i} = \frac{\partial \overline{P}\_k}{\partial a\_i} - \frac{\partial \overline{P}\_{xy,k}}{\partial a\_i} K\_k^T - K\_k \frac{\partial \overline{P}\_{xy,k}^T}{\partial a\_i} + K\_k \frac{\partial \overline{P}\_{yy,k}}{\partial a\_i} K\_k^T, i = 1, \dots, \ell \tag{32}$$

$$\mathcal{O}\_{i\_k} = \overline{\sigma}\_{i\_k} - K\_k \frac{\partial \overline{y}\_k}{\partial \alpha\_i}, i = 1, \dots, \ell \tag{33}$$

Similar to the standard UKF, the trace minimizing the error covariance is used to define the cost function, and the RDUKF uses the trace of the sensitivity matrix product of all disturbance parameters to measure the impact of disturbance parameters on the accuracy of state estimation. Therefore, a new cost function (34) is constructed. The Kalman gain can be set as *∂Jk*/*∂Kk* = 0 with (17) and (33) and is obtained by algebraically solving linear equations.

$$J\_k = \min\_{\mathcal{K}\_k} \text{tr}\left(\mathcal{P}\_k\right) + \sum\_{i=1}^{\ell} \mathcal{C}\_{i\mathbf{i}}^T \mathcal{W}\_{i\mathbf{i}} \mathcal{O}\_{i\mathbf{i}} \tag{34}$$

The sensitivity of the root square matrix *P*ˆ *<sup>k</sup>* needs to be calculated when the sensitivities of the sigma points are calculated. *∂P*ˆ *<sup>k</sup>*/*∂α<sup>i</sup>* can be obtained by taking the partial derivative of *P*ˆ *<sup>k</sup>* = *P*ˆ *k P*ˆ *k*.

$$\frac{\partial \hat{P}\_k}{\partial \alpha\_i} = \frac{\partial \sqrt{\hat{P}\_k}}{\partial \alpha\_i} \sqrt{\hat{P}\_k} + \sqrt{\hat{P}\_k} \frac{\partial \sqrt{\hat{P}\_k}}{\partial \alpha\_i} \tag{35}$$

Thus, *∂ P*ˆ *<sup>k</sup>*/*∂α<sup>i</sup>* can be calculated using (36):

$$\text{vec}\left(\frac{\partial\sqrt{\mathbb{P}\_k}}{\text{da}\_i}\right) = \left(\sqrt{\mathbb{P}\_k}^T \otimes I + I \otimes \sqrt{\mathbb{P}\_k}\right)^{-1} \times \text{vec}\left(\frac{\partial\mathbb{P}\_k}{\text{da}\_i}\right), i = 1, \dots, l \tag{36}$$

where vec (·) and ⊗ are the column straightening operator and Kronecker product operator, respectively, and I is the identity matrix. The RDUKF approach is summarized in Table 1.

**Table 1.** Summary of the RDUKF approach for SOC estimation.



#### **4. Experimental Results and Discussion**

In this section, the experimental verification method is used to further evaluate the robustness of the proposed state estimation algorithm when the model parameters are inaccurate and there is voltage sensor bias.

In this study, a prototype of ZNBs was fabricated and tested. The nominal capacity was 56 Ah, and the charging cut-off voltage and discharging cut-off voltage were 2.1 V and 1.2 V, respectively. The test platform was a BTS-3000 programmable battery test system produced by Neware (Shenzhen, China). All experimental data (including current, voltage, and charge–discharge capacity) were collected at a sampling frequency of 1 Hz. As the experiment was completed in a laboratory environment with precise and accurate equipment, noise sequences with a random normal distribution and zero mean whose variance equals 0.36 A<sup>2</sup> and 0.004 V<sup>2</sup> were added to the collected voltage and current data to simulate the influence of a harsh electromagnetic environment. The voltage and current with noise under the dynamic stress test (DST) cycle are shown in Figure 2.

**Figure 2.** (**a**) Voltage with noise; (**b**) current with noise.

As the laboratory current sensor has high accuracy, after the initial SOC was determined by the open-circuit voltage, the SOC calculated by using the Coulomb count was taken as the accurate value to verify the state estimation performance of the different algorithms. The *MAE* and *RMSE* were used to evaluate the error of deviation between the estimated value and true value and are defined by (37) and (38), where *K* is the data length.

$$MAE = \frac{1}{K} \sum\_{k=1}^{K} \left| \mathfrak{X}\_{k} - \mathfrak{x}\_{true,k} \right| \tag{37}$$

$$RMSE = \sqrt{\frac{1}{K} \sum\_{k=1}^{K} \left(\mathfrak{X}\_k - \mathfrak{x}\_{\text{true},k}\right)^2} \tag{38}$$

In practical engineering applications, the BMS may not be able to obtain an accurate initial SOC. To verify the sensitivity and accuracy of different algorithms relative to the initial error, we set the initial SOC to 50% and the actual value to 90%. The estimation results and errors are shown in Figure 3. Both the UKF and RDUKF can still converge to the real SOC without knowing the real initial SOC. The RMSE and MAE obtained from the experiment are shown in Table 2. The RDUKF can more accurately track the real SOC changes.

Voltage drift may occur when the sensor is affected by drastic changes in ambient temperature or electromagnetic interference. As the Kalman filter algorithm relies on the feedback of the measured data to correct the state estimation value, the sensor drift will reduce the estimation accuracy. To evaluate the influence of voltage sensor drift on the UKF and RDUKF algorithms, in addition to setting the initial SOC error to 40%, the maximum drift voltage was set to ±10 mV. The SOC estimation results and errors of the two methods are shown in Figure 4. To clarify the differences between the different algorithms, the figures display only the SOC changes that occur after 100 s. Due to the influence of sensor drift, the SOC value estimated by the UKF algorithm gradually deviates from the real value with the increase in the number of measured values. Although the estimation error of the RDUKF algorithm is larger than that without sensor drift, it still converges to a fixed value. The MAE and RMSE values obtained by the two methods under different drift voltages are shown in Figure 5. With increasing drift voltage, the MAE and RMSE of the two algorithms tend to increase. Under the same bias voltage, except when the voltage drift is +2 mV, the MAE and RMSE values of the method based on the RDUKF are smaller; thus, this method is more robust.

It is difficult to establish a battery model that covers the entire life cycle. Affected by ageing and ambient temperature, the established model has difficulty tracking the real voltage change, and the mismatched model usually causes divergence of the Kalman filter. To test the accuracy of the UKF and RDUKF algorithms under incorrect model parameters, it is also necessary to set the initial SOC to an incorrect value, i.e., a ± 50% deviation is added to the real model parameters. Compared with R2, C2, and C1, when R1 and R0 change, the terminal voltage of the model undergoes greater changes under the same working conditions. Therefore, only the two models in which only R1 is changed and only R0 is changed are considered. It is worth noting that these two assumptions are used only to analyze the robustness of the state estimation algorithm and may not reflect practical applications. Figure 6 shows the SOC estimation results and errors of the two methods, when R1 has a deviation of ±50%. Similarly, only the change in SOC after 100 s is shown. Compared with the RDUKF, the UKF algorithm exhibits obvious divergence. The MAE and RMSE values obtained by the two methods under different model errors are shown in Figure 7. The RDUKF algorithm is obviously more robust.

**Table 2.** Estimated error under the DST.


**Figure 3.** (**a**) SOC of the estimation results; (**b**) SOC errors of the estimation results.

**Figure 4.** *Cont*.

**Figure 4.** (**a**) SOC estimation results under different drift voltages; (**b**) SOC errors of the estimation results under different drift voltages.

**Figure 5.** (**a**) MAE under different drift voltages; (**b**) RMSE under different drift voltages.

Figure 8 shows the SOC estimation results and errors of the two methods, when R0 undergoes a deviation of ±50% after 100 s. The UKF algorithm also diverges. The MAE and RMSE values obtained by the two methods under different model errors are shown in Figure 9. The RDUKF algorithm has a higher estimation accuracy, but under the same deviation ratio, it can be seen that the RDUKF is affected to a greater extent by the R0 model parameters.

**Figure 6.** (**a**) SOC estimation results according to deviations in R1; (**b**) SOC error according to deviations in R1.

**Figure 7.** (**a**) RMSE according to deviations in R1; (**b**) MAE according to deviations in R1.

**Figure 8.** (**a**) SOC estimation results according to deviations in R0; (**b**) SOC error according to deviations in R0.

**Figure 9.** (**a**) MAE according to deviations in R0; (**b**) RMSE according to deviations in R0.

#### **5. Conclusions**

As a commonly used SOC estimation algorithm, the UKF has high accuracy in an ideal working environment, but over a complete life cycle, it is difficult to fully grasp the impacts of battery ambient temperature, ageing degree, and working conditions on the battery model and sensor drift, which makes it difficult for the UKF to accurately estimate the battery SOC. To improve the estimation accuracy of the SOC in complex environments, this paper discusses the application of the RDUKF to battery state estimation. By comparing the accuracy of the UKF and RDUKF state estimation under different assumptions, it is verified that the proposed method has high robustness in the presence of model uncertainty and sensor voltage drift. For changing parameters or ±10% voltage deviation, the estimation accuracy can be maintained in the error range of ±1.5%. Although the RDUKF has good robustness, it still requires accurate information on the statistical characteristics of system noise. Therefore, the future research goal is to study an estimation algorithm that can accurately estimate the SOC when both a priori noise is statistically unknown and model uncertainty exists.

**Author Contributions:** Conceptualization, Y.G.; methodology, Y.G.; software, Y.G.; validation, Y.G.; formal analysis, Y.G.; investigation, Y.G.; resources, Y.G.; data curation, Y.G.; writing—original draft preparation, Z.L. and Y.G.; writing—review and editing, Z.L. and Y.G.; visualization, Z.L.; supervision, Z.L.; project administration, Z.L. All authors have read and agreed to the published version of the manuscript.

**Funding:** This work was supported by the National Natural Science Foundation of China (51767005).

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** Not applicable.

**Conflicts of Interest:** The authors declare no conflict of interest.

### **References**

