System and method for efficient battery capacity estimation
By collecting real-time battery information through sensors and using data-driven models, the problem of low efficiency in existing battery capacity estimation systems is solved, achieving efficient and accurate battery capacity estimation.
Patent Information
- Application Number
- CN202411126755.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-07-10
- Filing Date
- 2024-08-16
- Publication Date
- 2026-01-13
AI Technical Summary
Existing battery capacity estimation systems rely on coulomb counts from a fully discharged battery, resulting in low efficiency, high computational workload, high resource utilization, and insufficient accuracy and reliability.
A system and method are adopted to collect real-time information about the battery using sensors. Through data transformation and a data-driven BCE model, the data size is reduced and recurrent neural networks and nonlinear input autoregressive models are trained to achieve efficient battery capacity estimation.
It improves the accuracy and reliability of battery capacity estimation, reduces computational workload and resource utilization, while maintaining the system's portability and ease of modification.
Smart Images

Figure CN121324952A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to battery technology, and more specifically to systems and methods for estimating the state of charge (SoC) and battery capacity of an electric vehicle (EV) while it is being used. Background Technology
[0002] Battery capacity estimation typically relies on coulomb counts; however, to provide an accurate estimate of battery capacity using coulomb counts, the measurement depends on fully discharging the battery. Therefore, while current systems and methods for estimating battery capacity achieve their intended purpose, there is a need for new and improved systems and methods for efficient battery capacity estimation that utilize existing hardware, are portable and adaptable, maintain or reduce manufacturing complexity, improve the efficiency of battery capacity estimation, reduce computational workload and utilization of computational resources, provide redundancy, and enhance the accuracy and reliability of battery capacity estimation predictions. Summary of the Invention
[0003] According to several aspects, a system for efficient battery capacity estimation in a battery-powered device includes: a battery-powered device having one or more batteries; one or more sensors disposed on the battery-powered device and acquiring real-time information about the battery-powered device; and a human-machine interface (HMI) disposed in the battery-powered device and sending information to a user of the battery-powered device. The battery-powered device has a controller having a processor, memory, and one or more input / output (I / O) ports. The I / O ports communicate with the one or more sensors, the battery-powered device, and the HMI. The processor executes program control logic stored in memory. The program control logic includes a battery capacity estimation (BCE) application, which includes at least first control logic, second control logic, and third control logic. The first control logic performs local data acquisition from the one or more sensors of the battery-powered device. The second control logic performs data transformation on the data acquired by the one or more sensors and trains a data-driven BCE model using the transformed data from the data acquired by the one or more sensors. The data transformation reduces the size of the data acquired by the one or more sensors, which varies over time, from a first size to a second size significantly smaller than the first size. The data transformation eliminates the time dependence of the data from the one or more sensors. The third control logic receives the data-driven model from the second control logic and estimates the battery capacity of the battery-powered device. Once the battery capacity estimate is determined, the system generates a notification to the battery-powered device user via the HMI, which includes the current battery capacity estimate, and shares the current battery capacity estimate with the additional battery-powered device subsystem using an accurate battery SoC estimate.
[0004] In another aspect of this disclosure, the first control logic further includes: control logic for determining the charging state of the battery of the battery-powered device; control logic for continuing to monitor the battery's SoC after determining that the battery is currently being charged; and control logic for causing one or more sensors to begin measuring dynamic battery information during operation or cycle of the battery-powered device after determining that the battery is not currently being charged. The first control logic also includes: control logic for causing one or more sensors to stop measuring dynamic battery information when operation or cycle of the battery-powered device is completed, and storing an operation or cycle time that defines the duration of the operation or cycle.
[0005] In another aspect of this disclosure, dynamic battery information also includes the battery's voltage (V), current (I), and temperature (T).
[0006] In another aspect of this disclosure, the first control logic further includes: control logic for determining whether the battery's SoC is zero; and control logic for continuing to monitor the battery's SoC after determining that the battery's SoC is greater than zero, until the battery's SoC equals zero. The first control logic also includes: control logic for charging the battery and integrating the current (I) after determining that the battery's SoC equals zero, until the battery's SoC equals one; and control logic for generating the full-charge original battery capacity based on the integration of the current (I) after determining that the battery's SoC equals one.
[0007] In another aspect of this disclosure, the second control logic further includes: control logic for determining the amount of dataset available for training; control logic for defining the size of partitions for the battery's voltage (V), current (I), and temperature (T); and control logic for calculating intervals (bins) of the battery's voltage (V), current (I), and temperature (T), wherein the size of the intervals of the battery's voltage (V), current (I), and temperature (T) is determined based on the minimum and maximum values of each variable voltage (V), current (I), and temperature (T) of the battery, including obtaining the minimum and maximum voltage values (V) from the battery specifications. min V max ), obtain the minimum and maximum current values (I) from battery performance data. min ,I max The minimum and maximum temperatures (T) are obtained from battery operating condition information. min ,T max ) control logic.
[0008] In another aspect of this disclosure, the second control logic further includes: control logic for determining the optimal size of the interval segment by minimizing the performance index according to the following formula: For a voltage (V) such that z0 = V min , z N =V max For a current (I), such that z0 = I min , z N =I max For temperature (T), such that z0 = T min , z N =T max ;z k -z k-1 >0; Where N is the number of intervals and W is the weighting factor. The second control logic also includes control logic for stacking the intervals of battery voltage (V), current (I), and temperature (T) with the duration of operation or cycle and the original full-charge battery capacity.
[0009] In another aspect of this disclosure, the second control logic further includes: control logic for augmenting existing data with new data; and control logic for determining that the data transformation is complete. The second control logic also includes: control logic for training a data-driven battery capacity estimation (BCE) model by: defining a hidden layer and a certain number of step delays in the data-driven model; training the data-driven model using one or more of a recurrent neural network (RNN), an autoregressive model with non-linear input (ARX), and a nonlinear autoregressive exogenous (NARX) model; determining whether the battery capacity estimation error is less than a threshold error; wherein, when it is determined that the battery capacity estimation error is greater than or equal to the threshold error, continuing to define a hidden layer and a certain number of step delays in the data-driven model, and continuing to train the data-driven model using one or more of the RNN, ARX, and NARX models; and wherein, when it is determined that the battery capacity estimation error is less than the threshold error, determining that the data-driven model design is complete, and starting the third control logic.
[0010] In another aspect of this disclosure, the third control logic further includes: control logic for determining the State of Charge (SOC) of the battery in the battery-powered device; and control logic for continuously monitoring the SOC of the battery after determining that the battery is currently being charged. The third control logic also includes: control logic for causing one or more sensors to begin measuring dynamic battery information during operation or a cycle of the battery-powered device after determining that the battery is not currently being charged; and control logic for causing one or more sensors to stop measuring dynamic battery information after operation or a cycle of the battery-powered device is completed, and storing the operation or cycle time that defines the duration of the operation or cycle.
[0011] In another aspect of this disclosure, the third control logic further includes: control logic for calculating intervals of battery voltage (V), current (I), and temperature (T) based on a data-driven model design; and control logic for stacking the intervals of battery voltage (V), current (I), and temperature (T) with the duration of operation or cycle and the original fully charged battery capacity. The third control logic also includes: control logic for predicting the current battery capacity using a data-driven model; and control logic for sending the current battery capacity to the vehicle user via an HMI, and to additional vehicle systems and control logic utilizing SoC information.
[0012] In another aspect of this disclosure, the battery-powered device is a vehicle; and the system also includes one or more cloud computing servers, each having a processor, memory, and one or more I / O ports for communicating with sensors, the battery-powered device, and the HMI. The system transmits data collected by one or more sensors to the one or more cloud computing servers and executes second control logic within the one or more cloud computing servers.
[0013] In another aspect of this disclosure, a method for efficient battery capacity estimation in a vehicle includes: acquiring real-time information about the vehicle using one or more sensors mounted on the vehicle; the real-time information about the vehicle includes: real-time information about one or more batteries provided to the vehicle. The method further includes: transmitting the information to vehicle occupants and to a vehicle subsystem via an HMI mounted on the vehicle. The method executes program control logic, which includes a BCE application stored in the memory of a controller of the vehicle. Each controller of the vehicle has a processor, memory, and I / O ports. The I / O ports communicate with one or more sensors, the vehicle, and the HMI. The BCE application also includes control logic for: performing local data acquisition from one or more sensors of the vehicle; and performing data transformation on the data acquired by the one or more sensors, and using the transformed data to train a data-driven BCE model. The data transformation reduces the size of the data acquired by the one or more sensors over time from a first size to a second size significantly smaller than the first size. The data transformation eliminates the time dependence of the data from the one or more sensors. The BCE application also includes control logic for receiving a data-driven BCE model and estimating the vehicle's battery capacity. Specifically, once the battery capacity estimate is determined, the method generates a notification to the vehicle occupants via an HMI, whereby the notification includes the current battery capacity estimate. The method also shares the current battery capacity estimate with additional vehicle subsystems using an accurate SoC estimate of the battery.
[0014] In another aspect of this disclosure, the method further includes: determining the state of charge of the vehicle's battery; continuing to monitor the battery's SoC after determining that the battery is currently being charged; and, after determining that the battery is not currently being charged, causing one or more sensors to begin measuring dynamic battery information during the operation or cycle of the vehicle. When the operation or cycle of the vehicle is completed, the method causes one or more sensors to stop measuring the dynamic battery information and stores the operation or cycle time, which defines the duration of the operation or cycle.
[0015] In another aspect of this disclosure, the power battery information also includes: the battery's voltage (V), current (I), and temperature (T).
[0016] In another aspect of this disclosure, the method further includes: determining whether the battery's SoC is zero; and, when the battery's SoC is determined to be greater than zero, continuing to monitor the battery's SoC until the battery's SoC equals zero; and, when the battery's SoC is determined to be zero, charging the battery and integrating the current (I) until the battery's SoC equals one. Once the battery's charging SoC is determined to be one, the method generates the fully charged original battery capacity based on the integration of the current (I).
[0017] In another aspect of this disclosure, the method further includes: determining the number of datasets available for training; defining the size of partitions for the battery's voltage (V), current (I), and temperature (T); and calculating intervals for the battery's voltage (V), current (I), and temperature (T). The size of the intervals for the battery's voltage (V), current (I), and temperature (T) is determined based on the minimum and maximum values of each variable voltage (V), current (I), and temperature (T) of the battery, including obtaining the minimum and maximum voltage values (V) from the battery specifications. min V max ), obtain the minimum and maximum current values (I) from battery performance data. min ,I max The minimum and maximum temperatures (T) are obtained from battery operating condition information. min ,T max ).
[0018] In another aspect of this disclosure, the method further includes determining the optimal size of the interval by minimizing the performance metric according to the following formula: For a voltage (V) such that z0 = V min , z N =V max For a current (I), such that z0 = I min , z N =I max For temperature (T), such that z0 = T min , z N =T max ;z k -z k-1 >0; Where N is the number of intervals, W is the weighting factor, and the intervals of battery voltage (V), current (I) and temperature (T) are stacked with the duration of operation or cycle and the original battery capacity at full charge.
[0019] In another aspect of this disclosure, the method further includes: augmenting existing data with new data; determining that the data transformation is complete; and training a data-driven BCE model by: defining a hidden layer and a certain number of step delays in the data-driven model; training the data-driven model using one or more of a recurrent neural network (RNN), an autoregressive input (ARX) model, and a nonlinear autoregressive external (NARX) model; and determining whether the battery capacity estimation error is less than a threshold error. When it is determined that the battery capacity estimation error is greater than or equal to the threshold error, the method continues to define a hidden layer and a certain number of step delays in the data-driven model and continues to train the data-driven model using one or more of an RNN, ARX model, and NARX model. When it is determined that the battery capacity estimation error is less than the threshold error, the method determines that the data-driven model design is complete and begins the current battery capacity estimation.
[0020] In another aspect of this disclosure, the method further includes: determining the System-on-Chip (SoC) of the vehicle's battery; and continuously monitoring the SoC of the battery after determining that the battery is currently being charged. When it is determined that the battery is not currently being charged, the method causes one or more sensors to begin measuring dynamic battery information during the operation or cycle of the vehicle; and when the operation or cycle of the vehicle is completed, the method causes one or more sensors to stop measuring the dynamic battery information and stores the operation or cycle time defining the duration of the operation or cycle. The method also includes: calculating intervals of battery voltage (V), current (I), and temperature (T) based on a data-driven model design; and stacking the intervals of battery voltage (V), current (I), and temperature (T) with the duration of the operation or cycle and the original fully charged battery capacity. The method also includes: predicting the current battery capacity using a data-driven model; and sending the current battery capacity by the controller via an HMI to the vehicle occupants and to an additional vehicle subsystem utilizing an accurate SoC estimate of the battery.
[0021] In another aspect of this disclosure, the method further includes: utilizing one or more cloud computing servers, each of which has a processor, memory, and one or more I / O ports for communicating with sensors, vehicles, and HMIs, to perform a portion of a BCE application, including: receiving data acquired by one or more sensors within the one or more cloud computing servers and performing data transformation within the one or more cloud computing servers; and sending a data-driven BCE model from the one or more cloud computing servers to the vehicle.
[0022] In another aspect of this disclosure, a method for efficient battery capacity estimation in a vehicle includes: acquiring real-time information about the vehicle using one or more sensors mounted on the vehicle; the real-time information about the vehicle includes: real-time information about one or more batteries provided to the vehicle; and transmitting the information to vehicle occupants and to a vehicle subsystem via an HMI mounted on the vehicle. The method also includes executing program control logic using one or more cloud computing servers, the program control logic including a BCE application stored in the memory of the vehicle's controller and in the memory of the controllers of the one or more cloud computing servers. Each of the controllers of the vehicle and the one or more cloud computing servers has a processor, memory, and I / O ports. The I / O ports communicate with one or more sensors, one or more remote servers, the vehicle, and the HMI. The BCE application also includes control logic including: control logic for performing local data acquisition from the one or more sensors of the vehicle; and control logic for determining the SoC of the vehicle's battery. Once it is determined that the battery is currently being charged, the method continues to monitor the battery's state of charge (SoC). And, once it is determined that the battery is not currently being charged, the method causes one or more sensors to begin measuring dynamic battery information during the operation or cycle of the vehicle. When the operation or cycle of the vehicle is completed, the method causes one or more sensors to stop measuring the dynamic battery information and stores the operation or cycle time, which defines the duration of the operation or cycle. The dynamic battery information also includes the battery's voltage (V), current (I), and temperature (T). The method further includes: determining whether the battery's SoC is zero; and, once it is determined that the battery's SoC is greater than zero, continuing to monitor the battery's SoC until the battery's SoC equals zero; and, once it is determined that the battery's SoC equals zero, charging the battery and integrating the current (I) until the battery's state of charge equals 1. Once it is determined that the battery's SoC equals 1, the fully charged initial battery capacity is generated based on the integration of the current (I). The method further includes: sending data collected from one or more sensors to one or more cloud computing servers; and, within the one or more cloud computing servers, performing data transformation on the data collected from the one or more sensors, and using the transformed data to train a data-driven BCE model. Specifically, the data transformation reduces the size of the time-varying data collected from the one or more sensors from a first size to a second size significantly smaller than the first size. The data transformation eliminates the time dependency of the data from the one or more sensors. The data transformation and training also include: determining the number of datasets available for training; defining the size of partitions for the battery's voltage (V), current (I), and temperature (T); and calculating the intervals for the battery's voltage (V), current (I), and temperature (T).The size of the intervals of voltage (V), current (I), and temperature (T) of the battery is determined based on the minimum and maximum values of each variable voltage (V), current (I), and temperature (T) of the battery, including obtaining the minimum and maximum voltage (V) from the battery specifications. min V max ), obtain the minimum and maximum current values (I) from battery performance data. min ,I max The minimum and maximum temperatures (T) are obtained from battery operating condition information. min ,T max The method also includes determining the optimal size of the interval by minimizing the performance metric according to the following formula: For a voltage (V) such that z0 = V min , z N =V max For a current (I), such that z0 = I min , z N =I max For temperature (T), such that z0 = T min , z N =T max ;z k -z k-1 >0; Where N is the number of intervals, W is the weighting factor, and the intervals of battery voltage (V), current (I), and temperature (T) are stacked with the duration of operation or cycle and the original fully charged battery capacity. The method also includes: augmenting existing data with new data; determining that the data transformation is complete; and training a data-driven BCE model. The method trains the data-driven BCE model by: defining hidden layers and a certain number of step delays in the control logic of the data-driven model; utilizing one or more of a recurrent neural network (RNN), a nonlinear autoregressive input (ARX) model, and a nonlinear autoregressive exogenous (NARX) model; and determining whether the battery capacity estimation error is less than a threshold error. When the battery capacity estimation error is determined to be greater than or equal to the threshold error, the method continues to define hidden layers and a certain number of step delays in the data-driven model and continues to train the data-driven model using one or more of RNN, non-ARX, and NARX models. When the battery capacity estimation error is determined to be less than the threshold error, the method determines that the data-driven model design is complete, receives the data-driven model from the cloud computing server, and begins the current battery capacity estimation. The current battery capacity estimation includes: determining the state of charge (SOC) of the vehicle's battery. Once it is determined that the battery is currently being charged, the SOC is continuously monitored; and, once it is determined that the battery is not currently being charged, the method causes one or more sensors to begin measuring dynamic battery information during the vehicle's operation or cycle. Upon completion of the vehicle's operation or cycle, the method causes one or more sensors to stop measuring dynamic battery information and stores the operation or cycle time, which defines the duration of the operation or cycle. The method also includes: calculating intervals of battery voltage (V), current (I), and temperature (T) based on a data-driven model design; stacking the intervals of battery voltage (V), current (I), and temperature (T) with the duration of the operation or cycle and the initial fully charged battery capacity; and predicting the current battery capacity using the data-driven model. Wherein, after predicting the current battery capacity using the data-driven model, the method generates a notification from the controller to the vehicle occupants via an HMI, wherein the notification includes the current battery capacity estimate; and shares the current battery capacity estimate with additional vehicle subsystems using an accurate SoC estimate of the battery.
[0023] Further areas of application will become apparent from the description provided herein. It should be understood that these descriptions and specific examples are for illustrative purposes only and are not intended to limit the scope of this disclosure. Attached Figure Description
[0024] The accompanying drawings described herein are for illustrative purposes only and are not intended to limit the scope of this disclosure in any way.
[0025] Figure 1 This is a schematic diagram illustrating a system for efficient battery capacity estimation according to an exemplary embodiment;
[0026] Figure 2 This is illustrated according to an exemplary embodiment. Figure 1 A partial schematic diagram of the battery capacity estimation (BCE) application of a system for efficient battery capacity estimation.
[0027] Figure 3A This is a partial flowchart illustrating the first part of a method for estimating effective battery capacity according to an exemplary embodiment; and
[0028] Figure 3B This is illustrated according to an exemplary embodiment. Figure 3A A partial flowchart of the second part of the method for effective battery capacity estimation. Detailed Implementation
[0029] The following description is merely exemplary in nature and is not intended to limit this disclosure, its application, or its uses.
[0030] refer to Figure 1 A system 10 for efficient battery estimation is illustrated schematically. System 10 includes one or more battery-powered devices 11. The battery-powered device 11 can be any of a variety of battery-powered devices, including but not limited to: cellular phones, computers, laptops, watches, smartwatches, video game consoles and / or controllers, smoke detectors, carbon dioxide detectors, carbon monoxide detectors, remote controls such as those for televisions or radio-controlled cars. In a non-limiting example, system 10, as shown and described in conjunction with the accompanying drawings, operates on a vehicle 12. The vehicle 12 shown is a passenger vehicle; however, it should be understood that the vehicle 12 can be any type of vehicle 12 without departing from the scope or intent of this disclosure. In several examples, vehicle 12 can be a passenger car, commercial vehicle, truck, van, SUV, semi-trailer, tractor-trailer, motorcycle, electric bicycle, aircraft such as airplane or helicopter; vessel such as small boat, ship, etc.; amphibious vehicle, tracked vehicle such as tank, construction equipment such as backhoe, front loader, tractor or steam roller, etc.
[0031] Vehicle 12 is equipped with one or more sensors 14 that detect real-time information about vehicle 12. Without departing from the scope or intent of this disclosure, sensor 14 may include a variety of sensors 14 or any type of sensor 14. In several examples, sensor 14 may include motion sensors 14, including but not limited to: microwave sensors, infrared sensors, ultrasonic sensors, vibration sensors, and cameras, wherein each camera has a different field of view (FOV) relative to an additional camera or sensor 14. Vehicle 12 may also be equipped with additional sensors 14, such as inertial measurement units (IMUs), global positioning system (GPS) sensors, etc. IMUs measure motion, acceleration, etc., with more than three degrees of freedom. GPS sensors communicate with a global positioning satellite network (not specifically shown) to determine and report the location of the GPS sensors on vehicle 12 on Earth. It should be understood that GPS sensors are commonly used in navigation applications and help determine the location of vehicle 12, packages carried by vehicle 12, etc. Furthermore, other sensors 14 monitor, collect, and report information about the status of the propulsion system 16 of vehicle 12.
[0032] The propulsion system 16 of the vehicle 12 includes at least one propulsion unit or motor 18, and a power source such as a battery 20. The battery 20 stores potential energy that can be released to one or more motors 18, which then convert the potential energy into kinetic energy to drive the wheels 21 of the vehicle 12, thereby driving or moving the vehicle 12. In a specific but non-limiting example, the system 10 includes one or more battery sensors 14' capable of monitoring various aspects of the battery 20. The battery sensors 14' can directly or indirectly measure the temperature (T), current or ampere (I), voltage (V), and capacity (C) of the battery 20. It should be understood that the battery 20 herein is described as a single "battery"; however, such a single battery 20 is intended only as a simple illustrative example. The number of batteries 20 equipped in or used within the system 10 of this disclosure can vary significantly and is not limited without departing from the scope or intent of this disclosure. In some additional non-limiting examples, when the additional battery can operate auxiliary systems such as climate control, lighting, etc., battery 20 may include a traction or high-voltage battery for propelling vehicle 12. In still other examples, battery 20 may include multiple traction or high-voltage batteries 20, multiple batteries for supplying power to auxiliary systems, etc.
[0033] In a further example, vehicle 12 includes one or more actuators 22. Actuators 22 may include in-plane actuators 22 such as all-wheel drive (AWD) actuators, including electronically controlled or electric all-wheel drive (eAWD) actuators, and limited-slip differentials (LSDs), including electronically controlled or electric LSD (eLSD) systems. In-plane actuators 22 generate or modify force generation in the X and / or Y directions at the contact area between the wheels 21 of vehicle 12 and the road surface. An eAWD system can transfer torque from the front to the rear of vehicle 12 and / or from one side of vehicle 12 to the other. Similarly, an eLSD can transfer torque from one side of vehicle 12 to the other. In some examples, eAWD and / or eLSD can directly alter or manage torque transmission from motor 18, and / or eAWD and eLSD can act on the braking system of vehicle 12 to regulate the amount of torque transmitted to the wheels 21 of vehicle 12. Additional in-plane actuators 22 may include active steering or electronic power steering (EPS) systems located at either or both of the front and rear axles of vehicle 12. The active steering system or EPS system can actively adjust the angle of the wheels 21 relative to the longitudinal axis X of vehicle 12.
[0034] In a further example, the vehicle 12 may include means for altering the normal force on each wheel 21 of the vehicle 12 via one or more out-of-plane actuators 22. The out-of-plane actuators 22 of the vehicle 12 may include any of a variety of actuators 22 capable of managing the vertical movement of the vehicle 12. In several aspects, the out-of-plane actuators 22 may include active aerodynamic actuators, active suspension actuators, etc. Active aerodynamic actuators may actively or passively alter the aerodynamic profile of the vehicle 12 via one or more active aerodynamic elements (such as wings, spoilers, fans or suction devices, actively managed venturi tubes, diffusers, etc.). Active suspension actuators 22 adjust the suspension travel, spring stiffness, and damping characteristics of the vehicle 12's suspension. In some examples, without departing from the scope or intent of this disclosure, the active suspension actuators 22 may include magnetorheological dampers, pneumatic dampers, or springs, or other such electrically, hydraulically, or pneumatically regulated dampers or springs.
[0035] The terms “forward,” “rear,” “inner,” “inward,” “outer,” “outer,” “above,” and “below” are terms used relative to the orientation of the vehicle 12 as shown in the accompanying drawings of this application. Thus, “forward” refers to the direction toward the front of the vehicle 12, and “rear” refers to the direction toward the rear of the vehicle 12. “Left” refers to the direction toward the left-hand side of the vehicle 12 relative to the front of the vehicle 12. Similarly, “right” refers to the direction toward the right-hand side of the vehicle 12 relative to the front of the vehicle 12. “Inner” and “inward” refer to the direction toward the interior of the vehicle 12, “outer” and “outer” refer to the direction toward the exterior of the vehicle 12, and “below” refers to the direction toward the bottom of the vehicle 12. “Above” refers to the direction toward the top of the vehicle 12. Furthermore, the terms “top,” “at the top,” “bottom,” “side,” and “above” are terms used relative to the orientation of the actuator, and the vehicle 12 is shown more broadly in the accompanying drawings of this application. Therefore, although the orientation of actuator 22 or vehicle 12 may vary relative to a given purpose, these terms are intended to still be applied relative to the orientation of the components of system 10 and vehicle 12 shown in the accompanying drawings.
[0036] The vehicle 12 also includes one or more controllers 24. The controllers 24 of the vehicle 12 are non-general-purpose electronic control devices having a pre-programmed digital computer or processor 26, a non-transitory computer-readable medium or memory 28 for storing data (such as control logic, software applications, instructions, computer code, data, lookup tables, etc.), and transceivers or input / output (I / O) ports 30. The computer-readable medium or memory 28 includes any type of media accessible by a computer, such as read-only memory (ROM), random access memory (RAM), hard disk drive, optical disc (CD), digital video disc (DVD), or any other type of memory 28. "Non-transitory" computer-readable memory 28 does not include wired, wireless, optical, or other communication links for transmitting transient electrical or other signals. Non-transitory computer-readable memory 28 includes media in which data can be permanently stored, as well as media in which data can be stored and subsequently rewritten, such as rewritable optical discs or erasable storage devices. Computer code includes any type of program code, including source code, object code, and executable code. The processor 26 is configured to execute code or instructions.
[0037] The controller 24 may be a dedicated Wi-Fi controller, an engine or motor 18 control module, a transmission control module, a body control module, an infotainment control module 32 that communicates electronically with the human-machine interface (HMI) 34 of the vehicle 12, etc. In several aspects, without departing from the scope or intent of this disclosure, the controller 24 may be a standalone device within the vehicle 12, or multiple control modules or multiple virtual control modules may reside within a single physical controller 24. The I / O port 30 is configured to communicate via a wired connection and / or via a wireless connection utilizing Wi-Fi protocols, cellular protocols, satellite communication protocols, etc., under IEEE 802.11x. The HMI 34 of the vehicle 12 may take various forms without departing from the scope or intent of this disclosure. In a non-limiting example, the HMI 34 defines an interactive display or screen located in the passenger compartment of the vehicle and capable of sending audiovisual information and / or haptic feedback to the operator or user of the vehicle 12. In additional non-limiting examples, without departing from the scope or intent of this disclosure, HMI 34 may be an infotainment display, a head-up display, a driver information display, a passenger information display, or a third-party device (such as a cellular device, smartphone, laptop, or tablet computer).
[0038] The controller 24 also includes one or more applications 36. An application 36 is a software program configured to perform a specific function or set of functions. An application 36 may include one or more computer programs, software components, instruction sets, procedures, functions, objects, classes, instances, associated data, or portions thereof suitable for implementation in appropriate computer-readable program code. Applications 36 may be stored within memory 28 or in additional or separate memory 28. Examples of applications 36 include audio or video streaming services, games, browsers, social media applications, vehicle motion control (VMC) applications, and vehicle battery capacity estimation (BCE) applications 38 such as those in vehicle 12 disclosed herein.
[0039] In some examples, system 10 may also include a back office or cloud computing server 40; and may include additional infrastructure, such as one or more cell towers (not specifically shown), cameras installed in infrastructure (such as buildings, traffic lights, etc.), or sensors 14 installed in or otherwise disposed in infrastructure (such as EV chargers, etc.). Without departing from the scope or intent of this disclosure, the sensors 14 of vehicle 12 communicate electronically with controller 24 and may also communicate electronically directly or indirectly with cloud computing server 40.
[0040] Turn now Figure 2 And continue to refer to Figure 1 The recurrent neural network (RNN) 100 of the BCE application 38 is illustrated in more detail in a schematic form. The BCE application 38 acquires real-time battery 20 data from the battery sensor 14' of the vehicle 12. The available battery data 20 is fed into the input layer 102 of the RNN 100. The available battery 20 data includes the voltage (V), current (I), and temperature (T) of the battery 20 within a specified number or duration of snapshots 104 that define the use of the battery 20. It should be understood that the time period defining snapshot 104 can vary. The duration of snapshot 104 can be any duration from a specific voltage (V), current (I), or state of charge (SoC) to another voltage (V), current (I), or SoC. A series of such snapshots 104 are then fed into multiple hidden layers 106 of the RNN 100 to train a battery 20 capacity estimation model. In some additional, non-limiting examples, RNN 100 can be trained using a nonlinear input autoregressive (ARX) model or a nonlinear autoregressive exogenous (NARX) model to estimate the battery capacity 20. Once RNN 100 is trained, it outputs a battery capacity estimate 108 within its output layer 110. The battery capacity estimate 108 can be stored within controller 24, sent to cloud computing server 40 and / or sent to HMI 34 for display on HMI 34, or otherwise transmitted via HMI 34 to the driver, operator, or user of vehicle 12. That is, the battery capacity estimate 108 can be sent as a notification to the operator, driver, or user of vehicle 12, and is continuously and / or periodically updated as corrections to the battery capacity estimate 108 are generated by system 10 and BCE application 38.
[0041] To simplify data processing within the RNN 100 and reduce computational workload and improve computational efficiency relative to pure time series analysis within the controller 24, the system 10 of this disclosure generates a series of snapshots 104 of available battery 20 data. Specifically, the BCE application 38 includes control logic that captures data over time periods defining the snapshots 104 and aggregates the snapshot 104 data. In the example, instead of acquiring pure time series data, which would be 115,200 bytes of data acquired over an hour (i.e., 8 bytes × 4 variables × 3600 seconds), the BCE application 38 utilizes snapshots in which voltage (V) is divided into five intervals (k), current (I) into ten intervals (k), temperature (T) into six intervals (k), and duration is given as a single interval (k). Thus, each time series data has a total of twenty-two (22) variables, i.e., voltage (5) + current (10) + temperature (6) + duration (1) = 22. The capacity of battery 20 and the aforementioned twenty-two variables have the same time scale. Therefore, BCE application 38 allows each snapshot [i.e., 8 bytes × (22 + 1 variables)] to use 184 bytes of data instead of requiring 115,200 bytes. Due to the significantly reduced amount of data for the same number of clock cycles, BCE application 38 can run on lightweight computing hardware, and with reduced energy, heat, and computing hardware and storage requirements, the speed and functionality of system 10 are improved without increasing the complexity of the underlying hardware.
[0042] Determining the appropriate number of intervals (k) in system 10 helps provide an accurate capacity estimate for battery 20. In some examples, the number of intervals (k) is determined using a physics-based model. However, a data-driven model has several advantages. The optimal size of the intervals (k) for the variables is determined based on minimum and maximum values. Minimum and maximum values can be obtained from a variety of sources, including: minimum and maximum voltage values (V) from the battery 20 specifications. min V max ), obtain the minimum and maximum current values (I) from the battery 20 performance data. min ,I max The minimum and maximum temperatures (T) are obtained from the operating condition information of battery 20. min ,T max Based on the minimum and maximum values, the number of intervals (N), and the weighting factor (W), the optimal size of the interval for each variable [i.e., each of voltage (V), current (I), and temperature (T)] can then be determined according to the following formula:
[0043] z k For (k = 1, ..., N) and N, minimize the following performance index J,
[0044]
[0045] For a voltage (V) such that z0 = V min , z N =V max For a current (I), such that z0 = I min , z N =I max For temperature (T), such that z0 = T min , z N =T max .
[0046] z k -z k-1 >0;
[0047]
[0048] In some non-limiting examples, when the measured voltage (V), current (I), or temperature (T) is large, the intervals are relatively narrow or short in duration compared to when the measured voltage (V), current (I), or temperature (T) is small; this is because when the measured voltage (V), current (I), or temperature (T) is small, System 10 and BCE application 38 widen, combine, or otherwise capture the measured values (V), current (I), or temperature (T) over a longer duration. However, it should be understood that, in general, System 10 and BCE application 38 attempt to maximize the size of each interval, as larger intervals result in better computational efficiency.
[0049] Turn now Figure 3A and Figure 3B And continue to refer to Figure 1 and Figure 2A flowchart 200 depicting a method using BCE application 38 is shown in more detail. Method 200 begins at block 202, which defines the data acquisition phase of method 200. In several respects, the data acquisition phase 202 of method 200 is performed by the vehicle 12 manufacturer, by a fleet manager of a fleet of vehicles 12 utilizing the system 10 of this disclosure, or by a volunteer vehicle 12 operator or user. The data acquired during the data acquisition phase 202 of method 200 is sent to a cloud computing server 40, where a data transformation phase 204 and an RNN 100 model training phase 206 are performed. In several respects, the data transformation phase 204 and the RNN 100 model training phase 206 can be performed on the cloud computing server 40, in pre-production of the vehicle 12, etc., without departing from the scope or intent of this disclosure. From the cloud computing server 40, each vehicle 12 performs the battery 20 capacity estimation phase 208 of method 200 within the vehicle's onboard controller 24.
[0050] Referring again to the data acquisition phase 202 of method 200, at box 210, method 200 determines whether vehicle 12 is currently being charged. In several examples, vehicle 12 is an EV. While EV 12 is being charged, recharged, etc., via wired or wireless charging technology, at box 210, method 200 periodically and / or continuously rechecks to determine whether vehicle 12 is still being charged. When it is determined at box 204 that vehicle 12 is no longer being charged, method 200 proceeds to box 212. At box 212, vehicle 12 is operated autonomously, semi-autonomously, or fully manually by the operator or user of vehicle 12. While vehicle 12 is running, sensor 14 (specifically, battery sensor 14' of vehicle 12) measures at least the voltage (V), current (I), and temperature (T) of battery 20.
[0051] Method 200 then proceeds to block 214, where BCE application 38 determines whether the operating cycle of vehicle 12 has been completed. If it is determined that the cycle has not been completed, at block 214, method 200 periodically and / or continuously rechecks to determine whether the operating cycle of vehicle 12 has been completed. Once the operating cycle is completed, BCE application 38 and method 200 proceed to block 216, where sensor 14 (specifically battery sensor 14') is commanded to stop measuring the voltage (V), current (I), and temperature (T) of battery 20, and stores the voltage (V), current (I), and temperature (T) of battery 20, as well as the operating time or usage time of vehicle 12. The stored voltage (V), current (I), temperature (T), and operating time or usage time data are sent from block 216 to data cloud server 40, and then to block 218.
[0052] At block 218, method 200 and BCE application 38 cause the battery 20 or its sub-components (such as battery cells, battery modules, etc.) to discharge while the vehicle 12 is in use. Method 200 proceeds to block 220, where BCE application 38 determines whether the state of charge (SoC) of the battery 20 is greater than zero. When the SoC is greater than zero at block 220, method 200 and BCE application 38 periodically and / or continuously monitor the SoC of the battery 20 using battery sensor 14'. When it is determined at block 220 that the SoC of the battery is equal to zero, the method proceeds to block 222. In several respects, a zero SoC indicates that the battery 20 or its components are fully discharged.
[0053] At block 222, method 200 and BCE application 38 charge battery 20, including charging sub-components of battery 20 (e.g., individual battery cells, battery modules, etc.). While battery 20 is charging, the current (I) applied to battery 20 is integrated to help determine the SoC of battery 20. Method 200 proceeds from block 222 to block 224, where method 200 and BCE application 38 again continuously and / or periodically monitor the SoC of battery 20 via battery sensor 14'.
[0054] At block 224, when it is determined that the SoC of battery 20 is less than one (1), method 200 and BCE application 38 periodically and continuously monitor the SoC of battery 20. In several respects, an SoC value of one (1) indicates a fully charged battery 20 or its components. When it is determined that the SoC of battery 20 is equal to one (1), the method proceeds to block 226. At block 226, method 200 and BCE application 38 generate the fully charged original battery 20 capacity based on the integral of the current (I) applied to battery 20.
[0055] Referring again to box 216, the stored voltage (V), current (I), temperature (T), and operating time or usage time data are received within the cloud computing server 40 for data transformation 204. Specifically, at box 228, BCE application 38 checks the number (N) of datasets available for training RNN 100 against M←1. At box 230, the stored operating time or usage time data from box 216 and the number (N) of datasets from box 228 are received. At box 230, method 200 and BCE application 38 define the size of the partitions for the voltage (V), current (I), and temperature (T) of the Mth data point. At box 232, method 200 and BCE application 38 calculate the intervals for voltage (V), current (I), and temperature (T). At box 234, the intervals of voltage (V), current (I), and temperature (T) are stacked with the duration of use of vehicle 12. Then, at box 236, the intervals of voltage (V), current (I), and temperature (T) and the duration are stacked with the initially calculated full-charge original battery 20 capacity at box 226 in data acquisition phase 202.
[0056] At box 238, method 200 and BCE application 38 augment the Mth data point to the existing data and send the augmented Mth data point to train RNN 100 in RNN model training phase 206, and forward the augmented Mth data point to box 240. At box 240, the Mth data point is updated in subsequent time steps such that M←M+1, and then at box 242, method 200 and BCE application 38 determine whether M is less than or equal to N. The Mth dataset is one of N datasets in a loop extending from 1 to N. M is gradually increased at box 240 until it reaches the final value N. When M is less than or equal to N, method 200 and BCE application 38 return to box 230, and when M is greater than N, method 200 and BCE application 38 advance to box 244, where data transformation phase 204 is completed.
[0057] The RNN model training phase 206 begins at box 246, where the hidden layers and a certain number of step delays of the data-driven model utilized by BCE application 38 are defined. Additionally, box 246 receives augmented data from box 244. At box 248, the data-driven model is trained using RNN 100, ARX, NARX, etc., with hidden layers, a certain number of step delays, and the augmented data from box 246. Method 200 and BCE application 38 proceed from box 248 to box 250, where the battery 20 capacity estimation error is compared to a threshold. In several respects, the threshold is a user- or manufacturer-defined variable that defines the accuracy of the battery 20 capacity estimation. In some non-limiting examples, the threshold could be a battery 20 capacity estimation error of 1%, 2%, or 5%, etc. When it is determined at box 250 that the battery 20 capacity estimation error is greater than or equal to the threshold, method 200 and BCE application 38 return to box 246. However, once it is determined at box 250 that the battery 20 capacity estimation error is less than a threshold, method 200 and BCE application 38 proceed to box 252; at box 252, method 200 and BCE application 38 define that the data-driven model design for battery 20 capacity estimation is complete. Method 200 and BCE application 38 then proceed from box 252 to the capacity estimation stage 208, which begins at box 254.
[0058] At box 254, method 200 and BCE application 38 determine whether vehicle 12 is currently charging. Once it is determined that vehicle 12 is currently charging, method 200 and BCE application 38 periodically and / or continuously monitor vehicle 12 (and more specifically, monitor battery 20) to determine when battery 20 is no longer being charged. When it is found at box 254 that vehicle 12 and battery 200 are not being charged, method 200 and BCE application 38 proceed to box 256. At box 256, method 200 and BCE application 38 operate vehicle 12 or cycle and begin measuring the voltage (V), current (I), and temperature (T) of battery 20. Method 200 and BCE application 38 then proceed from box 256 to box 258, where method 200 and BCE application 38 determine whether the operation or cycle is complete. Once it is determined that the vehicle is continuing to operate or the cycle has not yet been completed, method 200 and BCE application 38 periodically and / or continuously monitor vehicle 12 to determine at box 258 whether and when the operation or cycle has been completed. However, once it is determined at box 258 that the operation or cycle has been completed, method 200 and BCE application 38 proceed to box 260. At box 260, method 200 and BCE application 38 stop measuring voltage (V), current (I), and temperature (T) and store the operation time or cycle time. Subsequently, at box 262, method 200 and BCE application 38 calculate intervals of voltage (V), current (I), and temperature (T) of battery 20. At box 264, the intervals of voltage (V), current (I), and temperature (T) are stacked with the duration of the operation or cycle time. Finally, at box 266, method 200 and BCE application 38, the stacked interval of voltage (V), current (I), and temperature (T) from box 264, and the completed data-driven model design from box 252, generate a predicted battery 20 capacity, or battery 20 capacity estimate 108. As previously stated, battery 20 capacity estimate 108 can be internally stored on controller 24, sent to cloud computing server 40 and / or sent to HMI 34 and displayed on HMI 34, or otherwise sent via HMI 34 to the driver, operator, or user of vehicle 12. That is, battery capacity estimate 108 can be sent as a notification to the operator, driver, or user of vehicle 12, and is continuously and / or periodically updated as corrections to battery capacity estimate 108 are generated by system 10, method 200, and BCE application 38.
[0059] It should be understood that although method 200 and BCE application 38 have been described above with respect to vehicle 12 and specifically to EV, the exemplary vehicle 12 or EV is merely a non-limiting embodiment. Without departing from the scope or intent of this disclosure, the concepts disclosed herein regarding system 10, method 200, and BCE application 38 can operate effectively and efficiently on other types of battery-powered devices 11, including but not limited to: cellular phones, computers, laptops, watches, smartwatches, video game consoles and / or controllers, smoke detectors, carbon dioxide detectors, carbon monoxide detectors, remote control devices (e.g., remote controls for televisions or radio-controlled cars), etc.
[0060] Battery capacity estimation is a crucial factor in battery state estimation (BSE). However, battery capacity estimation is challenging because, while coulomb counting is known in the art, battery 20 needs to be periodically fully discharged in order to accurately assess its capacity using coulomb counting. In many use cases, such as in vehicles 12, cellular phones, computers, laptops, and various other battery-powered devices, fully discharging battery 20 may hinder the intended use of the device and reduce the user's ability to effectively utilize it. Furthermore, fully discharging battery 20 may be harmful to its health. Moreover, methods and systems using coulomb counting become more accurate by examining the dynamic changes between measured signals at different time scales. Measuring and storing voltage (V), current (I), and temperature (T) data in the short term (milliseconds to minutes), and measuring capacity in the long term (months to years), can require significant data storage and computational resources.
[0061] Therefore, the system 10, method 200, and BCE application 38 of this disclosure offer numerous advantages. These include the ability to generate high-precision battery 20 capacity estimates with minimal computational resources by converting time-series data into a series of snapshots and parsing different time scales within the acquired data. The acquired data is then processed using data-driven models such as RNNs, ARX, NARX, etc., which allows the system 10, method 200, and BCE application 38 to efficiently process event-based data to accurately estimate the capacity of battery 20 and provide this information via HMI 34 to vehicle 12 operators, users, and vehicle 12 manufacturers, service providers, etc. Simultaneously, it utilizes existing hardware, is portable and retrofittable, maintains or reduces manufacturing complexity, improves the efficiency and accuracy of battery capacity estimation, reduces computational workload and resource utilization, provides redundancy and predictive reliability, and enhances the ability of users to effectively utilize battery-powered equipment using the system 10 and method 200 of this disclosure, as well as reducing range anxiety among users of vehicle 12 using the system 10, method 200, and BCE application 38 of this disclosure.
[0062] The descriptions in this disclosure are merely exemplary in nature, and changes that do not depart from the spirit and scope of this disclosure are intended to fall within its scope. Such changes should not be considered as departing from the spirit and scope of this disclosure.
Claims
1. A system for efficient battery capacity estimation in a battery-powered device, the system comprising: A battery-powered device having one or more batteries; One or more sensors are installed on the battery-powered device and collect real-time information about the battery-powered device; A human-machine interface (HMI) is installed in the battery-powered device and sends information to the user of the battery-powered device. The battery-powered device has a controller, which has a processor, a memory, and one or more input / output (I / O) ports that communicate with the one or more sensors, the battery-powered device, and the HMI. The processor executes program control logic stored in the memory; The program control logic includes a battery capacity estimation (BCE) application, which includes: A first control logic is used to perform local data acquisition from one or more sensors of the battery-powered device; The second control logic is used to perform data transformation on the data acquired by the one or more sensors, and to train a data-driven BCE model using the transformed data from the data acquired by the one or more sensors. The data transformation reduces the time-varying size of the data acquired by the one or more sensors from a first size to a second size significantly smaller than the first size, thereby eliminating the time dependency of the data from the one or more sensors. The third control logic is used to estimate the capacity of the battery of the battery-powered device. After the capacity estimate of the battery is determined, the system generates a notification to the user of the battery-powered device via the HMI. The notification includes the current battery capacity estimate and shares the current battery capacity estimate with the additional battery-powered device subsystem using an accurate battery state of charge SoC estimate.
2. The system according to claim 1, wherein, The first control logic further includes: Control logic used to determine the SoC of the battery in the battery-powered device; Once it is determined that the battery is currently being charged, the control logic of the battery's SoC continues to be monitored; Control logic that causes one or more sensors to begin measuring dynamic battery information during operation or cycle of the battery-powered device after determining that the battery is not currently being charged; and When the operation or cycle of the battery-powered device is completed, the one or more sensors stop measuring dynamic battery information, and the control logic that defines the duration of the operation or cycle is stored.
3. The system according to claim 2, wherein, The dynamic battery information also includes: The battery's voltage V, current I, and temperature T.
4. The system according to claim 3, wherein, The first control logic further includes: Control logic for determining whether the battery's SoC is zero; and Once it is determined that the SoC of the battery is greater than zero, the control logic continues to monitor the SoC of the battery until the SoC of the battery equals zero. Once the SoC of the battery is determined to be zero, the battery is charged, and the current I is integrated until the SoC of the battery equals one; and control logic is used. Once the SoC of the battery is determined to be equal to one, control logic for fully charging the original battery capacity is generated based on the integral of the current I.
5. The system according to claim 4, wherein, The second control logic also includes: Control logic used to determine the amount of data available for training; Control logic for defining the size of the partitions for the battery's voltage V, current I, and temperature T; and Control logic for calculating intervals of voltage V, current I, and temperature T of the battery, wherein the size of the interval of voltage V, current I, and temperature T of the battery is determined based on the minimum and maximum values of each variable voltage V, current I, and temperature T of the battery, including obtaining the minimum and maximum voltage values (V) from the battery specifications. min V max ), obtain the minimum and maximum current values (I) from battery performance data. min ,I max The minimum and maximum temperatures (T) are obtained from battery operating condition information. min ,T max ) control logic.
6. The system according to claim 5, wherein, The second control logic also includes: Control logic used to determine the optimal size of the interval segment by minimizing the performance index according to the following formula: For a voltage V, z0 = V min , z N =V max For a current I, such that z0 = I min , z N =I max For temperature T, such that z0 = T min , z N =T max ;z k -z k-1 >0; Where N is the number of interval segments, and W is the weighting factor; and Control logic for stacking the ranges of the battery's voltage V, current I, and temperature T with the duration of operation or cycle and the original fully charged battery capacity.
7. The system according to claim 6, wherein, The second control logic also includes: Control logic used to expand existing data with new data; Control logic used to determine when data conversion is complete; and Control logic for training data-driven BCE models in the following ways: In the data-driven model, a hidden layer and a certain number of step delays are defined; The data-driven model is trained using one or more of the following: recurrent neural network (RNN), nonlinear input autoregressive (ARX) model, and nonlinear autoregressive exogenous NARX model. Determine whether the battery capacity estimation error is less than the threshold error; Wherein, after determining that the battery capacity estimation error is greater than or equal to the threshold error, a hidden layer and a certain number of step delays are defined in the data-driven model, and the data-driven model is further trained using one or more of RNN, ARX, and NARX; and Specifically, once it is determined that the battery capacity estimation error is less than the threshold error, the data-driven model design is considered complete, and the third control logic begins.
8. The system according to claim 7, wherein, The third control logic also includes: Control logic used to determine the SoC of the battery in the battery-powered device; Once it is determined that the battery is currently being charged, the control logic of the battery's SoC is continuously monitored; Control logic that causes one or more sensors to begin measuring dynamic battery information during operation or cycle of the battery-powered device after determining that the battery is not currently being charged; and When the battery-powered device completes its operation or cycle, the one or more sensors stop measuring dynamic battery information, and the control logic that defines the duration of the operation or cycle is stored.
9. The system according to claim 8, wherein, The third control logic also includes: Control logic for calculating the intervals of voltage V, current I, and temperature T of the battery based on the data-driven model design; and Control logic for stacking intervals of the battery's voltage V, current I, and temperature T with the duration of operation or cycle and the initial fully charged battery capacity; and The data-driven model is used to predict the current battery capacity, wherein the controller sends the current battery capacity to the vehicle user via the HMI and to the control logic that utilizes SoC information for additional vehicle system and control logic.
10. The system according to claim 9, wherein, The battery-powered device is a vehicle; and the second control logic is executed within one or more cloud computing servers that communicate wirelessly with the I / O ports of the battery-powered device, each of the one or more cloud computing servers having a processor, a memory, and I / O ports that communicate with the sensor, the vehicle, and the HMI.