Patent Description:
With the increasing importance on environmental issues and the focus on the dwindling energy resource, electric vehicles is emerging as a favorable choice for transportation. The electric vehicle uses a battery, where rechargeable secondary cells are formed to be a single pack as a main power source. Thus, the electric vehicle does not emit exhaust gas and produces little noise.

In the electric vehicle, the battery functions as an engine and a fuel tank of a gasoline car. For safety of a user of the electric vehicle, it is important to check a state of the battery.

Recently, extensive research has been conducted to increase accuracy on detecting an abnormality of the battery. <NPL>) discloses a method for data-driven state-of-health prediction for electric vehicle batteries. It is the object of the present invention to provide an improved method and apparatus for accurately estimating a state of a battery.

This Summary is provided to Introduce a selection of concepts in a simplified form that are further described below in the Detailed Description.

In one general aspect, there is provided a method of estimating a state of a battery, the method including extracting data from target intervals in sensing data of a battery, generating feature vectors of the data extracted from each of the target intervals, applying a weight to each of the generated feature vectors, merging the feature vectors to which the weight is applied, and determining state information of the battery based on the merging.

The generating of the feature vectors may include sampling the extracted data from the each of the target intervals, and encoding the sampled data to generate the feature vectors.

The applying of the weight to the generated feature vectors may include calculating weights based on the generated feature vectors and a previous state information of the battery, and applying the calculated weights to the generated feature vectors.

The method may include setting an additional target interval in the sensing data and extracting data from the additional target interval, in response to an occurrence of an update event of the state information, encoding the data extracted from the additional target interval and generating an additional feature vector, and updating the state information based on applying a second weight to the generated additional feature vector and applying a third weight to a portion of the generated feature vectors.

The method may include randomly setting each of the target intervals in the sensing data.

The lengths of the target intervals may be different from one another.

The update event may correspond to any one of a user input or a time exceeding an update time period.

A greatest weight may be applied to a feature vector associated with a target interval having a most stable pattern change from among the target intervals.

In another general aspect, there is provided an apparatus for estimating a state of a battery, the apparatus including a controller configured to extract data from target intervals in sensing data of a battery, to generate feature vectors of the data extracted from each of the target intervals, to apply a weight to each of the generated feature vectors, to merge the feature vectors to which the weight is applied, and to determine state information of the battery based on the merged feature vectors.

The controller may be configured to sample the extracted data from the each of the target intervals, to encode the sampled data, and to generate the feature vectors.

The controller may be configured to calculate weights based on the generated feature vectors and a previous state information of the battery, and to apply the calculated weights to the generated feature vectors.

In response to an occurrence of an update event of the state information, the controller may be configured to set an additional target interval in the sensing data and extracting data from the additional target interval, to encode the data extracted from the additional target interval, generate an additional feature vector, and to update the state information based on a result obtained by applying a second weight to the generated additional feature vector and a result obtained by applying a third weight to a portion of the generated feature vectors.

The controller may be configured to randomly set each of the target intervals in the sensing data.

In another general aspect, there is provided an apparatus for estimating a state of a battery, the apparatus including a controller configured to extract data from target intervals in sensing data of a battery, and to determine state information of the battery based on the extracted data and a state estimation model, wherein the state estimation model comprises a first layer configured to generate feature vectors of the data extracted from each of the target intervals, a second layer configured to apply a weight to each of the generated feature vectors and to merge the feature vectors to which the weight is applied, and a third layer configured to determine the state information of the battery based on the merged feature vectors.

The first layer may be configured to recognize a pattern change of each piece of the extracted data.

The second layer may be configured to calculate weights based on the generated feature vectors and previous state information of the battery and to apply the calculated weights to the generated feature vectors.

The third layer may be configured to determine the state information by performing regression on the merged feature vectors.

In another general aspect, there is provided a vehicle including a battery module, sensors configured to sense data of the battery module, and a battery state estimation apparatus implemented on a processor, the battery state estimation apparatus including an extractor configured to receive the sensed data, to set target intervals in the sensed data, and to extract data from each of the target intervals, an encoder configured to generate feature vectors corresponding to each target interval based on encoding the extracted data from the each target interval, respectively, a vector merger configured to apply weights to each of the generated feature vectors, and to merge the weighted feature vectors, and an estimator configured to determine state information of the battery module based on the merged feature vectors.

Each of the feature vectors may correspond to a change in a pattern of the data extracted from the each target interval, respectively.

A greatest weight is applied to a feature vector from the feature vectors having the least change in the pattern of the extracted data.

The data of the battery module may include any one or any combination of voltage data, current data, and temperature data of the battery module.

The vehicle may include a memory coupled to the processor, the memory including an instruction executed by the processor, and the memory being configured to store the sensed data, the feature vectors, and the determined state information, and an output configured to communicate the determine state information of the battery.

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.

Also, in the description of embodiments, detailed description of well-known related structures or functions will be omitted when it is deemed that such description will be redundant.

Regarding the reference numerals assigned to the elements in the drawings, it should be noted that the same elements will be designated by the same reference numerals, wherever possible, even though they are shown in different drawings. Also, in the description of embodiments, detailed description of well-known related structures or functions will be omitted when it is deemed that such description are redundant.

<FIG> illustrates an example of a battery apparatus.

Referring to <FIG>, a battery apparatus <NUM> includes a battery state estimation apparatus <NUM> and a battery <NUM>. The battery <NUM> may be, for example, a battery cell, a battery module, or a battery pack.

The battery state estimation apparatus <NUM> sets target intervals for sensing data of the battery <NUM> and determines state information of the battery <NUM> from data extracted from the target intervals. In an example, the battery state estimation apparatus <NUM> more accurately determine the state information of the battery <NUM> by focusing attention on data having the most stable pattern change among the extracted data.

Hereinafter, an operation of the battery state estimation apparatus <NUM> will be described with reference to <FIG>.

<FIG> illustrate examples of an operation of a battery state estimation apparatus.

Referring to <FIG>, the battery state estimation apparatus <NUM> includes an input buffer <NUM>, an extractor <NUM>, an encoder <NUM>, a first memory <NUM>, a second memory <NUM>, a vector merger <NUM>, an estimator <NUM>, and an output buffer <NUM>.

The extractor <NUM>, the encoder <NUM>, the vector merger <NUM>, and the estimator <NUM> may be implemented by at least one controller or at least one processor. Additional details on these elements and the processor/controller are provided below. In an example, the input buffer <NUM> and the output buffer <NUM> are physically distinguished or logically distinguished in a single buffer. In an example, the first memory <NUM> and the second memory <NUM> are physically distinguished or logically distinguished in a single memory.

The input buffer <NUM> receives sensing data from sensors <NUM> through <NUM> and stores the received sensing data. The sensing data includes, for example, any one or any combination of voltage data, current data, and temperature data of the battery <NUM>.

The extractor <NUM> receives sensing data from the input buffer <NUM> and sets target intervals in the sensing data. As illustrated in <FIG>, the extractor <NUM> sets target intervals <NUM> through <NUM>, for example, target intervals <NUM> through <NUM> in current data <NUM> and voltage data <NUM>. In this example, each of the target intervals <NUM> through <NUM> may have a different length or the same length. The extractor <NUM> randomly sets the target intervals <NUM> through <NUM> in the sensing data.

The extractor <NUM> extracts data included in each of the target intervals <NUM> through <NUM>. The extractor <NUM> extracts interval data corresponding to each of the target intervals <NUM> through <NUM>. The extractor <NUM> outputs the extracted data to the encoder <NUM>.

Depending on examples, the extractor <NUM> samples each pieces of the extracted data and outputs the sampled data to the encoder <NUM>.

The encoder <NUM> generates feature vectors by encoding the extracted data. In an example, the encoder <NUM> is trained to perform input pattern change recognition or pattern recognition, and thus, generates feature vectors expressing pattern changes of the extracted data. The encoder <NUM> is, for example, based on a neural network. Referring to <FIG>, the encoder <NUM> is based on a long short term memory (LSTM) <NUM> and applies at least one parameter stored in the first memory <NUM> to the LSTM <NUM>. The LSTM <NUM> of the encoder <NUM> generates a feature vector h<NUM> by encoding current data and voltage data extracted from the target interval <NUM>. The feature vector h<NUM> expresses a pattern change of each of the current data <NUM> and the voltage data <NUM> in the target interval <NUM>. Similarly, the LSTM <NUM> of the encoder <NUM> generates feature vectors h<NUM>, h<NUM>, h<NUM>, and h<NUM> by encoding current data and voltage data extracted from each of the target intervals <NUM> through <NUM>, respectively. The encoder <NUM> stores the feature vectors h<NUM>, h<NUM>, h<NUM>, h<NUM>, and h<NUM> in the second memory <NUM>.

The vector merger <NUM> applies weights to the feature vectors and merges the feature vectors to which the weights are applied. The vector merger <NUM> is based on, for example, a neural network. In the example of <FIG>, the vector merger <NUM> is based on an attention network <NUM>. The vector merger <NUM> calculates weights α<NUM>, α<NUM>, α<NUM>, α<NUM>, and α<NUM> based on the feature vectors h<NUM>, h<NUM>, h<NUM>, h<NUM>, and h<NUM> and previous state information of the battery <NUM>. In an example, the weights α<NUM>, α<NUM>, α<NUM>, α<NUM>, and α<NUM> respectively match the feature vectors h<NUM>, h<NUM>, h<NUM>, h<NUM>, and h<NUM>. A weight matching a feature vector of data having a most stable pattern change among the extracted data is a maximum weight. When noise in the target interval <NUM> is relatively small in comparison to the target intervals <NUM> through <NUM> and the target interval <NUM> has the most stable pattern change, the weight α<NUM> matching the feature vector h<NUM> associated with the target interval <NUM>, i.e., the feature vector h<NUM> of data extracted from the target interval <NUM> is the greatest among the weights α<NUM>, α<NUM>, α<NUM>, α<NUM>, and α<NUM>. The vector merger <NUM> applies the weights α<NUM>, α<NUM>, α<NUM>, α<NUM>, and α<NUM> to the feature vectors h<NUM>, h<NUM>, h<NUM>, h<NUM>, and h<NUM>, respectively. Since the maximum weight is applied to the feature vector of the data having the most stable pattern change, the battery state estimation apparatus <NUM> concentrates on the data having the most stable pattern change when determining the state information of the battery <NUM>. The vector merger <NUM> merges feature vectors α<NUM>h<NUM>, α<NUM>h<NUM>, α<NUM>h<NUM>, α<NUM>h<NUM>, and α<NUM>h<NUM> to which the weights α<NUM>, α<NUM>, α<NUM>, α<NUM>, and α<NUM> are applied. For example, the vector merger <NUM> obtains a sum of the weights α<NUM>h<NUM>, α<NUM>h<NUM>, α<NUM>h<NUM>, α<NUM>h<NUM>, and α<NUM>h<NUM>. The vector merger <NUM> outputs a result of the merging to the estimator <NUM>.

The estimator <NUM> determines the state information of the battery <NUM> based on the result of the merging. The estimator <NUM> performs linear regression on the result of the merging, for example, "α<NUM>h<NUM>+α<NUM>h<NUM>+α<NUM>h<NUM>+α<NUM>h<NUM>+α<NUM>h<NUM>" and determines a result of the linear regression to be the state information of the battery <NUM>. The estimator <NUM> is based on, for example, a neural network.

The estimator <NUM> stores the determined state information in the output buffer <NUM>. In an example, the estimator <NUM> removes the previous value of feature vector h<NUM> of the data extracted from the target interval <NUM> among the target intervals <NUM> through <NUM> from the second memory <NUM>. Since the feature vector h1 is a feature vector for the oldest data at the time of updating the state information of the battery <NUM>, it may not be most suitable data for updating the state information. In an example, the estimator <NUM> removes the feature vector h<NUM> from the second memory <NUM>. Accordingly, the feature vectors h<NUM>, h<NUM>, h<NUM>, and h<NUM> are stored in the second memory <NUM>.

In an example, when updating the state information, the battery state estimation apparatus <NUM> again uses the feature vectors h<NUM>, h<NUM>, h<NUM>, and h<NUM> stored in the second memory <NUM>. Thus, the battery state estimation apparatus <NUM> may update the state information with a reduced amount of operations and an improved speed. Related description will be provided with reference to <FIG> and <FIG>.

Referring to <FIG>, when an update event occurs, the extractor <NUM> additionally sets a target interval <NUM>, for example, a target interval <NUM> in the current data <NUM> and the voltage data <NUM>. In an example, the update event occurs in response to a user request or occurs when a current time reaches an update period. In an example, the extractor <NUM> extracts current data and voltage data in the target interval <NUM> and outputs the extracted current data and the voltage data to the encoder <NUM>.

The encoder <NUM> generates a feature vector h<NUM> by encoding the extracted current data and voltage data.

The vector merger <NUM> receives the feature vector h<NUM> from the encoder <NUM>, and receives the feature vectors h<NUM>, h<NUM>, h<NUM>, and h<NUM> from the second memory <NUM>. Referring to <FIG>, the vector merger <NUM> loads the feature vectors h<NUM>, h<NUM>, h<NUM>, and h<NUM> from the second memory <NUM> and receives the feature vector h<NUM> from the encoder <NUM>.

The vector merger <NUM> calculates weights based on the feature vectors h<NUM>, h<NUM>, h<NUM>, h<NUM>, and h<NUM> and the state information determined above. When weights β<NUM>, β<NUM>, β<NUM>, β<NUM>, and β<NUM> are calculated, the vector merger <NUM> applies the weights β<NUM>, β<NUM>, β<NUM>, β<NUM>, and β<NUM> to the feature vectors h<NUM>, h<NUM>, h<NUM>, h<NUM>, and h<NUM>, respectively.

In an example, the vector merger <NUM> merges feature vectors β<NUM>h<NUM>, β<NUM>h<NUM>, β<NUM>h<NUM>, β<NUM>h<NUM>, and β<NUM>h<NUM> to which the weights β<NUM>, β<NUM>, β<NUM>, β<NUM>, and β<NUM> are applied and outputs a result of the merging to the estimator <NUM>.

The estimator <NUM> updates the state information of the battery <NUM> based on the merging result of the feature vectors β<NUM>h<NUM>, β<NUM>h<NUM>, β<NUM>h<NUM>, β<NUM>h<NUM>, and β<NUM>h<NUM>.

The estimator <NUM> stores the updated state information in the output buffer <NUM> and removes the feature vector h<NUM> of data corresponding to the oldest target interval, the target interval <NUM> among the target intervals <NUM> through <NUM> from the second memory <NUM>.

Each time that the update event occurs, the operations of the extractor <NUM>, the encoder <NUM>, the vector merger <NUM>, and the estimator <NUM> described with reference to <FIG> may be performed repetitively.

Since the description of <FIG> is applicable here, repeated description of <FIG> will be omitted.

<FIG> illustrates an example of a battery state estimation apparatus.

Referring to <FIG>, the battery state estimation apparatus <NUM> includes a memory <NUM> and a controller <NUM>.

The memory <NUM> stores at least one parameter of a state estimation model. The memory <NUM> includes a computer-readable storage medium or a computer-readable storage device. The memory <NUM> includes, for example, random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), or other types of non-volatile memory known in the art. Further description of the memory is provided below. Also, the memory <NUM> stores instructions executed by the controller <NUM>.

The controller <NUM> sets target intervals in sensing data of the battery <NUM> and extracts data from each of the set target intervals.

The controller <NUM> determines state information of the battery <NUM> based on the extracted data and a state estimation model. The controller <NUM> applies a parameter stored in the memory <NUM> to the state estimation model.

In an example, the state estimation model includes a first layer through a third layer. In an example, the first layer generates feature vectors of the extracted data. The first layer is trained to perform input pattern change recognition or pattern recognition and thus, recognizes a pattern change of each piece of the extracted data. The first layer generates a feature vector associated with the pattern change of each piece of the extracted data. The first layer corresponds to a neural network, for example, an LSTM. The first layer may correspond to the encoder <NUM> and the description of encoder <NUM> are incorporated herein by reference. Thus, the above description may not be repeated here.

The second layer applies weights to feature vectors and merges the feature vectors to which the weights are applied. The second layer corresponds to a neural network, for example, an attention network. The second layer may correspond to the vector merger <NUM> and the description of vector merger <NUM> are incorporated herein by reference. Thus, the above description may not be repeated here.

The third layer determines the state information of the battery <NUM> based on a result of the merging. The third layer may correspond to the estimator <NUM> and the description of estimator <NUM> are incorporated herein by reference. Thus, the above description may not be repeated here.

The state estimation model is a model having been trained by a training apparatus. An example of the training will be described with reference to <FIG>.

Since the description of <FIG> is applicable here, in addition to the description of <FIG> above, the descriptions of <FIG> are incorporated herein by reference. Thus, the above description may not be repeated here.

<FIG> illustrates an example of a battery state estimation method. The operations in <FIG> may be performed in the sequence and manner as shown, although the order of some operations may be changed or some of the operations omitted without departing from the spirit and scope of the illustrative examples described. Many of the operations shown in <FIG> may be performed in parallel or concurrently. One or more blocks of <FIG>, and combinations of the blocks, can be implemented by special purpose hardware-based computer that perform the specified functions, or combinations of special purpose hardware and computer instructions. In addition to the description of <FIG> below, the descriptions of <FIG> are also applicable to <FIG>, and are incorporated herein by reference. Thus, the above description may not be repeated here.

The battery state estimation method is performed by the battery state estimation apparatus <NUM>.

Referring to <FIG>, in operation <NUM>, the battery state estimation apparatus <NUM> extracts data from each of target intervals set for sensing data of the battery <NUM>.

In operation <NUM>, the battery state estimation apparatus <NUM> generates feature vectors of the extracted data.

In operation <NUM>, the battery state estimation apparatus <NUM> applies weights to the feature vectors.

In operation <NUM>, the battery state estimation apparatus <NUM> merges the feature vectors to which the weights are applied.

In operation <NUM>, the battery state estimation apparatus <NUM> determines state information of the battery <NUM> based on a result of the merging.

<FIG> and <FIG> illustrate examples of a vehicle.

Referring to <FIG>, a vehicle <NUM> includes a battery pack <NUM> and a battery management apparatus (BMA) <NUM>. The vehicle <NUM> uses the battery pack <NUM> as a power source. The vehicle <NUM> refers to any mode of transportation, delivery, or communication such as, for example, an automobile, a truck, a tractor, a scooter, a motorcycle, a cycle, an amphibious vehicle, a snowmobile, a boat, a public transit vehicle, a bus, a monorail, a train, a tram, an unmanned aerial vehicle, a drone, an autonomous vehicle, , an electric vehicle, or a hybrid vehicle.

The battery pack <NUM> includes at least one battery module. The battery module includes at least one battery cell.

The battery management apparatus <NUM> monitors whether an abnormality occurs in the battery pack <NUM> and prevent the battery pack <NUM> from being overcharged or over-discharged. The battery management apparatus <NUM> performs a thermal control on the battery pack <NUM> when a temperature of the battery pack <NUM> is higher than a first temperature, for example, <NUM> or lower than a second temperature, for example, -<NUM>. The battery management apparatus <NUM> performs a cell balancing such that states of charge of battery cells in the battery pack <NUM> are equalized.

The battery management apparatus <NUM> includes the battery state estimation apparatus <NUM>. The battery management apparatus <NUM> determines state information of the battery pack <NUM> or state information of a battery cell included in the battery pack <NUM> using the battery state estimation apparatus <NUM>. The battery management apparatus <NUM> determines the state information of the battery pack <NUM> or the state information of the battery cell included in the battery pack <NUM> when the vehicle <NUM> is travelling or the battery pack <NUM> is partially charged and discharged.

The battery management apparatus <NUM> transmits the determined state information to an electronic control unit (ECU) or a vehicle electronic control unit (VCU) of the vehicle <NUM>. The ECU or the VCU of the vehicle <NUM> displays the determined state information on a display. As illustrated in <FIG>, the ECU or the VCU displays state information <NUM> of the battery pack <NUM> on a dashboard of the vehicle <NUM>. Although not shown in <FIG>, the ECU or the VCU may display the state information of the battery pack <NUM> on a head-up display (HUD) of the vehicle <NUM>.

In an example, the ECU or the VCU transmits the state information determined by the battery state estimation apparatus <NUM> to a terminal of a user through a wireless communication interface of the vehicle <NUM>. In an example, the terminal comprises various types of products such as, for example, an intelligent agent, a mobile phone, a cellular phone, a smart phone, a wearable smart device (such as, a ring, a watch, a pair of glasses, glasses-type device, a bracelet, an ankle bracket, a belt, a necklace, an earring, a headband, a helmet, a device embedded in the cloths, or an eye glass display (EGD)), a server, a personal computer (PC), a laptop, a notebook, a subnotebook, a netbook, an ultra-mobile PC (UMPC), a tablet personal computer (tablet), a phablet, a mobile internet device (MID), a personal digital assistant (PDA), an enterprise digital assistant (EDA), a digital camera, a digital video camera, a portable game console, an MP3 player, a portable/personal multimedia player (PMP), a handheld e-book, an ultra mobile personal computer (UMPC), a portable lab-top PC, a global positioning system (GPS) navigation, a personal navigation device, portable navigation device (PND), a handheld game console, an e-book, communication systems, image processing systems, graphics processing systems, various Internet of Things (IoT) devices that are controlled through a network, other consumer electronics/information technology(CE/IT) device, or any other device capable of wireless communication or network communication consistent with that disclosed herein.

Using the terminal, the user verifies the state information of the battery pack <NUM> or the state information of the battery cell included in the battery pack <NUM> at an external area of the vehicle <NUM>.

In addition to the description of <FIG> and <FIG> above, the descriptions of <FIG> are also applicable to <FIG> and <FIG>, and are incorporated herein by reference. Thus, the above description may not be repeated here.

<FIG> illustrates an example of a terminal.

Referring to <FIG>, a terminal <NUM> includes the battery state estimation apparatus <NUM> and the battery <NUM>. In an example, the terminal <NUM> includes various types of products such as, for example, an intelligent agent, a mobile phone, a cellular phone, a smart phone, a wearable smart device (such as, a ring, a watch, a pair of glasses, glasses-type device, a bracelet, an ankle bracket, a belt, a necklace, an earring, a headband, a helmet, a device embedded in the cloths, or an eye glass display (EGD)), a server, a personal computer (PC), a laptop, a notebook, a subnotebook, a netbook, an ultra-mobile PC (UMPC), a tablet personal computer (tablet), a phablet, a mobile internet device (MID), a personal digital assistant (PDA), an enterprise digital assistant (EDA), a digital camera, a digital video camera, a portable game console, an MP3 player, a portable/personal multimedia player (PMP), a handheld e-book, an ultra mobile personal computer (UMPC), a portable lab-top PC, a global positioning system (GPS) navigation, a personal navigation device, portable navigation device (PND), a handheld game console, an e-book, a high definition television (HDTV), a smart appliance, communication systems, image processing systems, graphics processing systems, various Internet of Things (IoT) devices that are controlled through a network, other consumer electronics/information technology(CEZIT) device, or any other device capable of wireless communication or network communication consistent with that disclosed herein.

The battery <NUM> may be a removable battery or an embedded battery.

The terminal <NUM> determines state information of the battery <NUM> using the battery state estimation apparatus <NUM> and displays the determined state information on a display <NUM>. The terminal <NUM> estimates a remaining life of the battery <NUM> using the battery state estimation apparatus <NUM> and displays the estimated remaining life on the display <NUM>.

In an example, the display <NUM> is a physical structure that includes one or more hardware components that provide the ability to render a user interface and/or receive user input. The display <NUM> can encompass any combination of display region, gesture capture region, a touch sensitive display, and/or a configurable area. In an example, the display <NUM> can be embedded in the terminal <NUM>. In an example, the terminal <NUM> is an external peripheral device that may be attached to and detached from the terminal <NUM>. The display <NUM> may be a single-screen or a multi-screen display. A single physical screen can include multiple displays that are managed as separate logical displays permitting different content to be displayed on separate displays although part of the same physical screen. The display <NUM> may also be implemented as an eye glass display (EGD), which includes one-eyed glass or two-eyed glasses. In an example, the display <NUM> is a head-up display (HUD) or a vehicular infotainment system. However, the display is not limited to the example described in the forgoing, and any other instrument cluster or display panel in the vehicle may perform the display function.

In an example the terminal <NUM> outputs the determined state information and the estimated remaining life to a speaker to output sound.

Also, the terminal <NUM> generates notification information based on the determined state information and displays the notification information on the display. For example, the terminal <NUM> displays, on the display, a message indicating that the battery <NUM> needs to be replaced by a new battery because the remaining life of the battery <NUM> is short.

In addition to the description of <FIG> above, the descriptions of <FIG> are also applicable to <FIG>, and are incorporated herein by reference. Thus, the above description may not be repeated here.

The battery state estimation apparatus <NUM> may also be included in an apparatus using a rechargeable secondary battery as a power source in addition to the vehicle <NUM> and the terminal <NUM>. The battery state estimation apparatus <NUM> may be included in, for example, an energy storage system (ESS).

<FIG> illustrates an example of a learning apparatus.

Referring to <FIG>, a training apparatus <NUM> includes a memory <NUM> and a controller <NUM>.

The memory <NUM> stores learning data. The learning data is, for example, overall sensing data corresponding to a sensing result obtained while the battery <NUM> is charged and discharged.

The controller <NUM> sets target intervals in the learning data and extracts data included in each of the target intervals. The controller <NUM> trains a state estimation model including a first layer through a third layer based on the extracted data. The controller <NUM> trains the first layer such that the first layer recognizes a pattern change of each piece of the extracted data. The controller <NUM> optimizes at least one parameter of each layer. The optimized parameter is stored in the first memory <NUM> or the memory <NUM> of the battery state estimation apparatus <NUM>.

The battery state estimation apparatus <NUM>, input buffer <NUM>, extractor <NUM>, encoder <NUM>, vector merger <NUM>, estimator <NUM>, output buffer <NUM>, attention network <NUM>, battery management apparatus (BMA) <NUM>, and training apparatus <NUM>, and other apparatuses, units, modules, devices, and other components described herein are implemented by hardware components. Examples of hardware components that may be used to perform the operations described in this application where appropriate include controllers, sensors, generators, drivers, memories, comparators, arithmetic logic units, adders, subtractors, multipliers, dividers, integrators, and any other electronic components configured to perform the operations described in this application. In other examples, one or more of the hardware components that perform the operations described in this application are implemented by computing hardware, for example, by one or more processors or computers. A processor or computer may be 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 that is configured to respond to and execute 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 may 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 in this application. The hardware components may 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 in this application, but in other examples multiple processors or computers may be used, or a processor or computer may include multiple processing elements, or multiple types of processing elements, or both. For example, a single hardware component or two or more hardware components may be implemented by a single processor, or two or more processors, or a processor and a controller. One or more hardware components may be implemented by one or more processors, or a processor and a controller, and one or more other hardware components may be implemented by one or more other processors, or another processor and another controller. One or more processors, or a processor and a controller, may implement a single hardware component, or two or more hardware components. A hardware component may have 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 that perform the operations described in this application are performed by computing hardware, for example, by one or more processors or computers, implemented as described above executing instructions or software to perform the operations described in this application that are performed by the methods.

Instructions or software to control a processor or computer to implement the hardware components and perform the methods as described above are written as computer programs, code segments, instructions or any combination thereof, for individually or collectively instructing or configuring the processor or computer to operate as a machine or special-purpose computer to perform the operations performed by the hardware components and the methods as described above. In one example, the instructions or software includes at least one of an applet, a dynamic link library (DLL), middleware, firmware, a device driver, an application program storing the method of preventing the collision. In one example, the instructions or software include machine code that is directly executed by the processor or computer, such as machine code produced by a compiler. In another example, the instructions or software include higher-level code that is executed by the processor or computer using an interpreter. Programmers of ordinary skill in the art can readily write the instructions or software 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 performed by the hardware components and the methods as described above.

The instructions or software to control a processor or computer to implement the hardware components and perform the methods as described above, and any associated data, data files, and data structures, are 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 programmable read only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random-access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), flash memory, non-volatile 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, blue-ray or optical disk storage, hard disk drive (HDD), solid state drive (SSD), flash memory, a card type memory such as multimedia card micro or a card (for example, secure digital (SD) or extreme digital (XD)), 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 providing the instructions or software and any associated data, data files, and data structures to a processor or computer so that the processor or computer can execute the instructions.

Claim 1:
A computer-implemented method of estimating a state of a battery (<NUM>), the method comprising:
extracting (<NUM>) data from target intervals in sensing data of a battery (<NUM>);
generating (<NUM>) feature vectors of the data extracted from each of the target intervals (<NUM> - <NUM>);
applying (<NUM>) a first weight to each of the generated feature vectors, wherein the first weights are calculated based on the generated feature vectors and a previous state information of the battery;
merging (<NUM>) the feature vectors to which the first weights are applied; and
determining (<NUM>) state information (<NUM>) of the battery (<NUM>) based on the merging.