This application claims the benefit under 35 USC § 119(a) of Korean Patent Application No. 10-2016-0128339 filed on Oct. 5, 2016, in the Korean Intellectual Property Office, the entire disclosure of which is incorporated herein by reference for all purposes.
The following description relates to technologies that include battery state estimation.
A number of electronic devices include batteries, such as primary or as secondary batteries that are charged repetitively during operations of the devices. As the number of times a battery is discharged and charged increases, the capacity of the battery gradually decreases. Accordingly, as each charge cycle repeats, the battery life of the underlying electronic device decreases. As the battery life decreases, an initial battery capacity may no longer be guaranteed after many charge and discharge cycles. With such continuous decreases in battery capacities, power, operation time, and stability of corresponding electronic devices may be compromised. Thus, the battery may need to be replaced with a new one.
For example, to determine an expected time for battery replacement, a state of health (SoH) of the battery may be estimated.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is this Summary intended to be used as an aid in determining the scope of the claimed subject matter.
In one general aspect, a processor implemented method to estimate a state of a battery includes determining a validity of a battery model, which is dependent on a parameter, based on state information of the battery that is estimated from battery information of the battery, transmitting an update request for the battery model to an external battery model provider in response to a result of the determining indicating that the battery model is invalid, receiving another parameter in response to the update request, and updating the battery model based on the other parameter.
The method may further include estimating the state information of the battery using the updated battery model and the battery information.
The determining may include estimating the state information of the battery from the battery information using the battery model, determining whether the estimated state information of the battery is outside of an estimation range of the battery model, determining that the battery model is valid in response to the estimated state information of the battery being within the estimation range, and determining that the battery model is invalid in response to the estimated state information being outside of the estimation range.
The determining of whether the estimated state information of the battery is outside of the estimation range may include determining that the estimated state information of the battery is outside of the estimation range in response to the estimated state information of the battery being less than a predetermined minimum level of state information set to be accurately estimated by the battery model.
The transmitting may include transmitting, to a battery state estimation server that generates battery state models based on different parameters, a signal to request at least one parameter having a range overlapping at least a portion of an estimation range of the parameter that the battery model is dependent on.
The determining may include determining that the parameter that the battery model is dependent on is invalid in response to the estimated state information of the battery being outside of an estimation range of the battery model, and the transmitting may include transmitting, to a battery state estimation server that generates battery state models based on different parameters, a signal to request at least one parameter trained to estimate state information less than or equal to a predetermined minimum level of the estimation range of the parameter that the battery model is dependent on in response to the estimated state information of the battery being less than or equal to the predetermined minimum level.
The receiving may include receiving, from the battery state estimation server, one or more parameters trained to a different predetermined minimum level, of a different estimation range predetermined for accurate estimation, based on all or a select portion of reference data collected by the battery state estimation server up to a point in time at which the update request is received.
The method may further include searching for a parameter corresponding to a sensed change in the battery, from among parameters stored in a memory, updating, when the searched for parameter is found, the battery model based on the found parameter, performing, when the searched for parameter is not found, the transmitting, the receiving of the other parameter, and the updating of the battery model based on the other parameter, and estimating state information of the battery with the sensed change based on the updated battery model.
The determining may further include searching for a parameter corresponding to a changed battery, among parameters stored in a memory, in response to a change of the battery being sensed, and the transmitting may further include transmitting a signal to request the parameter corresponding to the changed battery in response to the parameter corresponding to the changed battery being not found.
The method may further include continuing an estimating of the state information of the battery for continued changes in the battery information based on the parameter that the battery model is dependent on, until the result of the determining indicates that that the estimated state information is invalid.
The he battery model may be a battery model neural network and the parameter may be a representation of specially trained connection weights within the battery model neural network trained for estimating a battery state for a first state information estimation range, and the updating of the battery model may include applying connection weights represented by the other parameter to a neural network structure to generate another specially trained battery model neural network trained for estimating a battery state for a different second state information estimation range, where the generated other specially trained battery model neural network may be the updated battery model.
The battery model may be a battery model neural network and the parameter that the battery model is dependent on is a trained connection weighting matrix, and the other parameter may be a different trained connection weighting matrix.
The parameter and the other parameter may be respectively trained parameters for different battery state estimation ranges.
In one general aspect, there is provided a non-transitory computer-readable medium storing instructions, that when executed by a processor, cause the processor to perform one or more or all of the processes described herein.
In one general aspect, an apparatus to estimate a state of a battery may include a communicator to communicate with an external battery model provider, a memory to store a battery state estimation model that is dependent on a parameter, and a processor configured to determine a validity of the battery state estimation model based on state information of the battery that is estimated from battery information of the battery, control the communicator to transmit an update request for the battery state estimation model to the external battery model provider in response to a result of the determining indicating that the battery state estimation model is invalid, and update the battery state estimation model based on another parameter received in response to the update request.
The apparatus may further include the battery.
The processor may be configured to estimate the state information of the battery from the battery information using the battery state estimation model, determine whether the estimated state information of the battery is outside of an estimation range of the battery state estimation model, determine that the battery state estimation model is valid in response to the estimated state information of the battery being within the estimation range, and determine that the battery state estimation model is invalid in response to the estimated state information being outside of the estimation range.
The processor may be configured to determine that the estimated state information of the battery is outside of the estimation range in response to the estimated state information of the battery being less than a predetermined minimum level of state information set to be accurately estimated by the battery state estimation model.
The processor may be configured to control the communicator to transmit, to a battery state estimation server that generates battery state estimation models based on different parameters, a signal to request at least one parameter having a range overlapping at least a portion of an estimation range of the parameter that the battery state estimation model is dependent on.
The processor may be configured to determine that the parameter that the battery state estimation model is dependent on is invalid in response to the estimated state information of the battery being outside of an estimation range of the battery state estimation model, and control the communicator to transmit, to a battery state estimation server that generates battery state estimation models based on different parameters, a signal to request at least one parameter trained to estimate state information less than or equal to a predetermined minimum level of the estimation range of the parameter that the battery state estimation model is dependent on in response to the estimated state information of the battery being less than or equal to the predetermined minimum level.
The parameter and the other parameter may be respectively trained parameters for different battery state estimation ranges.
In one general aspect, an apparatus to estimate a state of a battery may include a processor configured to determine a validity of a battery state estimation model neural network, which is dependent on first trained connection weighting information, based on state information of a battery that is estimated from battery information of the battery, control a transmitting of an update request for the battery state estimation model neural network to an external battery model provider in response to the determining indicating that the battery state estimation model neural network is invalid, and update the battery state estimation model neural network based on second different trained connection weighting information received in response to the update request.
The first trained connection weighting information may be trained connection weighting information for a battery state estimation range different from a battery state estimation range for which the second trained connection weighting information is trained.
Other features and aspects will be apparent from the following detailed description, the drawings, and the claims.
Throughout the drawings and the detailed description, unless otherwise described or provided, the same drawing reference numerals will be understood to refer to the same or like elements, features, and structures. The drawings may not be to scale, and the relative size, proportions, and depiction of elements in the drawings may be exaggerated for clarity, illustration, and convenience.
The following detailed description is provided to assist the reader in gaining a comprehensive understanding of the methods, apparatuses, and/or systems described herein. However, various changes, modifications, and equivalents of the methods, apparatuses, and/or systems described herein will be apparent after an understanding of the disclosure of this application. For example, the sequences of operations described herein are merely examples, and are not limited to those set forth herein, but may be changed as will be apparent after an understanding of the disclosure of this application, with the exception of operations necessarily occurring in a certain order. Also, descriptions of features that are known in the art may be omitted for increased clarity and conciseness.
The features described herein may be embodied in different forms, and are not to be construed as being limited to the examples described herein. Rather, the examples described herein have been provided merely to illustrate some of the many possible ways of implementing the methods, apparatuses, and/or systems described herein that will be apparent after an understanding of the disclosure of this application.
Various alterations and modifications may be made to the examples. Here, the examples are not construed as limited to the disclosure and should be understood to include all changes, equivalents, and replacements within the idea and the technical scope of the disclosure.
The terminology used herein is for the purpose of describing particular examples only and is not to be limiting of the examples. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “include/comprise” and/or “have” when used in this specification, specify the presence of stated features, integers, operations, elements, components, and/or combinations thereof, but do not preclude the presence or addition of one or more other features, numbers, operations, elements, components, and/or groups thereof.
Unless otherwise defined, all terms including technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains consistent with and after an understanding of the present disclosure. It will be further understood that terms, such as those defined in commonly-used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and the present disclosure and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
When describing the examples with reference to the accompanying drawings, like reference numerals refer to like constituent elements and a repeated description related thereto will be omitted.
Technology to estimate a state of a battery is, for example, as follows. Computational analysis based technology mathematically expresses and interprets a chemical reaction of a battery to estimate a state of the battery using processor or processing hardware. For example, the computational analysis based technology mathematically expresses the chemical reaction of the battery, and estimates a life, a state of health (SoH), a state of charge (SoC), and an abnormal state of the battery based on states of materials constituting the battery. However, it is difficult to mathematically express an exact internal state of the battery in reality. Thus, to estimate the state of the battery, the computational analysis based technology applies various approximation schemes. An error may occur when estimating the state of the battery depending on the approximation scheme.
Statistics based technology estimates a state of a battery based on statistical values. The statistics based technology was developed based on computer science or statistics using processor or processing hardware. The statistics based technology estimates the state of the battery based on information observable from an outside of the battery although an exact internal state of the battery is not known. For example, the statistics based technology estimates the state of the battery based on battery information related to temperature, voltage, and current of the battery and a lookup table. However, to estimate the state of a particular battery the statistics based technology needs all reference data, such as all of reference data 110 of
Herein, battery information refers to information that may be collected from a battery, and includes, as non-limiting examples, a voltage signal, a current signal, and a temperature signal measured from the battery.
In addition, herein, state information of a battery refers to information indicating a state of the battery, and includes, for example, an SoH, an SoC, and/or a residual available travel distance of the battery. However, although the SoH of the battery is described herein as an example of the state information of the battery, embodiments are not limited thereto. The embodiments may also be applied to other state information of the battery.
Herein, reference data, such as the illustrated reference data 110 of
Thus, herein, the battery model refers to a model specifically configured to estimate state information of a battery. As noted, the battery model may be a model configured to output state information corresponding to predetermined battery information. For example, the battery model is configured to output a life of the battery based on a voltage signal, a current signal, and/or a temperature signal of the battery, for example. The battery model may have been configured through training using the predetermined battery information to always output a same life of the battery under specific input conditions, though embodiments are not limited thereto. The battery model may be a machine learning (ML) model, and may be trained to compute output based on input, based on trained configurations and operations of the battery model generated through such ML model previous computed training outputs from training inputs based on the aforementioned training reference data, such as the reference data 110 of
As shown in
To obtain the reference data 110, a battery manufacturer or a battery state estimation server or system, or battery estimation apparatus that may act a server, collects reference data based on experiment data obtained from a battery degradation experiment after an initial production of the predetermined battery. A predetermined time is required to collect the experiment data related to the battery. Since a few years may be required to obtain full reference data 110, the battery state estimation server, for example, may sequentially generate local models 120, as the corresponding reference data become available, with each reflecting characteristics of a portion, e.g., correspondingly different portions, of life periods of the entire life of the predetermined battery based on the reference data collected until a corresponding point in time corresponding to that portion of life periods.
For example, the battery state estimation server generates an initial model, for example, the first model 121, based on reference data 110 collected until a first point in time, a middle model, for example, the second model 122, based on reference data 110 collected until a second point in time, and a final model, for example, the third model 123, based on reference data 110 collected until a third point in time. The battery state estimation apparatus may receive one or more of the battery models and/or corresponding parameters from the battery state estimation server, and estimates state information of a battery using the different corresponding battery models as appropriate.
The battery state estimation server may train a battery model based on reference data 110 collected until a predetermined point in time, for example, training the battery models sequentially in an order of the first model 121, the second model 122, and the third model 123. Although
As noted above, the battery state estimation apparatus may also implement such battery model generation, as well as application of the generated battery models for battery state estimation and/or server provision of the generated battery models, as described herein, to another battery state estimation apparatus. Accordingly, discussions herein with respect to the operations of the battery state estimation server are also applicable to the battery state estimation apparatus, and discussions with respect to the battery state estimation apparatus are also applicable to the battery state estimation server. In an example, a battery state estimation server may not perform the generation of the battery models, but only receive and store generated battery models from another battery state estimation server that implements the battery model generation operations discussed herein, and thus merely receive generated battery models as they are generated or made available and transmit/forward them to the battery state estimation apparatus as requested or otherwise discussed herein. Likewise, a battery state estimation apparatus that requests, receives, and uses received generated battery models may forward the received battery models to other another battery state estimation apparatus upon request or as otherwise discussed herein.
As demonstrated in
Thus, after or after initiating the generating of the first model 121, the battery state estimation server may sequentially generate or initiate the generating of another model and still another model, for example, the second model 122 and the third model 123, based on the reference data 110 until the reference data 110 is fully collected and all the local models 120 have been generated. In response to the full reference data 110 being collected, the battery state estimation server generates a global model 130 that reflects overall characteristics of the corresponding battery. The local models 120 may require relatively short times for training and have relatively low model complexities, but may have predetermined sufficiently high accuracies or confidences for relatively narrow estimation ranges, e.g., compared to a predetermined sufficiently high accuracy or confidence available estimation range of the global model 130. The global model 130 may require a relatively long time for training and a relatively high model complexity, but has a relatively wide estimation range compared to the estimation ranges of the local models 120. Here, the estimation ranges of the local models 120 may immediately follow each other or they may partially overlap, for example. In addition, while an overall range represented by all the estimation ranges of the local models 120 may cover at least the estimation range of the global model 130, the overall range may be less than, equal, to or greater than the entire estimation range of the global model 130, and there may also be gaps between estimation ranges of the local models 120.
Hereinafter, a configuration of a battery state estimation apparatus appropriately receiving and updating one or more of such generated battery models, such as the local models 120 generated by the battery state estimation server in
Referring to
In operation 212, the battery state estimation server 210 generates a battery model based on reference data 211. The battery state estimation server 210 receives or is input with the reference data 211 obtained from an experiment or simulation on a battery. Further, the battery state estimation server 210 may have a strong processing capability, and thus may generate the battery model from the reference data 211 at a fast processing speed.
In operation 222, the battery state estimation apparatus 220 estimates state information of a battery of the battery state estimation apparatus 220 from battery information 221 of the battery using a battery model. In operation 223, the battery state estimation apparatus 220 determines a validity of a current battery model based on the estimated state information.
As shown in
Referring to
The communicator 310 communicates with a battery state estimation server, such as the battery state estimation server discussed above with respect to
Hereinafter, the parameter refers to information that configures a battery model, e.g., information to be used to configure a specially trained battery model, as discussed above with respect to
The update request may be a signal to request such a parameter to be used to update the battery model from the battery state estimation server. For example, the update request may be a signal to request a parameter for a battery model corresponding to a range overlapping at least a portion of an estimation range of a current battery model that is based on a currently applied parameter.
Herein, the estimation range is a range of state information to be estimated, e.g., by the processor 320, using a parameter defining a trained battery model. In a case in which the state information is an SoH, the SoH of a newly manufactured battery is indicated as 100%, and the battery may be released, released from manufacture, or firstly used at a point in time at which reference data may have only so far been collected with respect to a range of the SoH from 100% to 90%. Thus, the corresponding generated battery model, defined by corresponding parameter, based on this limited reference data would have an estimation range of the SoH from 100%, for example, as the maximum level, to 90%, for example, as the minimum level, and may not guarantee accuracy at a sufficiently high predetermined level with respect to a range less than or greater than the estimation range. In a case in which more reference data had been collected, for example, additionally collected to a range from 90% to 80%, another parameter defining another battery model generated based on the newly collected reference data would represent a range of the SoH from 100% to 80% as the estimation range for the other battery model. The other generated battery model may alternatively be configured to have a range of the SoH from 91% to 80% as the estimation range.
The processor 320 may perform operations to estimate the state information of the battery. For example, the processor 320 may determine a validity of a current battery model based on state information of a battery estimated from battery information, transmit an update request for an updated battery model to the battery state estimation server using the communicator 310 in response to a determination that the current battery model is invalid, and update the current battery model based on a received parameter corresponding to the update request, e.g., with the parameter being received from the battery state estimation server.
The memory 330 may store the current and the updated battery model and/or corresponding parameter. In an example, after updating of the current battery model, the battery state estimation apparatus 300 may delete the current battery model and/or parameter from the memory 330 and only store the updated current battery model and/or parameter. The memory 330 stores at least one battery model, for example, separately stores and manages battery models having different estimation ranges. The battery models having different estimation ranges may be identified according to different versions of their parameters. Hereinafter, a version refers to information or an indication to be used to distinguish parameters generated based on reference data collected by such a battery state estimation server at a plurality of different points in time. The memory 330 may manage the battery models by type, and stores various parameters corresponding to different estimation ranges by mapping the parameters to battery models of respective types. A type of a battery model indicates one of the aforementioned ML structures. In addition, while entire battery models may be stored, alternatively only the corresponding parameters are stored and a corresponding specially trained model generated by applying a select parameter to an existing model structure during estimation of a corresponding estimation range. In another example, the select parameter may further include addition structural formation, such a hyper-parameter information for a neural network battery model example to define the configuration of layers and nodes in the neural network in addition to the connection weights between nodes.
In an example, the battery state estimation apparatus 300 may be a battery management system (BMS) configured to control a battery pack including multiple batteries. An apparatus including a battery includes, for example, an electric vehicle, a plug-in hybrid-electric vehicle (PHEV), and a hybrid electric vehicle (HEV), as only examples. In an example, the battery state estimation apparatus 300 is the vehicle, and includes the BMS and the battery pack, as well as a sensing system to measure voltage, current, and/or temperature information of the battery pack, and a user interface with a display.
Although a product release timing of a battery or corresponding electronic device may occur in a situation where an amount of initial reference data has insufficiently been generated for an accurate battery state estimation using a full or global battery model or for estimation ranges beyond an initial estimation range corresponding to an initial battery model or parameter originally included with a battery state estimation apparatus 300 configured to estimate the battery state of the battery, the battery state estimation apparatus according to one or more embodiments may update a parameter of a battery model continuously, thereby maintaining an accuracy of battery state estimation. Thus, a battery state estimation server and/or battery state estimation apparatus according to one or more embodiments reduces a time to be used for commercialization.
The battery state estimation apparatus 300 may obtains a recent parameter from the battery state estimation server that is remotely connected. The battery state estimation server may have generated multiple such parameters for multiple estimation ranges with respect to a now deteriorated battery based on respective trainings by securing reference data which may have been unavailable at the time of product release of the battery state estimation apparatus 300, for example. As noted above, an estimation range to be supported by a parameter of a battery model trained based on reference data collected until a predetermined point in time is determined based on the then available amount of the reference data. In response to a determination that a deterioration level of the battery of the battery state estimation apparatus 300 is outside of an estimation range of a currently selected battery model, the battery state estimation apparatus 300 requests a recent parameter on-the-fly, e.g., in real time, from the battery state estimation server to estimate a state of the battery.
In a case in which the battery state estimation apparatus 300 is not connected to the battery state estimation server, the battery state estimation apparatus 300 may not use an existing parameter. Thus, the battery state estimation apparatus 300 may temporarily suspend an operation of estimating state information of the battery until the battery state estimation apparatus 300 is connected to the battery state estimation server. Further, the battery state estimation apparatus 300 provides information related to the currently selected battery model and the parameter to a user through a visual or auditory user interface (UI) of the battery state estimation apparatus 300 or through a local bus connected to such a UI of an underlying electronic device, vehicle, or drone that includes the battery state estimation apparatus 300.
The battery state estimation apparatus 300 may generate a battery model to estimate state information of a battery in a least amount of time after release of the battery state estimation apparatus 300, for example, compared to previous requirements of a full or global model, based on full reference data, being necessary. Further, as a time elapses, the battery state estimation apparatus 300 may receive a parameter having a higher accuracy continuously from the battery state estimation server. In addition, the accuracy of battery state estimation may improve using driving history data of an electric vehicle (EV) as the reference data. For example, where the battery model is a neural network, the neural network may be a deep neural network with many layers, including an input layer to receive the driving history data and the information of the battery, or separate respective input layers for the driving history data and the information of the battery, for example, such that a received updating parameter may represent connection weights for only select layers of the deep neural network.
Referring to
The battery pack 401 includes a plurality of batteries. At least a portion of the batteries are connected in parallel or series. For example, as shown in
The battery pack 401 includes a battery sensor 402. In another example, the battery sensor 402 is attached or connected to the battery pack 401. The battery sensor 402 generates battery information by measuring a voltage signal, a current signal, and a temperature signal of the battery pack 401. The battery sensor 402 transfers the generated battery information to the battery state estimation apparatus 410. Hereinafter, a battery refers to the battery pack 401.
The battery state estimation apparatus 410 is a device configured to estimate state information of a battery from the battery information received from the battery sensor 402. The battery state estimation apparatus 410 includes a data receiver 411, a preprocessor 412, a processor 413, a memory 414, and a communicator 415, for example.
The data receiver 411 receives battery information. For example, the battery receiver 411 receives the battery information measured by the battery sensor 402 from a battery through a data interface.
The preprocessor 412 preprocesses the received battery information. For example, the preprocessor 412 changes the battery information to a form suitable for estimating the state information, for example, by amplifying the battery information or removing noise.
The processor 413 estimates state information of the battery from the battery information based on a battery model. The processor 413 determines whether a new parameter is needed by monitoring the state information of the battery continuously. Here, the processor 413 estimates the state information of the battery periodically or non-periodically. In response to a determination that a new parameter is needed, the processor 413 requests and receives the new parameter from the external battery state estimation server 420 through the communicator 415. Further, the processor 413 stores the new parameter in the memory 414, and updates the battery model using the new parameter. An operation of the processor 413 will be described in greater detail further below.
The memory 414 stores the battery model and/or a corresponding parameter defining a specialized structure, for example, an ML structure, of the battery model. In an example, the memory 414 may store and manage different parameters for each version, with respect to a single ML battery model structure or framework, where each parameter differently configures the same ML battery model structure, though embodiments are not limited thereto. For example, where the ML battery model structure is a neural network, a same neural network structure or framework may be defined by same hyper-parameters that define the configurations of the layers and nodes and corresponding activation functions, while different parameters, defining particular connection weightings, applied to the same neural network structure may result in substantially different specialized neural networks.
The communicator 415 transmits an update request to the battery state estimation server 420, and receives a parameter corresponding to the update request from the battery state estimation server 420. The communicator 415 receives the parameter from the battery state estimation server 420 periodically or using a push.
The battery state estimation server 420 includes a communicator 421, a controller 422, and a memory 424, for example. Here, though one battery state estimation server is illustrated, the battery state estimation server 420 may represent multiple battery state estimation servers 420. Likewise, though one battery state estimation apparatus is illustrated, the battery state estimation apparatus 410 may represent multiple battery state estimation apparatuses 410. In addition, one of such battery state estimation apparatuses 410 may be included in one of the battery state estimation servers 420, and one of such battery state estimation servers 420 may be included in one of the battery state estimation apparatuses 410.
The communicator 421 receives the update request from the battery state estimation apparatus 410. The communicator 421 transmits the parameter corresponding to the update request to the battery state estimation apparatus 410. Further, the communicator 421 may receive reference data from an external device.
The controller 422 controls the communicator 421 to transmit the parameter corresponding to the update request to the battery state estimation apparatus 410. The controller 422 searches the memory 424 for the parameter corresponding to the received update request. In response to the parameter stored in the memory 424 being found, the controller 422 transmits the found parameter to the battery state estimation apparatus 410 through the communicator 421.
The controller 422 generates a battery model based on reference data, such as reference data of a battery included in or externally connected to the battery state estimation server 420. For example, the controller 422 trains the battery model based on the reference data collected until a predetermined point in time, thereby generating a parameter with respect to the battery model. The controller 422 stores at least one of the battery model and/or the parameter trained with respect to the battery model in the memory 424. In response to new reference data being received, the controller 422 generates a battery model and a parameter trained based on the new reference data. However, embodiments are not limited thereto. The controller 422 may wait until a predetermined amount of reference data is collected. In response to the amount of the collected reference data exceeding a predetermined threshold amount of data, the controller 422 trains the battery model and the parameter. Further, the controller 422 may train the battery model and the parameter based on the reference data at a predetermined interval.
The controller 422 may determine or identify a version of the battery model and the parameter based on, or through, the point in time at which the reference data is collected, and may manage the battery model and the parameter by version. For example, a battery model and a parameter trained based on reference data collected until a point in time a1 may be managed as a version A1, and a battery model and a parameter trained based on reference data collected until a point in time a2 may be managed as a version A2. Here, a1 and a2 denote different points in time, and A1 and A2 denote information indicating different versions.
The memory 424 stores the battery model. For example, the memory 424 stores the battery model and the parameter corresponding to the battery model. In one or more embodiments, the battery state estimation apparatus may be considered as further including the battery pack 401 and the battery sensor 402. In addition, the battery state estimation apparatus may further include a user interface, such as when the battery state estimation apparatus is a vehicle or drone and the user interface includes the dashboard, center console, and/or steering instrument devices/elements.
Referring to
Here, the memory 512 may store the battery model and metadata 518 related to the battery model. The metadata 518 may include version information indicating a battery model and a current training level of the battery model, an estimation range of a currently selected battery model and corresponding parameter, and server connection information. As only an example, the server connection information may include an Internet address, for example, a uniform resource locator (URL), of the battery state estimation server 520 having a more recent parameter with respect to the currently selected battery model or with respect to the current estimation range, for example.
In response to the estimated state information being determined to be outside of the estimation range, the processor 511 determines that the battery model is invalid. As shown in a battery life graph 519 of
In response to the determination that the currently selected battery model and the parameter in the memory 512 are invalid, the processor 511 transmits an update request to the battery state estimation server 520, in operation 592, such as through the illustrated network. In response to the update request being received, the battery state estimation server 520 transmits a parameter trained based on reference data collected until a point in time at which the update request is received and for an estimation range corresponding to the update request, for example, to a battery state estimation apparatus 510, in operation 593. Alternatively, the request may be accommodated by an intermediary server or cloud server that stores trained parameters and/or corresponding trained battery models uploaded from the battery state estimation server 520, such as updated routinely or upon completion of such parameters and/or battery models by the battery state estimation server 520. The battery state estimation apparatus 510 estimates valid state information of the battery within an estimation range changed or expanded by the updated parameter.
However, embodiments are not limited thereto. In response to a determination that the currently selected battery model and the parameter in the memory 512 are invalid, the processor 511 may alternatively search the memory 512 for a battery model and a parameter corresponding to the update request. In response to the battery model and the parameter corresponding to the update request being found in the memory 512, the processor 511 selects the found battery model and the found parameter, and performs state estimation by applying the parameter to the selected battery model. In response to the battery model and the parameter corresponding to the update request being not found, the processor 511 transmits an update request to the battery state estimation server 520, in operation 592. In addition, if a change in the battery is sensed, such as if the battery is changed or swapped for another or new battery, the searching of the memory and/or update requesting may also be performed.
Referring to
In response to a determination that the estimated state information is outside of the estimation range of the battery model, the processor determines that the parameter applied to the battery model is invalid. For example, in response to the estimated state information being less than a minimum level of state information set to be estimable by the battery model, the processor determines that the estimated state information is outside of the estimation range.
In operation 620, in response to a determination that the battery model is invalid, the processor transmits an update request for the battery model to a battery state estimation server using a communicator. The processor transmits, to the battery state estimation server, a signal to request a parameter having a range overlapping at least a portion of an estimation range of a parameter applied to the battery model. In response to the estimated state information being less than or equal to a minimum level of the estimation range of the parameter applied to the battery model, the processor transmits, to the battery state estimation server, a signal to request a parameter trained to estimate state information less than or equal to the minimum level.
In operation 630, the processor updates the battery model based on a parameter corresponding to the update request, the parameter being received from the battery state estimation battery state estimation server. In detail, in operation 731, the processor receives the parameter corresponding to the update request through the communicator. The processor receives, from the battery state estimation server through the communicator, such a parameter having been trained to a minimum level estimable based on reference data collected for up to a point in time at which the update request is received, for example. In operation 732, the processor updates the battery model based on the received parameter. In a case in which the battery model is a neural network including a plurality of nodes, the processor updates a connection weight to connect nodes based on the received parameter. In addition, if the parameter includes connection weights and hyper-parameters defining the structure of the neural network, or such trained hyper-parameters are forwarded/received along with the parameter, the processor may update the structure and corresponding connection weights of the neural network. Alternatively, updates to the battery model may be based on a consistent structure, e.g., with the same hyper-parameters but different connection weights, for different trained estimation ranges.
In operation 740, the processor estimates state information of the battery based on the updated battery model. For example, the processor estimates the state information of the battery using the updated battery model until the state information estimated based on the update battery model is outside of the new estimation range in operation 712.
In
In operation 803, the battery state estimation apparatus 812 of the second point in time continuously estimates the state information of the battery from battery information using the battery model and the parameter having the first estimation range. It may be assumed that the state information estimated at the second point in time, for example, an SoH of 90%, is equal to the minimum level, for example, 90%, of the first estimation range. The battery state estimation apparatus 812 of the second point in time determines that a deterioration level of the corresponding battery has reached a limit of the first estimation range of the correspondingly currently selected battery model and parameter. In operation 804, the battery state estimation apparatus 812 of the second point in time transmits, to the battery state estimation server 820, a signal to request a parameter having an estimation range with respect to a level less than or equal to the minimum level of the first estimation range, for example, an update request.
In operation 805, the battery state estimation server 820 transmits a parameter corresponding to the update request to the battery state estimation apparatus 812 of the second point in time. The battery state estimation apparatus 812 of the second point in time updates its current battery model based on the received parameter. The received parameter has a second estimation range. The second estimation range is a range in which state information less than the minimum level of the first estimation range is estimable with sufficient predetermined accuracy. For example, a maximum level of the second estimation range may be 100%, and a minimum level of the second estimation range may be 80%. However, embodiments are not limited thereto. Alternatively, the second estimation range may have a range overlapping a portion of the first estimation range, and may be set to have, for example, a maximum level of 91% and a minimum level of 80%. The minimum level of the second estimation range is a minimum level estimable by a battery model and a parameter trained based on reference data collected by the battery state estimation server 820 until the second point in time.
In operation 806, the battery state estimation apparatus 813 of the third point in time continuously estimates the state information of the battery using its current battery model and parameter having the second estimation range. As shown in
The battery state estimation server 820 stores various battery models and various parameters corresponding to the battery models. The battery state estimation server 820 may transmit a parameter corresponding to an update request received from a battery state estimation apparatus. As only examples, the parameter received by the battery state estimation apparatus may be for use only for a portion of range of the state information or may be for use for the full range of the state information. For example, in an initial period in which a new battery is released, released from manufacture, or firstly used in a particular electronic device, the battery state estimation server 820 stores only a parameter to be used only for an initial range, for example, the first estimation range. For example, upon a sufficient time elapses after the release, a sufficient amount of reference data related to a deteriorated battery being monitored by the battery state estimation server 820 is collected, and the battery state estimation server 820 and the battery state estimation apparatus respectively generate and maintain a single battery model and a single parameter based on the collected reference data.
A change in capacity of a battery and a change in internal resistance of the battery with respect to battery deterioration show non-linear characteristics. For example, a newly developed battery may have unpredictable state information depending on component proportions of materials constituting an anode, a cathode, and electrolyte of the battery. In this example, a great amount of time is used to finish battery life experiments in a laboratory before a product is released.
In an initial period of product release, a battery state estimation server trains battery models and generates corresponding first parameters 921 and 931 based on reference data of a fresh battery. The first parameters 921 and 931 may guarantee sufficiently high accuracies to predetermined accuracy or confidence levels in a state information range of an initial period 911, for example, a predetermined battery capacity and internal resistance period. However, in response to a deterioration level of the battery being out of the initial period 911 as the battery is used over time, there may be a great error between state information estimated based on the parameters trained based on the initial reference data and an actual state of the battery.
The battery state estimation server may additionally collect the reference data by continuously conducting an experiment in a laboratory after the battery is released, for example, or by obtaining a profile corresponding to driving of an actual EV. The battery state estimation server trains battery models based on the additionally collected reference data and generates corresponding second parameters 922 and 932 for estimating the state information of the deteriorated battery in a middle period 912 after the initial period 911. Further, the battery state estimation server trains battery models and generates corresponding third parameters 923 and 933 for estimating the state information of the deteriorated battery in a final period 913 after the middle period 912. The battery state estimation server transmits at least one of the generated parameters, e.g., between first parameters 921 through 933, in response to an update request from a battery state estimation apparatus.
For example, the battery state estimation server may sequentially train the battery models so that a second estimation range corresponding to the second parameter 922 includes an entire first estimation range corresponding to the first parameter 921, and a third estimation range corresponding to the third parameter 923 includes the entire second estimation range corresponding to the second parameter 922. In this example, the battery state estimation server obtains respective battery models and parameters to estimate state information with respect to the entire range trained thus far.
Alternatively, or in addition, the battery state estimation server may sequentially train the battery models such that the second estimation range corresponding to the second parameter 922 includes only a portion of the first estimation range corresponding to the first parameter 921 and the third estimation range corresponding to the third parameter 923 includes only a portion of the second estimation range corresponding to the second parameter 922. In this example, the battery state estimation server obtains respective local battery models and parameters to guarantee sufficiently optimal state estimation to predetermined accuracy or confidence levels for each predetermined range of the deterioration level of the battery.
A battery model may be a neural network 1000. The neural network 1000 is implemented by hardware, such as solely through hardware, solely through processor executed instructions stored on a non-transitory computer readable medium, or a combination thereof. The neural network 100 may also be referred to as an artificial neural network. The neural network 100 uses artificial neurons or nodes that are configured differently than biological neurons by being connected to each other through edges having connection weights. The connection weights are predetermined values of the edges, e.g., set during training, and may also be referred to as synapse weights or connection strengths.
The neural network 1000 includes a plurality of layers. For example, the neural network 1000 includes an input layer, plural hidden layers, and an output layer. The input layer receives input feature data and transmits respective inputs to the illustrated first hidden layer based on respective weightings, at which time the nodes of a hidden layer respectively implement activation functions. Likewise, outputs of a previous hidden layer may be weighted and provided to respective nodes of a final hidden layer, which implement their activation functions, and respective outputs of the final hidden layer are input to one or more nodes of the output layer and the output layer generates an output of the neural network 1000. Here, the outputs of the final hidden layer may also be respectively weighted before being acted on by the one or more nodes of the output layer. The hidden layer is disposed between the input layer and the output layer.
For example, during training, a hidden layer may operate on a training input of training data received from the input layer to output an expected or easily predictable value through the output layer. Herein, the training data may be a data set including a plurality of training pairs. For example, a training pair includes a training input and a training output, and the training output may be a value to be output from the training input paired with the training output. Thus, the training data includes a plurality of training inputs, and training outputs mapped to the plurality of training inputs, respectively. When the input and output pair are known, the corresponding training may be called supervised training, while when the output is not known or the input is not labeled, the training may be called unsupervised training.
During training of the neural network 1000, training data of reference data is input, and through iterative operations the respective weightings between each of the layers may be each adjusted until the neural network 1000 is trained. For example, the nodes of the hidden layers may change the training input of reference data received from the input layer to output through the output layer an expected or known value. The eventual configuration and weightings of the trained neural network 1000 may be stored, and thus represent a parameter that will generate or configure, when the parameter is applied, the neural network 1000 so as to specially process input received battery information measured from a battery, and output state information estimated from the battery information. For example, for the training, the battery state estimation server may determine respective connection weights for the weightings between the nodes through a gradient descent scheme which is based on a loss to be back-propagated to the neural network and output values of the nodes included in the neural network. For example, the battery state estimation server may update the connection weights among the nodes through loss back-propagation learning. Loss back-propagation learning refers to a method of estimating a loss with respect to provided training data through forward computation, and updating connection weights to reduce the loss while propagating the estimated loss in a backward direction from an output layer toward hidden layer(s) and an input layer. When the battery state estimation apparatus uses the neural network to perform battery state estimation, operations of the neural network are performed in an order of the input layer, the hidden layer(s), and the output layer. However, in the loss back-propagation learning, the connection weights are updated in an order of the output layer, the hidden layer(s), and the input layer. When training the neural network as desired, one or more processors of the battery state estimation server may use a local buffer memory configured to store layers or a series of computed data, for example.
As illustrated in
A battery state estimation server manages parameters classified into separate versions for different estimation ranges, for example, as a database 1030 for a battery model of a predetermined structure. Here, a parameter or collection of parameters may each represent a different specially trained neural network. For example, referring to
The illustrated initial battery model is a battery model trained based on reference data collected until an initial period of release of the corresponding battery, corresponding battery state estimation apparatus, or corresponding electronic device. With a corresponding parameter defining the initial battery model, the initial battery model has an initial estimation range 1150, such as between 3.2 Ah and 2.8 Ah. The initial battery model provides a high accuracy of estimation with respect to state information of a corresponding battery within the initial estimation range 1150. However, when the state information is outside of the initial estimation range 1150, e.g., below 2.8 Ah, as the cycle of the battery increases an error 1121 also increases with deterioration of the battery. The error 1121 is a difference between actual state information 1110, for example, an actual life, and state information 1120 estimated based on the initial model, for example, an estimated life.
When a sufficient time elapses after the release, a battery state estimation server generates a full or global battery model which is a battery model trained based on fully collected reference data. A parameter applied to the full or global battery model provides a high accuracy within the corresponding full estimation range. Thus, as shown in
However, in one or more embodiments, by selectively using different battery models that respectively cover different or overlapping estimation ranges that are less than the full estimation range, the error 1121 of the initial battery model can be avoided and a full reference data of the battery is not necessary before an accurate battery state can be estimated.
The batteries, battery packs, battery sensors, battery sensor systems, battery state estimation apparatuses, battery state estimation servers, battery state estimation systems, battery state estimation apparatus 220, battery state estimation server 210, battery state estimation system 200, battery state estimation apparatus 300, communicator 310, processor 320, memory 330, battery state estimation apparatus 410, battery state estimation server 420, battery state estimation system 400, battery pack 401, battery sensor 402, data receiver 411, preprocessor 412, processor 413, memory 414, communicator 415, communicator 421, memory 424, controller 422, battery state estimation apparatus 510, battery state estimation server 520, memory 512, processor 511, battery pack 501, battery state estimation apparatus 811, battery state estimation apparatus 812, battery state estimation apparatus 813, battery state estimation server 820, neural network, neural network 1000, database 1030, and battery models, as only examples, of
The methods illustrated in
Instructions or software to control computing hardware, for example, one or more processors or computers, to implement the hardware components and perform the methods as described above may be written as computer programs, code segments, instructions or any combination thereof, for individually or collectively instructing or configuring the one or more processors or computers to operate as a machine or special-purpose computer to perform the operations that are performed by the hardware components and the methods as described above. In one example, the instructions or software include machine code that is directly executed by the one or more processors or computers, such as machine code produced by a compiler. In another example, the instructions or software includes higher-level code that is executed by the one or more processors or computer using an interpreter. The instructions or software may be written using any programming language based on the block diagrams and the flow charts illustrated in the drawings and the corresponding descriptions in the specification, which disclose algorithms for performing the operations that are performed by the hardware components and the methods as described above.
The instructions or software to control computing hardware, for example, one or more processors or computers, to implement the hardware components and perform the methods as described above, and any associated data, data files, and data structures, may be recorded, stored, or fixed in or on one or more non-transitory computer-readable storage media. Examples of a non-transitory computer-readable storage medium include read-only memory (ROM), random-access memory (RAM), flash memory, CD-ROMs, CD-Rs, CD+Rs, CD-RWs, CD+RWs, DVD-ROMs, DVD-Rs, DVD+Rs, DVD-RWs, DVD+RWs, DVD-RAMs, BD-ROMs, BD-Rs, BD-R LTHs, BD-REs, magnetic tapes, floppy disks, magneto-optical data storage devices, optical data storage devices, hard disks, solid-state disks, and any other device that is configured to store the instructions or software and any associated data, data files, and data structures in a non-transitory manner and provide the instructions or software and any associated data, data files, and data structures to one or more processors or computers so that the one or more processors or computers can execute the instructions. In one example, the instructions or software and any associated data, data files, and data structures are distributed over network-coupled computer systems so that the instructions and software and any associated data, data files, and data structures are stored, accessed, and executed in a distributed fashion by the one or more processors or computers.
While this disclosure includes specific examples, it will be apparent after an understanding of the disclosure of this application that various changes in form and details may be made in these examples without departing from the spirit and scope of the claims and their equivalents. The examples described herein are to be considered in a descriptive sense only, and not for purposes of limitation. Descriptions of features or aspects in each example are to be considered as being applicable to similar features or aspects in other examples. Suitable results may be achieved if the described techniques are performed in a different order, and/or if components in a described system, architecture, device, or circuit are combined in a different manner, and/or replaced or supplemented by other components or their equivalents. Therefore, the scope of the disclosure is defined not by the detailed description, but by the claims and their equivalents, and all variations within the scope of the claims and their equivalents are to be construed as being included in the disclosure.
Number | Date | Country | Kind |
---|---|---|---|
10-2016-0128339 | Oct 2016 | KR | national |