Method for estimating a parameter representative of the state of at least one electrochemical element of a battery, method and associated devices

The method distributes neural network calculations across multiple iterations to estimate battery state parameters efficiently, addressing the long execution time issue and enabling real-time battery management.

FR3162863B1Active Publication Date: 2026-05-01SAFT GRP SA
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
FR · FR
Patent Type
Patents
Current Assignee / Owner
SAFT GRP SA
Filing Date
2024-06-04
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Existing methods for estimating battery state parameters using artificial intelligence require long execution times, making them incompatible with real-time and embedded systems.

Method used

A method involving a computer-based neural network inference distributed over multiple iterations, with each iteration performing a part of the neural network calculations and memorizing output values, allowing for rapid estimation of battery state parameters.

Benefits of technology

Enables high-quality parameter estimation for battery state within 100 ms to 30 seconds, suitable for embedded systems, by balancing computational load across iterations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000026_0000
    Figure 00000026_0000
  • Figure 00000027_0000
    Figure 00000027_0000
  • Figure 00000028_0000
    Figure 00000028_0000
Patent Text Reader

Abstract

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 an electrochemical element, the estimation method being implemented by a computer of a battery management system adapted to provide estimated values ​​of the parameter after successive iterations of implementation of operations by the computer, the method comprising estimating the value of the parameter at the first iteration by inference of a neural network on the values ​​obtained, the inference of the network comprising, for several consecutive iterations, the performance of calculations of a respective part of the network, each respective part comprising a set of neurons of the network.Each neuron belongs to a unique set of neurons and provides an output value, and the output values ​​of the neurons on which the calculations were performed are stored. Figure for the abbreviation: Figure 3.
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Method for estimating a parameter representative of the state of at least one electrochemical element of a battery, method and associated devices

[0001] 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 determination method, a calculator, a management system, and an associated battery.

[0002] Typically, a battery comprises one or more current storage cells, also called electrochemical generators, cells, or elements. A battery 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 battery. The electrical energy is produced by electrochemical reactions during a discharge of the battery. The electrodes, arranged in a container, are electrically connected to current output terminals that ensure electrical continuity between the electrodes and an electrical load to which the battery is connected.

[0003] To increase the electrical power delivered, several sealed accumulators can be connected together to form a battery. Thus, a battery can be divided into modules, each module being composed of one or more accumulators connected together in series and / or in parallel. For example, a battery may comprise one or more parallel branches of accumulators connected in series and / or one or more parallel branches of modules connected in series.

[0004] A charging circuit is generally provided to which the battery can be connected to recharge the accumulators.

[0005] Furthermore, an electronic management system comprising measurement sensors and an electronic control circuit, more or less sophisticated depending on the application, can be associated with the battery. Such a system makes it possible, in particular, to organize and control the charging and discharging of the battery, in order to balance the charging and discharging of the different cells of the battery with respect to each other.

[0006] To carry out such a control, the management system is designed to obtain parameters representative of the state of at least a part of the battery.

[0007] 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 its lifespan. The state of charge is often referred to by the abbreviation SOC, which stands for "State of Charge".

[0008] Health status is another example of a parameter representing the state obtained by the management system. Health status is often referred to by the abbreviation SOH, which stands for "State of Health".

[0009] The state of health (SOH) allows us to estimate the aging of the battery between a new state and an end-of-life state, or more generally, between an initial state and a final state.

[0010] 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".

[0011] The SOT temperature state characterizes the temperature of each accumulator according to the measurements of the temperature sensors, of which there are a limited number.

[0012] To obtain these physical values, it is known to use techniques derived from the use of artificial intelligence. Neural networks are an example of such techniques.

[0013] However, in order for these techniques to produce good quality estimates of the parameters representative of the state of the battery, they require the implementation of calculations whose execution time is very long, in particular for inference by a neural network.

[0014] This makes these promising techniques for the field of batteries incompatible with real-time and embedded use.

[0015] There is therefore a need for a method of estimating a parameter representative of the state of an electrochemical element of a battery which can be implemented in embedded systems while benefiting from good quality estimates from techniques resulting from the use of artificial intelligence.

[0016] To this end, the description describes a method for estimating a parameter representative of the state of at least one electrochemical element of a battery, the estimation method being implemented by a computer of a management system for at least one electrochemical element of a battery, the computer being capable of providing estimation values ​​of a parameter representative of the state of at least one electrochemical element after successive iterations of implementation of operations by the computer,

[0017] the process comprising a step of:

[0018] - obtaining values ​​of at least one physical quantity of at least one element electrochemical to a first iteration, and

[0019] - estimation by the computer of the value of the parameter representing the state of the water minus one electrochemical element at the first iteration by inference of a neural network on the values ​​obtained during the acquisition step, the inference of the network neurons 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 memorization of the output values ​​of the neurons on which the calculations were performed.

[0020] According to particular embodiments, the estimation method has one or more of the following characteristics, taken individually or in all technically possible combinations:

[0021] - an iteration has a duration between 100 ms and 30 seconds, preferably less than 1 second.

[0022] - a ratio is defined, the numerator of the ratio being the difference between the time maximum execution time of an iteration and 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.

[0023] - at least one physical quantity is chosen from a current, a voltage or a temperature.

[0024] - 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.

[0025] 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 cell of a battery, the computer being capable of providing estimation values ​​of a parameter representative of the state of at least one electrochemical cell after successive iterations of implementation of operations by the computer, the computer estimating the value of the parameter representing the state at the first iteration of at least one electrochemical cell by inference of a neural network on values ​​of at least one physical quantity of at least one electrochemical cell obtained at a first iteration,

[0026] the determination method being implemented by computer and comprising the determination of 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 memorization 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.

[0027] According to particular embodiments, the determination method has one or more of the following characteristics, taken individually or in all technically possible combinations:

[0028] - a third criterion is that, for each iteration, the execution time of the part respective 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.

[0029] - another criterion is that a ratio be 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.

[0030] The description also proposes a computer for a management system of at least one electrochemical cell of a battery, the computer being adapted to estimate a parameter representative of the state of at least one electrochemical cell of a battery, the computer being adapted to provide estimated values ​​of a parameter representative of the state of at least one electrochemical cell after successive iterations of implementation of operations by the computer, the computer being adapted to:

[0031] - to obtain values ​​of at least one physical quantity of at least one element electrochemical to a first iteration, and

[0032] - estimate the value of the parameter representing the state of at least one element electrochemical 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 and giving an output value and the memorization of the output values ​​of the neurons on which the calculations were performed.

[0033] 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:

[0034] - a voltage sensor suitable for measuring the voltage across said at least one electrochemical element,

[0035] - a current sensor across the terminals of said at least one electrochemical element,

[0036] - a temperature sensor of said at least one electrochemical element, and

[0037] - a calculator as previously described.

[0038] The description also includes a battery comprising:

[0039] - at least one electrochemical element, and

[0040] - a management system as previously described.

[0041] In this description, the expression "specific to" means interchangeably "suitable for", "adapted to" or "configured for".

[0042] 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:

[0043] - [Fig. 1] [Fig. 1] is a schematic representation of an example of a battery comprising an electrochemical element and a calculator,

[0044] - [Fig.2] [Fig.2] is a schematic representation of an example of a network of neurons,

[0045] - [Fig.3] [Fig.3] is a flowchart schematically illustrating an example implementation of a process including, in particular, a phase of estimating a parameter representative of the state of at least one electrochemical element,

[0046] - [Fig.4] [Fig.4] schematically illustrates an execution of the neural network of [Fig.2] to a first iteration of the calculator of [Fig.1],

[0047] - [Fig.5] [Fig.5] schematically illustrates the execution of the neural network of the [Fig.2] to a second iteration of the calculator of [Fig.1],

[0048] - [Fig.6] [Fig.6] schematically illustrates the execution of the neural network of the [Fig.2] to a third iteration of the calculator of [Fig.1],

[0049] - [Fig.7] [Fig.7] schematically illustrates the execution of the neural network of the [Fig.2] to a fourth iteration of the calculator of [Fig.1],

[0050] - [Fig.8] Figure 8 schematically illustrates the execution of the neural network of the [Fig.2] to a fifth iteration of the calculator of [Fig.1], and

[0051] - [Fig.9] [Fig.9] schematically illustrates the execution of the neural network of the [Fig.2] to a sixth iteration of the calculator of [Fig.1].

[0052] A battery 10 is shown in [Fig.1].

[0053] In a manner known per se, a battery is generally an arrangement of a plurality of electrochemical elements but in the interest of simplifying the subject, a case with a single electrochemical element is described in what follows, knowing that the transposition to other arrangements is immediate.

[0054] The battery 10 comprises an electrochemical element 12 and a management system 14 for the electrochemical element 12.

[0055] As explained previously, an electrochemical element 12 is an electricity-producing device in which chemical energy is converted into electrical energy.

[0056] The electrochemical element 12 therefore delivers a current and a voltage between two terminals.

[0057] The management system 14 is a system specifically designed to manage the electrochemical element 12.

[0058] The management system 14 is often referred to by the acronym BMS, which refers to the corresponding English name "Battery Management System".

[0059] According to the example described, the management system 14 includes a voltage sensor 16, a current sensor 18, a temperature sensor 20 and a computer 22.

[0060] The voltage sensor 16 is suitable for measuring the voltage across the terminals of the electrochemical element 12.

[0061] The current sensor 18 is suitable for measuring the current across the terminals of the electrochemical element 12.

[0062] The temperature sensor 20 is suitable for measuring the temperature of the electrochemical element 12.

[0063] According to other embodiments, the management system 14 includes one or more of the preceding sensors.

[0064] It is also conceivable that the management system 14 uses other sensors suitable for measuring a physical quantity relating to the electrochemical element 12.

[0065] 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, transmission devices or storage devices.

[0066] 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.

[0067] 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.

[0068] This means that the calculator 22 successively provides the values ​​after a time interval which is fixed by the use of the battery 10 (in particular depending on the physical quantities to be controlled and the frequency of their control) and the computing capabilities of the calculator 22.

[0069] Typically, this time interval is between 100 ms and 30 s.

[0070] Most often, this time interval is less than one second.

[0071] These estimated values ​​are the result of more or less complex operations implemented by the computer 22.

[0072] A series 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 linked directly or indirectly to at least one estimate value of a parameter representative of the state of the electrochemical element 12.

[0073] In other words, the calculator 22 is capable of providing estimation values ​​of a parameter representative of the state of the electrochemical element 12 after successive iterations of implementation of operations by the calculator 22.

[0074] Therefore, it appears that an iteration groups a predefined number of clock cycles during which a maximum number of operations can be performed by the computer 22.

[0075] The calculator 22 is suitable for implementing a method for estimating a parameter representative of the state of the electrochemical element 12.

[0076] For this purpose, the computer 22 performs the inference of a neural network on the values ​​obtained by the sensors 16, 18 and 20.

[0077] The neural network's inference on these values ​​allows us to obtain a value for a parameter representative of the state of the electrochemical element 12.

[0078] For example, the parameter obtained is the state of charge (SOC), the state of health (SOH), the state of temperature (SOT), the state of power (SOP) or the state of energy (SOE).

[0079] Some notions relating to neural networks are now introduced as an indication to facilitate reading, these general notions not being limiting for the rest of the description.

[0080] According to a particular example, a neural network comprises an ordered succession of layers of neurons, each of which takes its inputs from the outputs of the previous layer.

[0081] More specifically, 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.

[0082] Alternatively, more complex neural network structures can be envisaged 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 of the preceding layer.

[0083] Each neuron is also associated with an operation, that is to say a type of processing, to be carried out by said neuron within the corresponding processing layer.

[0084] 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 connection between two neurons. It is often a real number, which takes on both positive and negative values.

[0085] Each neuron is specific to carrying out a set of operations on the value(s) received from the neurons of the previous layer. The operations generally involve a succession of additions and multiplications.

[0086] Each neuron also applies one or more activation functions to obtain its output value.

[0087] The activation function introduces non-linearity into the processing performed by each neuron. The sigmoid function, the hyperbolic tangent function, and the Heaviside function are examples of activation functions.

[0088] Figure [Fig. 2] illustrates a particular example of a neural network which is now described.

[0089] The neural network comprises 5 inputs and 5 layers of neurons Cl to C5.

[0090] The first layer Cl of neurons comprises 4 neurons, the second layer C2 includes 8 neurons, the third layer C3 has 4 neurons, the fourth layer C4 has 2 neurons and the fifth layer C5 has 1 neuron.

[0091] Each layer Cl to C5 of the neural network of [Fig.2] is, moreover, a fully connected layer of neurons which is a layer in which the neurons of said layer are each connected to all the neurons of the preceding layer.

[0092] Such a type of layer is more often referred to by the English term "fully connected", and sometimes designated by the name "dense layer".

[0093] An example of the preparation and operation of the computer 22 of the management system 14 is now described.

[0094] Figure 3 illustrates a flowchart of an example of a process comprising three distinct phases.

[0095] More specifically, the process comprises three phases, a learning phase PI, a determination phase P2 and an estimation phase P3.

[0096] The process is implemented by computer.

[0097] However, the PI learning phase and the P2 determination phase are implemented offline, i.e. by a computing system different from the computer 22.

[0098] The calculation system is not only distinct from the computer 22 but has much greater computing capacity because it is not intended to be used for an embedded application unlike the computer 22.

[0099] The calculation system used during the PI learning phase and during the P2 determination phase may differ.

[0100] On the contrary, the estimation phase P3 is implemented on-board and in near real-time by the computer 22.

[0101] The PI learning phase is a phase during which the neural network will learn to estimate a value for the parameter representing the state of the electrochemical element 12 from the measured physical quantities.

[0102] According to the example described, the PI learning phase includes a step of providing 40 a database associating the measured physical quantities with the corresponding value of the parameter representing the state.

[0103] These data are, for example, experimental data obtained by conducting experiments on real batteries.

[0104] This basic dataset is then used to train the neural network.

[0105] The PI learning phase includes, in this case, a step of decomposing the database into a training database and a test database according to a distribution, for example of 80%-20%.

[0106] A learning step 44 is then implemented using the training database to converge to satisfactory performance using the test database according to a predefined performance criterion.

[0107] This results in a learned neural network adapted for inference whose structure is fixed.

[0108] 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 of [Fig.2].

[0109] The determination phase P2 aims to plan the complete inference in successive partial executions so as to balance the computational load as much as possible over several iterations.

[0110] The division of calculations to be performed is obtained by taking into account the network topology, the computing capabilities of the computer 22, and restrictions related to the use case. This division aims to smooth the execution time efficiently but also to ensure that an exact inference result is obtained at the end of all iterations.

[0111] 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 which should be refined according to constraints aimed at ensuring the accuracy of the results obtained at the end of each iteration.

[0112] The determination phase thus aims to determine a distribution of operations to be carried out between the iterations while respecting one or more criteria.

[0113] The determination phase P2 includes a choice step 46, a determination step 48, a division step 50 and an optimization step 52.

[0114] During the selection step, a number of iterations is chosen to be carried out in order to obtain the result of the inference of values ​​at an initial iteration by application of the neural network on the values.

[0115] This number of iterations ensures that reliable values ​​can be obtained at each iteration while being compatible with the constraints of the application in which the electrochemical element 12 is used.

[0116] 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.

[0117] According to the approach of the present method, all the operations corresponding to the implementation of a neuron are to be executed within the same iteration.

[0118] Also, it is necessary to determine how many elementary operations are to be carried out to execute a neuron.

[0119] As explained previously, each neuron performs additions, multiplications and uses one or more activation functions.

[0120] Based on the applicant's experiences, the following table was established:

[0121] [Tables 1] Elementary Operation Calculation Time per Elementary Operation (CT) Addition 1 Multiplication 2 Use of an Activation Function 4

[0122] Table 1: Calculation time per elementary operation, the calculation time per elementary operation being arbitrarily set at 1 for addition

[0123] It should be noted here that the preceding Table 1 takes assumptions which could be different in another implementation.

[0124] In particular, it is assumed here that all types of activation function induce the same computational load. In reality, the realization of an activation function in "tanh" takes, in practice, more TC than a "Relu" activation function.

[0125] Data memorization and reading times are neglected here.

[0126] In addition, the TC values ​​also depend on the actual computing performance of the computer 22.

[0127] It is therefore possible to refine the previous table, but the applicant's experiences have shown that the assumptions used here already lead to satisfactory results, as will be shown later.

[0128] The determination step also includes a distinction according to the type of layer to which the neuron in question belongs.

[0129] Indeed, the operations performed by a neuron are not the same depending on the types of layer.

[0130] As an example of a layer type, one can cite a perceptron type layer, a gated recurrent neural network type layer (more often designated by the acronym GRU which corresponds to the corresponding English name of "Gated Recurrent Unit") or a long short-term memory network type layer (more often designated by the acronym LSTM which corresponds to the corresponding English name of "Long Short-Term Memory").

[0131] 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.

[0132] In the following, by abuse of language, 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.

[0133] From this structure of layers of neurons, a number of elementary operations fixed for a neuron of an nth layer follows.

[0134] In this table, Ln denotes the number of neurons in the nth layer while Ln.i denotes the number of neurons in the (nl)th layer.

[0135] When n=l, the number Ln.b, i.e. Lo, is equal to the number of inputs of the neural network.

[0136] [Tables2] Type of neuron Addition Multiplication Use of an activation function Perceptron Ln-i + 1 Ln-i 1 GRU 3x( Ln l + Ln)+11 3x( Lnl + Ln) 3 LSTM 4x( Ln l + Ln)+11 4x( L„, + Ln) 4

[0137] Table 2: N number of elementary operations per type of neuron (for a neuron in the nth layer)

[0138] 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.

[0139] 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:

[0140] [Tables3] Neuron type Computation time (CT) for a neuron if killed in layer n Perceptron 3xLn_i + 5 GRU 9x(Ln+Ln.1)+23 LSTM 12x(Ln+Ln_0+27

[0141] Table 3: Number of computation times required to execute each type of neuron (for a neuron in the nth layer)

[0142] An example of the application of these considerations is now described with reference to the neural network schematized in [Fig.2].

[0143] As can be seen in this figure, there are 5 inputs to the neural network.

[0144] In this example, it is further assumed that the neurons in the first layer are GRU neurons while the other neurons are perceptron neurons.

[0145] For this particular neural network, this leads to the following table:

[0146] [Tables4] Layer number 1 2 3 4 5 Type of neuron one GRU Perceptron Perceptron Perceptron Perceptron TC per neuron 104 17 29 17 11 Number of neurons in layer 4 8 4 2 1 TC in layer 416 136 116 34 11 TC total 713

[0147] Table 4: Number of TCs required to execute an example of a neural network layer by layer

[0148] During the division step, the number of operations to be performed at each iteration is divided under several constraints.

[0149] According to the example proposed, the first constraint is that the number of computation times is balanced from one iteration to the next and the second constraint is that the set of computations of a neuron must be carried out at the end of an iteration.

[0150] 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 distribute the calculations equally (and thus respect the first constraint) and a second sub-step during which, taking into account the second constraint, the neurons are distributed as best as possible between each iteration.

[0151] To illustrate this particular implementation, it is now described how to apply it to the case of the neural network in [Fig.2].

[0152] For the first substep, as shown in Table 4, 713 TCs are to be implemented to run the entire neural network.

[0153] It is assumed that at the selection stage, the number of iterations was chosen to be equal to 6.

[0154] It is then sufficient to divide the number of TCs to be used by the number of iterations chosen to obtain a number of elementary operations to be performed per iteration in order to have an ideal equidistribution of the computational load.

[0155] This leads here to a number of TCs to be executed per iteration to balance the computational load between the calculated iterations as follows:

[0156] »t _ NTC total _ 713 1 1 Q TC cycles ~ ~ 6

[0157] Where: • Ntc cycles refers to the number of TCs to execute per iteration. • ^tc total denotes the total number of TCs to execute to run the network of entire neurons, and • ^ch denotes the number of iterations chosen.

[0158] During the second sub-step, it is then possible to distribute the calculations in the best possible way by requiring that an entire neuron be calculated and that each layer be calculated one by one (second constraint).

[0159] This leads to the following distribution:

[0160] [Tables5] Iteration number 1 2 3 4 5 6 Number of neurons 1 GRU 1 GRU 1 GRU 1 GRU 6 Perceptrons 9 Perceptrons TC per iterati on 104 104 104 104 102 195 Exceeding of TC compared to N TC cycles -14 -14 -14 -14 -16 +77

[0161]

[0162]

[0163]

[0164]

[0165]

[0166]

[0167]

[0168]

[0169]

[0170]

[0171]

[0172]

[0173]

[0174]

[0175]

[0176]

[0177]

[0178]

[0179] TC total 713 Table 5: Actual cost of running sets of neurons in T, example of a perceptron layer This leads to a distribution where the last iteration is particularly loaded. It is therefore advantageous to optimize this distribution by implementing the optimization step. During 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 is a margin that allows slightly exceeding the ideal number of TCs for an iteration to have more possibility of smoothing the load. This margin has been chosen here to be equal to 10 TC. This margin can be obtained by measuring the time of a reset and the time between two iterations and by 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, the execution of which must also be scheduled. This margin has been chosen here to be equal to 5 TC. With these margins, it is possible to derive the following relationship: TCtoj n + ^reset Or: • TCTot designates the total number of TCs, • TCn expresses the number of TCs required for the execution of a neuron in layer n, and • denotes the number of layers. Furthermore, he comes from: TC Ideal time = ^+miner Or: • n^iier is the desired number of iterations, and • rainter denotes the inter-iteration margin. With these margins, the new total number of TC is 718 TC and the ideal number of TC per iteration becomes 718 / 6+10 ~ 129 TC. These margins allow for optimization of the division, as shown in the following table: [Tables] Fit eration number 1 2 3 4 5 6 Number of neurons 1 GRU 1 GRU 1 GRU 1 GRU 1 Perceptron 7 Perceptron s 7 Perceptron s TC reset margin per iterati on 104 104 104 121 119 166 TC overrun compared to budget -25 -25 -25 -8 -10 +37 TC total 718

[0180] Table 6: Actual cost of running neural sets taking into account margins

[0181] The division into sets of neurons thus optimized therefore makes it possible to achieve a better distribution of the computational load between the different iterations.

[0182] It can be emphasized here that the case taken as an example is a deliberately complex case in order to clearly demonstrate the value of this process.

[0183] However, it is apparent that the more neurons the neural network has, the easier it will be to efficiently divide its execution between different iterations.

[0184] According to one example, 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, and this ratio is strictly less than 1. This can be written mathematically as:

[0185] zz ।

[0186] Where: • R denotes the ratio, • Tmax is the maximum execution time, that is, the longest execution time among the execution times of each of the iterations, • ^min is the minimum execution time, that is, the shortest execution time among the execution times of each of the iterations, and • Tmoy is the arithmetic mean of all the execution times taken by each of the iterations.

[0187] Preferably, the ratio R is strictly less than 1 / 5.

[0188] Advantageously, the ratio R is strictly less than 1 / 10.

[0189] Alternatively, assuming that this is acceptable for the application made of battery 10, it is also possible to increase the chosen number of iterations.

[0190] For example, in the case of the neural network in [Fig. 2], increasing the iteration time 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:

[0191] [Tables7] Fit eration number 1 2 3 4 5 6 7 Number of neurons 1 GR U 1 GR U 1 GR U 1 GRU 6 Perceptrons 4 Perceptrons 5 Perceptrons 1 Margin res and TC per iterati on 104 104 104 104 102 92 108 TC overrun compared to budget -9 -9 -9 -9 -11 -21 -5 TC total 718

[0192] Table 7: Actual cost of executing the neuron subgroups by adding an e iteration

[0193] In both of the above cases, the margins could be set to a value of zero, so that the optimization step can also consist of a modification of the topology of the neural network by repeating the PI learning phase with different constraints and / or a modification of the total number of iterations.

[0194] It is also possible to combine one or more of the different technically possible options by taking into account, for example, a margin and by modifying the topology of the neural network.

[0195] In all cases, at the end of the determination phase P2, a distribution of the elementary operations to be carried out at each iteration was determined during the determination phase P2.

[0196] This determination is loaded onto a memory of the computer 22.

[0197] 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). For To make this inference, the calculator 22 implements the distribution determined during the determination phase P2.

[0198] The estimation phase P3 is a phase carried out using battery 10 (i.e. on board).

[0199] 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.

[0200] 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 one set of neurons, and it is at the end of the set of partial executions that the computer 22 obtains the result of the inference.

[0201] It can be observed in particular that at each iteration, the computer 22 is tasked with executing a respective set of neurons. To facilitate information transmission and limit memory consumption, instead of providing at each iteration the vector corresponding to the set of neurons to be executed, the computer 22 takes as input a number of neurons to be executed. The computer 22 maintains and updates states corresponding to the number of neurons already executed in each layer of the neural network in order to continue execution.

[0202] Thus, the 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 do 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. Consequently, during successive iterations, the output vector of the neuron layers is progressively filled, thus enabling the proper functioning of the inference.

[0203] Calculator 22 also performs a reset of the network states at the end of the inference (this operation is symbolized by the reset margin)

[0204] To do this, a reset of all the network states is carried out, which therefore corresponds to resetting to 0 the count of the number of neurons executed within each layer.

[0205] 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.

[0206] For the described example of the neural network in [Fig.2], an example of implementation of the estimation phase P3 is schematically represented in Figures 4 to 9.

[0207] Each figure indicates in bold the calculated elements and gives the state of the memory of each layer.

[0208] The memory of a layer i is denoted Mi.

[0209] The memory has as many slots as there are neurons in the layer, each value in the memory being the output of a neuron.

[0210] Thus, the memory Ml of the first layer has four cells, the first cell corresponds to the memorization of the value of the output of the first neuron of the first layer and so on up to the fourth cell qi corresponds to the memorization of the value of the output of the fourth neuron of the first layer.

[0211] When the value has not yet been calculated, the stored value is equal to 0.

[0212] For layer 0, the memory contains the values ​​of the inputs of the neural network.

[0213] In the example described, the first input value is equal to 3, the second input value is equal to 1, the third input value is equal to 4, the fourth input value is equal to 9 and the fifth input value is equal to 7.

[0214] 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 considered.

[0215] Fig. 4 schematically illustrates the elementary operations performed at the first iteration by the computer 22.

[0216] The calculator 22 performs the elementary operations corresponding to the implementation of the first neuron of the first layer.

[0217] Performing these elementary operations leads to obtaining an output value of the first neuron equal to a value of 5.

[0218] The value of 5 is then stored in the first cell of the Ml memory of the first layer.

[0219] The other memory locations Ml of the first layer remain at the value 0.

[0220] Fig. 5 schematically illustrates the elementary operations that were carried out after implementation of the second iteration by the computer 22.

[0221] Compared to the first iteration, the computer 22 performs the elementary operations corresponding to the implementation of the second neuron of the first layer.

[0222] Performing these elementary operations leads to obtaining an output value of the second neuron equal to a value of 7.

[0223] The value of 7 is then stored in the second cell of the Ml memory of the first layer.

[0224] The first memory location Ml remains at the value of 5 while the other memory locations Ml of the first layer remain at the value of 0.

[0225] Fig. 6 schematically illustrates the elementary operations that were carried out after implementation of the third iteration by the computer 22.

[0226] Compared to the first and second iterations, the computer 22 performs the elementary operations corresponding to the implementation of the third neuron of the first layer.

[0227] Performing these elementary operations leads to obtaining an output value of the third neuron equal to a value of 8.

[0228] The value of 8 is then stored in the third cell of the Ml memory of the first layer.

[0229] The first memory location Ml remains at the value of 5, the second memory location Ml remains at the value of 8 and the fourth memory location Ml of the first layer remains at the value of 0.

[0230] Fig. 7 schematically illustrates the elementary operations that were carried out after implementation of the fourth iteration by the computer 22.

[0231] Compared to previous iterations, the 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.

[0232] Performing these elementary operations leads to obtaining an output value of the fourth neuron of the first layer equal to a value of 2 and an output value of the first neuron of the second layer equal to 8.

[0233] The fourth cell of memory M1 of the first layer and the first cell of memory M2 of the second layer are modified in a corresponding manner, the values ​​stored in the other cells remaining unchanged.

[0234] Fig. 8 schematically illustrates the elementary operations that were carried out after implementation of the fifth iteration by the computer 22.

[0235] Compared to previous iterations, the 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).

[0236] Performing these elementary operations leads to obtaining: • an output value of the second neuron of the second layer equal to a value of 7, • an output value of the third neuron of the second layer equal to a value of 3, • an output value of the fourth neuron of the second layer equal to a value of 2, • an output value of the fifth neuron of the second layer equal to a value of 2, • an output value of the sixth neuron of the second layer equal to a value of 1, • an output value of the seventh neuron of the second layer equal to a value of 8, and • an output value of the eighth neuron of the second layer equal to a value of 4.

[0237] The values ​​stored in the second to eighth slots of the M2 memory of the second layer are modified according to these output values.

[0238] The values ​​stored in the other boxes remain unchanged.

[0239] Fig. 9 schematically illustrates the elementary operations that were carried out after implementation of the sixth iteration by the computer 22.

[0240] Compared to previous iterations, the computer 22 performs the elementary operations corresponding to the implementation of the neurons of the third, fourth and fifth layers.

[0241] Performing these elementary operations leads to obtaining: • an output value of the first neuron of the third layer equal to a value of 5, • an output value of the second neuron of the third layer equal to a value of 4, • an output value of the third neuron of the third layer equal to a value of 2, • an output value of the fourth neuron of the third layer equal to a value of 7, • an output value of the first neuron of the fourth layer equal to a value of 2, • an output value of the second neuron of the fourth layer equal to a value of 1, and • an output value of the first neuron of the fifth layer equal to a value of 5. This last value is also the output value of the neural network in this particular example.

[0242] 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.

[0243] At the end of the sixth iteration, the computer 22 has therefore performed a complete inference of the neural network of [Fig.2] for input values ​​equal to respectively 3, 1, 4, 9 and 7. The inferred value here is 5.

[0244] To perform this inference, the computer 22 performs at each iteration the inference on a subset of neurons of the neural network to perform the inference for this subset of neurons.

[0245] It can be considered that the computer 22 performs a partial inference for the subset of neurons to be inferred during the iteration considered.

[0246] Each iteration thus corresponds to a partial inference of a subset of neurons specific to the iteration.

[0247] To verify the experimental feasibility of the process just described, the Applicant also carried out tests by applying the process to 63 perceptron neurons distributed in 6 layers with 32 neurons for the first layer, 16 neurons for the second layer, 8 neurons for the third layer, 4 neurons for the fourth layer, 2 neurons for the fifth layer and 1 neuron for the sixth layer.

[0248] In this experiment, the neural network has 3 inputs and 1 output and an execution in 5 iterations is chosen.

[0249] This leads to the following table:

[0250] [Tables8] Fittion Number 1 2 3 4 5 Number of Neurons 32 layers 1 1 layer 2 5 layers 2 5 layers 2 5 layers 2 1 layer 3 7 layers 3 4 layers 4 2 layers 5 1 layer 6

[0251] Table 8: Distribution of calculations between iterations in the experiment performed

[0252] On a microcontroller equipped with a 100MHz ARM Cortex-M3 processor, with only a Leaky ReLu activation function (for the English term "Leaky Rectifier Linear Unit") and a fixed-point integer typing, the following execution times were observed:

[0253] [Tables9] Inference Iteration Number of clock cycles Time (ps) 1 (226 ps) 1 4880 49 2 3933 39 3 4297 43 4 4908 49 5 4062 41 2 (231 ps) 1 4623 46 2 5074 51 3 4338 43 4 5030 50 5 4641 46

[0254] Table 9: Computation time for two complete inferences for each iteration in T experiment performed by the Applicant

[0255] The time per iteration varies between 39 ps and 51 ps.

[0256] 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 which would have the capabilities, this direct execution being obtained in about 215 ps.

[0257] The process 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.

[0258] The present method thus makes it possible to efficiently execute a neural network on a management system 14.

[0259] This makes it possible to benefit in an embedded application from the efficiency of neural networks without having to add computing capacity to the computer 22 of the management system 14

[0260] Furthermore, no assumption is made about the type of neural network used, so that the present method is usable for any battery, regardless of its chemistry, and any application involving the use of a battery.

[0261] Other embodiments benefiting from the previous advantages are also conceivable.

[0262] According to one embodiment, the method further comprises the implementation of a technique enabling the provision of a value of the physical quantity during the estimation phase at each iteration, the inferred value then being able to be used as a recalibration value.

[0263] As a specific example, if the process seeks to estimate a state of charge (SOC), the technique usable 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 makes it possible to obtain a value for the state of charge at each instant.

[0264] 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 that can be performed in one iteration are not allocated to performing the partial inference.

Claims

Demands

1. A method for estimating a parameter representative of the state of at least one electrochemical cell (12) of a battery (10), the estimation method being implemented by a computer (22) of a management system (14) for at least one electrochemical cell (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 cell (12) after successive iterations of operations implemented by the computer (22), the method comprising a step of: - obtaining values ​​of at least one physical quantity of at least one electrochemical cell (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 cell (12) at the first iteration by inference of a neural network on the values ​​obtained during the obtaining stage,The inference of the neural network comprises, for several consecutive iterations, the performance of calculations on a respective part of the neural network, each respective part comprising a set of neurons from 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.

2. Estimation method according to claim 1, wherein an iteration has a duration between 100 ms and 30 seconds, preferably less than 1 second.

3. Estimation method according to claim 1 or 2, 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. A method for determining the distribution of the inference 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 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) estimating the value of the parameter representative of the state at the first iteration of at least one electrochemical element (12) by inference of 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 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 being 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 comprising a set of neurons from the neural network, and a second criterion being that each neuron belongs to a unique set of neurons.

7. A method of determination 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 for determining 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 minimum execution time 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) for at least one electrochemical cell (12) of a battery (10), the computer (22) being adapted to estimate a parameter representative of the state of at least one electrochemical cell (12) of a battery (10), the computer (22) being adapted to provide estimated values ​​of a parameter representative of the state of at least one electrochemical cell (12) after successive iterations of implementation of operations by the computer (22), the computer (22) being adapted to: - obtain values ​​of at least one physical quantity of at least one electrochemical cell (12) at a first iteration, and - estimate the value of the parameter representative of the state of at least one electrochemical cell (12) 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 execution of calculations on a respective part of the neural network, each respective part comprising a set of neurons from 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) for measuring the voltage across said at least one electrochemical element (12), - a current sensor (18) across 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.