Method for estimating a parameter representative of the state of at least one electrochemical element of a battery, and associated method and devices
By distributing neural network calculations across multiple iterations, the method addresses the challenge of long execution times in battery state estimation, enabling rapid and accurate parameter estimation within embedded systems for efficient battery management.
Patent Information
- Application Number
- PCT/EP2025/065318
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-04
- Filing Date
- 2025-06-03
- Publication Date
- 2025-12-11
AI Technical Summary
Existing methods for estimating battery state parameters using neural networks are not suitable for real-time and embedded applications due to long execution times, making them incompatible with efficient battery management systems.
A method involving a computer-based neural network inference process is implemented across multiple iterations, distributing calculations to balance computational load and reduce execution time, allowing for rapid estimation of battery state parameters such as SOC, SOH, SOT, PS, and ES, using a management system with voltage, current, and temperature sensors.
This approach enables high-quality, real-time estimation of battery state parameters within embedded systems, reducing execution time to less than a second per iteration, thereby enhancing the efficiency and accuracy of battery management.
Smart Images

Figure EP2025065318_11122025_PF_FP_ABST
Abstract
Description
[0001] Method for Estimating a Parameter Representative of the State of at Least One Electrochemical Element of a Battery, Method and Associated Devices. The present invention relates to a method for estimating a parameter representative of the state of at least one electrochemical element of a battery. The present invention also relates to a method for determining, a calculator, a management system, and an associated battery. Typically, a battery comprises one or more current storage cells, also called electrochemical generators, cells, or elements. A storage cell is an electricity-producing device in which chemical energy is converted into electrical energy. The chemical energy comes from electrochemically active compounds deposited on at least one face of electrodes arranged in the storage cell. The electrical energy is produced by electrochemical reactions during a discharge of the storage cell. The electrodes, arranged in a container,are electrically connected to current output terminals that ensure electrical continuity between the electrodes and the electrical load to which the battery is connected. To increase the electrical power delivered, several sealed batteries can be connected together to form a battery pack. Thus, a battery pack can be divided into modules, each module consisting of one or more batteries connected in series and / or parallel. For example, a battery pack may have one or more parallel branches of batteries connected in series and / or one or more parallel branches of modules connected in series. A charging circuit is generally provided to which the battery can be connected to recharge the batteries. Furthermore, an electronic management system, including measurement sensors and an electronic control circuit, of varying complexity depending on the application,can be connected to the battery. Such a system allows, in particular, the organization and control of the battery's charging and discharging, to balance the charge and discharge of the different cells within the battery relative to each other. To achieve such control,The management system is designed to obtain parameters representative of the state of at least part of the battery. The state of charge is an example of such a parameter. The state of charge is useful information for the electronic battery management system to optimize its use and lifespan. The state of charge is often designated by the abbreviation SOC, which refers to the English term "State of Charge." The state of health is another example of a parameter representing the state obtained by the management system. The state of health is often designated by the abbreviation SOH, which refers to the English term "State of Health." The SOH state of health allows for estimating the battery's aging between a new state and an end-of-life state, or more generally,between an initial state and a final state. The temperature state is yet another example of an interesting parameter in this context. The temperature state is often referred to by the abbreviation SOT, which stands for "State of Temperature." The SOT temperature state characterizes the temperature of each battery based on measurements from temperature sensors, of which there are a limited number. To obtain these physical values, it is known to use techniques derived from artificial intelligence. Neural networks are one example of such techniques. However, for these techniques to produce good quality estimates of the parameters representing the battery state, they require the implementation of calculations with very long execution times.particularly for inference using a neural network. This makes these promising techniques for the battery field incompatible with real-time and embedded use. Therefore, there is a need for a method to estimate a parameter representative of the state of an electrochemical cell in a battery that can be implemented in an embedded environment while benefiting from the high-quality estimates provided by artificial intelligence techniques. To this end, the description outlines a method for estimating a parameter representative of the state of at least one electrochemical cell in a battery, the estimation method being implemented by a computer within a management system for at least one electrochemical cell in a battery.the computer being capable of providing estimated values of a parameter representative of the state of at least one electrochemical element after successive iterations of implementation of operations by the computer, the process comprising a step of: - obtaining values of at least one physical quantity of at least one electrochemical element at a first iteration, and - estimation by the computer of the value of the parameter representative of the state of at least one electrochemical element at the first iteration by inference of a neural network on the values obtained during the obtaining step, the inference of the neural network comprising, for several consecutive iterations, the performance of calculations of a respective part of the neural network, each respective part comprising a set of neurons of the neural network,Each neuron belongs to a single set of neurons and provides an output value, and the output values of the neurons on which the calculations were performed are stored. According to specific embodiments, the estimation method has one or more of the following characteristics, taken individually or in all technically possible combinations: - an iteration has a duration between 100 ms and 30 seconds, preferably less than 1 second. - a ratio is defined, the numerator of the ratio being the difference between the maximum execution time of an iteration and the minimum execution time of an iteration, and the denominator of the ratio being the average execution time of the iterations, the ratio being strictly less than 1, preferably strictly less than 1 / 5, advantageously strictly less than 1 / 10. - at least one physical quantity is chosen from a range,a voltage or a temperature. - the parameter representing the state of at least one electrochemical element is chosen from a state of health, a state of charge, a state of temperature, a state of power, and a state of energy. The description also describes a method for determining the distribution of the inference of a neural network over several consecutive iterations of a computer in a management system for at least one electrochemical element of a battery, the computer being capable of providing estimation values for a parameter representing the state of at least one electrochemical element after successive iterations of operations implemented by the computer.The computer estimates the value of the parameter representing the state at the first iteration of at least one electrochemical element by inference from a neural network based on values of at least one physical quantity of at least one electrochemical element obtained at a first iteration. The determination process is implemented by computer and includes determining the distribution of calculations over several consecutive iterations according to a plurality of criteria. A first criterion is that each iteration involves the execution of a respective part of the neural network and the storage of the output values of the neurons on which the calculations were performed. Each respective part comprises a set of neurons from the neural network. A second criterion is that each neuron belongs to a unique set of neurons. According to particular embodiments,The determination method exhibits one or more of the following characteristics, taken individually or in all technically possible combinations: - a third criterion is that, for each iteration, the execution time of the respective part of the neural network, and the memorization of the output values of the neurons on which the calculations were performed, is less than a predefined time. - another criterion is that a ratio is strictly less than 1, the numerator of the ratio being the difference between the maximum execution time of an iteration and the minimum execution time of an iteration, and the denominator of the ratio being the average execution time of the iterations. The description also proposes a calculator for a management system of at least one electrochemical cell of a battery, the calculator being capable of estimating a parameter representative of the state of at least one electrochemical cell of a battery.the computer being capable of providing estimated values of a parameter representative of the state of at least one electrochemical element after successive iterations of implementation of operations by the computer, the computer being capable of: - obtaining values of at least one physical quantity of at least one electrochemical element at a first iteration, and - estimating the value of the parameter representative of the state of at least one electrochemical element at the first iteration by inference of a neural network on the values obtained during the obtaining step, the inference of the neural network comprising, for several consecutive iterations, the performance of calculations of a respective part of the neural network, each respective part comprising a set of neurons of the neural network,Each neuron belonging to a unique set of neurons provides an output value, and the output values of the neurons on which the calculations were performed are stored. The description also describes a management system for at least one electrochemical cell of a battery, the at least one electrochemical cell having terminals, the management system comprising: - a voltage sensor suitable for measuring the voltage across said at least one electrochemical cell, - a current sensor across said at least one electrochemical cell, - a temperature sensor for said at least one electrochemical cell, and - a computer as previously described. The description also proposes a battery comprising: - at least one electrochemical cell, and - a management system as previously described. In this description, the expression "suitable for" means interchangeably "adapted for","adapted to" or "configured for". Some features and advantages of the invention will become apparent from the following description, given solely by way of non-limiting example, and made with reference to the accompanying drawings, in which: - Figure 1 is a schematic representation of an example of a battery comprising an electrochemical element and a computer, - Figure 2 is a schematic representation of an example of a neural network, - Figure 3 is a flowchart schematically illustrating an example of the implementation of a process comprising, in particular, a phase of estimating a parameter representative of the state of at least one electrochemical element, - Figure 4 schematically illustrates an execution of the neural network of Figure 2 at a first iteration of the computer of Figure 1, - Figure 5 schematically illustrates the execution of the neural network of Figure 2 at a second iteration of the computer of Figure 1.- Figure 6 schematically illustrates the execution of the neural network from Figure 2 at a third iteration of the computer in Figure 1, - Figure 7 schematically illustrates the execution of the neural network from Figure 2 at a fourth iteration of the computer in Figure 1, - Figure 8 schematically illustrates the execution of the neural network from Figure 2 at a fifth iteration of the computer in Figure 1, and - Figure 9 schematically illustrates the execution of the neural network from Figure 2 at a sixth iteration of the computer in Figure 1. A battery 10 is shown in Figure 1. As is known, a battery is generally an arrangement of a plurality of electrochemical elements, but for the sake of simplicity, a case with a single electrochemical element is described below.knowing that the transposition to other arrangements is immediate. The battery 10 comprises an electrochemical cell 12 and a management system 14 for the electrochemical cell 12. As explained previously, an electrochemical cell 12 is an electricity-producing device in which chemical energy is converted into electrical energy. The electrochemical cell 12 therefore delivers a current and a voltage between two terminals. The management system 14 is a system specifically designed to manage the electrochemical cell 12. The management system 14 is often referred to by the acronym BMS, which stands for Battery Management System. According to the example described, the management system 14 comprises a voltage sensor 16, a current sensor 18,A temperature sensor 20 and a calculator 22. The voltage sensor 16 is suitable for measuring the voltage across the terminals of the electrochemical element 12. The current sensor 18 is suitable for measuring the current across the terminals of the electrochemical element 12. The temperature sensor 20 is suitable for measuring the temperature of the electrochemical element 12. According to other embodiments, the management system 14 includes one or more of the preceding sensors. It is also conceivable that the management system 14 uses other sensors suitable for measuring a physical quantity relating to the electrochemical element 12. The calculator 22 is an electronic circuit designed to manipulate and / or transform data represented by electronic or physical quantities in registers of the calculator 22 and / or memories into other similar data corresponding to physical data in register memories or other types of display devices.of transmission or storage devices. As specific examples, the computer 22 includes a single-core or multi-core processor (such as a central processing unit (CPU), a graphics processing unit (GPU), a microcontroller, and a digital signal processor (DSP)), a programmable logic circuit, such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a programmable logic device (PLD) and programmable logic arrays (PLAs), a state machine, a logic gate, and discrete hardware components. In operation, the computer 22 is capable of providing one or more parameter estimates representative of the state of the electrochemical element 12 at a certain iteration frequency. These estimate values are obtained by the computer 22 from the physical quantities obtained by the sensors 16,18 and 20. This means that the computer 22 successively provides the values after a time interval determined by the use of the battery 10 (particularly depending on the physical quantities to be monitored and the frequency of their monitoring) and the computing capabilities of the computer 22. Typically, this time interval is between 100 ms and 30 s. Most often, this time interval is less than one second. These estimated values are the result of more or less complex operations implemented by the computer 22. A sequence of iterations can thus be defined, each iteration corresponding to a time interval during which the computer 22 performs calculations and outputs results, these results being directly or indirectly linked to at least one estimated value of a parameter representative of the state of the electrochemical element 12. In other words,The computer 22 is designed to provide estimated values for a parameter representative of the state of the electrochemical element 12 after successive iterations of operations performed by the computer 22. Therefore, it appears that an iteration comprises a predefined number of clock cycles during which a maximum number of operations can be performed by the computer 22. The computer 22 is designed to implement a method for estimating a parameter representative of the state of the electrochemical element 12. To do this, the computer 22 performs neural network inference on the values obtained by the sensors 16, 18, and 20. The neural network's inference on these values allows it to obtain a value for a parameter representative of the state of the electrochemical element 12. For example, the parameter obtained is the state of charge (SOC), the state of health (SOH), or the temperature. (SOT)the power state (PS) or the energy state (ES). A few concepts related to neural networks are now introduced as a guide to facilitate reading; these general concepts are not exhaustive for the rest of the description. As a specific example, a neural network comprises an ordered succession of layers of neurons, each taking its inputs from the outputs of the preceding layer. More precisely, each layer includes neurons taking their inputs from the outputs of the neurons in the previous layer, or from the input variables for the input layer. Alternatively, more complex neural network structures can be considered, with a layer that can be connected to a layer further away than the immediately preceding layer and / or that is not connected to all the neurons in the preceding layer. Each neuron is also associated with an operation, that is, a type of processing.to be performed by said neuron within the corresponding processing layer. Each layer is connected to the other layers by a plurality of synapses. A synaptic weight can be associated with each synapse, and each synapse forms a link between two neurons. It is often a real number, which takes both positive and negative values. Each neuron is unique in implementing a set of operations on the value(s) received from the neurons of the preceding layer. The operations generally involve a succession of additions and multiplications. Each neuron also applies one or more activation functions to obtain its output value. The activation function introduces non-linearity into the processing performed by each neuron. The sigmoid function, the hyperbolic tangent function,The Heaviside function is an example of an activation function. Figure 2 illustrates a particular example of a neural network, which is now described. The neural network has 5 inputs and 5 layers of neurons, C1 to C5. The first layer, C1, has 4 neurons, the second layer, C2, has 8 neurons, the third layer, C3, has 4 neurons, the fourth layer, C4, has 2 neurons, and the fifth layer, C5, has 1 neuron. Each layer, C1 to C5, of the neural network in Figure 2 is, moreover, a fully connected layer, which is a layer in which the neurons of said layer are each connected to all the neurons of the preceding layer. Such a layer is more often referred to by the English term "fully connected."and sometimes referred to as the "dense layer". An example of the preparation and operation of the computer 22 of the management system 14 is now described. Figure 3 illustrates a flowchart of an example process comprising three distinct phases. More precisely, the process comprises three phases: a learning phase P1, a determination phase P2, and an estimation phase P3. The process is implemented by computer. However, the learning phase P1 and the determination phase P2 are implemented offline, that is, by a computing system different from the computer 22. This computing system is not only distinct from the computer 22 but also has significantly greater computing power because it is not intended for use in an embedded application, unlike the computer 22. The computing system used during the learning phase P1 and the determination phase P2 may differ. Conversely,The estimation phase P3 is implemented embedded and in near real-time by the computer 22. The learning phase P1 is a phase during which the neural network learns to estimate a value for the parameter representing the state of the electrochemical element 12 from the measured physical quantities. According to the example described, the learning phase P1 includes a step 40 of providing a database associating the measured physical quantities with the corresponding value of the parameter representing the state. This data is, for example, experimental data obtained by conducting experiments on real batteries. This database set is then used to train the neural network. The learning phase P1 includes, in this case, a step 42 of decomposing the database into a training database and a test database according to a distribution,for example, 80%-20%. A training step 44 is then implemented using the training database to converge towards satisfactory performance using the test database according to a predefined performance criterion. This results in a trained neural network suitable for inference with a fixed structure. It is assumed in the following that the topology (i.e., the number of layers, the number of neurons per layer, and the links between neurons) is that of the neural network in Figure 2. The determination phase P2 aims to plan the complete inference in successive partial executions in order to balance the computational load as much as possible over several iterations. The division of the computations to be performed is obtained by taking into account the network topology.the computing capabilities of calculator 22 and restrictions related to the use case. This division aims to smooth execution time efficiently but also to ensure obtaining an accurate inference result at the end of all iterations. In other words, it is proposed to divide the total time that the complete inference of the neural network would take by the desired number of iterations. This time gives a starting time that must be refined according to constraints aimed at ensuring the accuracy of the results obtained at the end of each iteration. The determination phase thus aims to determine a distribution of operations to be performed between the iterations while respecting one or more criteria. The determination phase P2 includes a choice step 46, a determination step 48, a division step 50, and an optimization step 52. During the choice step,A number of iterations is chosen to obtain the result of the value inference at an initial iteration by applying the neural network to the values. This number of iterations ensures that reliable values can be obtained at each iteration while remaining compatible with the constraints of the application in which the electrochemical element 12 is used. During the determination step, the number of operations to be performed by the computer 22 to calculate the outputs of a layer of neurons is determined. According to the approach of the present process, all the operations corresponding to the implementation of a neuron are to be executed within the same iteration. Therefore, it is necessary to determine how many elementary operations are required to execute a neuron. As explained previously, each neuron performs additions,multiplications and uses one or more activation functions. Based on the applicant's experiences, the following table was established:
[0002] Calculation time per operation Elementary operation (TC) A ddition 1Multiplication 2. Use of an activation function 4. Table 1: Number of computation times per elementary operation, the computation time per elementary operation being arbitrarily set to 1 for addition. It should be noted here that the preceding Table 1 makes assumptions that could be different in another implementation. In particular, it is assumed here that all types of activation functions induce the same computational load. In reality, implementing an activation function in "tanh" takes, in practice, more computation time than a "Relu" activation function. Data storage and retrieval times are neglected here. Moreover, the computation time values also depend on the actual computational performance of the computer.It is thus possible to refine the previous table, but the applicant's experiments have shown that the hypotheses used here already lead to satisfactory results, as will be shown later. The determination step also involves a distinction based on the type of layer to which the neuron in question belongs. Indeed, the operations performed by a neuron are not the same depending on the type of layer. Examples of layer types include a perceptron layer, a gated recurrent neural network (GRU) layer, or a long short-term memory (LSTM) layer.The calculation performed by the neuron will depend, depending on the case, simply on the inputs from the previous layer or on one or more values from other layers. For certain types of layers, the calculation performed may also depend on the previous values obtained by the layer of neurons on which the neuron depends. In the following, for the sake of simplicity, instead of referring to the layer, the terms perceptron neuron, GRU neuron, or LSTM neuron will be used to designate a neuron belonging to the aforementioned layer type. From this structure of neuronal layers, a fixed number of elementary operations are determined for a neuron of an nth layer. In this table, L. n denotes the number of neurons in the nth layer, while L n-1 denotes the number of neurons in the (n-1)th layer. When n=1, the number L n-1, that is, L0, is equal to the number of inputs to the neural network. Type of Use of a Neuron Activation Function Perceptron Ln-1 + 1 Ln-1 1GRU 3×( Ln-1 + Ln)+11 3×( Ln-1 + Ln) 3LSTM 4×( Ln-1 + Ln)+11 4×( Ln-1 + Ln) 4Table 2: Number of elementary operations per neuron type (for a neuron in the nth layer) This type of reasoning is general and can be applied to any type of neuron. It is sufficient to be able to decompose the calculations performed by the neuron into elementary operations. From Tables 1 and 2, it is possible to deduce an expression for the computation time for a neuron located in the nth layer, as shown in the following table: Computation Time (CT) for a neuron Type of neuron located in layer n P erceptron 3xLn-1 + 5GRU 9x(Ln+Ln-1)+23 LSTM 12x(Ln+Ln-1)+27 Table 3: Number of computation times required to execute each type of neuron (for a neuron in the nth layer) An example of the application of these considerations is now described with reference to the neural network schematized in Figure 2. As can be seen in this figure, the neural network has 5 inputs. In this example, it is further assumed that the neurons in the first layer are GRU neurons while the other neurons are perceptron neurons. For this particular neural network, this leads to the following table: Number of 1 2 3 4 5 layer Type of GRU Perceptron Perceptron Perceptron Perceptroneurone TC per 104 17 29 17 11neuron Number of neurons 4 8 4 2 1 the TC layer of the 416 136 116 34 11 T layer C total 713Table 4: Number of TCs required to execute a layer-by-layer example of a neural network. During the division step, the number of operations to be performed at each iteration is divided according to several constraints. In the example provided, the first constraint is that the number of computation times be balanced from one iteration to the next, and the second constraint is that all the computations of a neuron must be completed by the end of an iteration. In the present process, the division is carried out in two sub-steps: a first sub-step during which the ideal number of TCs is calculated to evenly distribute the computations (and thus respect the first constraint), and a second sub-step during which, taking into account the second constraint, the neurons are optimally distributed between each iteration. To clearly illustrate this particular implementation, it is now described how to apply it to the neural network in Figure 2.For the first substep, as shown in Table 4, 713 TCs are required to execute the entire neural network. It is assumed that at the selection stage, the number of iterations was chosen to be 6. It then suffices to divide the number of TCs to be used by the chosen number of iterations to obtain the number of elementary operations to be performed per iteration for an ideal distribution of the computational load. This leads to a number of TCs to be executed per iteration to balance the computational load between the calculated iterations as follows: 713. Where: •^^^^^^ ^^^^^^^^^^^^ denotes the number of TCs to execute per iteration, • ^^^^^^ ^^^^^^^^^^ denotes the total number of TCs to execute to run the entire neural network, and •^^^^h denotes the chosen number of iterations. During the second substep, it is then possible to distribute the calculations optimally by requiring that an entire neuron be calculated and that each layer be calculated one by one (second constraint). This leads to the following distribution:
[0003] Number 1 2 3 4 5 6Iteration Number of 6 9 1GRU 1 GRU 1 GRU 1 GRUneurons Perceptrons Perceptrons TC per 104 104 104 104 102 195 Iteration TC Overrun per -14 -14 -14 -14 -16 +77 relative to the total TC 713 Table 5: Actual cost of running sets of neurons in the example of a perceptron layer This leads to a distribution where the last iteration is particularly loaded. It is therefore interesting to optimize this distribution by implementing the optimization step. During the optimization step 52, the division obtained in the division step is optimized by taking margins into account. More specifically, an inter-iteration margin and a reset margin are introduced. The inter-iteration margin allows for slightly exceeding the ideal number of timecodes (TCs) for an iteration, thus providing more flexibility in smoothing the workload. This margin has been set here to 10 TCs.This margin can be obtained by measuring the reset time and the time between two iterations and considering, for example, the sum of the highest measurements. The reset margin represents the time required to reset the states of the partial inference process. This margin corresponds to a virtual neuron added to the end of the network, whose execution must also be scheduled. This margin has been chosen here to be 5 TCs. With these margins, it is possible to derive the following relationship: Where: •^^^^^^^^^^ denotes the total number of TCs, • ^^^^^^ expresses the number of TCs required to execute a neuron in layer n, and •^^ denotes the number of layers. Furthermore, we have: TC. tot TC idéal = +m nb inter iterWhere: • nbiter is the desired number of iterations, and • minter denotes the inter-iteration margin. With these margins, the new total number of TCs is 718 TCs, and the ideal number of TCs per iteration becomes 718 / 6 + 10 ≈ 129 TCs. These margins allow for optimization of the division, as shown in the following table: Number of 1 2 3 4 5 6 l^iteration 1 GRU 7 Number of 7 1GRU 1 GRU 1 GRU1 Neural perceptrons Perceptrons Perceptron TC reset margin by 104 104 104 121 119 166iteration TC overrun by -25 -25 -25 -8 -10 +37 in relation to the budget T C total 718Table 6: Actual cost of running neural networks, taking margins into account. This optimized division into neural networks allows for a better distribution of the computational load across the different iterations. It should be noted that the example given is intentionally complex to clearly demonstrate the benefits of this method. However, it is apparent that the larger the number of neurons in the neural network, the easier it will be to efficiently divide its execution across different iterations. For example, a ratio is defined, where the numerator is the difference between the maximum and minimum execution times of an iteration, and the denominator is the average execution time of the iterations. This ratio is strictly less than 1. Mathematically, this can be written as: Where: •^^ denotes the ratio, • ^^^^^^^^ is the maximum execution time, i.e., the longest execution time among the execution times taken by each of the iterations, •^^^^^^^^ is the minimum execution time, i.e., the shortest execution time among the execution times taken by each of the iterations, and •^^^^^^^^ is the arithmetic mean of all the execution times taken by each of the iterations. Preferably, the ratio ^^ is strictly less than 1 / 5. Advantageously, the ratio is strictly less than 1 / 10. Alternatively, assuming this is acceptable for the application of battery 10, it is also possible to increase the chosen number of iterations. For example, for the neural network in Figure 2, increasing to 7 iterations would further smooth the load, as shown in Table 7 below. It can be noted here that 718 / 7+10 ≈ 113 TC, unlike the previous value of 129 TC:
[0004] Number of 12 3 4 5 6 7l^iteration 5 4 Number of 1 1 1 1 6 Perceptrons Perceptron neurons GRU GRU GRU GRU Perceptrons 1 Margin reset TC by -11 -21 -5budget report T C total 718Table 7: Actual cost of running the neural subgroups by adding one iteration. In both of the aforementioned cases, the margins could be set to zero, so the optimization step could also consist of modifying the neural network topology by repeating the training phase P1 with different constraints and / or modifying the total number of iterations. It is also possible to combine one or more of the different technically feasible options by, for example, taking into account a margin and modifying the neural network topology. In all cases, at the end of the determination phase P2, a distribution of the elementary operations to be performed at each iteration was determined. This distribution is loaded into memory on computer 22.During the estimation phase P3, the computer 22 obtains the sensor values in a first iteration (acquisition step 54) and infers the value of the parameter to be estimated by applying the neural network to the values (estimation step 56). To perform this inference, the computer 22 implements the distribution determined during the determination phase P2. The estimation phase P3 is performed using battery 10 (i.e., on-board). During the estimation phase P3, the computer 22 partially executes the neural network according to the sets of neurons established during the determination phase P2. More precisely, the determined sets are executed sequentially over several iterations of the computer 22 to produce the result of an inference.Each iteration executes only a single set of neurons, and it is at the end of the set of partial executions that computer 22 obtains the result of the inference. It can be observed, in particular, that at each iteration, computer 22 is tasked with executing a respective set of neurons. To facilitate information transmission and limit memory consumption, instead of providing each iteration with the vector corresponding to the set of neurons to be executed, computer 22 takes as input a number of neurons to be executed. Computer 22 maintains and updates states corresponding to the number of neurons already executed in each layer of the neural network to continue execution. Thus, computer 22 retains information important for its proper functioning from one iteration to the next. In particular, it memorizes the values calculated by each neuron executed in previous iterations.To achieve this, each layer of neurons has an output vector that the layer updates. Initially, this vector is filled with as many zeros as there are neurons, and with each execution of a neuron, a zero is replaced by the calculated value and saved there. Therefore, during successive iterations, the output vector of the neural layers gradually fills, thus ensuring the proper functioning of the inference. The computer also performs a reset of the network states at the end of the inference (this operation is symbolized by the reset margin). To do this, a reset of all the network states is performed, which corresponds to resetting the count of the number of neurons executed within each layer to zero. Advantageously, the output vectors of the neural layers are not reset since all the values of these vectors will be replaced during the next inference of the neural network.For the neural network example described in Figure 2, an example of the implementation of the estimation phase P3 is schematically represented in Figures 4 to 9. Each figure indicates in bold the calculated elements and shows the memory state of each layer. The memory of a layer i is denoted Mi. The memory contains as many locations as there are neurons in the layer, each memory value being the output of a neuron. Thus, the memory M1 of the first layer has four locations; the first location corresponds to the stored value of the output of the first neuron in the first layer, and so on up to the fourth location, which corresponds to the stored value of the output of the fourth neuron in the first layer. When the value has not yet been calculated, the stored value is equal to 0. For layer 0, the memory contains the values of the neural network's inputs.In the example described, the first input value is 3, the second input value is 1, the third input value is 4, the fourth input value is 9, and the fifth input value is 7. The number at the bottom of the layer indicates the number of neurons in the layer for which the calculation was performed at the end of the iteration. Figure 4 illustrates the elementary operations performed in the first iteration by computer 22. Computer 22 performs the elementary operations corresponding to the activation of the first neuron in the first layer. The execution of these elementary operations results in an output value of 5 for the first neuron. The value of 5 is then stored in the first memory location M1 of the first layer. The other memory locations M1 of the first layer remain at 0.Figure 5 illustrates the elementary operations performed after the second iteration by computer 22. Compared to the first iteration, computer 22 performs the elementary operations corresponding to the activation of the second neuron in the first layer. These elementary operations result in an output value of 7 for the second neuron. This value of 7 is then stored in the second memory location M1 of the first layer. The first memory location M1 remains at the value of 5, while the other memory locations M1 of the first layer remain at the value of 0. Figure 6 illustrates the elementary operations performed after the third iteration by computer 22.Compared to the first and second iterations, computer 22 performs the elementary operations corresponding to the implementation of the third neuron of the first layer. The execution of these elementary operations results in an output value of 8 for the third neuron. The value of 8 is then stored in the third location of memory M1 in the first layer. The first location of memory M1 remains at the value of 5, the second location of memory M1 remains at the value of 8, and the fourth location of memory M1 in the first layer remains at the value of 0. Figure 7 schematically illustrates the elementary operations performed after the implementation of the fourth iteration by computer 22. Compared to the previous iterations, computer 22 performs the elementary operations corresponding to the implementation of the fourth neuron of the first layer and the first neuron of the second layer.Performing these elementary operations results in an output value of 2 for the fourth neuron of the first layer and an output value of 8 for the first neuron of the second layer. The fourth memory location M1 of the first layer and the first memory location M2 of the second layer are modified accordingly, while the values stored in the other locations remain unchanged. Figure 8 illustrates the elementary operations performed after the implementation of the fifth iteration by computer 22. Compared to the previous iterations, computer 22 performs the elementary operations corresponding to the implementation of the other neurons of the second layer (namely, the second, third, fourth, fifth, sixth, seventh, and eighth neurons of the second layer).Performing these elementary operations results in: • an output value of 7 for the second neuron of the second layer, • an output value of 3 for the third neuron of the second layer, • an output value of 2 for the fourth neuron of the second layer, • an output value of 2 for the fifth neuron of the second layer, • an output value of 1 for the sixth neuron of the second layer, • an output value of 8 for the seventh neuron of the second layer, and • an output value of 4 for the eighth neuron of the second layer. The values stored in the second through eighth cells of the M2 memory of the second layer are modified according to these output values. The values stored in the other cells remain unchanged.Figure 9 schematically illustrates the elementary operations that were carried out after implementation of the sixth iteration by computer 22. Compared to the previous iterations, computer 22 performs the elementary operations corresponding to the implementation of the neurons of the third, fourth and fifth layers.Performing these elementary operations results in: • an output value of 5 for the first neuron of the third layer, • an output value of 4 for the second neuron of the third layer, • an output value of 2 for the third neuron of the third layer, • an output value of 7 for the fourth neuron of the third layer, • an output value of 2 for the first neuron of the fourth layer, • an output value of 1 for the second neuron of the fourth layer, and • an output value of 5 for the first neuron of the fifth layer. This last value is also the output value of the neural network in this particular example. The values stored in memory locations M3, M4, and M5 are modified according to these output values. The values stored in the other locations remain unchanged.At the end of the sixth iteration, the computer 22 has therefore performed a complete inference of the neural network in Figure 2 for input values of 3, 1, 4, 9, and 7, respectively. The inferred value is 5. To perform this inference, the computer 22 performs an inference on a subset of neurons in the neural network at each iteration. It can be considered that the computer 22 performs a partial inference for the subset of neurons to be inferred at the given iteration. Each iteration thus corresponds to a partial inference of a specific subset of neurons at that iteration.To verify the experimental feasibility of the process just described, the Applicant also conducted tests by applying the process to 63 perceptron neurons distributed across 6 layers: 32 neurons in the first layer, 16 neurons in the second layer, 8 neurons in the third layer, 4 neurons in the fourth layer, 2 neurons in the fifth layer, and 1 neuron in the sixth layer. In this experiment, the neural network has 3 inputs and 1 output, and a 5-iteration execution was chosen. This leads to the following table: Number 1. 2 3 4 5Iteration 7 layers 3 32 layers Number of 5 layers 2 4 layers 4 15 layers 2 5 layers 2 neurons 1 layer 3 2 layers 5 1 layer 2 1 layer 6 Table 8: Distribution of calculations between iterations in the experiment performed On a microcontroller equipped with an ARM Cortex-M3 processor clocked at 100MHz, with only a Leaky ReLu activation function (for the English term "Leaky Rectifier Linear Unit" literally meaning a linear unit rectified with leakage) and a fixed-point integer typing, the recorded execution times are as follows: Number of I nférence Itération cycles Time (µs) of^clock 1 4880 49 2 3933 39 1 (226 µs) 3 4297 43 4 4908 49 5 4062 41 1 4623 46 2 5074 51 2 (231 µs) 3 4338 43 4 5030 50 5 4641 46Table 9: Computation time for two complete inferences for each iteration in the experiment conducted by the Applicant. The time per iteration varies between 39 µs and 51 µs. This also leads to an increase in the total computation time compared to the time of a direct execution of the inference in a computer 22 with the necessary capabilities, this direct execution being achieved in approximately 215 µs. The method just described makes it possible to smooth the time required to execute a neural network, used within an embedded system, through several consecutive calls to the computer 22. The present method thus makes it possible to efficiently execute a neural network on a management system 14.This allows the efficiency of neural networks to be leveraged in an embedded application without requiring additional computing power from the system's computer. Furthermore, no assumptions are made regarding the type of neural network used, making the present method applicable to any battery, regardless of its chemistry, and to any application involving battery use. Other embodiments that benefit from the aforementioned advantages are also conceivable. In one embodiment, the method further includes the implementation of a technique for providing a value for the physical quantity during the estimation phase at each iteration; the inferred value can then be used as a recalibration value.As a specific example, if the process aims to estimate a state of charge (SOC), the technique used at each iteration is a coulometry technique, and the inferred value is used to calibrate the technique and prevent it from drifting over time. This allows for a value of the state of charge to be obtained at each instant. It is also possible, instead of choosing the number of iterations, to determine a maximum time for each partial inference. This time could be chosen to ensure that at least 20% of the elementary operations achievable in an iteration are not allocated to performing the partial inference.
Claims
CLAIMS 1. A method for estimating a parameter representative of the state of at least one electrochemical element (12) of a battery (10), the estimation method being implemented by a computer (22) of a management system (14) of at least one electrochemical element (12) of a battery (10), the computer (22) being capable of providing estimated values of a parameter representative of the state of at least one electrochemical element (12) after successive iterations of implementation of operations by the computer (22), the method comprising a step of: - obtaining values of at least one physical quantity of at least one electrochemical element (12) at a first iteration, and - estimating by the computer (22) the value of the parameter representative of the state of at least one electrochemical element (12) at the first iteration by inference of a neural network on the values obtained during of the obtaining stage,1. An estimation method according to claim 1, wherein an iteration has a duration between 100 ms and 30 seconds, preferably less than 1 second.
2. An estimation method according to claim 1, wherein a ratio is defined, the numerator of the ratio being the difference between the maximum execution time of an iteration and the minimum execution time of an iteration, and the denominator of the ratio being the average execution time of the iterations, the ratio being strictly less than 1.preferably strictly less than 1 / 5, advantageously strictly less than 1 / 10.
4. Estimation method according to any one of claims 1 to 3, wherein at least one physical quantity is chosen from a current, a voltage, or a temperature.
5. Estimation method according to any one of claims 1 to 4, wherein the parameter representing the state of at least one electrochemical element (12) is chosen from a state of health, a state of charge, a state of temperature, a state of power, and a state of energy.
6. Method for determining the inference distribution of a neural network over several consecutive iterations of a computer (22) of a management system (14) of at least one electrochemical element (12) of a battery (10), the computer (22) being capable of providing estimation values of a parameter representing the state of at least one electrochemical element (12) after successive iterations of implementation of operations by the computer (22).The calculator (22) estimates the value of the parameter representing the state at the first iteration of at least one electrochemical element (12) by inference from a neural network on values of at least one physical quantity of at least one electrochemical element (12) obtained at a first iteration, the determination method being implemented by computer and comprising determining a distribution of the execution of calculations over several consecutive iterations according to a plurality of criteria, a first criterion being that each iteration includes the execution of a respective part of the neural network, and the storage of the output values of the neurons on which the calculations were performed, each respective part comprising a set of neurons of the neural network, and a second criterion being that each neuron belongs to a unique set of neurons.
7. Determination method according to claim 6,wherein a third criterion is that the number of iterations on which the distribution is determined is equal to a predefined number.
8. A method of determination according to claim 6, wherein a third criterion is that, for each iteration, the execution time of the respective part of the neural network, and the memorization of the output values of the neurons on which the calculations were performed, is less than a predefined time.
9. A method of determination according to any one of claims 6 to 8, wherein another criterion is that a ratio is strictly less than 1, the numerator of the ratio being the difference between the maximum execution time of an iteration and the time, minimum of an execution of an iteration and the denominator of the ratio being the average execution time of the iterations.
10. Computer (22) of a management system (14) of at least one electrochemical element (12) of a battery (10), the computer (22) being suitable for estimating a parameter representative of the state of at least one electrochemical element (12) of a battery (10), the computer (22) being suitable for providing estimated values of a parameter representative of the state of at least one electrochemical element (12) at the end of successive iterations of implementation of operations by the computer (22), the computer (22) being suitable for: - obtaining values of at least one physical quantity of at least one electrochemical element (12) at a first iteration,and - to estimate the value of the parameter representing the state of at least one electrochemical element (12) at the first iteration by inference of a neural network on the values obtained during the acquisition step, the neural network inference comprising, for several consecutive iterations, the performance of calculations on a respective part of the neural network, each respective part comprising a set of neurons of the neural network, each neuron belonging to a unique set of neurons and giving an output value, and the storage of the output values of the neurons on which the calculations were performed.
11. Management system (14) of at least one electrochemical element (12) of a battery (10), the at least one electrochemical element (12) having terminals, the management system (14) comprising: - a voltage sensor (16) suitable for measuring the voltage across said at least one electrochemical element (12),- a current sensor (18) across the terminals of said at least one electrochemical element (12), - a temperature sensor (20) of said at least one electrochemical element (12), and - a computer (22) according to claim 10.
12. Battery (10) comprising: - at least one electrochemical element (12), and - a management system (14) according to claim 11.
Citation Information
Patent Citations
A method for predicting battery SOC value based on an improved BP neural network
CN108181591B
Battery SOC estimation method based on BP neural network optimized by glowworm swarm algorithm
CN113761789A
Lithium ion battery charge state estimation and equalization control method
CN117799495A
Method for estimating the state of charge of an electrochemical element and associated devices
FR3125132A1