Patent Description:
As environmental concerns and energy resource issues become more important, an electric vehicle (EV) has been highlighted as a vehicle of the future. The EV does not emit exhaust gas, and produces less noise than a gasoline-powered vehicle because a battery formed in a single pack with a plurality of rechargeable and dischargeable secondary cells is used as a main power source in the EV.

The battery functions as a fuel tank and an engine of a gasoline-powered vehicle in the EV. Thus, checking a state of the battery while the EV is in use is important. As a battery, that is, a secondary cell is frequently used, a life of the battery is reduced. Due to a reduction in the life of the battery, an initial capacity of the battery is not guaranteed and a capacity of the battery is gradually reduced. A driver desired power, operating time, and stability may not be provided when the capacity of the battery continues to decrease, and accordingly replacement of the battery may be required. Determining a state of the battery is important to determine when to replace the battery.

Examples can be found in the <CIT> patent application and also in the Journal paper by <NPL>.

The subject-matter of this invention is defined by a method according to claim <NUM>, a non-transitory computer-readable storage medium according to claim <NUM> and an apparatus according to claim <NUM>.

However, various changes, modifications, and equivalents of the methods, apparatuses, and/or systems described herein will be apparent to one of ordinary skill in the art. 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 to one of ordinary skill in the art, with the exception of operations necessarily occurring in a certain order. Also, descriptions of functions and constructions that are well known to one of ordinary skill in the art may be omitted for increased clarity and conciseness.

Rather, the examples described herein have been provided so that this disclosure will be thorough and complete, and will convey the full scope of the disclosure to one of ordinary skill in the art.

Reference throughout the present specification to "one example" or "an example" indicates that a particular feature, structure, or characteristic described in connection with the example is included in at least one example. Thus, appearances of the phrases "one example" and "an example" in various places throughout the present specification are not necessarily all referring to the same example.

The terminology used herein is for the purpose of describing particular examples only, and is not intended to limit the disclosure. As used herein, the terms "include," "comprise," and "have" specify the presence of stated features, numbers, operations, elements, components, or combinations thereof, but do not preclude the presence or addition of one or more other features, numbers, operations, elements, components, or combinations thereof.

In the following description, a battery included in an electric vehicle (EV) is merely an example for convenience of description, but the scope of the examples is not limited to an EV. Rather, the examples are applicable to all applications employing rechargeable and dischargeable secondary batteries.

As a number of cycles of charging and discharging a battery increases, the battery ages, and accordingly a life of the battery is reduced. The life of the battery is a period of time during which the battery normally supplies power to an external apparatus. The life of the battery corresponds to, for example, a current capacity value of the battery, an internal resistance value of the battery, or a state of health (SOH) of the battery. For example, when a capacity of a battery, that is, a maximum amount of charge that can be stored in the battery is reduced below a threshold, the battery may need to be replaced because the battery does not satisfy a requirement for an application. Accordingly, accurately estimating a state of the battery is important to determine when to replace the battery.

<FIG> illustrates an example of a configuration of a training apparatus <NUM> for training a battery life estimation model. The training apparatus <NUM> trains the battery life estimation model. The training apparatus <NUM> collects sensing data of a battery, and trains the battery life estimation model based on a density of the collected sensing data. The battery life estimation model is used to estimate a life of the battery when the training is completed. Hereinafter, an operation of the training apparatus <NUM> will be further described.

Referring to <FIG>, the training apparatus <NUM> includes a density data set acquirer <NUM>, a clusterer <NUM>, a density feature determiner <NUM>, and a battery life estimation model trainer <NUM>. The density data set acquirer <NUM>, the clusterer <NUM>, the density feature determiner <NUM>, and the battery life estimation model trainer <NUM> may be implemented by at least one processor.

The density data set acquirer <NUM> acquires density data based on battery sensing data, and acquires a density data set from density data acquired in various battery management situations. The density data represents a degree to which collected battery sensing data is distributed in a two-dimensional (2D) space or a three-dimensional (3D) space, and the density data set is a set of pieces of density data.

The density data set acquirer <NUM> collects different types of battery sensing data and acquires density data based on the collected battery sensing data. For example, the density data set acquirer <NUM> collects voltage data, current data, and temperature data of the battery, projects voltage data, current data, and temperature data that are sensed at the same point in time (for example, having the same timestamp) onto a 3D space, and acquires density data from the projected data.

The density data set acquirer <NUM> acquires density data based on various battery management profiles, and acquires a density data set by combining the acquired density data. Data adjacent to each other in a region represented by the density data set have similar influences on aging of a battery.

Patterns of density data vary depending on a battery management profile. For example, a battery management profile in an example in which an EV travels in a city is different from a battery management profile in an example in which the EV travels on a highway, and accordingly patterns of battery sensing data are different from each other in these two examples. Thus, patterns of density data based on the battery sensing data may be determined based on a battery management profile. The density data set acquirer <NUM> generates a density data set by combining the density data in various patterns.

The clusterer <NUM> clusters the density data in the density data set into a plurality of clusters. Through the clustering, the entire region represented by the density data set is partitioned into a plurality of sub-regions, and each of the sub-regions corresponds to a single cluster.

The clusterer <NUM> partitions the region represented by the density data set into a plurality of clusters using various clustering schemes, for example, a k-means clustering scheme. Each of the clusters has a centroid, and data (for example, data of the density data set) included in a cluster is closer to a centroid of the cluster than a centroid of each of the other clusters. Cluster information including information on a centroid of each of the clusters is stored in a storage (not shown). The stored cluster information is used both in a process of training a battery life estimation model and a process of estimating a life of a battery.

In addition, the clusterer <NUM> normalizes a distribution of the density data set prior to the clustering. For example, the clusterer <NUM> adjusts a difference in scale between different types of battery sensing data in the density data set. Through the normalizing, a density of the density data set may be prevented from being biased in a predetermined direction due to the difference in the scale between the battery sensing data.

The density feature determiner <NUM> determines a density feature based on training data. The training data includes, for example, density data generated based on battery sensing data in a predetermined time interval. For example, the density feature determiner <NUM> uses, as training data, density data acquired by projecting voltage data, current data, and temperature data of the battery that are sensed at the same point in time onto a space of a predetermined dimension. The density data may be generated based on battery sensing data collected during a period of time from an initial point in time to a predetermined point in time.

The density feature determiner <NUM> quantifies a density pattern of the training data based on the clusters determined by the clusterer <NUM>. The density feature determiner <NUM> counts pieces of training data included in each of the clusters, and quantifies a density pattern of the training data. For example, the density feature determiner <NUM> generates a histogram by counting pieces of data included in each of the clusters, and determines a density feature based on information on the generated histogram. The density feature determiner <NUM> determines, as a density feature, a density vector obtained by vectorizing a number of pieces of data included in each of the clusters.

The battery life estimation model trainer <NUM> trains the battery life estimation model based on the density feature. When a target output value corresponding to training data is given, the battery life estimation model trainer <NUM> trains parameters of the battery life estimation model so that the target output value is output from the battery life estimation model. Through the training, the parameters of the battery life estimation model are updated to output a battery life value given based on a density feature input to the battery life estimation model.

The battery life estimation model includes a black-box function, and the battery life estimation model trainer <NUM> trains parameters of the black-box function based on a given input and output of the black-box function. The battery life estimation model includes, for example, a neural network (NN) model, a support vector machine (SVM) model, or a Gaussian process regression (GPR) model, but a learning model used as a battery life estimation model is not limited thereto. Accordingly, various other learning models known to one of ordinary skill in the art may be used as a battery life estimation model.

In one example, when the NN model is used as a battery life estimation model, a learning parameter includes activation functions, weights, and a connection pattern between artificial neurons. In another example, when the SVM model is used as a battery life estimation model, a learning parameter includes a kernel function and penalty parameters. In still another example, when the GPR model is used as a battery life estimation model, a learning parameter includes a kernel function and hyperparameters.

The battery life estimation model trainer <NUM> trains the battery life estimation model based on a variety of training data, and stores parameter information of the completely trained battery life estimation model in the storage. The stored parameter information is used to estimate the life of the battery.

<FIG> illustrates an example of a configuration of a battery life estimation apparatus <NUM>. The battery life estimation apparatus <NUM> estimates a life of a battery <NUM> or a current aging state of the battery <NUM>. The battery life estimation apparatus <NUM> collects sensing data of the battery <NUM>, analyzes a density of the collected sensing data, and estimates, in real time, a life of the battery <NUM>. To estimate the life of the battery <NUM>, information on each of clusters determined by the training apparatus <NUM> of <FIG> and the battery life estimation model trained by the training apparatus <NUM> are used. Hereinafter, an operation of the battery life estimation apparatus <NUM> will be further described.

Referring to <FIG>, the battery life estimation apparatus <NUM> includes a density data acquirer <NUM>, a density feature determiner <NUM>, and a battery life estimator <NUM>. The density data acquirer <NUM>, the density feature determiner <NUM>, and the battery life estimator <NUM> may be implemented by at least one processor.

The sensor <NUM> acquires battery sensing data. The battery sensing data includes, for example, any one or any combination of any two or more of voltage data, current data, and temperature data of the battery <NUM>. Also, the battery sensing data may include either one or both of pressure data acquired from a pressure sensor and humidity data acquired from a humidity sensor. The battery sensing data is, for example, time-series data sensed during a predetermined time interval. In <FIG>, the sensor <NUM> is separate from the battery life estimation apparatus <NUM>. However, depending on the implementation, the sensor <NUM> may be included in the battery life estimation apparatus <NUM>.

The density data acquirer <NUM> acquires density data based on different types of battery sensing data. For example, the density data acquirer <NUM> projects voltage data, current data, and temperature data of the battery <NUM> that are sensed at the same point in time within a predetermined time interval onto a space of a predetermined dimension, and generates density data from the projected data. Each piece of data projected onto the space is represented as a point.

The density feature determiner <NUM> determines a density feature based on the density data. The density feature determiner <NUM> quantifies a density pattern of the density data based on cluster information determined during training of a battery life estimation model. The density feature determiner <NUM> determines a density for each of clusters based on information on the clusters, and determines a density vector representing a density feature of density data based on the determined density. The information on the clusters is stored in advance.

For example, the density feature determiner <NUM> counts pieces of density data included in each of the clusters, and determines a density vector as the density feature based on count values obtained by the counting for each of the clusters. Each piece of the density data is represented as a point located at a predetermined spatial location. The density feature determiner <NUM> calculates a distance between a point and a centroid of each of the clusters, and determines that the point is included in a cluster having a centroid that is a shortest distance from the point. The density feature determiner <NUM> repeatedly performs the above process on all the pieces of the density data, and counts pieces of density data included in each of the clusters. The density feature determiner <NUM> determines a density vector as the density feature based on count values obtained by the counting for each of the clusters.

The battery life estimator <NUM> estimates the life of the battery <NUM> based on the density feature. The battery life estimator <NUM> inputs the density feature to a battery life estimation model, and estimates a current life of the battery <NUM>. The battery life estimation model is trained during the training process of <FIG>.

For example, the battery life estimator <NUM> forms a battery life estimation model based on parameter information of a trained battery life estimation model. The battery life estimation model is used to predict the life of the battery <NUM> based on a density feature represented as, for example, a density vector, and to output the predicted life. Information on the life of the battery <NUM> may be provided to a user through an interface or may be stored in a storage (not shown).

Through the above process, the battery life estimation apparatus <NUM> estimates the life of the battery <NUM> in real time based on battery sensing data, or estimates the life of the battery <NUM> even though the battery <NUM> is partially charged. Also, the battery life estimation apparatus <NUM> estimates the life of the battery <NUM> based on different types of battery sensing data that are correlated to each other, regardless of predetermined battery sensing data. The life of the battery <NUM> is estimated based on battery sensing data collected during a predetermined time interval and the estimated life of the battery <NUM> may be recorded, and thus it is possible to easily manage a history of a battery management.

<FIG> illustrates an example of a configuration of a battery system <NUM> for estimating a life of a battery. Referring to <FIG>, the battery system <NUM> includes a battery <NUM>, a voltage sensor <NUM>, a current sensor <NUM>, a temperature sensor <NUM>, and a battery control apparatus <NUM>. In <FIG>, the voltage sensor <NUM>, the current sensor <NUM>, and the temperature sensor <NUM> are separate from the battery control apparatus <NUM>, but this is merely an example. Depending on the implementation, any one or any combination of any two or more of the voltage sensor <NUM>, the current sensor <NUM>, and the temperature sensor <NUM> may be included in the battery control apparatus <NUM>.

The battery <NUM> supplies power to an apparatus, a device, or a machine including the battery <NUM>, and includes a plurality of battery modules. Capacities of the plurality of battery modules may be the same as or different from each other.

The voltage sensor <NUM> senses a voltage of the battery <NUM> and acquires voltage data, the current sensor <NUM> senses a current of the battery <NUM> and acquires current data, and the temperature sensor <NUM> senses a temperature of the battery <NUM> and acquires temperature data. The voltage sensor <NUM>, the current sensor <NUM>, and the temperature sensor <NUM> measure a state of the battery <NUM> in real time.

The battery control apparatus <NUM> includes a buffer <NUM>, a real time clock (RTC) <NUM>, a battery life estimation apparatus <NUM>, and an interface <NUM>. The buffer <NUM> stores battery sensing data received from the voltage sensor <NUM>, the current sensor <NUM>, and the temperature sensor <NUM>. The RTC <NUM> keeps a current time and provides time information to the buffer <NUM>. The buffer <NUM> records a time at which the battery sensing data is received from the voltage sensor <NUM>, the current sensor <NUM>, and the temperature sensor <NUM> based on the time information received from the RTC <NUM>.

The battery life estimation apparatus <NUM> includes a storage <NUM>, a density feature determiner <NUM>, and a battery life estimator <NUM>. The storage <NUM> stores information on clusters determined during training of a battery life estimation model and parameter information of a trained battery life estimation model. The information on the clusters includes information on a centroid of each of the clusters. The storage <NUM> may be, for example, a dynamic random access memory (DRAM), a static RAM (SRAM), a ferroelectric RAM (FRAM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD), but these are merely examples, and any type of storage known to one of ordinary skill in the art may be used as the storage <NUM>.

The density feature determiner <NUM> generates density data from different types of battery sensing data. The density feature determiner <NUM> quantifies a density of the battery sensing data for each of the clusters based on the information on the clusters stored in storage <NUM>. For example, the density feature determiner <NUM> counts pieces of density data included in each of the clusters and determines a density vector corresponding to the density data based on a result of the counting.

The battery life estimator <NUM> estimates a life of the battery <NUM> based on a density feature represented as, for example, a density vector. The battery life estimator <NUM> inputs a density feature to a trained battery life estimation model, and estimates the life of the battery <NUM>. For example, when an NN model is used as a battery life estimation model, the battery life estimator <NUM> applies parameter information of the NN model stored in the storage <NUM> to the battery life estimation model. The battery life estimation model outputs an estimate of the life of the battery <NUM> based on the input density feature.

The interface <NUM> transmits information on the estimated life of the battery <NUM> to another apparatus or displays the information on the estimated life on a display apparatus.

<FIG> illustrates an example of a process of acquiring density data based on battery sensing data. Both the training apparatus <NUM> of <FIG> and the battery life estimation apparatus <NUM> of <FIG> acquire density data based on battery sensing data.

In <FIG>, battery sensing data is sensed over time when charging and discharging of a battery are repeated. A graph <NUM> shows a change in a voltage of the battery over time, a graph <NUM> shows a change in a current of the battery over time, and a graph <NUM> shows a change in a temperature of the battery over time. In the graphs <NUM> through <NUM>, an X-axis represents time.

Different types of battery sensing data sensed from the battery are correlated with each other. When the battery sensing data is analyzed based on the graphs <NUM> through <NUM>, the current has a negative value, a value of the voltage decreases, and a value of the temperature increases during discharging of the battery. During charging of the battery, the current has a positive value, a value of the voltage increases, and a value of the temperature decreases.

The battery sensing data is represented in the form of density data <NUM> projected onto a 3D space, instead of being independently processed. The density data <NUM> is acquired by expressing voltage data, current data, and temperature data of the battery sensed at a predetermined timestamp as 3D data Vt, It, and Tt, and projecting the voltage data, the current data, and the temperature data onto a 3D space. The 3D data Vt, It, and Tt denote a voltage value, a current value, and a temperature value of the battery sensed at a point in time t, respectively. Each of points <NUM> included in the density data <NUM> indicates battery sensing data sensed at a predetermined timestamp and projected onto the 3D space. The points <NUM> include voltage information, current information, and temperature information of the battery sensed at the same point in time. Because the battery sensing data continues to be accumulated, a number of points included in the density data <NUM> increases over time.

Generating of the density data based on three types of battery sensing data, that is, the voltage, the current, and the temperature has been described with reference to <FIG>, but this is merely one example. Depending on the implementation, density data may be generated based on two types of sensing data, or four or more types of sensing data. In one example, density data may be generated based on voltage data and current data of a battery. In another example, density data may be generated based on voltage data, current data, and temperature data, and acceleration data that is measured by an acceleration sensor.

<FIG> illustrates an example of density data. In <FIG>, density data <NUM> is generated based on various battery management profiles. The battery management profiles are used to sense a change in a characteristic of a battery (for example, a life of the battery) when charging and discharging of the battery are continuously performed in a given battery management environment.

A density of the battery sensing data varies depending on a battery management profile which may be associated with aging of the battery. For example, a battery management profile in an example in which an EV travels in a city is different from a battery management profile in an example in which the EV travels on a highway, which may lead to a difference in density data based on the battery sensing data and a difference in a battery capacity reduction pattern. The training apparatus <NUM> of <FIG> collects battery sensing data based on various battery management profiles, and acquires density data in various battery management environments based on the collected battery sensing data.

<FIG> illustrates an example of a process of acquiring a density data set and clustering density data in the density data set, in accordance with an embodiment.

Referring to <FIG>, the training apparatus <NUM> of <FIG> collects density data <NUM> based on various battery management profiles, and generates a density data set <NUM> by combining the collected density data <NUM>. The training apparatus <NUM> clusters the density data set <NUM> into a plurality of clusters. Through the clustering, an entire region represented by the density data set <NUM> is partitioned into a plurality of sub-regions. A single sub-region corresponds to a single cluster.

The training apparatus <NUM> normalizes a distribution of the density data set <NUM> based on each axis prior to clustering. Through the normalizing, data included in the density data set <NUM> are prevented from being biased toward a predetermined axis due to a difference in scale between different types of battery sensing data. The training apparatus <NUM> partitions the density data set <NUM> on which the normalizing has been performed into a plurality of clusters.

The training apparatus <NUM> partitions the density data set <NUM> into a plurality of clusters using various clustering schemes, for example, a k-means clustering scheme. <FIG> illustrates a density data set <NUM> partitioned into a plurality of clusters through the clustering. In <FIG>, the density data set <NUM> is assumed to be partitioned into <NUM> clusters using the k-means clustering scheme. For example, a point included in a cluster region is located closest to a centroid of the cluster region among centroids of all the clusters.

When the clustering is performed, the training apparatus <NUM> stores cluster information including position information of a centroid of each of the clusters in a storage. For example, when the density data set <NUM> is partitioned into <NUM> clusters, the training apparatus <NUM> stores cluster information including position information of a centroid of each of the <NUM> clusters. The stored cluster information is used to determine a density feature during estimating of a life of a battery.

<FIG> and <FIG> illustrate examples of a process of determining a density feature.

Referring to <FIG>, the training apparatus <NUM> of <FIG> acquires density data based on battery sensing data measured during a predetermined time interval, and uses the acquired density data as training data <NUM>. The training apparatus <NUM> determines a density feature corresponding to the training data <NUM> based on the training data <NUM> and the density data set <NUM> partitioned into the plurality of clusters through the clustering in <FIG>.

The training apparatus <NUM> quantifies the training data <NUM> by counting pieces of training data <NUM> included in each of the clusters. For example, a piece of the training data <NUM> is represented as a point p (Vt, It, Tt), the training apparatus <NUM> calculates a distance between the point p and each of centroids of the clusters, and determines that a cluster located a shortest distance from the point p includes the point p.

The training apparatus <NUM> represents a distribution of a result of the counting as a histogram <NUM>. The histogram <NUM> includes information on a number of pieces of training data <NUM> included in each of the clusters. A size of each bin of the histogram <NUM> indicates the number of the pieces of the training data <NUM> included in each of the clusters. The training apparatus <NUM> determines a density feature based on the number of the pieces of the training data <NUM> included in each of the clusters.

For example, the training apparatus <NUM> determines a density vector including, as elements, the numbers of the pieces of the training data <NUM> included in the clusters. When <NUM> clusters are generated through a clustering process, the training apparatus <NUM> quantifies a number of pieces of training data <NUM> included in each of the <NUM> clusters, and determines a <NUM>-dimensional density vector in which each of the elements is the number of the pieces of the training data <NUM> included in a corresponding one of the clusters. For example, the density vector is represented as shown in Equation <NUM> below.

In Equation <NUM>, Vt denotes a density vector, and <MAT> denotes the number of pieces of data included in an i-th cluster during a predetermined time interval from <NUM> to a time t.

The training apparatus <NUM> trains a battery life estimation model based on the determined density vector. The battery life estimation model is used to estimate a life of a battery. The training apparatus <NUM> trains the battery life estimation model based on training data collected in various battery management states and an actual measurement value of a life of a battery corresponding to the training data. The actual measurement value is acquired, for example, by measuring a capacity of a battery reduced by periodically fully charging and discharging the battery, or by measuring an increased internal resistance of the battery.

The training apparatus <NUM> inputs the density vector determined based on the training data <NUM> to the battery life estimation model, and trains the battery life estimation model to reduce a difference between a result value output from the battery life estimation model and the actual measurement value (or a desired result value). Through the training, parameters of the battery life estimation model are optimized.

For example, when the NN model is used as a battery life estimation model, the training apparatus <NUM> may train the battery life estimation model using an error backpropagation learning scheme. The error backpropagation learning scheme is a scheme of estimating an error by a forward computation of training data, propagating the estimated error backwards from an output layer of the NN model to a hidden layer and an input layer of the NN model, and updating connection weights between artificial neurons to reduce an error.

The battery life estimation model trained as described above and parameter information of the battery life estimation model are included in the battery life estimation apparatus <NUM> of <FIG>. For example, while an EV operates, the battery life estimation apparatus <NUM> estimates, in real time, a life of a battery in the EV based on battery sensing data sensed from the battery.

The battery life estimation apparatus <NUM> generates density data based on sensing data sensed from a battery, quantifies a number of pieces (or a number of elements) of density data included in each of determined clusters, and determines a density feature from the clusters of density data. The above description of determining the density feature based on the training data <NUM> is also applicable to a process of determining a density feature based on the density data generated by the battery life estimation apparatus <NUM>, and accordingly is not repeated here.

<FIG> illustrates an example of determining a density feature by quantifying training data <NUM> acquired based on a battery management profile different from the battery management profile of <FIG>. Similarly to <FIG>, the training apparatus <NUM> acquires a histogram <NUM> based on the training data <NUM> and the density data set <NUM>. A density feature is determined based on a battery management profile.

<FIG> illustrates an example of a user interface.

Referring to <FIG>, a battery control apparatus receives a trigger signal from an external apparatus, and acquires battery sensing data in response to the trigger signal. Accordingly, the battery control apparatus estimates an end of life (EOL) of a battery in real time even though the battery is only partially charged and discharged. For example, when an ignition of an EV including the battery and the battery control apparatus is turned on, an electronic control unit (ECU) of the EV displays a user interface <NUM> on a dashboard. The user interface <NUM> includes an interface <NUM> configured to generate a trigger signal. When a user selects the interface <NUM>, the ECU transmits a trigger signal to the battery control apparatus. The battery control apparatus estimates the EOL of the battery based on the battery sensing data. The battery control apparatus transmits the estimated EOL to the ECU. The ECU controls the user interface to display the EOL received from the battery control apparatus.

<FIG> illustrates an example of a user interface to provide battery life information.

Referring to <FIG>, an EV <NUM> includes a battery system <NUM>. The battery system <NUM> includes a battery <NUM>, and a battery control apparatus <NUM>. The battery control apparatus <NUM> estimates a life of the battery <NUM> and transmits the life of the battery <NUM> to a terminal <NUM> using a wireless interface.

In one example, the battery control apparatus <NUM> receives a trigger signal from the terminal <NUM> via the wireless interface, and estimates the life of the battery <NUM> in response to the trigger signal. The battery control apparatus <NUM> transmits the estimated life to the terminal <NUM> using the wireless interface. The terminal <NUM> displays the estimated life <NUM> of the battery <NUM> using a user interface <NUM>.

<FIG> is a flowchart illustrating an example of a method of training a battery life estimation model. The method of <FIG> is performed by, for example, the training apparatus <NUM> of <FIG>.

Referring to <FIG>, in operation <NUM>, the training apparatus <NUM> acquires battery sensing data. The training apparatus <NUM> collects different types of battery sensing data and generates density data based on the collected battery sensing data.

In operation <NUM>, the training apparatus <NUM> acquires a density data set by combining density data. The training apparatus <NUM> acquires density data based on various battery management profiles, and generates a density data set by combining the density data.

In operation <NUM>, the training apparatus <NUM> clusters the density data in the density data set into a plurality of clusters. The training apparatus <NUM> partitions a region represented by the density data set into a predetermined number of clusters, and stores information on the clusters. The training apparatus <NUM> normalizes a distribution of the density data set prior to the clustering.

In operation <NUM>, the training apparatus <NUM> determines a density feature based on training data using the clusters. The training apparatus <NUM> counts pieces of training data included in each of the clusters, quantifies a density pattern of the training data, and determines the density feature based on a quantification result.

In operation <NUM>, the training apparatus <NUM> trains the battery life estimation model based on the density feature. The training apparatus <NUM> trains the battery life estimation model using any of various machine learning schemes as described above, and stores information on the clusters and information on the trained battery life estimation model as a result of the training.

The description of <FIG>, <FIG>, <FIG>, <FIG>, <FIG> and <FIG> above is also applicable to the method of <FIG>, and accordingly is not repeated here.

<FIG> is a flowchart illustrating an example of a method of estimating a life of a battery. The method of <FIG> is performed by, for example, the battery life estimation apparatus <NUM> of <FIG>.

Referring to <FIG>, in operation <NUM>, the battery life estimation apparatus <NUM> acquires battery sensing data. The battery life estimation apparatus <NUM> acquires sensing data, for example, voltage data, current data, and temperature data of the battery.

In operation <NUM>, the battery life estimation apparatus <NUM> acquires density data based on the battery sensing data. For example, the battery life estimation apparatus <NUM> combines different types of battery sensing data, and acquires density data by accumulating the combined battery sensing data over time.

In operation <NUM>, the battery life estimation apparatus <NUM> determines a density feature based on the density data using clusters. The battery life estimation apparatus <NUM> quantifies a density pattern of the density data based on cluster information determined during training of a battery life estimation model. The battery life estimation apparatus <NUM> converts the density data to a density vector as a density feature. The battery life estimation apparatus <NUM> counts pieces of density data included in each of the clusters, and determines a density vector as a density feature based on count values obtained by the counting for each of the clusters.

In operation <NUM>, the battery life estimation apparatus <NUM> estimates the life of the battery based on the density feature. The battery life estimation apparatus <NUM> inputs the density feature to a trained battery life estimation model, which estimates a current life of the battery.

The description of <FIG>, <FIG>, <FIG>, <FIG>, <FIG>, <FIG>, <FIG>, and <FIG> above is also applicable to the method of <FIG>, and accordingly is not repeated here.

The training apparatus <NUM>, density data set acquirer <NUM>, the clusterer <NUM>, the density feature determiner <NUM>, and the battery life estimation model trainer <NUM> illustrated in <FIG>, the battery life estimation apparatus <NUM>, the density data acquirer <NUM>, the density feature determiner <NUM>, and the battery life estimator <NUM> illustrated in <FIG>, the battery control apparatus <NUM>, the battery life estimation apparatus <NUM>, the storage <NUM>, the density feature determiner <NUM>, the battery life estimator <NUM>, the buffer <NUM>, the real time clock (RTC) <NUM>, and the interface <NUM> illustrated in <FIG>, the user interface <NUM> and the interface <NUM> illustrated in <FIG>, and the battery control apparatus <NUM>, the terminal <NUM>, and the user interface <NUM> illustrated in <FIG> that perform the operations described herein with respect to <FIG> are implemented by hardware components. Examples of hardware components include controllers, sensors, generators, drivers, memories, comparators, arithmetic logic units, adders, subtractors, multipliers, dividers, integrators, and any other electronic components known to one of ordinary skill in the art. In one example, the hardware components are implemented by computing hardware, for example, by one or more processors or computers. A processor or computer is implemented by one or more processing elements, such as an array of logic gates, a controller and an arithmetic logic unit, a digital signal processor, a microcomputer, a programmable logic controller, a field-programmable gate array, a programmable logic array, a microprocessor, or any other device or combination of devices known to one of ordinary skill in the art that is capable of responding to and executing instructions in a defined manner to achieve a desired result. In one example, a processor or computer includes, or is connected to, one or more memories storing instructions or software that are executed by the processor or computer. Hardware components implemented by a processor or computer execute instructions or software, such as an operating system (OS) and one or more software applications that run on the OS, to perform the operations described herein with respect to <FIG>. The hardware components also access, manipulate, process, create, and store data in response to execution of the instructions or software. For simplicity, the singular term "processor" or "computer" may be used in the description of the examples described herein, but in other examples multiple processors or computers are used, or a processor or computer includes multiple processing elements, or multiple types of processing elements, or both. In one example, a hardware component includes multiple processors, and in another example, a hardware component includes a processor and a controller. A hardware component has any one or more of different processing configurations, examples of which include a single processor, independent processors, parallel processors, single-instruction single-data (SISD) multiprocessing, single-instruction multiple-data (SIMD) multiprocessing, multiple-instruction single-data (MISD) multiprocessing, and multiple-instruction multiple-data (MIMD) multiprocessing.

The methods illustrated in <FIG> and <FIG> that perform the operations described herein with respect to <FIG> are performed by a processor or a computer as described above executing instructions or software to perform the operations described herein.

Claim 1:
A method of estimating a life of a battery, the method comprising:
acquiring density data based on battery sensing data;
wherein the density data is data representing a spatial distribution of battery sensing data over time;
determining a density feature based on the density data using clusters generated by clustering a density data set based on a plurality of battery management profiles;
wherein the density data set is a combination of density data based on the plurality of battery management profiles;
estimating the life of the battery based on the density feature;
wherein the determining of the density feature comprises determining the density feature based on counting the number of pieces of density data included in each of the clusters, and wherein the determining of the density feature further comprises determining the pieces of the density data included in each of the clusters based on a centroid of each of the clusters;
wherein the determining of the density feature comprises converting the density data to a density vector based on the clusters,
wherein the density vector comprises elements respectively corresponding to the clusters; and
each of the elements is the numbers of pieces of the density data in a respective one of the clusters;
wherein estimating the life of the battery comprises using a battery life estimation model based on machine learning; and further comprising:
acquiring a further density data set by combining further density data acquired based on further battery sensing data;
clustering the further density data in the further density data set into a further plurality of clusters;
determining a further density feature based on training data using the further plurality of clusters;
training the battery life estimation model based on the further density feature.