Systems and methods for optimizing vehicle speed for powertrain efficiency

The system optimizes vehicle speed and energy distribution by generating and updating horizon profiles based on lookahead and feedback information, addressing the challenges of integrating ADS and ADAS with vehicle systems and improving powertrain efficiency.

WO2025128758A1PCT designated stage expired Publication Date: 2025-06-19CUMMINS INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/US2024/059670
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-12
Filing Date
2024-12-11
Publication Date
2025-06-19

AI Technical Summary

Technical Problem

Existing vehicle systems struggle to optimize vehicle speed for powertrain efficiency, especially when integrated with automated driving systems (ADS) and advanced driver-assistance systems (ADAS), due to complex computational tasks and limited horizon prediction capabilities.

Method used

A system comprising an automated driving system and a controller that receives lookahead and feedback information to generate and iteratively update horizon speed and energy profiles, optimizing vehicle speed and energy distribution along a mission segment and throughout the entire mission.

Benefits of technology

The system effectively optimizes vehicle speed and energy usage, improving powertrain efficiency, reducing fuel consumption, and enhancing overall mission performance by providing accurate and dynamic speed and energy profiles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024059670_19062025_PF_FP_ABST
    Figure US2024059670_19062025_PF_FP_ABST
Patent Text Reader

Abstract

A system includes an automated driving system and a controller structured to: receive lookahead information comprising information regarding a mission of the system and information regarding a first segment of the mission; receive feedback information via one or more sensors; generate, based on the information regarding the first segment of the system and the feedback information, a first horizon speed profile comprising a recommended speed for the system along the first segment of the system; provide the first horizon speed profile to the automated driving system; receive additional lookahead information; receive additional feedback information; iteratively determine a second horizon speed profile based on the additional lookahead information and the additional feedback information before the system reaches the end of the first segment of the mission; and provide the second horizon speed profile to the automated driving system.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEMS AND METHODS FOR OPTIMIZING VEHICLE SPEED FORPOWERTRAIN EFFICIENCYCROSS-REFERENCE TO RELATED APPLICATION

[0001] This application claims priority to and the benefit of 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] The present disclosure relates to systems, apparatuses, and methods for optimizing a vehicle speed for powertrain efficiency. In particular, the systems, apparatuses, and methods described herein relate to optimizing a vehicle speed for powertrain efficiency in a vehicle with an automated driving system (ADS) and / or advanced driver-assistance system (ADAS).BACKGROUND

[0003] “Driving automation” refers to both Advanced Driver Assistance Systems (ADAS) and Automated Driving Systems (ADS). ADAS features on a vehicle support human drivers while an ADS may ultimately be able to operate a vehicle without a human driver. ADS and ADAS are gaining popularity, but there are integration challenges with implementing ADS and ADAS with various vehicle systems and components.SUMMARY

[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 including 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 lookahead information including: information regarding a mission of the system and information regarding a first segment of the mission, receiving feedback information via one or more sensors, generating, based on the information regarding the first segment of the system and the feedback information, a first horizon speed profile including a recommendedspeed for the system along the first segment of the system, providing the first horizon speed profile to the automated driving system, receiving additional lookahead information, receiving additional feedback information, iteratively determining a second horizon speed profile based on the additional lookahead information and the additional feedback information before the system reaches the end of the first segment of the mission, and providing the second horizon speed profile to the automated driving system.

[0005] In some embodiments, the first segment of the mission is a portion a path of the mission that is at or below a predetermined distance away from the system. In some embodiments, the lookahead information includes a location of a battery charging station relative to a location of the system, a charging capacity of the vehicle, a charging cost, or a queuing time for the vehicle. In some embodiments, the feedback information includes a state of charge of the battery and a battery temperature.

[0006] In some embodiments, operations further include generating, based on the mission of the system and the feedback information, a long horizon speed profile including a recommended speed for the system for the duration of the mission, and providing the long horizon speed profile to the automated driving system. In some embodiments, operations further include receiving, from a remote computing system, a reference speed. In some embodiments, the first horizon speed profile is further based on the reference speed. In some embodiments, the reference speed is generated by receiving lookahead information and applying an optimization solver to the lookahead information to generate the reference speed based on the lookahead 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 including 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 lookahead information including information regarding a mission of the system and information regarding a first segment of the mission, receiving feedback information via one or more sensors, generating, based on the information regarding the first segment of the system and the feedback information, a first horizon energy profile including a recommended energy distribution for the system along the first segment of the system, providing the firsthorizon energy profile to the automated driving system, receiving additional lookahead information, receiving additional feedback information, iteratively determining a second horizon energy profile based on the additional lookahead information and the additional feedback information before the system reaches the end of the first segment of the mission, and providing the second horizon energy profile to the automated driving system.[00081 In some embodiments, the first segment of the mission is a portion a path of the mission that is at or below a predetermined distance away from the system In some embodiments, the lookahead information includes a location of a battery charging station relative to a location of the system, a charging capacity of the vehicle, a charging cost, or a queuing time for the vehicle. In some embodiments, the feedback information includes a state of charge of the battery and a battery temperature. In some embodiments, operations further include generating, based on the mission of the system and the feedback information, a long horizon energy profile including a recommended energy distribution for the system for the duration of the mission, and providing the long horizon energy profile to the automated driving system.[00091 In some embodiments, the recommended energy distribution includes a recommended type of charging to perform to charge the battery. In some embodiments, the type of charging is one or more of regenerative braking, plug-in charging, or inductive charging. In some embodiments, the recommended energy distribution includes a recommendation of a location to charge the battery. In some embodiments, the recommended energy distribution includes a recommendation of a power split between a battery of the vehicle and an engine of the vehicle.

[0010] One embodiment relates to a method. The method includes receiving lookahead information including information regarding a mission of the system and information regarding a first segment of the mission, receiving feedback information via one or more sensors, generating, based on the information regarding the first segment of the system and the feedback information, a first horizon speed profile including a recommended speed for the system along the first segment of the system, providing the first horizon speed profile to the automated driving system, generating, based on the information regarding the first segment of the system and the feedback information, a first horizon energy profile includinga recommended energy distribution for the system along the first segment of the system, and providing the first horizon energy profile to the automated driving system.(0011 ] In some embodiments, the first segment of the mission is a portion a path of the mission that is at or below a predetermined distance away from the system. In some embodiments, the lookahead information includes a location of a battery charging station relative to a location of the system, a charging capacity of the vehicle, a charging cost, or a queuing time for the vehicle. In some embodiments, the feedback information includes a state of charge of the battery and a battery temperature.

[0012] In some embodiments, the method further includes generating, based on the mission of the system and the feedback information, a long horizon energy profile including a recommended energy distribution for the system for the duration of the mission, and providing the long horizon energy profile to the automated driving system. In some embodiments, the method further includes receiving additional lookahead information, receiving additional feedback information, iteratively determining a second horizon speed profile based on the additional lookahead information and the additional feedback information before the system reaches the end of the first segment of the mission, and providing the second horizon speed profile to the automated driving system.

[0013] In some embodiments, the method further includes receiving additional lookahead information, receiving additional feedback information, iteratively determining a second horizon energy profile based on the additional lookahead information and the additional feedback information before the system reaches the end of the first segment of the mission, and providing the second horizon energy profile to the automated driving system. In some embodiments, the method further includes receiving, from a remote computing system, a reference speed, wherein the first horizon speed profile is further based on the reference speed. In some embodiments, the reference speed is generated by receiving lookahead information and applying an optimization solver to the lookahead information to generate the reference speed based on the lookahead 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 oneprocessor 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 lookahead information that includes information regarding a mission of the system, and information regarding a first segment of the mission. The operations further include receiving feedback information via one or more sensors. The operations further include generating, based on the information regarding the first segment of the system and the feedback information, a first horizon speed profile that includes a recommended speed for the system along the first segment of the system. The operations further include providing the first horizon speed profile to the automated driving system. The operations further include receiving additional lookahead information and receiving additional feedback information. The operations further include iteratively determining a second horizon speed profile based on the additional lookahead information and the additional feedback information before the system reaches the end of the first segment of the mission. The operations further include providing the second horizon speed profile to the automated driving system.|0015| Numerous specific details are provided to impart a thorough understanding of embodiments of the subject matter of the present disclosure. The described features of the subject matter of the present disclosure may be combined in any suitable manner in one or more embodiments and / or implementations. In this regard, one or more features of an aspect of the invention may be combined with one or more features of a different aspect of the invention. Moreover, additional features may be recognized in certain embodiments and / or implementations that may not be present in all embodiments or implementations.BRIEF DESCRIPTION OF THE FIGURES

[0016] FIG. 1 is a schematic view of a block diagram of a vehicle, at least a portion thereof, according to an example embodiment.

[0017] FIG. 2a is a schematic diagram of a controller of the vehicle of FIG. 1, according to an example embodiment.

[0018] FIG. 2b is a schematic diagram of an edge device for the vehicle of FIG. 1, according to an example embodiment.

[0019] FIG. 2c is a schematic diagram of a remote computing system coupled to the vehicle of FIG. 1, according to an example embodiment.

[0020] FIG. 3 is a flow diagram of a method of determining a speed profile for the vehicle of FIG. 1, according to an example embodiment.

[0021] FIG. 4 is a flow diagram of a method of determining a reference speed for the vehicle of FIG. 1, according to an example embodiment.

[0022] FIG. 5 is schematic diagram of a framework for implementing the method of FIG. 3, according to an exemplary embodiment.

[0023] FIG. 6 is schematic diagram of a framework for implementing the method of FIG. 4, according to an exemplary embodiment.

[0024] FIG. 7 is a flow diagram of a method of determining an energy profile for the vehicle of FIG. 1, according to an example embodiment.

[0025] FIG. 8 is a flow diagram of a method of determining a speed profile for the vehicle of FIG. 1, according to an example embodiment.

[0026] FIG. 9 is a flow diagram of a method of determining an energy profile for the vehicle of FIG. 1, according to an example embodiment.DETAILED DESCRIPTION

[0027] Following below are more detailed descriptions of various concepts related to, and implementations of, methods, apparatuses, and systems for optimizing vehicle speed for powertrain efficiency. Before turning to the Figures, which illustrate certain exemplary embodiments in detail, it should be understood that the present disclosure is not limited to the details or methodology set forth in the description or illustrated in the Figures. It should also be understood that the terminology used herein is for the purpose of description only and should not be regarded as limiting.

[0028] As utilized herein, the term “fuel consumption” refers to the consumption rate of fuel for an engine system, which is typically expressed as a ratio of a unit of distance relative to aunit of fuel, such as miles per gallon. In a powertrain that includes an electric motor and a battery, such as a hybrid powertrain, a battery electric powertrain, etc., the battery consumption may be expressed as a ratio of power consumed relative to a unit of distance or time, such as kilowatts per hour or kilowatts per mile.10029] As utilized herein, the term “estimating” and like terms are used to refer to determining a current or past value that is not a measured value (e.g., a temperature measured by a temperature sensor). In other words, estimation refers to an approximation of a value(s) that may differ from an actual or measured value. Estimating a current or past value may be based on information from a real sensor (e.g., sensor data, historical sensor data, real-time sensor data, etc.) or information from another source. In some embodiments, estimating the current or past value can be performed using one or more “models.” For example, estimating a vehicle speed can include using data, such as sensor data, with a model to determine the vehicle speed.

[0030] As utilized herein, the term “model” refers to a description of a system that is expressed using mathematical concepts and language. More specifically, a “model” relates a first set of values (e.g., an input) to a second set of values (e.g., an output). For example, a model may relate sensor data, such as sensor data regarding the operation of a vehicle, with a target vehicle speed, described herein as a “speed profile.” In some embodiments, the model may be or include a statistical model or other suitable model. For example, a statistical model may embody a set of statistical assumptions concerning 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 the input and the output. In some embodiments, the model may be or include a machine learning model. A machine learning model is a computer-implemented program that identifies patterns or make decisions from a previously unseen dataset. For example, a machine learning model can parse input values, such as sensor data or other data regarding the operation of a vehicle, to recognize patterns and determine a desired output value based on the inputs and prior training data sets.

[0031] As utilized herein, the term “predicting” and like terms are used to refer to determining or estimating a future value based on one or more pieces of data (e.g., sensordata, historical sensor data, real-time sensor data, etc.). In some embodiments, predicting the future value can be performed using one or more models (e.g., statistical models, artificial intelligence models, machine learning models, etc.).

[0032] As utilized herein, the term “operational data” and like terms are used to refer to data regarding the operation of a system, such as an engine system. In some embodiments, operational data may include settings, values, or other information regarding the operation of a system. For example, operational data of an engine system may include a ratio of an amount of air relative to an amount of fuel provided to an internal combustion engine for combustion (referred to herein as an “air to fuel ratio”). In some embodiments, the operational data may be measured (e.g., by one or more real sensors) or estimated (e.g., by one or more virtual sensors or by a computer device or processing circuit).

[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 regarding a “mission” of the vehicle. As used herein a “mission” of a vehicle refers to an origin location or current location of the vehicle, a destination of the vehicle, and a path between the ori gin / current location and the destination. In other words, the mission refers to the path or route between two or more points. In some embodiments, the “mission” includes a time constraint that affects how far the vehicle can travel within the mission (e.g., a maximum time allotted for the vehicle to reach a desired location, such as a destination). Thus, as an example, the “mission” may include an origin, a destination, and a time constraint, such that the mission may correspond to the distance traveled by the vehicle from the origin to a point reached at the end of the time constraint, even if the vehicle does not reach the destination within the time constraint / duration. The “mission” of a vehicle may also consider / be affected by various information regarding the vehicle that may impact the mission, such as a type of vehicle and / or a type of cargo being carried or transported by the vehicle. Thus, the information regarding the mission of the vehicle may include an origin, a current location, a destination, a path between the origin and / or current location and the destination, and a time constraint for a duration of the mission (in some embodiments). Information that may impact / affect the mission may include, for example, a type of vehicleand / or a type of cargo being transported. The mission may correspond to a route of a vehicle and a desired time in which to complete the mission.

[0034] The controller may also receive operational data regarding the vehicle including operational data that does not change or is relatively constant for the duration of the mission, such as a total vehicle weight (e.g. a weight of the vehicle plus a weight of a payload of the vehicle) and / or information that changes during the mission (dynamic information), such as a vehicle speed, a vehicle direction, an engine speed, an engine torque, a transmission setting or gear, etc. In some arrangements, the operational data may include sensor data received from one or more sensors. The sensors may be real or virtual sensors. The controller may use the lookahead data and the operational data to determine a “speed profile.” Lookahead data may include data relating to road conditions or other parameters sensed within a predefined distance ahead of a current location of a vehicle. Lookahead data may also include information regarding the path of the vehicle, such as a road grade, a speed limit, street or highway names, tum-by-tum directions, refueling stations, charging stations, rest stops and / or other information regarding the path. In particular, the controller or control system may use one or more models, formulas or algorithms, and / or lookup tables that correlate lookahead data and operational data with a speed profile.

[0035] As used herein, “speed profile” refers to a set of target speed values for a vehicle over a predefined time and / or distance horizon. The set of target speed values may be expressed as a function of another variable, such as distance or time. For example, a speed profile may be expressed as a set of target vehicle speed values over a predetermined distance (e.g., 1 kilometer, 2 kilometers, etc.) ahead of the vehicle (e.g., along a path of a mission of the vehicle). In an example embodiment, vehicle speed targets may be a function of a total or gross vehicle weight (GVW) and / or a road grade. In some arrangements, the distance or time values may be measured relative to a current distance value or current time value, respectively. In other arrangements, the distance or time values may be measured relative to a distance from an origin location or a time of the day, respectively. The controller or control system may also use characteristics of the vehicle and / or powertrain to determine target vehicle speed values and / or the determined speed profile of the vehicle. In various embodiments, the generated speed profile may determine an optimal speed at which a fuelconsumption and / or an energy usage of a vehicle is minimized. The generated speed profile may also account for a desired total trip time for the vehicle.

[0036] In various embodiments, the controller may use lookahead data and operational data to determine an “acceleration profile.” Lookahead data for an acceleration profile may include data or parameters relating to how and / or when a vehicle accelerates. For example, parameters affecting the acceleration of a vehicle may include stop and go traffic conditions, stop lights, traffic signs (stop signs, yield signs, speed limit signs, etc.), and / or other information, such as a speed limit, a change in speed limit, indications of traffic (e.g., construction, stalled vehicles, etc.), and so on. The acceleration profile may refer to a set of target acceleration values for a vehicle over a predefined time and / or distance horizon. The acceleration profile may be similar to the speed profile described in the present application. The acceleration profile may be determined similar to the speed profile. In an example embodiment, acceleration targets may be a function of a total or gross vehicle weight (GVW) and / or a road grade. In various embodiments, an acceleration profile may be determined if it is desired to preserve fuel and / or a state of charge of a vehicle. An acceleration profile may be determined in addition to or alternatively to a speed profile.[0037| As described herein, the controller may use lookahead data, sensor data, and / or information regarding charging and / or braking capabilities of the vehicle to determine an energy profile of the vehicle. As used herein, the “energy profile” refers to a set of operations to be performed by the vehicle (e.g., using an automated driving system) and / or an operator of the vehicle to optimize energy consumption or usage by the vehicle. As used herein, “optimized,” “optimizing,” “optimal,” and other similar terms may refer to an improvement in a specific category or category of vehicle operation. For example, optimizing vehicle performance may mean improving a miles per gallon (MPG) of the engine relative to a current or baseline operation, improving a kilowatt-hour of the motor relative to a current or baseline operation, etc. As used herein, an optimized energy profile may refer to a set of recommended operations to perform such that energy consumed by the vehicle is minimized. For example, the operations included in the energy profile may cause components of the vehicle to be operated in a manner that minimizes an amount of fuel, energy, power, etc. that is used. Further, it should be understood that an optimal operating condition or optimalenergy profile may be dynamic and be updated based on various conditions. For example, based on lookahead information indicating an upcoming road grade, an upcoming speed limit, an upcoming terrain, etc., an optimal energy efficiency or energy consumption may vary. Further, based on lookahead information and / or additional sensor data, the operations included in the determined energy profile may vary.

[0038] The present disclosure may incorporate ADS improvements within the technology. For example, the present disclosure may provide various fuel efficiency benefits via the speed profile that allows the powertrain of a vehicle to operate relatively more efficiently than previously enabled, as well as providing full or mostly full route fuel efficiency determination windows. The present disclosure may alternatively or additionally provide various fuel efficiency benefits via the acceleration profile. For example, a model predictive control or other optimization solver may minimize acceleration of the vehicle to minimize fuel consumption, since a greater acceleration may correspond to a greater fuel consumption.Additional beneficial features that may be provided by the present disclosure may include, for example, for an entire route or nearly entire route, an improved efficiency for the aftertreatment integration route weather. The improved efficiency may be for engine management related to ambient air temperatures. Improvements to data and / or information from ADS and / or any other lookahead data can be utilized by the present disclosure to generate a speed profile. These improvements may include communicating and receiving data on starting and ending routes, traffic and / or other appropriate logistical or environmental data relating to the route of the vehicle.

[0039] Technically and beneficially, the systems, methods, computer-readable media, and apparatuses described herein provide an improved control system that uses lookahead data and operational data that may provide feedback to the control system regarding road conditions and / or other parameters of a route of a vehicle to generate a speed profile over a predetermined horizon. With current ADS, determinations may be made for a “short” horizon that is less than a total distance or total time of a mission of the vehicle. Predicting a speed profile for an entire mission or majority of the mission of a vehicle poses technical problems. For example, a typical engine control system may be designed for relatively simple computational tasks, such as receipt and transmission of data. Therefore, control systems maybe not suited for complex computational tasks, such as predicting a speed profile for a vehicle over an entire mission especially when that mission exceeds a predefined distance, such two kilometers. The systems, computer-readable media, and methods described herein advantageously determine a speed profile over a relatively long horizon using the various processes described herein such that an accurate or relatively accurate speed profile can be generated. In an example embodiment, the systems, computer-readable media, and methods described herein may cause the controller to determine a speed profile using a “low-level” optimization control process. As described in greater detail herein, the low-level optimization is advantageously a relatively simple computational task such that the low-level optimization can be performed by the controller on-board the vehicle. In another example embodiment, the systems, computer-readable media, and methods described herein may cause one of a remote computing system or an edge computing system to use and implement a “high-level” optimization to determine a reference speed. The reference speed is then used by the controller to improve the accuracy of the low-level optimization. In either instance, a vehicle speed profile for a relatively longer horizon than typical systems is generated and utilized.

[0040] Additionally, the systems, computer-readable media, and methods described herein advantageously iteratively determine the speed profile for a predetermined horizon. In this way, a new speed profile is determined before the end of a current horizon thereby enabling a speed profile for a relatively longer horizon (e.g., an entire mission) to be generated. For example, a first speed profile is determined for a first horizon. Before the vehicle reaches the end of the first horizon, a second speed profile is determined for a second horizon. In some arrangements, the second horizon may overlap with the first horizon. In other arrangements, the second horizon may be after the first horizon (e.g., immediately after). Advantageously, the iterative process of determining the speed profiles before the end of a predetermined horizon results in a better speed profile that improves the efficiency of the powertrain of the vehicle.[0041 J In an example scenario, a 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. The operations includereceiving lookahead information that includes information regarding a mission of the system, and information regarding a first segment of the mission. The operations further include receiving feedback information via one or more sensors. The operations also include generating, based on the information regarding the first segment of the system and the feedback information, a first horizon speed profile comprising a recommended speed 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 mission and the first horizon speed profile corresponds to information relating to a duration that is less than the duration of the entire mission. The operations also include providing the first horizon speed profile to the automated driving system and receiving additional lookahead information. The operations also include receiving additional operational data that provides feedback regarding the operating parameters of the vehicle and / or parameters of the road or route ahead of the vehicle. The operations also include iteratively determining a new first horizon speed profile based on the additional lookahead information and the additional feedback information before the system reaches the end of the first segment of the mission. The operations also include providing the new first horizon speed profile to the automated driving system. In some embodiments, the first segment of the mission is a portion or a path of the mission that is at or below a predetermined distance away from the system. In some embodiments, operations of the system further include generating, based on the mission of the system and the feedback information, a mission speed profile comprising a recommended speed for the system for the duration of the mission, and providing the mission speed profile to the automated driving system. In some embodiments, operations of the system further include receiving, from a remote computing system, a reference speed. The first horizon speed profile may be further based on the reference speed.

[0042] In some embodiments, the vehicle includes an at least partially electrified powertrain including an electric machine (e.g., a motor and / or motor generator) and a battery. The lookahead information may, therefore, include a location of a battery charging station(s) relative to a location of the system, a charging capacity of the vehicle, a charging cost (expressed, for example, as U.S. dollars per kW), and a queuing time for the vehicle if a charging station is not readily available. Further, the operational data comprises a state of charge of the battery and / or a battery temperature. In various embodiments, the vehicle maybe or include a battery electric vehicle with extender (BEVx) and / or a plug in hybrid electric vehicle (HEV). BEVx may be a plug in hybrid architecture. In various embodiments, the BEVx may include a battery smaller than a battery of an electric vehicle. The engine may be used to charge the battery when the battery is depleted. In various embodiments, the battery may be able to drive the vehicle for a predetermined range. For example, the battery may be able to drive the vehicle for a between 60 and 70 miles. Lookahead data may be, for example, data from a fleet management for a truck work schedule. The use of a battery may be optimized, similar to the speed profile optimization.

[0043] In various embodiments, the vehicle includes a fuel cell hybrid. The speed of the vehicle may be optimized. Additionally or alternatively, a power split for the fuel cell may be determined. Transient operation may be harmful to a fuel cell and, in various embodiments, may reduce a lifespan of the fuel cell. Similar to the speed profile described in the present application, an energy optimization profile may be determined to optimize the energy efficiency and / or life of a fuel cell.

[0044] Referring now to FIG. 1, a schematic view of a block diagram of a vehicle 100 is shown, according to an example embodiment. The vehicle 100 includes a powertrain 102. As shown, the vehicle 100 includes an aftertreatment system 120 in exhaust gas receiving communication with at least part 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 that is coupled and, particularly, communicably coupled to each of the aforementioned components. The controller 140 is described in greater detail herein with respect to FIG. 2a.

[0045] In the configuration of FIG. 1, the vehicle 100 may be any type of on-road or off-road vehicle including, but not limited to, wheel-loaders, fork-lift trucks, line-haul trucks, midrange trucks (e.g., pick-up truck, etc.), sedans, coupes, tanks, and any other type of vehicle.

[0046] In some embodiments, the powertrain 102 includes an engine 103. The 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, the powertrain 102 may be or include a hybrid engine system having a combination of an internalcombustion engine and at least one electric motor 106 coupled to at least one battery 105 (or, in some embodiments, a completely electrified powertrain). In some embodiments, the hybrid engine system may be configured as a mild-hybrid powertrain, a parallel hybrid powertrain, a series hybrid powertrain, or a series-parallel powertrain. In yet other embodiments, the powertrain 102 may be or include a battery-electric powertrain having at least one electric motor 106 coupled to at least one battery 105. The powertrain 102 may additionally include a transmission 104 that is structured to accommodate any of the arrangements of the powertrain described above. In various embodiments, for example plug-in BEVx and BEV, charging decisions can be optimized and can be recommended to an automated driving system for motion planning and control.

[0047] In some embodiments, the vehicle 100 includes an automated driving system 150. Depending on the configuration of the vehicle 100 and automated driving system 150, the automated driving system 150 may control various functionalities of the vehicle 100. In this way and consistent with SAE J3016 (see SAE J3016, dated June 2018, and titled Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles, which is incorporated herein by reference in its entirety) there may be five levels of automation. Depending on the configuration and the automated driving system 150, the automated driving system 150 may enable up to a level 5 of automation, which enables full automated driving. Level 0 provides for no driving automation, Level 1 provides for some driver assistance, Level 2 provides for partial driving automation, Level 3 provides for conditional driving automation, Level 4 provides for high driving automation, and Level 5 (the highest level) provides for full driving automation. The systems, methods, computer- readable media, and apparatuses described herein are applicable with Level 1 through Level 5 and, preferably, with Level 3 through Level 5 automation. Thus, the automated driving system 150 may enable at least a Level 1, and preferably, a minimum of a Level 3 of automation of the vehicle 100.

[0048] Thus, and depending on the level of automation, the automated driving system 150 may, for example, control gear shifting of a transmission automatically without input from a human driver, apply a braking system, engage an auxiliary brake, etc. The automated driving system 150 can include one or more automated vehicular systems within an otherwisemanually operated vehicle, such as an automatically shifted transmission. In another configuration, the automated driving system 150 refers to the components and systems to provide a Level 1 and up (e.g., Level 1, 2, 3, 4 and / or 5) automated driving system 150 comprised of many individual vehicular systems that are automatically controlled. As mentioned above and in one embodiment, the automated driving system 150 includes an automatically controlled transmission 104 that includes a shifting or gear selection scheme that automatically selects and shifts to gears within the transmission 104 automatically without human intervention. In another example embodiment when the transmission 104 is structured as a manual transmission (i.e., where the operator controls the transmission shifting), the controller 140 can prompt a human operator to enact a transmission setting change via visual, audible, and / or tactile prompts. For example, a user interface on the dashboard may receive a signal from the controller 140 to prompt a driver to double downshift the manual transmission. For example, the interface may be an operator input / output device that may include, but is not limited to, an interactive display, a touchscreen device, one or more buttons and switches, voice command receivers, etc.

[0049] In some embodiments, the controller 140 includes a telematics device 144. In other embodiments, the controller 140 may be coupled to a telematics unit or device 144, in some embodiments. The telematics unit 144 may be structured as any type of telematics unit. Accordingly, the telematics unit 144 may include, but is not limited to, a location positioning system (e.g., global positioning system) to track the location of the vehicle 100 (e.g., latitude and longitude data, elevation 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 communications interface for facilitating the exchange of data between the telematics unit 144 and one or more remote devices (e.g., a provider / manufacturer of the telematics device, etc.). The telematics unit 144, can communicate with remote servers, other vehicles, and other systems remote to the vehicle (i.e., V-2-X, where “X” can be another vehicle, a remote server, etc.). In this regard, the communications interface may be configured as any type of mobile communications interface or protocol including, but not limited to, Wi-Fi, WiMax, Internet, Radio, Bluetooth, ZigBee, satellite, radio, Cellular, GSM, GPRS, LTE, and the like. The telematics unit 144 may also include a communications interface for communicating with the controller 140 of the vehicle 100. The communication interface for communicatingwith the controller 140 may include any type and number of wired and wireless protocols (e.g., any standard under IEEE 802, etc.). For example, a wired connection may include a serial cable, a fiber optic cable, an SAE J1939 bus, a CAT5 cable, or any other form of wired connection. In comparison, a wireless connection may include the Internet, Wi-Fi, Bluetooth, ZigBee, cellular, radio, etc. In one embodiment, a controller area network (CAN) bus including any number of wired and wireless connections provides the exchange of signals, information, and / or data between the controller 140 and the telematics unit 144. In other embodiments, a local area network (LAN), a wide area network (WAN), or an external computer (for example, through the Internet using an Internet Service Provider) may provide, facilitate, and support communication between the telematics unit 144 and the controller 140. In still another embodiment, the communication between the telematics unit 144 and the controller 140 is via the unified diagnostic services (UDS) protocol. All such variations are intended to fall within the spirit and scope of the present disclosure.

[0050] In some embodiments, the vehicle 100 also includes an edge device 160 that is communicatively coupled to the controller 140. The edge device 160 is described in greater detail herein with respect to FIG. 2b. The edge device 160 may be similar to or, in some embodiments, is the telematics unit 144.

[0051] The aftertreatment system 120 is in exhaust gas receiving communication with the powertrain 102. The aftertreatment system 120 system includes components used to reduce exhaust emissions, such as a selective catalytic reduction (SCR) catalyst, an oxidation catalyst (DOC), a particulate filter (DPF), an exhaust fluid doser with a supply of exhaust fluid, a plurality of sensors for monitoring the aftertreatment system (e.g., a nitrogen oxide (NOx) sensor, temperature sensors, etc.), and / or still 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 complete battery-electric powertrain.

[0052] As shown, the vehicle 100 may include one or more sensors 125. In some embodiments, the vehicle 100 may include any number, placement, or type of sensors 125. The sensors 125 may include an inclinometer or other road grade sensor that is configured to acquire data regarding a current road grade proximate the vehicle 100. The sensors 125 may also include a lookahead system, a GPS unit or other location determination system, oranother system configured to acquire data regarding upcoming route or mission conditions including, but not limited to, road grades and / or other road conditions or characteristics, such as a speed limit, weather conditions proximate the road (e.g., indications of precipitation, ambient temperature, ambient humidity, etc.). Thus, the information may be static in nature (e.g., a road grade that does not change with time or substantially does not change with time) and / or dynamic nature (e.g., a feature that does change with time, such as a weather condition). The sensors 125 may include vehicle speed sensors configured to determine a current speed of the vehicle 100. The sensors 125 may include fuel gauge sensors and / or battery state of charge (SOC) sensors. Feedback from one or more of a fuel gauge sensor and / or battery SOC sensor may influence a route plan for the vehicle 100, speed targets for the vehicle 100, and / or other aspects of the mission or operation of the vehicle 100. The sensors 125 may include other sensors configured to acquire other data regarding the operation of the vehicle 100 (e.g., operational data of the vehicle 100). Additional sensors may be also included with the vehicle 100. The sensors may include engine-related sensors (e.g., torque sensors, speed sensors, pressure sensors, flowrate sensors, temperature sensors, etc.). The sensors may further include sensors associated with other components of the vehicle, such as the aftertreatment system 120.

[0053] The sensors 125 may be real or virtual (i.e., a non-physical sensor that is structured as program logic in the controller 140 that makes various estimations or determinations). For example, an engine speed sensor may be a real or virtual sensor arranged to measure or otherwise acquire data, values, or information indicative of a speed of an engine of the powertrain 102 (typically expressed in revolutions-per-minute). The sensor is coupled to the engine 103 (when structured as a real sensor) and is structured to send a signal to the controller 140 indicative of the speed of an engine 103 of the powertrain 102. When structured as a virtual sensor, at least one input may be used by the controller 140 in an algorithm, model, lookup table, etc. to determine or estimate a parameter of the engine 103 (e.g., power output, etc.). Any of the sensors 125 described herein may be real or virtual.

[0054] The controller 140 is coupled, and particularly communicably coupled, to the sensors 125. Accordingly, the controller 140 is structured to receive data from one more of the sensors 125 and provide instruct! ons / informati on to the one or more sensors 125. Thereceived data may be used by the controller 140 to control one more components in the vehicle 100 and / or for monitoring and thermal management purposes.(0055] The controller 140 is structured to control, at least partly, the operation of the vehicle 100 and associated sub-systems, such as the powertrain 102. Communication between and among the components may be via any number of wired or wireless connections. For example, a wired connection may include a serial cable, a fiber optic cable, a CAT5 cable, or any other form of wired connection. In comparison, a wireless connection may include the Internet, Wi-Fi, cellular, radio, etc. In one embodiment, a controller 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 communicably coupled to the systems and components of FIG. 1, the controller 140 is structured to receive data from one or more of the components shown in FIG. 1. The structure and function of the controller 140 is further described in regard to FIG. 2a.(0056] The automated driving system 150 is shown coupled to the controller 140. In one embodiment, the automated driving system 150 may include one or more separate and 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 definition as described herein with respect to the 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 enabling automated operation of the vehicle 100.(0057] In another embodiment, certain functional features of the automated driving system 150 are embodied as a circuit within the controller 140. Thus, the functions attributed to the automated driving system 150 herein below may be also, in another embodiment, performed by the controller 140. The automated driving system 150 is structured to control, at least partly, operation of the engine 103 and / or transmission 104 to operate the vehicle 100. The automated driving system 150 generates the requested vehicle speed and controls shift points and gear shifts of a transmission 104. In some embodiments, such as a fully automated vehicle 100 (e.g., a Level 5 automation), the requested vehicle speed is based on a torquerequest generated by the automated driving system 150. The torque request may be provided to the engine 103 and simultaneously to the speed optimizer circuit 216. Accordingly, the torque request may be translated to a vehicle speed and be 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 a cruise control speed input feature. In another embodiment, the requested vehicle speed is determined based on a combination of accelerator and pedal positions. In another embodiment, the requested vehicle speed is determined based at least in part on preferences that can be set by a user, or predetermined within the system. For example, the requested vehicle speed can be determined based on the posted speed limit of the current roadway. In one example, the requested vehicle speed is a predefined amount (e.g., three miles an hour) faster or slower than the posted speed limit (as received by the telematics unit 144 for example). In another embodiment, the requested vehicle speed is input by the user via a user interface such as a touch screen, a keyboard, a voice activated or voice recognition system, etc. Thus, the requested vehicle speed can be manually input and / or from the autonomous driving system.

[0058] As alluded to above, the automated driving system 150 can control one or more automated vehicular systems, such as within an otherwise manually operated vehicle (e.g., an automatically shifted transmission or a full autonomous vehicle). In some embodiments, the automated driving system 150 controls components and systems to provide a fully automated vehicle driving system comprised of many individual vehicular systems that are automatically controlled. In some embodiments, the automated driving system 150 controls an automatically controlled transmission 104 that includes a shifting or gear selection scheme that automatically selects and shifts to gears within the transmission 104 automatically without human intervention. In another example embodiment when the transmission is structured as a manual transmission (i.e., where the operator controls the transmission shifting), the automated driving system 150 can prompt a human operator to enact a change via visual, audible, and / or tactile prompts. For example, a user interface on the dashboard may receive a signal from the controller 140 to prompt a driver to downshift (or, in some embodiments, to provide more particularity such as perform a double downshift) a manual transmission. For example, the interface may be an operator input / output device that mayinclude, but is not limited to, an interactive display, a touchscreen device, one or more buttons and switches, voice command receivers, etc.

[0059] As the components of FIG. 1 are shown to be embodied in the vehicle 100, the controller 140 may be structured as one or more vehicle electronic control units (ECUs). The controller 140 may be separate from or included with at least one of a transmission control unit, an exhaust aftertreatment control unit, a powertrain control module, an engine control unit, or engine control module, etc. Thus, the controller 140 may comprise one or more microcontrollers.

[0060] Now referring to FIG. 2a, a schematic diagram of the controller 140 of the vehicle 100 of FIG. 1 is shown, according to an example embodiment. As shown in FIG. 2a, 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 a 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 the at least one memory 214. In various embodiments, the optimization solver may be a gradient optimizer, genetic algorithm, model predictive control, or other optimization solver. The term model predictive control is used for exemplary purposes in reference to the figures. It should be understood that the model predictive control 218 may be any type of optimization solver. The controller 140 also includes enable input 222, trigger logic 223, and lookahead data 224. The enable input 222 communicates with the trigger logic 223, and the trigger logic 223 is coupled to the speed optimizer circuit 216. The lookahead data 224 can be communicated to the speed optimizer circuit 216. The controller 140 includes a communications interface 220. The controller 140 is structured to generate a recommend optimized speed profile for powertrain 102 efficiency (e.g., via the speed optimizer circuit 216) and communicate the optimized speed profile to the automated driving system 150. The controller 140 is further structured to determine an optimized energy profile for powertrain 102 efficiency when the powertrain 102 is configured as various architectures, such as a hybrid powertrain.

[0061] In one configuration, the speed optimizer circuit 216 and / or the energy optimizer circuit 219 is embodied as machine or computer readable media that stores instructions and that is executable by a processor, such as processor 212. As described herein and amongst other uses, the machine-readable media facilitates performance of certain operations to enable reception and transmission of data. For example, the machine-readable media may provide an instruction (e.g., command, etc.) to, e.g., acquire data. In this regard, the machine-readable media may include programmable logic that defines the frequency of acquisition of the data or transmission of the data (i.e., trigger logic 198). The computer readable media may include code, which may be written in any programming language including, but not limited to, Java or the like and any conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program code may be executed on one processor or multiple remote processors. In the latter scenario, the remote processors may be connected to each other through any type of network (e.g., CAN bus, etc.).

[0062] In another configuration, the speed optimizer circuit 216 and / or the energy optimizer circuit 219 is embodied as a hardware unit, such as electronic control units. As such, the speed optimizer circuit 216 and / or the energy optimizer circuit 219 may be embodied as one or more circuitry components including, but not limited to, processing circuitry, network interfaces, peripheral devices, input devices, output devices, sensors, etc. In some embodiments, the speed optimizer circuit 216 and / or the energy optimizer circuit 219 may take the form of one or more analog circuits, electronic circuits (e.g., integrated circuits (IC), discrete circuits, system on a chip (SOCs) circuits, microcontrollers, etc.), telecommunication circuits, hybrid circuits, and any other type of “circuit.” In this regard, the speed optimizer circuit 216 may include any type of component for accomplishing or facilitating achievement of the operations described herein. For example, a circuit as described herein may include one or more transistors, logic gates (e.g., NAND, AND, NOR, OR, XOR, NOT, XNOR, etc.), resistors, multiplexers, registers, capacitors, inductors, diodes, wiring, and so on). The speed optimizer circuit 216 and / or the energy optimizer circuit 219 may also include programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices or the like. The speed optimizer circuit 216 and / or the energy optimizer circuit 219 may include one or more memory devices for storing instructions thatare executable by the processor(s) of the speed optimizer circuit 216 and / or the energy optimizer circuit 219. The one or more memory devices and processor(s) may have the same definition as provided below with respect to the memory device 214 and processor 212. In some hardware unit configurations, the speed optimizer circuit 216 and / or the energy optimizer circuit 219 may be geographically dispersed throughout separate locations in the vehicle relative to other components of the controller 140. Alternatively, and as shown, speed optimizer circuit 216 and / or the energy optimizer circuit 219 may be embodied in or within a single unit / housing, which is shown as the controller 140.

[0063] In the example shown, the controller 140 includes the at least one processing circuit 210 having the at least one processor 212 and the at least one memory device 214. The at least one processing circuit 210 may be structured or configured to execute or implement the instructions, commands, and / or control processes described herein with respect to the speed optimizer circuit 216 and / or the energy optimizer circuit 219. The depicted configuration represents the speed optimizer circuit 216 and / or the energy optimizer circuit 219 as instructions stored in non-transitory machine or computer-readable media. However, as mentioned above, this illustration is not meant to be limiting as the present disclosure contemplates other embodiments where the speed optimizer circuit 216 and / or the energy optimizer circuit 219, or at least one circuit of the speed optimizer circuit 216 and / or the energy optimizer circuit 219, is configured as a hardware unit. All such combinations and variations are intended to fall within the scope of the present disclosure.

[0064] The at least one processor 212 may be one or more of a single- or 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, the at least one processor 212 may be a microprocessor, a state machine, or other suitable processor. The at least one processor 212 also may be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. In some embodiments, the one or more processors may be shared by multiple circuits (e.g., the speed optimizer circuit 216may comprise or otherwise share the same processor which, in some example embodiments, may execute instructions stored, or otherwise accessed, via different areas of memory). Alternatively or additionally, the one or more processors may be structured to perform or otherwise execute certain operations independent of one or more co-processors. In other example embodiments, two or more processors may be coupled via a bus to enable independent, parallel, pipelined, or multi-threaded instruction execution. All such variations are intended to fall within the scope of the present disclosure.

[0065] The at least one memory device 214 (e.g., memory, memory unit, storage device) may include one or more devices (e.g., RAM, ROM, Flash memory, hard disk storage) for storing data and / or computer code for completing or facilitating the various processes, layers and modules described in the present disclosure. The at least one memory device 214 may be communicably connected to the at least one processor 212 to provide computer code or instructions to the at least one processor 212 for executing at least some of the processes described herein. Moreover, the at least one memory device 214 may be or include tangible, non-transient volatile memory or non-volatile memory. Accordingly, the 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 a mission that is less than the entire mission. For example, a short horizon may be a segment or distance of the mission of the vehicle 100 that is less than the entire mission. In some embodiments, the controller 140 may determine multiple “short” horizon speed profiles (e.g., for each short horizon of a mission). For example, the controller 140 may determine a first horizon speed profile for a first horizon of a mission, a second horizon speed profile for a second horizon of a mission, and so on. A “long” horizon corresponds to a mission of the vehicle 100. The long horizon may be a total distance or total time of the mission. A “short” horizon (e.g., the first horizon) may be a predetermined distance ahead of the vehicle 100 (e.g., 1 kilometer, 2 kilometers, 5 kilometers, etc.) that is less than the entire mission. In contrast, a “long” horizon may be a total distance of a mission of the vehicle 100. Thus, relative to a mission of a vehicle, a short horizon may be a segment (e.g., a portion) of the total distance of the mission. The shorthorizon distance can be calibrated and / or determined by the speed optimizer circuit 216 and / or the energy optimizer circuit 219. For example, the speed optimizer circuit 216 and / or the energy optimizer circuit 219 can be calibrated to have a lookahead horizon of a predefined distance, such as two kilometers. In some embodiments, a user may define the short horizon distance.

[0067] The controller 140 can be configured to receive lookahead data 224. Lookahead data 224 may include data relating to road conditions ahead of the vehicle. Lookahead data 224 can include information regarding road conditions or driving conditions a predetermined distance ahead of the vehicle 100. For example, lookahead information 224 can include a road grade, a road curvature, a speed limit, or any other data relating to a road or route of the vehicle 100 (e.g., weather conditions, etc.). In some embodiments, lookahead information 224 can include information relating to events along the road. For example, lookahead information 224 may include information relating to road construction activities, highway tolls, and or vehicle weigh stations. Lookahead information 224 may also include information on vehicle regulations. For example, lookahead information 224 may include local and / or state emissions regulations, zero-emission zones, no braking zones, etc. In some embodiments, the lookahead information 224 corresponds to one or more short horizons of a mission. For example, a first set of lookahead information may correspond to a first horizon of a mission. Lookahead data 224 may be received by and / or communicated to the controller 140 from sensors 125. In various embodiments, speed optimizer circuit 216 can utilize lookahead data 224 to determine a speed profile. In some embodiments, the lookahead data 224 includes information regarding at least an upcoming short horizon. For example, the lookahead data 224 may include information regarding a first horizon that is ahead of the vehicle 100. In some embodiments, the lookahead data 224 may optionally include additional information regarding a distance beyond the first horizon (e.g., up to and including the long horizon or the entire mission of the vehicle 100).

[0068] In various embodiments, particularly when the vehicle 100 is structured as a hybrid vehicle or a full electric vehicle, the lookahead information 224 may alternatively or additionally include lookahead information 224 used by the energy optimizer circuit 219 to identify an optimal charging opportunity or optimal energy profile. For example, thelookahead information 224 may include upcoming charging stations. In some embodiments, one or more pieces of lookahead information 224 used by the energy optimizer circuit 219 may include the same or similar information as the lookahead information used by the speed optimizer circuit 216. For example, the lookahead information may include an upcoming road grade (and / or, upcoming weather information, road curvature information, terrain information, fueling station information, traffic information, etc.). The road grade information may be used by both the speed optimizer circuit 216 and the energy optimizer circuit 219 to determine an output speed profile and an output energy profile, respectively.

[0069] In some embodiments, the controller 140 can receive lookahead information 224 from the automated driving system 150 or the telematics device 144. Additional inputs received by controller 140 can include, but are not limited to, a route a driver intends to take (e.g., turn- by-tum directions, etc.), a desired departure time at an origin location, desired arrival time(s) at one or more destinations, a number of hours a driver has driven the vehicle 100, weather conditions proximate the vehicle 100 and / or proximate the route (e.g., indications of precipitation, wind speeds, temperature, humidity, etc.), traffic patterns and / or conditions, and / or a target speed (e.g., a target average speed, a speed limit, etc.). These inputs may be communicated to the controller 140 and / or the telematics unit 144. The inputs may be communicated from a third-party computing system, such as a weather monitoring computing system or a GPS.10070 ] After the speed optimizer circuit 216 of controller 140 receives lookahead data, a model can be generated via the model update logic 217. The model update logic 217 may be instructions stored in the speed optimizer circuit 216. In various embodiments, the model update logic 217 can utilize a deterministic solver to perform a real-time optimization of the speed of vehicle 100 based on the received lookahead information. In various embodiments, the model update logic 217 can generate a model including one or more at least one algorithm or formula, and / or a model (e.g., a regression model, a machine learning model such as artificial intelligence including neural networks, etc.). In some embodiments, the model update logic 217 can generate a lookup table in addition to or instead of a model.

[0071] The controller 140 can receive feedback data communicated from various sources, including the automated driving system 150, through, for example, the communicationsinterface 220. The feedback data is indicative of feedback from operation of the system and / or changes in conditions that may be experienced by the vehicle 100. For example, the controller 140 can receive feedback data from the automated driving system 150 that indicates that a speed limit on a road has increased. In various embodiments, sensors 125 acquire data and communicate the acquired data to the controller 140. In some embodiments, the feedback data can be communicated to the controller 140 at a frequency synchronized to a frequency at which the automated driving system 150 is operating. For example, if the automated driving system 150 updates when the vehicle has traveled a predefined distance (e.g., every time the vehicle travels one kilometer), the 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 a regular interval. The feedback data may provide indications of updated data from sensors 125, a change in vehicle parameters (e.g., vehicle speed, vehicle gear, etc.), a change in destination, a change in route, traffic conditions, and / or weather conditions. In any of the above-described 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 speed profile. As described herein, the controller 140 may iteratively determine the speed profile. For example, the controller 140 may generate a second horizon speed profile before the end of the first horizon. In some embodiments, the second horizon speed profile overlaps a portion of the mission with first horizon speed profile. That is, the first short horizon speed profile corresponds to a first segment of the mission, and the second short horizon speed profile corresponds to a second segment of the mission, where the second segment of the mission at least partially overlaps with the first segment.

[0072] The model generated by the model update logic 217 can be used to generate a speed profile. The speed profile can be a recommendation of a speed of vehicle 100 that optimizes efficiency of powertrain 102. In various embodiments, the generated speed profile may determine an optimal speed at which a fuel consumption and / or an energy usage of a vehicle is minimized. The generated speed profile may also account for and respect a desired total trip time for the vehicle. The speed profile can be based on the lookahead data received by the controller 140 from the automated driving system 150, the feedback data received by the controller 140 described above, and / or any combination thereof. The speed profile can becommunicated to the automated driving system 150 via, for example, communications interface 220. The automated driving system 150 can utilize the speed profile to operate the powertrain 102 efficiently. In various embodiments, the automated driving system 150 may use the speed profile to deliver a notification to the vehicle 100 that recommends operating at a speed determined by the speed profile. In other embodiments, the automated driving system 150 may use the speed profile to operate one or more of the components of vehicle 100, such as the powertrain 102, at the recommended speed. The speed profile may be generated for a predetermined lookahead distance (e.g., the first horizon). In various embodiments, the speed profile is generated for the first horizon even if the lookahead information includes information regarding a distance beyond the first horizon. Thus, in various embodiments, the distance for which the speed profile is generated can be the same or different (e.g., less than) than the distance for which lookahead data is obtained.

[0073] The trigger logic 223 may be a circuit implemented within controller 140. In other embodiments and in the example shown, the trigger logic 223 may be a set of instructions stored by the speed optimizer circuit 216 and executed by the speed optimizer circuit 216. Trigger logic 223 is configured such that it initiates the updating of the model and / or speed profile by the speed optimizer circuit 216. The trigger logic 223 may be based on a predetermined lookahead distance. For example, the trigger logic 223 will initiate a model update every one kilometer, so the newly generated speed profile by the speed optimizer circuit 216 will incorporate feedback data and / or additional data (e.g., from sensors 125) received during the last kilometer traveled.

[0074] The enable input 222 may be a circuit or instructions stored by a circuit (e.g., speed optimizer circuit). The enable input logic 222 is coupled to the trigger logic 223. The enable input 222 enables the trigger logic 223 to operate so that the speed optimizer circuit 216 can performs its operations described herein. The enable input logic 222 may enable the trigger logic 223 at the predefined lookahead distance. For example, if the lookahead distance is one kilometer, the enable input logic 222 will execute every one kilometer the vehicle 100 has traveled so that the trigger logic 223 can initiate a model update every one kilometer.

[0075] In some embodiments, the speed optimizer circuit 216 may also receive lookahead information regarding road conditions or driving conditions for the long horizon (referred toherein as “long horizon lookahead information”), including information regarding a mission of the vehicle (e.g., an origin location, one or more destination location, a desired departure time from the origin location, a desired arrival time at the one or more destination locations, a mission payload (e.g., weight or mass) and / or other information regarding a mission of the vehicle 100. In some embodiments, the speed optimizer circuit 216 may generate the first horizon speed profile based on the long horizon lookahead information. For example, the speed optimizer circuit 216 can also be used to optimize vehicle operation to arrive at a destination at a desired time, while optimizing features such as fuel efficiency. For example, if a GPS route has an estimated arrival time at a destination at 4:00 AM but the operator of the vehicle does not need to arrive until 8:00 AM, the speed optimizer circuit 216 can determine a speed profile that will both optimize efficiency and have the vehicle operator arrive to the destination at the desired time. The speed profile can be communicated to automated driving system 150.

[0076] The model update logic 217 of controller 140 can utilize updated lookahead information and / or the feedback data to generate an updated model and / or speed profile. In some embodiments, the controller 140 may dynamically update the speed profile based the model update logic 217 updating the model. In some embodiments, the controller 140 may generate the updated speed profile based on a triggering logic that is synchronized to the automated driving system 150 such that a new speed profile is generated before the end of a current horizon. In some embodiments, the controller 140 can communicate the speed profile (e.g., a current speed profile, a new speed profile, etc.) to the automated driving system 150 at a frequency synchronized to a frequency at which the automated driving system 150 is operating. For example, if the automated driving system 150 updates at a first predetermined frequency (e.g., every 1 kilometer), the controller 140 will communicate updated data, including an updated speed profile generated by model update logic 217, to automated driving system 150 at the first predetermined frequency. Advantageously, the first predetermined frequency is less than the short horizon. For example, the controller 140 may update the speed profile every 1 kilometer when the short horizon is 2 kilometers.

[0077] In some embodiments, recomputing or updating a speed profile may not be performed at a regular interval. Examples of conditions that may cause the controller 140 to recomputeor update a speed profile include but are not limited to: a change in destination, a change in route, traffic conditions, and / or weather conditions. The automated driving system 150 may determine a reference speed based on the speed profile received from controller 140 and deliver the reference speed to powertrain 102 to efficiently operate vehicle 100. A speed reference may be determined by the minimum speed limit and the minimum rate at which vehicle 100 is traveling.

[0078] In various embodiments, the controller 140 can communicate with the edge device 160 via communications interface 220. The edge device 160 may be a device located on or near the vehicle 100 or a user of the vehicle 100, as opposed to a cloud-based device (e.g., remote computing system 182). In various embodiments, the edge device 160 is or operates similarly to the telematics unit 144 (e.g., by including elements similar to those of telematics device 144). The edge device 160 can perform high level optimizations that are communicated to the controller 140. The edge device 160 may also include computational capabilities. The controller 140 can receive and or transmit data to and from the edge device 160. In some embodiments, the controller 140 receives a reference speed from edge device 160. The controller 140 can use the reference speed from the edge device 160 to determine a final speed profile that is communicated to the automated driving system 150.

[0079] In various embodiments, the controller 140 can receive and transmit data to and from telematics device 144 via communications interface 220. In various embodiments, controller 140 receives a reference speed from telematics device 144. The controller 140 can use the reference speed from the telematics device 144 to determine a final speed profile that is communicated to automated driving system 150.

[0088] In various embodiments, the controller 140 can determine an acceleration profile. An acceleration profile may be similar to the speed profile. For example, the acceleration profile may include a set of target acceleration values for a vehicle over a predefined time and / or distance horizon. In various embodiments, the acceleration profile may be determined using the same or similar components of the system as the speed profile. Lookahead data for an acceleration profile may be similar to lookahead data received to determine a speed profile. Lookahead data for an acceleration profile may also include, for example, road data affecting the acceleration of a vehicle. For example, lookahead data may include stop and go trafficpatterns, stop lights, stop signs, and / or other traffic signs or situations in which a vehicle would need to modify its acceleration. In various embodiments, the lookahead data for an acceleration profile may be received by the 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.[00811 In various embodiments, the controller 140 is structured to determine an acceleration profile based on one or more inputs (e.g., the lookahead data) and using one or more of a lookup table or a model (e.g., a regression model, a machine learning model such as artificial intelligence including neural networks, etc.). The acceleration profile may be determined in a similar way to the speed profile described herein. In an example embodiment, the acceleration profile may include lower acceleration values for certain lookahead conditions within the predefined horizon that correspond to one or more vehicle stop events during a predefined horizon. A vehicle stop event refers to a situation when the vehicle stops (e.g., during the predefined horizon. The lookahead conditions within the predefined horizon that correspond to one or more vehicle stop events may include stop and go traffic patterns, stop lights, stop signs, etc. In another example embodiment, the acceleration profile may include relatively greater acceleration values for certain lookahead conditions within the predefined horizon that do not correspond to vehicle stop events. The lookahead conditions within the predefined horizon that do not correspond to vehicle stop events may include light or no traffic, highway routes, indications of no stop signs or stop lights, etc.

[0082] In various embodiments, the controller 140 may further include the energy optimizer circuit 219. The energy optimizer circuit 219 may be configured to receive lookahead information to generate an optimized energy profile upcoming charging opportunities for the vehicle 100. The optimized energy profile may include identified upcoming charging opportunities that cause the vehicle 100 to charge the battery 105 in an energy optimized and / or energy efficient manner. The energy optimizer circuit 219 may be implemented in embodiments in which the vehicle 100 is a full electric vehicle and / or a hybrid vehicle. The optimized energy profile may be determined in a manner similar to the determination of the speed profile described above. For example, the energy optimizer circuit 219 may identifyone or more optimal charging opportunities for the vehicle 100 over a predefined time and / or distance horizon.(0083] An optimal charging opportunity may be one that reduces an amount of time the vehicle is stopped (e.g., at a charging station), minimizes a distance the vehicle diverts from a planned route, charges the battery using a minimal amount (e.g., below a threshold value) of energy, minimizes a charging cost, etc. A charging opportunity may be deemed optimal or less optimal based on current operating parameters, sensor data, and / or lookahead information. For example, a charging station located one kilometer away from the route may be deemed a more optimal charging opportunity than a charging station located two kilometers away from the route. Similarly, performing regenerative braking to charge the battery 105 while traveling on a downhill may be deemed a more optimal charging opportunity than performing regenerative braking while traveling on a flat road. The energy optimizer circuit 219 may use a model, algorithm, etc. to determine a more optimal charging opportunity. For example, a first charging station may be located closer to the route but cost more to charge the battery 105 relative to a second charging station, and the second charging station may be located further from the route but cost less to charge the battery 105. The energy optimizer circuit 219 may use a model (e.g., with the charging station information as inputs) to determine which charging station is a more optimal or energy efficient choice.

[0084] The energy optimizer circuit 219 may generate a first horizon energy profile. The energy optimizer circuit 219 may iteratively determine the energy profile. For example, the energy optimizer circuit 219 may generate a second horizon energy profile before the end of the first horizon. In some embodiments, the second horizon energy profile overlaps a portion of the mission with first horizon energy profile. That is, the first short horizon energy profile corresponds to a first segment of the mission, and the second short horizon energy profile corresponds to a second segment of the mission, where the second segment of the mission at least partially overlaps with the first segment.

[0085] The energy profile may indicate braking operations and / or charging operations to be performed by the vehicle 100 (e.g., the powertrain 102) during a horizon. The energy profile may be similar to a speed profile (e.g., in how the profile is generated, how the profile is updated, how the profile is utilized, etc.). For example, the energy optimizer circuit 219 mayinclude a model update logic and / or a model predictive control similar to the model update logic 217 and the model predictive control 218 that are used to generate and update the speed profile. As will be described herein, the energy profile may include one or more of a type of charging to perform, when to charge the vehicle, a power split between powering the vehicle using the engine 103 and the battery 105 / motor 106, a combination thereof, etc.10086] The generated energy profile(s) may be transmitted to the automated driving system 150. The automated driving system 150 may use the energy profile to perform charging and / or braking such that the powertrain 102 is operating more efficiently compared to traditional operational control. Further, in some embodiments, the automated driving system 150 may use the energy profile to deliver a notification to the vehicle 100 that recommends charging the vehicle in a particular manner (e.g., regenerative braking, plug-in charging, inductive charging, etc.). The trigger logic 223 and the enable input 222 may be configured to perform operations to implement or generate the energy profile in a manner similar to configuration to implement or generate the speed profile.

[0087] As stated herein, the vehicle 100 may be structured as a hybrid vehicle (e.g., the vehicle includes a hybrid powertrain 102). In various embodiments, the hybrid powertrain 102 may include an internal combustion engine, at least one electric machine (e.g., a motor 106 which may have a generator capability embodied therein), and at least one electric energy storage device (e.g., at least one battery 105). In various embodiments, the hybrid powertrain 102 may be embodied in one or more different types of architectures. For example, depending on how power is provided to the motor 106 of the hybrid powertrain 102, 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 in which the powertrain is embodied as a hybrid powertrain), a battery capacity of the battery 105 may be less than a battery capacity of a battery in a full battery electric vehicle. In some embodiments, the motor 106 and battery 105 in the hybrid powertrain may be configured to provide power the vehicle in a propulsion mode (alone or in combination with the internal combustion engine) and retain energy (e.g., by the battery 105) in a recuperation mode.

[0088] The energy optimizer circuit 219 may be configured to determine hybrid powertrain capabilities. Specifically, the energy optimizer circuit 219 may determine a capability of the vehicle 100 to perform regenerative braking, plug-in charging, and / or inductive charging. The energy optimizer circuit 219 may use data received and / or acquired from one or more sensors 125 to determine the capabilities. The received sensor information may include, for example, battery SOC information, battery SOH information, information regarding an overall state of health of the powertrain 102 and / or the vehicle 100, and / or functionality of the powertrain 102. For example, the functionality information may include regenerative braking capabilities, plug-in charging capabilities, and / or inductive charging capabilities.

[0089] In various embodiments, the energy optimizer circuit 219 may receive information from the sensors 125. The sensor information may be used to determine and / or optimize one or more charging capabilities of the vehicle 100. For example, the vehicle 100 may be structured as a hybrid vehicle or a fully electric vehicle. Sensor information may therefore include a state of charge (SOC) of the battery 105 (or other electronic storage device(s)) received from a sensor 125 configured as a SOC sensor positioned proximate the battery 105, a current state of health (SOH) of the battery 105 (or other electronic storage device(s)) received from a sensor 125 configured as a SOH sensor positioned proximate the battery 105, and / or an overall state of health of the powertrain 102 received from a sensor 125 configured as a SOH sensor and positioned proximate one or more components of the powertrain 102 (e.g., the engine 103, the motor 106, and / or the battery 105). Each of the SOC of the battery 105, the SOH of the battery 105, and / or the overall SOH of the powertrain 102 may be determined using various algorithms and / or models.

[0090] As used herein, a state of charge of the battery 105 may refer to a current level of stored charge or the current level of stored charge relative to a current storage capacity of the battery 105. As used herein, a state of health of the battery 105 may refer to a current storage capacity of the battery 105 relative to an original storage capacity of the battery 105. The SOH of the battery 105 may also refer to a capacity value, an internal resistance value, a voltage value, a cycle count, and / or a self-discharge rate of the battery 105. As used herein, an overall state of health of the powertrain 102 may refer to a measurement of a performance of the powertrain 102. The sensor information may be used to determine and / or optimize afunctionality of the hybrid powertrain system. For example, the sensor information may be used by the energy optimizer circuit 219 to determine braking capabilities (e.g., regenerative braking capabilities). The braking capabilities, and when to perform certain braking capabilities, may be configured as information in an energy profile, as described above.

[0091] Further, in some embodiments, information collected by the sensors 125 may be used to determine whether charging capabilities of a hybrid or electric vehicle 100 are operational. In various embodiments, the charging capabilities may be or include plug-in charging capabilities, such as whether the vehicle can be plugged in to a charging station to charge the battery 105, whether the vehicle 100 can stop at a particular charging station or facility along a route, etc.). The energy optimizer circuit 219 may use the sensor information to determine whether the vehicle 100 should stop at a charging station to charge the battery 105. In various other embodiments, the sensor 125 information may be used by the energy optimizer circuit 219 to determine whether one or more inductive charging capabilities of the vehicle 100 are operational. Inductive or wireless charging may utilize one or more electromagnetic pads that couple to one or more receives on the vehicle to enable the wireless transmission of energy from the pads to the vehicle. Accordingly, and for example, the sensor information may indicate an ability of the vehicle 100 to perform regenerative braking. The sensor information may also indicate whether the pads and / or the receiver has a fault that would cause the charging capabilities to be non-functional.100921 The sensor information may be used in combination with lookahead information 224 to determine how the battery 105 should be charged. In various embodiments, the sensor information may include lookahead information 224. For example, a sensor 125 may obtain information ahead of the vehicle 100. Further, in some embodiments, lookahead information 224 may be received from a remote source (e.g., a remote computing system). Information about the vehicle, including information determined using the sensors 125 and / or the lookahead information 224, such as charging capabilities of the vehicle 100, when to charge the battery 105, how to charge the battery 105, etc., may be included in an energy profile of the vehicle 100. For example, as described above, the energy profile may indicate, for a particular segment of a mission, how to charge the battery 105 (e.g., via plug-in orregenerative braking), when to charge the battery (e.g., at a particular charging station, on a particular road grade, etc.), a charging duration, etc.

[0093] The energy optimizer circuit 219 may also be configured to utilize lookahead information 224 to identify charging opportunities for the vehicle 100. The energy optimizer circuit 219 may use the lookahead information 224 as well as cost analysis information to identify the charging opportunities. For example, the energy optimizer circuit 219 may receive or determine information regarding an availability of vehicle charging opportunities, either by way of plug-in charging at a charging station or regenerative charging via regenerative braking ahead of a current position of the vehicle and while the vehicle 100 is in motion. For example, the energy optimizer circuit 219 may receive and / or determine information regarding one or more charging stations, such as a location of a charging station, a cost of charging at a charging station, a duration to completely or substantially charge the battery 105, a wait time to charge the vehicle at a particular charging station, etc. The energy optimizer circuit 219 may use the information to determine whether the vehicle should charge the battery 105 at a particular location, how full the battery 105 should be charged, etc.

[0094] The energy optimizer circuit 219 may utilize lookahead data 224 to determine one or more optimal charging locations for the vehicle 100. The charging location may be a location of a physical charging station along a route of the vehicle 100 (e.g., in an embodiment in which the vehicle is a plug-in electric vehicle). In some embodiments (e.g., when the vehicle 100 is a non-plug-in hybrid vehicle), the energy optimizer circuit 219 may use the lookahead information 224 to identify or include one of more charging opportunities within a predefined distance along a route or mission of the vehicle 100. Specifically, the energy optimizer circuit 219 may determine an ideal or optimal point during the mission to perform regenerative braking. For example, the lookahead information 224 may indicate that the vehicle 100 will be traveling on a downhill (i.e., a negative road grade) within a predetermined time or distance. As such, the energy optimizer circuit 219 may determine that the vehicle 100 should perform regenerative braking while the vehicle 100 is traveling on the downgrade. For example, the energy optimizer circuit 219 may receive lookahead information 224 indicating that the vehicle 100 is to travel on a downgrade in two kilometers. The energy optimizer circuit 219 may further receive lookahead information 224 indicating that the vehicle willtravel on the downgrade for five kilometers. As such, the energy optimizer circuit 219 may determine that the vehicle should perform regenerative braking (e.g., charging the battery using energy saved) while the vehicle is traveling on the downgrade to charge the vehicle. Upon such a determination, the energy optimizer circuit 219 may cause a notification to be displayed to a driver or operator of the vehicle 100. The 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 via regenerative braking.

[0095] Further, in some embodiments, and as stated above, the energy optimizer circuit 219 may determine one or more charging opportunities in which the vehicle should stop at a charging station. For example, the lookahead information 224 may indicate that a first charging station is upcoming on the path or route of the vehicle 100 in X (e.g., 10) kilometers. The energy optimizer circuit 219 may use the lookahead information 224 to determine whether the vehicle should stop at the charging station. For example, the energy optimizer circuit 219 may use the lookahead information 224 and / or data from one or more sensors 125, including upcoming road grade, upcoming route conditions, a current SOH of the battery 105, current SOC of the battery 105, etc. to determine that the vehicle should replenish battery life (e.g., recharge the battery 105) at the upcoming charging station to able to efficiently power the vehicle during the mission. In some embodiments, for example, the energy optimizer circuit 219 may determine that the vehicle 100 is not to stop at the charging station. The lookahead information 224 may indicate that a second charging station is upcoming in 20 kilometers, and the energy optimizer circuit 219 may determine that the vehicle should stop at the second charging station rather than the first charging station to charge the battery 105.

[0096] The energy optimizer circuit 219 may also be configured to identify an optimal energy management strategy for the vehicle 100. In a hybrid powertrain, energy to propel the vehicle 100 may come from the engine 103 and / or the battery 105. It may be desired to determine an optimal power split between the engine 103 and the battery 105. For example, the energy optimizer circuit 219 may be configured to determine a portion (e.g., percentage of power, amount of time, distance, etc.) that each of the battery 105 and the engine 103 are to provide power to the vehicle. For example, in some embodiments, the power split may beconfigured or determined so that energy efficiency is optimized. The vehicle may determine this based on energy consumption, (e.g., fuel consumption and / or battery power consumption) and various other operating conditions to propel the vehicle. For example, the power split may be determined or configured such that: (1) fuel consumption by the engine 103 is minimized, (2) the battery 105 provides propelling power to the motor 106 with minimal loss (e.g., energy loss below a predefined minimal threshold), absorbs a maximum or near-maximum amount of energy (a predefined maximum amount value), reduces or minimizes degradation, and / or (3) an energy and cost associated with charging is reduced and / or minimized (e.g., relative to a previous mission charging cost and / or another baseline metric, such as an average cost for a mission). In various embodiments, number (3) may be performed when the hybrid vehicle is configured as a plug-in electric vehicle. The determined power split may be configured in an energy profile as described above.

[0097] The power split strategy may be determined by the energy optimizer circuit 219 by utilizing the lookahead information 224 (e.g., as received by the telematics device 144). Energy management (e.g., power split determination as described above) may be performed in various ways and / or using various methods. For example, the energy optimizer circuit 219 may use lookahead information 224 to determine that an uphill or positive road grade is upcoming within a predefined distance. The energy optimizer circuit 219 may then divert more energy to or utilize more energy from the battery 105 rather than the engine 103 (e.g., the vehicle may divert energy from the engine to the battery, may continue using energy from the battery, may cease diversion of energy from the battery / motor to the engine, etc.).Further, in some embodiments, the energy optimizer circuit 219 uses the lookahead information 224 to determine that the vehicle is to travel on an uphill portion within a predefined distance. The energy optimizer circuit 219 may, upon determination that the battery 105 will be used to power the vehicle during the upcoming uphill, for the remainder of the predefined distance, cause the battery 105 to be charged via the engine 103.

[0098] Using the battery 105 to power the vehicle on the uphill and charging the battery 105 with the engine 103 prior to the uphill may allow the engine 103 to consume less fuel relative to using the engine 103 to power the vehicle during the uphill. This may also allow the engine 103 to operate (e.g., provide power to) the vehicle in an efficient operating region and / oroperating point. For example, as described above, energy efficiency of the vehicle may be improved (e.g., the vehicle may consume less energy) when the battery 105 powers the vehicle during an uphill segment of a route or mission. Therefore, operating the vehicle as described above may cause the engine 103 to consume reduced amounts fuel, thereby optimizing energy consumption by the vehicle 100.100991 Further, and in various embodiments, the energy optimizer circuit 219 may use the lookahead data 224 to determine that the vehicle will be operating on a downgrade within a predetermined distance. The energy optimizer circuit 219 may use the lookahead data 224 to control operation of the engine 103 and / or the batteries 105, for example, responsive to determining that the vehicle will be operating on a downgrade within a predetermined distance. Upon such a determination, the energy optimizer circuit 219 can turn off the engine 103 and utilize the downhill to recuperate potential energy gained while traveling on the downgrade. The recuperated energy may be used to charge the battery 105.

[0100] In various embodiments, one or more sensors 125 may be located on or proximate one or more of the engine 103, the motor 106, and / or the battery 105 of the vehicle 100. The sensors 125 may be configured to receive operating data and information about each of the engine 103, the battery 105, and / or the motor 106. The energy optimizer circuit 219 may use sensor information to determine one or more optimized operating profiles for each of the engine 103, the electric machine (e.g., motor 106), and / or the battery 105. For example, powering the vehicle using the motor 106 when the vehicle is operating at a lower speed (e.g., below a predetermined threshold value) may be more efficient than powering the vehicle using the engine 103 while the vehicle is operating at the lower speed. Further, when operating at a higher speed (e.g., above a predetermined threshold value), powering the vehicle using the engine 103 may be more efficient than powering the vehicle using the battery 105 / motor 106. Therefore, in various embodiments, to generate optimized operating profiles associated with each vehicle component, the energy optimizer circuit 219 may receive sensor data regarding each of the components of the vehicle and determine optimal operating points at which each of the components is used to operate the vehicle.

[0101] For example, the energy optimizer circuit 219 may receive data from the sensors 125 indicating that the vehicle is traveling at a certain speed (e.g., a vehicle and / or engine speedsensor). The energy optimizer circuit 219 may receive information indicating that one of the engine 103 or the motor 106 is powering the vehicle, and the energy optimizer circuit 219 may use the information (e.g., that the vehicle speed is above or below a certain threshold value) to determine whether or not the component powering the vehicle should be switched. For example, the vehicle 100 may be operating above a predefined speed threshold value, and the energy optimizer circuit 219 may determine, using the sensor data, that the motor 106 is powering the vehicle. The energy optimizer circuit 219 may control operation of the vehicle components, such that the engine 103 now powers the vehicle while the vehicle is operating above the predetermined vehicle speed threshold.[01021 Further, and in various embodiments, sensor data may indicate that the engine 103 is powering the vehicle while the vehicle is operating below a predetermined speed threshold. The energy optimizer circuit 219 may subsequently control the vehicle components to cause the motor 106 and batteries 105 to power the vehicle while the vehicle is operating below the predetermined speed threshold. In some embodiments, the energy optimizer circuit 219 may determine that the engine 103 is powering the vehicle when the vehicle is operating above a speed threshold, and / or the motor 106 is powering the vehicle when the vehicle is operating below a speed threshold. The energy optimizer circuit 219 may then continue to cause the engine 103 or the motor 106 to operate the vehicle because the vehicle is being powered in an efficient manner.10.103 [ In various embodiments, the threshold speed values for determining whether the engine 103 or the motor 106 (e.g., from power from a battery 105) should operate or power the vehicle may be different values. For example, the energy optimizer circuit 219 may cause the motor 106 to power the vehicle when the vehicle speed is below a certain first threshold value, and may cause the engine 103 to power the vehicle when the vehicle is operating above a second speed threshold value. The first speed threshold value may be lower than the second speed threshold value. In various embodiments, when the vehicle is operating at a speed between the first threshold value and the second threshold value, the energy optimizer circuit 219 may have more flexibility in determining which vehicle component should provide the vehicle with the energy. When operating between the two threshold values, additional information may be used to determine which component or components shouldprovide power to 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. may be used to determine whether the engine 103 or the battery 105 / motor 106 powers the vehicle for one or more vehicle operating speeds.10.1041 In various embodiments, lookahead information 224 used by the energy optimizer circuit 219 may include, for example, electricity price, (e.g., expressed as dollars per kilowatt hour), charging power, charging duration, and / or charging queue / availability (e.g., of a charging source). The lookahead information 224 may be useful when determining whether to and / or when to charge the vehicle 100, particularly when the vehicle is embodied as a plug-in hybrid vehicle. For example, energy optimizer circuit 219 may determine a location, a charging power rate, and / or charging duration for the vehicle (e.g., via regenerative braking or plug-in charging) while also minimizing an impact of charging on battery degradation and temperature. Sensor information may be used to acquire information regarding the SOC of the battery 105, the SOH of the battery 105, etc. The sensor information may be used by the energy optimizer circuit 219 to determine one or more hybrid powertrain capabilities. For example, the sensor information may be used (e.g., in addition to or alternative to lookahead information 224) to determine regenerative charging capabilities, plug-in charging capabilities, and / or indicative charging capabilities (e.g., when the vehicle should be charged, a charging duration, a charging location, etc.).|0105| FIG. 2b is a schematic diagram of an edge device according to the system of FIG. 1. The edge device 160 may be included on the vehicle 100. The edge device 160 includes at least one processing circuit 162 having at least one processor 164 and at least one memory device 166 that is similar to the processing circuit, processor, and memory of the controller 140. The edge device 160 also includes an enable input 175, a trigger logic 176, and lookahead data 177 that is similar to the enable input, trigger logic, and lookahead data of the controller 140. The edge device 160 also includes a speed optimizer circuit 168 having a model update logic 170 and an optimization solver, shown as model predictive control 172, that is similar to the speed optimizer circuit, model update logic, and optimization solver (e.g., model predictive control) of speed optimizer circuit 216. The edge device 160 also includes an energy optimizer circuit 169 that may be the same as or similar to the energyoptimizer circuit 219, except disposed in the edge device 160. In various embodiments, the optimization solver may be a gradient optimizer, genetic algorithm, model predictive control, or other optimization solver. The term model predictive control is used for exemplary purposes in reference to the figures. It should be understood that the model predictive control 172 may be any type of optimization solver. The enable input 175 communicates with the trigger logic 176, and the trigger logic 176 communicates with the speed optimizer circuit 168. Edge device 160 also includes a communications interface 174. Edge device 160 can communicate with controller 140. In various embodiments, the speed optimizer circuit 216 and / or other components of the controller 140 may be, alternatively or additionally, embodied in the edge device 160. The edge device 160 may communicate information (e.g., information from the speed optimizer circuit 216) to the controller 140 to mitigate processing demands on the controller 140. In various embodiments, edge device 160 may be perform a high-level optimization to determine a speed profile and / or a reference speed. Edge device 160 can generate, as an output, a vehicle speed profile. In various embodiments, the vehicle speed profile is communicated to controller 140 as a speed reference. Controller 140 can use the speed reference to generate a final output speed profile that is communicated to automated driving system 150. In various embodiments, the automated driving system 150 may use the speed profile to deliver a notification to the vehicle 100 that recommends operating at a speed determined by the speed profile. In other embodiments, the automated driving system 150 may use the speed profile to operate one or more of the components of vehicle 100, such as the powertrain 102, at the recommended speed. In various embodiments, edge device 160 may be disabled if a discretization step is lower or similar to a discretization step of controller 140 (i.e., as a trip nears its finish).10106] In various embodiments, the edge device 160 may alternatively or additionally determine an energy profile. The energy profile may be determined similarly to the speed profile or the energy profile as described with respect to FIG. 2a.]01 7] In various embodiments, the edge device 160 may alternatively or additionally determine an acceleration profile of a vehicle. The acceleration profile may be determined similarly to the speed profile.

[0108] FIG. 2c is a schematic diagram of a remote computing system 182 according to the system of FIG. 1. The remote computing system 182 is a computing system such as a remote server, a cloud computing system, and the like. Accordingly, as used herein, “remote computing system” and “cloud computing system” are interchangeably to mean a computing or data processing system that has terminals distant from the central processing from which users and / or other computing systems communicate with the central processing unit. In some embodiments, the remote computing system 182 is part of a larger computing system such as a multi-purpose server, or other multi-purpose computing system. In other embodiments, the remote computing system 182 is implemented on a third-party computing device operated by a third-party service provider (e.g., AWS, Azure, GCP, and / or other third-party computing services).

[0109] The remote computing system 182 is operated by a product and / or service provider. Accordingly, in some embodiments, the remote computing system 182 is a service and / or system / component provider computing system and in turn controlled by, managed by, or otherwise associated with service and / or system / component provider (e.g., an engine manufacturer, a vehicle manufacturer, an exhaust aftertreatment system manufacturer, etc.). In the example shown, the remote computing system 182 is operated and managed by an engine manufacturer (which may also manufacture and commercialize other goods and services). Accordingly, an employee or other operator associated with the service and / or system / component provider may operate the remote computing system 182.

[0110] The remote computing system 182 includes at least one processing circuit 184 having at least one processor 186 and at least one memory device 188 that is similar to the processing circuit, processor, and memory of the controller 140. Remote computing system 182 includes enable input 197, a trigger logic 198, and lookahead data 199 that is similar to the enable input, trigger logic, and lookahead data of the controller 140. Remote computing system 182 also includes a speed optimizer circuit 190 having a model update logic 192 and an optimization solver, shown as model predictive control 194, that is similar to the speed optimizer circuit, model update logic, and optimization solver (e.g., model predictive control) of speed optimizer circuit 216. The edge device 160 also includes an energy optimizer circuit 195 that is similar to the energy optimizer circuit 219. In various embodiments, theoptimization solver may be a gradient optimizer, genetic algorithm, model predictive control, or other optimization solver. The term model predictive control is used for exemplary purposes in reference to the figures. It should be understood that the model predictive control 194 may be any type of optimization solver. Enable input 197 communicates with trigger logic 198, and trigger logic 198 is coupled to the speed optimizer circuit 190. Remote computing system 182 also includes a communications interface 196. Remote computing system 182 can communicate with the controller 140. In various embodiments, remote computing system 182 is a cloud-based system and is not physically coupled to the vehicle 100 or any component thereof. In various embodiments, remote computing system 182 can perform a high-level optimization to determine a speed profile and / or a reference speed for the vehicle 100. Remote computing system 182 can generate, as an output, a vehicle speed profile. In various embodiments, the vehicle speed profile is communicated to the controller 140. The off-vehicle communications device can communicate the vehicle speed profile to the controller 140 as a speed reference. In various other embodiments, the remote computing system 182 can communicate the speed reference to the telematics device 144 of the controller 140. Controller 140 can use the speed reference to generate a final output speed profile that is communicated to automated driving system 150. In various embodiments, the automated driving system 150 may use the speed profile to deliver a notification to the vehicle 100 that recommends operating at a speed determined by the speed profile. In other embodiments, the automated driving system 150 may use the speed profile to operate one or more of the components of vehicle 100, such as the powertrain 102, at the recommended speed. In various embodiments, remote computing system 182 may be disabled if a discretization step is lower or similar to a discretization step of controller 140 (i.e., as a trip nears its finish).

[0111] In various embodiments, the remote computing system 182 may alternatively or additionally determine an energy profile. The energy profile may be determined similarly to the speed profile or the energy profile as described with respect to FIG. 2a.

[0112] In various embodiments, the remote computing system 182 may alternatively or additionally determine an acceleration profile of a vehicle. The acceleration profile may be determined similarly to the speed profile.

[0113] FIG. 3 is a flow diagram of a method 300 of determining a speed profile, according to an example embodiment. In particular, the controller 140 is structured to determine a speed profile based on one or more inputs and using one or more of a lookup table or a model (e.g., a regression model, a machine learning model such as artificial intelligence including neural networks, a dynamical model or dynamical equations obtained from data or derived from a foundational principle of physics, etc.). It should be understood that the order of the method 300 is shown as an example only. That is, one or more processes may be performed concurrently, partially concurrently, sequentially, and / or in a different order than as shown in FIG. 3. For example, process 308 may be performed before process 304 and / or concurrently with process 302. In various embodiments, the method 300 may be used to determine an acceleration profile.

[0114] At process 302, the controller 140 receives lookahead data. In various embodiments, the controller 140 may receive lookahead data from the automated driving system 150 or telematics device 144. As described above with respect to FIG. 2a, lookahead data may include a road grade, a road curvature, a speed limit, or any other data relating to a road the vehicle 100 is driving on. In various embodiments, the controller 140 can receive lookahead data for a predetermined distance ahead of the vehicle 100. For example, the controller 140 can receive lookahead data for a first distance (e.g., 1 kilometer) ahead indicating that there is an incline in the road and the road grade is increasing during the first distance. The distance ahead from which the vehicle 100 can receive lookahead information can vary.

[0115] At process 304, the controller 140 applies a model to the lookahead and / or input data. Speed optimizer circuit 216 of controller 140 can apply a model to fit the received lookahead data. The model may be an optimal speed profile based on the received lookahead 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 profile. In various embodiments, the model may be a low-level optimization to be performed locally by the controller 140. The model update logic 217 can generate a model including one or more a statistical model (e.g., a regression model, a machine learning model such as artificial intelligence including neural networks, etc.). In some embodiments, the model is based on feedback data (as describedherein with respect to process 308). In some embodiments, the model update logic 217 can generate a lookup table instead of and / or in addition to one or more models.

[0116] At process 306, the controller 140 outputs a speed profile. A speed profile may include approximate speeds and / or other recommended operating conditions for vehicle 100 to take. In various embodiments, the speed profile may be communicated from controller 140 to automated driving system 150. Automated driving system 150 can utilize the speed profile to efficiently operate powertrain 102. In various embodiments, a broadcasted speed profile can be tuned up to a 1 -kilometer distance from the vehicle 100.

[0117] At process 308, the controller 140 receives feedback data. Feedback data can include one or more of data from sensors 125, updated lookahead data, a road grade, a road curvature, a speed limit, an updated route, a desired arrival time at a destination, wind speeds, traffic patterns / conditions, or any other type of feedback data described with respect to FIG. 2a. Feedback data may be received by controller 140 as a result of recalculated or updated lookahead information.

[0118] At process 310, the controller 140 updates the model. The model may be an optimized speed profile to be implemented in the vehicle by, for example, the automated driving system 150. The model update logic 217 may update the model based on the feedback data received by controller 140 in process 308. The model may be updated by adjusting a speed profile based on updated road conditions. An updated output speed profile may be utilized by automated driving system 150 until the speed optimizer recomputes and a more recently updated speed profile is communicated to automated driving system 150.|0119] The method 300 may be iterative and / or repeat until a driver has arrived at a destination and / or is no longer operating vehicle 100.10120 [ FIG. 4 is a flow diagram of a method 400 of determining a reference speed, according to an example embodiment. The method 400 may be performed by the edge device 160 and / or the remote computing system 182. In particular, at least one of the edge device 160 and / or the remote computing system 182 is structured to determine a reference speed based on one or more inputs and using one or more of a lookup table or a 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 the method 400 is shown as an example only. That is, one or more processes may be performed concurrently, partially concurrently, sequentially, and / or in a different order than as shown in FIG. 4. For example, process 408 may be performed before process 404 and / or concurrently with process 402. In various embodiments, the method 400 may be used to determine an acceleration profile.

[0121] At process 402, the edge device 160 and / or the remote computing system 182 receives lookahead data. In various embodiments, the edge device 160 and / or the remote computing system 182 may receive lookahead data from the automated driving system 150 or telematics device 144. Lookahead data received at process 402 may be similar to lookahead data received at process 302 of FIG. 3. Lookahead data may include a road grade, a road curvature, a speed limit, or any other data relating to a road the vehicle 100 is driving on. In various embodiments, the controller 140 can receive lookahead data for a predetermined distance ahead of the vehicle 100. For example, controller 140 can receive lookahead data from 1 kilometer ahead indicating that there is an incline in the road and the road grade is thus increasing in 1 kilometer. The distance ahead from which the vehicle 100 can receive lookahead information can vary. In various embodiments, the lookahead data received at process 402 can be interpolated for use at process 404 described below.

[0122] At process 404, the edge device 160 and / or the remote computing system 182 applies 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. The term model predictive control is used for exemplary purposes in reference to the figures. It should be understood that the model predictive control 218 may be any type of optimization solver. In various embodiments, the model applied via the model predictive control may be a high-level optimization to determine a reference speed. In various embodiments, the model predictive control 218 may refer to equations describing a dynamical behavior and / or characteristics of the vehicle 100 and / or powertrain 102. In various embodiments, the model predictive control 218 is a two-state convex quadratic program (QP). In various embodiments, the model predictive control 218 is a three-state nonlinear program (NLP). The model predictive control 218 may utilize a deterministic solver to perform a real time optimization and generate an optimal solution for vehicle 100 to utilizefor powertrain 102 efficiency. In various embodiments, the optimization solver is different than the model applied at process 304 of the method 300. In various embodiments, the speed optimizer circuit 216 can also be used to optimize vehicle operation to arrive at a destination at a desired time, while optimizing features such as fuel efficiency.[01231 At process 406, the edge device 160 and / or the remote computing system 182 outputs a reference speed. The reference speed can be communicated to controller 140 to be used in the method 300 described in FIG. 3. The reference speed may be used to determine and output a final speed profile that is communicated to automated driving system 150. In various embodiments, the reference speed is static for a time period lasting until the model is updated at process 410. The reference speed may be used to allow a driver of vehicle 100 to arrive at a destination at a specified time while maintaining powertrain 102 efficiency. Additionally, in various embodiments, the features and methods described herein may be applied to electric vehicles. In various embodiments, an electric vehicle having the features described herein may also receive, in addition to or instead of a reference speed to speed profile, an optimized charging profile for determining optimal times and / or locations to charge the electric vehicle, while also considering powertrain efficiency. For example, if a driver of an electric vehicle wants to arrive at a destination at 8:00 AM, the controller 140, edge device 160, and / or remote computing system 182 can generate a reference speed and / or speed profile to optimize powertrain efficiency while arrive to the destination at the desired time. The controller 140, edge device 160, and / or remote computing system 182 could also determine optimal vehicle charging times and / or locations such that the vehicle would arrive at a charging station at a desired time.

[0124] At process 408, the edge device 160 and / or the remote computing system 182 receives feedback data. Feedback data can include one or more of data from sensors 125, updated lookahead data, a road grade, a road curvature, a speed limit, an updated route, a desired arrival time at a destination, wind speeds, traffic pattems / conditions, or any other type of feedback data. Feedback data may be received by controller 140 as a result of recalculated or updated lookahead information. Feedback data received at process 408 may be similar to feedback data received by controller 140 at process 308 in FIG. 3.[0125| At process 410, the edge device 160 and / or the remote computing system 182 can update a model. The updated model may be or be 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 an updated model. The model may be updated by adjusting a reference speed based on updated road conditions, vehicle conditions or feedback data. An updated output reference speed may be utilized by controller 140 until the model predictive control 218 recomputes and a more recently updated speed profile is communicated to controller 140 and / or automated driving system 150.

[0126] Referring now to FIG. 5, an architecture 500 for the speed profile is shown, according to an example embodiment. The architecture of FIG. 5 corresponds to the low-level optimization performed by the controller 140 and in the flow diagram of FIG. 3. Data 510 utilized by the controller 140 to calculate a speed profile includes a lookahead update, also known as lookahead data, and sensor measurements. A recompute distance 520 may be predetermined by the controller 140 or other component of the vehicle 100. The recompute distance 520 is the period of time the vehicle may travel before the speed profile is updated. For example, the recompute distance 520 may be one kilometer. A lookahead distance 540 is a distance of the mission that the speed optimizer circuit can create a speed profile for. In various embodiments, the automated driving system 150 may not implement the determined speed profile for the entirety of the lookahead distance. For example, if a speed profile is computed at distance Sk and the lookahead distance 540 spans from Sk to Sk+6, but the recompute distance 520 spans from Sk to Sk+4, as shown in FIG. 5, then the controller 140 will determine a new speed profile at distance Sk+4. Line segments 530 indicate the broadcasted speed profile implemented by the automated driving system 150. Each segment 530 illustrates the updated profile the automated driving system 150 implements when the speed profile is recomputed (e.g., at process 310 of FIG. 3). Line segments 535 indicate the speed profile for a remaining distance of the lookahead distance 540 that is not implemented by automated driving system 150 because the speed optimizer has been recomputed. As shown in FIG. 5, based on previous and / or current driving conditions, the computed speed profile for a given distance may be different depending on the distance and / or time at which the speed profile is generated. The computed speed profile may be broadcasted to the automated driving system 150 at a rate that is independent of speed optimizer recompute rate.For example, as shown in FIG. 5, broadcast rate 550 is shown to be every integer Sk+n distance (i.e., the speed optimizer profile is broadcast at distance Sk, Sk+i, Sk+2, etc.), while the speed optimizer recomputes at every integer Sk+4 distance. In various embodiments, the architecture shown for a speed profile may be similar to an architecture for an acceleration profile.[01271 Referring now to FIG. 6, another architecture 600 for the speed profile is shown, according to an example embodiment. The architecture of FIG. 6 corresponds to the high- level optimization performed by one or more of the edge device 160 and / or the remote computing system 182 and communicated to the controller 140, and in the flow diagram of FIG. 4. Data 610 utilized by one or more of the edge device 160, the remote computing system 182, and the controller 140 to calculate a speed profile includes a lookahead update, also known as lookahead data, and sensor measurements. A recompute distance 620 may be predetermined by the controller 140 or other component of the vehicle 100. The recompute distance 620 is the period of time the vehicle may travel before the speed profile is updated. For example, the recompute distance 620 may be one kilometer. A lookahead distance 640 is a distance of the mission that the speed optimizer circuit can create a speed profile for. In various embodiments, the automated driving system 150 may not implement the determined speed profile for the entirety of the lookahead distance. For example, if a speed profile is computed at distance Sk and the lookahead distance 540 spans from Sk to Sk+6, but the recompute distance 520 spans from Sk to Sk+4, as shown in FIG. 6, then the controller 140 will determine a new speed profile at distance Sk+4. Line segments 630 indicate the broadcasted speed profile implemented by the automated driving system 150. Each segment 630 illustrates the updated profile the automated driving system 150 implements when the speed profile is recomputed (e.g., at process 410 of FIG. 4). Line segments 635 indicate the speed profile for a remaining distance of the lookahead distance 640 that is not implemented by automated driving system 150 because the speed optimizer has been recomputed. As shown in FIG. 6, based on previous and / or current driving conditions, the computed speed profile for a given distance may be different depending on the distance and / or time at which the speed profile is generated. The computed speed profile may be broadcasted to the automated driving system 150 at a rate that is independent of speed optimizer recompute rate. For example, as shown in FIG. 6, broadcast rate 650 is shown to be every +1 distance (i.e.,the speed optimizer profile is broadcast at distance Sk, Sk+i, Sk+2, etc.). As described with reference to FIGS, 2b and 2c, and as shown in FIG. 4, one or more of the edge device 160 and / or the remote computing system 182 can generate a speed reference that is communicated to the controller 140 so that the controller 140 can output a speed profile and communicate it to the automated driving system 150. Line 660 of FIG. 6 shows the speed reference generated by one or more of the edge device 160 and / or the remote computing system 182. The speed reference may be recomputed at the same rate that the speed profile is recomputed (i.e., the recompute distance 620 may be the same for both the speed reference and the speed profile).

[0128] The speed profile broadcast to the automated driving system 150 may be utilized by the automated driving system 150 in various ways, depending on the level of automation of the vehicle 100. In vehicles with lower levels of automation (e.g., level 0, level 1, or level 2), the automated driving system may utilize the broadcasted speed profile to deliver a notification to a driver of the vehicle. The notification may include a recommended speed or speeds at which the vehicle should be operated to optimize fuel efficiency. In vehicles with higher levels of automation (e.g., level 3, level 4, or level 5), the automated driving system 150 may utilize the broadcasted speed profile to operate the vehicle at the recommended speed or speeds. For example, the automated driving system 150 may operate the powertrain 102 itself based on the recommended speed profile. In various embodiments, the architecture shown for a speed profile may be similar to an architecture for an acceleration profile.

[0129] FIG. 7 s a flow diagram of a method 700 of determining an energy profile, according to an example embodiment. In particular, the controller 140 is structured to determine an energy profile based on one or more inputs and using one or more of a lookup table or a model (e.g., a regression model, a machine learning model such as artificial intelligence including neural networks, a dynamical model or dynamical equations obtained from data or derived from a foundational principle of physics, etc.). It should be understood that the order of the method 700 is shown as an example only. That is, one or more processes may be performed concurrently, partially concurrently, sequentially, and / or in a different order than as shown in FIG. 7. For example, process 708 may be performed before process 704 and / orconcurrently with process 702. Further, some of the processes may be omitted without departing from the scope of the disclosure.

[0130] At process 702, the controller 140 receives lookahead data. In various embodiments, the controller 140 may receive lookahead data from the automated driving system 150 and / or telematics device 144. As described above with respect to FIG. 2a, lookahead data may include a road grade, a road curvature, a speed limit, traffic information, weather information, and / or any other data relating to a road the vehicle 100 is driving on that may be experienced by the vehicle in an upcoming predefined amount of time or distance. In various embodiments, the controller 140 can receive lookahead data for a predetermined distance ahead of the vehicle 100. For example, the controller 140 can receive lookahead data for a first distance (e.g., 1 kilometer) ahead indicating that there is an incline in the road and the road grade is increasing during the first distance. The distance ahead from which the vehicle 100 can receive lookahead information can vary. At process 702, the controller 140 may also receive sensor data. The sensor data may include information from the sensors 125 regarding operation of one or more vehicle components. For example, the sensor information may include information regarding a state of charge of a battery, a state of health of the battery, and / or an overall health of a powertrain, including braking capabilities of the powertrain. In various embodiments, one or more pieces sensor data may include lookahead information 224.|01311 At process 704, the controller 140 applies a model to the lookahead and / or sensor data. Energy optimizer circuit 219 of controller 140 can apply a model to fit the received lookahead data and sensor data. The model may be an optimal energy profile based on the received lookahead 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 profile. In various embodiments, the model may be a low-level optimization performed locally by the controller 140. The model update logic 217 can generate a model including one or more a statistical model (e.g., a regression model, a machine learning model 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, themodel update logic 217 can generate a lookup table instead of and / or in addition to one or more models.

[0132] At process 706, the controller 140 outputs an energy profile (e.g., an energy profile value, an energy data output, etc.). The energy profile may be a set of instructions indicating operations to perform to optimize energy efficiency. The energy profile may include recommended charging methods (e.g., plug-in charging, regenerative braking, inductive charging, etc.) and charging times for vehicle 100. Specifically, the energy profile may be generated for a segment of a mission and may include an indication of how to charge the battery 105, when to charge the battery 105, etc. In some embodiments, the energy profile may alternatively or additionally include an indication of a power split between the engine 103 and the motor 106 / battery 105. For example, the energy profile may include an indication that, during a segment of the mission, the vehicle is to charge the battery 105 by braking while traveling on a downhill. The energy profile may also include an indication that the vehicle is to be powered by the engine 103 when the vehicle is operating above a first threshold speed and powered by the motor 106 / battery 105 when the vehicle is operating below a second threshold speed during the segment.[0133| In various embodiments, the energy profile may be communicated from controller 140 to automated driving system 150. For example, the energy profile may be embodied as a set of instructions transmitted to the automated driving system 150. The automated driving system 150 can utilize the instructions (e.g., the energy profile) to efficiently operate powertrain 102. In various embodiments, a broadcasted energy profile can be tuned up to a predefined (e.g., 1 -kilometer) distance from the vehicle 100. In other embodiments, the energy profile and / or information in the energy profile can be transmitted to an operator of the vehicle 100 in the form of a notification. For example, the energy profile can be transmitted as a notification indicating to the operator that the operator should brake the vehicle while driving on a downhill to perform regenerative braking.[0134| At process 708, the controller 140 receives feedback data. Feedback data can include one or more of data from sensors 125, updated lookahead data, a road grade, a road curvature, a speed limit, an updated route, a desired arrival time at a destination, wind speeds, traffic patterns / conditions, updated battery SOH information, updated SOC information, or anyother type of feedback data described with respect to FIG. 2a. Feedback data may be received by controller 140 as a result of recalculated or updated lookahead information and / or sensor information.

[0135] At process 710, the controller 140 updates the model. The model may be an optimized energy profile to be implemented in the vehicle by, for example, the automated driving system 150. The model update logic 217 may update the model based on the feedback data received by controller 140 in process 708. The model may be updated by adjusting an energy profile based on energy and / or braking conditions. An updated output energy profile may be utilized by automated driving system 150 until the energy optimizer recomputes and a more recently updated energy profile is communicated to automated driving system 150.10.136] The method 700 may be iterative and / or repeat until a driver has arrived at a destination and / or is no longer operating vehicle 100.

[0137] Referring now to FIG. 8, a method 800 for determining a speed profile is shown, according to some embodiments. In particular, the controller 140 is structured to determine a speed profile based on one or more inputs and using one or more of a lookup table or a model (e.g., a regression model, a machine learning model such as artificial intelligence including neural networks, a dynamical model or dynamical equations obtained from data or derived from a foundational principle of physics, etc.). It should be understood that the order of the method 800 is shown as an example only. That is, one or more processes may be performed concurrently, partially concurrently, sequentially, and / or in a different order than as shown in FIG. 8. For example, process 808 may be performed before process 804 and / or concurrently with process 802. Further, some of the processes may be omitted without departing from the scope of the disclosure.

[0138] At process 802, the speed optimizer circuit 216 receives lookahead information. The lookahead information may include information regarding a mission of the system and / or information regarding a first segment of the mission. In various embodiments, the first segment of the mission is a portion a path of the mission that is at or below a predetermined distance away from the system. In various embodiments, the lookahead information includesa location of a battery charging station relative to a location of the system, a charging capacity of the vehicle, a charging cost, or a queuing time for the vehicle.

[0139] At process 804, the speed optimizer circuit 216 receives feedback information via one or more sensors (e.g., sensors 125). In some embodiments, the feedback information comprises a state of charge of a battery and / or a battery temperature.10140] At process 806, the speed optimizer circuit 216 generates, based on the information regarding the first segment of the system and the feedback information, a first horizon speed profile. The first horizon speed profile includes a recommended speed for the system along the first segment of the system;

[0141] In various embodiments, the method 800 further includes receiving, from a remote computing system, a reference speed. The first horizon speed profile may further be based on the reference speed. In various embodiments, the reference speed is generated by receiving lookahead information and applying an optimization solver to the lookahead information to generate the reference speed based on the lookahead information.

[0142] At process 808, the speed optimizer circuit 216 provides the first horizon speed profile to an automated driving system. The automated driving system may implement the first horizon speed profile and / or provide a notification of a driver of the vehicle to operate according to the speed profile.10.143] At process 810, the speed optimizer circuit 216 receives additional lookahead information. The additional lookahead information may be updated lookahead information (e.g., for a new upcoming distance or portion of the mission, for a second segment of the mission, etc.).(0144] 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 portion of the mission, for a second segment of the mission, etc.).

[0145] At process 814, the speed optimizer circuit 216 iteratively determines a second horizon speed profile based on the additional lookahead information and the additional feedback information. The second horizon speed profile may be determined before the system reaches the end of the first segment of the mission.10146] At process 816, the speed optimizer circuit 216 provides the second horizon speed profile to the automated driving system.10147 ] In various embodiments, the method 800 further includes generating, based on the mission of the system and the feedback information, a long horizon speed profile. The long horizon speed profile may include a recommended speed for the system for the duration of the mission. The speed optimizer circuit 216 may provide the long horizon speed profile to the automated driving system.10148] Referring now to FIG. 9, a method 900 for determining an energy profile is shown, according to some embodiments. The method 900 may be performed when the vehicle 100 is configured as a hybrid vehicle. In some embodiments, the method 800 and the method 900 may be performed concurrently or in sequence for the same vehicle 100. In particular, the controller 140 is structured to determine an energy profile based on one or more inputs and using one or more of a lookup table or a model (e.g., a regression model, a machine learning model such as artificial intelligence including neural networks, a dynamical model or dynamical equations obtained from data or derived from a foundational principle of physics, etc.). It should be understood that the order of the method 900 is shown as an example only. That is, one or more processes may be performed concurrently, partially concurrently, sequentially, and / or in a different order than as shown in FIG. 9. For example, process 908 may be performed before process 904 and / or concurrently with process 902. Further, some of the processes may be omitted without departing from the scope of the disclosure.

[0149] At process 902, the energy optimizer circuit 219 receives lookahead information. The lookahead information may include information regarding a mission of the system and / or information regarding a first segment of the mission. In various embodiments, the first segment of the mission is a portion a path of the mission that is at or below a predetermined distance away from the system. In various embodiments, the lookahead information includesa location of a battery charging station relative to a location of the system, a charging capacity of the vehicle, a charging cost, or a queuing time for the vehicle.

[0150] At process 904, the energy optimizer circuit 219 receives feedback information via one or more sensors (e.g., sensors 125). In some embodiments, the feedback information comprises a state of charge of a battery and a battery temperature.|0.l .51] At process 906, the energy optimizer circuit 219 generates, based on the information regarding the first segment of the system and the feedback information, a first horizon energy profile. The first horizon energy profile 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 type of charging to perform to charge the battery. The type of charging 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 a location to charge the battery. In some embodiments, the recommended energy distribution includes a recommendation of a power split between a battery of the vehicle and an engine of the vehicle (e.g., a distribution between the engine and the motor / battery indicating which component(s) are to power the vehicle).10.1521 At process 908, the energy optimizer circuit 219 provides the first horizon energy profile to an automated driving system. The automated driving system may implement the first horizon energy profile and / or provide a notification of an operator of the system to operate according to the energy profile.

[0153] At process 910, the energy optimizer circuit 219 receives additional lookahead information. The additional lookahead information may be updated lookahead information (e.g., for a new upcoming distance or portion of the mission, for a second segment of the mission, etc.).

[0154] 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 portion of the mission, for a second segment of the mission, etc.).

[0155] At process 914, the energy optimizer circuit 219 iteratively determines a second horizon energy profile based on the additional lookahead information and the additional feedback information. The second horizon energy profile may be determined before the system reaches the end of the first segment of the mission.

[0156] At process 916, the speed optimizer circuit 216 provides the second horizon energy profile to the automated driving system.101.57 [ In various embodiments, the method 900 further includes generating, based on the mission of the system and the feedback information, a long horizon energy profile. The long horizon energy profile may include a recommended energy distribution for the system for the duration of the mission. The energy optimizer circuit 219 may provide the long horizon energy profile to the automated driving system.10158] As utilized herein, the terms “approximately,” “about,” “substantially,” and similar terms are intended to have a broad meaning in harmony with the common and accepted usage by those of ordinary skill in the art to which the subject matter of this disclosure pertains. It should be understood by those of skill in the art who review this disclosure that these terms are intended to allow a description of certain features described and claimed without restricting the scope of these features to the precise numerical ranges provided. Accordingly, these terms should be interpreted as indicating that insubstantial or inconsequential modifications or alterations of the subject matter described and claimed are considered to be within the scope of the disclosure as recited in the appended claims.

[0159] It should be noted that the term “exemplary” and variations thereof, as used herein to describe various embodiments, are intended to indicate that such embodiments are possible examples, representations, or illustrations of possible embodiments (and such terms are not intended to connote that such embodiments are necessarily extraordinary or superlative examples).

[0160] The term “coupled” and variations thereof, as used herein, means the joining of two members directly or indirectly to one another. Such joining may be stationary (e.g., permanent or fixed) or moveable (e.g., removable or releasable). Such joining may be achieved with the two members coupled directly to each other, with the two memberscoupled to each other using one or more separate intervening members, or with the two members coupled to each other using an intervening member that is integrally formed as a single unitary body with one of the two members. If “coupled” or variations thereof are modified by an additional term (e.g., directly coupled), the generic definition of “coupled” provided above is modified by the plain language meaning of the additional term (e.g., “directly coupled” means the joining of two members without any separate intervening member), resulting in a narrower definition than the generic definition of “coupled” provided above. Such coupling may be mechanical, electrical, or fluidic. For example, circuit A communicably “coupled” to circuit B may signify that the circuit A communicates directly with circuit B (i.e., no intermediary) or communicates indirectly with circuit B (e.g., through one or more intermediaries).

[0161] References herein to the positions of elements (e.g., “top,” “bottom,” “above,” “below”) are merely used to describe the orientation of various elements in the FIGURES. It should be noted that the orientation of various elements may differ according to other exemplary embodiments, and that such variations are intended to be encompassed by the present disclosure.[0162| While various circuits with particular functionality are shown in FIG. 2a, it should be understood that the controller 140 may include any number of circuits for completing the functions described herein. For example, the activities and functionalities of the processing circuit 210 may be combined in multiple circuits or as a single circuit. Additional circuits with additional functionality may also be included. Further, the controller 140 may further control other activity beyond the scope of the present disclosure.

[0163] As mentioned above and in one configuration, the “circuits” may be implemented in machine-readable medium for execution by various types of processors, such as the processor 212 of FIG. 2a. Executable code may, for instance, comprise one or more physical or logical blocks of computer instructions, which may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables need not be physically located together, but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the circuit and achieve the stated purpose for the circuit. Indeed, a circuit of computer readable program code may be a single instruction, or manyinstructions, and may even be distributed over several different code segments, among different programs, and across several memory devices. Similarly, operational data may be identified and illustrated herein within circuits, and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed over different locations including over different storage devices, and may exist, at least partially, merely as electronic signals on a system or network.

[0164] While the term “processor” is briefly defined above, the term “processor” and “processing circuit” are meant to be broadly interpreted. In this regard and as mentioned above, the “processor” may 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 structured to execute instructions provided by memory. The one or more processors may take the form of a single core processor, multi-core processor (e.g., a dual core processor, triple core processor, quad core processor, etc.), microprocessor, etc. In some embodiments, the one or more processors may be external to the apparatus, for example the one or more processors may be a remote processor (e.g., a cloud-based processor). Alternatively or additionally, the one or more processors may be internal and / or local to the apparatus. In this regard, a given circuit or components thereof may be disposed locally (e.g., as part of a local server, a local computing system, etc.) or remotely (e.g., as part of a remote server such as a cloud-based server). To that end, a “circuit” as described herein may include components that are distributed across one or more locations.

[0165] Embodiments within the scope of the present disclosure include program products comprising 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 media that can be accessed by a computer. The computer readable medium may be a tangible computer readable storage medium storing the computer readable program code. The computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, holographic, micromechanical, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.More specific examples of the computer readable medium may include but are not limited to a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), an optical storage device, a magnetic storage device, a holographic storage medium, a micromechanical storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, and / or store computer readable program code for use by and / or in connection with an instruction execution system, apparatus, or device. Machine-executable instructions include, for example, instructions and data which cause a computer or processing machine to perform a certain function or group of functions.

[0166] The computer readable medium may also be a computer readable signal medium. A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electrical, electro-magnetic, magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport computer readable program code for use by or in connection with an instruction execution system, apparatus, or device. Computer readable program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, Radio Frequency (RF), or the like, or any suitable combination of the foregoing.[0.167] In one embodiment, the computer readable medium may comprise a combination of one or more computer readable storage mediums and one or more computer readable signal mediums. For example, computer readable program code may be both propagated as an electro-magnetic signal through a fiber optic cable for execution by a processor and stored on RAM storage device for execution by the processor.

[0018] Computer readable program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more other programming languages,including an object-oriented programming language such as Java, Smalltalk, C++ or the like 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, partly on the user's computer, as a stand-alone computer- readable package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).1016 1 The program code may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function / act specified in the schematic flowchart diagrams and / or schematic block diagrams block or blocks.

[0170] Although the figures and description may illustrate a specific order of method steps, the order of such steps may differ from what is depicted and described, unless specified differently above. Also, two or more steps may be performed concurrently or with partial concurrence, unless specified differently above. Such variation may depend, for example, on the software and hardware systems chosen and on designer choice. All such variations are within the scope of the disclosure. Likewise, software implementations of the described methods could be accomplished with standard programming techniques with rule-based logic and other logic to accomplish the various connection steps, processing steps, comparison steps, and decision steps.[0171 [ It is important to note that the construction and arrangement of the apparatus and system as shown in the various exemplary embodiments is illustrative only. Additionally, any element disclosed in one embodiment may be incorporated or utilized with any other embodiment disclosed herein.

Claims

WHAT IS CLAIMED IS:

1. A system comprising: an automated driving system; and a controller coupled to the automated driving system, the controller comprising 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 comprising: receiving lookahead information comprising: information regarding a mission of the system, and information regarding a first segment of the mission; receiving feedback information via one or more sensors; generating, based on the information regarding the first segment of the system and the feedback information, a first horizon speed profile comprising a recommended speed for the system along the first segment of the system; providing the first horizon speed profile to the automated driving system; receiving additional lookahead information; receiving additional feedback information; iteratively determining a second horizon speed profile based on the additional lookahead information and the additional feedback information before the system reaches an end of the first segment of the mission; and providing the second horizon speed profile to the automated driving system.

2. The system of claim 1, wherein the first segment of the mission is a portion a path of the mission that is at or below a predetermined distance away from the system.

3. The system of claim 1, wherein the lookahead information comprises a location of a battery charging station relative to a location of the system, a charging capacity of a vehicle of the system, a charging cost, or a queuing time for the vehicle; and wherein the feedback information comprises a state of charge of a battery of the vehicle and a battery temperature.

4. The system of claim 1, wherein operations further comprise: generating, based on the mission of the system and the feedback information, a long horizon speed profile comprising a recommended speed for the system for a duration of the mission; and providing the long horizon speed profile to the automated driving system.

5. The system of claim 1, wherein operations further comprise receiving, from a remote computing system, a reference speed, wherein the first horizon speed profile is further based on the reference speed.

6. The system of claim 5, wherein the reference speed is generated by: receiving lookahead information; and applying an optimization solver to the lookahead information to generate the reference speed based on the lookahead information.

7. A system comprising: an automated driving system; and a controller coupled to the automated driving system, the controller comprising 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 comprising: receiving lookahead information comprising: information regarding a mission of the system, and information regarding a first segment of the mission; receiving feedback information via one or more sensors; generating, based on the information regarding the first segment of the system and the feedback information, a first horizon energy profile comprising a recommended energy distribution for the system along the first segment of the system; providing the first horizon energy profile to the automated driving system; receiving additional lookahead information; receiving additional feedback information;iteratively determining a second horizon energy profile based on the additional lookahead information and the additional feedback information before the system reaches an end of the first segment of the mission; and providing the second horizon energy profile to the automated driving system.

8. The system of claim 7, wherein the first segment of the mission is a portion a path of the mission that is at or below a predetermined distance away from the system.

9. The system of claim 7, wherein the lookahead information comprises a location of a battery charging station relative to a location of the system, a charging capacity of a vehicle of the system, a charging cost, or a queuing time for the vehicle; and wherein the feedback information comprises a state of charge of a battery of the vehicle and a battery temperature.

10. The system of claim 7, wherein operations further comprise: generating, based on the mission of the system and the feedback information, a long horizon energy profile comprising a recommended energy distribution for the system for a duration of the mission; and providing the long horizon energy profile to the automated driving system.

11. The system of claim 9, wherein the recommended energy distribution comprises at least one of a recommended type of charging to perform to charge the battery, wherein the type of charging is one or more of regenerative braking, plug-in charging, or inductive charging, or a recommendation of a location to charge the battery.

12. The system of claim 9, wherein the recommended energy distribution comprises a recommendation of a power split between a battery of the vehicle and an engine of the vehicle.

13. A method compri sing : receiving lookahead information comprising:information regarding a mission of a system, and information regarding a first segment of the mission; receiving feedback information via one or more sensors; generating, based on the information regarding the first segment of the system and the feedback information, a first horizon speed profile comprising a recommended speed for the system along the first segment of the system; providing the first horizon speed profile to an automated driving system; generating, based on the information regarding the first segment of the system and the feedback information, a first horizon energy profile comprising a recommended energy distribution for the system along the first segment of the system; and providing the first horizon energy profile to the automated driving system.

14. The method of claim 13, wherein the first segment of the mission is a portion a path of the mission that is at or below a predetermined distance away from the system.

15. The method of claim 13, wherein the lookahead information comprises a location of a battery charging station relative to a location of the system, a charging capacity of a vehicle, a charging cost, or a queuing time for the vehicle; and wherein the feedback information comprises a state of charge of a battery of the vehicle and a battery temperature.

16. The method of claim 13, further comprising: generating, based on the mission of the system and the feedback information, a long horizon energy profile comprising a recommended energy distribution for the system for a duration of the mission; and providing the long horizon energy profile to the automated driving system.

17. The method of claim 13, further comprising: receiving additional lookahead information; receiving additional feedback information;iteratively determining a second horizon speed profile based on the additional lookahead information and the additional feedback information before the system reaches an end of the first segment of the mission; and providing the second horizon speed profile to the automated driving system.

18. The method of claim 13, further comprising: receiving additional lookahead information; receiving additional feedback information; iteratively determining a second horizon energy profile based on the additional lookahead information and the additional feedback information before the system reaches an end of the first segment of the mission; and providing the second horizon energy profile to the automated driving system.

19. The method of claim 13, further comprising receiving, from a remote computing system, a reference speed, wherein the first horizon speed profile is further based on the reference speed.

20. The method of claim 19, wherein the reference speed is generated by: receiving lookahead information; and applying an optimization solver to the lookahead information to generate the reference speed based on the lookahead information.

Citation Information

Patent Citations

  • Operating method for a hybrid drive, in particula for selecting optimal operating modes of the hybrid drive along a travel route

    EP2857271B1

  • Method for controlling a hybrid electric vehicle

    EP3878706A1

  • Enhanced engine and battery operation

    US20180162359A1

  • System and Method for Providing Speed Profile of Self-Driving Vehicle

    US20210122394A1