Camless reciprocating engine control system
The camless reciprocating engine control system addresses the limitations of fixed parameters in conventional engines by using LAS sensors and AI/ML to dynamically optimize engine operation in real-time, enhancing efficiency and reducing emissions.
Patent Information
- Application Number
- JP2024565113
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-05-05
- Publication Date
- 2025-06-18
AI Technical Summary
Conventional reciprocating engines with mechanical camshafts face limitations due to fixed parameters for engine components, leading to compromises in optimal intake and exhaust timing across varying engine loads.
A camless reciprocating engine control system utilizing laser absorption spectroscopy (LAS) sensors and artificial intelligence/machine learning (AI/ML) to dynamically manage engine components such as intake and exhaust valves, fuel injectors, and spark plugs, optimizing engine operation in real-time.
The system enables real-time optimization of engine operation by dynamically adjusting parameters within milliseconds, improving efficiency and reducing emissions across various engine loads and conditions.
Smart Images

Figure 2025518630000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to reciprocating engines, and more specifically to real-time adaptive flexible-fuel engines that use sensor feedback.
Background Art
[0002] Description of Related Art Reciprocating engines use parameters regarding engine functions such as the timing, duration, and phase of various engine components. In conventional reciprocating engines with a mechanical camshaft, the parameters are fixed, resulting in a compromise of the optimal intake and exhaust timing between high and low engine loads. The feature of a camless engine is to remove the mechanical camshaft, thereby enabling variable valve timing (VVT) by electromagnetic or hydraulic actuation of valves that control intake and exhaust.
Summary of the Invention
[0003] In some aspects, the technology described herein includes a cylinder that houses a reciprocating piston, an engine component associated with the cylinder, the engine component being selected from the group consisting of an intake valve, an exhaust valve, a spark plug, a fuel injector, and a variable compression mechanism, an actuator coupled to the engine component and configured to control the operation of the engine component, an optical sensor configured to generate sensor data regarding an attribute of the cylinder operation, and a controller coupled to the optical sensor and the actuator. The controller receives sensor data from the optical sensor and processes the sensor data using a neural network trained to generate actuator command data associated with a desired optimization of the engine operation, and initiates the operation of the actuator based at least in part on the actuator command data. The technology relates to a camless reciprocating engine comprising the above components.
[0004] In some aspects, the techniques described herein include a computer-readable memory storing executable instructions, and one or more computer processors in communication with the computer-readable memory and programmed to, at least by the executable instructions, obtain training data including a plurality of training data input vectors and a plurality of reference data output vectors, wherein the training data input vectors among the plurality of training data input vectors represent sensor data regarding attributes of the operation of a camless engine, and the reference data output vectors among the plurality of reference data output vectors represent actuator command data generated by a machine learning model from the training data input vectors, train a machine learning model using the training data and an objective function, wherein the objective function is associated with optimization of engine function, and provide a machine learning model trained for one or more camless engines. The present disclosure relates to a system comprising the foregoing.
[0005] Embodiments of various features of the present invention will now be described with reference to the following drawings. Throughout the drawings, reference numerals may be reused to indicate a correspondence between the referenced elements. The drawings are provided to illustrate exemplary embodiments described herein and are not intended to limit the scope of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0006]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
[0007] The present disclosure is directed to a camless reciprocating engine control system that uses a laser absorption spectroscopy (LAS) sensor and artificial intelligence / machine learning to optimize engine operation. The control system evaluates LAS sensor data in real-time or near real-time and optimizes engine operation through the dynamic management of camless engine components such as intake valves, exhaust valves, fuel injectors, spark plugs, and variable compression mechanisms. Advantageously, the real-time or near real-time evaluation and optimization can, in some embodiments, be based on LAS sensor data of up to milliseconds regarding the state of the engine, and as a result, changes to the operation of the engine components can be brought about within milliseconds or microseconds from the evaluation of the LAS sensor data. Thus, the control system can implement changes to the operation of the engine components within a single engine cycle or within a single step of an engine cycle (e.g., within a single step of a two-stroke or four-stroke engine cycle).
[0008] Among conventional reciprocating engines, there are those that use fixed parameters (e.g., timing, duration, phase, etc.) for various functions and components. Fixed parameters can typically be implemented using a mechanical camshaft that has only one lobe per valve. Thus, the operation of conventional valves includes a duration, lift, and overall profile that are fixed over time and per cycle. Such fixed parameters can be the result of compromises, such as a compromise between optimal intake timing and exhaust timing between high and low engine loads or between expected extreme environmental conditions. In some cases, fixed parameters can be the result or cause of certain limitations on the engine, such as use over a limited service life where changes in the use of a particular fuel or in the performance of engine components are not expected.
[0009] A camless engine can address, in particular, some or all of the above problems by dynamically adjusting its operating parameters. More specifically, since a camless engine does not rely on a mechanical camshaft, it can dynamically control engine components over time and / or per cycle. For example, a camless engine can implement variable valve timing (VVT) by electromagnetic or hydraulic actuation of poppet valves that control intake and exhaust.
[0010] A camless engine may use optical sensors such as LAS sensors arranged at various engine positions (e.g., inside the cylinder, upstream of the intake port of the cylinder, and / or downstream of the exhaust port) to measure fuel characteristics, engine operation, etc. (e.g., temperature during combustion, species concentration, etc.). These sensors may generate sensor data quickly, and in some cases, many times faster than modifying the operating parameters of engine components. For example, an LAS sensor may provide sensor data (e.g., fuel composition and energy content data received from the intake port, NOx, CO, UHC, CO2 data received from the exhaust port, or temperature, CO, H2O, UHC, CO2 data received from the cylinder, etc.) dozens of times per cycle. Using a control system configured to process such amounts and / or frequencies of sensor data and detect patterns in the data, the rapid operation of an electronically controlled mechanical device (e.g., intake valve, exhaust valve, spark plug, fuel injector, variable compression mechanism, etc.) can be actively managed to achieve an optimal or desired goal.
[0011] Advantageously, by using artificial intelligence / machine learning (AI / ML), a camless engine control system can be configured to optimize engine operation in real-time or near real-time based on in-operation LAS sensor data. Further, the control system can be configured to provide optimization under various conditions, such as under various combinations of fuel, speed, load, temperature, etc. Without the combination of the dynamic control provided by the camless engine, the real-time or near real-time sensor data provided by the LAS sensors, and the data-driven insights learned through the application of AI / ML, the optimization of engine operation and other features described herein may be difficult, unrealistic, or impossible.
[0012] Some aspects of the present disclosure enable various optimizations and functions through the training and use of a machine learning model to generate commands for engine component actuators. In some embodiments, LAS sensor data (e.g., fuel composition and energy content data received from an intake, temperature, NOx, CO, UHC, CO2 data received from an exhaust, temperature, CO, H2O, UHC, CO2 data received from a cylinder, or combinations thereof) can be labeled with corresponding actuator commands implemented to achieve a particular optimization goal or other characteristic. The machine learning model can be trained to generate an actuator command or an adjustment thereto based on LAS sensor data received during engine operation. Examples of machine learning models that can be used in aspects of the present disclosure include artificial neural networks (including deep neural networks, recurrent neural networks, and convolutional neural networks), linear regression models, logistic regression models, decision trees, random forests, support vector machines, naive or non-naive Bayesian networks, k-means clustering, other models or algorithms, or combinations thereof.
[0013] Additional aspects of the present disclosure relate to the use of reinforcement learning to train a machine learning model to generate commands for engine component actuators. In some embodiments, a reward structure can be implemented to drive the training of the machine learning model in accordance with a particular policy. For example, if the policy is to affect the minimization of certain emissions, a reward unit can be provided when sensor readings for those emissions fall below a predetermined or dynamically determined amount threshold of such sensor readings. Examples of reinforcement learning methods that can be used with aspects of the present disclosure include Q-learning, state-action-reward-state-action (SARSA), and temporal difference (TD).
[0014] One or more of the disclosed engine control systems can be used in various types of engines, but are particularly suitable for use in internal combustion engines. For example, without limitation, some or all of the disclosed engine control systems can be used in two-stroke engines, four-stroke engines, rotary engines, and variations thereof, regardless of the type of fuel used in such engines. Further, the engine control system can be used in any internal combustion engine that includes at least one of one or more valves for controlling intake and / or exhaust flow, one or more fuel injectors, or one or more fuel ignition devices (e.g., spark plugs or glow plugs).
[0015] Here, various aspects of the present disclosure will be described with respect to specific examples and embodiments, which are intended to illustrate the present disclosure and not to limit it. The examples and embodiments described herein focus on specific engines, engine components, calculations, and algorithms for purposes of illustration, but those skilled in the art will understand that these examples are for illustrative purposes only and are not intended to be limiting. Further, any feature, process, device, or component of any embodiment described and / or illustrated herein can be used by itself, or in combination with, or instead of, any other feature, process, device, or component of any other embodiment described and / or illustrated herein.
[0016] Example of a camless reciprocating engine The control systems and related functions described herein are not limited to a particular camless engine, but one example of a camless engine in which the control systems and related functions can be used is described in PCT International Publication No. WO2019 / 152886, published August 8, 2019, which is incorporated herein by reference and constitutes a part of the present disclosure.
[0017] FIG. 1 shows an embodiment of a valveless engine 10 described in PCT International Publication No. WO2019 / 152886. As shown, engine 10 includes a cylinder 62 that houses a reciprocating piston 32, and one or more valves 22 and 28, a spark ignition device 24 (e.g., a spark plug), and a fuel injection device 26 in the form of electronically controllable actuators that manage functions such as intake / exhaust valve timing, compression ratio, spark ignition, and fuel injection. One or more sensors, such as LAS sensors 34, 36, and 38, are provided at various positions of the engine. For example, an intake LAS sensor 34 (also called LAS1), an in-cylinder LAS sensor 36 (also called LAS2), and an exhaust LAS sensor 38 (also called LAS3) measure various attributes associated with the operation of engine 10.
[0018] The control system 12 may include a processor 14, a memory 16, and software 18. The control system 12, also referred to as the controller 12, can actively manage the rapid operation of engine components (e.g., intake, exhaust, spark plugs, fuel injectors, variable compression mechanisms) by processing sensor input data (e.g., fuel composition and energy content data 52 received from intake 40 and LAS1 34, temperature, NOx, CO, UHC, CO2 data 54 received from exhaust 42 and LAS3 38, or temperature, CO, H2O, UHC, CO2 data 56 received from cylinder 62 and LAS2 36). As will be described in more detail below, the software 18 can be configured to optimize the engine 10 in real time for engine load and a range of fuels or fuel mixtures by leveraging AI / ML through the use of models and / or algorithms. In some embodiments, the controller 12, or some other module or component of the engine 10, may include a network interface (not shown), such as a network interface card (NIC) with an integrated Wi-Fi antenna, Bluetooth® antenna, or cellular / cell phone network antenna. The network interface may facilitate communication with a computing system external to the network. For example, sensor data and / or actuator command data may be transmitted to the computing system via the network interface. As another example, a machine learning model or executable code may be received via the network interface and may supplement or replace a machine learning model and / or code previously provided to the controller 12.
[0019] In the embodiment shown in FIG. 1, one or more lasers (LAS1, LAS2, or LAS3) are utilized to collect specific types of gas characteristic data (e.g., temperature during combustion, species concentration, etc.) via spectroscopic techniques (e.g., absorption) and transmit that information to the adaptive controller 12. This information is used to modify and provide one or more functions 50 such as the timing, phase, and duration of the operation of specific electronically controlled mechanical devices (e.g., intake valve 22, exhaust valve 28, spark plug 24, and fuel injector 26). Further, various control parameters 58 can be used to control the gearbox for piston compression (e.g., via the variable compression mechanism 30). The control parameters may include one or more temporal characteristics (e.g., timing, duration, sequencing, or depth) of these devices.
[0020] Finally, the laser spectroscopic sensors LAS1, LAS2, and LAS3 may then read the impact of this modification and provide rapid feedback to the controller 12 to continuously adapt to changes in engine output, fuel input, emissions, and engine load. The entire process can be executed in microseconds to milliseconds.
[0021] The laser spectroscopic sensors LAS1, LAS2, and LAS3 are implemented to perform measurements, particularly in harsh combustion environments, and resolve chemical time scales (from milliseconds to microseconds) and other flow field dynamics. These LAS optical measurements are performed in-situ through small windows 60 placed on the engine wall (e.g., flush-mounted to the inner wall at the sensor location) so as not to intrude into the combustion mechanism of the engine 10.
[0022] In some embodiments, LAS1, LAS2, and LAS3 include semiconductor lasers 10 in the mid-infrared wavelength region, reducing cost and size and thereby enabling deployable modalities. The specific positions of sensors LAS1, LAS2, and LAS3 shown in FIG. 1 are for illustrative purposes only, and it is understood that any number of positions, sensors, and sensor types can be used. As an example, three general target engine positions for these optical sensors can be arranged: 1) upstream of the fuel composition, 2) temperature and major species within the cylinder, and 3) downstream of the exhaust for detecting trace emissions to provide information for control and operation. The fuel composition measured upstream (e.g., LAS1) can be used to optimize the air-fuel ratio before combustion and prevent excessive rich or lean conditions. Measurements of temperature and species within the cylinder (e.g., LAS2) can be used to optimize the compression ratio and exhaust gas recirculation and prevent NOx formation. Exhaust flow measurements (e.g., LAS3) can be used to identify major emissions such as carbon monoxide, unburned hydrocarbons, and NOx, and this can be utilized to fine-tune other valve timings in situ.
[0023] In some embodiments, the current state of engine 10 can be described in terms of the current process of each cylinder (e.g., intake process, compression process, power process, exhaust process), the current revolutions per minute (RPM) that engine 10 is applying to the crankshaft, the torque that engine 10 is applying to the crankshaft, and the LAS sensor data generated by each LAS sensor of engine 10. The state of each cylinder at a given point in time may depend on the current process of the engine cycle of each cylinder.
[0024] In the case of the intake process, the state can be described in terms of whether the intake valve is open, whether the exhaust valve is closed, and / or the amount of air and / or fuel entering the cylinder. In some embodiments, a sensor arranged at or near the intake valve (LAS1) can generate more than 50 measurements (at 3.2 Krpm) such as fuel composition, energy content (e.g., BTU).
[0025] In the case of the compression process, the state can be described from the viewpoints of whether the intake valve is closed, whether the exhaust valve is closed, whether the fuel injection device is open, the homogeneity of the air-fuel mixture, the compression ratio of the cylinder, and / or the ignition method. In some embodiments, sensors disposed in or near the cylinder (LAS2) can generate more than 50 measurements (at 3.2 Krpm) such as temperature, NOx, CO, UHC, etc.
[0026] In the case of the power process, the state can be described from the viewpoint of whether the intake valve is closed and / or whether the exhaust valve is closed. In some embodiments, sensors disposed in or near the cylinder (LAS2) can generate more than 50 measurements (at 3.2 Krpm) such as temperature, NOx, CO, UHC, etc.
[0027] In the case of the exhaust process, the state can be described from the viewpoints of whether the intake valve is closed, whether the exhaust valve is open, and / or whether exhaust gas recirculation (EGR) is being used. In some embodiments, sensors disposed in or near the exhaust valve (LAS3) can generate more than 50 measurements (at 3.2 Krpm) such as temperature, NOx, CO, UHC, etc.
[0028] In some embodiments, the engine component parameters that can be dynamically managed by the controller 10 may include the operating speed, timing, lift, during phase adjustment, and / or frequency of the intake valve, the operating speed, timing, duration, lift, phase, and / or frequency of the exhaust valve, the air-fuel ratio, the timing and / or duration of spark ignition (SI) fuel injection, the timing of spark ignition, intensity, duration, and / or frequency, the fuel injection timing, amount, and / or frequency, and / or any, all, or a subset of variable valve timing of the compression ratio. The controller 10 may generate actuator command data used to set, modify, or implement engine component parameters. The examples of engine component parameters described herein are for illustrative purposes only and are not intended to be limiting, essential, or exhaustive. In some embodiments, the controller 10 may generate actuator command data used to set, modify, or implement additional, fewer, and / or alternative engine component parameters.
[0029] Although the embodiment shown in FIG. 1 is directed to a camless engine configuration, it is understood that one or more LAS sensors can be implemented at various positions within a camshaft engine to provide feedback and control for one or more actuators (e.g., spark ignition, variable compression fuel injection, etc.).
[0030] Example of an AI / ML-Based Camless Engine Optimization System FIG. 2 shows an example of an AI / ML-based camless engine optimization system 100, which will also be referred to as the AI / ML system 100 for simplicity in the following description. In some embodiments, the AI / ML system 100 may be implemented using one or more computing systems such as the computing system 1000 shown in FIG. 7 and described in more detail below.
[0031] The AI / ML system 100 can be configured to predict the likelihood that a given camless engine state indicates a pattern of actuator commands that produces optimal performance of a camless engine, such as engine 10. In some scenarios, implementing the controller 12 of the camless engine 10 using AI / ML can result in significant technical improvements compared to conventional pre-programmed rule-based control systems. For example, the AI / ML system 100 can generate a model that, when used by the controller, produces actuator commands that provide more efficient engine performance (e.g., fewer false positives, fewer false negatives) than the commands provided by a conventional controller. Additionally, the AI / ML system 100 can generate a model that targets specific optimizations based on sensor data in milliseconds in ways that would be difficult, unrealistic, or impossible to achieve without AI / ML training, the fast sensor data provided by the LAS sensors, and the dynamic operation provided by the camless engine.
[0032] Referring to an exemplary example, it is expected that the deployment of stationary and non-stationary engines will result in a wide variety of environmental conditions that directly affect the performance of engine 10. With pre-configured, handcrafted actuator commands, it is impossible to optimize the adaptation to various environmental factors in real time, which requires a great deal of programming work while still producing a high rate of false positives and false negatives as described above.
[0033] In contrast, the AI / ML training mechanism provides a powerful function for quickly and effectively adjusting to various engine states without requiring significant recoding of the system. By retraining when new training data becomes available, the system of the present invention is highly scalable for adapting to previously unseen patterns of engine states and sensor readings that can be generated by a combination of internal and external factors, including but not limited to continuous engine workloads and environmental conditions.
[0034] The AI / ML system 100 can process the training data 102 iteratively to compute a trained classification model 120 for use by an execution system such as the controller 12 of the valveless engine 10. The execution system processes the engine LAS sensor data to classify actuator commands based on the trained classification model 120 and formulates a classification indicating the likelihood that the actuator commands represent optimal engine performance.
[0035] The upper box in FIG. 2 is used for illustrative purposes to explain various components and machine learning techniques, and in some embodiments, may rely on the use of statistical analysis and visualization techniques to generate valuable handcrafted features before using these features in a machine learning classification or regression model. In contrast, the lower box in FIG. 2 is used for illustrative purposes to depict a neural network classifier 162 that can generally derive patterns, correlations, and connections from data without requiring explicit handcrafted features. However, this characterization of the elements of the AI / ML system 100 shown in FIG. 2 is neither limiting nor essential. For example, in some embodiments, the neural network classifier 162 can use features generated by the feature engineering subsystem 110 and the feature generation subsystem 112, or otherwise stored in the feature store 114.
[0036] It should be understood that the AI / ML system 100 and the execution system can be deployed on one or more computing machines. Thus, in an exemplary embodiment, a first processor (or set of processors) can execute code that functions as the AI / ML system 100, while a second processor (or set of processors) can execute code that functions as the controller 12. These processors can be deployed in a computer system that communicates with each other via a network, and the AI / ML system 100 communicates a data structure representing the trained classification models 120, 164 to the execution system via the network. Furthermore, these networked computer systems can potentially be operated by various entities. Thus, while the AI / ML system 100 can be operated by a first party that functions as a "master" or "expert" with respect to the development of well-tuned classification models, one or more execution systems operated by different camless engines can access this classification model when testing for optimal engine performance obtained from actuator commands. However, it should also be understood that in another exemplary embodiment, the same processor (or set of processors) can execute the code for both the AI / ML system 100 and the execution system.
[0037] In some embodiments, the engine state data 104 and / or the engine state data 154 can represent a sequence of engine cycles for one or more engines in a steady or unsteady deployment under various external conditions. In the following description, it is assumed that the engine state data 104, 154 includes data regarding a sequence of engine cycles for steady or unsteady use cases in various environmental conditions over an active usage period.
[0038] Engine state data 104 and / or engine state data 154 can be derived from a series of engine cycles across various deployed engines where the engine can send these readings to a sensor log. Engine state data 104, 154 can also be from a real-time stream of engine cycles generated by the engine during operation in either a steady or unsteady scenario.
[0039] Engine state data 104 and / or engine state data 154 may include sensor data 106 representing one or more of fuel composition and energy content data received from one or more sensors disposed at or near an intake port, NOx, CO, UHC, CO2 data received from one or more sensors disposed at or near an exhaust port, and / or temperature, CO, H2O, UHC, CO2 data received from one or more sensors disposed at or near a cylinder.
[0040] Such an example of a sequence of sensor data 106 and / or sensor data 156 generated by an engine cycle, along with actuator command data 108 and / or actuator command data 158 regarding currently operating actuator commands, is positively labeled as one that produces more efficient engine performance and can be used to train model 120 by AI / ML system 100.
[0041] In some embodiments, model 120 can be trained using negatively labeled training data 102, in which case AI / ML system 100 can employ a supervised learning process where model 120 is trained based on positive and negative examples of actuator commands.
[0042] However, negative examples of actuator commands may not be widely available. Thus, in another exemplary embodiment, the AI / ML system 100 may employ a semi-supervised learning process in which the model 120 is trained based on both (1) a sequence of sensor data 106 and command data 108 that is positively labeled as producing efficient engine performance and (2) a sequence of sensor data 106 and command data 108 that is unlabeled as to whether it produces improved efficient engine performance.
[0043] Further, when new training data 102 becomes available, the AI / ML system 100 can use this new training data 102 to further train the model 120 and improve its discrimination ability.
[0044] Thus, the model(s) generated by the AI / ML system 100 is expected to improve its ability to appropriately classify sensor data and generate optimal actuator commands over time, resulting in improved camless engine performance.
[0045] The AI / ML system 100 can preprocess the training data 102 and 152 to normalize the data into a common format regardless of the source of such data. Different sensors on the engine 10 may produce different formats for the sensor data and may use a preprocessing operation (not shown in FIG. 1) to convert such data into a common format. For example, temperature values from a LAS sensor in the exhaust may be in Celsius, while temperature values from a LAS sensor in the cylinder may be in Fahrenheit. Similarly, sensors from different manufacturers may represent different formats and measurement units for the various readings they represent.
[0046] To ensure that the AI / ML system 100 can perform "similar" processing, pre-normalization preprocessing can be used to guarantee that the sensor data 106, 156 and the training data 102, 152 exhibit a common format regardless of the source of such data.
[0047] In some embodiments, the feature engineering subsystem 110 and / or the feature generation subsystem 112 may be used. Advantageously, these subsystems can be combined to generate a feature store 114 that can be effectively used in various supervised and unsupervised machine learning techniques.
[0048] The feature engineering subsystem 110 can be used to automatically or interactively (e.g., under the control of a data scientist) perform various statistical techniques to find valuable signals in the data that correlate sensor data to command data. For example, a data scientist, an expert in camless engines, other experts, or a combination thereof may identify preliminary patterns in potentially valuable data. Often, this analysis generates additional valuable features beyond the initial engine sensor data.
[0049] For example, when a data scientist performs various correlation coefficients on the engine LAS sensor data during analysis, it may be found that there is a strong relationship at regular time intervals between the spark ignition timing and the compression ratio, which may form a new composite feature. This feature, along with the corresponding sensor data, will be stored in the feature store 114 for use in downstream classification tasks such as those performed by the model 120 and / or the model 164 to generate the command data 122 and / or the command data 166, respectively.
[0050] Furthermore, the feature store 114 can be used multiple times for additional feature engineering and value exploration, and can continuously generate more powerful statistical signals. These new features can reduce the dimensionality of the data, thereby potentially improving the classification accuracy.
[0051] In some embodiments, the AI / ML system 100 can perform clustering on the training data within the feature store 114 via the clustering engine 116. For example, sensor data can be grouped into clusters based on any number of criteria.
[0052] In some embodiments, clustering can be used to segment engine cycles into subgroups of engine state data in order to evaluate potential engine performance optimizations resulting from specific actuator commands. By segmenting engine state data for each engine cycle for evaluation, large datasets are divided into analyzable units of work, patterns of actuator commands can be evaluated individually, and can be distributed across multiple processors as needed. These subgroups may be referred to as engine cycle clusters and represent groups of engine state data that are considered contextually and collectively related when considered together to evaluate potential improvements in engine performance derived from optimal actuator commands.
[0053] A cluster can be thought of as a "set of cycles". This is because each cluster may contain a group of engine cycles that collectively represent the ideal combination of actuator commands that produce the best engine performance over a period of time, rather than necessarily individual engine cycles.
[0054] The desired optimization may be transient, such as a single engine cycle, or may involve more complex strategies, such as gradually analyzing engine sensor readings over a period of time while engine performance varies based on changes in the environment, the state of the internal engine, and related actuator commands.
[0055] To generate these engine cycle clusters, various clustering techniques such as k-means clustering, density-based spatial clustering of applications with noise (DBSCAN), etc. can be used.
[0056] As described above, the AI / ML system 100 utilizes machine learning to process a set of training data 102 and train a classification model 120 to distinguish between optimization of engine performance and degradation of engine performance. The training data 102 can take the form of a sequence of sensor data, and the training system can use any of a plurality of machine learning techniques to train the classification model 120 from this training data 102.
[0057] For example, the AI / ML system 100 can employ supervised, unsupervised, or semi-supervised machine learning. In a supervised or semi-supervised machine learning process, the training data 102 is labeled with respect to whether such training data 102 is considered suitable for improving engine performance derived from a set of actuator commands.
[0058] The training data 102 may be obtained from various environments. For example, the engine can be placed in a stationary location with a consistent workload where the lifespan is extended by optimal actuator commands. As another example, an engine installed in a car during consistent driving with a workload that varies greatly across various environmental conditions and actuator commands based on immediate improvement in engine performance can be considered.
[0059] The clustering engine 116 can group the collected sensor data into clusters according to the engine cycle interval parameter by temporal proximity. In some embodiments, the engine cycle interval parameter can be used to define the number of consecutive engine cycles for segmenting into different clusters. Thus, if the count between consecutive engine cycles is less than the engine cycle interval, these engine sensor readings are grouped into the same cluster. A new cluster is started whenever two consecutive items of sensor data (e.g., the output of sensor data over two consecutive time points from the same sensor or set of sensors) exceed the engine cycle interval, in which case the latest sensor data of the two consecutive items of sensor data becomes the first sensor data item within the new cluster.
[0060] The value of the engine cycle interval parameter can be determined according to a desired criterion. Generally, if the value of the engine cycle interval parameter is too small, clusters that cannot acquire sufficient data may be formed, thereby potentially degrading the detection performance. Similarly, if the value of the engine cycle interval parameter is too high, clusters that acquire excessive data may be formed, thereby also potentially degrading the detection performance.
[0061] In an exemplary embodiment, the engine cycle interval parameter may be a static value that is determined in advance based on a statistical analysis of engine sensor data and their linear combinations. In another exemplary embodiment, the engine cycle interval parameter may be a dynamic value that changes based on parameters such as the number of engine cycles and / or anomalies in the sensor data. For example, as the number of engine cycles increases, the engine cycle count can be decreased to optimally segment shorter engine cycle activities. On the other hand, when the engine workload decreases, the number of engine cycles can increase to optimally segment a consistent engine cycle workload. The determination of the engine cycle interval value may be performed daily or based on other intervals.
[0062] The AI / ML system 100 can generate an accurate classification model 120 that can predict optimal command data 122 (e.g., actuator commands, changes to actuator commands, or data from which actuator commands can be derived) for improving engine performance by utilizing clusters as inputs to one or more supervised machine learning classification processes executed by the machine learning classification subsystem 118, taking into account a set of sensor readings.
[0063] In an exemplary embodiment, the clusters are encoded to train the input to a distributed gradient boosting machine such as XGBoost to train an accurate model 120 for future, unseen, out-of-distribution sensor data. This model 120 can then be deployed on the controller 12 of the engine 10 to provide real-time commands for actuator commands that result in optimal engine performance.
[0064] In some cases, it may be found that due to the amount of engine LAS sensor data, it is impossible for an expert to accurately identify the ideal sensor data values and engine cycle intervals for generating optimal actuator commands. In such cases, the AI / ML system 100 can utilize a multi-layer perceptron or feed-forward neural network classifier 162 to generate classifications without the need for explicit feature engineering (such as that described above for the feature engineering subsystem 110).
[0065] The neural network classifier 162 can advantageously utilize the feature store 114 in addition to the entire log of sensor data without explicitly requiring additional clustering or feature engineering. In an exemplary embodiment, the training data 152 is encoded by an embedding layer such as the feature embedding engine 160. This embedding layer may transform the sensor data into a value-oriented vectorized representation and contextualize individual sensor data items according to the engine cycle and time or corresponding contributions according to the engine cycle. The embedding layer may form part of a neural network architecture such as a transformer and can effectively model the influence of individual sensor data items over a long sequence of engine cycles. The neural network classifier 162 can then identify the number of cycles indicating optimal engine performance and discard irrelevant sensor data.
[0066] Example of a Neural Network-Based Camless Engine Control System FIG. 3 is a diagram of an exemplary machine learning model 200 configured to process data from LAS sensors (e.g., LAS1 34, LAS2 36, LAS3 38) and generate actuator commands 206 to optimize one or more aspects of engine function or otherwise implement one or more features.
[0067] In some embodiments, as shown, model 200 is implemented as a neural network, which is also simply referred to herein as a neural network (NN) for brevity. Generally, neural networks (NNs) including deep neural networks (DNNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), other NNs, and combinations thereof have multiple layers of nodes, also referred to as "neurons". As an example, an NN may include an input layer, an output layer, and any number of intermediate, internal, or "hidden" layers between the input layer and the output layer. Each individual layer can include any number of individual nodes. Nodes in adjacent layers may be logically connected to each other, and each logical connection between various nodes in adjacent layers may be associated with a respective weight. Conceptually, a node can be considered as a computational unit that calculates an output value as a function of multiple different input values. The input values to the function associated with the current node include the outputs of the functions associated with the nodes in the previous layer, and when the weights associated with the individual "connections" between the current node and the nodes in the previous layer are multiplied, the node may be considered "connected". When using an NN to process input data in the form of an input vector or a matrix of input vectors (e.g., sensor data such as the readings of individual sensors at a particular time point in a series of time points), the NN can perform a "forward pass" to generate an output vector or a matrix of output vectors, respectively. The input vector may include, respectively, n distinct data elements or "dimensions" corresponding to the n nodes of the NN input layer (where n is some positive integer such as the total number of sensor data points generated by LAS sensors 34, 36, and 38 at time t). Each data element may be a value from sensor data 202 such as a floating-point number or an integer (e.g., a temperature measurement, a CO2 measurement, etc.). In some embodiments, sensor data 202 may be evaluated by a preprocessor 210 to generate an input vector 204. For example, the preprocessor 210 may extract or derive features to be processed by the model 200 from the sensor data 202.
[0068] Typically, a forward pass involves multiplying an input vector by a matrix representing weights associated with connections between nodes in the input layer and nodes in the next layer, applying a bias term, and applying an activation function to the result. In some embodiments, non-linearity is applied to activate neurons, which enables the network parameters to converge to a minimum value. This process is then repeated for each subsequent NN layer. Some NNs have hundreds of thousands or millions of nodes and millions of weights for connections between nodes in all adjacent layers.
[0069] Figure 4 is a flowchart of an exemplary routine 300 that may be executed to train a machine learning model 200 to generate actuator commands from sensor data 202. Routine 300 begins at block 302. Routine 300 may be started in response to an event such as when a training system begins operation, or it may be started in response to some other event or trigger. When routine 300 is started, a set of executable program instructions stored on one or more non-transitory computer-readable media (e.g., hard drive, flash memory, removable media, etc.) may be loaded into the memory (e.g., random access memory or RAM) of a computer system, such as computer system 1000 as shown in FIG. 7 and described in more detail below. In some embodiments, routine 300 or a portion thereof may be implemented serially or in parallel on multiple processors.
[0070] At block 304, computing system 1000 may obtain sensor data for generating training data. As an example, engine 10 may operate under one or more sets of conditions. During operation, LAS sensors 34, 36, and / or 38 may generate sensor data 202 that is used to train a model. In some embodiments, additional sensor data 222 may be obtained from one or more other sources for use in training the model. For example, engine 10 may include sensors 220 other than LAS sensors 34, 36, and / or 38, such as other LAS sensors and / or sensors used in conventional engines (e.g., detecting crankshaft angle and / or speed, oxygen, etc.).
[0071] In some embodiments, sensor data 202 (and optionally sensor data 222) may be preprocessed (e.g., by preprocessor 210) before or as part of the process of generating training data for training a machine learning model. For example, sensor data 202 may be a process of extracting features from individual sensor data points, combining data from multiple sensors into features, filtering and removing data from some sensors, applying transformations to data from some or all sensors, performing other operations, or any combination thereof. The output of the preprocessing may be a set of input vectors 204 for model 200.
[0072] In block 306, computing system 1000 may label sensor data 202, sensor data 222, and / or a portion of the data derived therefrom. In some embodiments, the computing system may provide a user interface to an engineer or other expert. The user interface may be a graphical user interface delivered as a web page, a mobile application interface, a desktop application interface, or via some other delivery mechanism. The user may use the interface to view sensor data 202, sensor data 222, and / or data derived therefrom (e.g., input vector 204) and instruct one or more engine actuator commands to be executed based on that data. The labeled training data items may be stored by the computing system for use in training the model.
[0073] In block 308, computing system 1000 may select the training data to be used during the current instance of routine 300 to train machine learning model 200. In some embodiments, the computing system may separate the labeled training data inputs into a training set and a test set. The training set may be used to train machine learning model 200, as will be described in more detail below. The test set may be used to test the trained machine learning model 200. Advantageously, using a separate test set of labeled inputs to test the performance of machine learning model 200 can help determine whether the trained machine learning model 200 can generalize training to new sensor data that was not presented to the machine learning model during training (or during iterations of testing).
[0074] In block 310, computing system 1000 can initialize the parameters of machine learning model 200 to be trained. In some embodiments, the machine learning model can be implemented as an NN. The trainable parameters of the NN include the weights of each layer (and in some embodiments, the bias terms) applied during the forward pass. In some embodiments, to initialize the parameters of the machine learning model, the computing system can use a pseudo-random number generator to assign pseudo-random values to the parameters. In some embodiments, the parameters may be initialized using other methods. For example, a previously trained machine learning model 200 using routine 300 or some other process can function as the starting point for the current iteration of routine 300.
[0075] In block 312, computing system 1000 can analyze the training data input using model 200 and generate a training data output. As an example, the training data output can correspond to an actuator command, an adjustment to the actuator command, or a vector in a data format from which the actuator command or its adjustment is derived. For simplicity, the output is referred to herein as actuator command 206. In subsequent blocks of routine 300, the training data output is used to evaluate the performance of model 200 and apply updates to the trainable parameters.
[0076] In block 314, computing system 1000 can evaluate the results of processing one or more training data inputs using model 200. The training data from which the training inputs are extracted may also include reference data output vectors. Each reference data output vector may correspond to an actuator command, an adjustment to the actuator command, or a vector in a data format from which the actuator command or its adjustment can be derived. For example, the reference data output vector may include data representing adjustments to the operation of intake values, exhaust values, spark plugs, fuel injectors, other engine components, or some combination thereof. The goal of training may be to minimize the difference between the actuator command 206 output by model 200 and the corresponding reference data output vector.
[0077] In some embodiments, computing system 1000 may evaluate the results using an objective function associated with a particular desired optimization of engine attributes, operations, or characteristics. The objective function may also be referred to as a loss function. In some embodiments, the loss function may be a binary cross-entropy loss function, a weighted cross-entropy loss function, a mean squared error loss function, a softmax loss function, some other loss function, or a combination of loss functions. The loss function can evaluate how different the training data output vector generated using model 200 is from the desired output (e.g., the reference data output vector) of the corresponding training data input.
[0078] In block 316, computing system 1000 can update the parameters of model 200 based on an evaluation of the results of processing one or more trainings using model 200. The parameters can be updated such that when the same training data input is processed again, the output generated by model 200 approaches the desired output represented by the reference data output vector corresponding to the training data input. In some embodiments, computing system 1000 can calculate a gradient based on the difference between the training data output vector and the reference data output vector. For example, the gradient of a loss function (e.g., derivative) can be calculated. The gradient can be used to determine the direction in which the individual parameters of model 200 are adjusted to improve the model output (e.g., to generate an output closer to the correct or desired output for a given input). The extent to which the individual parameters are adjusted can be determined beforehand or dynamically (e.g., based on the gradient and / or hyperparameters). For example, hyperparameters such as a learning rate can be used to specify or determine the magnitude of the adjustment applied to the individual parameters of model 200.
[0079] In some embodiments, computing system 1000 can calculate the gradient of a subset of the training data rather than the entire set of training data. Thus, since the gradient is not based on the entire corpus of training data, it may be referred to as a "subgradient". Instead, it is based on the difference between the training data output vector and the reference data output vector when only a particular subset of the training data is processed.
[0080] Referring to the exemplary embodiments, computing system 1000 can update some or all of the parameters (e.g., the weights of the model) of machine learning model 200 using gradient descent by backpropagation. In backpropagation, the training error is determined using a loss function (e.g., as described above). To reduce the training error, the training error can be used to update the individual parameters of model 200. For example, the gradient of the loss function can be calculated to determine how to adjust the weights of the weight matrix to reduce the error. The adjustment can potentially be propagated in the reverse direction for each layer of model 200.
[0081] In decision block 318, computing system 1000 can, in some embodiments, determine whether one or more stopping criteria are met. For example, the stopping criteria can be based on the accuracy of machine learning model 200 determined using a loss function, a test set, or both. As another example, the stopping criteria can be based on the number of training iterations (e.g., "epochs") performed, the elapsed time of training, etc. If one or more stopping criteria are met, routine 300 can proceed to block 320. Otherwise, routine 300 can return to block 312 or other previous blocks of routine 300.
[0082] In block 320, computing system 1000 can store and / or distribute the trained model 200. The trained model 200 can be distributed to one or more engines 10 for use in managing and optimizing operations. Routine 300 may end at block 322.
[0083] Example of Reinforcement Learning for a Camless Engine Control System FIG. 5 is a diagram of an exemplary controller 12 that learns policy 400 through reinforcement learning. Generally speaking, reinforcement learning is different from supervised learning in that it does not require labeled training data. Instead, the focus of reinforcement learning is to explore the effects of various actions at any time given a particular current state, even when the "optimal available" action for the current state is known. Exploration can help discover potentially optimal actions for the current state. Thus, reinforcement learning can be used to learn an optimal or substantially optimal policy for selecting an action given a particular state. The optimal policy is learned by maximizing the "reward" accumulated by performing various actions, and each action for each state (or subset thereof) is associated with a specific reward value.
[0084] In some embodiments, as shown, controller 12 is configured to implement policy 400. Controller 12 can generate an actuator command 206, or data from which actuator command 206 can be derived, based on the application of policy 400 to the current state of the engine. After each action (e.g., generation of actuator command 206) or subset thereof of controller 12, controller 12 may determine a reward value 402 or be provided with a reward value 402. During the reinforcement learning process, controller 12 can update policy 400 so that policy 400 converges to an optimal policy based on the reward value 402 that controller 12 has determined to receive or apply.
[0085] In some embodiments, the reward can be formally defined from the perspective of the optimal policy expressed as π* = argmax E(R|π), where E(R|π) is the expected total E of the reward R from a given policy π. A policy is a map or function, and there may be a set of available policies. Thus, the optimal policy π* is an argmax (selecting the maximum value) over the set of possible policies as a function of the expected reward. In some embodiments, a value function such as the Q-function can be used to determine the reward value for taking an action in a given engine state. For example, in the case of Qπ:(s|a)→E(R|a,s,π), Qπ is a function that maps the pair (s,a) of state s and action a to the expected reward when action a is executed in state s, assuming the use of policy π. The goal of reinforcement learning is to train a model that generates an accurate estimate of the expected reward when an action is executed in a given state.
[0086] FIG. 6 is a flowchart of an exemplary routine 500 for implementing reinforcement learning. Routine 500 begins at block 502. Routine 500 can start in response to an event such as when controller 12 starts operating, when instructed to execute reinforcement learning, or in response to some other event or trigger.
[0087] At block 504, controller 12 may obtain data regarding the current state of engine 12. In some embodiments, the current engine state may be represented by a set of recently generated LAS sensor data 202, other sensor data, the current set of actuator commands, other data, or some combination thereof.
[0088] At decision block 506, the controller 12 can determine whether the action selected for the current state should be selected by exploration or by exploitation. In exploitation, based on the current policy 400, the optimal action available for the current engine state is selected. In exploration, the action can be selected using a random or pseudo-random selection method, such as using a pseudo-random number generator (PRNG). By randomly or pseudo-randomly selecting an action, potentially better actions from the perspective of the desired optimization, such as the currently available best action, can be discovered. In some embodiments, the exploration / exploitation decision may be based on a predetermined or dynamically determined percentage of exploration and exploitation actions. For example, the controller 12 can be configured to randomly or pseudo-randomly select exploration at a certain percentage of time (e.g., 10%). If the controller 12 selects exploitation, routine 500 may proceed to block 508. Otherwise, if the controller 12 selects exploration, routine 500 may proceed to block 510.
[0089] At block 508, the controller 12 can select the currently most available action for the current engine state for exploitation. In some embodiments, the policy 400 may indicate the currently most available action for each engine state or a subset thereof. For example, if routine 500 is a Q-learning based reinforcement routine, the policy 400 may include a table that assigns "Q-values" to teach the engine state and available actions. A higher Q-value may represent a desired action compared to a lower Q-value (e.g., when a particular action is taken from the current engine state, preferably when related to the subsequent engine state that is expected). Thus, the controller 12 can determine the action having the highest Q-value for the current engine state.
[0090] At block 510, for exploration, the controller 12 may select an action using a random or pseudo-random selection method, such as selecting from all available actions given the current engine state using a PRNG.
[0091] At block 512, the controller can evaluate the result of the selected action. In some embodiments, the evaluation of the result of the selected action is based on feedback data, such as engine state data representing the state of the engine 10 after the selected action has been executed.
[0092] At block 514, the controller can apply a reward value 402 based on the result of applying the selected action. In some embodiments, a reward value 402 may be generated when the temperature determined by a particular LAS sensor remains within a particular range (1,800°K to 2,200°K) over a particular measurement amount or period (e.g., over a process, cycle, or set of cycles). In some embodiments, a reward value 402 may be generated when fluid parameters (e.g., measured values of NOx and / or CO) fall below a threshold over a particular measurement amount or period (e.g., over a process, cycle, or set of cycles). In some embodiments, the reward value 402 may be generated based on the achievement and / or maintenance of a certain level of performance (e.g., electrical efficiency at NOx, CO emissions below a set threshold).
[0093] In some embodiments, the reward value 402 is determined using an action value function. The reward value 402 for any given iteration of block 514 can be either positive or negative. The goal of the reinforcement learning routine is to maximize the total reward value 402 over time. The controller 12 receives a particular reward value 402 based on executing an action a(t) in an engine state s(t) and reaches a new engine state s(t+1). Exemplarily, a(t) may be the initiation of an actuator command based on actuator command data generated by the controller 12 at time t, the engine state s(t) may be represented by the most recent LAS sensor data 202 generated at time t or earlier, and the engine state s(t+1) may be represented by the most recent LAS sensor data 202 generated at time t+1 or earlier. The reward value 402 may be based on the state transition from s(t) to s(t+1) and the desired optimization of the reinforcement learning routine. For example, the reward value 402 may be based on a decrease in observed emissions from s(t) to s(t+1), maintenance of temperature from s(t) to s(t+1), an increase in energy output from s(t) to s(t+1), etc.
[0094] Referring to an exemplary non-limiting example, the desired optimization or goal may be to maintain the temperature measured in the cylinder within a range of 1,800°K to 2,200°K. The LAS sensor 36 (LAS2) may generate LAS sensor data representing a measured temperature of 2,400°K at time t. After execution of the action a(t), the LAS sensor 36 may generate LAS sensor data representing a measured temperature of 2,300°K at time t+1. In this case, the reward value 402 may be a positive number that rewards movement towards the desired range. In contrast, if the LAS sensor data at time t+1 represents a measured temperature of 2,500°K, the reward value 402 may be a negative value that penalizes movement away from the desired range.
[0095] In some embodiments, the reward value 402 can be used in calculations to determine an updated Q-value for a selected action and a previous engine state. For example, the Q-value can be updated by calculating an intermediate value using the reward value, an estimated value of the optimal future value (e.g., based on the reward expected from the application of the optimal action to a future engine state), and a discount factor. As an example, the discount factor is between 0.0 and 1.0 (including both end values) and can be used to weight more heavily the reward values received earlier in a sequence of future actions than those received later in the sequence. Applying a learning rate to the intermediate value and adding the resulting product to the existing Q-value for the engine state and the selected action can yield an updated Q-value. As an example, the learning rate is between 0.0 and 1.0 (including both end values) and can be used to control the degree to which the Q-value can change with each update.
[0096] In block 516, the controller 12 can update the Q-table with the modified Q-value of the selected action. The updated Q-value will then be available for use in subsequent exploitation decisions.
[0097] In decision block 518, the controller 12 can determine, in some embodiments, whether one or more stopping criteria are met. For example, the stopping criteria can be based on the number of actions executed, the rewards received, the elapsed time, etc. As another example, the stopping criteria can be based on the degree to which the Q-value is updated (e.g., the update is below a threshold magnitude). If one or more stopping criteria are met, routine 500 can proceed to block 520. Otherwise, routine 500 can return to block 504 or another previous block of routine 500.
[0098] In block 520, the controller 12 can store and / or distribute the learned policy 400. The policy 400 can be distributed to one or more engines 10 for use in the management and optimization of operations. Routine 500 may end at block 522.
[0099] Exemplary computing system FIG. 7 shows an exemplary computing system 1000 that can be used to execute routines and implement the functions described above in some embodiments. In some embodiments, the computing system 1000 may include one or more computer processors 1002 such as a physical central processing unit (CPU) or a graphics processing unit (GPU), one or more network interfaces 1004 such as a network interface card (NIC), one or more computer-readable media drives 1006 such as a high-density disk (HDD), a solid-state drive (SSD), a flash drive, and / or other persistent non-transitory computer-readable media, and one or more computer-readable memories 1010 such as random access memory (RAM) and / or other volatile non-transitory computer-readable media. The network interface 1004 can provide a connection to one or more networks or computing devices. The computer processor 1002 can receive information and instructions from other computing devices or services via the network interface 1004. The network interface 1004 can also directly store data in the computer-readable memory 1010. The computer processor 1002 can communicate with the computer-readable memory 1010, execute instructions, and process data within the computer-readable memory 1010, etc.
[0100] The computer-readable memory 1010 may include computer program instructions executed by the computer processor 1002 to implement one or more embodiments. The computer-readable memory 1010 can store an operating system 1012 that provides computer program instructions used by the computer processor 1002 in the general management and operation of the computer system 1000. The computer-readable memory 1010 may also include machine learning model training instructions 1014 and training data 1016 for performing training of a machine learning model.
[0101] The term Depending on the embodiment, any particular operation, event, or function of the processes or algorithms described herein can be executed in a different order, can be added, merged, or completely omitted (e.g., not all of the described operations or events are necessary for the execution of the algorithm). Further, in certain embodiments, operations or events can be executed concurrently rather than sequentially, for example, through multi-threaded processing, interrupt processing, or on multiple processors or processor cores, or on other parallel architectures.
[0102] The various illustrative logical blocks, modules, routines, and algorithm steps described in connection with the embodiments disclosed herein can be implemented as electronic hardware, or as a combination of electronic hardware and computer software. To clearly illustrate this interchangeability, various illustrative components, blocks, modules, and steps have been described generally above in terms of their functionality. Whether such functionality is implemented as hardware or as software executed on hardware depends upon the particular application and design constraints imposed on the overall system. In various ways for each particular application, the described functionality can be implemented, but such implementation decisions should not be construed as causing a departure from the scope of the present invention.
[0103] Furthermore, the various exemplary logical blocks and modules described in connection with the embodiments disclosed herein can be implemented or executed using a machine such as a processor device, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic device, discrete gates or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The processor device may be a microprocessor, but alternatively, the processor device may be a controller, a microcontroller, or a state machine, or a combination thereof. The processor device can include an electrical circuit configured to process computer executable instructions. In another embodiment, the processor device includes an FPGA or other programmable device that performs logical operations without processing computer executable instructions. The processor device can also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors cooperating with a DSP core, or any other such configuration. Although described herein primarily with respect to digital technologies, the processor device can also include primarily analog components. For example, some or all of the algorithms described herein can be implemented in an analog circuit or a mixed analog and digital circuit. The computing environment can include any type of computer system, including but not limited to computer systems based on a microprocessor, a mainframe computer, a digital signal processor, a portable computing device, a device controller, or a computing engine within an appliance.
[0104] The elements of the methods, processes, routines, or algorithms described in connection with the embodiments disclosed herein can be embodied directly in hardware, in software modules executed by a processor device, or in a combination of the two. The software modules can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of non-transitory computer-readable storage medium. An exemplary storage medium can be coupled to the processor device so that the processor device can read information from, and write information to, the storage medium. Alternatively, the storage medium can be integral to the processor device. The processor device and the storage medium can reside in an ASIC. The ASIC can reside in a user terminal. Alternatively, the processor device and the storage medium can reside as discrete components within the user terminal.
[0105] In particular, conditional expressions used in this specification such as "can", "could", "might", "may", and "e.g." generally convey that while a particular embodiment includes a particular feature, element, and / or step, other embodiments do not, unless otherwise specified or understood differently within the context in which they are used. Thus, such conditional expressions are not generally intended to imply that a feature, element, and / or step is necessary for one or more embodiments in any way, or that one or more embodiments necessarily include logic for determining whether these features, elements, and / or steps are included in or should be performed in any particular embodiment, regardless of the presence or absence of other inputs or derivations. Terms such as "comprising", "including", and "having" are synonyms and are used inclusively in an open-ended manner, not excluding additional elements, features, acts, operations, etc. Also, the term "or" is used in an inclusive sense (not an exclusive sense), so when used, for example, to connect a list of elements, the term "or" means one, some, or all of the elements in the list.
[0106] Disjunctive expressions such as the phrase "at least one of X, Y, Z" are generally understood, unless otherwise specified, from the context, to be used to indicate that an item, term, etc. may be any of X, Y, or Z, or a combination thereof (e.g., X, Y, and / or Z). Thus, such disjunctive expressions are not generally intended to, nor should they, imply that a particular embodiment requires the presence of at least one of X, at least one of Y, or at least one of Z, respectively.
[0107] Unless otherwise specified, articles such as "a" or "an" should generally be construed as including one or more of the recited items. Thus, phrases such as "a device configured to" are intended to include one or more of the recited devices. Such one or more recited devices can also be collectively configured to perform the recited enumeration. For example, "a processor configured to perform enumerations A, B, and C" may include a first processor configured to perform enumeration A that operates in cooperation with a second processor configured to perform enumerations B and C.
[0108] The foregoing detailed description has shown, described, and pointed out novel features applicable to various embodiments, but it will be understood that various omissions, substitutions, and changes can be made in the form and details of the illustrated devices or algorithms without departing from the spirit of the disclosure. As can be recognized, some features can be used or implemented separately from other features, so the specific embodiments described herein can be implemented in a form that does not provide all of the features and advantages described herein. The scope of the specific embodiments disclosed herein is indicated by the appended claims rather than the foregoing description. All changes that come within the meaning and range of equivalence of the claims are to be embraced within their scope.
Claims
1. A camless reciprocating engine, comprising: a cylinder for accommodating a reciprocating piston; an engine component associated with the cylinder, the engine component being selected from the group consisting of an intake valve, an exhaust valve, a spark plug, a fuel injector, and a variable compression mechanism; an actuator coupled to the engine component, the actuator being configured to control the operation of the engine component; an optical sensor configured to generate sensor data regarding attributes of cylinder operation; a controller coupled to the optical sensor and the actuator, receiving the sensor data from the optical sensor, processing the sensor data using a neural network trained to generate actuator command data associated with a desired optimization of engine operation, and starting the operation of the actuator at least in part based on the actuator command data.
2. The sensor data is generated during a specific cycle of the cylinder, and the starting of the actuator occurs during the specific cycle of the cylinder. The camless reciprocating engine according to claim 1.
3. The sensor data is generated during a specific process of a specific four-stroke cycle of the cylinder, and the starting of the actuator occurs during the specific process of the specific four-stroke cycle of the cylinder. The camless reciprocating engine according to claim 1.
4. The optical sensor is a laser absorption spectroscopy sensor. The camless reciprocating engine according to claim 1.
5. The sensor data includes laser absorption spectroscopic data, and the attributes represented by the sensor data are selected from the group consisting of fuel composition, energy content, temperature, NOx content, UHC content, CO content, CO 2 content, and H 2 O content. The camless reciprocating engine according to claim 4.
6. The camless reciprocating engine further includes a plurality of optical sensors including the optical sensor, and the plurality of optical sensors A first optical sensor disposed at a position within the intake port of the cylinder for measuring one or more fluid parameters within the intake port; A second optical sensor disposed to measure one or more fluid parameters at a position within the cylinder; And a third optical sensor disposed at a position within the exhaust port of the cylinder for measuring one or more fluid parameters within the exhaust port. The camless reciprocating engine according to claim 1.
7. The camless reciprocating engine according to claim 1 further includes a network interface configured to transmit the sensor data to a computing system via a network.
8. The network interface is further configured to receive a second neural network from the computing system via the network, and the controller is further configured to replace the neural network in the memory of the controller with the second neural network. The camless reciprocating engine according to claim 7.
9. To process the sensor data using the neural network, the controller Applying a transformation to the sensor data to generate transformed sensor data, the transformed sensor data representing characteristics of the state of the camless reciprocating engine at a point in time; Generating an input vector using the transformed sensor data; Performing a forward pass on the input vector using the neural network to generate an output vector, the output vector including the actuator command data, and being configured to perform; The camless reciprocating engine according to claim 1.
10. The controller, Further configured to determine a change to a parameter of the engine component based on the actuator command data, The change to the parameter is selected from the group consisting of the timing of operation, the phase of operation, and the duration of operation, The start of operation of the actuator is based on the parameter of the engine component; The camless reciprocating engine according to claim 1.
11. The controller, Receiving second sensor data from the optical sensor, the second sensor data being generated by the optical sensor after the controller starts operation of the actuator based at least in part on the actuator command data; Determining a reward value based on the second sensor data; Further configured to modify the parameters of the neural network based on the reward value; The camless reciprocating engine according to claim 1.
12. A system, A computer-readable memory storing executable instructions; Communicating with the computer-readable memory and at least by the executable instructions, Obtaining training data including a plurality of training data input vectors and a plurality of reference data output vectors, wherein the training data input vectors among the plurality of training data input vectors represent sensor data related to attributes of the operation of a camless engine, and the reference data output vectors among the plurality of reference data output vectors represent actuator command data generated by a machine learning model from the training data input vectors, Training the machine learning model using the training data and an objective function, wherein the objective function is associated with the optimization of engine functions, Providing the machine learning model trained for one or more camless engines, one or more computer processors programmed to perform the above, a system.
13. The system according to claim 12, wherein the optimization of the engine functions is selected from the group consisting of minimizing a measured value of emissions, maximizing a measured value of output, and maintaining a measured value of temperature.
14. The sensor data includes laser absorption spectroscopy sensor data, and the attributes represented by the sensor data are selected from the group consisting of fuel composition, energy content, temperature, NOx content, UHC content, CO content, CO 2 content, and H 2 O content, the system according to claim 12.
15. The system according to claim 12, wherein the machine learning model comprises a neural network.
16. Further comprising the camless engine, the camless engine comprising A cylinder housing a reciprocating piston, An engine component associated with the cylinder, the engine component being selected from the group consisting of an intake valve, an exhaust valve, a spark plug, a fuel injector, and a variable compression mechanism, An actuator coupled to the engine component, the actuator being configured to control the operation of the engine component, and an optical sensor configured to generate sensor data regarding an attribute of a cylinder operation, and a controller coupled to the optical sensor and the actuator, receiving the sensor data from the optical sensor, processing the sensor data using a neural network trained to generate actuator command data associated with a desired optimization of engine operation, and starting operation of the actuator based at least in part on the actuator command data, the system of claim 12 comprising a controller configured as such.
17. The system of claim 16, wherein the sensor data is generated during a particular cycle of the cylinder, and the starting of the actuator occurs during the particular cycle of the cylinder.
18. The system of claim 16, wherein the sensor data is generated during a particular step of a particular four-stroke cycle of the cylinder, and the starting of the actuator occurs during the particular step of the particular four-stroke cycle of the cylinder.
19. The system of claim 16, wherein the camless engine further comprises a network interface configured to transmit the sensor data to a computing system via a network.
20. The system of claim 19, wherein the network interface is further configured to receive a second neural network from the computing system via the network, and the controller is further configured to replace the neural network in the memory of the controller with the second neural network.
Citation Information
Patent Citations
Control system for plant
JP2012102629A
Internal combustion engine control device, on-vehicle electronic control unit, machine learning system, internal combustion engine control method, electronic control unit manufacturing method and output parameter calculation device
JP2020125694A
Adaptive any-fuel camless reciprocating engine
JP2021512252A
Electronic valve control
US20210348576A1
Artificial intelligence detection system for mechanically-enhanced topography
WO2021194872A1