A battery system soc estimation method

By employing a data-driven multi-algorithm fusion approach, combining XGBoost and Kalman filters, the problems of low accuracy and poor robustness in SOC estimation in practical applications are solved, achieving accurate estimation and efficient computation of battery system state.

CN116842464BActive Publication Date: 2025-11-21天津布尔科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310571362.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-20
Publication Date
2025-11-21
Estimated Expiration
2043-05-20

AI Technical Summary

Technical Problem

Existing SOC estimation algorithms suffer from low accuracy and poor robustness in practical applications, and cannot effectively address the error problems caused by changes in the internal state of the battery.

Method used

A SOC estimation model based on the XGBoost algorithm is adopted, which combines a Kalman filter and a recursive averaging filter. Through a data-driven multi-algorithm fusion method, a first-order lag filter is used for smoothing filtering to optimize the SOC estimation process.

Benefits of technology

It achieves accurate estimation of battery system state in real-world environments, improves robustness, avoids error accumulation and SOC jumps, simplifies computational complexity, and improves computational efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116842464B_ABST
    Figure CN116842464B_ABST
Patent Text Reader

Abstract

The application provides a battery system SOC estimation method, comprising the following steps: S1, obtaining historical data for the same type of battery system, and pre-processing the data set; S2, dividing into different data subsets according to different states of the battery system, and respectively constructing features, and dividing training and test data; S3, constructing an SOC estimation model based on an XGBoost algorithm for the data subsets under different states of the battery system; and S4, collecting real-time monitoring data of the battery system, and pre-processing the data; the SOC estimation method based on data driving multi-algorithm fusion under different states of the battery system can accurately estimate the SOC value of the battery system, frequent calibration is not needed, there is no error accumulation effect, a smoothing filter strategy fusing a recursive average filter and a first-order lag filter is proposed, the SOC can be efficiently and smoothly controlled, and SOC jump can be avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of battery systems, specifically a method for estimating the state of charge (SOC) of a battery system. Background Technology

[0002] In recent years, battery technology has made significant progress, enabling various battery system applications, including electric vehicles, aircraft, ships, and energy storage systems. With the widespread application of battery systems, battery management technology has become increasingly important. State of Charge (SOC) estimation is a key component of battery management technology. SOC estimation algorithms are used to estimate the remaining percentage of charge (SOC) in a battery. Real-time and accurate SOC estimation of a battery system is of great significance. First, it can avoid overcharging or over-discharging, improving battery life and reducing battery costs. Second, it allows for more flexible charging and discharging, improving energy utilization. Third, accurate SOC estimation can be applied to other battery state monitoring, thereby detecting system faults earlier and improving battery system reliability. Finally, real-time and accurate SOC estimation can support energy management and control, optimizing control strategies to better meet system requirements and improve system operating efficiency.

[0003] Currently, commonly used SOC estimation algorithms in battery systems mainly include current and voltage-based algorithms, Kalman filtering algorithms, and neural network algorithms. Among these, the current and voltage-based algorithms include the ampere-hour integration method and the open-circuit voltage method. The ampere-hour integration method estimates the remaining battery capacity by integrating the current during charging and discharging, enabling online estimation of battery capacity and real-time monitoring of battery status. The open-circuit voltage method estimates the remaining battery capacity using the correlation between the battery's open-circuit voltage and its capacity; however, this method has a relatively large estimation error. The mainstream Kalman filtering algorithm typically has lower accuracy in practical applications than in laboratory environments. Neural network algorithms are insufficient in terms of algorithm complexity and computational load, and cannot effectively solve the accuracy loss problem caused by error propagation. Existing SOC estimation algorithms also suffer from poor robustness. Due to differences in battery operating environments and usage, the internal state of the battery can change, and existing SOC estimation algorithms are not robust enough to these changes, easily leading to large errors.

[0004] In summary, this invention provides a battery system SOC estimation method to solve the above problems. Summary of the Invention

[0005] To address the aforementioned technical problems, this invention provides a battery system SOC estimation method. This method addresses the shortcomings of existing mainstream Kalman filtering algorithms, which typically achieve lower accuracy in practical applications compared to laboratory environments. Neural network algorithms suffer from limitations in computational complexity and cannot effectively mitigate accuracy loss due to error propagation. Furthermore, existing SOC estimation algorithms often exhibit poor robustness. Due to variations in battery operating environments and usage, the internal state of the battery can change, and existing SOC estimation algorithms are less robust to these changes, prone to significant errors.

[0006] A method for estimating the state of charge (SOC) of a battery system includes the following steps:

[0007] S1. Obtain historical data for the same type of battery system and preprocess the dataset;

[0008] S2. Divide the data into different subsets according to the different states of the battery system, and construct features for each subset to divide the training and testing data.

[0009] S3. For data subsets under different battery system states, construct SOC estimation models based on the XGBoost algorithm respectively;

[0010] S4. Collect real-time monitoring data of the battery system and preprocess the data;

[0011] S5. Identify the current state of the battery system, load different models for different states, and obtain the first SOC estimate;

[0012] S6. Identify the parameters of the SOC linear model and obtain the second SOC estimate through a Kalman filter;

[0013] S7. Smooth the second SOC estimate to obtain the fourth SOC estimate, and output the fourth SOC estimate as the final SOC estimation result. S7 includes three steps: S701, S702, and S703. S701 involves constructing a window recursive averaging filter based on a preset window length, expressed by the formula:

[0014] ,in, is the output of the filter, representing the smoothed signal at time step t. SOC is the input signal, representing the original signal at time step t. n is the preset window length. The window recursive averaging filter uses the average of the n most recent samples of the input signal as the output signal at each time step, which can smooth out noise more smoothly. The third SOC value is obtained by performing window recursive averaging filtering on the second SOC estimate. s702: Construct a first-order hysteresis filter, and smooth the data based on the above filtering to reduce noise and high-frequency jitter, and prevent SOC jumps. A specific approach is as follows: For ASOC = socr - soc:, where Here, `soc` is the estimated SOC value from the previous state, `soc` is the third SOC value from the current state, and `asoc` is the difference between the estimated SOC value from the previous state and the third SOC value from the current state. If `asoc` is greater than or equal to the first threshold and the current state current is positive, then the SOC shows a decreasing trend, and the filtering speed is appropriately slowed down. If `asoc` is greater than the second threshold but less than the first threshold and the current state current is positive, then the SOC shows a decreasing trend, and the filtering speed is appropriately accelerated. If `asoc` is less than or equal to the second threshold and the current state current is positive, then the SOC shows a decreasing trend, and the filtering speed is appropriately slowed down.

[0015] If asoc is less than or equal to the third threshold and the current state current is negative, then SOC shows an upward trend and the filtering speed is appropriately slowed down. If asoc is greater than the third threshold and less than the fourth threshold and the current state current is negative, then SOC shows an upward trend and the filtering speed is appropriately accelerated. If asoc is greater than or equal to the fourth preset threshold and the current state current is negative, then SOC shows an upward trend and the filtering speed is appropriately slowed down. After filtering, the fourth SOC estimate at the current moment is obtained. s703: Output the fourth SOC estimate at the current moment as the SOC estimate for the current state.

[0016] S8. Periodically assess whether the accuracy of SOC estimation has drifted.

[0017] Preferably, S1 includes three steps: S101, S102, and S103. S101 involves loading historical data from battery systems of the same type and model under different aging conditions, obtained from laboratory tests and measurements in actual application environments. This data mainly includes external characteristic data of the battery system, battery status data, acquisition time, and measured SOC value. The external characteristic data of the battery system includes voltage and current, and the battery status data includes charging status, maximum temperature value, minimum temperature value, and charge / discharge rate.

[0018] Preferably, step S102 involves processing missing values ​​in the data using a deletion method, and identifying outliers using a preset threshold and / or an outlier detection algorithm, followed by deletion processing; the outlier detection algorithm: for attributes Data sets Calculate its mean as And the standard deviation o: for each data point Calculate the difference between it and the mean: If a certain data

[0019] Pointed If the value exceeds the preset threshold T, it is considered an outlier.

[0020] Preferably, step S103 uses the Min-Max normalization method for each attribute in the dataset. Map it to values ​​between {0, 1} using the following formula: X = (xf - min(x;)) / (max(x) - min(x;)), where min(x) and max(x) are the minimum and maximum values ​​of the attribute in the dataset, respectively.

[0021] Preferably, step S2 includes three steps: S201, S202, and S203. Step S201 categorizes the battery system state into three types based on charging status and current data: charging, discharging, and resting. When the battery system is not charging and has a positive current, it is in a discharging state; when the battery system is not charging and the current is zero, it is in a resting state; all other states are charging states. Data subsets are divided according to the different battery system states. Step S202, for each data subset, uses preprocessed features as basic features and constructs derived features based on statistical methods and electrochemical principles, including dynamic historical voltage, dynamic historical current, and dynamic historical energy consumption. For a preset window size T, the dynamic historical voltage at time t... Dynamic historical current at time t The dynamic historical power consumption at time t is Q: -uxdt), where i∈{t-T+1, t-T+2, ..., t-1, t}. This represents the current value at the i-th sampling point. This represents the time difference between the i-th sampling point and the (i-1)-th sampling point. S203 represents summing the current values ​​and time differences of all sampling points. For each data subset, the SOC value range in the data subset is divided into several preset intervals. The dataset is divided into training set and test set by using a hierarchical random sampling method to ensure that the sample ratio of each SOC interval in the training set and test set is the same.

[0022] Preferably, step S3 includes five steps: S301, S302, S303, S304, and S305. S301 involves constructing an initial XGBoost model. S302 involves determining the optimal parameter combination for the XGBoost model using a grid search based on a preset parameter range and with the mean absolute error as the objective function. Grid search is a method for optimizing model performance by traversing all possible combinations in a given parameter space. S303 involves training the model using the optimal parameter combination. S304 involves validating the model results on a test set. If the preset target is achieved, proceed to the next step; otherwise, analyze the reasons and return to step S302 to reset the parameter range. S305 involves saving the final trained model parameters.

[0023] Preferably, step S4 includes three steps: S401, S402, and S403. S401 involves collecting real-time monitoring data of the battery system, primarily including external characteristic data, battery system status data, and collection time. The external characteristic data includes voltage and current, while the battery system status data includes charging status, maximum temperature, minimum temperature, and charge / discharge rate. S402 involves imputing missing values ​​in the data using the nearest neighbor interpolation method. This method identifies the most similar sample within a preset window to predict the missing value. For outliers, a preset threshold and / or an outlier detection algorithm are used for identification, followed by imputation. The outlier detection algorithm is the same as in step S102, and the nearest neighbor interpolation method is used. S402 also involves normalizing the cleaned data. The normalization method and the minimum and maximum values ​​for each attribute are the same as in step S103.

[0024] Preferably, S5 includes two steps, S501 and S502. S501 is to identify the current battery system state using the battery system state identification method in step s201. S502 is to load the model corresponding to the current state and use the data processed in step s403 as input to obtain the first SOC estimate.

[0025] Preferably, step S6 includes three steps: S601, S602, and S603. In step S601, for the current battery data, a time-step-based linear SOC estimation model is designed. Based on historical data within a preset time window, the least squares method is used to identify the parameters of the SOC linear model. The linear estimation model is: SOC(t) = SOC(t-1) + U, where SOC(t) represents the battery's state of charge at time t, u is a constant representing the battery's charging / discharging rate, and t is time. When u > 0, the battery system is in a charging state; when u < 0, the battery system is in a discharging state; and when u = 0, the battery system is in a resting state. In step S602, a Kalman filter algorithm is used for prediction and estimation, and the first SOC, estimated by the XGBoost model, is used as the predicted value. The relationship between it and the actual system state value soc can be expressed by a linear equation: zt = SOC + V, where V represents uncorrelated, zero-mean Gaussian white noise. Based on the above linear estimation model of SOC, the one-step prediction of the state at the current moment is expressed as: SOC = SOC - Z + U + WZ, where Wz is uncorrelated, zero-mean Gaussian white noise.

[0026] Preferably, S8 includes three steps: S801, S802, and S803. S801 involves periodically acquiring new measurement data in a real-world application environment. S802 involves calculating the error between the estimated SOC value and the measured SOC value. S803 involves evaluating whether the SOC estimation accuracy has drifted based on a preset interval evaluation algorithm. If the error is within the preset error interval, the process ends. If the error exceeds the preset error interval, the process jumps to step S1.

[0027] Compared with the prior art, the present invention has the following beneficial effects:

[0028] This invention presents a data-driven, multi-algorithm fusion-based SOC estimation method for battery systems under different states. It accurately estimates the SOC value of the battery system without requiring frequent calibration and without error accumulation. An optimized Kalman filter is proposed to simplify computational complexity and improve efficiency. Based on laboratory and real-world application data and regularly maintained and updated, it provides more accurate estimations of the battery system state in real-world environments and exhibits strong robustness. Furthermore, a smoothing filtering strategy fusing a recursive averaging filter and a first-order hysteresis filter is proposed to efficiently achieve smooth SOC control and avoid SOC jumps. Attached Figure Description

[0029] Figure 1 This is the process of the present invention;

[0030] Figure 2 This is a schematic diagram showing the steps of the present invention. Detailed Implementation

[0031] The embodiments of the present invention will be described in further detail below with reference to the accompanying drawings and examples. The following examples are for illustrative purposes only and should not be construed as limiting the scope of the invention.

[0032] like Figure 1-2 As shown, the present invention provides a method for estimating the state of charge (SOC) of a battery system, comprising the following steps:

[0033] S1. Obtain historical data for the same type of battery system and preprocess the dataset;

[0034] S2. Divide the data into different subsets according to the different states of the battery system, and construct features for each subset to divide the training and testing data.

[0035] S3. For data subsets under different battery system states, construct SOC estimation models based on the XGBoost algorithm respectively;

[0036] S4. Collect real-time monitoring data of the battery system and preprocess the data;

[0037] S5. Identify the current state of the battery system, load different models for different states, and obtain the first SOC estimate;

[0038] S6. Identify the parameters of the SOC linear model and obtain the second SOC estimate through a Kalman filter;

[0039] S7. Smooth the second SOC estimate to obtain the fourth SOC estimate, and output the fourth SOC estimate as the final SOC estimation result. S7 includes three steps: S701, S702, and S703. S701 involves constructing a window recursive averaging filter based on a preset window length, expressed by the formula:

[0040] ,in, is the output of the filter, representing the smoothed signal at time step t. SOC is the input signal, representing the original signal at time step t. n is the preset window length. The window recursive averaging filter uses the average of the n most recent samples of the input signal as the output signal at each time step, which can smooth out noise more smoothly. The third SOC value is obtained by performing window recursive averaging filtering on the second SOC estimate. s702: Construct a first-order hysteresis filter, and smooth the data based on the above filtering to reduce noise and high-frequency jitter, and prevent SOC jumps. A specific approach is as follows: For ASOC = socr - soc:, where Here, SOC is the estimated value of the previous state, SOC is the third SOC value of the current state, and asoc is the difference between the estimated SOC of the previous state and the third SOC estimate of the current state. If asoc is greater than or equal to the first threshold and the current state current is positive, then the SOC shows a decreasing trend, and the filtering speed is appropriately slowed down. If asoc is greater than the second threshold but less than the first threshold and the current state current is positive, then the SOC shows a decreasing trend, and the filtering speed is appropriately accelerated. If asoc is less than or equal to the second threshold and the current state current is positive, then the SOC shows a decreasing trend, and the filtering speed is appropriately slowed down. Filtering speed: If asoc is less than or equal to the third threshold and the current state current is negative, the SOC shows an upward trend, and the filtering speed is appropriately slowed down. If asoc is greater than the third threshold and less than the fourth threshold and the current state current is negative, the SOC shows an upward trend, and the filtering speed is appropriately accelerated. If asoc is greater than or equal to the fourth preset threshold and the current state current is negative, the SOC shows an upward trend, and the filtering speed is appropriately slowed down. After filtering, the fourth SOC estimate at the current moment is obtained. s703: Output the fourth SOC estimate at the current moment as the SOC estimate for the current state.

[0041] S8. Periodically assess whether the accuracy of SOC estimation has drifted.

[0042] Please refer to Figure 1-2 S1 includes three steps: S101, S102, and S103. S101 involves loading historical data from battery systems of the same type and model under different aging conditions, obtained from laboratory tests and measurements in actual application environments. This data mainly includes external characteristic data of the battery system, battery status data, acquisition time, and measured SOC value. The external characteristic data of the battery system includes voltage and current, while the battery status data includes charging status, maximum temperature value, minimum temperature value, and charge / discharge rate.

[0043] Please refer to Figure 1-2 S102 involves processing missing values ​​in the data using a deletion method, and identifying outliers using a preset threshold and / or an outlier detection algorithm, followed by deletion processing. The outlier detection algorithm is used for attributes... Data sets Calculate its mean as And the standard deviation o: for each data point Calculate the difference between it and the mean: If the z-value of a data point exceeds the preset threshold T, it is considered an outlier.

[0044] Please refer to Figure 1-2 S103 uses the Min-Max normalization method for each attribute in the dataset. Map it to values ​​between {0, 1} using the following formula: x = (x; - min(x;)) / (max(x) - min(x;)), where min(x) and max(x) are the minimum and maximum values ​​of the attribute in the dataset, respectively.

[0045] Please refer to Figure 1-2 S2 includes three steps: S201, S202, and S203. S201 categorizes the battery system state into three types based on charging status and current data: charging, discharging, and resting. When the battery system is not charging and has a positive current, it is in a discharging state; when the battery system is not charging and the current is zero, it is in a resting state; all other states are charging states. Data subsets are divided according to the different battery system states. S202, for each data subset, uses preprocessed features as basic features and constructs derived features based on statistical methods and electrochemical principles, including dynamic historical voltage, dynamic historical current, and dynamic historical energy consumption. For a preset window size T, the dynamic historical voltage at time t... Dynamic historical current at time t The dynamic historical power consumption at time t is Q: -uxdt), where i∈{t-T+1, t-T+2, ..., t-1, t}. This represents the current value at the i-th sampling point. This represents the time difference between the i-th sampling point and the (i-1)-th sampling point. S203 represents summing the current values ​​and time differences of all sampling points. For each data subset, the SOC value range in the data subset is divided into several preset intervals. The dataset is divided into training set and test set by using a hierarchical random sampling method to ensure that the sample ratio of each SOC interval in the training set and test set is the same.

[0046] Please refer to Figure 1-2 S3 includes five steps: S301, S302, S303, S304, and S305. S301 is to build an initial XGBoost model. S302 is to determine the optimal parameter combination of the XGBoost model based on a preset parameter range and using the mean absolute error as the objective function. Grid search is a method to optimize model performance by traversing all possible combinations in a given parameter space. S303 is to train the model using the optimal parameter combination. S304 is to verify the model results on the test set. If the preset target is achieved, proceed to the next step. Otherwise, analyze the reasons and return to step S302 to reset the preset parameter range. S305 is to save the final trained model parameters.

[0047] Please refer to Figure 1-2S4 includes three steps: S401, S402, and S403. S401 involves collecting real-time monitoring data of the battery system, mainly including external characteristic data, battery system status data, and collection time. The external characteristic data includes voltage and current, and the battery system status data includes charging status, maximum temperature, minimum temperature, and charge / discharge rate. S402 involves imputing missing values ​​in the data using the nearest neighbor interpolation method. The nearest neighbor interpolation method is used to find the sample most similar to the missing value sample within a preset window to predict the missing value. For outliers, a preset threshold and / or an outlier detection algorithm are used for identification, and the imputation method is used for processing. The outlier detection algorithm is the same as in step S102, and the nearest neighbor interpolation method is used for imputation. S402 also involves normalizing the cleaned data. The normalization method and the minimum and maximum values ​​of each attribute are the same as in step S103.

[0048] Please refer to Figure 1-2 S5 includes two steps, S501 and S502. S501 is to identify the current battery system state using the battery system state identification method in step s201. S502 is to load the model corresponding to the current state and use the data processed in step s403 as input to obtain the first SOC estimate.

[0049] Please refer to Figure 1-2 S6 includes three steps: S601, S602, and S603. In S601, for the current battery data, a time-step-based linear SOC estimation model is designed. Based on historical data within a preset time window, the least squares method is used to identify the parameters of the SOC linear model. The linear estimation model is: SOC(t) = SOC(t-1) + U, where SOC(t) represents the battery's state of charge at time t, u is a constant representing the battery's charging / discharging rate, and t is time. When u > 0, the battery system is in a charging state; when u < 0, the battery system is in a discharging state; and when u = 0, the battery system is in a resting state. In S602, a Kalman filter algorithm is used for prediction and estimation, and the first SOC, estimated by the XGBoost model, is used as the predicted value. The relationship between it and the actual system state value soc can be expressed by a linear equation: zt = SOC + V, where V represents uncorrelated, zero-mean Gaussian white noise. Based on the above linear estimation model of SOC, the one-step prediction of the state at the current moment is expressed as: SOC = SOC - Z + U + WZ, where Wz is uncorrelated, zero-mean Gaussian white noise.

[0050] Please refer to Figure 1-2S8 includes three steps: S801, S802, and S803. S801 involves periodically acquiring new measurement data in a real-world application environment. S802 involves calculating the error between the estimated SOC value and the measured SOC value. S803 involves evaluating whether the SOC estimation accuracy has drifted based on a preset interval evaluation algorithm. If the error is within the preset error interval, the process ends. If the error exceeds the preset error interval, the process jumps to step S1.

[0051] Specific working principle: such as Figure 1-2 As shown, when using this battery system SOC estimation method, the SOC estimation method based on data-driven multi-algorithm fusion under different battery system states can accurately estimate the SOC value of the battery system without frequent calibration and without error accumulation effect. An optimized Kalman filter is proposed, which can simplify the computational complexity and improve the computational efficiency. Based on laboratory and actual application environment data and regularly maintained and updated, it can make more accurate estimates of the battery system state in the actual environment and has strong robustness. A smoothing filtering strategy that integrates a recursive averaging filter and a first-order hysteresis filter is proposed, which can efficiently achieve smooth control of SOC and avoid SOC jumps. These are the characteristics of this battery system SOC estimation method.

[0052] The alternative solutions mainly involve the following steps:

[0053] Step S103: Normalize the cleaned data. Other commonly used normalization methods can also be used, such as Z-Score and DecimalScaling. All of these methods are existing public methods.

[0054] Step S201: Based on the charging state and current data, the battery system state can be classified into different states, and data subsets can be divided according to the different states of the battery system. The core of classifying the battery system state is determined based on the characteristic distribution characteristics of the dataset. The ultimate goal is to enable the model to better learn the characteristic patterns of the data subsets, thereby improving the accuracy of SOC estimation. It does not necessarily have to be divided into three categories: charging, discharging, and resting states. Other classification schemes are also possible, such as dividing the battery system state into seven categories: initial charging, middle charging, final charging, initial discharging, middle discharging, final discharging, and resting state.

[0055] Step S3: Construct SOC estimation models based on the XGBoost algorithm for data subsets under different battery system states. The SOC estimation model here is not limited to the XGBoost algorithm; other machine learning algorithms (such as Support Vector Machine (SVR), Random Forest (RF), Gated Recurrent Unit (GRU), etc.) or traditional SOC estimation algorithms (such as the ampere-hour integration method, open-circuit voltage method, etc.) can also be used. Furthermore, the same algorithm does not necessarily need to be used for the data subsets under different battery system states. The ultimate goal is to fully explore the relationship between SOC and features, and improve the accuracy of SOC estimation; different algorithms can be used.

[0056] Step S402: Impute missing and outlier values ​​in the data. Other commonly used imputation methods can also be used: mean / median / mode imputation, interpolation imputation, random forest imputation, etc., all of which are existing public methods;

[0057] Step S601: The least squares method is used to identify the parameters of the SOC linear estimation model. Other commonly used linear equation parameter identification methods can also be used, such as the least square root method, the minimum norm method, the minimum mean square error method, the minimum root mean square error method, the minimum maximum likelihood estimation method, the minimum entropy method, the minimum negative derivative method, etc., all of which are existing public methods.

[0058] The embodiments of the present invention are given for the purposes of illustration and description. Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of the present invention.

Claims

1. A method for estimating the state of charge (SOC) of a battery system, characterized in that, Includes the following steps: S1. Obtain historical data for the same type of battery system and preprocess the dataset; S2. Divide the data into different subsets according to the different states of the battery system, and construct features for each subset to divide the training and testing data. S3. For data subsets under different battery system states, construct SOC estimation models based on the XGBoost algorithm respectively; S4. Collect real-time monitoring data of the battery system and preprocess the data; S5. Identify the current state of the battery system, load different models for different states, and obtain the first SOC estimate; S6. Identify the parameters of the SOC linear model and obtain the second SOC estimate through a Kalman filter; S7. Smooth the second SOC estimate to obtain the fourth SOC estimate, and output the fourth SOC estimate as the final SOC estimation result. S7 includes three steps: S701, S702, and S703. S701 involves constructing a window recursive averaging filter based on a preset window length, expressed by the formula: ,in, is the output of the filter, representing the smoothed signal at time step t. SOC is the input signal, representing the original signal at time step t. n is the preset window length. The window recursive averaging filter uses the average of the n most recent samples of the input signal as the output signal at each time step, which can smooth out noise more smoothly. The third SOC value is obtained by performing window recursive averaging filtering on the second SOC estimate. s702: Construct a first-order hysteresis filter, and smooth the data based on the above filtering to reduce noise and high-frequency jitter, and prevent SOC jumps. A specific approach is as follows: For ASOC = socr - soc:, where Here, SOC is the estimated value of the previous state, SOC is the third SOC value of the current state, and asoc is the difference between the estimated SOC of the previous state and the third SOC estimate of the current state. If asoc is greater than or equal to the first threshold and the current state current is positive, then the SOC shows a decreasing trend, and the filtering speed is appropriately slowed down. If asoc is greater than the second threshold but less than the first threshold and the current state current is positive, then the SOC shows a decreasing trend, and the filtering speed is appropriately accelerated. If asoc is less than or equal to the second threshold and the current state current is positive, then the SOC shows a decreasing trend, and the filtering speed is appropriately slowed down. Filtering speed: If ASOC is less than or equal to the third threshold and the current state current is negative, then SOC shows an upward trend and the filtering speed is appropriately slowed down. If ASOC is greater than the third threshold and less than the fourth threshold and the current state current is negative, then SOC shows an upward trend and the filtering speed is appropriately accelerated. If ASOC is greater than or equal to the fourth preset threshold and the current state current is negative, then SOC shows an upward trend and the filtering speed is appropriately slowed down. After filtering, the fourth SOC estimate at the current moment is obtained. s703: Output the fourth SOC estimate at the current moment as the SOC estimate for the current state. S8. Periodically assess whether the accuracy of SOC estimation has drifted.

2. The battery system SOC estimation method as described in claim 1, characterized in that: S1 includes three steps: S101, S102, and S103. S101 involves loading historical data from battery systems of the same type and model under different aging conditions, obtained from laboratory tests and measurements in actual application environments. This data mainly includes external characteristic data of the battery system, battery status data, acquisition time, and measured SOC value. The external characteristic data of the battery system includes voltage and current, while the battery status data includes charging status, maximum temperature value, minimum temperature value, and charge / discharge rate.

3. The battery system SOC estimation method as described in claim 2, characterized in that: S102 involves processing missing values ​​in the data using a deletion method, and identifying outliers using a preset threshold and / or an outlier detection algorithm, followed by deletion processing. Outlier detection algorithm: for attributes... Data sets Calculate its mean as and standard deviation: for each data point Calculate the difference between it and the mean: If a certain data point Value exceeds preset threshold If it is an outlier, then it is considered an outlier.

4. The battery system SOC estimation method as described in claim 2, characterized in that: S103 uses the Min-Max normalization method for each attribute in the dataset. Map it to values ​​between {0, 1} using the following formula: X = (xf - min(x;)) / (max(x) - min(x;)), where min(x) and max(x) are the minimum and maximum values ​​of the attribute in the dataset, respectively.

5. The battery system SOC estimation method as described in claim 1, characterized in that: S2 includes three steps: S201, S202, and S203. S201 categorizes the battery system state into three types based on charging status and current data: charging, discharging, and resting. When the battery system is not charging and has a positive current, it is in a discharging state; when the battery system is not charging and the current is zero, it is in a resting state; all other states are charging states. Data subsets are divided according to the different battery system states. S202, for each data subset, uses preprocessed features as basic features and constructs derived features based on statistical methods and electrochemical principles, including dynamic historical voltage, dynamic historical current, and dynamic historical energy consumption. For a preset window size T, the dynamic historical voltage at time t... Dynamic historical current at time t Dynamic historical power consumption at time t ,where i∈{t-T+1,t-T+2,...,t-1,t}, This represents the current value at the i-th sampling point. This represents the time difference between the i-th sampling point and the (i-1)-th sampling point. S203 represents summing the current values ​​and time differences of all sampling points. For each data subset, the SOC value range in the data subset is divided into several preset intervals. The dataset is divided into training set and test set by using a hierarchical random sampling method to ensure that the sample ratio of each SOC interval in the training set and test set is the same.

6. The battery system SOC estimation method as described in claim 1, characterized in that: S3 includes five steps: S301, S302, S303, S304, and S305. S301 is to build an initial XGBoost model. S302 is to determine the optimal parameter combination of the XGBoost model based on a preset parameter range and using the mean absolute error as the objective function. Grid search is a method to optimize model performance by traversing all possible combinations in a given parameter space. S303 is to train the model using the optimal parameter combination. S304 is to verify the model results on the test set. If the preset target is achieved, proceed to the next step; otherwise, analyze the reasons and return to step S302 to reset the preset parameter range. S305 is to save the final trained model parameters.

7. The battery system SOC estimation method as described in claim 1, characterized in that: S4 includes three steps: S401, S402, and S403. S401 involves collecting real-time monitoring data of the battery system, primarily including external characteristic data, battery system status data, and the collection time. External characteristic data includes voltage and current, while battery system status data includes charging status, maximum temperature, minimum temperature, and charge / discharge rate. S402 involves imputing missing values ​​in the data using nearest neighbor imputation. This method finds the most similar sample within a preset window to predict the missing value. For outliers, a preset threshold and / or an outlier detection algorithm are used for identification, followed by imputation and outlier detection. The algorithm is the same as step s102, and the nearest neighbor interpolation method is used. S402 is to normalize the cleaned data. The normalization method and the minimum and maximum values ​​of each attribute are the same as in step S103.

8. The battery system SOC estimation method as described in claim 1, characterized in that: S5 includes two steps, S501 and S502. S501 is to identify the current battery system state using the battery system state identification method in step s201. S502 is to load the model corresponding to the current state and use the data processed in step s403 as input to obtain the first SOC estimate.

9. The battery system SOC estimation method as described in claim 1, characterized in that: S6 includes three steps: S601, S602, and S603. In S601, for the current battery data, a time-step-based SOC linear estimation model is designed. Based on historical data within a preset time window, the least squares method is used to identify the SOC linear model parameters. The linear estimation model is: SOC(t) = SOC(t-1) + U, where SOC(t) represents the battery's state of charge at time t. U is a constant representing the battery charging / discharging rate, and t is time. When u > 0, the battery system is in a charging state; when u < 0, the battery system is in a discharging state; and when u = 0, the battery system is in a resting state. S602: The Kalman filter algorithm is used for prediction and estimation, and the first SOC estimated by the XGBoost model is used as the predicted value. Its relationship with the actual system state value soc can be expressed by a linear equation: zt = SOC + V, where V represents an uncorrelated, zero-mean Gaussian white noise. Based on the above linear estimation model of SOC, the one-step prediction of the state at the current moment is expressed as: ,in It is uncorrelated, zero-mean Gaussian white noise.

10. The battery system SOC estimation method as described in claim 1, characterized in that: S8 includes three steps: S801, S802, and S803. S801 involves periodically acquiring new measurement data in a real-world application environment. S802 involves calculating the error between the estimated SOC value and the measured SOC value. S803 involves evaluating whether the SOC estimation accuracy has drifted based on a preset interval evaluation algorithm. If the error is within the preset error interval, the process ends. If the error exceeds the preset error interval, the process jumps to step S1.

Citation Information

Patent Citations

  • Lithium ion battery SOC estimation method

    CN113740735A

  • Method and system for a continuous discrete recurrent kalman network

    WO2023023297A1