Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
OPTIMIZING PERFORMANCE OF ELECTRIC VEHICLES USING PREDICTIVE BATTERY ANALYSIS
Document Type and Number:
WIPO Patent Application WO/2022/251026
Kind Code:
A2
Abstract:
A system includes an electrochemical impedance measuring circuit and a controller. The electrochemical impedance measuring circuit is configured to measure an electrochemical impedance of a battery of an electric vehicle. The controller is configured to receive, based on the measured electrochemical impedance, a prediction regarding a state of health of the battery from a model trained using electrochemical impedance measurements of a plurality of batteries. The controller is configured to receive a setting to operate a heating and cooling device in the electric vehicle. The controller is configured to output an adjustment for the setting based on the predicted state of health of the battery.

Inventors:
CIACCIO MICHAEL PETER (US)
Application Number:
PCT/US2022/029968
Publication Date:
December 01, 2022
Filing Date:
May 19, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GENTHERM GMBH (DE)
International Classes:
G01R27/02; B60H1/00; B60L1/02; B60L3/00; B60L3/06; B60L3/08; B60L3/12; B60L15/20; B60L58/12; B60L58/16; G01R31/36; G01R31/382; G01R31/385; G01R31/387; G01R31/389; G01R31/392; G01R31/396
Attorney, Agent or Firm:
WIGGINS, Michael D. et al. (US)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1. A system comprising: an electrochemical impedance measuring circuit configured to measure an electrochemical impedance of a battery of an electric vehicle; and a controller configured to: receive, based on the measured electrochemical impedance, a prediction regarding a state of health of the battery from a model trained using electrochemical impedance measurements of a plurality of batteries; receive a setting to operate a heating and cooling device in the electric vehicle; and output an adjustment for the setting based on the predicted state of health of the battery.

2. The system of claim 1 wherein the controller is configured to control the heating and cooling device based on the adjustment.

3. The system of claim 1 wherein the controller is configured to output the adjustment further based on a speed of the electric vehicle and a distance to a destination.

4. The system of claim 1 wherein the controller is configured to output a second adjustment for a speed of the electric vehicle based on the adjustment for the setting and a distance to a destination.

5. The system of claim 1 wherein the controller is configured to control a speed of the electric vehicle based on the adjustment and a distance to a destination.

6. The system of claim 1 wherein the adjustment is output to a human to machine interface in the electric vehicle.

7. The system of claim 1 wherein the adjustment is output to the heating and cooling device.

8. The system of claim 1 wherein the adjustment includes unlocking options on a human to machine interface in the electric vehicle to control the heating and cooling device.

9. The system of claim 1 wherein the adjustment includes restricting options on a human to machine interface in the electric vehicle to control the heating and cooling device.

10. The system of claim 1 wherein the controller is configured to: receive additional settings to operate additional heating and cooling devices in the electric vehicle; and output adjustments for the additional settings based on the predicted state of health of the battery, a speed of the electric vehicle, and a distance to a destination.

11. The system of claim 10 wherein the controller is configured to output an additional adjustment for the speed of the electric vehicle based on the adjustment for the setting and the adjustments for the additional settings.

12. The system of claim 10 wherein the heating and cooling device is located in a first zone in the electric vehicle and wherein at least one of the additional heating and cooling devices is located in a second zone in the electric vehicle.

13. The system of claim 1 wherein the controller comprises the model.

14. The system of claim 1 wherein the model is located in a cloud.

15. The system of claim 1 wherein the controller comprises the model and wherein the controller is configured to receive an update for the model from a server located in a cloud.

16. The system of claim 1 wherein the controller is configured to output a warning regarding safety of the battery to a human to machine interface in the electric vehicle based on the predicted state of health of the battery.

17. The system of claim 1 wherein the controller is configured to output an alternate route to a destination to a human to machine interface in the electric vehicle based on the adjustment for the setting, a speed of the electric vehicle, and a distance to the destination.

18. A method comprising: measuring an electrochemical impedance of a battery of an electric vehicle; receiving, based on the measured electrochemical impedance, a prediction for a battery parameter from a model trained using electrochemical impedance measurements of a plurality of batteries; and controlling a heating and cooling device in the electric vehicle based on the predicted battery parameter.

19. The method of claim 18 wherein the battery parameter is selected from a group consisting of a state of health of the battery, a state of charge of the battery, and a remaining useful life of the battery.

20. The method of claim 18 further comprising controlling a speed of the electric vehicle based on the predicted battery parameter and a distance to a destination.

21. The method of claim 18 wherein the controlling includes providing a setting for the heating and cooling device on a human to machine interface in the electric vehicle.

22. The method of claim 18 wherein the controlling includes unlocking a range of settings for the heating and cooling device on a human to machine interface in the electric vehicle.

23. The method of claim 18 wherein the controlling includes restricting a range of settings for the heating and cooling device on a human to machine interface in the electric vehicle.

24. The method of claim 18 further comprising: receiving settings to operate additional heating and cooling devices in the electric vehicle; and controlling the additional heating and cooling devices and a speed of the electric vehicle based on the predicted battery parameter and a distance to a destination.

25. The method of claim 24 wherein the heating and cooling device is located in a first zone in the electric vehicle and wherein at least one of the additional heating and cooling devices is located in a second zone in the electric vehicle.

26. The method of claim 18 further comprising providing an indication regarding safety of the battery on a human to machine interface in the electric vehicle based on the predicted battery parameter.

27. The method of claim 18 further comprising providing an indication regarding an alternate route to a destination on a human to machine interface in the electric vehicle based on the predicted battery parameter, a speed of the electric vehicle, and a distance to the destination.

28. A computing device comprising: a processor; and a memory storing instructions which when executed by the processor configure the processor to: receive an electrochemical impedance measurement of a battery of an electric vehicle via a network; and output, based on the electrochemical impedance measurement and a model trained using electrochemical impedance measurements of a plurality of batteries, a prediction regarding a state of health of the battery and recommendations for extending battery life and range of the electric vehicle to a mobile device via the network.

29. A computing device comprising: a processor; and a memory storing instructions which when executed by the processor configure the processor to: receive electrochemical impedance measurements of batteries of a plurality of electric vehicles via a network; receive data about driving operations from the plurality of electric vehicles via the network; correlate the electrochemical impedance measurements and the data about driving operations; determine usage patterns of the batteries based on the correlated data; provide, to a manufacturer of the batteries via the network, the data about driving operations to test the batteries under conditions similar to the driving operations; and provide, to the manufacturer of the batteries via the network, the usage patterns to predict life and safety of the batteries and optimize design parameters for subsequent battery designs.

Description:
OPTIMIZING PERFORMANCE OF ELECTRIC VEHICLES USING PREDICTIVE

BATTERY ANALYSIS

CROSS-REFERENCE TO RELATED APPLICATIONS [0001] This application claims the benefit of United States Provisional Application No. 63/194,376, filed on May 28, 2021. The entire disclosure of the application referenced above is incorporated herein by reference.

FIELD

[0002] The present disclosure relates generally to electric vehicles and more particularly to optimizing performance of electric vehicles using predictive battery analysis.

BACKGROUND

[0003] The background description provided here is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.

[0004] Electric vehicles are powered by batteries. The batteries comprise multiple cells connected in series and parallel arrangements. Power from the batteries is used not only to propel the electric vehicles but also to operate other subsystems in the electric vehicles. Examples of the subsystems include infotainment subsystems, environment (e.g., comfort) control subsystems, autonomous driving subsystems, communication subsystems, and so on. Since a battery is the sole source of power in an electric vehicle, the power drawn from the battery by these subsystems reduces the power available to propel the electric vehicle, which in turn reduces the range of the electric vehicle (i.e. , the distance that the electric vehicle can drive on a single charge or without recharging the battery). The range of an electric vehicle can be extended to some extent using regenerative braking. However, depending on the type of cells used, the batteries have a limited life. The cells in the batteries can deteriorate over time. Usage, recharging, and environmental factors can affect the safe operational life of the batteries, which in turn can affect the performance of the electric vehicle. SUMMARY

[0005] A system comprises an electrochemical impedance measuring circuit and a controller. The electrochemical impedance measuring circuit is configured to measure an electrochemical impedance of a battery of an electric vehicle. The controller is configured to receive, based on the measured electrochemical impedance, a prediction regarding a state of health of the battery from a model trained using electrochemical impedance measurements of a plurality of batteries. The controller is configured to receive a setting to operate a heating and cooling device in the electric vehicle. The controller is configured to output an adjustment for the setting based on the predicted state of health of the battery.

[0006] In another feature, the controller is configured to control the heating and cooling device based on the adjustment.

[0007] In another feature, the controller is configured to output the adjustment further based on a speed of the electric vehicle and a distance to a destination.

[0008] In another feature, the controller is configured to output a second adjustment for a speed of the electric vehicle based on the adjustment for the setting and a distance to a destination.

[0009] In another feature, the controller is configured to control a speed of the electric vehicle based on the adjustment and a distance to a destination.

[0010] In another feature, the adjustment is output to a human to machine interface in the electric vehicle.

[0011] In another feature, the adjustment is output to the heating and cooling device.

[0012] In another feature, the adjustment includes unlocking options on a human to machine interface in the electric vehicle to control the heating and cooling device.

[0013] In another feature, the adjustment includes restricting options on a human to machine interface in the electric vehicle to control the heating and cooling device.

[0014] In others feature, the controller is configured to receive additional settings to operate additional heating and cooling devices in the electric vehicle. The controller is configured to output adjustments for the additional settings based on the predicted state of health of the battery, a speed of the electric vehicle, and a distance to a destination. [0015] In another feature, the controller is configured to output an additional adjustment for the speed of the electric vehicle based on the adjustment for the setting and the adjustments for the additional settings.

[0016] In another feature, the heating and cooling device is located in a first zone in the electric vehicle, and at least one of the additional heating and cooling devices is located in a second zone in the electric vehicle.

[0017] In another feature, the controller comprises the model.

[0018] In another feature, the model is located in a cloud.

[0019] In another feature, the controller comprises the model, and the controller is configured to receive an update for the model from a server located in a cloud.

[0020] In another feature, the controller is configured to output a warning regarding safety of the battery to a human to machine interface in the electric vehicle based on the predicted state of health of the battery.

[0021] In another feature, the controller is configured to output an alternate route to a destination to a human to machine interface in the electric vehicle based on the adjustment for the setting, a speed of the electric vehicle, and a distance to the destination.

[0022] In still other features, a method comprises measuring an electrochemical impedance of a battery of an electric vehicle. The method comprises receiving, based on the measured electrochemical impedance, a prediction for a battery parameter from a model trained using electrochemical impedance measurements of a plurality of batteries. The method comprises controlling a heating and cooling device in the electric vehicle based on the predicted battery parameter.

[0023] In another feature, the battery parameter is selected from a group consisting of a state of health of the battery, a state of charge of the battery, and a remaining useful life of the battery.

[0024] In another feature, the method further comprises controlling a speed of the electric vehicle based on the predicted battery parameter and a distance to a destination.

[0025] In another feature, the controlling includes providing a setting for the heating and cooling device on a human to machine interface in the electric vehicle. [0026] In another feature, the controlling includes unlocking a range of settings for the heating and cooling device on a human to machine interface in the electric vehicle.

[0027] In another feature, the controlling includes restricting a range of settings for the heating and cooling device on a human to machine interface in the electric vehicle.

[0028] In other features, the method further comprises receiving settings to operate additional heating and cooling devices in the electric vehicle. The method further comprises controlling the additional heating and cooling devices and a speed of the electric vehicle based on the predicted battery parameter and a distance to a destination.

[0029] In another feature, the heating and cooling device is located in a first zone in the electric vehicle, and at least one of the additional heating and cooling devices is located in a second zone in the electric vehicle.

[0030] In another feature, the method further comprises providing an indication regarding safety of the battery on a human to machine interface in the electric vehicle based on the predicted battery parameter.

[0031] In another feature, the method further comprises providing an indication regarding an alternate route to a destination on a human to machine interface in the electric vehicle based on the predicted battery parameter, a speed of the electric vehicle, and a distance to the destination.

[0032] In still other features, a computing device comprises a processor and a memory storing instructions which when executed by the processor configure the processor to receive an electrochemical impedance measurement of a battery of an electric vehicle via a network. The instructions further configure the processor to output, based on the electrochemical impedance measurement and a model trained using electrochemical impedance measurements of a plurality of batteries, a prediction regarding a state of health of the battery and recommendations for extending battery life and range of the electric vehicle to a mobile device via the network.

[0033] In still other features, a computing device comprises a processor and a memory storing instructions which when executed by the processor configure the processor to receive electrochemical impedance measurements of batteries of a plurality of electric vehicles via a network. The instructions configure the processor to receive data about driving operations from the plurality of electric vehicles via the network. The instructions configure the processor to correlate the electrochemical impedance measurements and the data about driving operations and determine usage patterns of the batteries based on the correlated data. The instructions configure the processor to provide, to a manufacturer of the batteries via the network, the data about driving operations to test the batteries under conditions similar to the driving operations. The instructions configure the processor to provide, to the manufacturer of the batteries via the network, the usage patterns to predict life and safety of the batteries and optimize design parameters for subsequent battery designs.

[0034] Further areas of applicability of the present disclosure will become apparent from the detailed description, the claims and the drawings. The detailed description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS [0035] The present disclosure will become more fully understood from the detailed description and the accompanying drawings, wherein:

[0036] FIG. 1 shows an example of a control system of an electric vehicle;

[0037] FIG. 2 shows an example of a battery of the electric vehicle;

[0038] FIG. 3 shows an example of a circuit for measuring an electrochemical impedance of the battery;

[0039] FIG. 4 shows an example of an environment control subsystem of the electric vehicle;

[0040] FIG. 5 shows an example of a comfort zone in the electric vehicle;

[0041] FIG. 6 shows an example of a heating and cooling device used in a comfort zone in the electric vehicle;

[0042] FIGS. 7-9 show a method of controlling climate in comfort zones of the electric vehicle while optimizing the range of the electric vehicle;

[0043] FIG. 10 shows an example of a system comprising a server that communicates with mobile devices of vehicle owners and original equipment manufacturer (OEM) systems via a distributed communication network; [0044] FIG. 11 shows a method for providing status and health and safety predictions of the battery to a mobile device; and

[0045] FIG. 12 shows a method for providing live driving data of vehicles and usage patterns of batteries of the vehicles to an OEM system.

[0046] In the drawings, reference numbers may be reused to identify similar and/or identical elements.

DETAILED DESCRIPTION

[0047] The present disclosure provides systems and methods for optimizing the performance of electric vehicles using predictive battery analysis. Specifically, the systems and methods combine a predictive analysis of the health and safety of a battery used in an electric vehicle with the vehicle’s operational data and the driver’s driving behavior data, and provide recommendations and/or controls to operate the electric vehicle and its subsystems. For example, the recommendations and/or controls can include suggestions and decisions for adjusting comfort settings in the cabin and optimizing the range of the electric vehicle.

[0048] Before describing these systems and methods, an overview of traditional battery management systems and their shortcomings is initially presented. Subsequently, an electrochemical impedance spectroscopy (EIS) system that fully characterizes the internal impedance of batteries and that overcomes these shortcomings is described. Thereafter, a predictive analysis system that processes data from the EIS system using machine learning and that provides a predictive analysis of the health and safety of the battery is described.

[0049] An electric vehicle uses a multi-cell battery that provides optimum performance when all of the cells in the battery are matched. Most battery standards specify that a battery should be built using only matched cells. Additionally, all of the cells in the battery should also remain matched throughout the life of the battery. Mismatching of cells can adversely affect the safety and efficiency of the batteries. For example, cells can be considered matched if their voltages are within ±5 mV at full charge, their ampere-hour (Ah)-capacities are within ±5 mAh, and their internal impedances are within ±0.5% at multiple frequencies (e.g., 1 Hz, 10 Hz, 100 Hz, and 1 kHz). Cell mismatch can occur due to overcharging and over-discharging of the cells, internal and external shorts in the cells, or if the battery is not used for an extended period. Other factors causing cell mismatch may include non-uniform heating of the cells and faulty chargers that can cause one or more cells to overcharge. Predicting cell mismatch is essential for thermal safety and electrical efficiency of the batteries.

[0050] A battery management system (BMS) should identify mismatched cells throughout the life of the battery. However, cell matching is typically performed only when a battery is manufactured but not during its use. After the battery is installed, other than ensuring that cell voltages match during charging, the cells are not typically monitored for cell matching. A conventional BMS typically monitors only voltage (Ecv) and surface temperature (Tsurf) of a cell. For example, the Ecv data is used to ensure that the cells do not exceed preset upper and lower voltage limits during charging and discharging, respectively. However, these measurements cannot ensure safety or improve efficiency of the batteries. Some BMSs also monitor Ah-capacity and internal impedance (Rs) of the cells but only at a single frequency (e.g., 1 kHz). However, this data is used to identify capacity matching and loss of capacity and power.

[0051] A BMS that monitors only the maximum and minimum Ecv, single frequency internal impedance Rs, Ah-capacity, and Tsurf of a few cells cannot identify mismatched cells and emerging failures in the batteries. For example, foreign-object- debris (FOD), which is any nonfunctional material in a cell, can cause an internal short circuit in the cell. The FOD can also cause chemical changes induced by over discharging of the cell. Further, the FOD can cause chemical and physical changes in the cell after cycling and calendar aging of the cell. Consequently, the Ecv data of cells with FOD may be similar to the Ecv data of cells without corresponding abnormalities, and the Ecv data alone cannot identify cell mismatch. When a battery is rapidly charged or discharged, the Tsurf data cannot indicate impending damage to the interior of the cell. Surface-mounted temperature sensors used to measure Tsurf cannot differentiate an over-discharged cell from normal cells. Monitoring Rs can be useful but only when measurements are made for a cell at rest and not when the cell is charged and discharged. Although single-frequency Rs monitoring can estimate cell aging, the estimate is valid only if the impedance is measured after the cell is rested. The Rs data can be correlated to the temperature of cell electrolyte only if age-induced changes in the electrolyte resistance are disregarded and no current flows through the cell. Therefore, monitoring cell aging from high-frequency impedance data can be useful only if the impedance is measured when the cell is at rest, and the cell is maintained at the same internal temperature between each measurement. The EIS system described below overcomes these shortcomings by identifying and tracking changes in the internal state of each cell when the battery is charging, discharging, and at rest.

[0052] Specifically, a Li-ion cell in a battery comprises an anode, a cathode, an electrolyte, a separator, and current collectors. Each component reacts differently to temperature and current flows. A solid-electrolyte-interphase (SEI) layer is most sensitive to temperature and least sensitive to state of charge (SOC). Current flow changes the temperature of SEI layer. Measuring internal impedance of the cell allows monitoring the anode and cathode temperatures. Low-frequency impedance (1-10 Hz) is influenced by both SOC and internal temperature. High-frequency impedance is also sensitive to temperature and cell aging. Accordingly, a multi-frequency impedance measuring circuit that measures both phase shift and amplitude can detect changes occurring in the anode, the cathode, and the electrolyte.

[0053] To fully characterize the internal impedance, the EIS system measures in- phase and quadrature (i.e. , real and imaginary) internal impedance at multiple frequencies (e.g., between 1 and 1000 Hz). By monitoring amplitude and phase shift at multiple frequencies, the EIS system fully characterizes the internal impedance of the anode, the cathode, and the electrolyte. The multi-frequency real and quadrature impedance data can be correlated to evolving cell mismatches. The internal impedance data at multiple frequencies yields complete information about anode impedance, cathode impedance, electrolyte resistance, anode temperature, cathode temperature, and electrolyte temperature of the cell. The impedance of each component has different behavior at different frequency ranges. The respective impedance values can be measured for at least one frequency within each frequency range. The measurements allow measuring an internal temperature (Tint) of the cell, which is the temperature of different components within the cell (e.g., anode, cathode, and electrolyte). The Tint measurements allow predicting safety issues better than Tsurf.

[0054] FIG. 1 shows an example of a control system 100 of an electric vehicle. The control system 100 comprises a controller 102, a battery 104, a battery management system (BMS) 106, an infotainment subsystem 108, an environment control subsystem 110, and an autonomous driving subsystem (implementing SAE Levels 1-5) 112. The infotainment subsystem 108 may include audiovisual multimedia subsystems and a human to machine interface (HMI) that allows occupants of the electric vehicle to interact with the control system 100. The environment control subsystem 110 may include comfort control subsystems such as an HVAC subsystem, and more particularly a microclimate control system described below with reference to FIGS. 4-6, and a lighting control subsystem that control the interior lighting in the cabin and provide a comfortable environment to the occupants of the electric vehicle.

[0055] The control system 100 further comprises a plurality of navigation sensors 114 that provide navigation data to the autonomous driving subsystem 112. For example, the navigation sensors 114 may include cameras, radar and Lidar sensors, a global positioning system (GPS), and so on. Based on the data received from the navigation sensors 114, the autonomous driving subsystem 112 controls a steering subsystem 116 and a braking subsystem 118 of the electric vehicle.

[0056] The control system 100 further comprises a communication subsystem 120 that can communicate with one or more servers 122 in a cloud via a distributed communication network 124. For example, the distributed communication network 124 may include a cellular network, a satellite-based communication network, a Wi-Fi network, the Internet, and so on. The communication subsystem 120 may include one or more transceivers for communicating with the distributed communication network 124. In some examples, the battery 104 and the BMS 106 may also include one or more transceivers for communicating with the distributed communication network 124 directly or via the communication subsystem 120. Thus, the battery 104 and the BMS 106 may also communicate with the servers 122 in the cloud. Further, the controller 102 and the infotainment subsystem 108 may receive traffic and weather data from the servers 122 in the cloud via the distributed communication network 124 and communication subsystem 120.

[0057] FIG. 2 shows an example of the battery 104. For example, the battery 104 comprises a plurality of cells 130, a cell sensing circuit 132, and an EIS circuit 134. The cell sensing circuit 132 may include circuits to sense various parameters such as voltage, current, and temperature of the cells 130. The EIS circuit 134, which is shown and described in detail with reference to FIG. 3, collects EIS data from the cells 130. In some examples, a model used to predict the health and safety of the cells 130 may be embedded in the EIS circuit 134. In some examples, the model may be located in the servers 122 in the cloud, and the EIS circuit 134 may communicate with the servers 122 directly via the distributed communication network 124 or via the communication subsystem 120. [0058] FIG. 3 shows an example of the EIS circuit 134. The EIS circuit 134 comprises an AC signal generator 140, a multiplexer 142, a voltage measuring circuit 144, and a processor 146. The EIS circuit 134 collects impedance data from each of the cells 130 of the battery 104. The EIS circuit 134 collects the impedance data by injecting into the cells 130 an AC current signal of a small fixed amplitude at multiple frequencies (e.g., 1 Hz to 1 kHz). The AC signal generator 140 generates the AC current signal using a constant current source, which ensures that a current of constant amplitude passes through each of the cells 130. The multiplexer 142 routs the AC current signal through the cells 130 by selecting one cell at a time. The AC current signal perturbs the selected cell, which generates a voltage response to the perturbation. Accordingly, the AC current signal may also be called a perturbation signal or a perturbation current.

[0059] At each frequency, the voltage measuring circuit 144 measures the amplitude of the voltage response of the selected cell, which is a direct measure of the impedance of the selected cell. The processor 146 measures a phase shift between the perturbation signal and the voltage response of the selected cell. The processor 146 correlates the phase shift to anode and cathode temperatures of the selected cell. The frequency range (e.g., 1 Hz to 1 kHz) covers the impedance measurements needed to estimate and manage the electrical efficiency and thermal safety of the battery 104.

[0060] The impedance measurements at different frequencies provide different information about each cell. For example, measurements at 70 Hz provide anode temperature, measurements at 10 Hz provide cathode temperature, measurements at 400-1000 Hz provide electrolyte resistance and state of health (SOH), and measurements at 2 Hz provide SOC. The EIS circuit 134 also measures voltages Ecv of each cell. The processor 146 measures the electrolyte resistance of each cell as a ratio of the cell voltage Ecv to the perturbation current and is measured at a high- frequency (e.g., 400 Hz).

[0061] The EIS circuit 134 measures the internal impedance Rs of each cell at multiple frequencies. Between 400 Hz and 1 kHz, the EIS circuit 134 measures the amplitude of the AC voltage response to the applied AC current, which yields the electrolyte resistance, which is correlated to SOH. The EIS circuit 134 also measures the internal impedance Rs at a low frequency (e.g., 1 and 2 Hz) that is correlated to SOC. The anode and cathode temperatures are measured differently. For example, between 20 and 200 Hz, the EIS circuit 134 measures the phase shift that is correlated to anode temperature. At about 10 Hz, the EIS circuit 134 measures the phase shift that is correlated to cathode temperature. The processor 146 measures the phase shifts (e.g., at 70 and 10 Hz) by comparing a zero crossing of a reference signal with a zero crossing of a return signal from the cell. The frequency of the reference signal is the same as the frequency of the perturbation signal. The time interval between the zero- crossings of the two signals denotes the phase difference between the perturbation signal and the resultant signal across the cell.

[0062] The EIS circuit 134 monitors internal temperatures (anode, cathode, and electrolyte temperatures) of each cell and identifies existing and emerging mismatches between cells regardless of whether the battery is at rest (i.e. , stored or unused), being charged, or being discharged by supporting a load. This can ensure battery safety since rising internal temperature is a precursor to thermal runaway that usually originates in a single cell before spreading to the neighboring cell and causing conflagration. Further, rising temperature in a cell skews its electrolyte resistance (at a relatively high frequency), anode impedance (at an intermediate frequency), and/or cathode impedance (at a relatively low frequency) sufficient to cause cell mismatch. By measuring the internal temperatures (anode, cathode, and electrolyte temperatures), the EIS circuit 134 can identify these emerging mismatches.

[0063] The EIS circuit 134 outputs these measurements (hereinafter called the EIS measurements or EIS data) that can be used to perform safety functions including monitoring cell matching and SOH, and guarding against excursions in Tint and Ecv beyond pre-specified safety ranges for each cell in the battery 104. In Li-ion cells, since unsafe conditions such as thermal runaway can develop over seconds, the EIS circuit 134 has a relatively short reaction time. To measure the internal temperatures (anode, cathode, and electrolyte temperatures), the outputs of the EIS circuit 134 are calibrated against temperature. The calibration is performed once for each cell model. The Ecv measurements do not need calibration.

[0064] The outputs of the EIS circuit 134 (i.e., the EIS data) can be used to identify cell match in new cells, divergences from matched values (e.g., caused by calendar aging), and mismatch caused by over-discharging. The EIS data can be used to control the charge and discharge circuits of the battery 104 by setting upper and lower limits on the anode and cathode temperature, impedance, and cell voltages. For example, the EIS data can be used by the BMS 106 to send commands to control systems that regulate the current and voltages in the charging and load circuits of the battery 104. The EIS data can also be utilized by a machine learning model to predict the safety and efficiency of the battery 104 as explained below.

[0065] The impedance measurements of a battery can vary with temperature. A model can be trained using machine learning to predict battery parameters such as state of health (SOH), state of charge (SOC), and remaining useful life (RUL) of the battery, which can indicate safety and efficiency of the battery 104, based on prevailing operating conditions of the battery 104. To train the model, the EIS data from numerous batteries is collected at different states of health, states of charge, and temperatures. The EIS data is input to a machine learning model that determines which features predict battery degradation. The machine learning model can then predict the battery parameters such as SOH, SOC, and RUL of any similar battery without complete knowledge of past operating conditions of the battery.

[0066] Conventional methods used to predict battery health rely on modelling microscopic degradation mechanisms such as lithium plating, active material loss, and growth of the solid-electrolyte interphase (SEI), which is a passivation layer generated on the anode during initial charging cycles. However, while offering physical insights, characterizing and simulating every degradation mechanism is not scalable. Instead, data-driven methods perform real-time, non-invasive measurements on the battery and use statistical machine learning to relate the measurements to battery health without modelling a physical mechanism. However, defining a set of physically informative inputs and building a robust statistical model can be challenging.

[0067] Some models use features derived from charging and discharging curves as inputs since typical BMSs collect current-voltage data. Instead, the EIS circuit 134 provides impedance data over a wide range of frequencies, which directly relates to possible degradation in the battery and is able to track the status of the battery more accurately than these other methods. The entire EIS dataset from numerous batteries is input to a machine learning model that can select variables that are most relevant to predict the status of a battery. For example, a machine learning technique such as Gaussian Process Regression (GPR) can be used to accurately estimate capacity and predict RUL of a battery (which are key indicators of the SOH of a battery) using the EIS spectrum. The GPR model can estimate battery parameters such as capacity and RUL of a battery cycled at various temperatures at any point of its life from a single impedance measurement made using the EIS circuit 134.

[0068] For example, the GPR model can estimate battery parameters such as capacity and RUL at multiple temperatures as follows. A historical operating condition (e.g., temperature) of a cell varies with time. Although temperatures are measured with sensors within a battery, actual temperatures of the cells can vary due to large temperature gradients under operating conditions. The GPR model can still predict RUL based on the EIS data measured at the current cycle without knowledge of the cycling temperature so long as the future operating temperature is close to its previous operating temperature (e.g., the temperature can be either 25, 35 or 45 °C). Combining the EIS data acquired at different temperatures during training allows the GPR model to learn which features of the EIS data depend on capacity (or any other battery parameter to be predicted) and not on temperature. The trained GPR model can estimate capacity (or any other parameter) of the cells cycled at different temperatures (e.g., 35 and 45 °C). A multi-temperature GPR model can be similarly built to predicting RUL (or any other parameter) of cells cycled at different temperatures. The GPR model trained using the EIS spectrum accurately predicts the battery parameters only from the EIS data acquired at the current cycle without requiring EIS data from previous cycles.

[0069] Notably, these models trained on EIS data obtained from batteries operating under various conditions can learn patterns of battery performance and proactively provide advanced warnings about future health and safety of the battery 104 based on current EIS data of the battery 104. These models can predict the health and safety of the battery 104 despite dynamically changing operating conditions of the battery 104. In some implementations, these models can be embedded in the EIS circuit 134 itself. In these implementations, the models in the EIS circuit 134 can continue to learn from the EIS data collected from the battery 104 by the EIS circuit 134. The models can also be periodically updated by downloading updates from the servers 122 in the cloud, which are generated based on the EIS data obtained from the battery 104 periodically or in real time. In alternate implementations, the models may reside in the servers 122, monitor the health of the battery 104 based on the EIS data obtained from the battery 104 periodically or in real time, and provide advanced warnings about the health and safety of the battery 104 to the occupants of the electric vehicle. [0070] The predictions from the models can be useful in many applications. For example, the predictions about upcoming failure of the battery 104 can be useful to plan and schedule service. The failure possibilities for a batch of batteries can be useful for planning inventory purchases and distribution of replacement batteries to dealerships. Additionally, predictions of SOC can be useful in guiding and altering driver behavior to optimize the range and comfort settings. For example, the driver may be driving conservatively or sacrificing comfort settings (e.g., not using heating/cooling, interior lighting, etc.) to reach a destination. Flowever, the SOC prediction may allow the driver to take some liberties such as driving faster and/or enjoying more comfortable environmental settings. Suggestions can be made to the driver to be more liberal with comfort settings. For example, the HMI on the infotainment subsystem 108 can unlock (i.e. , enable) and make available a wider range of comfort settings to the driver. Alternatively, based on the driver’s comfort preferences and the predicted SOC, the environment control subsystem 110 can automatically control the comfort settings close to the driver’s preferences. Conversely, the driver may be driving aggressively or liberally using comfort settings. Flowever, the SOC prediction may indicate that such driving will not allow the driver to reach the destination. Suggestions can be made to the driver to conserve power by driving slowly and/or sacrificing comfort settings. For example, the HMI on the infotainment subsystem 108 can restrict (i.e., disable) or make available a narrower range of comfort settings to the driver. Alternatively, based on the driver’s comfort preferences and the predicted SOC, the environment control subsystem 110 can automatically control the comfort settings contrary to the driver’s preferences and provide best possible comfort settings to optimize the range of the electric vehicle.

[0071] Specifically, the predictions about the health and safety of the battery 104 provided by the model trained using the EIS data can be combined with the driver’s behavior (e.g., acceleration, comfort preferences, etc.) to optimize the performance of the electric vehicle. For example, the controller 102 can provide recommendations on the HMI on the infotainment subsystem 108 for modifying (e.g., constraining or liberalizing) the driver’s behavior. Alternatively, the controller 102 can automatically control the vehicle’s operation (e.g., by controlling the environment control subsystem 110 and/or the autonomous driving subsystem 112) to optimize the vehicle’s range while providing the best possible comfort to the occupants of the electric vehicle as explained below in further detail. [0072] Traditional HVAC systems are designed to centrally heat and cool the entire cabin. These systems significantly drain the battery 104, which adversely impacts the range of the electric vehicle. Instead, the environment control subsystem 110 is a microclimate control system that controls localized heating and cooling devices to create personalized comfort for each occupant while reducing power drawn from the battery 104, which maximizes the range. The environment control subsystem 110 creates comfort zones per occupant and provides localized heating and cooling based on occupancy and occupants’ individual preferences. For example, a comfort zone of an occupant can include heating and cooling devices deployed in the following areas: seat, neck, foot-well, perimeter (e.g., door panel), armrest, and steering (for the driver). The environment control subsystem 110 links, balances, and fine-tunes all of the heating and cooling devices in the comfort zones. The environment control subsystem 110 selectively provides heating and cooling to any of these areas in any of the comfort zones to provide personalized thermal comfort to each occupant. The environment control subsystem 110 improves personalization, eliminates the need for multi-zone HVAC, and increases the electrical efficiency of the battery 104 by minimizing the power drawn from the battery 104, which maximizes the range of the electric vehicle. As explained below in detail, the environment control subsystem 110 provides personalized comfort not only based on the occupants’ comfort preferences but also based on the driver’s driving behavior and the predictions of the health and safety of the battery 104 provided by the model trained using the EIS data.

[0073] FIGS. 4-6 show an example of the environment control subsystem 110 in further detail. In FIG. 4, the environment control subsystem 110 comprises a climate control module 150 and a plurality of comfort zones. For example, the electric vehicle may include four comfort zones: comfort zone 1 152-1, comfort zone 2 152-1, comfort zone 3 152-3, and comfort zone 4 152-4 (collectively the comfort zones 152).

[0074] In FIG. 5, each comfort zone 152 may comprise a plurality of heating and cooling (H/C) devices (shown as elements 154). While called H/C devices, some of the H/C devices (e.g., in a steering) may include only a heating device while some other H/C devices may include only a cooling device. Further, some of the H/C devices (e.g., in a seat) may not include a fan while some other H/C devices may include a fan.

[0075] The H/C devices may be disposed in and around various components in each comfort zone 152. For example, a seat H/C device 154-1 may be disposed in a seat in the comfort zone 152. The seat H/C device 154-1 can heat the seat in the comfort zone 152. A neck H/C device 154-2 may be disposed in a neck area of the seat in the comfort zone 152. The neck H/C device 154-2 can blow warm and cold air around the neck area of the seat in the comfort zone 152. A foot-well H/C device 154-3 may be disposed in a foot-well under the seat in the comfort zone 152. The foot-well H/C device 154-3 can blow warm and cold air in the foot-well under the seat in the comfort zone 152. A perimeter H/C device 154-4 may be disposed in a perimeter around the seat (e.g., in a door panel) in the comfort zone 152. The perimeter H/C device 154-4 can heat surfaces in the perimeter around the seat in the comfort zone 152. An armrest H/C device 154-5 may be disposed in an armrest in the comfort zone 152. The armrest H/C device 154-5 can heat the armrest in the comfort zone 152. A steering H/C device 154- 6 may be disposed in a steering wheel of the electric vehicle, which is present only in the driver’s comfort zone 152. The steering H/C device 154-6 can heat the steering wheel of the electric vehicle. These H/C devices are collectively called the H/C devices 154.

[0076] FIG. 6 shows an example of the H/C device 154. The H/C device 154 may include a heating element 160 and a blower 162. As mentioned above, some of the H/C devices 154 may include only the heating element 160 while some other H/C devices 154 may include only the blower 162.

[0077] In FIG. 4, the climate control module 150 communicates with the controller 102. The infotainment subsystem 108 communicates with the controller 102 and comprises an HMI 109. For example, the HMI 109 can include audiovisual input/output devices. For example, the HMI 109 may include a microphone to receive audio commands from the occupants of the electric vehicle. The HMI 109 may include a speaker to output audio instructions to the occupants of the electric vehicle. The HMI 109 may include a touch screen to display messages, selectable menus, and so on. The HMI 109 may include cameras to capture the occupants’ gestures. While a single HMI 109 is shown, each comfort zone 152 may include a respective HMI. Occupants can input comfort setting preferences for their comfort zones through the respective HMIs. The climate control module 150 receives the occupants’ comfort setting preferences from the HMIs via the controller 102. In some examples, the HMIs may be included in the environment control subsystem 110 and may communicate directly with the climate control module 150. [0078] Additionally, the climate control module 150 receives inputs about the driver’s driving behavior (or about the electric vehicle’s operation when in autonomous mode) such as acceleration, braking, distance to destination (including via preferred and alternate routes), and so on from the autonomous driving subsystem 112. The climate control module 150 receives traffic and weather data from the infotainment subsystem 108. These inputs of the climate control module 150 are hereinafter collectively called the driving data. Furthermore, the climate control module 150 receives the predictions of the health and safety of the battery 104 provided by the model trained using the EIS data. Notably, the model provides the predictions based on current electrochemical impedance measurements of the battery 104 provided by the EIS circuit 134 under current operating conditions of the battery 104. The climate control module 150 controls heating and cooling in the comfort zones 152 based on the occupants’ comfort setting preferences, the driving data, and the predictions as follows.

[0079] FIGS. 7-9 show a method 200 performed by the climate control module 150 to control heating and cooling in the comfort zones 152 based on the occupants’ comfort setting preferences, the driving data, and the predictions. FIG. 7 shows the overall method. FIGS. 8 and 9 show the method 200 in further detail. As mentioned above, the environment control subsystem 110 or the controller 102 may implement the climate control module 150 and perform the method 200 as follows.

[0080] In FIG. 7, at 201, the method 200 measures the electrochemical impedance of the battery 104 using the EIS circuit 134 under current operating conditions of the battery 104. At 202, the method 200 receives predictions about the health and safety of the battery 104 from the model trained using the EIS data. The model provides the predictions based on the electrochemical impedance of the battery 104 measured by the EIS circuit 134 under current operating conditions of the battery 104.

[0081] At 204, the method 200 receives comfort settings (i.e. , heating and cooling preferences) from one or more occupants of the electric vehicle for their respective comfort zones 152. For example, the one or more occupants may input their preferences via the HM I 109.

[0082] At 206, the method 200 receives driving data from the autonomous driving subsystem 112. For example, the driving data may include speed and braking data of the electric vehicle, the distance to destination, traffic and weather data, alternate routes, and so on. Sometimes the driver may intend to travel faster while at other times, the driver may not mind traveling at a leisurely speed. Sometimes the driver may desire to travel via freeways while at other times, the driver may desire traveling via surface streets. Sometimes the autonomous driving subsystem 112 may make these decisions (i.e. , select a route to a destination) for the driver while at other times, the driver may input related commands or selections via the HMI 109.

[0083] At 208, the method 200 provides recommendations or automatically adjusts the comfort settings and/or the vehicle’s driving operations (e.g., speed) based on the predictions to optimize the range of the electric vehicle while providing the best possible comfort to the occupants. The method 200 can provide recommendations (e.g., messages, alerts, etc.) on the HMI 109 regarding the adjustments to be made to the comfort settings and/or the vehicle’s driving operations. In some examples, instead of or in addition to providing recommendations, the method 200 may make additional (i.e., liberal) or fewer (i.e., restrictive) options available on the HMI 109 (e.g., by enabling or disabling the options in a menu displayed on the HMI 109) to control the H/C devices 154. Alternatively, the method 200 can provide control signals to the H/C devices 154 and/or the autonomous driving subsystem 112 to automatically control the comfort settings and/or the vehicle’s driving operations. FIGS. 8 and 9 respectively show examples of the step 208 as 208-1 and 208-2 in further detail.

[0084] For example, in step 208-1 in FIG. 8, at 220, the method 200 determines if the battery predictions (e.g., the SOH and SOC of the battery 104) and the driving data can permit the comfort settings preferred by the occupants. Specifically, the method 200 determines based on the predicted SOC of the battery 104, current speed of the electric vehicle, and distance to destination, if the comfort settings preferred by the occupants can be used. For example, to reach the destination at the current speed and the predicted SOC, some or all of the comfort settings preferred by the occupants may be permissible. Alternatively, to reach the destination at the current speed and the predicted SOC, some or all of the comfort settings preferred by the occupants may need to be constrained. For example, to reach the destination at the current speed and the predicted SOC, only the comfort settings of the driver may be fulfilled while some or all of the comfort settings preferred by the other occupants may need to be constrained. For example, to reach the destination at the current speed and the predicted SOC, some of the comfort settings preferred by the driver and the other occupants can be fulfilled while some other comfort settings preferred by the driver and the other occupants may need to be constrained. [0085] If the comfort settings preferred by all of the occupants can be used and yet the destination can be reached at the current speed and the predicted SOC, at 222, the method controls the H/C devices 154 according to the occupants’ preferred comfort settings. If the comfort settings preferred by all of the occupants cannot be used to reach the destination at the current speed and the predicted SOC, at 224, the method 200 optimizes (e.g., constrains) one or more comfort settings for one or more comfort zones 152 and controls the H/C devices 154 in the one or more comfort zones 152 according to the optimized/constrained comfort settings so as to reach the destination at the current speed and the predicted SOC. Alternatively, instead of automatically controlling the H/C devices 154, the method 200 provides recommendations regarding the optimized/constrained comfort settings on the HMI 109.

[0086] In another example, in step 208-2 in FIG. 9, at 240, the method 200 determines if the battery predictions (e.g., the SOH and SOC of the battery 104) allows maintaining the comfort settings and the current driving settings (e.g., speed, route, etc.). Specifically, the method 200 determines based on the predicted SOC of the battery 104, current speed of the electric vehicle, and distance to destination, if the comfort settings preferred by the occupants and the current driving settings can be used. For example, to reach the destination at the current speed and the predicted SOC, some or all of the comfort settings preferred by the occupants and the current driving settings may be permissible while maintaining the current speed. Alternatively, to reach the destination at the current speed and the predicted SOC, some or all of the comfort settings preferred by the occupants may need to be constrained. For example, to reach the destination at the current speed and the predicted SOC, only the comfort settings of the driver may be fulfilled while some or all of the comfort settings preferred by the other occupants may need to be constrained. For example, to reach the destination at the current speed and the predicted SOC, some of the comfort settings preferred by the driver and the other occupants can be fulfilled while some other comfort settings preferred by the driver and the other occupants may need to be constrained.

[0087] In some examples, in addition to or as an alternative to the above adjustments to the comfort setting, the speed of the electric vehicle may need to be adjusted. For example, to reach the destination based on the predicted SOC, only the speed of the electric vehicle may need to be reduced, and the comfort setting can be maintained. In other examples, to reach the destination based on the predicted SOC, the speed of the electric vehicle and one or more comfort settings may need to be constrained. Conversely, in some examples, to reach the destination based on the predicted SOC, not only the comfort setting can be maintained but the speed of the electric vehicle may be increased. Alternatively, to reach the destination based on the predicted SOC, some or all of the comfort setting may need to be constrained while the speed of the electric vehicle may be increased.

[0088] If the comfort settings preferred by all the occupants can be used and the destination can be reached at the current speed and the predicted SOC, at 242, the method controls the H/C devices 154 according to the occupants’ preferred comfort settings. If the comfort settings preferred by all of the occupants and the current driving speed cannot be maintained to reach the destination at the predicted SOC, at 244, the method 200 optimizes (e.g., constrains) one or more comfort settings for one or more comfort zones 152 and controls the H/C devices 154 in the one or more comfort zones 152 and the speed of the electric vehicle according to the optimized/constrained comfort settings and driving settings so as to reach the destination. Alternatively, instead of automatically controlling the H/C devices 154 and/or the speed of the electric vehicle, the method 200 provides recommendations regarding the optimized/constrained comfort settings and/or driving settings on the HMI 109.

[0089] The method 200 is not limited to controlling the comfort settings such as heating and cooling and interior lighting in the electric vehicle. The teachings of the method 200 apply equally to controlling any load in the electric vehicle powered by the battery 104. Non-limiting examples of such loads include multimedia systems, charging systems used to charge mobile devices in the electric vehicle, and any other load that draws power from the battery 104 and that is not directly related to the mobility of the electric vehicle. Power supply from the battery 104 to all of such loads can be adjusted and controlled as explained above.

[0090] FIG. 10 shows an example of a system 300 comprising the servers 122 that communicate with mobile devices 302 of vehicle owners and with original equipment manufacturer (OEM) systems 304 via the distributed communication network 124. For example, the OEM systems 304 may include subsystems that design validation plans of batteries (test the batteries the way they are used), optimize battery design parameters for future vehicles, manage battery inventories, and so on. In the following discussion, the servers 122, the mobile devices 302, and the OEM systems 304 will be described as singular instead of plural. [0091] For example, when the model described above is located in the server 122, the server 122 can provide the status and predictions about the battery 104 via an app on the mobile device 302 of the vehicle owner. When the model is embedded in the EIS circuit 134, the battery status and predictions can be provided via the app on the mobile device 302 in many ways. For example, when the vehicle owner is in the electric vehicle, the mobile device 302 can be connected (e.g., paired via Bluetooth) to the infotainment subsystem 108. Accordingly, the battery status and predictions can be provided to the mobile device 302 via the infotainment subsystem 108. Alternatively, when the vehicle owner is not the electric vehicle, the mobile device 302 is not connected to the infotainment subsystem 108. Flowever, the model in the EIS circuit 134 can provide the battery status and predictions to the server 122, which in turn provides the battery status and predictions to the mobile device 302 via the distributed communication network 124. This can be helpful in many ways. For example, the vehicle owner can plan the driving based on the battery status. Further, while the vehicle owner is driving, the battery status and predictions can be available on a mobile device of a family member of the vehicle owner.

[0092] In addition, OEM systems can benefit from the driving data and battery data (i.e. , EIS data) received by the server 122 from a multitude of vehicles. The server 122 can provide the OEM system 304 live driving data about how the vehicles are being driven (e.g., conservatively, aggressively, frequently, infrequently, etc.). Based on the driving data received from the server 122, the OEM system 304 can determine how to modify design validation subsystems for the batteries (i.e., test the batteries under conditions in which they are used) for future vehicles. Further, the server 122 can correlate the driving data and the battery data (i.e., EIS data) received from the vehicles. The correlated data can indicate patterns of battery usage. The OEM system 304 can optimize battery design parameters for future vehicles (i.e., design batteries for future vehicles) based on indications of extreme battery usage or the opposite in the correlated data received from the server 122. Furthermore, as already described above, the OEM system 304 can plan and manage battery inventories based on the predictions about the health safety of the batteries received from the server 122.

[0093] FIG. 11 shows a method 350 performed by the server 122 to provide the status and the health and safety predictions of the battery 104 to the mobile device 302. At 352, the server 122 receives EIS data from the battery 104 of the electric vehicle via the distributed communication network 124. At 354, the server 122 generates a prediction about the health and safety of the battery 104 using the EIS data and the model as described above. At 356, the server 122 generates recommendations for extending battery life and range of the electric vehicle using the EIS data and the model as described above. At 358, the server 122 sends the prediction and the recommendations to the mobile device 302 via the distributed communication network 124.

[0094] FIG. 12 shows a method 270 performed by the server 122 to provide live driving data of vehicles and usage patterns of batteries of the vehicles to the OEM system 304. At 372, the server 122 receives EIS data from batteries of a plurality of electric vehicles via the distributed communication network 124. At 374, the server 122 receives the driving data from the electric vehicles via the distributed communication network 124. At 376, the server 122 correlates the EIS data and the driving data. At 378, the server 122 determines usage patterns of the batteries based on the correlated data. At 380, the server 122 provides the driving data and the usage patterns to the OEM system 304. At 382, the OEM system 304 modifies the subsystems used to validating design of the batteries under conditions similar to the driving data. At 384, the OEM system 304 predicts life and safety issues of the batteries (e.g., dendrite growth) and optimizes design parameters for future battery designs based on the usage pattern to withstand the usage indicated in the usage patterns and to improve the performance (e.g., range, health, and safety) of the batteries during use in conditions 09jindicated in the usage patterns.

[0095] The foregoing description is merely illustrative in nature and is not intended to limit the disclosure, its application, or uses. The broad teachings of the disclosure can be implemented in a variety of forms. Therefore, while this disclosure includes particular examples, the true scope of the disclosure should not be so limited since other modifications will become apparent upon a study of the drawings, the specification, and the following claims. It should be understood that one or more steps within a method may be executed in different order (or concurrently) without altering the principles of the present disclosure.

[0096] Further, although each of the embodiments is described above as having certain features, any one or more of those features described with respect to any embodiment of the disclosure can be implemented in and/or combined with features of any of the other embodiments, even if that combination is not explicitly described. In other words, the described embodiments are not mutually exclusive, and permutations of one or more embodiments with one another remain within the scope of this disclosure.

[0097] Spatial and functional relationships between elements (for example, between modules, circuit elements, semiconductor layers, etc.) are described using various terms, including “connected,” “engaged,” “coupled,” “adjacent,” “next to,” “on top of,” “above,” “below,” and “disposed.” Unless explicitly described as being “direct,” when a relationship between first and second elements is described in the above disclosure, that relationship can be a direct relationship where no other intervening elements are present between the first and second elements, but can also be an indirect relationship where one or more intervening elements are present (either spatially or functionally) between the first and second elements. As used herein, the phrase at least one of A, B, and C should be construed to mean a logical (A OR B OR C), using a non-exclusive logical OR, and should not be construed to mean “at least one of A, at least one of B, and at least one of C.”

[0098] In the figures, the direction of an arrow, as indicated by the arrowhead, generally demonstrates the flow of information (such as data or instructions) that is of interest to the illustration. For example, when element A and element B exchange a variety of information but information transmitted from element A to element B is relevant to the illustration, the arrow may point from element A to element B. This unidirectional arrow does not imply that no other information is transmitted from element B to element A. Further, for information sent from element A to element B, element B may send requests for, or receipt acknowledgements of, the information to element A.

[0099] In this application, including the definitions below, the terms “module” or “controller” may be replaced with the term “circuit.” The term “subsystem” comprises at least one module or controller, at least one sensor, and at least one actuator to provide the described functionalities. The term “module” or “controller” may refer to, be part of, or include: an Application Specific Integrated Circuit (ASIC); a digital, analog, or mixed analog/digital discrete circuit; a digital, analog, or mixed analog/digital integrated circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor circuit (shared, dedicated, or group) that executes code; a memory circuit (shared, dedicated, or group) that stores code executed by the processor circuit; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip.

[0100] The module may include one or more interface circuits. In some examples, the interface circuits may include wired or wireless interfaces that are connected to a local area network (LAN), the Internet, a wide area network (WAN), or combinations thereof. The functionality of any given module of the present disclosure may be distributed among multiple modules that are connected via interface circuits. For example, multiple modules may allow load balancing. In a further example, a server (also known as remote, or cloud) module may accomplish some functionality on behalf of a client module.

[0101] The term code, as used above, may include software, firmware, and/or microcode, and may refer to programs, routines, functions, classes, data structures, and/or objects. The term shared processor circuit encompasses a single processor circuit that executes some or all code from multiple modules. The term group processor circuit encompasses a processor circuit that, in combination with additional processor circuits, executes some or all code from one or more modules. References to multiple processor circuits encompass multiple processor circuits on discrete dies, multiple processor circuits on a single die, multiple cores of a single processor circuit, multiple threads of a single processor circuit, or a combination of the above. The term shared memory circuit encompasses a single memory circuit that stores some or all code from multiple modules. The term group memory circuit encompasses a memory circuit that, in combination with additional memories, stores some or all code from one or more modules.

[0102] The term memory circuit is a subset of the term computer-readable medium. The term computer-readable medium, as used herein, does not encompass transitory electrical or electromagnetic signals propagating through a medium (such as on a carrier wave); the term computer-readable medium may therefore be considered tangible and non-transitory. Non-limiting examples of a non-transitory, tangible computer-readable medium are nonvolatile memory circuits (such as a flash memory circuit, an erasable programmable read-only memory circuit, or a mask read-only memory circuit), volatile memory circuits (such as a static random access memory circuit or a dynamic random access memory circuit), magnetic storage media (such as an analog or digital magnetic tape or a hard disk drive), and optical storage media (such as a CD, a DVD, or a Blu-ray Disc).

[0103] The apparatuses and methods described in this application may be partially or fully implemented by a special purpose computer created by configuring a general purpose computer to execute one or more particular functions embodied in computer programs. The functional blocks, flowchart components, and other elements described above serve as software specifications, which can be translated into the computer programs by the routine work of a skilled technician or programmer.

[0104] The computer programs include processor-executable instructions that are stored on at least one non-transitory, tangible computer-readable medium. The computer programs may also include or rely on stored data. The computer programs may encompass a basic input/output system (BIOS) that interacts with hardware of the special purpose computer, device drivers that interact with particular devices of the special purpose computer, one or more operating systems, user applications, background services, background applications, etc.

[0105] The computer programs may include: (i) descriptive text to be parsed, such as HTML (hypertext markup language), XML (extensible markup language), or JSON (JavaScript Object Notation) (ii) assembly code, (iii) object code generated from source code by a compiler, (iv) source code for execution by an interpreter, (v) source code for compilation and execution by a just-in-time compiler, etc. As examples only, source code may be written using syntax from languages including C, C++, C#, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, Javascript®, HTML5 (Hypertext Markup Language 5th revision), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, MATLAB, SIMULINK, and Python®.