Methods for dynamically charging and discharging battery modules

The method dynamically ranks and discharges battery modules based on cost functions to optimize power management in electrical vehicles, improving efficiency and safety.

WO2025170940A1PCT designated stage Publication Date: 2025-08-14SUPERNAL LLC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/US2025/014508
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-06
Filing Date
2025-02-04
Publication Date
2025-08-14

AI Technical Summary

Technical Problem

Existing electrical vehicle systems lack methods for dynamically connecting and disconnecting battery modules based on parameters like state of charge, voltage, and temperature, leading to inefficient power management.

Method used

A method and system for determining a required output energy, calculating cost functions for each battery module, ranking them by discharge cost, and selectively discharging them to meet energy demands, using a controller and contactor control units to manage power flow.

Benefits of technology

Optimizes battery module utilization by dynamically managing power distribution, enhancing efficiency and safety through intelligent power management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025014508_14082025_PF_FP_ABST
    Figure US2025014508_14082025_PF_FP_ABST
Patent Text Reader

Abstract

Example embodiments relate to methods for dynamically charging and discharging battery modules. An example method includes determining a required output energy. The method further includes determining, for each battery module in a plurality of battery modules, a plurality of cost functions, determining, for each battery module based on the plurality of cost functions, a total cost to discharge the respective battery module, ranking the battery modules in the plurality of battery modules from lowest total cost to discharge to highest total cost to discharge, selecting enough battery modules from the plurality of battery modules to supply the required output energy, wherein the battery modules are selected sequentially from lowest total cost to discharge to highest total cost to discharge, and causing the selected battery modules to discharge across a load in order to supply the required output energy.
Need to check novelty before this filing date? Find Prior Art

Description

METHODS FOR DYNAMICALLY CHARGING AND DISCHARGING BATTERY MODULESCROSS-REFERENCE TO RELATED APPLICATION

[0001] The present application claims priority to U.S. Provisional Patent Application No. 63 / 550,506, filed February 6, 2024. the entire contents of which are hereby incorporated by reference as if fully set forth in this description.BACKGROUND

[0002] Electrical vehicles are often powered by battery modules. In some electrical vehicle systems, the battery modules are statically connected to the electrical vehicle during the manufacturing process such that the battery modules provide power until the charge of the batleiy module is depleted, at which point, the batten module may be recharged. There exists a need for a method for dynamically connecting and disconnecting batten modules during utilization. Specifically, there exists a need for methods to charge or discharge batten modules based on characteristics of the battery modules, such as state of charge, voltage, temperature, and other relevant parameters.

[0003] The methods disclosed herein may be used to replace and / or supplement conventional methods for charging and discharging battery’ modules in electrical vehicles such as aircraft (e.g., airplanes, helicopters, airships, vertical takeoff and landing (VTOL) vehicles, unmanned aerial vehicles, drones, and hot air balloons), ground vehicles (e.g., cars, trucks, buses), rail vehicles (e.g., trains, unmanned trains), or water vehicles (e.g., boats, submersibles).SUMMARY

[0004] The present disclosure relates to methods for charging and discharging battery modules.

[0005] In a first example implementation, the present disclosure describes a method. The method includes determining a required output energy. The method also includes determining, for each battery module in a plurality’ of battery modules, a plurality of cost functions.Additionally, the method includes determining, for each battery module based on the plurality of cost functions, a total cost to discharge the respective battery module. Further, the method includes ranking the battery modules in the plurality of battery7modules from lowest total cost to discharge to highest total cost to discharge. In addition, the method includes selecting enough battery7modules from the plurality of battery7modules to supply the required output energy7. The battery7modules are selected sequentially from lowest total cost to discharge to highest total cost to discharge. Yet further, the method includes causing the selected battery modules to discharge across a load in order to supply the required output energy.

[0006] In a second example implementation, the present disclosure describes a system. The system includes a plurality of battery modules. The system also includes a controller communicatively coupled to the plurality of battery7modules. The controller is configured to determine a required output energy. The controller is also configured to determine, for each battery module in a plurality of battery modules, a plurality of cost functions. Additionally, the controller is configured to determine, for each battery module based on the plurality of cost functions, a total cost to discharge the respective battery module. Further, the controller is configured to rank the battery modules in the plurality of battery modules from lowest total cost to discharge to highest total cost to discharge. In addition, the controller is configured to select enough battery modules from the plurality of battery modules to supply the required output energy. The battery modules are selected sequentially from lowest total cost to discharge to highest total cost to discharge. Yet further, the controller is configured to cause the selected battery modules to discharge across a load in order to supply the required output energy7.

[0007] In a third example implementation, the present disclosure describes a non-transitory computer-readable medium, having stored thereon program instructions that, upon execution by a processor, cause the processor to perform operations. The operations include determining a required output energy for a plurality of battery modules. The operations also includedetermining, for each battery module in a plurality of batten' modules, a plurality' of cost functions. Additionally, the operations include determining, for each battery module based on the plurality7of cost functions, a total cost to discharge the respective battery module. Further, the operations include ranking the battery' modules in the plurality' of battery modules from lowest total cost to discharge to highest total cost to discharge. In addition, the operations include selecting enough battery' modules from the plurality7of battery' modules to supply the required output energy'. The battery7modules are selected sequentially from lowest total cost to discharge to highest total cost to discharge. Yet further, the operations include causing the selected battery7modules to discharge across a load in order to supply the required output energy.

[0008] The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, implementations, and features described above, further aspects, implementations, and features will become apparent by reference to the drawings and the following detailed description.BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Figure 1 is a block diagram of a vehicle, in accordance with exemplary embodiments of the present invention.

[0010] Figure 2 is a flowchart illustration of a method, in accordance with exemplary embodiments of the present invention.

[0011] Figure 3 is a flowchart illustration of a method, in accordance with exemplary embodiments of the present invention.

[0012] Figures 4A-4C are illustrations of cost functions, in accordance with exemplary embodiments of the present invention.

[0013] Figure 5 is an illustration of a computing device, in accordance with exemplary embodiments of the present invention.DETAILED DESCRIPTION

[0014] Disclosed herein are systems and methods involving discharging a plurality' of battery modules across a load based on determinations of required output energy cost functions, and costs to discharge each battery module.

[0015] The disclosed system may be utilized in any device or application that utilizes battery modules. For example, the battery modules may be used to power a motor, which may be used to power or drive a vehicle, including, but not limited to, aground vehicle (e.g., an automobile), a sea vehicle (e.g., a boat), or a flying craft (e.g., an aerial, floating, soaring, hovering, airborne, or aeronautical aircraft, an airplane, a plane, a spacecraft, a helicopter, an airship, an unmanned aerial vehicle, a vertical take-off and landing (VTOL) craft, or a drone). The disclosed embodiments may be utilized in any of these applications in order to obtain higher efficiency and load management.

[0016] The disclosed systems and methods may further be used to uniformly charge and / or discharge all modules in a dynamic energy storage system, allowing optimized utilization of energy stored within the system.

[0017] Figure 1 is a block diagram of a vehicle 100, in accordance with exemplary embodiments of the present invention. In some embodiments, and as noted above, the vehicle 100 may be a VTOL, which may or may not use electric power to hover, takeoff, and / or land. It is understood that, in other embodiments, the vehicle 100 may be any other type of vehicle, such as a ground vehicle (e.g., an automobile), a sea vehicle (e.g., a boat), or a flying craft (e.g., an aerial, floating, soaring, hovering, airborne, or aeronautical aircraft, an airplane, a plane, a spacecraft, a helicopter, an airship, an unmanned aerial vehicle, a vertical take-off and landing (VTOL) craft, or a drone).

[0018] In some embodiments, the vehicle 100 may include one or more propellers used to drive the vehicle, such as propellers 102, 104, 122, 124, 126, and 128 illustrated in Figure 1. Each propeller may be configured, for example, as tiltrotors, lift rotors, or any other type of rotors. In other embodiments, the vehicle 100 may include one or more turbine engines, one or more tires, one or more ski-structures, or the like instead of the one or more propellers used to drive the vehicle.

[0019] The first propeller 102 may be driven by a gearbox 106, which in turn may be driven by one or more motors such as propeller motor 108, propeller motor 110, and propeller motor 112. Similarly, the second propeller 104 may be driven by a gearbox 114. which in turn is driven by one or more motors such as propeller motor 116, propeller motor 1 18, and propeller motor 120. In some embodiments, the motors may be electric motors.

[0020] The vehicle 100 also may include multiple lift rotors, such as multiple lift rotors, that can facilitate vertical takeoff and landing of the vehicle 100. For example, the vehicle 100 may include a lift propeller 122, a lift propeller 124, a lift propeller 126, and a lift propeller 128.

[0021] The lift propeller 122 may be driven by a gearbox 130, which in turn may be driven by a motor 132. The lift propeller 124 may be driven by a gearbox 134, which in turn may be driven by a motor 136. The lift propeller 126 may be driven by a gearbox 138, which in turn may be driven by a motor 140. The lift propeller 128 may be driven by a gearbox 142, which in turn is driven by a motor 144.

[0022] In one embodiment, each of the motors described above may include one or more respective motor controllers integrated therewith. For example, the lift motor 132 may have one or more motor controllers 146 integrated therewith. Example motor controllers are described below.

[0023] In some embodiments, the various motors of the vehicle 100 may be electric motors driven by electric power provided by a plurality' of batteries. As depicted in in Figure 1, the vehicle 100 may havebattery modules 148, such as battery' module 150, battery' module 152, battery' module 154, and battery' module 156. In an example, the battery modules may be Lithium-ion (Li-Ion) batteries. Each battery' module may include a housing or enclosure that houses a plurality' of battery cells arranged in rows and columns.

[0024] The battery modules 148 may be configured to store electric power, and provide electric power to the various electric motors when instructed by respective energy management systems of the vehicle 100. Particularly, in some embodiments, the vehicle 100 may have a plurality of C'm”) energy management systems (EMSs) 158 that are in communication with the battery modules 148. The EMSs 158 may be configured as electronic regulators that monitor and control the charging and discharging of the battery modules 148.

[0025] In some embodiments, the EMSs 158 may be configured to measure voltages of the battery modules 148 and stop charging them when a desired voltage is reached. Further, the EMSs 158 may be configured to monitor parameters that affect life and / or performance of the battery' modules 148 as well as ensure safe operation of the battery' modules 148. Safe operation may include, as examples, operating below a threshold temperature to elongate the life of the battery modules 148, precluding overheating of the battery' modules 148, precluding failure of the battery modules 148, etc.

[0026] The EMSs 158 may monitor and control parameters of the battery modules 148. For example, the EMSs 158 may monitor and control main power voltage, battery or cell voltage, charge and discharge rates of the battery modules 148. temperatures of the battery modules 148 or their individual cells, health of the battery modules 148 or their individual cells, coolant temperature and flow for air or liquid cooling parameters of a cooling system of the batterymodules 148 or their individual cells, etc. In some examples, the EMSs may include dynamic energy storage systems (ESSs).

[0027] The vehicle 100 may further include multiple contactor control units (CCUs), such as CCU 160, CCU 162, CCU 164, and CCU 166, which may be electrically coupled to the battery modules 148, and may be in communication with the EMSs 158. In some embodiments, as illustrated in Figure 1, each CCU may be coupled to a respective battery module of the battery modules 148. A contactor may be an electrically-controlled switch used for switching an electrical power circuit. A CCU may control the actuation of the contactor to allow power flow to and from the respective battery module. For example, the EMSs 158 may control the power flow to and from the battery modules 148 based on power demand from the various electric motors, and accordingly may control the CCUs to enable power flow from particular battery modules 148 as desired.

[0028] In some examples, the CCUs may be configured to: determine a required output energy; determine, for each battery' module, a plurality of cost functions; determine, for each battery module based on the plurality of cost functions, a total cost to discharge the respective battery' module; rank the battery' modules 148 in the plurality of battery modules from lowest total cost to discharge to highest total cost to discharge; select enough battery modules 148 from the plurality of battery' modules to supply the required output energy, wherein the battery' modules 148 are selected sequentially from lowest total cost to discharge to highest total cost to discharge; and cause the selected battery modules to discharge across a load (e.g., lift motor 132, lift motor 136, and / or prop motors 110, 112, 118 and 120) in order to supply the required output energy.

[0029] The vehicle 100 may be configured to include a distributed electric propulsion system configured to provide the vehicle 100 with the required energy to power the multiple propellers and lift rotors via an electric transmission system. Particularly, the vehicle 100 may include aredundant distribution module 168 in communication with the EMSs 158 and the redundant distribution module 168 may be electrically coupled to the battery modules 148 via the respective CCUs and may be configured to provide electric power, via transmission lines, to the multiple electric motors of the vehicle 100.

[0030] The EMSs 158 along with the redundant distribution module 168 may provide redundancy in the vehicle 100 such that if, for example, one propeller or one lift rotor fails, power may be redistributed to other propellers or lift rotors to maintain operation of the vehicle 100.

[0031] In some examples, vehicle 100 may further include a ground control system 180 communicatively coupled to the vehicle 100 and the CCUs 160, 162, 164, 166. Although Figure 1 illustrates a vehicle 100 with a ground control system 180, it is understood that in some examples, vehicle 100 does not include a ground control system communicatively coupled to the vehicle lOO.In some examples, the ground control system 180 may be configured to send commands to the CCUs 160, 162, 164, 166 by way of a wired connection, a wireless connection, or a combination thereof. In some examples, the ground control system 180 may send commands that cause the CCUs 160, 162, 164, 166 to discharge at least one battery module. In some examples, the ground control system 180 may receive information and data from the vehicle 100 while the vehicle 100 is in motion. For example, an aircraft in flight may send flight data to the ground control system 180. In some examples, the ground control system 180 may send a command.

[0032] Figure 2 illustrates a method 200 for dynamic discharging of battery modules in a system (such as the vehicle 100 illustrated in Figure 1), in accordance with exemplary embodiments of the present invention.

[0033] At step 202, the method 200 may include determining a required output energy. In some examples, the required output energy may be determined based on a command from a vehicle, such as vehicle 100, associated with the plurality of battery modules. In some examples, the required output energy may be determined based on a command from a ground control system, such as the ground control system 180, of a vehicle. For example, a ground control system, such as the ground control system 180, may send a command for the vehicle 100 to initiate a takeoff sequence, indicating a required output energy to achieve the takeoff sequence.

[0034] At step 204, the method 200 may include determining, for each battery module, a plurality of cost functions. In some examples, the plurality of cost functions may be based on a temperature of each battery module, a voltage of each battery module, a state of charge of each battery module, such as the cost functions illustrated in Figures 4A-4C, or on any other measured or estimated parameter of each battery module.

[0035] In some examples, the temperature of each battery module, the voltage of each battery module, and the state of charge of each battery' module may be determined by EMSs, such as EMSs 158 of the vehicle 100. In some examples, the state of charge of each battery' module may be estimated based on historical voltage data or historical current data for the battery' module. In further examples, the state of charge of each battery' module may be based on any other measured or estimated parameter of each battery' module.

[0036] In some examples, determining the state of charge of each battery module may include measuring, for each battery module in the plurality of battery modules, a battery voltage; measuring, for each battery module in the plurality of battery modules, a battery current; and determining, for each battery module in the plurality of battery modules, the state of charge based on the measured battery voltage, the measured battery’ current, or a previously measured time to charge the respective battery module.

[0037] In further examples, the plurality of cost functions may be determined based on measured data over the course of the life of the battery module and determining the plurality of cost functions may include training a machine-learned model using the measured data as training data. Training the machine-learned model may include inputting the measured data; predicting, by the machine-learned model, a cost function of a battery7module; comparing the predicted cost function to the measured data; and adjusting, based on the comparison, the machine-learned model. In some examples, the machine-learned model may be adjusted based on the training data such that, if the predicted cost function matches the training data, the machine-learned model is reinforced and if the predicted cost function does not match the training data, the machine-learned model is modified. In some examples, modifying the machine-learned model may include increasing or decreasing a weight of a factor within a neural network of the machine-learned model. In other examples, modifying the machine- learned model may include adding or subtracting rules during the training of the machine- learned model.

[0038] In some examples, the plurality7of cost functions may be non-linear with respect to the voltage of each battery module. In some examples, the plurality of cost functions may be linear with respect to the state of charge of each battery module.

[0039] In some examples, the method 200 may further include adjusting the plurality of cost funebons over time as the plurality7of batery7modules age. In some embodiments, the plurality of cost functions may be adj usted over time based on data recorded during dispatch of a vehicle, such as vehicle 100. In some examples, vehicle 100 may be an aircraft. In some examples, the plurality of cost functions may be adjusted over time based on data recorded during one or more aircraft flights (e g., flights of the vehicle 100 or flights of other vehicles within a fleet of vehicles associate with the vehicle 100). In some examples, the data recorded during the one or more aircraft flights may include discharge data or aircraft energy usage data.

[0040] In some examples, the plurality of cost functions may be stored in one or more lookup tables within a memory associated with a controller, such as a controller associated with EMSs 158.

[0041] In some examples, the plurality of cost functions may be determined based on empirically measured data or calibration measurements performed during calibration or fabrication of the battery modules.

[0042] At step 206, the method 200 may include determining, for each battery module based on the plurality of cost functions, a total cost to discharge the respective battery module.

[0043] In some examples, determining the total cost to discharge the respective battery module may include determining a weight value for each cost function in the plurality of cost functions and applying each determined weight value to each respective cost function.

[0044] At step 208, the method 200 may include ranking the battery modules in the plurality of battery’ modules from lowest total cost to discharge to highest total cost to discharge.

[0045] At step 210, the method 200 may include selecting enough battery' modules from the plurality of battery' modules to supply the required output energy’, wherein the battery' modules are selected sequentially from lowest total cost to discharge to highest total cost to discharge.

[0046] At step 212. the method 200 may include causing the selected battery modules to discharge across a load in order to supply the required output energy.

[0047] In some examples, causing the selected battery modules to discharge across a load may include actuating power flow (e g., current flow) to and from the batteries by CCUs, such as the CCUs 160, 162, 164, 166 of vehicle 100.

[0048] In some examples, the method 200 may further include determining whether a battery module requires charging; selecting the battery module with the highest total cost to discharge; and causing the battery module with the highest total cost to discharge to be charged by acharging system coupled to the plurality of battery modules. In some examples, causing the battery modules to charge includes actuating power flow to the battery modules by CCCs. such as the CCUs 160, 162, 164, 166 of vehicle 100.

[0049] In some examples, the method 200 may further include determining that a predetermined time period has passed; determining an additional required output energy7;, determining, for each battery module based on the plurality of cost functions, an additional total cost to discharge the respective battery module; ranking the battery modules in the plurality of battery modules from lowest additional total cost to discharge to highest additional total cost to discharge; selecting enough battery modules from the plurality of battery modules to supply the additional required output energy, wherein the battery modules are selected sequentially from lowest additional total cost to discharge to highest additional total cost to discharge; and causing the selected battery modules to discharge across the load in order to supply the additional required output energy.

[0050] In some examples, the predetermined time period may be 100 milliseconds. Additionally or alternatively, the predetermined time period may be set by a command from a controller. In some embodiments, the predetermined time period may vary7during operation of a vehicle, such as vehicle 100, based on the operating conditions of the vehicle. In some examples, the predetermined time period may be optimized such that sufficient voltage levels are maintained to sustain certain vehicle maneuvers (e.g., a flight pattern or a landing sequence).

[0051] In some examples, the method 200 may further include identifying a battery module within the plurality of battery modules as experiencing a fault, wherein the fault comprises an indication that the identified battery7module is prone to catastrophic failure; and removing, upon identifying the battery module as experiencing the fault, the identified battery module from the ranking of battery modules. In some examples, identifying a battery module withinthe plurality of battery modules as experiencing a fault includes determining that the temperature of the battery module has exceeded an acceptable temperature. In this way, a battery with an exceedingly high temperature may be prevented from overheating (e g., and thereafter exploding, melting, or otherwise destructing).

[0052] In some examples, the method 200 may further include sending, to a control system, the required output energy, the plurality of cost functions, the total cost to discharge each battery module, the selection of battery modules to discharge, the measured battery voltage for each battery module, the measured battery current for each battery module, or the state of charge for each battery module.

[0053] In some examples, the method 200 may further include adjusting the plurality of cost functions based on feedback received from the control system after sending, to the control system, the required output energy', the plurality' of cost functions, the total cost to discharge each battery module, the selection of battery' modules to discharge, the measured battery voltage for each battery' module, the measured battery' current for each battery' module, or the state of charge for each battery module.

[0054] In some examples, the method 200 may further include determining, for each selected battery module, a debounce time, wherein the debounce time is determined based on the time the battery module is discharged across the load; removing the selected battery from the ranking of battery modules; determining that the determined debounce time has elapsed; and adding the selected battery module back to the ranking of battery modules.

[0055] Some example embodiments may include a non-transitory computer-readable medium, having stored thereon program instructions that, upon execution by a processor, cause the processor to perform operations comprising: determining a required output energy for a plurality' of battery' modules; determining, for each battery' module, a plurality' of cost functions;determining, for each battery module based on the plurality of cost functions, a total cost to discharge the respective battery module; ranking the battery modules in the plurality of battery modules from lowest total cost to discharge to highest total cost to discharge; selecting enough battery modules from the plurality of battery modules to supply the required output energy, wherein the battery7modules are selected sequentially from lowest total cost to discharge to highest total cost to discharge; and, causing the selected battery modules to discharge across a load in order to supply the required output energy.

[0056] In some examples, the computer system may be communicatively coupled to control units, such as CCUs 160, 162, 164, 166 of the vehicle 100.

[0057] Figure 3 is a flowchart illustration of a method 300, in accordance with exemplary embodiments of the present invention. As illustrated, at step 302, the method 300 may include calculating a total cost function to discharge a battery module for all battery modules. In some examples, the plurality of cost functions may be based on a temperature of each battery module, a voltage of each battery module, a state of charge of each battery module, such as the cost functions illustrated in Figures 4A-4C, or on any other measured or estimated parameter of each battery module. In some examples, the total cost function for a battery module is calculated by adding a first cost function based on the temperature of the battery' module, a second cost function based on the voltage of the battery' module, and a third cost function based on the state of charge of the battery module.

[0058] As an illustrative example, at step 302, the method 300 may include calculating total cost functions to discharge for battery modules 150. 152, 154, 156 based on the cost functions illustrated in Figures 4A-4C. For example, battery module 150 may have a state of charge (SOC) of 80%, a temperature of 20°C, and a voltage of 3.3 Volts. Battery module 152 may have an SOC of 100%, a temperature of 20°C, and a voltage of 3.7 Volts. Battery' module 154 may have an SOC of 60%, a temperature of 20°C, and a voltage of 3.1 Volts. Battery module156 may have an SOC of 50%, a temperature of 20°C, and a voltage of 2.7 Volts. Based on these values, evaluating the cost functions illustrated in Figures 4A-4C at step 302 may include determining the cost to discharge each battery module based on the SOCs, temperatures, and voltages of the respective modules. Using the example metrics above and the example cost functions illustrated in Figures 4A-4C, battery module 150 has an SOC cost function value of 0, a temperature cost function value of 0, and a voltage cost function value of 50. Likewise, batten- module 152 has an SOC cost function value of 0, a temperature cost function value of 0, and a voltage cost function value of 0. Similarly, battery module 154 has an SOC cost function value of 0, a temperature cost function value of 0, and a voltage cost function value of 150. Further, battery module 156 has an SOC cost function value of 50, a temperature cost function value of 0, and a voltage cost function value of 200. Based on these determined values, method 300 may be then calculate a total cost to discharge for each battery module by adding the SOC cost function value, the temperature cost function value, and the voltage cost function value for each battery module. Hence, continuing with the example, battery module 150 has a total cost function value of 50, battery module 152 has a total cost function value of 0, battery module 154 has a total cost function value of 150, and battery module 156 has a total cost function value of 250. In such an example, the battery modules 150, 152, 154, 156 may be ranked from lowest to highest total cost to discharge: such that the ranking would be 152, 150, 154, 156. After step 302, the method 300 may proceed to step 304.

[0059] At step 304, the method 300 may include selecting an amount of battery modules necessary to meet a demand with the lowest total cost functions. In some examples, selecting the amount of battery modules necessary to meet a demand is based on a ranking of the total cost functions from lowest to highest (or highest to lowest) of the battery modules, as determined at step 302. Using the illustrative example of battery modules 150, 152, 154, 156 from above, at step 304, the method 300 may select two battery modules to meet a demand.Specifically, method 300 may include selecting the battery modules with the two lowest total cost function values, which would be battery module 152 and battery' module 1 0. The selected battery modules may then be discharged across a load. After step 304, the method 300 may proceed to step 306.

[0060] It is understood that steps 306, 308, 310, 312, and 314 may be performed in order to accommodate a change in demand (e.g., a change in required energy supply over time). In some embodiments (e.g., embodiments where demand does not change over time), such steps may not be performed.

[0061] At step 306, the method 300 may include determining if a battery module should be removed from the selected battery modules. For example, at step 306, method 300 may include determining that the demand is lower than is being provided by the amount of battery modules selected and, therefore, to optimize battery module charging and discharging, a battery' module may be removed (i.e., may no longer be discharged across the load). Removing a battery module may include disconnecting the battery' module from one or more circuits (e.g., by engaging one or more switches). If it is determined that a battery' module is to be removed from the set of selected battery' modules, after step 304, the method 300 may proceed to step 308. If it is determined that a battery' module need not be removed from the selected battery modules, after step 304, the method 300 may proceed to step 310.

[0062] At step 308, the method 300 may include selecting the battery module with the highest total cost function from the set of connected battery modules for removal (e.g., and, thereafter, removing the selected battery module). For example, using the example above, if battery module 150 and battery module 152 were connected, battery module 150 would be selected for removal because the determined total cost to discharge battery module 150 ranks higher than the determined total cost to discharge battery’ module 152. After step 308. the method 300 may proceed to step 310.

[0063] At step 310, the method 300 may include determining if a battery module should be added to the selected battery modules. For example, at step 310, the method 300 may include determining that the demand exceeds the output of the selected batten' modules and, therefore, to optimize discharging, an additional battery module should be included. If it is determined that a battery' module should be added, after step 310, the method 300 may proceed to step 312. If it is determined that a battery' module need not be added, after step 310, the method may return to step 306.

[0064] At step 312, the method 300 may include selecting the batten' module with the lowest total cost function from the battery modules that remained unselected after step 304. Using the example above, battery module 154 and battery module 156 were not selected at step 304. Since the total cost to discharge battery module 154 (e.g., as calculated above) is lower than the total cost to discharge battery module 156, step 312 may include selecting battery module 154 to connect (e.g., and, thereafter, connecting battery module 154). After step 312, the method 300 may proceed to step 314.

[0065] At step 314, the method 300 may include calculating a total cost function value to discharge each battery module. Calculating a total cost function to discharge each battery' module may be performed according to a similar process described above with respect to step 302. Hence, in some examples, the total cost functions may be determined based on a temperature of each battery module, a voltage of each battery module, a state of charge of each battery module, or on any other measured or estimated parameter of each battery module (e.g., using the cost functions illustrated in Figures 4A-4C). In some examples, the total cost function for a battery module is calculated by adding a first cost function based on the temperature of the battery module, a second cost function based on the voltage of the battery' module, and a third cost function based on the state of charge of the battery module. After step 314, the method300 may return to step 306.

[0066] In some examples, causing the selected battery modules to discharge across a load may include actuating power flow (e.g., current flow) from the battery' modules by CCUs, such as the CCUs 160, 162, 164, 166 of vehicle 100.

[0067] In some examples, the method 300 may further include determining whether a battery module requires charging; selecting the battery module with the highest total cost to discharge; and causing the battery module with the highest total cost to discharge to be charged by a charging system coupled to the plurality of battery modules. In some examples, causing the battery modules to charge includes actuating power flow to the battery- modules by CCUs, such as the CCUs 160, 162. 164, 166 of vehicle 100.

[0068] In some examples, the method 300 may include determining that a predetermined time period has passed; determining an additional required output energy-; determining, for each battery module based on the plurality- of cost functions, an additional total cost to discharge the respective battery- module; ranking the battery modules in the plurality of battery- modules from lowest additional total cost to discharge to highest additional total cost to discharge; selecting enough battery- modules from the plurality- of battery- modules to supply the additional required output energy, yy-herein the battery' modules are selected sequentially from lowest additional total cost to discharge to highest additional total cost to discharge; and causing the selected battery modules to discharge across the load in order to supply the additional required output energy.

[0069] In some examples, the predetermined time period may be 100 milliseconds. Additionally or alternatively, the predetermined time period may be set by a command from a controller. In some embodiments, the predetermined time period may vary during operation of a vehicle, such as vehicle 100. based on the operating conditions of the vehicle. In some examples, the predetermined time period may be optimized such that sufficient voltage levelsare maintained to sustain certain vehicle maneuvers (e.g., a flight pattern or a landing sequence).

[0070] In some examples, the method 300 may further include identifying a battery module within the plurality of battery modules as experiencing a fault, wherein the fault comprises an indication that the identified battery module is prone to catastrophic failure; and removing, upon identifying the battery module as experiencing the fault, the identified battery module from the ranking of battery modules. In some examples, identifying a battery module within the plurality of battery modules as experiencing a fault includes determining that the temperature of the batten- module has exceeded an acceptable temperature. In this way, a battery with an exceedingly high temperature may be prevented from overheating (e.g., and thereafter exploding, melting, or otherwise destructing).

[0071] In some examples, the method 300 may further include sending, to a control system, the required output energy-, the plurality of cost functions, the total cost to discharge each battery module, the selection of battery modules to discharge, the measured battery voltage for each battery- module, the measured battery- current for each battery- module, or the state of charge for each battery- module.

[0072] In some examples, the method 300 may further include adjusting the plurality of cost functions based on feedback received from the control system after sending, to the control system, the required output energy, the plurality of cost functions, the total cost to discharge each battery module, the selection of battery modules to discharge, the measured battery voltage for each battery module, the measured battery current for each battery module, or the state of charge for each battery module.

[0073] In some examples, the method 300 may further include determining, for each selected battery- module, a debounce time, wherein the debounce time is determined based on the timethe battery module is discharged across the load; removing the selected battery' from the ranking of battery modules; determining that the determined debounce time has elapsed; and adding the selected battery module back to the ranking of battery modules.

[0074] Figure 4A illustrates an example cost function for a battery module as a function of SOC, in accordance with exemplary embodiments of the present invention. In the illustrated cost function, the x-axis includes SOC of a battery module (e.g., measured in percent) and the y-axis includes the discharge cost of a battery module (e.g., measured in arbitrary units). The illustrated discharge cost values decrease as the SOC of the battery module increases, such that as a battery' module charges and the SOC increases, the cost to discharge the battery module decreases. In the example cost function illustrated in Figure 4A, the discharge cost decreases pseudo-exponentially from a cost value of 200 to a cost value of 0 between 0% SOC and 40% SOC and then is constant from 40% SOC to 100% SOC with a cost value of 0. Alternatively, in some examples, the cost function may decrease linearly or as a step-function. It should be understood that in various embodiments the discharge cost as a function of SOC may include different values or take different shapes.

[0075] Figure 4B illustrates an example cost function for a battery module as a function of voltage, in accordance with exemplary' embodiments of the present invention. In the illustrated cost function, the x-axis includes voltage (e.g., measured in Volts) and the y-axis includes the discharge coast of a battery' module (e.g., measured in arbitrary units). The illustrated discharge cost value decreases as the voltage of the battery module increases. In the illustrated cost function, the discharge cost is constant when the voltage of the battery module is between 2.5 volts and 3.0 volts (e.g., with a cost value of 200), the discharge cost then decreases pseudo- exponentially from a cost value of 200 to a cost value of 0 when the voltage of the battery module is between 3.0 volts and about 3.6 volts, and the discharge cost is constant when the voltage of the battery' module is greater than 3.6 volts (e.g., with a cost value of 0).

[0076] Figure 4C illustrates an example cost function for a battery module as a function of temperature, according to an example embodiment. In the illustrated cost function, the x-axis includes temperature of the batten' module (e.g., measured in degrees Celsius) and the y-axis includes the discharge cost of a battery module (e.g., measured in arbitrary' units). The illustrated cost value decreases linearly at a first slope from a cost value of 200 to a cost value of 30 between -53°C and -40°C. The cost value then decreases linearly at a second slope from 30 to 0 between -40°C and -30°C. Further, the cost value remains constant at 0 as the temperature increases from -30°C to 43°C. Additionally, the cost value then increases linearly from 0 to 200 at a third slope as the temperature increases from 43°C to 55 °C. Still further, the cost value remains constant at 200 as the temperature increases from 55°C to 60°C. In some examples, the cost function may include one or more parabolic, quadratic, exponential, or logarithmic portions.

[0077] In the examples illustrated in Figures 4A-4C, the discharge cost values range from 0 to 200. It should be understood that the discharge cost values may be in any acceptable range.

[0078] In some examples, the plurality' of cost functions may be modified over time as the plurality7of battery' modules age. In some embodiments, the plurality of cost functions may be adjusted over time based on data recorded during dispatch of a vehicle, such as vehicle 100. In some examples, vehicle 100 may be an aircraft. Hence, the plurality7of cost functions may be adjusted over time based on data recorded during one or more aircraft flights (e.g., flights of the vehicle 100 or flights of other vehicles within a fleet of vehicles associate with the vehicle 100). In some examples, the data recorded during the one or more aircraft flights may include discharge data or aircraft energy7usage data.

[0079] In some examples, the plurality of cost functions may be stored in one or more lookup tables within a memory7associated with a controller, such as a controller associated with EMSs158. 1

[0080] In some examples, the pl urality of cost functions may be non-linear with respect to the voltage of each battery module. In some examples, the plurality of cost functions may be linear with respect to the state of charge of each battery7module.

[0081] In some examples, the plurality of cost functions may be determined based on empirically measured data or calibration measurements performed during calibration or fabrication of the battery modules.

[0082] Figure 5 is a simplified block diagram showing some of the components of an example computing device 500, in accordance with exemplary7embodiments of the present invention. In some embodiments, a controller (e.g., a controller coupled to the vehicle 100 and described with reference to Figure 1) may include the computing device 500. The computing device 500 may correspond to a computing device configured to perform additional functions (e.g., in communication with one or more other computing devices using a web browser and / or an application, such as the ground control system 180 shown and described with reference to Figure 1). In various embodiments, the computing device 500 may be a mobile computing device, a desktop computing device, a laptop computing device, a table computing device, or a wearable computing device (e.g., a smartwatch or a smart wristband). As illustrated in Figure 5, the computing device 500 may include a network interface 502, a user interface 504, a processor 506, and data storage 508. The network interface 502, the user interface 504, the processor 506, and / or the data storage 508 may be communicatively linked together by a bus 510 (e.g., an electrical interconnect defined on one or more printed circuit boards).

[0083] The network interface 502 may be used by the computing device 500 to communicate with other computing devices over one or more networks (e.g., the public Internet). In some embodiments, the network interface 502 may include a wired interface (e.g.. Ethernet). Additionally or alternatively, the network interface 502 may include a wireless interface, suchas WiFi. Other interfaces may be included in the network interface 502 and are contemplated herein.

[0084] The user interface 504 may function to allow computing device 500 to receive input from and / or provide output to a user. As such, the user interface 504 may include inputs, such as a keypad, a keyboard, a touch-screen, a computer mouse, a microphone, a microphone jack, etc., and / or outputs, such as a cathode-ray tube (CRT) display, a liquid-crystal display (LCD), a light-emitting diode (LED) display, a speaker, a speaker jack, headphones, a headphone jack, etc.

[0085] The processor 506 may include one or more general purposes processes (e.g., microprocessors) and / or one or more special-purpose processors (e.g., graphics processing units (GPUs) or application-specific integrated circuits (ASICs)). In some embodiments, for example, the processor 506 may include special-purpose processors capable of generating a machine-learned model and / or using a machine-learned model to perform analyses as described herein, such as determining a cost function for the plurality' of battery' modules 150, 152, 154, 156 shown and described in Figure 1.

[0086] The data storage 508 may include one or more volatile and / or non-volatile memories. For example, the data storage 508 may include a RAM, a ROM, a hard drive, a solid-state drive, etc. In some embodiments, the data storage 508 may be partially or wholly integrated with the processor 506 (e.g., a level 1 (LI) cache or a level 2 (L2) cache within a central processing unit). The data storage 508 may include removable components (e.g., a flash drive) and / or non-removable components (e.g., a ROM integrated with a motherboard).

[0087] The processor 506 may be configured to execute instructions 518 (e.g., compiled or non-compiled program logic and / or machine code) stored in the data storage 508 to carry out the methods described herein. Hence, the data storage 508 may include a non-transitorycomputer-readable medium, having stored thereon program instructions that, when executed by the processor 506, cause the processor 506 to carry out any of the methods, processes, or operations disclosed in this specification and / or the accompanying drawings. In some embodiments, the processor 506 may use the application data 512 while executing the instructions 518.

[0088] In some embodiments, the instructions 518 may include an operating system 522 (e.g., an operating system kernel, device driver(s), and / or other modules) and one or more applications 520 (e.g., mobile applications). As described above, the processor 506 may access the application data 512 when executing the applications 520.

[0089] The applications 520 may communicate with the operating system 522 through one or more application programming interfaces (APIs). These APIs may facilitate, for instance, the applications 520 reading and / or writing the application data 512, transmitting or receiving information via the network interface 502, receiving, and / or displaying information on the user interface 504, etc.

[0090] Additionally, the applications 520 may be downloadable to the computing device 500 through one or more online application stores or application markets (e.g., using the network interface 502). However, application programs can also be installed on the computing device 500 in other ways, such as via a web browser or through a physical interface (e.g., a universal serial bus (USB) port) on the computing device 500.

[0091] While many of the techniques and functions described herein may be performed by the processor 506 executing one of the applications 520, it should be understood that other ways for the computing device 500 to perform such techniques and functions are also possible and are contemplated herein. For example, some or all of the calculations may be performed remotely (e.g., on a server computing device). Such an embodiment may be referred to as abrowser-based app’' when the computing device 500 provides data (e.g., application data 512) to a different computing device for analysis using a web browser. Additionally or alternatively, such an interaction between the computing device 500 and another computing device may be performed using an API or a browser-based language (e.g., JavaScript).

[0092] Additionally, any enumeration of elements or steps in this specification or the claims is for purposes of clarity. Thus, such enumeration should not be interpreted to require or imply that these elements or steps adhere to a particular arrangement or are carried out in a particular order.

[0093] Further, devices or systems may be used or configured to perform functions presented in the figures. In some instances, components of the devices and / or systems may be configured to perform the functions such that the components are actually configured and structured (with hardware and / or software) to enable such performance. In other examples, components of the devices and / or systems may be arranged to be adapted to, capable of, or suited for performing the functions, such as when operated in a specific manner.

[0094] By the term “substantially” or “about” it is meant that the recited characteristic, parameter, or value need not be achieved exactly, but that deviations or variations, including for example, tolerances, measurement error, measurement accuracy limitations and other factors known to skill in the art, may occur in amounts that do not preclude the effect the characteristic was intended to provide.

[0095] The arrangements described herein are for purposes of example only. As such, those skilled in the art will appreciate that other arrangements and other elements (e.g., machines, interfaces, operations, orders, and groupings of operations, etc.) can be used instead, and some elements may be omitted altogether according to the desired results. Further, many of the elements that are described are functional entities that may be implemented as discrete ordistributed components or in conjunction with other components, in any suitable combination and location.

[0096] While various aspects and implementations have been disclosed herein, other aspects and implementations will be apparent to those skilled in the art. The various aspects and implementations disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope being indicated by the following claims, along with the full scope of equivalents to which such claims are entitled. Also, the terminology used herein is for the purpose of describing particular implementations only, and is not intended to be limiting.

[0097] Implementations of the present disclosure can thus relate to one of the enumerated example implementation (EEEs) listed below.

[0098] EEE 1 is a method, the method comprising: determining a required output energy; determining, for each battery module in a plurality of battery modules, a plurality of cost functions; determining, for each battery module based on the pl urality of cost functions, a total cost to discharge the respective battery module; ranking the battery modules in the plurality of battery modules from lowest total cost to discharge to highest total cost to discharge; selecting enough battery modules from the plurality of battery modules to supply the required output energy, wherein the battery modules are selected sequentially from lowest total cost to discharge to highest total cost to discharge; and causing the selected batten' modules to discharge across a load in order to supply the required output energy.

[0099] EEE 2 is the method of EEE 1, wherein the plurality of cost functions are based on a temperature of each battery' module, a voltage of each battery' module, or a state of charge of each battery' module.

[0100] EEE 3 is method of EEE 2, wherein the plurality of cost functions are non-linear with respect to the voltage of each battery' module.

[0101] EEE 4 is the method of EEE 2 or 3, wherein the plurality of cost functions are linear with respect to the state of charge of each battery7module.

[0102] EEE 5 is the method of any of EEEs 1-4, wherein the state of charge of each battery module is estimated based on historical voltage data or historical current data for the battery module.

[0103] EEE 6 is the method of any of EEEs 1-5, wherein the plurality of cost functions are determined based on measured data over the course of the life of the battery module, and wherein determining the plurality of cost functions comprises training a machine-learned model using the measured data as training data.

[0104] EEE 7 is the method of any of EEEs 1-6, further comprising adjusting the plurality of cost functions over time as the plurality of battery modules age.

[0105] EEE 8 the method of EEE 7, wherein the plurality of cost functions are based on data recorded during one or more aircraft flights.

[0106] EEE 9 is the method of EEE 8, wherein the data recorded during the one or more aircraft flights comprises discharge data or aircraft energy7usage data.

[0107] EEE 10 is the method of any of EEEs 1-9, wherein the required output energy is determined based on a command from a vehicle associated with the plurality of battery modules.

[0108] EEE 11 is the method of any of EEEs 1-10, further comprising: determining whether a battery module requires charging; selecting the battery7module with the highest total cost to discharge; and causing the battery7module with the highest total cost to discharge to be charged by a charging system coupled to the plurality of battery7modules.

[0109] EEE 12 is the method of any of EEEs 1-11, further comprising: determining that a predetermined time period has passed; determining an additional required output energy;determining, for each battery module based on the plurality of cost functions, an additional total cost to discharge the respective battery module; ranking the battery modules in the plurality7of battery modules from lowest additional total cost to discharge to highest additional total cost to discharge; selecting enough battery modules from the plurality of battery modules to supply the additional required output energy7, wherein the battery7modules are selected sequentially from lowest additional total cost to discharge to highest additional total cost to discharge; and causing the selected battery7modules to discharge across the load in order to supply the additional required output energy7.

[0110] EEE 13 is the method of EEE 12, wherein the predetermined time period is 100 milliseconds.

[0111] EEE 14 is the method of EEE 12 or 13, wherein the predetermined time period is based on a command from a controller coupled to a vehicle.

[0112] EEE 15 is the method of EEE 14, wherein the vehicle is an aircraft and the command is based on a predetermined function of the aircraft.

[0113] EEE 16 is any of the methods of EEEs 1-15, further comprising: identify ing a battery module within the plurality of battery modules as experiencing a fault, wherein the fault comprises an indication that the identified battery module is prone to catastrophic failure; and removing, upon identifying the battery module as experiencing the fault, the identified battery module from the ranking of battery7modules.

[0114] EEE 17 is any of the methods of EEEs 1-1 , further comprising: measuring, for each battery module in the plurality of battery modules, a battery^ voltage; measuring, for each battery module in the plurality of battery7modules, a battery current; and determining, for each battery module in the plurality of battery modules, the state of charge based on the measuredbatery voltage, the measured batery current, or a previously measured time to charge the respective baten' module.

[0115] EEE 18 is the method of EEE 17, wherein the cost function for each batery module in the plurality of batery modules is determined based on the determined state of charge for the respective batery module.

[0116] EEE 19 is the method of any of EEEs 1-18, wherein determining the total cost to discharge the respective batery module comprises: determining a weight value for each cost function in the plurality of cost functions; and applying each determined weight value to each respective cost function.

[0117] EEE 20 is the method of any of EEEs 1-19, wherein the plurality of cost functions are stored in one or more lookup tables within a memory associated with a controller.

[0118] EEE 21 is the method of any of EEEs 1-20. wherein the plurality of cost functions are determined based on empirically measured data or calibration measurements performed during calibration or fabrication of the battery’ modules.

[0119] EEE 22 is the method of any of EEEs 1-21, further comprising sending, to a control system, the required output energy, the plurality of cost functions, the total cost to discharge each batery module, the selection of batery modules to discharge, the measured battery voltage for each batery module, the measured batery current for each batery7module, or the state of charge for each batery' module.

[0120] EEE 23 is the method of EEE 22, further comprising adjusting the plurality of cost functions based on feedback received from the control system.

[0121] EEE 24 is the method of any of EEEs 1-23, further comprising: determining, for each selected batery7module, a debounce time, wherein the debounce time is determined based on the time the batery' module is discharged across the load; removing the selected batery7modulefrom the ranking of battery modules; determining that the determined debounce time has elapsed; and adding the selected battery module back to the ranking of battery' modules.

[0122] EEE 25 is a system comprising: a plurality of battery modules; and a controller communicatively coupled to the plurality of battery modules and configured to: determine a required output energy; determine, for each battery module, a plurality of cost functions; determine, for each battery module based on the plurality7of cost functions, a total cost to discharge the respective battery module; rank the battery' modules in the plurality7of battery modules from lowest total cost to discharge to highest total cost to discharge; select enough battery modules from the plurality of battery modules to supply the required output energy, wherein the battery modules are selected sequentially from lowest total cost to discharge to highest total cost to discharge; and cause the selected battery modules to discharge across a load in order to supply the required output energy.

[0123] EEE 26 is the sy stem of EEE 25, further comprising a vehicle associated with the plurality' of battery modules and the controller, wherein the required output energy is based on a command from the vehicle.

[0124] EEE 27 is the system of EEE 26, wherein the vehicle is an aircraft.

[0125] EEE 28 is the system of EEE 27. further comprising a ground control system communicatively coupled to the vehicle and the controller.

[0126] EEE 29 is the system of EEE 28, wherein the ground control system is configured to send commands to the controller.

[0127] EEE 30 is the system of any of EEEs 25-29, wherein the plurality of battery modules comprises lithium anode batteries.

[0128] EEE 31 is anon-transitory computer-readable medium, having stored thereon program instructions that, upon execution by a processor, causing the processor to perform operationscomprising: determining a required output energy for a plurality of battery' modules; determining, for each battery module, a plurality of cost functions; determining, for each battery module based on the plurality7of cost functions, a total cost to discharge the respective battery module; ranking the battery modules in the plurality of battery7modules from lowest total cost to discharge to highest total cost to discharge; selecting enough battery7modules from the plurality of battery7modules to supply the required output energy7, wherein the battery7modules are selected sequentially from lowest total cost to discharge to highest total cost to discharge; and causing the selected battery7modules to discharge across a load in order to supply the required output energy.

Claims

CLAIMSWhat is claimed is:

1. A method comprising: determining a required output energy; determining, for each battery' module in a plurality' of battery' modules, a plurality' of cost functions; determining, for each battery' module based on the plurality of cost functions, a total cost to discharge the respective battery' module; ranking the battery modules in the plurality' of battery' modules from lowest total cost to discharge to highest total cost to discharge; selecting enough battery modules from the plurality' of battery' modules to supply' the required output energy', wherein the battery modules are selected sequentially from lowest total cost to discharge to highest total cost to discharge; and causing the selected battery modules to discharge across a load in order to supply the required output energy'.

2. The method of claim 1, wherein the plurality' of cost functions are based on a temperature of each battery module, a voltage of each battery module, or a state of charge of each battery module.

3. The method of claim 2, wherein the plurality' of cost functions are non-linear with respect to the voltage of each battery’ module.

4. The method of claim 2, wherein the plurality’ of cost functions are linear with respect to the state of charge of each battery module.

5. The method claim 1, wherein the state of charge of each battery module is estimated based on historical voltage data or historical current data for the battery module.

6. The method of claim 1, wherein the plurality of cost functions are determined based on measured data over the course of the life of the battery' module, and wherein determining the plurality of cost functions comprises training a machine-learned model using the measured data as training data.

7. The method of claim 1, further comprising adjusting the plurality of cost functions over time as the plurality' of battery modules age.

8. The method of claim 7, wherein the plurality of cost functions are adjusted based on data recorded during one or more aircraft flights.

9. The method of claim 8, wherein the data recorded during the one or more aircraft flights comprises discharge data or aircraft energy' usage data.

10. The method of claim 1, wherein the required output energy is determined based on a command from a vehicle associated with the plurality of battery' modules.

11. The method of claim 1, further comprising: determining whether a battery module requires charging; selecting the battery module with the highest total cost to discharge; andcausing the battery module with the highest total cost to discharge to be charged by a charging system coupled to the plurality of battery' modules.

12. The method of claim 1, further comprising: determining that a predetermined time period has passed; determining an additional required output energy; determining, for each battery' module based on the plurality of cost functions, an additional total cost to discharge the respective battery' module; ranking the battery modules in the plurality' of battery' modules from lowest additional total cost to discharge to highest additional total cost to discharge; selecting enough battery modules from the plurality' of battery' modules to supply' the additional required output energy, wherein the battery' modules are selected sequentially from lowest additional total cost to discharge to highest additional total cost to discharge; and causing the selected battery modules to discharge across the load in order to supply7the additional required output energy.

13. The method of claim 12, wherein the predetermined time period is 100 milliseconds.

14. The method of claim 12, wherein the predetermined time period is based on a command from a controller coupled to a vehicle.

15. The method of claim 14. wherein the vehicle is an aircraft and the command is based on a predetermined function of the aircraft.

16. The method of claim 1, further comprising:identifying a battery module within the plurality of battery modules as experiencing a fault, wherein the fault comprises an indication that the identified battery module is prone to catastrophic failure; and removing, upon identifying the battery module as experiencing the fault, the identified battery module from the ranking of battery modules.

17. The method of claim 1, further comprising: measuring, for each battery' module in the plurality of battery' modules, a battery' voltage; measuring, for each battery' module in the plurality of battery modules, a battery current; and determining, for each battery' module in the plurality of battery modules, the state of charge based on the measured battery voltage, the measured battery' current, or a previously measured time to charge the respective battery' module.

18. The method of claim 17, wherein the cost function for each battery module in the plurality of battery modules is determined based on the determined state of charge for the respective battery module.

19. The method of claim 1 , wherein determining the total cost to discharge the respective battery module comprises: determining a weight value for each cost function in the plurality of cost functions; and applying each determined weight value to each respective cost function.

20. The method of claim 1, wherein the plurality of cost functions are stored in one or more lookup tables within a memoty associated with a controller.

21. The method of claim 1, wherein the plurality' cost functions are determined based on empirically measured data or calibration measurements performed during calibration or fabrication of the battery' modules.

22. The method of claim 1, further comprising sending, to a control system, the required output energy, the plurality of cost functions, the total cost to discharge each battery module, the selection of battery' modules to discharge, the measured battery voltage for each battery' module, the measured battery current for each battery' module, or the state of charge for each battery module.

23. The method of claim 22, further comprising adjusting the plurality of cost functions based on feedback received from the control system.

24. The method of claim 1, further comprising: determining, for each selected battery module, a debounce time, wherein the debounce time is determined based on the time the battery module is discharged across the load; removing the selected battery module from the ranking of battery modules; determining that the determined debounce time has elapsed: and adding the selected battery module back to the ranking of battery modules.

25. A system comprising:a plurality' of battery modules; and a controller communicatively coupled to the plurality of battery modules and configured to: determine a required output energy; determine, for each battery7module, a plurality' of cost functions; determine, for each battery' module based on the plurality7of cost functions, a total cost to discharge the respective battery' module; rank the battery’ modules in the plurality7of battery’ modules from lowest total cost to discharge to highest total cost to discharge; select enough battery7modules from the plurality’ of battery modules to supply the required output energy, wherein the battery modules are selected sequentially’ from lowest total cost to discharge to highest total cost to discharge; and cause the selected battery modules to discharge across a load in order to supply the required output energy.

26. The system of claim 25, further comprising a vehicle associated with the plurality7of battery modules and the controller, wherein the required output energy is based on a command from the vehicle.

27. The system of claim 26, wherein the vehicle is an aircraft.

28. The system of claim 27, further comprising a ground control system communicatively coupled to the vehicle and the controller.

29. The system of claim 28, wherein the ground control system is configured to send commands to the controller.

30. A non-transitory computer-readable medium, having stored thereon program instructions that, upon execution by a processor, cause the processor to perform operations comprising: determining a required output energy for a plurality of battery' modules; determining, for each battery' module, a plurality of cost functions; determining, for each battery' module based on the plurality of cost functions, a total cost to discharge the respective battery' module; ranking the battery' modules in the plurality of battery modules from lowest total cost to discharge to highest total cost to discharge; selecting enough battery modules from the plurality of battery' modules to supply the required output energy, wherein the battery modules are selected sequentially from lowest total cost to discharge to highest total cost to discharge; and causing the selected battery modules to discharge across a load in order to supply the required output energy.

Citation Information

Patent Citations

  • Method and device for determining charging and discharging power of electric vehicle and computer equipment

    CN113306431A

  • Method for training a machine model for determining a battery system status

    EP3968437A1

  • Large electric vehicle power structure and alternating-hibernation battery management and control method thereof

    US20160082859A1

  • Ground remote control system and method for an aircraft with an electric taxi system

    US20160124428A1

  • System And Method For Charge Balancing A Battery Pack Over Time

    US20220166228A1