Computing system for model based control (MBC) of a piece of equipment or portion thereof
By delegating complex calculations to a remote computing system and handling time-sensitive tasks with an onboard controller, the computing system optimizes system operations efficiently, addressing the computational challenges of MPC technologies.
Patent Information
- Application Number
- PCT/US2025/016119
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-15
- Filing Date
- 2025-02-14
- Publication Date
- 2025-08-21
AI Technical Summary
Model Predictive Control (MPC) technologies require significant computing resources, making them difficult to implement due to computational intensity, especially in systems with limited onboard processing power and memory constraints.
A computing system with a remote computing system and an onboard controller, where complex calculations are delegated to the remote system with greater processing power, while time-sensitive tasks are handled by the onboard controller, ensuring precise and timely control through parallel or series operations.
This approach allows for efficient and accurate optimization of system operations by leveraging the strengths of both systems, balancing computational power and real-time responsiveness, thereby enhancing system performance and resource efficiency.
Smart Images

Figure US2025016119_21082025_PF_FP_ABST
Abstract
Description
COMPUTING SYSTEM FOR MODEL BASED CONTROL (MBC) OF A PIECE OF EQUIPMENT OR PORTION THEREOFCROSS-REFERENCE TO RELATED APPLICATION
[0001] This PCT Application claims the benefit of and priority to U.S. Provisional Patent Application No. 63 / 554131, filed February 15, 2024, which is incorporated herein by reference in its entirety and for all purposes.TECHNICAL FIELD
[0002] The present disclosure relates to systems, computer-readable media, and methods for optimizing an operating parameter of a piece of equipment or portion thereof.BACKGROUND
[0003] There are several types of control processes. One type of control process is Model Predictive Control (MPC). MPC is a specific type of controls technology that can be used in a variety of applications. MPC technology includes the use of a model that is solved over a future finite horizon subject to various constraints to predict a future action(s) of a system that is represented by the model. MPC technology is a type of model-based control and can require significant computing resources due to the computationally-intensive solvers / optimizers utilized. Thus, while MPC and other model-based controls are appealing due to their fairly representations of the system, these control processes can be difficult to implement due to the significant computing resources required.SUMMARY
[0004] One embodiment relates to a provider computing system. The provider computing includes at least one processing circuit including at least one processor coupled to at least one memory. The at least one processing circuit is wirelessly coupled to an on-board controller of a system. The at least one memory stores instructions therein that, when executed by the at least one processor, causes the at least one processing circuit to perform operations including: receiving one or more operating parameters of the system; retrieving a model associated withthe one or more operating parameters of the system; executing the model to generate an output associated with the one or more operating parameters; and transmitting the output to the on-board controller to operate the system based on the output.
[0005] In another embodiment, a computing system for adjusting operation of a system includes at least one processing circuit comprising at least one processor coupled to at least one memory. The at least one processing circuit is wirelessly coupled to an on-board controller of a system. Wherein the at least one memory stores instructions therein that, when executed by the at least one processor, causes the at least one processing circuit to perform operations including receiving one or more operating parameters of the system, receiving a first output associated with the one or more operating parameters generated by a first model, retrieving a second model associated with the one or more operating parameters of the system, executing the second model to generate a second output associated with the one or more operating parameters, and in response to a difference between the second output and the first output being greater than a threshold, transmitting the second output to the on-board controller to operate the system based on the second output.
[0006] In yet another embodiment, a method for adjusting operation of a system includes receiving, by an on-board controller, a reference value and one or more second operating parameters of a system. The reference value is associated with one or more first operating parameters and generated by a first model. The method also includes retrieving, by the onboard controller, a second model associated with the reference value and the one or more second operating parameters of the system, executing, by the on-board controller, the second model to generate an output associated with the reference value and the one or more operating parameters, and operating, by the on-board controller, the system based on the output.
[0007] This summary is illustrative only and is not intended to be in any way limiting. Other aspects, inventive features, and advantages of the devices or processes described herein will become apparent in the detailed description set forth herein, taken in conjunction with the accompanying figures, wherein like reference numerals refer to like elements. 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 thepresent 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
[0008] FIG. l is a block diagram of a networked equipment environment including a piece of equipment, shown as a vehicle, coupled to a remote computing system for optimizing at least one control parameter of the piece of equipment or portion thereof, according to an example embodiment.
[0009] FIG. 2 is a block diagram of a controller of the piece of equipment, referred to as a first controller of the system of FIG. 1, according to an example embodiment.
[0010] FIG. 3 is a block diagram of a controller or control system of the remote computing system, referred to as a second controller of the system of FIG. 1, according to an example embodiment.
[0011] FIG. 4 is a block diagram of a system for optimizing a device operation via cloud computing, according to an example embodiment.
[0012] FIG. 5A is a flow chart illustrating a method of operation of an on-board controller according to the embodiment of the system of FIG. 4, according to an example embodiment.
[0013] FIG. 5B is a flow chart illustrating a method of operation of a remote computing system according to the embodiment of the system of FIG. 4, according to an example embodiment.
[0014] Fig. 6 is a block diagram of a system for optimizing a device operation via cloud computing, according to another example embodiment.
[0015] FIG. 7 is a flow chart illustrating a method of operation of the system of FIG. 6, according to an example embodiment.
[0016] These and other features, together with the organization and manner of operation thereof, will become apparent from the following detailed description when taken in conjunction with the accompanying drawings.DETAILED DESCRIPTION
[0017] Following below are more detailed descriptions of various concepts related to, and implementations of methods, apparatuses, and systems for optimizing the operation of a device. The various concepts introduced herein may be implemented in any number of ways, as the concepts described are not limited to any particular manner of implementation.Examples of specific implementations and applications are provided primarily for illustrative purposes.
[0018] Referring to the Figures generally, the various embodiments disclosed herein relate to systems, apparatuses, and methods for optimizing the parameters of a device or system, such as a vehicle system, such that the device and / or system operates more efficiently. Vehicle-to-everything (V2X) technologies are prevalent to assist operators with operating vehicles. For example, with V2X technologies, a vehicle is capable of communicating with other entities, including client devices, remote computing device, or other vehicles. Individual vehicles can support the V2X technologies, which can be deployed for instance to enhance vehicle performance during operation.
[0019] As described herein, V2X technology (or other communication technology) may support communication between a first controller (e.g., an onboard controller), a second controller (e.g., a remote computing system), and a piece of equipment (e.g., a vehicle or a portion thereof, such as a vehicle aftertreatment system). Advantageously, tasks and determinations may be divided between the on-board controller and the remote computing system. Each of the onboard controller and the remote computing system are configured to compute (e.g., calculate, etc.) and output various values and commands regarding and operating state of the device. For example, tasks requiring more memory storage or higher processing power may be delegated (e.g., designated, etc.) to the remote computing systemthat comprises greater storage capacity and a larger processor (e.g., faster, higher processing power, etc.). Tasks that are time sensitive and require an immediate, or near immediate output value or command regarding an operating state may be delegated to the on-board controller.
[0020] Time sensitive tasks may be completed by the on-board controller and the output (e.g., value or command) may be communicated to the remote computing system to verify (e.g., check, re-run, etc.) the output value or command ensuring the computations of the onboard controller are within a set range. In response, to the computations of the on-board controller being outside of the set range, the remote computing system may adjust (e.g., calibrate, change, tailor, etc.) at least one model (e.g., a mathematical model, a statistical model, etc.) of the on-board controller.
[0021] Due to time and space constraints (e.g., processing power constraints, memory space constraints, etc.), it is advantageous for tasks to be delegated tasks between an on-board controller and a remote computing system based on at least one of the criticality or urgency of the task. In this way, the remote computing system may have greater capacity for storage and relatively larger processors, thus higher order models with more precise outputs (e.g., values or commands regarding an operating state, etc.) and / or requiring complex computation (e.g., higher of inputs into the model, multiple correlated outputs, etc.) can be performed by the remote computing system more efficiently than an on-board computing system. Thus, tasks requiring higher precision outputs can be delegated to the remote computing system. Other tasks that require less storage and processing power may be designated to the on-board controller of the piece of equipment (e.g., a vehicle controller or control system) to complete. Further, tasks that require quick response time (e.g., immediate action, etc.) may also be performed / executed by the on-board controller as well. The on-board controller may compute or run models that require less computing power but can provide an output to the device in real time. Thus, commands regarding adjustments or changes in the operation of the device can be made faster than if delegated to the remote computing system.
[0022] As described herein, determining operating parameters of the piece of equipment or portion thereof, such as a vehicle system, may be carried out by a model predictive control (MPC) system, which accounts for various data including but not limited to, emissions / emissions compliance (e.g., changes in NOx sensor readings / changes in NOxsensor reading amounts, greenhouse gas information, etc.), fuel economy, brake torque, peak cylinder pressure (PCP), an equivalence ratio (e.g., for fuel mass rate versus air flow rate, etc.), and so on.
[0023] According to the embodiments described herein, a plurality of optimizer tools (e.g., types) can be running in a plurality of host locations (e.g., the first controller located onboard the device and / or the second controller located within a remote computing system, etc.) with the collective output results (e.g., a value indicative of an operating condition, a command, etc.) being used for Model Based Control (MBC) of a vehicle system. For example, the optimizer tools may be a gradient optimizer, genetic algorithm, model predictive control, or other optimization solver tools. One of the on-board controller or the remote computing system controller may use one or more of a model (e.g., a mathematical model, a machine learning model, an artificial intelligence model, statistical model, etc.) or a lookup table and / or an optimizer tool to determine one or more commands regarding at least one operating parameter that corresponds to a desired action of the device. For example, the model or the lookup table may select a desirable variable geometry turbocharger (VGT) position (e.g., open, closed, etc.), an exhaust gas recirculation (EGR) valve position (e.g., open, closed, etc.), an injected amount of fuel, rail pressure, or injection timing that corresponds to a desired (e.g., target, etc.) changes in NOx sensor readings (e.g., a difference between a first amount of NOx sensed and a second amount of NOx sensed, the NOx sensor reading decreases, less NOx is sensed in the system, etc.), brake torque, peak cylinder pressure, or an air-fuel equivalence ratio.
[0024] The systems and methods of the technical solution discussed herein can include a first controller and a second controller for a piece of equipment or device. The first controller and the second controller are communicably coupled. The device can be a vehicle but is not limited thereto. For example, the device or piece of equipment may include a stationary piece of equipment, such as generator set. One of the controllers can be an on-board device controller, such as engine control module / unit (ECMZECU) or other electronic control unit. The other controller or control system can be a remote computing system (e.g., an off-device or off-vehicle control system), such as a cloud computing system. Each of the controllers can include at least one processor and at least one memory storing instructions that, whenexecuted by the processor, causes the controller to perform various operations. Typically, the on-board controller or control system (e.g., the ECM) has limited computing power. This is due to size constraints of what may fit on-board the piece of equipment, which limits the processor(s) that may be included. As a result, the on-board controller (e.g., ECM) may only include enough computing power for relatively simple calculations and determinations.
[0025] Further, due to memory constraints, the on-board controller may only include relatively simple models (e.g., single-precision models, etc.). Thus, the on-board controller can compute complex calculation, but this may require more time and effort to select a limited number of input parameters (e.g., values indicative of an operating state, intake pressure, exhaust pressure, oxygen concentration, changes in NOx sensor readings, valve positions, etc.). The on-board controller may also reduce the number of states (e.g., inputs at time intervals, data corresponding to different times, etc.) utilized within the model, which reduces the computational load, but decreases the accuracy of outputs of the model. The onboard controller may also have a reduced number of neural networks within the model in order to reduce processing power needed, which also reduces accuracy. By using a simpler model, the output values or commands from the model selected by the controller may vary or be less precise.
[0026] As described herein, when operating a system, such as a vehicle system, it may be desired to run the system under conditions that minimize the consumption of resources (e.g., fuel, electricity, etc.). Thus it is advantageous to operate (e.g., control, command, etc.) the system, such as a vehicle system, under optimized or desired conditions by using models that receive various operating parameters (e.g., from a sensor such as a pressure, a temperature, a flow rate, etc.) and / or operating states (e.g., valve position, actuator position, etc.) to determine output values for operating the system to achieve optimized operation. 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 provides a predictive relationship between the input and the output. In some embodiments, the model may be or include a machine learning model. A machine learningmodel is a computer-implemented program that identifies patterns or makes 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.
[0027] As an example, it may be desired to optimize (e.g., minimize, maximize, etc.) a device output, such as a NOx sensor reading (e.g., observe a change in NOx output, observe a decrease in an amount of NOx sensed, etc.), a brake torque, an air-fuel equivalence ratio, etc. In one embodiment, each of the on-board controller and the remote computing system may receive a plurality of inputs, or operating parameters, such an intake manifold pressure, an exhaust manifold pressure, an intake or exhaust manifold oxygen concentration, a turbo rotational speed, a turbo position, a valve position, an injected amount of fuel, a rail pressure, an injection timing, a current peak cylinder pressure, a current air-fuel equivalence ratio, etc. Each of the on-board controller and the remote computing system inputs the operating parameters and runtime parameters (e.g., rotational engine speed, ambient pressure, ambient temperature an intake manifold temperature, a reference torque, etc.) into their respective models (e.g., a lower precision model and a higher precision model, respectively), such that the on-board controller and the remote computing system run in parallel. Once an output is determined, the remote computing system may compare the output(s) from the on-board controller to determine the reliability of the on-board controller. In response to the on-board controller output(s) being within a predefined acceptable range (e.g., between a low threshold and a high threshold, etc.), the on-board controller outputs are commanded to the device (e.g., the engine, the aftertreatment system etc.). For example, the command may include opening or closing a valve (e.g., an exhaust gas recirculation valve), activating an exhaust heater, etc. In response to the on-board controller output(s) not being within a predefined acceptable range, the output(s) computed by the remote computing system are commanded to the device and adopted by the system to adjust the system.
[0028] In the above embodiment, the tasks delegated to each of the remote computing system and the on-board controller may be redundant. However, the optimizer tools utilized may be different, resulting in variations in the calculated outputs that, as described above can be compared to calibrate the models, such as the models included in the on-board controller.Conditions (e.g., future operating parameters, etc.) predicted by one of or both of the onboard controller or the remote computing system can then also be compared to actual (e.g., measured, observed, sensed, etc.) values indicative of an operating parameter that can also be used for calibrating the models. Further, through comparison, the remote computing system can learn which of the plurality of optimizer tools or models provides the best solution (e.g., most accurate, etc.). Redundancy of the calculations may also aid in avoiding errors such as “non-convergence” calculations errors during optimization.
[0029] In another embodiment, the remote computing system and the on-board controller work in series. For example, the remote computing system may receive a plurality of inputs regarding a plurality of parameters (e.g., an intake manifold pressure, an exhaust manifold pressure, an intake or exhaust manifold oxygen concentration, a turbo rotational speed, a turbo position, a valve position, an injected amount of fuel, a rail pressure, an injection timing, a current peak cylinder pressure, a current air-fuel equivalence ratio, etc.) and the runtime parameters. The remote computing system then utilizes a higher order model (e.g., a double precision model, etc.) that utilizes the inputs and the runtime parameters to determine (e.g., from the model, from a calculation, etc.) an output, such as an intake of exhaust manifold pressure reference value, a desired injected amount of fuel, a desired rail pressure, a desired injection timing, etc. The on-board controller then receives the outputs from the remote computing system. In this way, the output(s) of the remote computing system model are the input(s) to the model of the on-board system. The on-board controller utilizes the output(s) from the remote controlling system and a desired output from the device, such as a desired flow-rate, brake torque, peak cylinder pressure, or air-fuel equivalence ratio to determine a command. For example, the command output from the on-board controller may be a change in valve position (e.g., open, closed, etc.), a change in turbo position (e.g., open, closed, etc.), a change in an injected fuel amount, rail pressure, or injection timing, etc. In this embodiment, the tasks (e.g., calculations, computations, etc.) may be delegated or divided between the remote computing system and the on-board controller such that complex optimization tasks may be broken down into a plurality of simpler computations. In some implementations of the above embodiment, the remote computing system may utilize machine learning to train the optimizer tools / models utilized in each location (e.g., the remote computing system and the on-board controller). For example, the remote computing systemmay utilize machine learning in models and then provide (e.g., deploy, etc.) the output(s) to the on-board controller for commanding (e.g., communicating, adjusting controls, etc.) to the device, such as the engine aftertreatment system.
[0030] Thus, it is advantageous to utilize a remote computing system that has greater computing power for complex calculations, and in time sensitive situations utilize the onboard controller. As described herein, it is also beneficial for a system to utilize both an onboard controller and a remote computing system in parallel or in series for calculating or selecting values that control operation of the device to correspond to a desired outcome. A system that delegates tasks between the on-board controller and the remote computing system, has the benefit of computing time sensitive calculations on-board such that an output value or a command regarding an operating state may be received in real time while also computing more complex calculations requiring greater computing power by a remote computing system, thus neither the precision nor the speed of the calculations are sacrificed. Implementations described above and, in more detail below, involve making computing "location" decisions based on various factors, such as criticality, response time, and / or CPU requirements, to in turn improve operation of the remote computing system and on-board controller. These and other features and benefits are explained more fully herein below.
[0031] Now referring to FIG. 1, a block diagram of a networked system 100 including a piece of equipment or device, shown as a vehicle 102 having an on-board controller 118, and a remote computing system 120 is shown, according to an example embodiment. The remote computing system 120 is communicably coupled to the on-board controller 118 such that information (e.g., commands, operating parameters, runtime parameters, etc.) can be communicated (e.g., via a wireless connection) to and from the on-board controller 118. The on-board controller 118 is configured to receive commands from the remote computing system and provide the command (e.g., adjustment, etc.) to a system and / or component of the vehicle (e.g., engine 104).
[0032] The remote computing system 120 is a computing system that is controlled by, managed by, and / or otherwise associated with service and / or system / component provider (e.g., an engine manufacturer for the engine of the vehicle 102, a vehicle manufacturer, a fleet operator, an exhaust aftertreatment system manufacturer, etc.). In the example shown, theremote computing system 120 is operated and managed by an engine manufacturer (which may also manufacture and commercialize other goods and / or services). Accordingly, an employee or other operator associated with the service and / or system / component provider may operate the remote computing system. The remote computing system 120 is a system, such as a cloud system, that has larger processing and storage capacity since it is not subject to the size constraints of on-board systems or controllers. Thus, the remote computing system 120 may implement “high-level” optimization models to determine or calculate a command that is then communicated to the on-board controller 118.
[0033] In the example of FIG. 1, the vehicle 102 includes an engine 104, an air system 106, sensors 107, engine sensors 108, fuel sensors 109, exhaust gas sensors 110, at least one battery 112, a fuel system 114, and an on-board controller 118. In some embodiments, the vehicle 102 may include more, fewer, or different components than in the embodiment shown in FIG. 1. For example, the vehicle may be structured as a full or partial electric vehicle and, as such, include different components, such as an electric motive device (e.g., electric motor or motor generator) that at least partially propels the vehicle. The vehicle 102 may be an onroad or an off-road vehicle including, but not limited to, line-haul trucks, mid-range trucks (e.g., pick-up trucks), and other types of vehicles. In other embodiments, the vehicle 102 may be a different piece of equipment or device, such as a power generator or genset. Thus, while the device or system is shown as a vehicle 102 herein, the systems, methods, and apparatuses described herein may be applicable to other pieces of equipment.
[0034] The engine 104 may be an internal combustion engine (ICE) such as a spark ignition (S.I.) engine or a compression ignition (C.I.) engine. Accordingly, the engine 104 includes one or more cylinders 122. One or more of the cylinders 122 may be individually controllable by one of the on-board controller 118 or the remote computing system 120. The engine 104 is structured to provide mechanical energy to power the vehicle 102. For example, the engine 104 is structured to consume a fuel (e.g., gasoline, diesel, hydrogen, etc.) to generate power. In other embodiments, the vehicle includes an electric engine such as an electric motor, a fuel cell engine, and / or any other suitable engine type. As such, the vehicle may be a hybrid vehicle (e.g., a parallel or series hybrid, a full electric vehicle, a plug-inhybrid vehicle, etc.), a fuel cell powered vehicle, and so on. Thus, the depiction of the vehicle 102 including an engine is not meant to be limiting.
[0035] The vehicle 102 may also include at least one battery 112. In some vehicle configurations, such as for at least partially electric vehicles, the at least one battery 112 is structured to provide power to an electric motive device. In some embodiments, the vehicle 102 is a range-extended electric vehicle having a range extender (e.g., a fuel-based auxiliary power unit, or other suitable range extender). When the vehicle includes an electric motive device, such as an electric motor, the electric motor(s) may generate electric power from one or more electrical energy storage devices (e.g., one or more batteries 112 that may be charged with electric power, a hydrogen source for fuel cell applications, etc.).
[0036] The air system 106 includes an exhaust 126 and an intake 128. The air system 106 is a system for directing and circulating air, which may be intake air and / or exhaust gas, through the vehicle 102 (e.g., for cooling, exhaust, fresh air intake, etc.). The intake 128 is structured to provide air to the engine 104. The exhaust 126 is structured to exhaust gas from the engine 104.
[0037] In some system configurations, the exhaust 126 may include an exhaust aftertreatment system 130. The exhaust aftertreatment system 130 may include various components depending on the application. For example, the exhaust aftertreatment system 130 may include one or more filters (e.g., a diesel particulate filter or other filtration device), one or more catalysts (e.g., a selective catalytic reduction system, a three-way catalyst, etc.), one or more reductant dosing systems and devices, one or more heaters 132, and / or any other aftertreatment system component / device. The exhaust aftertreatment system 130 is structured to reduce / change the amount / type of air contaminants (e.g., NOx, particulate matter, greenhouse gas (GHG), etc.), for example, by oxidizing carbon monoxide into carbon dioxide, reducing NOx into nitrogen gas, etc. The air system 106 may further include one or more of a variable-geometry turbocharger (VGT), an exhaust gas recirculation (EGR), an intake valve, an exhaust valve, a charge air cooler (CAC), an exhaust gas recirculation (EGR) cooler, one or more throttles, etc.
[0038] The heater 132 is structured to increase (e.g., by turning on or increasing power) or decrease (e.g., by turning off or decreasing power) the temperature of exhaust gasses and / or a component or system of the exhaust aftertreatment system 130. The heater 132 may be coupled to the exhaust aftertreatment system 130 and configured to either increase the temperature of the exhaust gas flowing through the exhaust aftertreatment system 130 and / or increase the temperature of one or more components of the exhaust aftertreatment system 130 (e.g., via convection and / or conduction). Raising the temperature of the exhaust gas and / or the exhaust aftertreatment system 130 (or part(s) thereof) with the heater 132 may increase the efficiency of one or more components, and particularly catalysts, of the exhaust aftertreatment system 130. The aftertreatment system heater 132 may include, but is not limited to a grid heater, a heater within the exhaust aftertreatment system 130 (e.g., directly coupled to a catalyst of the exhaust aftertreatment system 130), an induction heater, a micro wave heater, etc.
[0039] The battery 112 is structured to provide electric power to the components of the vehicle 102 directly or indirectly (e.g., via the on-board controller 118). In some hybrid or electric vehicle type scenarios, the battery 112 provides power to one or more electric machines (e.g., an electric motor or motor generator(s)) of the vehicle 102 that power or propel the vehicle 102. In some embodiments, the battery 112 is structured to be charge by an alternator (e.g., when the engine 104 is an ICE), regenerative power, solar power, and / or an external power source.
[0040] The vehicle 102 also includes a sensor array that includes a plurality of sensors, shown as sensors 107, engine sensors 108, fuel sensors 109, and exhaust gas sensors 110. The sensors are coupled, and particularly communicably coupled, to at least one of the on-board controller 118 and the remote computing system 120 such that at least one of the on-board controller 118 and the remote computing system 120 can monitor, receive, and / or acquire data indicative of operation (e.g., a state of operation, etc.) of the vehicle 102 (which may be referred to as operational data associated with the vehicle herein). For example, the sensors may be communicably coupled to each of the on-board controller 118 and the remote computing system 120. In other embodiments, the sensors 107 may be communicably coupled to one of the on-board controller 118 and / or the remote computing system 120. Forexample, the sensors 107 may be configured to output (e.g., send, etc.) information (e.g., operational parameters, etc.) to the on-board controller 118, and the on-board controller 118 may be configured to output (e.g., send, command, signal, etc.) the information to the remote computing system 120 over a network.
[0041] The sensors may be or include one or more physical (real) or virtual sensors. As used herein, a “physical sensor” or a “real sensor” is a sensor that detects operational data directly and is a physical structure. As used herein, a “virtual sensor” is a sensor that determines operational data based on other acquired data. For example, a virtual sensor may determine a vehicle speed based on a detected engine speed using one or more processes, algorithms, etc. Thus, a virtual sensor may be logic or instructions stored in the on-board controller 118 and executed to determine one or more values.
[0042] The sensors 107 represent any one or more sensors that may be included in the vehicle 102 (and / or with the piece of equipment depending on the configuration of the system, which his shown as a vehicle 102 in FIG. 1). The sensors 107 may be structured as one or more temperature sensors for sensing or determining a temperature at one or more locations, one or more pressure sensors for sensing a pressure at various locations, etc. The sensors 107 may detect or determine a vehicle speed, a vehicle acceleration, brake information (e.g., a time since last serviced, etc.), voltage and / or current for an electric motor and / or battery, fault or diagnostic code information, and / or any other operational data related to the engine 104, the battery 124, and / or other components / sy stems of the vehicle 102. The sensors may further detect a value for a vehicle weight (e.g., a gross vehicle weight), a vehicle location based on a GPS signal and / or a total or partial distance traveled, a vehicle speed, and / or a vehicle acceleration. The sensors 107 may include one or more sensors that receive or detect an ambient temperature, an atmospheric pressure, a humidity, and / or any other ambient parameter based on position or geographic location of the vehicle 102. In some embodiments, the sensors 107 include a wireless transceiver that is structured to receive a data signal including ambient data from an off-vehicle computing system (e.g., remote computing system 120, etc.). The ambient data may include any ambient parameter including ambient temperature, atmospheric pressure, humidity, weather information, predicted ambient data, etc.
[0043] The sensor array may further include any other sensors 107 in addition to the sensors described herein. Such sensors 107 may be used to determine a duty cycle for the vehicle 102, and more particularly, the engine 104. A duty cycle refers to a repeatable set of data, values, or information indicative of how the specific vehicle is being utilized for a particular application. In particular, a “duty cycle” refers to a repeatable set of vehicle operations for a particular event or for a predefined time period. For example, a “duty cycle” may refer values indicative of a vehicle speed for a given time period. In another example, a “duty cycle” may refer to values indicative of an aerodynamic load on the vehicle for a given time period. In yet another example, a “duty cycle” may refer to values indicative of a vehicle speed and an elevation of a vehicle for a given time period. In this regard and compared to a vehicle drive cycle, which is typically limited to time versus speed information, the term “duty cycle” as used herein is meant to be broadly interpreted and inclusive of vehicle drive cycles among other quantifiable metrics. Beneficially and based on the foregoing, the “duty cycle” may be representative of how a vehicle may operate in a particular setting, circumstance, or environment (e.g., a seventy-file mile stretch of a relatively flat freeway environment). In this regard, the vehicle duty cycle may vary greatly based on the vehicle (e.g., a two-door sedan vehicle versus a concrete mixer truck versus a refuse truck versus a semi-tractor trailer vehicle).
[0044] The sensor array may also include engine sensors 108 that detect / determine operational data regarding the engine 104. The engine sensors 108 may detect an operational efficiency of an individual cylinder 122 and / or of all active cylinders 122. The operational efficiency may include cylinder pressure values, a charge flow rate at a particular location, an oil flow rate at various positions, a hydraulic flow rate at a particular location, etc. In some embodiments, when the cylinders 122 are each selectively operable such that individual cylinders, or groups of cylinders are structured to be activated or deactivated, the engine sensors 108 are structured to detect operational efficiencies of active cylinders. The engine sensors 108 are structured to detect, for example, a temperature and / or any other operational data associated with the operation of the cylinders.
[0045] The sensor array may also include fuel sensor 109 for determining a fuel tank level a fuel economy, information indicative of flow rate of fuel, a fuel efficiency value, orother values indicative of operation of the fuel system 114. As such, the fuel sensors 109 may include flow rate sensors, sensors that determine an amount of fuel, and so on.
[0046] The received, detected, and / or determined information may also include a fuel efficiency value (e.g., average over a predefined time or distance, instantaneous, etc.) and / or any other operational data associated with engine 104 and / or vehicle 102. The cumulative values may be defined for a period, which may be based on a predefined amount of time (e.g., an operating time, a time between a predetermined start and endpoint, a distance, operating hours, etc.) and / or distance (a predefined distance in miles, kilometers or other unit of distance). The cumulative values may be associated with a given route, within a defined territory (e.g., state, region, etc.), etc.
[0047] The sensor array may also include various exhaust gas sensors 110 for sensing or determining information regarding operation of the exhaust aftertreatment system and / or exhaust gas of the vehicle 102. The sensors 110 may determine, acquire, receive, and / or otherwise collect information regarding, but not limited to, an exhaust gas recirculation flow (e.g., at a particular location, etc.), a NOx value (e.g., a cumulative NOx output over a predefined amount of time and / or distance, an instantaneous NOx output, a NOx reading at various places within the system such as an engine out NOx amount versus an aftertreatment system NOx output amount, a NOx output rate over time and / or distance, etc.), a particulate matter output such as a cumulative particulate matter output, GHG values such as a cumulative GHG output, and so on. The exhaust gas sensors 110 may be coupled at, in, or near the aftertreatment system of the vehicle 102 and / or elsewhere in the vehicle 102. For example, the exhaust gas sensors 110 may be coupled to the aftertreatment system near an engine outlet, upstream of a first catalyst (DOC), between a first catalyst and a second catalyst (SCR), downstream from second catalyst (e.g., SCR catalyst), etc.
[0048] As shown in FIG. 1, the components of the vehicle 102 are connected by data lines shown by the dotted lines. The data lines are structured to facilitate sending and receiving data information (e.g., commands, signals, etc.) to / from the components of the vehicle 102. In some embodiments, the data signals are structured to pass through one or more components such as the on-board controller 118 and / or the remote computing system 120. For example, the engine sensors 108 are operable to communicate with the fuel system114 such that the engine sensors 108 may detect operational data associated with the fuel system 114. Similarly, the exhaust gas sensor 110 are operable to communicate with each of the engine 104 and the fuel system 114 to detect operational data associated with the fuel system 114.
[0049] As described above and herein in more detail, each of the on-board controller 118 and the remote computing system 120 are operatively and communicatively coupled to various components of the vehicle 102. At least one of the on-board controller 118 or the remote computing system 120 are structured to control the operation of each of the components of the vehicle 102 by providing one or more commands to one or more of the various, systems, sub-systems, and / or components of the vehicle 102. For example, the onboard controller 118 and / or the remote computing system 120 are structured to change an operational parameter of the engine 104, the air system 106, the battery 112, and / or the fuel system 114 (e.g., a fuel injection rate, modulating a heat output from the exhaust heater, an engine torque and / or speed value, air handling equipment, etc.). In some embodiments, both the on-board controller 118 and the remote computing system 120 are configured to change an operational parameter of the engine 104 (or another component and / or system). In other embodiments, only one of the on-board controller 118 or the remote computing system 120 are configured to change (e.g., adjust, etc.) an operational parameter of the engine 104 (or another component and / or system).
[0050] Each of the on-board controller 118 and the remote computing system 120 is also structured to receive information, such as data signals, from various components and / or systems of the vehicle 102. For example, each of the on-board controller 118 and the remote computing system 120 can receive data from the engine sensors 108, the exhaust gas sensors 110. For example, each of the on-board controller 118 and the remote computing system 120 may be configured to receive data regarding the operation of the vehicle 102. The remote computing system 120 may be structured to output a command regarding a change to an operational parameter to the on-board controller 118 via a network. The on-board controller 118 may then output a command to the engine 104 to implement the command (e.g., operate the engine 104 according to the command, etc.).
[0051] The vehicle 102, and on-board controller 118, may be communicably coupled to the remote computing system 120 via a network. The network may be 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). In some embodiments, the network includes a combination of wired and / or wireless connections. For example, the vehicle 102 may connect to the network via an ethernet connection in order to communicably couple to the remote computing system 120. Further, V2X technology may be utilized to support a connection between the vehicle 102 and the remote computing system 120. All such variations and types of networks are intended to fall within the scope of the instant disclosure.
[0052] Now referring to FIG 2., a block diagram of the on-board controller 118 of the system of FIG. 1 is shown, according to an embodiment. The on-board controller 118 is coupled, and particularly wirelessly communicably coupled, to the remote computing system 120. In the example shown, the on-board controller 118 is an on-board controller of the piece of equipment, shown as a vehicle 102. As such, the on-board controller 118 may control one or more of the components, systems, and / or sub-systems of the vehicle 102, such as the engine 104, heater 132, valves, etc. The on-board controller 118 is structured to receive data from and output commands to vehicle 102 components and / or systems, such as the engine 104.
[0053] The on-board controller 118 may be structured as one or more electronic control units (ECU). The on-board controller 118 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 module, etc. In one embodiment, the components of the on-board controller 118 (e.g., the circuits depicted) are combined into a single unit. In another embodiment, one or more of the components may be geographically dispersed throughout the system.
[0054] As shown in FIG. 2, the on-board controller 200 includes at least one first controller processing circuit 202. The first controller processing circuit 202 includes at least one first processor 204 and at least one first memory 206. The first memory 206 is one or more devices (e.g., RAM, ROM, Flash memory, hard disk storage) for storing data and / orcomputer code for completing and / or facilitating at least some of the various processes described herein. The first memory 206 is or includes non-transient volatile memory, nonvolatile memory, and non-transitory computer storage media storing instructions that are executable by the first processor 204. The first memory 206 includes database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described herein. The first memory 206 is communicatively coupled to the first processor 204 and includes computer code or instructions for executing one or more processes described herein. The first processor 204 may be structured or implemented as one or more application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), a group of processing components, or other suitable electronic processing components. As such, the on-board controller 118 is configured to run a variety of application programs and store associated data in the first memory 206.
[0055] The on-board controller 118 can include additional or alternative components, for instance, to execute optimizing at least one parameter of the piece of equipment or portion thereof, shown as the vehicle 102. In various implementations, the on-board controller 118 may perform optimization operations (e.g., run prediction models along with optimizing models, etc.) regarding an operation parameter. The operation parameter may be one of, but is not limited to, an intake manifold pressure, and exhaust manifold pressure, an intake manifold oxygen concentration, an exhaust manifold oxygen concentration, a turbo rotational speed, a VGT position, a EGR amount and / or rate, an injected amount of fuel, a rail pressure, an injection timing, an engine torque and / or speed, a peak cylinder pressure, an equivalence ratio, etc. The on-board controller 118 is configured to determine control processes for optimizing one or more of the operating parameters. For example, the on-board controller 118 may use optimizers / optimization models and / or calculations to determine a control process for optimizing one or more of the operating parameters. For example, the on-board controller 118 may command an opening or a closing of an EGR valve, a turbo, adjusting the injection timing and / or the amount of injected fuel, and so on to optimize one or more of the operation parameters.
[0056] The on-board controller 118 may include a plurality of circuits, such as a sensor control circuit 208, an engine control circuit 210, a battery control circuit 212, a fuel control circuit 214, and an air system control circuit 216. In some embodiments, the on-board controller 118 may include more or fewer control circuits than as shown in FIG. 2. The sensor control circuit 208 is configured to control (e.g., send a command etc.) any one or more of the plurality of sensors of the system 100. The engine control circuit 210 is configured to control (e.g., send a command etc.) any of the various components of the engine 104. For example, the engine control circuit 210 may adjust an operating parameter of the engine 104 (e.g., an engine speed, an engine torque, etc.). The battery control circuit 212 is configured to control the battery 112. For example, the battery control circuit 212 may command the battery 112 to supply power to an electric motive device or other electric machine, or command the battery 112 to shut off (e.g., not supply power, etc.). The fuel control circuit 214 is configured to control operation of the fueling system 114 (e.g., an amount of fuel injected, a timing of the injection, etc.). The air system control circuit 216 is structured to control operation of the air system, such as a position of the VGT and / or intake air valve in order to control air handling characteristics of the vehicle 102.
[0057] The on-board controller 118 also includes a first modeling circuit 218. The first modeling circuit 218 is structured or configured to generate an optimized an output parameter value for predictive control of the vehicle 102 or portion thereof. The first modeling circuit 218 is configured to predict, estimate, and / or determine one or more operation parameters, via one or more algorithms, statistical models, etc. (e.g., a Koopman Linear Predictor (KLP), dynamics (e.g., longitudinal) of the vehicle 102 (or, piece of equipment when not applied to the vehicle 102), etc.). In some arrangements, the first modeling circuit 218 includes one or more specialized circuits having any combination of hardware and software. For example, the first modeling circuit 218 can include one or more circuits structured or configured to implement, execute, update, or otherwise manage the model(s) to perform the features discussed herein, such as optimizing at least one operating parameter of a device. The first modeling circuit 218 may include a plurality of models and / or modeling circuits.
[0058] The first modeling circuit 218 of the on-board controller 118 may include a plurality of optimizer tools 220. The optimizer tools 220 may utilize a relatively smallamount of computing power (e.g., below a tolerable threshold of storage space of the first memory 206, under a tolerable threshold amount of processing power / computing time of the first processor 204). For example, the first modeling circuit 218 may store and execute a single precision low order model (e.g., less than 16ms per task, etc.). The first modeling circuit 218 of the on-board controller 118 may utilize a plurality of different optimizer model (types).
[0059] The on-board controller 118 also includes a communication interface 222. The communication interface 222 is configured to communicate with components and / or systems of the vehicle 102. Communication between and among the components may be via any number of wired and / 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. The communication interface 222 may also support out-of-vehicle communications, such as V2X and with the remote computing system 120. For example and regarding out-of-vehicle / system communications, the communication interface 222 may include an Ethernet card and port for sending and receiving data via an Ethernet-based communications network and / or a Wi-Fi transceiver for communicating via a wireless communications network. In some embodiments, a telematics device may be included with the vehicle 102 that enables out-of-vehicle communications. The communication interface 222 may be structured to communicate via local area networks or wide area networks (e.g., the Internet) and may use a variety of communications protocols (e.g., IP, LON, Bluetooth, ZigBee, radio, cellular, near field communication). In operation, the communication interface 222 may receive a command from the remote computing system 120 and send an output associated with the command to systems and / or devices of the vehicle 102 (e.g., the engine 104).
[0060] Due to being on-board the vehicle 102, the on-board controller 118 may be configured or structured to calculate, model and / or determine critical parameter adjustments and / or adjustments that require a predefined fast response time (e.g., less than twenty secondsand, particularly, less than two seconds and potentially even quicker). The on-board controller 118 may perform calculations (e.g., determinations, etc.) and / or modeling that needs to be run in real time or near real time. The critical parameters may be, for example, parameters for sensitive operations such as those of the powertrain of the vehicle 102. For example, critical parameter adjustments may include, but are not limited to, VGT control, a EGR control, an injected amount of fuel, a rail pressure, an injection timing, etc.. . .
[0061] Referring now to FIG. 3, the remote computing system 120 is shown, according to an example embodiment. The remote computing system 120 is a remote computing system relative to the vehicle 102 (and, particularly, on-board controller 118), such as a remote server, a cloud computing system, and the like. In some embodiments, the remote computing system 120 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 120 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).
[0062] The remote computing system 120 includes a second controller 300 that may be communicably coupled to the on-board controller 118 via the network. As mentioned above, the network may be at least one of wireless connection, which may include the Internet, WiFi, cellular, Bluetooth, ZigBee, radio, etc. Via the network, the second controller 300 may periodically receive one or more operating parameters of the vehicle 102, including, but not limited to, an intake manifold pressure value, an exhaust manifold pressure value, an intake manifold oxygen concentration value, an exhaust manifold oxygen concentration value, a turbo rotational speed value, a VGT control signal value, a EGR control signal value, an injected amount of fuel value, a rail pressure value, an injection timing value, a change in NOx sensor readings value, a brake torque value, a peak cylinder pressure value, an equivalence ratio value, and / or so on. The operating parameter values may be instantaneous values and / or representative values (e.g., average, maximum, minimum, median, or another metric of the value over a predefined duration of operation, such as time or distance travelled / operated for the vehicle 102).
[0063] The second controller 300 of the remote computing system 120 includes at least one second controller processing circuit 302. The second controller processing circuit 302includes at least one second processor 304 and at least one second memory 306. Similar to the first memory 206, the second memory 306 is one or more devices (e.g., RAM, ROM, Flash memory, hard disk storage) for storing data and / or computer code for completing and / or facilitating the various processes described herein. The second memory 306 is or includes non-transient volatile memory, non-volatile memory, and non-transitory computer storage media storing instructions that are executable by the second processor 304. The second memory 306 includes database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described herein. The second memory 306 is communicatively coupled to the second processor 304 and includes computer code or instructions for executing one or more processes described herein. The first processor 204 is implemented as one or more application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), a group of processing components, or other suitable electronic processing components. As such, the second controller 300 is configured to run a variety of application programs and store associated data in a database of the second memory 306. Relative to the on-board controller 118, the remote computing system may comprise one or more servers that may include one or more of the various components listed above. As a result, the processing power and storage space may be considerably faster and greater than that of the on-board controller 118.
[0064] The second controller 300 includes a second modeling circuit 308. The second modeling circuit 308 is configured to predict, estimate, and / or determine via one or more algorithms, statistical models, at least one operating parameter. In some arrangements, the second modeling circuit 308 includes one or more specialized circuits having any combination of hardware and software. For example, the second modeling circuit 308 can include one or more circuits structured or configured to implement, execute, update, or otherwise manage the model(s) to perform certain of the features discussed herein, such as optimizing at least one operating parameter of vehicle 102 or portion thereof. The second modeling circuit 308 is configured to receive at least one operating parameter, such as an intake manifold pressure, an exhaust manifold pressure, an intake or exhaust manifold oxygen concentration, a turbo rotational speed, a turbo position, a valve position, an injected amount of fuel, a rail pressure, an injection timing, or a current peak cylinder pressure, or acurrent air-fuel equivalence ratio (e.g., sensor data, etc.), from the on-board controller 118. The second modeling circuit 308 also receives one or more runtime parameters, such as a rotational engine speed, ambient pressure, ambient temperature an intake manifold temperature, a reference torque. The second modeling circuit 308 inputs the one or more operating parameters and the one or more runtime parameters into the one or more models to compute an output, such as a control process command.
[0065] The second modeling circuit 308 may include a plurality of models and / or modeling circuits. For example, the second controller 300 may include a second model optimizing circuit 310. The second model optimizing circuit 310 is configured to receive at least one first output parameter (e.g., a control process command, an optimized value of an operating parameter, etc.) from the on-board controller 118 or an output from the first modeling circuit 218) and at least one second output parameter (e.g., a control process command, an optimized value of an operating parameter, etc.) from the second modeling circuit 308 of the remote computing system 120 (e.g., from the second modeling circuit 308).
[0066] The second modeling circuit 308 may also include a plurality of second optimizer tools 312 that require any amount of storage space (e.g., of the second memory 306) as there may be limited space constraints as compared to the on-board controller. For example, the second optimizer tools 312 may require a large amount of storage space due to the complexity of the models and / or algorithms that are selectively executed. Further, the plurality of second optimizer tools 312 may require a large (e.g., above the tolerable threshold amount, etc.) of processing power / computing time of the second processor 304. For example, the second optimizer tools 312 may include model update logic and an optimization solver. In various embodiments, the optimization solver may be a gradient optimizer, genetic algorithm, model predictive control, or other optimization solver. The second optimizer tools 312 are configured to update and optimize the model of each of the remote computing system 120 and the on-board controller 118.
[0067] The second model optimizing circuit 310 is also configured to determine a difference (e.g., via comparison) between the first output and the second output. For example, if the difference between the first output and the second output is greater than a predefined threshold difference value, the second model optimizing circuit 310 is configured to calculatean adjustment (e.g., a value, etc.). The second model optimizing circuit 310 is then configured to command (e.g., send a signal, etc.) the on-board controller 118 to adjust the first modeling circuit 218 based on the adjustment value. While the first modeling circuit 218 is adjusting, the second controller 300 may also command the on-board controller 118 to operate based on the second output. For example, the first output and the second output may be a command process that includes adjusting an operating parameter (e.g., an amount of fuel injected) to a new, optimized value (e.g., amount of fuel at various times). The second model optimizing circuit 310 is configured to receive each of the first output regarding a new injection amount and the second output regarding a new injection amount and then compare each of the amounts. If the difference between the first output regarding a new injection amount and the second output regarding a new injection amount is within an acceptable range (e.g., within a threshold range, within one standard deviation difference, etc.), the second model optimizing circuit 310 determines there is no significant difference. In response to the difference between the first output regarding a new injection amount and the second output regarding a new injection amount being outside of (e.g., greater than, etc.) the acceptable range, the second model optimizing circuit 310 is configured to determine (e.g., compute, calculate, etc.) an adjustment value and command the on-board controller 118 to adjust, based on the adjustment value, the first modeling circuit 218. In other embodiments, the first output and the second amount may be indicative of an optimizing injection timing, turbo position, valve position, rail pressure, engine torque, engine speed, etc.
[0068] The second controller 300 also includes a communication interface 314. The communication interface 314 may include an Ethernet card and port for sending and receiving data via an Ethernet-based communications network and / or a Wi-Fi transceiver for communicating via a wireless communications network. The communication interface 314 may be structured to communicate via local area networks or wide area networks (e.g., the Internet) and may use a variety of communications protocols (e.g., IP, LON, Bluetooth, ZigBee, radio, cellular, near field communication). Thus, the communication interface 314 may include any transceiver or hardware component for enabling wired and / or wireless communications. The communication interface 314 is configured to communicate with at least the on-board controller 118. For example, the remote computing system 120 is configured to transmit or provide commands or signals to the on-board controller 118 foroperating the engine 104. According to this embodiment, the remote computing system 120 receives sensor data from the vehicle 102, and the communication interface 314 is configured to output communications, such as commands, to the on-board controller 118 to operate the vehicle 102 (e.g., engine 104) based on the command. The communications may also relay, transmit, and / or otherwise provide commands for updating or adjusting the first modeling circuit 218 of the on-board controller 118.
[0069] Now referring to FIG. 4, the on-board controller 118 and the second controller 300 are coupled to a device, shown as the engine 104, is depicted, according to an example embodiment. This depiction shows the dual processing capabilities for a component, where the component may be a specific component (e.g., the engine) as compared to a vehicle or other piece of equipment as a whole. The on-board controller 118 is coupled to the engine 104, such that the on-board controller 118 is positioned on or near the engine 104. The second controller 300 is positioned a distance away from the engine 104 and thus also a distance away from the on-board controller 118. For example, the second controller 300 may be a cloud controller.
[0070] The on-board controller 118 receives operating parameters “X” and communicates the operating parameters “X” to the remote computing system 120. The operating computing parameters “X” include, but are not limited to, an intake manifold pressure, an exhaust manifold pressure, an intake or exhaust manifold oxygen concentration, a turbo rotational speed, a turbo position, a valve position, an injected amount of fuel, a rail pressure, an injection timing, or a current peak cylinder pressure, or a current air-fuel equivalence ratio (e.g., sensor data, etc.). Each of the on-board controller 118 and the remote computing system 120 receive the parameters (e.g., rotational engine speed, ambient pressure, ambient temperature an intake manifold temperature, a reference torque). At least one of the on-board controller 118 and the remote computing system 120 optimize, using models and / or various algorithms, an optimized output value. The optimized value or control process command is then communicated to the device, which is shown as the engine 104. As such, the engine 104 may output a desired brake torque, peak cylinder pressure, equivalence ratio, etc., which is shown as” Y” in FIG. 4.
[0071] Referring now to FIGS. 5 A and 5B, a method 500 for operating an on-board controller and a method 600 for operating a remote computing system are shown, according to example embodiments. The method 500 may be implemented by the on-board controller 118 and the method 600 may be implemented by the remote computing system 120 (e.g., second controller 300). In some embodiments, methods 500 and 600 are executed / performed simultaneously. For example, in one embodiment, the on-board controller and the second controller 300 of the remote computing system 120 are configured to operate in parallel.
[0072] Each of the on-board controller 118 and the second controller 300 receive an operating parameter at steps 502 and 602, respectively. For example, at step 502, the onboard controller 118 may receive the operating parameter(s) via one or more sensors 107- 110. At step 602, the second controller 300 receives the operating parameter(s) via one or more sensors 107-110. In some embodiments, step 502 and step 602 may happen at the same time. In other embodiments, the on-board controller 118 may receive the operating parameter first and then provide (e.g., communicate, etc.) the operating parameter to the second controller 300 of the remote computing system 120 (e.g., over the network). For example, the second controller 300 may receive the operating parameter from the on-board controller 118.
[0073] At step 504 and step 604, each of the on-board controller 118 and the second controller 300 obtain a first model and a second model respectively. Each of the first model and the second model are associated with the received operating parameter(s). The first model and the second model may be a mathematical model, a statistical model, and / or a machine learning model (e.g., artificial intelligence). For example, each of the first model and the second model include models and / or formulas for determining an output parameter, value, or command based on the received operating parameter. The second controller 300 of the remote computing system 120 may retrieve the second model(s) from the memory. Likewise, the first controller 118 (e.g., the on-board controller, etc.) may retrieve the first model(s) from its memory. Thus, the first model may be pre-loaded or pre-embedded in the first memory of the on-board controller 118.
[0074] At step 506, the on-board controller 118 executes the first model (e.g., runs, performs, etc.). At step 508, the on-board controller 118 generates or determines an optimized first output value (e.g., a valve position, an injection time, an injection amount, acommand process to achieve a desired operating condition, etc.). For example, the on-board controller 118 inputs operating parameters into models to predict or simulate a value or position, such as a valve position, or an injected amount of fuel in order to achieve or attempt to achieve a desired operating condition (e.g., change in NOx sensor readings, brake torque, peak cylinder pressure, equivalence ratio, etc.). The model may be continuously performed / executed by determining (e.g., selected, calculating, etc.) the value (e.g., the optimized output value) that will, when input into the model, model or represent operating conditions that satisfy the desired operating condition. The value is then output as the optimized first value.
[0075] At step 606, the second controller 300 executes the second model. At step 606, the remote computing system 120 determines an optimized second output value based on executing the second model(s) (e.g., a valve position, an injection time, an injection amount, a command process to achieve a desired operating condition, etc.). The second controller 300 may use a plurality of models and iteratively adjust and input operating parameters to determine the optimized second output value. In some embodiments, the remote computing system 120 provides the second output value via the network to the on-board controller 118. In this way, the on-board controller 118 is configured to receive a command (e.g., from the second controller 300) at step 510. At step 512, the on-board controller 118 is configured to operate the device (e.g.., the vehicle 102 or a portion thereof such as the engine 104, etc.) according (e.g., based on, in response to, etc.) to the command.
[0076] At step 608, the second controller 300 is configured to determine the optimized second output value from the second model. At step 610, the second controller 300 is configured to receive the optimized first output value via the network. At step 612, the second controller 300 determines (e.g., calculates, etc.) a difference between the first optimized output value and the second optimized output value and determines if the difference is less than or equal to a predefined difference threshold (step 614).
[0077] If the task, such as optimizing an operating parameter or determining a control process command for adjusting an operating state, is not urgent or time sensitive, the second controller 300 is structured to compare the optimized first output value from the on-board controller to the optimized second value from the second controller 300. In response todetermining that the difference is less than or equal to a predefined difference threshold, the second controller 300 commands the on-board controller 118 (e.g., the onboard controller, etc.) to operate the piece of equipment (e.g., vehicle 102 or part thereof) based on the optimized first output value from the first model (step 616). In this way, the latency of sending / receiving information over a network may not adversely affect operation of the vehicle 102.
[0078] In response to determining that the difference is greater than the predefined difference threshold, the second controller 300 is configured to command the on-board controller 118 to operate the device (e.g., the engine) based on the optimized second output based on the second model (step 618). Additionally, the second controller 300 may command the on-board controller 118 to adjust the optimization parameter of the first model according to determined difference (step 620).
[0079] According to the embodiment of FIGS. 4-5B, the each of the on-board controller 118 and the second controller 300 receive the operating parameter. The on-board controller 118 is configured to obtain the first model and optimize the parameter based on the first model, while the second controller 300 is configured to obtain the second model and optimize the parameter based on the second model. However, according to this embodiment, only the on-board controller 118 is configured to operate a vehicle 102 component or system (e.g., the engine 104) based on one of the optimized first output or the optimized second output.
[0080] As shown in FIGS. 4-5B, the on-board controller 118 and the second controller 300 are both optimizing the same parameter. For example, the on-board controller 118 and the second controller 300 are using different models to determine an output (e.g., an optimized parameter). For example, the on-board controller 118 may be implementing (e.g., using, etc.) a lower order model, a simplified model, or a single-precision MPC, etc. Thus, the on-board controller 118 may reduce a number of states in order to reduce computational load (e.g., reduce storage, reduce computing power, etc.). On the other hand, the second controller 300 may be implementing a higher order model, a higher accuracy model, or a double-precision arithmetic model, but is not limited thereto. In this embodiment, the onboard controller 118 and the second controller 300 are operating (e.g., working, computing, etc.) in parallel.
[0081] Thus, according to the embodiment of FIGS. 4-5B, the output for operating the vehicle 102 system may be determined by comparing and selecting (e.g., determining, etc.) one of the optimized first output or the optimized second output as described above. In other embodiments, the output for operating the vehicle 102 may be determined via a representative value (e.g., an average, min. or max. value, median value, etc.) associated with the optimized first output parameter and a value associated with the optimized second output parameter.
[0082] Further, in the embodiment of FIGS. 4-5B and as discussed above, the on-board controller 118 and the second controller 300 may each receive data from at least one of the plurality of sensors 107, 108, 109, 110. The second controller 300 may be running a plurality of models in the second modeling circuit 308 (e.g., second MPC, etc.) and then comparing the output from the second modeling circuit 308 to actual data received at a later point in time form the sensor. For example, the second controller 300 may be configured to perform power simulations (e.g., Monte Carlo simulations, etc.). In other implementations, the on-board controller 118 and the second controller 300 receive different operating parameters (e.g., input values, an intake manifold pressure, an exhaust manifold pressure, an intake or exhaust manifold oxygen concentration, a turbo rotational speed, a turbo position, a valve position, an injected amount of fuel, a rail pressure, an injection timing, or a current peak cylinder pressure, or a current air-fuel equivalence ratio, etc.). In this embodiment, steps 502 through 512 are completed by the on-board controller 118. For example, the on-board controller calculates or determines a value for adjusting an operating state of the end. For example, the on-board controller 118 may calculate an amount of fuel that should be injected or a percent value a valve should be opened and command the fuel system to provide the calculated amount of fuel or adjust the valve to the calculated percent value open (e.g., 10% open, etc.). In this embodiment, the on-board controller 118 is delegated critical, time sensitive tasks that require immediate or near immediate control process commands. Further, in this embodiment, steps 602-608 are completed by the second controller 300, and the optimized second value is then output, or communicated to the on-board controller 118 for implementation. In this embodiment, the second controller 300 is delegated non-critical, nontime sensitive calculations that require large amount of processing power and storage.
[0083] Now referring to FIG. 6, a system and method of operating the system of FIG. 1 is shown, according to another embodiment. In this embodiment, the on-board controller 118 and the second controller 300 are configured to operate in series as described in greater detail herein. According to this embodiment, the second controller 300 is communicably coupled (e.g., via a wireless connection, such as Bluetooth, 5G, etc.) to each of the device under control (e.g., the engine) and the on-board controller 118.
[0084] The second controller 300 receives one or more operating parameters “X” and communicates the operating parameters “X” to the remote computing system 120. The remote computing parameters “X” include, but are not limited to, an intake manifold pressure, an exhaust manifold pressure, an intake or exhaust manifold oxygen concentration, a turbo rotational speed, a turbo position, a valve position, an injected amount of fuel, a rail pressure, an injection timing, or a current peak cylinder pressure, or a current air-fuel equivalence ratio (e.g., sensor data, etc.). The remote computing system 120 also receives runtime parameters (e.g., rotational engine speed, ambient pressure, ambient temperature an intake manifold temperature, a reference torque). The remote computing system 120 optimizes, using models or calculations, the output, shown as Output 1 (e.g., an optimized value regarding an intake manifold pressure, reference value, an intake manifold oxygen concentration reference value, a rail pressure value, an injected amount of fuel, or an injection timing) to achieve or attempt to achieve a desired operating condition. The optimized value is then received by the on-board controller 118. The on-board controller 118 then utilizes the optimized value to determine one or more operating parameters (e.g., a turbo position (e.g., open, closed, 10% open, 50% open, etc.), an EGR valve position (e.g., open, closed, 10% open, 50% open, etc.), a rail pressure value, an injected amount of fuel value, etc.), thus adjusting an operating parameter of the engine (e.g., a valve position, injection timing, etc.). As such, the engine 104 may output a desired parameter (e.g., a change in NOx sensor readings, a brake torque, peak cylinder pressure, an equivalence ratio, etc.), which is shown as” Y” in FIG. 6.
[0085] An example method of operation based on this embodiment is shown in FIG. 7. At step 702, the second controller 300 receives a first operating parameter (e.g., an intake manifold pressure, an exhaust manifold pressure, an intake manifold oxygen concentration,an exhaust manifold oxygen concentration, a turbo rotational speed, etc.). At step 704, the second controller 300 obtains a first model and optimizes the first operating parameter. The second controller 300 then receives a reference value outputted form the optimized first value at step 706.
[0086] The second controller 300 then outputs (e.g., sends a command, sends a signal, etc.) to the on-board controller 118 such that at step 708 the on-board controller 118 receives the reference value. Then at step 710, the on-board controller 118 obtains a second model and optimizes the second operating parameter using the second model. At step 712, the on-board controller 118 receives or determines a second operating parameter value (e.g., a second optimized value, etc.) from the second model. The on-board controller 118 then operates the device (e.g., the engine 104) based on the second operating parameter at step 714.
[0087] In some embodiments, the second controller 300 is a primary controller. As the primary controller, the second controller 300 is configured to determine a reference value (e.g., a reference value associated with the air pathway, such as the intake manifold pressure, the intake manifold oxygen concentration, etc.). For example, the model obtained by the second controller 300 may include a double precision, high order model (e.g., 128 ms per task, etc.), thus the second controller 300 is configured to determine parameters, such as the reference value, which require high accuracy modeling capability. The on-board controller 118 may include a single precision, low order model (e.g., 16 ms per task, etc.). Thus, the onboard controller 118 is configured to determine parameters, such as an actuator position, which require relatively quick determination and require low operational load / computing power. For example, these tasks may be critical to the operation of the vehicle 102 and may be time sensitive.
[0088] In some embodiments, the first operating parameter may be one of a intake manifold pressure, an exhaust manifold pressure, an intake manifold oxygen concentration, an exhaust manifold oxygen concentration, a turbo rotational speed, an EGR control signal a VGT control signal, an injected amount of fuel, a brake torque, a peak cylinder pressure (PCP), an equivalence ratio, an injected amount of fuel, an injection timing, a change in NOx sensor readings, etc. According to this embodiment, the reference value may be one of an exhaust manifold pressure reference value, an exhaust manifold oxygen concentrationreference value, an injected amount of fuel reference value, a rail pressure reference value, an injection timing reference value, etc. Once the reference value is received by the on-board controller 118, the on-board controller 118 is configured to obtain and optimize a second parameter based on the reference value. The on-board controller 118 is then configured to determine an updated second operating parameter value. According to this embodiment, the second operating parameter value may be a value associated with one of a VGT control signal, an EGR control signal, an injected amount of fuel, a pressure rail value, or an injection timing.
[0089] According to the embodiment of FIGS. 6 and 7, only the second controller 300 (e.g., remote computing system controller, a cloud controller, remote controller, remote controlling system, cloud controlling system, etc.) receive the first operating parameter from the device (e.g., the engine). The second controller is then configured to obtain a model and use that model to optimize the first operating parameter to obtain a reference value. The onboard controller 118 is then configured to receive the reference value from the second controller 300 and obtain a model and optimize the parameter (and, model, in some embodiments) based on the reference value to output a second operating parameter. The onboard controller 118 then operates the device (e.g., the engine) based on the value associated with the second operating parameter.
[0090] As shown in FIGS. 6 and 7, the on-board controller 118 and the second controller 300 are configured to operate in series. As described above, the second controller 300 receives the parameter and performs a first optimization to determine a reference value. The second controller 300 then outputs the reference value to the on-board controller 118, wherein the on-board controller 118 then performs a second optimization to determine a value indicative of an output for operating the vehicle 102. According to this embodiment, the first controller may be an ECM including ECM optimizer tools. Further, the on-board controller 118 may be a conventional proportional integral derivative (PID) controller or a reference-tracking MPC.
[0091] 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 thisdisclosure 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.
[0092] 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).
[0093] 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 members coupled 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).
[0094] As mentioned above and in some configuration, the “circuits” may be implemented in machine-readable medium for execution by various types of processors, such as the first processor 204 of FIG. 2 and the second processor 304 of FIG. 3. 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 many instructions, 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.
[0095] As used herein the terms “adjusting” and “changing” and similar terms are used interchangeably to mean changing or modifying an operational parameter by generating and / or transmitting a control signal or command (e.g., by a controller, such as an on-board controller 118 or second controller 300) to one or more systems, sensors, and / or components of a device (e.g., the vehicle, etc.) such that the system, sensor, and / or component changes one or more particular operational parameters. Such adjustments may be iterative, in which multiple adjustment are made until a desired output is reached. For example, a desired output may include a desired change in NOx sensor readings, a desired brake torque, a desired peak cylinder pressure, a desired equivalence ratio, etc. In some embodiments, the adjustment may be made based on a statistical model and / or a machine learning model (e.g., artificial intelligence).
[0096] 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 moreprocessors 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.
[0097] 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.
[0098] 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.
[0099] 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.
[0100] 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.
[0101] 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 standalone 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).
[0102] 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 tofunction 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.
[0103] Although the figures and description may illustrate a specific order of method processes, the order of such processes may differ from what is depicted and described, unless specified differently above. Also, two or more processes 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 rulebased logic and other logic to accomplish the various connection processes, processing processes, comparison processes, and decision processes.
[0104] 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 provider computing system, the provider computing system comprising: at least one processing circuit comprising at least one processor coupled to at least one memory, the at least one processing circuit wirelessly coupled to an on-board controller of a system, wherein the at least one memory stores instructions therein that, when executed by the at least one processor, causes the at least one processing circuit to perform operations comprising: receiving one or more operating parameters of the system; retrieving a model associated with the one or more operating parameters of the system; executing the model to generate an output associated with the one or more operating parameters; and transmitting the output to the on-board controller to operate the system based on the output.
2. The provider computing system of claim 1, wherein the system is a vehicle system, and the on-board controller is a control system for the vehicle system.
3. The provider computing system of claim 1, wherein the one or more operating parameters include a first operating parameter that is designated as a critical operating parameter and a second operating parameter that is designated as non-critical operating parameter.
4. The provider computing system of claim 3, wherein the generated output is associated with the second operating parameter.
5. The provider computing system of claim 3, wherein the output comprises an improvement to at least one of a model or an algorithm stored and executed by the on-board controller.
6. The provider computing system of claim 1, wherein the instructions, when executed by the at least one processor, further cause the at least one processing circuit to perform operations comprising:obtaining an optimized model based on the one or more operating parameters; determining, from the optimized model, a reference value associated with the one or more operating parameters; and transmitting the reference value to the on-board controller for use with a control process stored by the on-board controller.
7. The provider computing system of claim 6, wherein the system is a vehicle, and the one or more operating parameters comprise a control parameter associated with an air pathway of the vehicle.
8. The provider computing system of claim 7, wherein the control parameter associated with the air pathway is at least one of an intake manifold pressure or an intake manifold oxygen concentration.
9. The provider computing system of claim 6, wherein the system is a vehicle, and wherein the one or more operating parameters comprise an actuator position control parameter.
10. The provider computing system of claim 6, wherein the instructions, when executed by the at least one processor, further cause the at least one processing circuit to perform operations comprising receiving a runtime parameter, and wherein the model is associated with each of the one or more operating parameters and the runtime parameter.
11. The provider computing system of claim 6, wherein the optimized model is a double precision high order model, and wherein the control process includes a single precision low order model.
12. A computing system for adjusting operation of a system comprising: at least one processing circuit comprising at least one processor coupled to at least one memory, the at least one processing circuit wirelessly coupled to an on-board controller of a system, wherein the at least one memory stores instructions therein that, when executed by the at least one processor, causes the at least one processing circuit to perform operations comprising: receiving one or more operating parameters of the system;receiving a first output associated with the one or more operating parameters generated by a first model; retrieving a second model associated with the one or more operating parameters of the system; executing the second model to generate a second output associated with the one or more operating parameters; and in response to a difference between the second output and the first output being greater than a threshold, transmitting the second output to the on-board controller to operate the system based on the second output.
13. The computing system of claim 12, wherein the instructions, when executed by the at least one processor, further cause the at least one processing circuit to perform operations comprising: in response to the difference between the second output and the first output being less than or equal to the threshold, transmitting the first output to the on-board controller to operate the system based on the first output.
14. The computing system of claim 12, wherein the second output comprises an improvement to at least one of a model or an algorithm stored and executed by the on-board controller.
15. The computing system of claim 12, wherein the system is a vehicle system, and the on-board controller is a control system for the vehicle system.
16. A method for adjusting operation of a system, the method comprising: receiving, by an on-board controller, a reference value and one or more second operating parameters of the system, the reference value associated with one or more first operating parameters and generated by a first model; retrieving, by the on-board controller, a second model associated with the reference value and the one or more second operating parameters of the system; executing, by the on-board controller, the second model to generate an output associated with the reference value and the one or more second operating parameters; and operating, by the on-board controller, the system based on the output.
17. The method of claim 16, wherein the system is a vehicle system, and the on-board controller is a control system for the vehicle system.
18. The method of claim 16, wherein the first model is a double precision high order model, and wherein the second model includes a single precision low order model.
19. The method of claim 16, wherein the one or more first operating parameters are designated as a critical operating parameters and the one or more second operating parameters are designated as non-critical operating parameters.
20. The method of claim 16, wherein the one or more first operating parameters are associated with at least one of an intake manifold pressure, an exhaust manifold pressure, an intake manifold oxygen concentration, an exhaust manifold oxygen concentration, or a turbo rotational speed, and wherein the one or more second operating parameters are associated with at least one of a VGT control signal, an EGR control signal, an injected amount of fuel, a pressure rail value, or an injection timing.
Citation Information
Patent Citations
Locomotive control system
US20180237040A1
Predictive control system and method for vehicle systems
WO2023049124A1