System and method for optimizing vehicle speed for powertrain efficiency
By receiving forward-looking and feedback information from the automated driving system, generating and iteratively updating speed and energy distribution, the problem of vehicle speed optimization is solved, the fuel and energy efficiency of the powertrain is improved, and it is suitable for vehicles with automated driving systems.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CUMMINS LTD
- Filing Date
- 2024-12-11
- Publication Date
- 2026-07-14
Smart Images

Figure CN122396623A_ABST
Abstract
Description
[0001] Cross-reference to related applications This application claims priority and benefit to U.S. Provisional Patent Application No. 63 / 609,276, filed December 12, 2023, which is incorporated herein by reference in its entirety. Technical Field
[0002] This disclosure relates to systems, apparatuses, and methods for optimizing vehicle speed to achieve powertrain efficiency. In particular, the systems, apparatuses, and methods described herein relate to optimizing vehicle speed to achieve powertrain efficiency in vehicles equipped with Automated Driving Systems (ADS) and / or Advanced Driver Assistance Systems (ADAS). Background Technology
[0003] "Driving automation" refers to both Advanced Driver Assistance Systems (ADAS) and Automated Driving Systems (ADS). ADAS features on a vehicle support the human driver, while ADS ultimately enables the vehicle to operate without a human driver. ADS and ADAS are becoming increasingly popular, but integrating them with various vehicle systems and components presents challenges. Summary of the Invention
[0004] One embodiment relates to a system. The system includes an automated driving system and a controller coupled to the automated driving system. The controller includes at least one processor and at least one memory device storing instructions that, when executed by the at least one processor, cause the controller to perform operations including: receiving forward-looking information, the forward-looking information including information about a task of the system and information about a first segment of the task; receiving feedback information via one or more sensors; generating a first field-of-view speed distribution based on the information about the first segment of the system and the feedback information, the first field-of-view speed distribution including a recommended speed for the system along the first segment of the system; providing the first field-of-view speed distribution to the automated driving system; receiving additional forward-looking information; receiving additional feedback information; iteratively determining a second field-of-view speed distribution based on the additional forward-looking information and the additional feedback information before the system reaches the end of the first segment of the task; and providing the second field-of-view speed distribution to the automated driving system.
[0005] In some embodiments, the first segment of the task is a portion of the task's path that is a predetermined distance from or less than the predetermined distance from the system. In some embodiments, forward-looking information includes the location of the battery charging station relative to the system, the vehicle's charging capacity, charging cost, or the vehicle's queuing time. In some embodiments, feedback information includes the battery's state of charge and battery temperature.
[0006] In some embodiments, the operation further includes: generating a long-view-of-view speed distribution based on task and feedback information of the system, the long-view-of-view speed distribution including recommended speeds for the system during the duration of the task; and providing the long-view-of-view speed distribution to the automated driving system. In some embodiments, the operation further includes: receiving a reference speed from a remote computing system. In some embodiments, the first view-of-view speed distribution is also based on the reference speed. In some embodiments, the reference speed is generated by: receiving forward-looking information; and applying an optimization solver to the forward-looking information to generate the reference speed based on the forward-looking information.
[0007] One embodiment relates to a system. The system includes an automated driving system and a controller coupled to the automated driving system. The controller includes at least one processor and at least one memory device storing instructions that, when executed by the at least one processor, cause the controller to perform operations including: receiving forward-looking information, the forward-looking information including information about a task of the system and information about a first segment of the task; receiving feedback information via one or more sensors; generating a first field-of-view energy distribution based on the information about the first segment of the system and the feedback information, the first field-of-view energy distribution including a recommended energy distribution for the system along the first segment of the system; providing the first field-of-view energy distribution to the automated driving system; receiving additional forward-looking information; receiving additional feedback information; iteratively determining a second field-of-view energy distribution based on the additional forward-looking information and the additional feedback information before the system reaches the end of the first segment of the task; and providing the second field-of-view energy distribution to the automated driving system.
[0008] In some embodiments, the first segment of the task is a portion of the path of the task at or less than a predetermined distance from the system. In some embodiments, forward-looking information includes the location of the battery charging station relative to the system, the vehicle's charging capacity, charging cost, or the vehicle's queuing time. In some embodiments, feedback information includes the battery's state of charge and battery temperature. In some embodiments, the operation further includes: generating a long-view-of-flight energy distribution based on the system's task and feedback information, the long-view-of-flight energy distribution including a recommended energy distribution for the system over the duration of the task; and providing the long-view-of-flight energy distribution to the automated driving system.
[0009] In some embodiments, the recommended energy distribution includes a recommended charging type to be performed for charging the battery. In some embodiments, the charging type may be one or more of regenerative braking, plug-in charging, or inductive charging. In some embodiments, the recommended energy distribution includes a recommendation of the location for charging the battery. In some embodiments, the recommended energy distribution includes a recommendation of power distribution between the vehicle's battery and the vehicle's engine.
[0010] One embodiment relates to a method. The method includes: receiving forward-looking information, the forward-looking information including information about a task of the system and information about a first segment of the task; receiving feedback information via one or more sensors; generating a first field-of-view speed distribution based on the information about the first segment of the system and the feedback information, the first field-of-view speed distribution including a recommended speed for the system along the first segment of the system; providing the first field-of-view speed distribution to an automated driving system; generating a first field-of-view energy distribution based on the information about the first segment of the system and the feedback information, the first field-of-view energy distribution including a recommended energy distribution for the system along the first segment of the system; and providing the first field-of-view energy distribution to the automated driving system.
[0011] In some embodiments, the first segment of the task is a portion of the task's path that is a predetermined distance from or less than the predetermined distance from the system. In some embodiments, forward-looking information includes the location of the battery charging station relative to the system, the vehicle's charging capacity, charging cost, or the vehicle's queuing time. In some embodiments, feedback information includes the battery's state of charge and battery temperature.
[0012] In some embodiments, the method further includes: generating a long field-of-view energy distribution based on task and feedback information of the system, the long field-of-view energy distribution including a recommended energy distribution for the system over the duration of the task; and providing the long field-of-view energy distribution to the automated driving system. In some embodiments, the method further includes: receiving additional forward-looking information; receiving additional feedback information; iteratively determining a second field-of-view velocity distribution based on the additional forward-looking information and the additional feedback information before the system reaches the end of a first segment of the task; and providing the second field-of-view velocity distribution to the automated driving system.
[0013] In some embodiments, the method further includes: receiving additional forward-looking information; receiving additional feedback information; iteratively determining a second horizon energy distribution based on the additional forward-looking information and the additional feedback information before the system reaches the end of a first segment of the task; and providing the second horizon energy distribution to the automated driving system. In some embodiments, the method further includes: receiving a reference speed from a remote computing system, wherein the first horizon speed distribution is also based on the reference speed. In some embodiments, the reference speed is generated by: receiving forward-looking information; and applying an optimization solver to the forward-looking information to generate the reference speed based on the forward-looking information.
[0014] One embodiment relates to a system including an automated driving system and a controller coupled to the automated driving system. The controller includes at least one processor and at least one memory device storing instructions that, when executed by the at least one processor, cause the controller to perform operations. The operations include: receiving forward-looking information, the forward-looking information including information about a task of the system and information about a first segment of the task. The operations also include: receiving feedback information via one or more sensors. The operations further include: generating a first field-of-view speed distribution based on the information about the first segment of the system and the feedback information, the first field-of-view speed distribution including a recommended speed for the system along the first segment of the system. The operations also include: providing the first field-of-view speed distribution to the automated driving system. The operations further include: receiving additional forward-looking information; and receiving additional feedback information. The operations also include: iteratively determining a second field-of-view speed distribution based on the additional forward-looking information and the additional feedback information before the system reaches the end of the first segment of the task. The operations also include: providing the second field-of-view speed distribution to the automated driving system.
[0015] Numerous specific details are provided to provide a thorough understanding of embodiments of the subject matter of this disclosure. The described features of the subject matter of this disclosure may be combined in any suitable manner in one or more embodiments and / or implementations. In this regard, one or more features of one aspect of the invention may be combined with one or more features of different aspects of the invention. Furthermore, additional features may be recognized in some embodiments and / or implementations that may not be present in all embodiments or implementations. Attached Figure Description
[0016] Figure 1 It is a schematic diagram of a block diagram of a vehicle (at least a portion thereof) according to an example embodiment.
[0017] Figure 2a According to the example embodiment Figure 1 A schematic diagram of the vehicle's controller.
[0018] Figure 2b According to the example embodiment Figure 1 A schematic diagram of the edge devices of a vehicle.
[0019] Figure 2c It is coupled to according to the example embodiment Figure 1 A schematic diagram of the vehicle's remote computing system.
[0020] Figure 3 It is based on the example embodiment for determining Figure 1 A flowchart of a method for determining vehicle speed distribution.
[0021] Figure 4It is based on the example embodiment for determining Figure 1 A flowchart of a method for determining the reference speed of a vehicle.
[0022] Figure 5 This is for implementation according to the example embodiment. Figure 3 A schematic diagram of the framework of the method.
[0023] Figure 6 This is for implementation according to the example embodiment. Figure 4 A schematic diagram of the framework of the method.
[0024] Figure 7 It is based on the example embodiment for determining Figure 1 A flowchart of a method for energy distribution in vehicles.
[0025] Figure 8 It is based on the example embodiment for determining Figure 1 A flowchart of a method for determining vehicle speed distribution.
[0026] Figure 9 It is based on the example embodiment for determining Figure 1 A flowchart of a method for energy distribution in vehicles. Detailed Implementation
[0027] The following is a more detailed description of various concepts related to methods, apparatuses, and systems for optimizing vehicle speed to achieve powertrain efficiency, and how they are implemented. Before turning to the accompanying drawings, which illustrate certain exemplary embodiments in detail, it should be understood that this disclosure is not limited to the details or methods set forth in the specification or illustrated in the drawings. It should also be understood that the terminology used herein is for descriptive purposes only and should not be considered limiting.
[0028] As used herein, the term "fuel consumption" refers to the fuel consumption rate of an engine system, typically expressed as a ratio of distance units to fuel units, such as miles per gallon. In powertrains that include electric motors and batteries (such as hybrid powertrains, battery electric powertrains, etc.), battery consumption can be expressed as a ratio of power consumed to distance or time units, such as kilowatt-hours or kilowatts per mile.
[0029] As used herein, the term "estimate" and similar terms are used to refer to determining a current or past value that is not a measured value (e.g., temperature measured by a temperature sensor). In other words, an estimate is an approximation of a value that may differ from the actual or measured value. Estimating a current or past value can be based on information from a real sensor (e.g., sensor data, historical sensor data, real-time sensor data, etc.) or from another source. In some embodiments, one or more "models" may be used to estimate a current or past value. For example, estimating vehicle speed may include using data (such as sensor data) in conjunction with a model to determine the vehicle speed.
[0030] As used herein, the term "model" refers to a description of a system expressed using mathematical concepts and language. More specifically, a "model" correlates a first set of values (e.g., inputs) with a second set of values (e.g., outputs). For example, a model might correlate sensor data (such as sensor data about vehicle operation) with a target vehicle speed (described herein as a "speed distribution"). In some embodiments, a model may be or include a statistical model or other suitable model. For example, a statistical model may embody a set of statistical assumptions about a statistical relationship between one or more input values and one or more output values. For example, a statistical model may include a regression model (e.g., a linear regression model) that is a predictive relationship between inputs and outputs. In some embodiments, a model may be or include a machine learning model. A machine learning model is a computer-implemented program that identifies patterns or makes decisions based on previously unseen datasets. For example, a machine learning model might parse input values (such as sensor data or other data about vehicle operation) to identify patterns and determine desired output values based on the inputs and a previously trained dataset.
[0031] As used herein, the term "prediction" and similar terms are used to refer to determining or estimating future values based on one or more data sources (e.g., sensor data, historical sensor data, real-time sensor data, etc.). In some embodiments, one or more models (e.g., statistical models, artificial intelligence models, machine learning models, etc.) may be used to predict future values.
[0032] As used herein, the term "operational data" and similar terms are used to refer to data relating to the operation of a system, such as an engine system. In some embodiments, operational data may include settings, values, or other information relating to the operation of the system. For example, operational data for an engine system may include the ratio of the amount of air supplied to an internal combustion engine for combustion to the amount of fuel (referred to herein as the "air-fuel ratio"). In some embodiments, operational data may be measured (e.g., by one or more physical sensors) or estimated (e.g., by one or more virtual sensors or by computer equipment or processing circuitry).
[0033] As described herein, a vehicle may include a powertrain, a controller coupled to the powertrain (e.g., an engine control unit or engine control module), and an automated driving system (ADS) coupled to the controller or control system. The controller may receive information about the vehicle's "task." As used herein, a vehicle's "task" refers to the vehicle's starting or current location, the vehicle's destination, and the path between the starting / current location and the destination. In other words, a task refers to a path or route between two or more points. In some embodiments, a "task" includes a time constraint that affects how far the vehicle can travel within the task (e.g., a maximum time allocated to the vehicle to reach a desired location, such as the destination). Thus, as an example, a "task" may include a starting point, a destination, and a time constraint such that the task can correspond to the distance the vehicle travels from the starting point to the point reached at the end of the time constraint, even if the vehicle does not reach the destination within the time constraint / duration. The vehicle's "task" may also take into account, or be influenced by, various pieces of information about the vehicle that can affect the task (such as the type of vehicle and / or the type of cargo carried or transported by the vehicle). Therefore, information about the vehicle's mission may include the starting point, current location, destination, path between the starting point and / or current location and destination, and (in some embodiments) time constraints on the mission duration. Information that may impact the mission may include, for example, the type of vehicle and / or the type of cargo being transported. The mission may correspond to the vehicle's route and the expected time to complete the mission.
[0034] The controller can also receive operational data about the vehicle, including operational data that remains constant or relatively constant throughout the mission duration, such as the total vehicle weight (e.g., vehicle weight plus the weight of the vehicle's payload), and information that changes during the mission (dynamic information), such as vehicle speed, vehicle direction, engine speed, engine torque, transmission setting, or gear. In some arrangements, operational data may include sensor data received from one or more sensors. Sensors may be real or virtual sensors. The controller can use forward-looking data and operational data to determine a "speed distribution." Forward-looking data may include data related to road conditions or other parameters sensed within a predefined distance ahead of the vehicle's current position. Forward-looking data may also include information about the vehicle's path, such as road gradient, speed limits, street or highway names, turn prompts, gas stations, charging stations, rest stops, and / or other information about the path. In particular, the controller or control system may use one or more models, formulas, algorithms, and / or lookup tables that correlate forward-looking data and operational data with the speed distribution.
[0035] As used herein, a “speed distribution” refers to a set of target speed values for a vehicle within a predefined time and / or distance horizon. This set of target speed values can be expressed as a function of another variable, such as distance or time. For example, a speed distribution can be expressed as a set of target vehicle speed values within a predetermined distance (e.g., 1 km, 2 km, etc.) ahead of the vehicle (e.g., along the path of the vehicle’s mission). In example embodiments, the vehicle speed target can be a function of total vehicle weight (GVW) and / or road gradient. In some arrangements, distance or time values can be measured relative to a current distance value or a current time value, respectively. In other arrangements, distance or time values can be measured relative to a distance from the starting position or a time of day, respectively. A controller or control system can also use characteristics of the vehicle and / or powertrain to determine the target vehicle speed values and / or the determined vehicle speed distribution. In various embodiments, the generated speed distribution can determine the optimal speed that minimizes the vehicle’s fuel consumption and / or energy use. The generated speed distribution can also take into account the vehicle’s expected total travel time.
[0036] In various embodiments, the controller may use forward-looking data and operational data to determine the “acceleration distribution.” Forward-looking data for the acceleration distribution may include data or parameters about how and / or when the vehicle accelerates. For example, parameters affecting vehicle acceleration may include start-stop traffic conditions, traffic lights, traffic signs (stop signs, yield signs, speed limit signs, etc.) and / or other information such as speed limits, changes in speed limits, traffic indications (e.g., construction, disabled vehicle, etc.). An acceleration distribution may refer to a set of target acceleration values for the vehicle within a predefined time and / or distance horizon. An acceleration distribution may be similar to the speed distribution described herein. An acceleration distribution may be determined by analogy to a speed distribution. In example embodiments, the acceleration target may be a function of total vehicle weight (GVW) and / or road gradient. In various embodiments, an acceleration distribution may be determined if it is desired to maintain the vehicle's fuel and / or state of charge. An acceleration distribution may be determined in addition to or as an alternative to a speed distribution.
[0037] As described herein, the controller can use forward-looking data, sensor data, and / or information about the vehicle's charging and / or braking capabilities to determine the vehicle's energy distribution. As used herein, "energy distribution" refers to a set of actions to be performed by the vehicle (e.g., using an automated driving system) and / or the vehicle operator to optimize the vehicle's energy consumption or use. As used herein, "optimized," "optimizing," "optimal," and other similar terms can refer to improvements in a particular category or category of vehicle operation. For example, optimizing vehicle performance can mean increasing the engine's miles per gallon (MPG) relative to current or baseline operation, increasing the electric motor's kilowatt-hours relative to current or baseline operation, etc. As used herein, optimizing energy distribution can refer to a set of recommended actions to be performed that minimize the energy consumed by the vehicle. For example, actions included in energy distribution can cause vehicle components to operate in a manner that minimizes the amount of fuel, energy, power, etc., used. Furthermore, it should be understood that optimal operating conditions or optimal energy distribution can be dynamic and updated based on various conditions. For example, optimal energy efficiency or energy consumption can be varied based on forward-looking information indicating upcoming road gradient, upcoming speed limits, upcoming terrain, etc. Furthermore, the operations included in the determined energy distribution can be varied based on forward-looking information and / or additional sensor data.
[0038] This disclosure can incorporate ADS improvements within the technology. For example, this disclosure can provide various fuel efficiency benefits via speed distribution, which enables the vehicle's powertrain to operate more efficiently than previously achievable, and provides a fuel efficiency determination window for the entire or nearly entire route. This disclosure can alternatively or additionally provide various fuel efficiency benefits via acceleration distribution. For example, model predictive control or other optimization solvers can minimize the vehicle's acceleration to minimize fuel consumption, since greater acceleration can correspond to greater fuel consumption. Additional beneficial features that this disclosure can provide may include, for example, improved efficiency of post-processing integrated route weather for the entire or nearly entire route. Improved efficiency can be used for engine management related to ambient air temperature. This disclosure can utilize improvements to data and / or information from ADS and / or any other forward-looking data to generate speed distributions. These improvements may include communication and reception of information regarding the starting and ending routes, traffic, and / or other appropriate logistical or environmental data related to the vehicle's route.
[0039] From both a technical and benefit perspective, the systems, methods, computer-readable media, and apparatus described herein provide an improved control system that uses forward-looking data and operational data (which can provide feedback to the control system on other parameters regarding road conditions and / or vehicle trajectory) to generate a speed distribution over a predetermined horizon. Using current Adaptive Controllers (ADS), this can be determined for a “short” horizon less than the entire distance or time of the vehicle task. Predicting the speed distribution for the entire or most of the vehicle task presents technical challenges. For example, a typical engine control system may be designed for relatively simple computational tasks, such as receiving and transmitting data. Therefore, the control system may not be suitable for complex computational tasks, such as predicting the vehicle’s speed distribution over the entire task, especially when the task exceeds a predefined distance (e.g., two kilometers). The systems, computer-readable media, and methods described herein can efficiently determine the speed distribution over a relatively long horizon using the various processes described herein, enabling the generation of accurate or relatively accurate speed distributions. In exemplary embodiments, the systems, computer-readable media, and methods described herein can enable the controller to determine the speed distribution using a “low-level” optimized control process. As described in more detail herein, low-level optimization is advantageously a relatively simple computational task, allowing it to be performed by the onboard controller. In another example embodiment, the systems, computer-readable media, and methods described herein can be used by a remote computing system or edge computing system to perform "high-level" optimization to determine a reference speed. The controller then uses the reference speed to improve the accuracy of the low-level optimization. In either case, a vehicle speed distribution with a longer field of view than typical systems is generated and utilized.
[0040] Additionally, the systems, computer-readable media, and methods described herein are advantageously capable of iteratively determining the velocity distribution of a predetermined horizon. In this way, a new velocity distribution is determined before the end of the current horizon, thereby enabling the generation of velocity distributions for relatively long horizons (e.g., the entire task). For example, a first velocity distribution is determined for a first horizon. A second velocity distribution is determined for a second horizon before the vehicle reaches the end of the first horizon. In some arrangements, the second horizon may overlap with the first horizon. In other arrangements, the second horizon may follow (e.g., immediately after) the first horizon. Advantageously, the process of iteratively determining the velocity distribution before the end of the predetermined horizon yields a better velocity distribution, which improves the efficiency of the vehicle powertrain.
[0041] In an example scenario, the vehicle includes an automated driving system and a controller coupled to the automated driving system. The controller includes at least one processor and at least one memory device storing instructions that, when executed by the at least one processor, cause the controller to perform operations. These operations include: receiving forward-looking information, including information about the system's task and information about a first segment of the task. The operation also includes: receiving feedback information via one or more sensors. The operation further includes: generating a first field-of-view speed distribution based on the information about the first segment of the system and the feedback information, the first field-of-view speed distribution including recommended speeds for the system along the first segment of the system. In various embodiments, the first segment of the system is less than the distance of the entire task, and the first field-of-view speed distribution corresponds to information related to a duration shorter than the duration of the entire task. The operation also includes: providing the first field-of-view speed distribution to the automated driving system; and receiving additional forward-looking information. The operation further includes: receiving additional operational data, which provides feedback on the vehicle's operating parameters and / or parameters of the road or route ahead of the vehicle. The operation further includes: iteratively determining a new first horizon speed distribution based on additional forward-looking information and additional feedback information before the system reaches the end of the first segment of the task. The operation also includes: providing the new first horizon speed distribution to the automated driving system. In some embodiments, the first segment of the task is a portion or path of the task that is at or less than a predetermined distance from the system. In some embodiments, the operation of the system further includes: generating a task speed distribution based on the system's task and feedback information, the task speed distribution including a recommended speed for the system during the duration of the task; and providing the task speed distribution to the automated driving system. In some embodiments, the operation of the system further includes: receiving a reference speed from a remote computing system. The first horizon speed distribution may also be based on the reference speed.
[0042] In some embodiments, the vehicle includes at least a partially electrified powertrain comprising an electric motor (e.g., an electric motor and / or an electric generator) and a battery. Therefore, the forward-looking information may include the location of a battery charging station relative to the system, the vehicle's charging capacity, charging costs (e.g., expressed in dollars per kilowatt), and queuing time for the vehicle if a charging station is unavailable. Additionally, operational data includes the battery's state of charge and / or battery temperature. In various embodiments, the vehicle may be or include a range-extended electric vehicle (BEVx) and / or a plug-in hybrid electric vehicle (HEV). A BEVx may be a plug-in hybrid architecture. In various embodiments, a BEVx may include a battery smaller than that of an electric vehicle. An engine may be used to charge the battery when it is depleted. In various embodiments, the battery is capable of driving the vehicle to a predetermined range. For example, the battery may be capable of driving the vehicle for 60 to 70 miles. Forward-looking data may be, for example, data from fleet management for truck job scheduling. Battery usage may be optimized similarly to speed distribution optimization.
[0043] In various embodiments, the vehicle includes a fuel cell hybrid system. Vehicle speed can be optimized. Additionally or alternatively, power distribution for the fuel cell can be determined. Transient operation can be detrimental to the fuel cell and, in various embodiments, may shorten its lifespan. Similar to the speed distribution described herein, an optimized energy distribution can be determined to optimize the fuel cell's energy efficiency and / or lifespan.
[0044] Now for reference Figure 1 The diagram illustrates a block diagram of a vehicle 100 according to an example embodiment. The vehicle 100 includes a powertrain 102. As shown, the vehicle 100 includes an aftertreatment system 120 in exhaust receiving communication with at least a portion of the powertrain 102. However, in some embodiments, the vehicle 100 does not include the aftertreatment system 120. The vehicle 100 also includes a controller 140, which is coupled, and particularly communicatively coupled, to each of the foregoing components. The controller 140 is described herein with respect to... Figure 2a To provide a more detailed description.
[0045] exist Figure 1 In the configuration, vehicle 100 can be any type of on-road or off-road vehicle, including but not limited to wheel loaders, forklifts, long-haul trucks, medium-duty trucks (e.g., pickup trucks), cars, two-door sports cars, and any other type of vehicle.
[0046] In some embodiments, powertrain 102 includes an engine 103. Engine 103 may be an internal combustion engine (ICE). The ICE may consume fuel (e.g., diesel, gasoline, propane, natural gas, hydrogen, etc.) to generate power. In other embodiments, powertrain 102 may be or include a hybrid powertrain system having a combination of an internal combustion engine and at least one electric motor 106 coupled to at least one battery 105 (or, in some embodiments, a fully electrified powertrain). In some embodiments, the hybrid powertrain system may be configured as a mild hybrid powertrain, a parallel hybrid powertrain, a series hybrid powertrain, or a series-parallel powertrain. In still other embodiments, powertrain 102 may be or include a battery electric powertrain having at least one electric motor 106 coupled to at least one battery 105. Powertrain 102 may additionally include a transmission 104 configured to accommodate any of the above powertrain arrangements. In various embodiments, such as plug-in BEVx and BEV, charging decisions may be optimized and recommended to an automated driving system for motion planning and control.
[0047] In some embodiments, vehicle 100 includes an automated driving system 150. Depending on the configuration of vehicle 100 and automated driving system 150, automated driving system 150 can control various functionalities of vehicle 100. In this manner, and in accordance with SAE J3016 (see the version published in June 2018 and entitled...), "Compared with the driving automation system of road motor vehicles" "Classification and definition of related terms" According to SAE J 3016 (which is incorporated herein by reference in its entirety), there can be five levels of automation. Depending on the configuration and the automated driving system 150, the automated driving system 150 can achieve automation up to level 5, i.e., fully automated driving. Level 0 provides driverless automation, level 1 provides some driver assistance, level 2 provides partial driving automation, level 3 provides conditional driving automation, level 4 provides high driving automation, and level 5 (the highest level) provides full driving automation. The systems, methods, computer-readable media, and apparatus described herein are applicable to levels 1 through 5, and preferably to levels 3 through 5. Therefore, the automated driving system 150 can achieve at least level 1, and preferably at least level 3, automation of the vehicle 100.
[0048] Therefore, and depending on the level of automation, the automated driving system 150 can, for example, automatically control the transmission shifting, apply the braking system, engage auxiliary braking, etc., without human driver input. The automated driving system 150 may include one or more automated vehicle systems within a vehicle that would otherwise be manually operated, such as an automatic transmission. In another configuration, the automated driving system 150 refers to a system and components comprising a number of individual vehicle systems that provide Level 1 and above (e.g., Levels 1, 2, 3, 4, and / or 5) automated driving system 150, which are automatically controlled. As mentioned above and in some embodiments, the automated driving system 150 includes an automatically controlled transmission 104 that includes a shifting or selection scheme that automatically selects and shifts to gears within the transmission 104 without human intervention. In another example embodiment, when the transmission 104 is configured as a manual transmission (i.e., the operator controls the transmission shifting), the controller 140 may prompt the human operator to change the transmission settings through visual, auditory, and / or tactile cues. For example, the user interface on the dashboard can receive signals from the controller 140 to prompt the driver to perform a dual downshift on the manual transmission. This interface can be, for example, an operator input / output device, which may include, but is not limited to, an interactive display, a touchscreen device, one or more buttons and switches, a voice command receiver, etc.
[0049] In some embodiments, controller 140 includes an in-vehicle telecommunication device 144. In other embodiments, controller 140 may be coupled to the in-vehicle telecommunication unit or device 144. The in-vehicle telecommunication unit 144 may be configured as any type of in-vehicle telecommunication unit. Thus, the in-vehicle telecommunication unit 144 may include, but is not limited to: a location positioning system (e.g., Global Positioning System) for tracking the location of vehicle 100 (e.g., latitude and longitude data, altitude data, etc.), one or more memory devices for storing the tracked data, one or more electronic processing units for processing the tracked data, and a communication interface for facilitating data exchange between the in-vehicle telecommunication unit 144 and one or more remote devices (e.g., providers / manufacturers of in-vehicle telecommunication devices, etc.). The in-vehicle telecommunication unit 144 may communicate with remote servers, other vehicles, and other systems remote from the vehicle (i.e., V-2-X, where “X” can be another vehicle, a remote server, etc.). In this respect, the communication interface can be configured as any type of mobile communication interface or protocol, including but not limited to Wi-Fi, WiMax, Internet, radio, Bluetooth, ZigBee, satellite, radio, cellular, GSM, GPRS, LTE, etc. The vehicle-mounted remote communication unit 144 may also include a communication interface for communicating with the controller 140 of the vehicle 100. The communication interface for communicating with the controller 140 may include any type and number of wired and wireless protocols (e.g., any standard under IEEE 802, etc.). For example, wired connections may include serial cables, fiber optic cables, SAE J1939 buses, CAT5 cables, or any other form of wired connection. In contrast, wireless connections may include the Internet, Wi-Fi, Bluetooth, ZigBee, cellular networks, radio, etc. In one embodiment, a controller local area network (CAN) bus including any number of wired and wireless connections provides for the exchange of signals, information, and / or data between the controller 140 and the vehicle-mounted remote communication unit 144. In other embodiments, a local area network (LAN), a wide area network (WAN), or an external computer (e.g., using an internet service provider via the internet) can provide, facilitate, and support communication between the vehicle telecommunication unit 144 and the controller 140. In yet another embodiment, communication between the vehicle telecommunication unit 144 and the controller 140 is performed via the Unified Diagnostic Services (UDS) protocol. All such variations are intended to fall within the spirit and scope of this disclosure.
[0050] In some embodiments, vehicle 100 further includes an edge device 160 communicatively coupled to controller 140. Edge device 160 is described herein with respect to... Figure 2b A more detailed description follows. Edge device 160 may be similar to, or in some embodiments of, the in-vehicle telecommunication unit 144.
[0051] The aftertreatment system 120 is in exhaust gas receiving communication with the powertrain 102. The aftertreatment system 120 includes components for reducing exhaust emissions, such as a selective catalytic reduction (SCR) catalyst, a deionization catalyst (DOC), a particulate filter (DPF), an exhaust fluid metering feeder with exhaust fluid supply, multiple sensors for monitoring the aftertreatment system (e.g., a nitrogen oxide (NOx) sensor, a temperature sensor, etc.), and / or other components. As described above, in some embodiments, the vehicle 100 does not include the aftertreatment system 120, such as when the powertrain 102 is a fully battery electric powertrain.
[0052] As shown, vehicle 100 may include one or more sensors 125. In some embodiments, vehicle 100 may include any number, location, or type of sensors 125. Sensors 125 may include inclinometers or other road slope sensors configured to acquire data about the current road slope near vehicle 100. Sensors 125 may also include a forward-looking system, a GPS unit, or other location determination system, or another system configured to acquire data about upcoming route or mission conditions, including but not limited to road slope and / or other road conditions or characteristics, such as speed limits, weather conditions near the road (e.g., precipitation indication, ambient temperature, ambient humidity, etc.). Thus, this information may be static in nature (e.g., road slope that does not change or substantially does not change over time) and / or dynamic (e.g., characteristics that do change over time, such as weather conditions). Sensors 125 may include a vehicle speed sensor configured to determine the current speed of vehicle 100. Sensors 125 may include a fuel gauge sensor and / or a battery state of charge (SOC) sensor. Feedback from one or more of the fuel gauge sensor and / or battery SOC sensor can influence route planning, speed targets, and / or other aspects of the vehicle 100's tasks or operations. Sensor 125 may include other sensors configured to acquire additional data about the vehicle 100's operation (e.g., vehicle 100's operational data). The vehicle 100 may also include additional sensors. These sensors may include engine-related sensors (e.g., torque sensor, speed sensor, pressure sensor, flow sensor, temperature sensor, etc.). These sensors may also include sensors associated with other components of the vehicle, such as the aftertreatment system 120.
[0053] Sensor 125 can be real or virtual (i.e., a non-physical sensor configured as part of the program logic for various estimations or determinations in controller 140). For example, an engine speed sensor can be a real or virtual sensor arranged to measure or otherwise acquire data, values, or information indicating the speed (typically expressed in revolutions per minute) of the engine of powertrain 102. This sensor is coupled to engine 103 (when configured as a real sensor) and configured to send a signal to controller 140 indicating the speed of engine 103 of powertrain 102. When configured as a virtual sensor, controller 140 can use at least one input in algorithms, models, lookup tables, etc., to determine or estimate parameters of engine 103 (e.g., power output, etc.). Any of the sensors 125 described herein can be real or virtual.
[0054] Controller 140 is coupled to sensors 125, particularly communicatively coupled to these sensors. Therefore, controller 140 is configured to receive data from one or more of the sensors 125 and to provide instructions / information to those sensors. Controller 140 can use the received data to control one or more components in system 100 and / or for monitoring and thermal management purposes.
[0055] The controller 140 is configured to at least partially control the operation of the vehicle 100 and associated subsystems (such as the powertrain 102). Communication between and within components can be made via any number of wired or wireless connections. For example, wired connections may include serial cables, fiber optic cables, CAT5 cables, or any other form of wired connection. In contrast, wireless connections may include the Internet, Wi-Fi, cellular networks, radio, etc. In one embodiment, a controller local area network (CAN) bus provides the exchange of signals, information, and / or data. The CAN bus includes any number of wired and wireless connections. Because the controller 140 is communicatively coupled to... Figure 1 The system and components, so controller 140 is configured to receive from Figure 1 Data from one or more of the components shown. The structure and function of controller 140 will be discussed regarding... Figure 2a Further description.
[0056] The automated driving system 150 is shown coupled to a controller 140. In some embodiments, the automated driving system 150 may include one or more separate dedicated controllers that provide automated operation of the vehicle or certain components thereof (e.g., from Level 1 to Level 5). The one or more controllers may be microcontrollers and include one or more processors and memory devices (which may have the same definitions as described herein with respect to controller 140) and / or other processing components (e.g., communication interfaces, connection ports, etc.). The automated driving system 150 may include one or more actuators for implementing automated operation of the vehicle 100.
[0057] In another embodiment, certain functional features of the automated driving system 150 are embodied in circuitry within the controller 140. Therefore, the functions attributed to the automated driving system 150 below may also be performed by the controller 140 in another embodiment. The automated driving system 150 is configured to at least partially control the operation of the engine 103 and / or the transmission 104 to operate the vehicle 100. The automated driving system 150 generates a requested vehicle speed and controls the shift points and shifts of the transmission 104. In some embodiments, such as a fully automated vehicle 100 (e.g., Level 5 automation), the requested vehicle speed is based on a torque request generated by the automated driving system 150. The torque request may be provided to the engine 103 and simultaneously to the speed optimizer circuitry 216. Thus, the torque request can be converted into a vehicle speed and used as the requested vehicle speed. In another embodiment, the requested vehicle speed is provided via a user interface (such as a brake pedal or cruise control speed input feature). In another embodiment, the requested vehicle speed is determined based on a combination of accelerator and pedal position. In another embodiment, the requested vehicle speed is determined at least partially based on preferences that may be set by the user or predetermined within the system. For example, the requested vehicle speed can be determined based on current road speed limit signs. For instance, the requested vehicle speed may be a predefined amount (e.g., three miles per hour) faster or slower than the published speed limit (e.g., received by the onboard telecommunication unit 144). In another embodiment, the requested vehicle speed is input by a user via a user interface (such as a touchscreen, keyboard, voice activation, or voice recognition system). Therefore, the requested vehicle speed can be manually entered and / or from an autonomous driving system.
[0058] As implied above, the automated driving system 150 can control one or more automated vehicle systems, such as those in a vehicle that would otherwise be manually operated (e.g., an automatic transmission or a fully automated driving vehicle). In some embodiments, the automated driving system 150 controls components and systems to provide a fully automated vehicle driving system comprising a number of individual vehicle systems that are automatically controlled. In some embodiments, the automated driving system 150 controls an automatically controlled transmission 104 that includes a shift or selection scheme that automatically selects and shifts to gears within the transmission 104 without human intervention. In another example embodiment, when the transmission is configured as a manual transmission (i.e., the operator controls the transmission shifting), the automated driving system 150 can prompt the human operator to make changes through visual, auditory, and / or tactile cues. For example, a user interface on the dashboard can receive signals from the controller 140 to prompt the driver to downshift a manual transmission (or, in some embodiments, provide more specific prompts, such as performing a double downshift). For example, the interface can be an operator input / output device, which may include, but is not limited to, an interactive display, a touch screen device, one or more buttons and switches, a voice command receiver, etc.
[0059] because Figure 1 The components are shown as being embodied in vehicle 100, and controller 140 may be configured as one or more vehicle electronic control units (ECUs). Controller 140 may be separate from or included in at least one of a transmission control unit, exhaust aftertreatment control unit, powertrain control module, engine control unit, engine control module, etc. Therefore, controller 140 may include one or more microcontrollers.
[0060] Now for reference Figure 2a This illustrates an example embodiment. Figure 1A schematic diagram of a controller 140 for a vehicle 100 is shown in FIG. 2. The controller 140 includes at least one processing circuit 210 having at least one processor 212 and at least one memory or memory device 214. The controller 140 also includes a speed optimizer circuit 216 and an energy optimizer circuit 219 coupled to the processing circuit 210. The speed optimizer circuit 216 includes model update logic 217 and an optimization solver (shown as model predictive control 218), which may be stored in at least one of: one or more dedicated memory devices of the speed optimizer circuit 216; or at least one memory 214. In various embodiments, the optimization solver may be a gradient optimizer, a genetic algorithm, model predictive control, or other optimization solver. In the figures, the term model predictive control is used for illustrative purposes. It should be understood that model predictive control 218 may be any type of optimization solver. The controller 140 also includes an enable input 222, trigger logic 223, and look-forward data 224. Enable input 222 communicates with trigger logic 223, and trigger logic 223 is coupled to speed optimizer circuitry 216. Forward-looking data 224 can be transmitted to speed optimizer circuitry 216. Controller 140 includes communication interface 220. Controller 140 is configured to generate a recommended optimized speed distribution for powertrain 102 efficiency (e.g., via speed optimizer circuitry 216) and transmit this optimized speed distribution to automated driving system 150. When powertrain 102 is configured as various architectures (such as a hybrid powertrain), controller 140 is also configured to determine an optimized energy distribution for powertrain 102 efficiency.
[0061] In one configuration, speed optimizer circuitry 216 and / or energy optimizer circuitry 219 are embodied as a machine- or computer-readable medium that stores instructions and is executable by a processor (such as processor 212). As described herein and among other uses, the machine-readable medium facilitates the performance of certain operations to achieve the reception and transmission of data. For example, the machine-readable medium can provide instructions (e.g., commands, etc.) to, for example, acquire data. In this respect, the machine-readable medium may include programmable logic (i.e., trigger logic 198) defining the frequency of data acquisition or data transmission. The computer-readable medium may include code that can be written in any programming language (including, but not limited to, Java, etc.) and any conventional procedural programming language (such as the "C" programming language or similar programming languages). The computer-readable program code can be executed on one processor or multiple remote processors. In the latter case, the remote processors can be connected to each other via any type of network (e.g., CAN bus, etc.).
[0062] In another configuration, speed optimizer circuit 216 and / or energy optimizer circuit 219 are embodied as hardware units, such as electronic control units. Therefore, speed optimizer circuit 216 and / or energy optimizer circuit 219 can be embodied as one or more circuit components, including but not limited to processing circuitry, network interfaces, peripherals, input devices, output devices, sensors, etc. In some embodiments, speed optimizer circuit 216 and / or energy optimizer circuit 219 can take the form of one or more analog circuits, electronic circuits (e.g., integrated circuits (ICs), discrete circuits, system-on-a-chip (SOC) circuits, microcontrollers, etc.), telecommunications circuits, hybrid circuits, and any other type of "circuit". At this point, speed optimizer circuit 216 can include any type of component for performing or facilitating the implementation of the operations described herein. For example, circuits as described herein can include one or more transistors, logic gates (e.g., NAND, AND, NOR, OR, XOR, NOT, XNOR, etc.), resistors, multiplexers, registers, capacitors, inductors, diodes, wiring, etc. The speed optimizer circuit 216 and / or energy optimizer circuit 219 may also include programmable hardware devices, such as field-programmable gate arrays, programmable array logic, programmable logic devices, etc. The speed optimizer circuit 216 and / or energy optimizer circuit 219 may include one or more memory devices for storing instructions executable by a processor of the speed optimizer circuit 216 and / or energy optimizer circuit 219. The one or more memory devices and processor may have the same definitions as provided below with respect to memory device 214 and processor 212. In some hardware unit configurations, the speed optimizer circuit 216 and / or energy optimizer circuit 219 may be geographically distributed in independent locations within the vehicle relative to other components of the controller 140. Alternatively, and as shown, the speed optimizer circuit 216 and / or energy optimizer circuit 219 may be embodied in or within a single unit / housing, which is shown as the controller 140.
[0063] In the illustrated example, controller 140 includes at least one processing circuit 210 having at least one processor 212 and at least one memory device 214. The at least one processing circuit 210 may be constructed or configured to execute or implement the instructions, commands, and / or control processes described herein with respect to speed optimizer circuit 216 and / or energy optimizer circuit 219. The depicted configuration represents speed optimizer circuit 216 and / or energy optimizer circuit 219 as instructions stored in a non-transitory machine or computer-readable medium. However, as mentioned above, this illustration is not intended to be limiting, as this disclosure contemplates other embodiments in which at least one of the speed optimizer circuit 216 and / or energy optimizer circuit 219, or speed optimizer circuit 216 and / or energy optimizer circuit 219, is configured as a hardware unit. All such combinations and variations are intended to fall within the scope of this disclosure.
[0064] At least one processor 212 may be one or more of the following: a single-chip processor or a multi-chip processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. In this way, at least one processor 212 may be a microprocessor, a state machine, or other suitable processor. At least one processor 212 may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors incorporating a DSP core, or any other such configuration. In some embodiments, the one or more processors may be shared by multiple circuits (e.g., speed optimizer circuitry 216 may include or otherwise share the same processor, which in some example embodiments may execute instructions stored in or otherwise accessed via different memory regions). Alternatively or additionally, the one or more processors may be configured to perform or otherwise perform certain operations independently of one or more coprocessors. In other example embodiments, two or more processors may be bus-coupled to enable independent, parallel, pipelined, or multithreaded instruction execution. All such changes are intended to fall within the scope of this disclosure.
[0065] At least one memory device 214 (e.g., memory, memory cell, storage device) may include one or more devices (e.g., RAM, ROM, flash memory, hard disk storage) for storing data and / or computer code to perform or facilitate the various processes, layers, and modules described herein. At least one memory device 214 may be communicatively connected to the at least one processor 212 to provide the at least one processor 212 with computer code or instructions for performing at least some of the processes described herein. Furthermore, at least one memory device 214 may be or include tangible, non-transient volatile memory or non-volatile memory. Therefore, at least one memory device 214 may include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described herein.
[0066] A “short” horizon corresponds to a portion of the task that is less than the entire task. For example, a short horizon can be a segment or distance of the task of vehicle 100 that is less than the entire task. In some embodiments, controller 140 can determine multiple “short” horizon speed distributions (e.g., for each short horizon of the task). For example, controller 140 can determine a first horizon speed distribution for a first horizon of the task, a second horizon speed distribution for a second horizon of the task, and so on. A “long” horizon corresponds to the task of vehicle 100. A long horizon can be the total distance or total time of the task. A “short” horizon (e.g., the first horizon) can be a predetermined distance ahead of vehicle 100 (e.g., 1 km, 2 km, 5 km, etc.) that is less than the entire task. In contrast, a “long” horizon can be the total distance of the task of vehicle 100. Therefore, a short horizon can be a segment (e.g., a portion) of the total distance of the task relative to the vehicle's task. The short horizon distance can be calibrated and / or determined by speed optimizer circuit 216 and / or energy optimizer circuit 219. For example, the speed optimizer circuit 216 and / or the energy optimizer circuit 219 can be calibrated to have a forward field of view with a predefined distance (such as two kilometers). In some embodiments, the user can define a short field of view distance.
[0067] Controller 140 may be configured to receive forward-looking data 224. Forward-looking data 224 may include data related to road conditions ahead of the vehicle. Forward-looking data 224 may include information about road conditions or driving conditions within a predetermined distance ahead of vehicle 100. For example, forward-looking information 224 may include road gradient, road curvature, speed limits, or any other data related to the road or route of vehicle 100 (e.g., weather conditions, etc.). In some embodiments, forward-looking information 224 may include information related to events along the road. For example, forward-looking information 224 may include information related to road construction activities, highway tolls, and / or vehicle weighing stations. Forward-looking information 224 may also include information about vehicle regulations. For example, forward-looking information 224 may include local and / or state emission regulations, zero-emission zones, brakeless zones, etc. In some embodiments, forward-looking information 224 corresponds to one or more short horizons of a task. For example, a first set of forward-looking information may correspond to a first horizon of a task. Forward-looking data 224 may be received by controller 140 from sensor 125 and / or transmitted to controller 125. In various embodiments, the speed optimizer circuit 216 may utilize forward-looking data 224 to determine the speed distribution. In some embodiments, the forward-looking data 224 includes information about at least the upcoming short field of view. For example, the forward-looking data 224 may include information about a first field of view in front of the vehicle 100. In some embodiments, the forward-looking data 224 may optionally include additional information about distances beyond the first field of view (e.g., up to and including the long field of view or the entire mission of the vehicle 100).
[0068] In various embodiments, particularly when vehicle 100 is configured as a hybrid or all-electric vehicle, forward-looking information 224 may alternatively or additionally include forward-looking information 224 used by energy optimizer circuit 219 to identify optimal charging opportunities or optimal energy distribution. For example, forward-looking information 224 may include an upcoming charging station. In some embodiments, one or more pieces of forward-looking information 224 used by energy optimizer circuit 219 may include the same or similar information as the forward-looking information used by speed optimizer circuit 216. For example, forward-looking information may include upcoming road gradient (and / or upcoming weather information, road curvature information, terrain information, gas station information, traffic information, etc.). Road gradient information may be used by both speed optimizer circuit 216 and energy optimizer circuit 219 to determine output speed distribution and output energy distribution, respectively.
[0069] In some embodiments, controller 140 may receive forward-looking information 224 from automated driving system 150 or onboard telecommunication unit 144. Additional inputs received by controller 140 may include, but are not limited to, the route the driver intends to take (e.g., turn instructions, etc.), the expected departure time at the starting location, the expected arrival time at one or more destinations, the number of hours the driver has driven vehicle 100, weather conditions near vehicle 100 and / or the route (e.g., precipitation indication, wind speed, temperature, humidity, etc.), traffic patterns and / or conditions, and / or target speeds (e.g., target average speed, speed limits, etc.). These inputs may be communicated to controller 140 and / or onboard telecommunication unit 144. This input may also be communicated from a third-party computing system (such as a weather monitoring computing system or GPS).
[0070] After the speed optimizer circuit 216 of the controller 140 receives the forward-looking data, a model can be generated via model update logic 217. Model update logic 217 may be instructions stored in the speed optimizer circuit 216. In various embodiments, model update logic 217 may utilize a deterministic solver to perform real-time optimization of the speed of vehicle 100 based on the received forward-looking information. In various embodiments, model update logic 217 may generate a model including one or more algorithms or formulas, and / or a model (e.g., a regression model, a machine learning model (such as artificial intelligence including neural networks), etc.). In some embodiments, model update logic 217 may generate a lookup table to supplement or replace the model.
[0071] Controller 140 can receive feedback data from various sources, including the automated driving system 150, such as via communication interface 220. The feedback data indicates changes in conditions that the vehicle 100 may experience, reflecting feedback from system operation. For example, controller 140 may receive feedback data from the automated driving system 150 indicating that speed limits on the road have been increased. In various embodiments, sensor 125 acquires data and transmits the acquired data to controller 140. In some embodiments, feedback data may be transmitted to controller 140 at a frequency synchronized with the frequency of operation of the automated driving system 150. For example, if the automated driving system 150 updates when the vehicle has traveled a predefined distance (e.g., every kilometer), controller 140 will receive updated feedback data at the predefined distance (e.g., every 1 kilometer). In some embodiments, receiving feedback data may not be performed at regular intervals. The feedback data can provide indications of: updated data from sensor 125, changes in vehicle parameters (e.g., vehicle speed, vehicle gear, etc.), changes in destination, changes in route, traffic conditions, and / or weather conditions. In any of the above embodiments, the controller 140 may receive data at least once during the first horizon. In this way, the controller 140 may generate a first horizon velocity distribution. As described herein, the controller 140 may iteratively determine the velocity distribution. For example, the controller 140 may generate a second horizon velocity distribution before the end of the first horizon. In some embodiments, the second horizon velocity distribution overlaps with the first horizon velocity distribution over a portion of the task. That is, the first short horizon velocity distribution corresponds to a first segment of the task, and the second short horizon velocity distribution corresponds to a second segment of the task, wherein the second segment of the task at least partially overlaps with the first segment.
[0072] The model generated by model update logic 217 can be used to generate a speed distribution. The speed distribution can be a recommendation for the speed of vehicle 100 to optimize the efficiency of powertrain 102. In various embodiments, the generated speed distribution can determine the optimal speed that minimizes the vehicle's fuel consumption and / or energy use. The generated speed distribution can also take into account and adhere to the vehicle's expected total travel time. The speed distribution can be based on forward-looking data received by controller 140 from automated driving system 150, feedback data described above received by controller 140, and / or any combination thereof. The speed distribution can be communicated to automated driving system 150, for example, via communication interface 220. Automated driving system 150 can utilize the speed distribution to operate powertrain 102 efficiently. In various embodiments, automated driving system 150 can use the speed distribution to deliver a notification to vehicle 100 recommending operation at the speed determined by the speed distribution. In other embodiments, automated driving system 150 can use the speed distribution to operate one or more components of vehicle 100, such as powertrain 102, at recommended speeds. The velocity distribution can be generated for a predetermined forward-looking distance (e.g., a first horizon). In various embodiments, a velocity distribution is generated for the first horizon even if the forward-looking information includes information about distances beyond the first horizon. Therefore, in various embodiments, the distance for which the velocity distribution is generated can be the same as or different from (e.g., less than) the distance for which the forward-looking data was obtained.
[0073] Trigger logic 223 may be circuitry implemented within controller 140. In other embodiments and in the illustrated example, trigger logic 223 may be a set of instructions stored by and executed by speed optimizer circuit 216. Trigger logic 223 is configured to initiate an update of the model and / or speed distribution performed by speed optimizer circuit 216. Trigger logic 223 may be based on a predetermined look-ahead distance. For example, trigger logic 223 may initiate a model update every kilometer, such that the newly generated speed distribution by speed optimizer circuit 216 is incorporated with feedback data and / or additional data received during the last kilometer of travel (e.g., from sensor 125).
[0074] Enable input 222 can be a circuit or an instruction stored by a circuit (e.g., a speed optimizer circuit). Enable input logic 222 is coupled to trigger logic 223. Enable input 222 enables trigger logic 223 to operate, allowing speed optimizer circuit 216 to perform its operations as described herein. Enable input logic 222 can enable trigger logic 223 at a predefined look-ahead distance. For example, if the look-ahead distance is one kilometer, enable input logic 222 will execute every kilometer the vehicle 100 travels, allowing trigger logic 223 to initiate a model update every kilometer.
[0075] In some embodiments, the speed optimizer circuit 216 may also receive forward-looking information about road conditions or driving conditions in the long field of view (referred to herein as "long field of view forward-looking information"), including information about the vehicle's mission (e.g., starting position, one or more destination positions, expected departure time from the starting position, expected arrival time at the one or more destination positions, mission payload (e.g., weight or mass), and / or other information about the mission of vehicle 100). In some embodiments, the speed optimizer circuit 216 may generate a first field-of-view speed distribution based on the long field-of-view forward-looking information. For example, the speed optimizer circuit 216 may also be used to optimize vehicle operation to arrive at the destination at the expected time while optimizing features such as fuel efficiency. For example, if the estimated arrival time at the destination for a GPS route is 4:00 AM, but the vehicle operator does not need to arrive before 8:00 AM, the speed optimizer circuit 216 may determine a speed distribution that optimizes both efficiency and allows the vehicle operator to reach the destination at the expected time. The speed distribution may be communicated to the automated driving system 150.
[0076] The model update logic 217 of controller 140 can utilize updated forward-looking information and / or feedback data to generate an updated model and / or speed distribution. In some embodiments, controller 140 can dynamically update the speed distribution by updating the model based on model update logic 217. In some embodiments, controller 140 can generate an updated speed distribution based on triggering logic synchronized with autonomous driving system 150, such that a new speed distribution is generated before the current field of view ends. In some embodiments, controller 140 can communicate speed distributions (e.g., current speed distribution, new speed distribution, etc.) to autonomous driving system 150 at a frequency synchronized with the frequency at which autonomous driving system 150 operates. For example, if autonomous driving system 150 updates at a first predetermined frequency (e.g., every 1 km), controller 140 will communicate updated data (including the updated speed distribution generated by model update logic 217) to autonomous driving system 150 at the first predetermined frequency. Advantageously, the first predetermined frequency is less than the short field of view. For example, when the short field of view is 2 km, controller 140 can update the speed distribution every 1 km.
[0077] In some embodiments, the recalculation or updating of the speed distribution may not be performed at regular intervals. Examples of conditions that may cause the controller 140 to recalculate or update the speed distribution include, but are not limited to, changes in destination, changes in route, traffic conditions, and / or weather conditions. The automated driving system 150 may determine a reference speed based on the speed distribution received from the controller 140 and deliver the reference speed to the powertrain 102 to operate the vehicle 100 efficiently. The speed reference value may be determined by a minimum speed limit and the minimum rate at which the vehicle 100 is traveling.
[0078] In various embodiments, controller 140 may communicate with edge device 160 via communication interface 220. Edge device 160 may be a device located on or near vehicle 100 or a user of vehicle 100, rather than a cloud-based device (e.g., telecomputing system 182). In various embodiments, edge device 160 operates as or similar to in-vehicle telecom unit 144 (e.g., by including elements similar to in-vehicle telecom unit 144). Edge device 160 may perform high-level optimizations communicated to controller 140. Edge device 160 may also include computing capabilities. Controller 140 may receive data from edge device 160 and / or send data to edge device. In some embodiments, controller 140 receives a reference speed from edge device 160. Controller 140 may use the reference speed from edge device 160 to determine a final speed distribution, which is communicated to automated driving system 150.
[0079] In various embodiments, controller 140 may receive and send data to onboard telecommand 144 via communication interface 220. In various embodiments, controller 140 receives a reference speed from onboard telecommand 144. Controller 140 may use the reference speed from onboard telecommand 144 to determine a final speed distribution, which is then transmitted to automated driving system 150.
[0080] In various embodiments, controller 140 may determine an acceleration distribution. The acceleration distribution may be similar to a velocity distribution. For example, an acceleration distribution may include a set of target acceleration values for the vehicle over a predefined time and / or distance horizon. In various embodiments, the acceleration distribution may be determined using the same or similar system components as the velocity distribution. Forward-looking data used for the acceleration distribution may be similar to forward-looking data received to determine the velocity distribution. Forward-looking data used for the acceleration distribution may also include, for example, road data that affects vehicle acceleration. For example, forward-looking data may include stop-and-go traffic patterns, traffic lights, stop signs, and / or other traffic signs or situations where the vehicle needs to modify its acceleration. In various embodiments, the forward-looking data used for the acceleration distribution may be received by controller 140 from a third-party computing system. For example, the third-party computing system may include a map service, a traffic service, or another service that provides road data and traffic conditions to a user or system.
[0081] In various embodiments, controller 140 is configured to determine an acceleration distribution based on one or more inputs (e.g., forward-looking data) and using one or more of a lookup table or model (e.g., a regression model, a machine learning model (such as artificial intelligence including neural networks), etc.). The acceleration distribution can be determined in a manner similar to the velocity distribution described herein. In an example embodiment, the acceleration distribution may include lower acceleration values for certain forward-looking conditions within a predefined field of view that correspond to one or more vehicle-stopping events during the predefined field of view. A vehicle-stopping event refers to (e.g., a situation where a vehicle stops during the predefined field of view). Forward-looking conditions within the predefined field of view that correspond to one or more vehicle-stopping events may include stop-and-go traffic patterns, traffic lights, stop signs, etc. In another example embodiment, the acceleration distribution may include relatively larger acceleration values for certain forward-looking conditions within the predefined field of view that do not correspond to vehicle-stopping events. Forward-looking conditions within the predefined field of view that do not correspond to vehicle-stopping events may include open or no traffic, highway routes, indications of no stop signs or traffic lights, etc.
[0082] In various embodiments, controller 140 may further include energy optimizer circuitry 219. Energy optimizer circuitry 219 may be configured to receive forward-looking information to generate an optimized energy distribution for upcoming charging opportunities for vehicle 100. The optimized energy distribution may include identified upcoming charging opportunities that allow vehicle 100 to charge battery 105 in an energy-optimized and / or energy-efficient manner. Energy optimizer circuitry 219 may be implemented in embodiments where vehicle 100 is an all-electric vehicle and / or a hybrid vehicle. The optimized energy distribution may be determined in a manner similar to the determination of the speed distribution described above. For example, energy optimizer circuitry 219 may identify one or more optimal charging opportunities for vehicle 100 at a predefined time and / or distance horizon.
[0083] The optimal charging opportunity can be one that minimizes vehicle downtime (e.g., at a charging station), minimizes the distance the vehicle deviates from the planned route, uses the minimum amount of energy (e.g., below a threshold) to charge the battery, and minimizes charging costs. A charging opportunity can be considered optimal or suboptimal based on current operating parameters, sensor data, and / or forward-looking information. For example, a charging station located one kilometer from the route might be considered a better charging opportunity than one located two kilometers away. Similarly, performing regenerative braking to charge battery 105 while driving downhill might be considered a better charging opportunity than performing regenerative braking while driving on a flat road. The energy optimizer circuit 219 can use models, algorithms, etc., to determine the best charging opportunity. For example, a first charging station might be closer to the route but have a higher cost to charge battery 105, while a second charging station might be farther from the route but have a lower cost to charge battery 105. The energy optimizer circuit 219 can use models (e.g., with charging station information as input) to determine which charging station is the better or more energy-efficient choice.
[0084] Energy optimizer circuit 219 can generate a first horizon energy distribution. Energy optimizer circuit 219 can iteratively determine the energy distribution. For example, energy optimizer circuit 219 can generate a second horizon energy distribution before the end of the first horizon. In some embodiments, the second horizon energy distribution overlaps with the first horizon energy distribution over a portion of the task. That is, the first short horizon energy distribution corresponds to a first segment of the task, and the second short horizon energy distribution corresponds to a second segment of the task, wherein the second segment of the task at least partially overlaps with the first segment.
[0085] Energy distribution can indicate braking and / or charging operations performed by vehicle 100 (e.g., powertrain 102) during visibility. Energy distribution can be similar to speed distribution (e.g., in how the distribution is generated, how it is updated, how it is utilized, etc.). For example, energy optimizer circuitry 219 may include model update logic and / or model predictive control, similar to model update logic 217 and model predictive control 218 used to generate and update speed distribution. As will be described herein, energy distribution may include one or more of the following: the type of charging to be performed, when the vehicle is charged, power distribution when the vehicle is powered by engine 103 and battery 105 / electric motor 106, combinations thereof, etc.
[0086] The generated energy distribution can be sent to the automated driving system 150. The automated driving system 150 can use the energy distribution to perform charging and / or braking, enabling the powertrain 102 to operate more efficiently compared to conventional operation control. Furthermore, in some embodiments, the automated driving system 150 can use the energy distribution to deliver a notification to the vehicle 100 recommending charging the vehicle in a specific manner (e.g., regenerative braking, plug-in charging, inductive charging, etc.). Trigger logic 223 and enable input 222 can be configured to perform operations similar to those configured to implement or generate a speed distribution to implement or generate the energy distribution.
[0087] As stated herein, vehicle 100 may be configured as a hybrid vehicle (e.g., the vehicle includes a hybrid powertrain 102). In various embodiments, hybrid powertrain 102 may include an internal combustion engine, at least one electric motor (e.g., an electric motor 106 that may have generator capabilities embodied therein), and at least one energy storage device (e.g., at least one battery 105). In various embodiments, hybrid powertrain 102 may be embodied in one or more different types of architectures. For example, depending on how the electric motor 106 of hybrid powertrain 102 is powered, the powertrain may be embodied as a series hybrid powertrain, a mild hybrid powertrain, a full hybrid powertrain, a plug-in hybrid powertrain, a parallel hybrid powertrain, etc. In various embodiments (e.g., in any embodiment where the powertrain is embodied as a hybrid powertrain), the battery capacity of battery 105 may be less than the battery capacity of a battery in a full-battery electric vehicle. In some embodiments, electric motor 106 and battery 105 in the hybrid powertrain may be configured to power the vehicle in propulsion mode (alone or in combination with an internal combustion engine) and to conserve energy in regeneration mode (e.g., via battery 105).
[0088] The energy optimizer circuit 219 can be configured to determine the hybrid powertrain capability. Specifically, the energy optimizer circuit 219 can determine the ability of vehicle 100 to perform regenerative braking, plug-in charging, and / or inductive charging. The energy optimizer circuit 219 can use data received and / or acquired from one or more sensors 125 to determine this capability. The received sensor information may include, for example, battery SOC information, battery SOH information, information about the overall health of powertrain 102 and / or vehicle 100, and / or the functionality of powertrain 102. For example, functional information may include regenerative braking capability, plug-in charging capacity, and / or inductive charging capacity.
[0089] In various embodiments, the energy optimizer circuit 219 may receive information from sensor 125. The sensor information can be used to determine and / or optimize one or more charging capacities of vehicle 100. For example, vehicle 100 may be configured as a hybrid vehicle or an all-electric vehicle. Therefore, the sensor information may include the state of charge (SOC) of battery 105 (or other electronic storage device) received from sensor 125 configured as a SOC sensor located near battery 105, the current state of health (SOH) of battery 105 (or other electronic storage device) received from sensor 125 configured as a SOH sensor located near battery 105, and / or the overall state of health of powertrain 102 received from sensor 125 configured as a SOH sensor located near one or more components of powertrain 102 (e.g., engine 103, electric motor 106, and / or battery 105). Each of the SOC of battery 105, the SOH of battery 105, and / or the overall SOH of powertrain 102 may be determined using various algorithms and / or models.
[0090] As used herein, the state of charge (SOH) of battery 105 may refer to the current level of stored charge or the level of currently stored charge relative to the current storage capacity of battery 105. As used herein, "state of health (SOH) of battery 105" may refer to the current storage capacity of battery 105 relative to its original storage capacity. The SOH of battery 105 may also refer to the capacity value, internal resistance value, voltage value, cycle count, and / or self-discharge rate of battery 105. As used herein, the overall health of powertrain 102 may refer to a measure of the performance of powertrain 102. Sensor information may be used to determine and / or optimize the functionality of the hybrid powertrain system. For example, energy optimizer circuit 219 may use sensor information to determine braking capability (e.g., regenerative braking capability). Braking capability and when to execute certain braking capabilities may be configured to information in the energy distribution as described above.
[0091] Furthermore, in some embodiments, the information collected by sensor 125 can be used to determine whether the charging capacity of hybrid or electric vehicle 100 is operational. In various embodiments, the charging capacity may be or includes plug-in charging capacity (such as whether the vehicle can be plugged into a charging station to charge battery 105, whether vehicle 100 can stop at a specific charging station or facility along the route, etc.). Energy optimizer circuit 219 can use the sensor information to determine whether vehicle 100 should stop at a charging station to charge battery 105. In various other embodiments, the sensor 125 information can be used by energy optimizer circuit 219 to determine whether one or more inductive charging capacities of vehicle 100 are operational. Inductive or wireless charging can utilize one or more electromagnetic pads coupled to one or more receivers on the vehicle to enable wireless transmission of energy from the pads to the vehicle. Therefore, and for example, the sensor information can indicate the ability of vehicle 100 to perform regenerative braking. The sensor information can also indicate whether the pads and / or receivers have faults that would cause the charging capacity to malfunction.
[0092] Sensor information can be used in conjunction with forward-looking information 224 to determine how battery 105 should be charged. In various embodiments, sensor information may include forward-looking information 224. For example, sensor 125 may acquire information in front of vehicle 100. Furthermore, in some embodiments, forward-looking information 224 may be received from a remote source (e.g., a telecomputing system). Information about the vehicle (including information determined using sensor 125 and / or forward-looking information 224, such as the charging capacity of vehicle 100, when to charge battery 105, how to charge battery 105, etc.) may be included in the energy distribution of vehicle 100. For example, as described above, energy distribution may indicate how to charge battery 105 (e.g., via plug-in or regenerative braking), when to charge the battery (e.g., at a specific charging station, on a specific road gradient, etc.), charging duration, etc., for a specific segment of a task.
[0093] The energy optimizer circuit 219 can also be configured to identify charging opportunities for vehicle 100 using forward-looking information 224. The energy optimizer circuit 219 can use forward-looking information 224 along with cost analysis information to identify charging opportunities. For example, the energy optimizer circuit 219 can receive or determine information about the availability of vehicle charging opportunities, whether through plug-in charging at a charging station or regenerative braking in front of the vehicle's current position while vehicle 100 is moving. For example, the energy optimizer circuit 219 can receive and / or determine information about one or more charging stations, such as the location of the charging station, the cost of charging at the charging station, the duration for fully or substantially charging battery 105, the waiting time for charging the vehicle at a particular charging station, etc. The energy optimizer circuit 219 can use this information to determine whether the vehicle should charge battery 105 at a particular location, how fully battery 105 should be charged, etc.
[0094] Energy optimizer circuit 219 can utilize forward-looking data 224 to determine one or more optimal charging locations for vehicle 100. Charging locations may be the locations of physical charging stations along the route of vehicle 100 (e.g., in embodiments where the vehicle is a plug-in electric vehicle). In some embodiments (e.g., when vehicle 100 is a non-plug-in hybrid vehicle), energy optimizer circuit 219 can use forward-looking information 224 to identify or include one or more charging opportunities within a predefined distance along the route or task of vehicle 100. Specifically, energy optimizer circuit 219 can determine the ideal or optimal point for performing regenerative braking during a task. For example, forward-looking information 224 may indicate that vehicle 100 will be traveling downhill (i.e., a negative road gradient) within a predetermined time or distance. Therefore, energy optimizer circuit 219 can determine that vehicle 100 should perform regenerative braking when vehicle 100 is traveling downhill. For example, energy optimizer circuit 219 may receive forward-looking information 224 indicating that vehicle 100 will be traveling downhill within two kilometers. The energy optimizer circuit 219 can also receive forward-looking information 224 indicating that the vehicle will travel five kilometers downhill. Therefore, the energy optimizer circuit 219 can determine that the vehicle should perform regenerative braking (e.g., using stored energy to charge the battery) to recharge the vehicle while traveling downhill. Based on this determination, the energy optimizer circuit 219 can cause a notification to be displayed to the driver or operator of the vehicle 100. This notification may include a prompt to the vehicle operator to apply the brakes while traveling on the downhill portion of the route to obtain energy through regenerative braking.
[0095] Furthermore, in some embodiments, and as stated above, the energy optimizer circuit 219 can determine one or more charging opportunities at a charging station where the vehicle should stop. For example, forward-looking information 224 can indicate that a first charging station is about to be located at X (e.g., 10) km on the path or route of vehicle 100. The energy optimizer circuit 219 can use the forward-looking information 224 to determine whether the vehicle should stop at a charging station. For example, the energy optimizer circuit 219 can use the forward-looking information 224 and / or data from one or more sensors 125 (including upcoming road gradient, upcoming route conditions, current SOH of battery 105, current SOC of battery 105, etc.) to determine that the vehicle should replenish battery life at the upcoming charging station (e.g., recharge battery 105) to efficiently power the vehicle during the mission. In some embodiments, for example, the energy optimizer circuit 219 can determine that vehicle 100 should not stop at a charging station. Forward information 224 can indicate that a second charging station is about to be reached at 20 km, and energy optimizer circuit 219 can determine that the vehicle should stop at the second charging station instead of the first charging station to charge battery 105.
[0096] The energy optimizer circuit 219 can also be configured to identify the optimal energy management strategy for vehicle 100. In a hybrid powertrain, the energy propelling vehicle 100 may come from engine 103 and / or battery 105. It is desirable to determine the optimal power distribution between engine 103 and battery 105. For example, the energy optimizer circuit 219 may be configured to determine the proportion (e.g., power percentage, time, distance, etc.) that each of battery 105 and engine 103 provides power to the vehicle. For example, in some embodiments, the power distribution may be configured or determined to optimize energy efficiency. This may be determined based on energy consumption (e.g., fuel consumption and / or battery power consumption) and various other operating conditions used to propel the vehicle. For example, the power allocation can be determined or configured such that: (1) fuel consumption of engine 103 is minimized; (2) battery 105 provides propulsion power to electric motor 106 with minimal loss (e.g., energy loss below a predefined minimum threshold), absorbing maximum or near-maximum energy (predefined maximum value), reducing or minimizing degradation; and / or (3) energy and costs associated with charging (e.g., charging costs relative to previous tasks and / or another baseline metric, such as the average cost of the task). In various embodiments, item (3) can be performed when the hybrid vehicle is configured as a plug-in electric vehicle. The determined power allocation can be configured in the energy distribution as described above.
[0097] A power allocation strategy can be determined by the energy optimizer circuit 219 using forward-looking information 224 (e.g., received by the onboard telematics device 144). Energy management (e.g., power allocation determination as described above) can be performed in various ways and / or using various methods. For example, the energy optimizer circuit 219 can use the forward-looking information 224 to determine that an uphill or positive road gradient is imminent within a predefined distance. The energy optimizer circuit 219 can then transfer more energy to the battery 105 instead of the engine 103, or utilize more energy from the battery instead of the engine (e.g., the vehicle can transfer energy from the engine to the battery, continue using energy from the battery, stop transferring energy from the battery / motor to the engine, etc.). Furthermore, in some embodiments, the energy optimizer circuit 219 uses the forward-looking information 224 to determine that the vehicle will be traveling on an uphill section within a predefined distance. If the energy optimizer circuit 219 determines that the battery 105 will be used to power the vehicle during the upcoming uphill section, it can charge the battery 105 via the engine 103 for the remainder of the predefined distance.
[0098] Using battery 105 to drive the vehicle uphill and charging battery 105 with engine 103 before going uphill allows engine 103 to consume less fuel than when using engine 103 to power the vehicle uphill. This also allows engine 103 to operate in efficient operating areas and / or operating points (e.g., providing power to the vehicle). For example, as described above, when battery 105 powers the vehicle during uphill sections of a route or task, the vehicle's energy efficiency can be improved (e.g., the vehicle can consume less energy). Therefore, operating the vehicle as described above allows engine 103 to consume a reduced amount of fuel, thereby optimizing the energy consumption of vehicle 100.
[0099] Furthermore, and in various embodiments, the energy optimizer circuit 219 can use forward-looking data 224 to determine that the vehicle will travel downhill within a predetermined distance. The energy optimizer circuit 219 can use the forward-looking data 224 (e.g., in response to determining that the vehicle will travel downhill within a predetermined distance) to control the operation of the engine 103 and / or the battery 105. Based on such determination, the energy optimizer circuit 219 can shut down the engine 103 and utilize the downhill slope to recover potential energy gained while traveling downhill. The recovered energy can be used to charge the battery 105.
[0100] In various embodiments, one or more sensors 125 may be located on or near one or more of the engine 103, electric motor 106, and / or battery 105 of the vehicle 100. Sensors 125 may be configured to receive operational data and information about each of the engine 103, battery 105, and / or electric motor 106. Energy optimizer circuitry 219 may use the sensor information to determine one or more optimized operational distributions for each of the engine 103, electric motor (e.g., electric motor 106), and / or battery 105. For example, using the electric motor 106 to power the vehicle when it is operating at a lower speed (e.g., below a predetermined threshold) may be more efficient than using the engine 103 to power the vehicle when it is operating at a lower speed. Furthermore, using the engine 103 to power the vehicle when it is operating at a higher speed (e.g., above a predetermined threshold) may be more efficient than using the battery 105 / electric motor 106 to power the vehicle. Therefore, in various embodiments, in order to generate an optimized operating distribution associated with each vehicle component, the energy optimizer circuit 219 can receive sensor data about each of the vehicle's components and determine the optimal operating point for each component to operate the vehicle.
[0101] For example, energy optimizer circuit 219 can receive data from sensor 125 indicating that the vehicle is traveling at a certain speed (e.g., vehicle and / or engine speed). Energy optimizer circuit 219 can receive information indicating that either engine 103 or electric motor 106 is powering the vehicle, and energy optimizer circuit 219 can use this information (e.g., vehicle speed above or below a certain threshold) to determine whether the component powering the vehicle should be switched. For example, vehicle 100 may operate above a predefined speed threshold, and energy optimizer circuit 219 can use sensor data to determine that electric motor 106 is powering the vehicle. Energy optimizer circuit 219 can control the operation of vehicle components such that engine 103 now powers the vehicle when the vehicle is operating at a speed above a predetermined vehicle speed threshold.
[0102] Furthermore, and in various embodiments, sensor data can instruct engine 103 to power the vehicle when it is operating below a predetermined speed threshold. Energy optimizer circuit 219 can then control vehicle components to power electric motor 106 and battery 105 when the vehicle is operating below the predetermined speed threshold. In some embodiments, energy optimizer circuit 219 can determine that engine 103 is powering the vehicle when it is operating above the speed threshold, and / or that electric motor 106 is powering the vehicle when it is operating below the speed threshold. Energy optimizer circuit 219 can then continue to operate either engine 103 or electric motor 106 because the vehicle is being powered efficiently.
[0103] In various embodiments, the threshold speed values used to determine whether engine 103 or motor 106 (e.g., power from battery 105) should operate or power the vehicle can be different values. For example, energy optimizer circuit 219 can cause motor 106 to power the vehicle when the vehicle speed is below a certain first threshold, and can cause engine 103 to power the vehicle when the vehicle speed is above a second threshold. The first speed threshold can be lower than the second speed threshold. In various embodiments, when the vehicle is operating at a speed between the first and second thresholds, energy optimizer circuit 219 can have greater flexibility in determining which vehicle component should power the vehicle. When operating between the two thresholds, additional information can be used to determine which component or components should power the vehicle. For example, constraints or information (such as battery temperature, battery degradation, battery health, battery state of charge, battery state of charge range, etc.) can be used to determine whether engine 103 or battery 105 / motor 106 powers the vehicle for one or more vehicle operating speeds.
[0104] In various embodiments, the forward-looking information 224 used by the energy optimizer circuit 219 may include, for example, electricity price (e.g., expressed in US dollars per kilowatt-hour), charging power, charging duration, and / or charging queue / (e.g., charging source) availability. The forward-looking information 224 can be useful when determining whether and / or when to charge vehicle 100, particularly when the vehicle is a plug-in hybrid vehicle. For example, the energy optimizer circuit 219 can determine the vehicle's location, charging power rate, and / or charging duration (e.g., via regenerative braking or plug-in charging) while minimizing the effects of charging on battery degradation and temperature. Sensor information can be used to acquire information about the state of charge (SOC) of battery 105, the state of equilibrium (SOH) of battery 105, etc. The sensor information can be used by the energy optimizer circuit 219 to determine the capabilities of one or more hybrid powertrains. For example, the sensor information can be used (e.g., as a supplement to or alternative to the forward-looking information 224) to determine regenerative charging capacity, plug-in charging capacity, and / or inductive charging capacity (e.g., when the vehicle should be charged, charging duration, charging location, etc.).
[0105] Figure 2b It is based on Figure 1The diagram illustrates the edge device of the system. Edge device 160 may be included on vehicle 100. Edge device 160 includes at least one processing circuit 162 having at least one processor 164 and at least one memory device 166, similar to the processing circuit, processor, and memory of controller 140. Edge device 160 also includes an enable input 175, trigger logic 176, and look-ahead data 177, similar to the enable input, trigger logic, and look-ahead data of controller 140. Edge device 160 also includes a speed optimizer circuit 168 having model update logic 170 and an optimization solver (shown as model predictive control 172), similar to the speed optimizer circuit, model update logic, and optimization solver (e.g., model predictive control) of speed optimizer circuit 216. Edge device 160 also includes an energy optimizer circuit 169, which may be the same as or similar to energy optimizer circuit 219, differing only in its placement within edge device 160. In various embodiments, the optimization solver may be a gradient optimizer, a genetic algorithm, model predictive control, or other optimization solver. In the accompanying drawings, the term model predictive control is used for illustrative purposes. It should be understood that model predictive control 172 can be any type of optimization solver. Enable input 175 communicates with trigger logic 176, and trigger logic 176 communicates with speed optimizer circuitry 168. Edge device 160 also includes a communication interface 174. Edge device 160 may communicate with controller 140. In various embodiments, speed optimizer circuitry 216 and / or other components of controller 140 may alternatively or additionally be embodied in edge device 160. Edge device 160 may transmit information (e.g., information from speed optimizer circuitry 216) to controller 140 to alleviate processing requirements on controller 140. In various embodiments, edge device 160 may perform high-level optimization to determine a speed distribution and / or reference speed. Edge device 160 may generate a vehicle speed distribution as output. In various embodiments, the vehicle speed distribution is transmitted to controller 140 as a speed reference value. Controller 140 can use speed reference values to generate a final output speed distribution, which is then communicated to the automated driving system 150. In various embodiments, the automated driving system 150 can use the speed distribution to deliver a notification to vehicle 100 recommending operation at the speed determined by the speed distribution. In other embodiments, the automated driving system 150 can use the speed distribution to operate one or more components of vehicle 100, such as powertrain 102, at the recommended speed. In various embodiments, edge device 160 can be disabled if the discretization step is less than or similar to the discretization step of controller 140 (i.e., when the journey is nearing its end).
[0106] In various embodiments, the edge device 160 may optionally or additionally determine the energy distribution. The energy distribution may be in a manner similar to that described above. Figure 2a The method of describing the velocity distribution or energy distribution is used to determine it.
[0107] In various embodiments, the edge device 160 may alternatively or additionally determine the acceleration distribution of the vehicle. The acceleration distribution may be determined in a manner similar to the velocity distribution.
[0108] Figure 2c It is based on Figure 1 A schematic diagram of a remote computing system 182. The remote computing system 182 is a computing system, such as a remote server, a cloud computing system, etc. Therefore, as used herein, "remote computing system" and "cloud computing system" can be used interchangeably to refer to a data or data processing system in which users and / or other computing systems communicate with a central processing unit, and the terminals are remote from the central processing unit. In some embodiments, the remote computing system 182 is part of a larger computing system, such as a multipurpose server or other multipurpose computing system. In other embodiments, the remote computing system 182 is implemented on a third-party computing device run by a third-party service provider (e.g., AWS, Azure, GCP, and / or other third-party computing services).
[0109] Remote computing system 182 is operated by a product and / or service provider. Therefore, in some embodiments, remote computing system 182 is a service and / or system / component provider computing system, and is consequently controlled, managed, or otherwise associated with the service and / or system / component provider (e.g., an engine manufacturer, vehicle manufacturer, exhaust aftertreatment system manufacturer, etc.). In the example shown, remote computing system 182 is operated and managed by an engine manufacturer (which may also manufacture and commercialize other goods and services). Therefore, employees or other operators associated with the service and / or system / component provider may operate remote computing system 182.
[0110] The remote computing system 182 includes at least one processing circuitry 184 having at least one processor 186 and at least one memory device 188, similar to the processing circuitry, processor, and memory of the controller 140. The remote computing system 182 includes an enable input 197, trigger logic 198, and look-ahead data 199, similar to the enable input, trigger logic, and look-ahead data of the controller 140. The remote computing system 182 also includes a speed optimizer circuitry 190 having model update logic 192 and an optimization solver (shown as model predictive control 194), similar to the speed optimizer circuitry, model update logic, and optimization solver (e.g., model predictive control) of speed optimizer circuitry 216. The edge device 160 also includes an energy optimizer circuitry 195, similar to energy optimizer circuitry 219. In various embodiments, the optimization solver may be a gradient optimizer, a genetic algorithm, model predictive control, or other optimization solver. In the figures, the term model predictive control is used for illustrative purposes. It should be understood that the model predictive control 194 can be any type of optimization solver. Enable input 197 communicates with trigger logic 198, and trigger logic 198 is coupled to speed optimizer circuitry 190. The telecomputing system 182 also includes a communication interface 196. The telecomputing system 182 can communicate with controller 140. In various embodiments, the telecomputing system 182 is a cloud-based system and is not physically coupled to vehicle 100 or any of its components. In various embodiments, the telecomputing system 182 can perform high-level optimization to determine a speed distribution and / or reference speed for vehicle 100. The telecomputing system 182 can generate a vehicle speed distribution as output. In various embodiments, the vehicle speed distribution is communicated to controller 140. An external communication device can communicate the vehicle speed distribution as a speed reference value to controller 140. In other various embodiments, the telecomputing system 182 can communicate the speed reference value to an onboard telecomputing device 144 of controller 140. Controller 140 can use the speed reference value to generate a final output speed distribution, which is communicated to automated driving system 150. In various embodiments, the automated driving system 150 may use a speed distribution to deliver a notification to the vehicle 100 recommending operation at a speed determined by the speed distribution. In other embodiments, the automated driving system 150 may use the speed distribution to operate one or more components of the vehicle 100, such as the powertrain 102, at recommended speeds. In various embodiments, the telecomputing system 182 may be disabled if the discretization step is less than or similar to the discretization step of the controller 140 (i.e., when the journey is nearing its end).
[0111] In various embodiments, the remote computing system 182 may alternatively or additionally determine the energy distribution. The energy distribution may be determined in a manner similar to that regarding... Figure 2a The method of describing the velocity distribution or energy distribution is used to determine it.
[0112] In various embodiments, the remote computing system 182 may alternatively or additionally determine the vehicle's acceleration distribution. The acceleration distribution may be determined in a manner similar to the velocity distribution.
[0113] Figure 3 This is a flowchart of a method 300 for determining a velocity distribution according to an example embodiment. Specifically, the controller 140 is configured to determine the velocity distribution based on one or more inputs and using one or more of a lookup table or model (e.g., a regression model, a machine learning model (such as artificial intelligence including neural networks), a dynamic model or dynamic equation derived from data or from fundamental physical principles, etc.). It should be understood that the order of method 300 is shown only as an example. That is, it can be arranged in a manner consistent with... Figure 3 One or more processes may be performed concurrently, partially concurrently, sequentially, and / or in different orders, as shown. For example, process 308 may be performed before and / or concurrently with process 302. In various embodiments, method 300 may be used to determine acceleration distribution.
[0114] At process 302, controller 140 receives forward-looking data. In various embodiments, controller 140 may receive forward-looking data from automated driving system 150 or onboard telematics device 144. (As mentioned above...) Figure 2a As described, forward-looking data may include road gradient, road curvature, speed limits, or any other data related to the road on which vehicle 100 is traveling. In various embodiments, controller 140 may receive forward-looking data at a predetermined distance ahead of vehicle 100. For example, controller 140 may receive forward-looking data at a first distance ahead (e.g., 1 km) indicating a slope in the road and an increase in road gradient during the first distance. The distance from which vehicle 100 can receive forward-looking information may vary.
[0115] At process 304, controller 140 applies a model to the forward-looking and / or input data. Speed optimizer circuitry 216 of controller 140 may apply a model to fit the received forward-looking data. This model may be an optimal speed distribution based on the received forward-looking data and / or a model of the vehicle and powertrain. In various embodiments, the model may be a mathematical model used to generate the speed distribution. In various embodiments, the model may be a mathematical model used for low-level optimization performed locally by controller 140. Model update logic 217 may generate a model that includes one or more statistical models (e.g., regression models, machine learning models such as artificial intelligence including neural networks), etc. In some embodiments, the model is based on feedback data (as described herein with respect to process 308). In some embodiments, model update logic 217 may generate a lookup table instead of generating one or more models, or may generate a lookup table in addition to generating one or more models.
[0116] At process 306, controller 140 outputs a speed distribution. The speed distribution may include an approximate speed and / or other recommended operating conditions for vehicle 100. In various embodiments, the speed distribution can be communicated from controller 140 to automated driving system 150. Automated driving system 150 can utilize the speed distribution to efficiently operate powertrain 102. In various embodiments, the broadcast speed distribution can be tuned to a distance of 1 km from vehicle 100.
[0117] At process 308, controller 140 receives feedback data. The feedback data may include one or more of the following: data from sensor 125, updated forward-looking data, road slope, road curvature, speed limit, updated route, expected arrival time at destination, wind speed, traffic mode / conditions, or information about... Figure 2a Any other type of feedback data described. Feedback data may be received by controller 140 as forward-looking information is recalculated or updated.
[0118] At process 310, controller 140 updates the model. This model may be the optimal speed distribution to be achieved by the vehicle (e.g., by the automated driving system 150). Model update logic 217 may update the model based on feedback data received by controller 140 in process 308. The model may be updated by adjusting the speed distribution based on the updated road conditions. The updated output speed distribution may be used by the automated driving system 150 until the speed optimizer recalculates and the more recently updated speed distribution is communicated to the automated driving system 150.
[0119] Method 300 can be iterative and / or repeated until the driver has reached the destination and / or the vehicle 100 is no longer in operation.
[0120] Figure 4 This is a flowchart of a method 400 for determining a reference speed according to an example embodiment. Method 400 can be performed by an edge device 160 and / or a remote computing system 182. Specifically, at least one of the edge device 160 and / or the remote computing system 182 is configured to determine the reference speed based on one or more inputs and using one or more of a lookup table or model (e.g., a regression model, a machine learning model (such as artificial intelligence including neural networks), etc.). It should be understood that the order of methods 400 is shown only as an example. That is, it can be performed in conjunction with... Figure 4 One or more processes may be performed concurrently, partially concurrently, sequentially, and / or in different orders, as shown. For example, process 408 may be performed before and / or concurrently with process 402. In various embodiments, method 400 may be used to determine acceleration distribution.
[0121] At process 402, edge device 160 and / or remote computing system 182 receive forward-looking data. In various embodiments, edge device 160 and / or remote computing system 182 may receive forward-looking data from automated driving system 150 or in-vehicle telecommunication device 144. The forward-looking data received at process 402 may be similar to that received at process 402. Figure 3 The forward-looking data received at process 302 may include road gradient, road curvature, speed limits, or any other data related to the road on which vehicle 100 is traveling. In various embodiments, controller 140 may receive forward-looking data at a predetermined distance ahead of vehicle 100. For example, controller 140 may receive forward-looking data from 1 kilometer ahead, indicating a slope in the road and an increase in road gradient within 1 kilometer. The distance from which vehicle 100 can receive forward-looking information may vary. In various embodiments, the forward-looking data received at process 402 may be interpolated for use in process 404 described below.
[0122] At process 404, edge device 160 and / or remote computing system 182 apply an optimization solver, such as model predictive control 218. In various embodiments, the optimization solver may be a gradient optimizer, genetic algorithm, model predictive control, or other optimization solver. In the figures, the term model predictive control is used for illustrative purposes. It should be understood that model predictive control 218 can be any type of optimization solver. In various embodiments, the model applied via model predictive control may be a high-level optimization for determining a reference speed. In various embodiments, model predictive control 218 may refer to equations describing the dynamic behavior and / or characteristics of vehicle 100 and / or powertrain 102. In various embodiments, model predictive control 218 is a two-state convex quadratic programming (QP). In various embodiments, model predictive control 218 is a three-state nonlinear programming (NLP). Model predictive control 218 may utilize a deterministic solver to perform real-time optimization and generate the optimal solution for vehicle 100 for powertrain 102 efficiency. In various embodiments, the optimization solver differs from the model applied at process 304 of method 300. In various embodiments, the speed optimizer circuit 216 can also be used to optimize vehicle operation to reach the destination at the desired time, while simultaneously optimizing features such as fuel efficiency.
[0123] At process 406, edge device 160 and / or remote computing system 182 output a reference speed. This reference speed can be transmitted to controller 140 for use in... Figure 3 In method 300 described herein, a reference speed can be used to determine a final speed distribution, which is communicated to the automated driving system 150. In various embodiments, the reference speed is static for a period of time until the model is updated at process 410. The reference speed can be used to allow the driver of vehicle 100 to reach the destination at a specified time while maintaining the efficiency of powertrain 102. Additionally, in various embodiments, the features and methods described herein can be applied to electric vehicles. In various embodiments, an electric vehicle having the features described herein may receive, in addition to (or instead of) the reference speed to the speed distribution, an optimized charging distribution for determining the optimal time and / or location for charging the electric vehicle, taking powertrain efficiency into account. For example, if the driver of the electric vehicle wants to reach the destination at 8:00 AM, controller 140, edge device 160, and / or remote computing system 182 may generate a reference speed and / or speed distribution to optimize powertrain efficiency while reaching the destination at the desired time. The controller 140, edge device 160, and / or remote computing system 182 can also determine the optimal vehicle charging time and / or location so that the vehicle will arrive at the charging station at the desired time.
[0124] At process 408, edge device 160 and / or remote computing system 182 receive feedback data. The feedback data may include one or more of the following: data from sensor 125, updated forward-looking data, road slope, road curvature, speed limit, updated route, expected arrival time at destination, wind speed, traffic mode / condition, or any other type of feedback data. The feedback data may be received by controller 140 as forward-looking information is recalculated or updated. The feedback data received at process 408 may be similar to that received by controller 140 in... Figure 3 The process received feedback data at 308 locations.
[0125] At process 410, edge device 160 and / or remote computing system 182 can update the model. The updated model can be or is based on the model predictive control applied at process 404. The updated model can be used at process 404, such that model predictive control 218 is applied to the updated model. The model can be updated by adjusting the reference speed based on updated road conditions, vehicle conditions, or feedback data. The updated output reference speed can be utilized by controller 140 until model predictive control 218 recalculates and the newly updated speed distribution is communicated to controller 140 and / or automated driving system 150.
[0126] Now for reference Figure 5 The diagram illustrates an architecture 500 with a speed distribution according to an example embodiment. Figure 5 The architecture corresponds to low-level optimizations performed by controller 140, and Figure 3 The flowchart is shown. Data 510 used by controller 140 to calculate the speed distribution includes forward-looking updates (also called forward-looking data) and sensor measurements. Recalculated distance 520 can be predetermined by controller 140 or other components of vehicle 100. Recalculated distance 520 is the time period the vehicle can travel before updating the speed distribution. For example, recalculated distance 520 could be one kilometer. Forward-looking distance 540 is the distance for which the speed optimizer circuitry of the task can create the speed distribution. In various embodiments, the automated driving system 150 may not implement the determined speed distribution over the entire forward-looking distance. For example, if at a distance S... k Calculate the velocity distribution at the location and the forward look-ahead distance is 540 from S. k Crossing to S k+6 However, the distance of 520 from S was recalculated. k Crossing to S k+4 ,like Figure 5 As shown, the controller 140 will be at a distance S k+4 The new speed distribution is determined at this point. Segment 530 indicates the broadcast speed distribution implemented by the automated driving system 150. Each segment 530 shows the speed distribution when it is recalculated (e.g., at...). Figure 3The updated distribution implemented by the automated driving system 150 during process 310 (at point 310). Line segment 535 indicates the speed distribution over the remaining distance of the forward-looking distance 540, which was not implemented by the automated driving system 150 because the speed optimizer has been recalculated. Figure 5 As shown, based on previous and / or current driving conditions, the speed distribution calculated for a given distance can vary depending on the distance and / or time from which the speed distribution was generated. The calculated speed distribution can be broadcast to the automated driving system 150 at a rate independent of the speed optimizer recalculating the rate. For example, as Figure 5 As shown, the broadcast rate 550 is represented as per integer S. k+n Distance broadcast once (i.e., the speed optimizer is distributed at a distance S) k、 S k+1 S k+2 (broadcasting in places like...), while the speed optimizer performs broadcasts every integer S... k+4 The distance is recalculated. In various embodiments, the architecture shown for the velocity distribution can be similar to the architecture shown for the acceleration distribution.
[0127] Now for reference Figure 6 This illustrates another architecture 600 based on the speed distribution of an example embodiment. Figure 6 The architecture corresponds to high-level optimizations performed by one or more of the edge devices 160 and / or remote computing systems 182 and communicated to the controller 140, and Figure 4 The flowchart shows the process. Data 610 used by one or more of the edge device 160, the remote computing system 182, and the controller 140 to calculate the speed distribution includes forward-looking updates (also called forward-looking data) and sensor measurements. A recalculated distance 620 can be predetermined by the controller 140 or other components of the vehicle 100. The recalculated distance 620 is the time period the vehicle can travel before updating the speed distribution. For example, the recalculated distance 620 could be one kilometer. The forward-looking distance 640 is the distance for which the speed optimizer circuitry of the task can create the speed distribution. In various embodiments, the automated driving system 150 may not implement the determined speed distribution over the entire forward-looking distance. For example, if at a distance S... k Calculate the velocity distribution at the location and the forward look-ahead distance is 540 from S. k Crossing to S k+6 However, the distance of 520 from S was recalculated. k Crossing to S k+4 ,like Figure 6 As shown, the controller 140 will be at a distance S k+4 The new speed distribution is determined at this point. Segment 630 indicates the broadcast speed distribution implemented by the automated driving system 150. Each segment 630 shows the speed distribution when it is recalculated (e.g., at...). Figure 4The updated distribution implemented by the automated driving system 150 during process 410 (at point 410). Line segment 635 indicates the speed distribution over the remaining distance of the forward-looking distance 640, which was not implemented by the automated driving system 150 because the speed optimizer has been recalculated. Figure 6 As shown, based on previous and / or current driving conditions, the speed distribution calculated for a given distance can vary depending on the distance and / or time from which the speed distribution was generated. The calculated speed distribution can be broadcast to the automated driving system 150 at a rate independent of the speed optimizer recalculating the rate. For example, as Figure 6 As shown, the broadcast rate 650 is illustrated as broadcasting once every +1 distance (i.e., the rate optimizer is distributed at distance S). k、 S k+1 S k+2 (Broadcasts will be made in various locations, such as [locations]). See reference [for more information]. Figure 2b and Figure 2c As described, and as Figure 4 As shown, one or more of the edge device 160 and / or remote computing system 182 can generate speed reference values that are transmitted to the controller 140, so that the controller 140 can output speed distribution and transmit it to the automated driving system 150. Figure 6 Line 660 shows a speed reference value generated by one or more of the edge device 160 and / or remote computing system 182. The speed reference value can be recalculated at the same rate as the recalculated speed distribution (i.e., the recalculation distance 620 can be the same for both the speed reference value and the speed distribution).
[0128] The speed distribution broadcast to the automated driving system 150 can be utilized by the automated driving system 150 in various ways, depending on the level of automation of the vehicle 100. In vehicles with a lower level of automation (e.g., level 0, level 1, or level 2), the automated driving system can utilize the broadcast speed distribution to deliver a notification to the driver of the vehicle. This notification may include one or more recommended speeds at which the vehicle should operate to optimize fuel efficiency. In vehicles with a higher level of automation (e.g., level 3, level 4, or level 5), the automated driving system 150 can utilize the broadcast speed distribution to operate the vehicle at one or more recommended speeds. For example, the automated driving system 150 may operate the powertrain 102 itself based on the recommended speed distribution. In various embodiments, the architecture shown for the speed distribution can be similar to the architecture for the acceleration distribution.
[0129] Figure 7This is a flowchart of a method 700 for determining energy distribution according to an example embodiment. Specifically, the controller 140 is configured to determine the energy distribution based on one or more inputs and using one or more of a lookup table or model (e.g., a regression model, a machine learning model (such as artificial intelligence including neural networks), a dynamic model or dynamic equation derived from data or from fundamental physical principles, etc.). It should be understood that the order of method 700 is shown only as an example. That is, it can be arranged in a manner consistent with... Figure 7 One or more procedures may be executed concurrently, partially concurrently, sequentially, and / or in different orders as shown. For example, procedure 708 may be executed before and / or concurrently with procedure 702. Furthermore, some procedures may be omitted without departing from the scope of this disclosure.
[0130] At process 702, controller 140 receives forward-looking data. In various embodiments, controller 140 may receive forward-looking data from automated driving system 150 and / or onboard telematics device 144. (As stated above regarding...) Figure 2a As described, forward-looking data may include road gradient, road curvature, speed limits, traffic information, weather information, and / or any other data related to the road on which vehicle 100 is traveling, which may be encountered by the vehicle at an upcoming predefined time or distance. In various embodiments, controller 140 may receive forward-looking data at a predetermined distance ahead of vehicle 100. For example, controller 140 may receive forward-looking data at a first distance ahead (e.g., 1 km) indicating a slope in the road and an increase in road gradient during the first distance. The distance from which vehicle 100 may receive forward-looking information may vary. At process 702, controller 140 may also receive sensor data. Sensor data may include information from sensor 125 regarding the operation of one or more vehicle components. For example, sensor information may include information about the state of charge of the battery, the health status of the battery, and / or the overall health of the powertrain (including the braking capability of the powertrain). In various embodiments, one or more pieces of sensor data may include forward-looking information 224.
[0131] At process 704, controller 140 applies a model to the forward-looking and / or sensor data. The energy optimizer circuitry 219 of controller 140 may apply a model to fit the received forward-looking and sensor data. The model may be an optimal energy distribution based on the received forward-looking data and / or a model of the vehicle and powertrain. In various embodiments, the model may be a mathematical model used to generate the energy distribution. In various embodiments, the model may be a low-level optimization performed locally by controller 140. Model update logic 217 may generate a model that includes one or more statistical models (e.g., regression models, machine learning models such as artificial intelligence including neural networks), etc. In some embodiments, the model is based on feedback data (as described herein with respect to process 708). In some embodiments, model update logic 217 may generate a lookup table instead of generating one or more models, or may generate a lookup table in addition to generating one or more models.
[0132] At process 706, controller 140 outputs an energy distribution (e.g., energy distribution value, energy data output, etc.). The energy distribution may be a set of instructions indicating the operations required to optimize energy efficiency. The energy distribution may include recommended charging methods for vehicle 100 (e.g., plug-in charging, regenerative braking, inductive charging, etc.) and charging times. Specifically, an energy distribution may be generated for a segment of the task and may include instructions on how and when to charge battery 105. In some embodiments, the energy distribution may alternatively or additionally include instructions on power distribution between engine 103 and electric motor 106 / battery 105. For example, the energy distribution may include instructions that during a segment of the task, the vehicle will charge battery 105 by braking while driving downhill. The energy distribution may also include instructions that during that segment, engine 103 should power the vehicle when it is traveling at a speed above a first threshold speed, and electric motor 106 / battery 105 should power the vehicle when it is traveling at a speed below a second threshold speed.
[0133] In various embodiments, energy distribution can be communicated from controller 140 to automated driving system 150. For example, energy distribution can be embodied in a set of instructions sent to automated driving system 150. Automated driving system 150 can utilize these instructions (e.g., energy distribution) to efficiently operate powertrain 102. In various embodiments, broadcast energy distribution can be tuned to a predefined distance (e.g., 1 km) from vehicle 100. In other embodiments, energy distribution and / or information within it can be sent to the operator of vehicle 100 in the form of a notification. For example, energy distribution can be sent as a notification instructing the operator to brake the vehicle to perform regenerative braking while driving downhill.
[0134] At process 708, controller 140 receives feedback data. The feedback data may include one or more of the following: data from sensor 125, updated forward-looking data, road slope, road curvature, speed limit, updated route, expected arrival time at destination, wind speed, traffic mode / conditions, updated battery SOH information, updated SOC information, or information about... Figure 2a Any other type of feedback data described. Feedback data may be received by controller 140 as forward-looking information and / or sensor information are recalculated or updated.
[0135] At process 710, controller 140 updates the model. This model may be the optimal energy distribution to be achieved by the vehicle (e.g., by the automated driving system 150). Model update logic 217 may update the model based on feedback data received by controller 140 in process 708. The model may be updated by adjusting the energy distribution based on energy and / or braking conditions. The updated output energy distribution may be utilized by automated driving system 150 until the energy optimizer recalculates and the more recently updated energy distribution is communicated to automated driving system 150.
[0136] Method 700 can be iterative and / or repeated until the driver has reached the destination and / or the vehicle 100 is no longer in operation.
[0137] Now for reference Figure 8 A method 800 for determining a velocity distribution is shown according to some embodiments. Specifically, a controller 140 is configured to determine the velocity distribution based on one or more inputs and using one or more of a lookup table or model (e.g., a regression model, a machine learning model (such as artificial intelligence including neural networks), a dynamic model or equations of motion derived from data or from fundamental physical principles, etc.). It should be understood that the order of method 800 is shown only as an example. That is, it can be shown in conjunction with... Figure 8 One or more procedures may be executed concurrently, partially concurrently, sequentially, and / or in different orders as shown. For example, procedure 808 may be executed before and / or concurrently with procedure 802. Furthermore, some procedures may be omitted without departing from the scope of this disclosure.
[0138] At process 802, the speed optimizer circuit 216 receives forward-looking information. The forward-looking information may include information about the system's task and / or information about a first segment of the task. In various embodiments, the first segment of the task is a portion of the task's path from or less than a predetermined distance from the system. In various embodiments, the forward-looking information includes the location of the battery charging station relative to the system, the vehicle's charging capacity, charging costs, or the vehicle's queuing time.
[0139] At process 804, the speed optimizer circuit 216 receives feedback information via one or more sensors (e.g., sensor 125). In some embodiments, the feedback information includes the battery's state of charge and / or battery temperature.
[0140] At process 806, the velocity optimizer circuit 216 generates a first horizon velocity distribution based on information about the first segment of the system and feedback information. The first horizon velocity distribution includes recommended velocities for the system along the first segment of the system; In various embodiments, method 800 further includes receiving a reference velocity from a remote computing system. The first horizon velocity distribution may also be based on the reference velocity. In various embodiments, the reference velocity is generated by receiving forward-looking information and applying an optimization solver to the forward-looking information to generate the reference velocity based on the forward-looking information.
[0141] At process 808, the speed optimizer circuit 216 provides a first field-of-view speed distribution to the automated driving system. The automated driving system can realize the first field-of-view speed distribution and / or provide notification to the driver of the vehicle to instruct them to operate according to the speed distribution.
[0142] At process 810, the speed optimizer circuit 216 receives additional look-ahead information. The additional look-ahead information may be updated look-ahead information (e.g., for a new upcoming distance or part of the task, for the second segment of the task, etc.).
[0143] At process 812, the speed optimizer circuit 216 receives additional feedback information. The additional feedback information may be updated feedback information (e.g., for a new upcoming distance or part of the task, for the second segment of the task, etc.).
[0144] At process 814, the velocity optimizer circuit 216 iteratively determines the second horizon velocity distribution based on additional forward-looking information and additional feedback information. The second horizon velocity distribution can be determined before the system reaches the end of the first segment of the task.
[0145] At process 816, the speed optimizer circuit 216 provides the second field speed distribution to the automated driving system.
[0146] In various embodiments, method 800 further includes generating a long-view-of-view velocity distribution based on task and feedback information from the system. The long-view-of-view velocity distribution may include a recommended speed for the system over the duration of the task. Speed optimizer circuitry 216 may provide the long-view-of-view velocity distribution to the automated driving system.
[0147] Now for reference Figure 9A method 900 for determining energy distribution is illustrated according to some embodiments. Method 900 can be executed when vehicle 100 is configured as a hybrid vehicle. In some embodiments, methods 800 and 900 can be executed concurrently or sequentially for the same vehicle 100. Specifically, controller 140 is configured to determine energy distribution based on one or more inputs and using one or more of a lookup table or model (e.g., a regression model, a machine learning model (such as artificial intelligence including neural networks), a dynamic model or dynamic equation derived from data or from fundamental physical principles, etc.). It should be understood that the order of methods 900 is shown only as an example. That is, it can be performed in conjunction with... Figure 9 One or more procedures may be executed concurrently, partially concurrently, sequentially, and / or in different orders as shown. For example, procedure 908 may be executed before and / or concurrently with procedure 902. Furthermore, some procedures may be omitted without departing from the scope of this disclosure.
[0148] At process 902, the energy optimizer circuit 219 receives forward-looking information. The forward-looking information may include information about the system's task and / or information about a first segment of the task. In various embodiments, the first segment of the task is a portion of the task's path from or less than a predetermined distance from the system. In various embodiments, the forward-looking information includes the location of the battery charging station relative to the system, the vehicle's charging capacity, charging costs, or the vehicle's queuing time.
[0149] At process 904, the energy optimizer circuit 219 receives feedback information via one or more sensors (e.g., sensor 125). In some embodiments, the feedback information includes the battery's state of charge and battery temperature.
[0150] At process 906, energy optimizer circuit 219 generates a first horizon energy distribution based on information about a first segment of the system and feedback information. The first horizon energy distribution includes a recommended energy distribution for the system along the first segment of the system. In some embodiments, the recommended energy distribution includes a recommended charging type to be performed for charging the battery. The charging type may be one or more of regenerative braking, plug-in charging, or inductive charging. In some embodiments, the recommended energy distribution includes a recommendation for the location to charge the battery. In some embodiments, the recommended energy distribution includes a recommendation for the power distribution between the vehicle's battery and the vehicle's engine (e.g., the distribution between the engine and the electric motor / battery, indicating which component powers the vehicle).
[0151] At process 908, the energy optimizer circuit 219 provides the first horizon energy distribution to the automated driving system. The automated driving system can realize the first horizon energy distribution and / or provide notification to the system operator to instruct them to operate according to the energy distribution.
[0152] At process 910, energy optimizer circuit 219 receives additional look-ahead information. The additional look-ahead information may be updated look-ahead information (e.g., for a new upcoming distance or part of the task, for the second segment of the task, etc.).
[0153] At process 912, the energy optimizer circuit 219 receives additional feedback information. The additional feedback information may be updated feedback information (e.g., for a new upcoming distance or part of the task, for the second segment of the task, etc.).
[0154] At process 914, the energy optimizer circuit 219 iteratively determines the second horizon energy distribution based on additional forward-looking information and additional feedback information. The second horizon energy distribution can be determined before the system reaches the end of the first segment of the task.
[0155] At process 916, the speed optimizer circuit 216 provides the second horizon energy distribution to the automated driving system.
[0156] In various embodiments, method 900 further includes generating a long-view-of-view energy distribution based on the system's task and feedback information. The long-view-of-view energy distribution may include a recommended energy distribution for the system over the duration of the task. Energy optimizer circuitry 219 may provide the long-view-of-view energy distribution to the automated driving system.
[0157] As used herein, the terms “about,” “approximately,” “substantially,” and similar terms are intended to have a broad meaning consistent with common and accepted usage by one of ordinary skill in the art to which the subject matter of this disclosure pertains. Those skilled in the art who read this disclosure will understand that these terms are intended to allow for the description of certain features described and claimed, without limiting the scope of those features to the precise numerical ranges provided. Therefore, these terms should be interpreted as indicating that non-substantial or irrelevant modifications or alterations to the described and claimed subject matter are considered to be within the scope of this disclosure as set forth in the appended claims.
[0158] It should be noted that the term “exemplary” and its variations, as used herein to describe various embodiments, are intended to indicate that such embodiments are possible instances, representations or illustrations of possible embodiments (and such terms are not intended to imply that such embodiments are necessarily extraordinary or best instances).
[0159] As used herein, the term “coupling” and its variations mean that two components are directly or indirectly connected to each other. This connection can be stationary (e.g., permanent or fixed) or movable (e.g., removable or releasable). Such a connection can be achieved when two components are directly coupled to each other, when two components are coupled to each other using one or more separate intermediate components, or when two components are coupled to each other using an intermediate component that is integral with one of the two components to form a single whole. If “coupling” or its variations are modified by an additional term (e.g., direct coupling), the general definition of “coupling” provided above is modified by the common linguistic meaning of the additional term (e.g., “direct coupling” means joining two components without any separate intermediate component), resulting in a narrower definition than the general definition of “coupling” provided above. Such coupling can be mechanical, electrical, or fluid. For example, circuit A being communicatively “coupled” to circuit B can mean that circuit A communicates directly with circuit B (i.e., without intermediaries) or indirectly with circuit B (e.g., through one or more intermediaries).
[0160] References to the position of elements herein (e.g., “top,” “bottom,” “above,” “below”) are used only to describe the orientation of the various elements in the accompanying drawings. It should be noted that the orientation of the various elements may differ according to other exemplary embodiments, and such variations are intended to be covered by this disclosure.
[0161] Although Figure 2a Various circuits with specific functionalities are illustrated herein; however, it should be understood that controller 140 may include any number of circuits for performing the functions described herein. For example, the activities and functionality of processing circuitry 210 may be combined in multiple circuits or combined as a single circuit. Additional circuitry with additional functionality may also be included. Furthermore, controller 140 may control other activities beyond the scope of this disclosure.
[0162] As mentioned above, and in one configuration, the "circuit" can be implemented in a machine-readable medium for use with various types of processors (such as...). Figure 2aThe executable code is executed by the processor 212. Executable code may include, for example, one or more physical or logical blocks of computer instructions, which may be organized as objects, procedures, or functions. However, an executable program does not need to be physically located together, but may include different instructions stored in different locations that, when logically combined, comprise a circuit and implement the stated purpose of that circuit. In practice, the circuitry of computer-readable program code can be a single instruction or multiple instructions, and can even be distributed across several different code segments, different programs, and several memory devices. Similarly, runtime data may be identified and exemplified within the circuitry herein, and may be embodied in any suitable form and organized within any suitable type of data structure. This runtime data may be collected as a single dataset, or may be distributed across different locations (including different storage devices), and may exist at least partially as electronic signals on a system or network.
[0163] While the term "processor" has been briefly defined above, the terms "processor" and "processing circuitry" should be interpreted broadly. In this respect, and as mentioned above, a "processor" can be implemented as one or more processors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), or other suitable electronic data processing components configured to execute instructions provided by memory. One or more processors can be in the form of a single-core processor, a multi-core processor (e.g., a dual-core processor, a triple-core processor, a quad-core processor, etc.), a microprocessor, etc. In some embodiments, one or more processors can be located externally to the device; for example, one or more processors can be remote processors (e.g., cloud-based processors). Alternatively or additionally, one or more processors can be internal to the device and / or local. In this respect, a given circuitry or its components can be locally configured (e.g., as part of a local server, a local computing system, etc.) or remotely configured (e.g., as part of a remote server, such as a cloud-based server). Therefore, a "circuitry" as described herein can include components distributed across one or more locations.
[0164] Embodiments within the scope of this disclosure include program products that include computer- or machine-readable media for carrying or having computer- or machine-executable instructions or data structures stored thereon. Such machine-readable media can be any available medium accessible by a computer. A computer-readable medium can be a tangible computer-readable storage medium storing computer-readable program code. A computer-readable storage medium can be, for example, but not limited to, electronic, magnetic, optical, electromagnetic, infrared, holographic, micromechanical, or semiconductor systems, apparatuses, or devices, or any suitable combination of the foregoing. More specific examples of computer-readable media may include, but are not limited to, portable computer floppy disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable optical disc read-only memory (CD-ROM), digital versatile optical disc (DVD), optical storage devices, magnetic storage devices, holographic storage media, micromechanical storage devices, or any suitable combination of the foregoing. In the context of this document, a computer-readable storage medium can be any tangible medium that may contain and / or store computer-readable program code for use and / or in conjunction with an instruction execution system, apparatus, or device. Machine-executable instructions include, for example, instructions and data that cause a computer or processing machine to perform a specific function or a set of functions.
[0165] The computer-readable medium can also be a computer-readable signal medium. A computer-readable signal medium can include a propagated data signal in which computer-readable program code is contained, for example, in baseband or as part of a carrier wave. Such a propagated signal can take any of a variety of forms, including, but not limited to, electrical, electromagnetic, magnetic, optical, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium that is not a computer-readable storage medium and can convey, propagate, or transmit computer-readable program code for use by or in connection with an instruction execution system, apparatus, or device. Computer-readable program code contained on a computer-readable signal medium can be transmitted using any suitable medium, including but not limited to wireless, wired, fiber optic cable, radio frequency (RF), or similar media, or any suitable combination thereof.
[0166] In one embodiment, a computer-readable medium may include a combination of one or more computer-readable storage media and one or more computer-readable signal media. For example, computer-readable program code may be transmitted as an electromagnetic signal via an optical fiber cable for execution by a processor, or it may be stored in a RAM storage device for execution by a processor.
[0167] Computer-readable program code used to perform the operations of various aspects of this disclosure may be written in any combination of one or more other programming languages, including object-oriented programming languages (such as Java, Smalltalk, C++, or similar languages) and conventional procedural programming languages (such as the "C" programming language or similar programming languages). The computer-readable program code may execute entirely on the user's computer, partially on the user's computer, as a standalone computer-readable package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network (including a local area network (LAN) or a wide area network (WAN)), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0168] Program code may also be stored in a computer-readable medium that can instruct a computer, other programmable data processing apparatus or other device to operate in a particular manner, such that instructions stored in the computer-readable medium produce an article of manufacture, which includes instructions that implement the functions / actions specified by one or more boxes in a schematic flowchart and / or schematic block diagram.
[0169] Although the accompanying drawings and descriptions may illustrate a particular order of method steps, such order may differ from the order depicted and described unless otherwise stated above. Similarly, unless otherwise stated above, two or more steps may be performed simultaneously or partially simultaneously. Such variations may depend on, for example, the chosen software and hardware system and the designer's choices. All such variations are within the scope of this disclosure. Likewise, software implementations of the described methods can be accomplished using standard programming techniques, leveraging rule-based logic and other logic, to perform various connection steps, processing steps, comparison steps, and decision steps.
[0170] It is important to note that the construction and arrangement of the apparatus and systems illustrated in the various exemplary embodiments are merely illustrative. Additionally, any element disclosed in one embodiment may be combined with or used in conjunction with any other embodiment disclosed herein.
Claims
1. A system comprising: Automated driving systems; and A controller coupled to the automated driving system, the controller including at least one processor and at least one memory device, the at least one memory device storing instructions that, when executed by the at least one processor, cause the controller to perform operations including: Receive forward-looking information, the forward-looking information including: Information about the tasks of the system, and Information regarding the first segment of the task; Receive feedback information via one or more sensors; Based on the information about the first segment of the system and the feedback information, a first horizon velocity distribution is generated, the first horizon velocity distribution including a recommended velocity for the system along the first segment of the system; The first visual velocity distribution is provided to the automated driving system; Receive additional forward-looking information; Receive additional feedback information; Before the system reaches the end of the first segment of the task, the second horizon velocity distribution is iteratively determined based on the additional forward-looking information and the additional feedback information; and The second visual speed distribution is provided to the automated driving system.
2. The system of claim 1, wherein the first segment of the task is a portion of the path of the task at a predetermined distance from the system or less than the predetermined distance.
3. The system of claim 1, wherein the forward-looking information includes the location of the battery charging station relative to the system, the charging capacity of the vehicle in the system, the charging cost, or the queuing time of the vehicle; and The feedback information includes the state of charge and battery temperature of the vehicle's battery.
4. The system according to claim 1, wherein the operation further includes: Based on the task and feedback information of the system, a long horizon velocity distribution is generated, which includes the recommended velocity for the system during the duration of the task. as well as The long field of view speed distribution is provided to the automated driving system.
5. The system according to claim 1, wherein the operation further comprises: A reference velocity is received from a remote computing system, wherein the first horizon velocity distribution is also based on the reference velocity.
6. The system of claim 5, wherein the reference speed is generated in the following manner: Receive forward-looking information; and An optimization solver is applied to the forward-looking information to generate the reference velocity based on the forward-looking information.
7. A system comprising: Automated driving systems; and A controller coupled to the automated driving system, the controller including at least one processor and at least one memory device, the at least one memory device storing instructions that, when executed by the at least one processor, cause the controller to perform operations including: Receive forward-looking information, the forward-looking information including: Information about the tasks of the system, and Information regarding the first segment of the task; Receive feedback information via one or more sensors; Based on the information about the first segment of the system and the feedback information, a first horizon energy distribution is generated, the first horizon energy distribution including a recommended energy distribution along the first segment of the system for the system; Provide the first field-of-view energy distribution to the automated driving system; Receive additional forward-looking information; Receive additional feedback information; Before the system reaches the end of the first segment of the task, the energy distribution of the second horizon is iteratively determined based on the additional forward-looking information and the additional feedback information; and The second field of view energy distribution is provided to the automated driving system.
8. The system of claim 7, wherein the first segment of the task is a portion of the path of the task at a predetermined distance from the system or less than the predetermined distance.
9. The system of claim 7, wherein the forward-looking information includes the location of the battery charging station relative to the system, the charging capacity of the vehicle in the system, the charging cost, or the queuing time of the vehicle; and The feedback information includes the state of charge and battery temperature of the vehicle's battery.
10. The system of claim 7, wherein the operation further comprises: Based on the task and feedback information of the system, a long horizon energy distribution is generated, which includes a recommended energy distribution for the system during the duration of the task. as well as The long field of view energy distribution is provided to the automated driving system.
11. The system of claim 9, wherein the recommended energy distribution includes at least one of the following: a recommended charging type to be performed for charging the battery, wherein the charging type is one or more of regenerative braking, plug-in charging, or inductive charging; or a recommendation of the location for charging the battery.
12. The system of claim 9, wherein the recommended energy distribution includes a recommendation of power allocation between the vehicle's battery and the vehicle's engine.
13. A method, the method comprising: Receive forward-looking information, the forward-looking information including: Information about the system's tasks, and Information regarding the first segment of the task; Receive feedback information via one or more sensors; Based on the information about the first segment of the system and the feedback information, a first horizon velocity distribution is generated, the first horizon velocity distribution including a recommended velocity for the system along the first segment of the system; The first visual velocity distribution is provided to the automated driving system; Based on the information about the first segment of the system and the feedback information, a first horizon energy distribution is generated, the first horizon energy distribution including a recommended energy distribution along the first segment of the system; and The first field of view energy distribution is provided to the automated driving system.
14. The method of claim 13, wherein the first segment of the task is a portion of the path of the task at or less than a predetermined distance from the system.
15. The method of claim 13, wherein the forward-looking information includes the location of the battery charging station relative to the system, the vehicle's charging capacity, charging cost, or the vehicle's queuing time; and The feedback information includes the state of charge and battery temperature of the vehicle's battery.
16. The method according to claim 13, further comprising: Based on the task and feedback information of the system, a long horizon energy distribution is generated, which includes a recommended energy distribution for the system during the duration of the task. as well as The long field of view energy distribution is provided to the automated driving system.
17. The method according to claim 13, further comprising: Receive additional forward-looking information; Receive additional feedback information; Before the system reaches the end of the first segment of the task, the second horizon velocity distribution is iteratively determined based on the additional forward-looking information and the additional feedback information; as well as The second visual speed distribution is provided to the automated driving system.
18. The method according to claim 13, further comprising: Receive additional forward-looking information; Receive additional feedback information; Before the system reaches the end of the first segment of the task, the energy distribution of the second horizon is determined iteratively based on the additional forward-looking information and the additional feedback information; as well as The second field of view energy distribution is provided to the automated driving system.
19. The method according to claim 13, further comprising: A reference velocity is received from a remote computing system, wherein the first horizon velocity distribution is also based on the reference velocity.
20. The method of claim 19, wherein the reference velocity is generated in the following manner: Receive forward-looking information; and An optimization solver is applied to the forward-looking information to generate the reference velocity based on the forward-looking information.