Abstract:
A method is provided for controlling an engine. The method may include generating a first neural network model indicative of interrelationships between a plurality of sensing parameters and a plurality of engine operational parameters. The method may also include generating a second neural network model indicative of interrelationships between the plurality of engine operational parameters and at least a desired emission level. The method may also include providing, by the first neural network model, a first set of values of the plurality of engine operational parameters to the second neural network model and to the engine. Further, the method may include determining, by the second neural network model, values of adjusting parameters of the first neural network model based on the values of the plurality of engine operational parameters, the desired emission level, and an actual emission level of the engine.

Description:
TECHNICAL FIELD  
       [0001]     This disclosure relates generally to engine control systems and, more particularly, to artificially intelligent engine control systems and methods.  
       BACKGROUND  
       [0002]     Modern engines are becoming increasingly complex and are often subject to stringent requirements such as fuel efficiency requirements, power output requirements, and/or emission control requirements, etc. Sophisticated engine control systems are provided for controlling engines with high precision to meet these requirements. For example, U.S. Patent Application Publication No. 2003/0187567 to Sulatisky et al. on Oct. 2, 2003, discloses a neural network control system providing variable fuel injection pulses based on different fuels used by an dual-fuel engine, where a neural network model dynamically adjusts the pulse widths based on air temperature, engine speed, and exhaust gas oxygen (EGO) content with reference to a desired air-to-fuel ratio.  
         [0003]     However, because most engines, after being manufactured and assembled, may also vary from one to another, individual calibration may need to be performed for the engine control system to set desired engine operational parameters in order to meet the these stringent requirements. Further, because engines may often wear over time, calibration maps may be needed for different stages of an engine&#39;s life to manually provide desired engine operational parameters and to recalibrate individual engines for wear effects. Conventional techniques often fail to address such calibration issues. Manufacturing costs and/or maintenance costs may rise significantly due to such calibrations and recalibrations over the life of an engine.  
         [0004]     Methods and systems consistent with certain features of the disclosed systems are directed to solving one or more of the problems set forth above.  
       SUMMARY OF THE INVENTION  
       [0005]     One aspect of the present disclosure includes a method for controlling an engine. The method may include generating a first neural network model indicative of interrelationships between a plurality of sensing parameters and a plurality of engine operational parameters. The method may also include generating a second neural network model indicative of interrelationships between the plurality of engine operational parameters and at least a desired emission level. The method may also include providing, by the first neural network model, a first set of values of the plurality of engine operational parameters to the second neural network model and to the engine. Further, the method may include determining, by the second neural network model, values of adjusting parameters of the first neural network model based on the values of the plurality of engine operational parameters, the desired emission level, and an actual emission level of the engine.  
         [0006]     Another aspect of the present disclosure includes a engine control system for controlling an engine. The engine control system may include plural physical sensors configured to provide a plurality of sensing parameters and a processor. The processor may be configured to generate a first neural network model indicative of interrelationships between the plurality of sensing parameters and a plurality of engine operational parameters and to generate a second neural network model indicative of interrelationships between the plurality of engine operational parameters and at least a desired emission level. The processor may also be configured to provide, via the first neural network model, a first set of values of the plurality of engine operational parameters to the second neural network model and to the engine. Further, the processor may be configured to determine, via the second neural network model, values of adjusting parameters of the first neural network model based on the values of the plurality of engine operational parameters, the desired emission level, and an actual emission level of the engine.  
         [0007]     Another aspect of the present disclosure includes a vehicle. The vehicle may include an engine which provides power to the vehicle and produces NOx emission at an actual NOx emission level and a control system configured to control the engine. The control system may include a processor and the processor may be configured to generate a first neural network model indicative of interrelationships between a plurality of sensing parameters and a plurality of engine operational parameters and to generate a second neural network model indicative of interrelationships between the plurality of engine operational parameters and at least a desired NOx emission level. The processor may also be configured to provide, via the first neural network model, a first set of values of the plurality of engine operational parameters to the second neural network model and to the engine. Further, the processor may be configured to determine, via the second neural network model, values of adjusting parameters of the first neural network model based on the values of the plurality of engine operational parameters, the desired NOx emission level, and the actual NOx emission level of the engine. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0008]      FIG. 1  illustrates an exemplary vehicle in which features and principles consistent with certain disclosed embodiments may be incorporated;  
         [0009]      FIG. 2  illustrates a block diagram of an exemplary engine control module (ECM) consistent with certain disclosed embodiments;  
         [0010]      FIG. 3  illustrates a logical block diagram of an exemplary operational environment of an engine system consistent with certain disclosed embodiments; and  
         [0011]      FIG. 4  illustrates a flowchart diagram of an exemplary operational process consistent with certain disclosed embodiments. 
     
    
     DETAILED DESCRIPTION  
       [0012]     Reference will now be made in detail to exemplary embodiments, which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.  
         [0013]      FIG. 1  illustrates an exemplary vehicle  100  in which features and principles consistent with certain disclosed embodiments may be incorporated. Vehicle  100  may include any type of fixed or mobile machine that performs some type of operation associated with a particular industry, such as mining, construction, farming, transportation, etc. and operates between or within work environments (e.g., construction site, mine site, power plants and generators, on-highway applications, etc.). Non-limiting examples of mobile machines include commercial machines, such as trucks, cranes, earth moving vehicles, mining vehicles, backhoes, material handling equipment, farming equipment, marine vessels, aircraft, and any type of movable machine that operates in a work environment. Vehicle  100  may also include any type of commercial vehicles such as cars, vans, and other vehicles.  
         [0014]     As shown in  FIG. 1 , vehicle  100  may include an engine system  102 . Engine system  102  may include an engine  1   10  and an engine control module (ECM)  120 . Other devices or components, however, may also be included. Engine  110  may include any appropriate type of engine or power source that generates power for vehicle  100 , such as an internal combustion engine.  
         [0015]     ECM  120  may include any appropriate type of engine control system configured to perform engine control functions such that engine  110  may operate properly. ECM  120  may also control other systems of vehicle  100 , such as transmission systems, and/or hydraulics systems, etc.  FIG. 2  shows an exemplary functional block diagram of ECM  120 .  
         [0016]     As shown in  FIG. 2 , ECM  120  may include a processor  202 , a memory module  204 , a database  206 , an I/O interface  208 , a network interface  210 , and a storage  212 . Other components or devices, however, may also be included in ECM  120 .  
         [0017]     Processor  202  may include any appropriate type of general purpose microprocessor, digital signal processor, or microcontroller. Memory module  204  may include one or more memory devices including, but not limited to, a ROM, a flash memory, a dynamic RAM, and/or a static RAM. Memory module  204  may be configured to store information used by processor  202 . Database  206  may include any type of appropriate database containing information on engine parameters, operation conditions, mathematical models, and/or any other control information.  
         [0018]     Further, I/O interface  208  may include any appropriate type of device or devices provided to couple processor  202  to various physical sensors or other components (not shown) within engine system  102  or within vehicle  100 . Information may be exchanged between the physical sensors or other components and processor  202 . Users of vehicle  100  may also exchange information with processor  202  through I/O interface  208 . For example, the users may input data to processor  202 , and processor  202  may output data to the users, such as warning or status messages.  
         [0019]     Network interface  210  may include any appropriate type of network device capable of communicating with other computer systems based on one or more communication protocols. Network interface  210  may communicate with other computer systems within vehicle  100  or outside vehicle  100  via certain communication media such as control area network (CAN), local area network (LAN), and/or wireless communication networks.  
         [0020]     Storage  212  may include any appropriate type of mass storage provided to store any type of information that processor  202  may need to operate. For example, storage  212  may include one or more hard disk devices, optical disk devices, or other storage devices to provide storage space.  
         [0021]     In operations, computer software instructions may be stored in or loaded to ECM  120 . ECM  120  may execute the computer software instructions to perform various control functions and processes to control engine  110  and to automatically adjust engine operational parameters, such as fuel injection timing and fuel injection pressure, etc.  FIG. 3  shows an exemplary operational environment of engine system  102 .  
         [0022]     As shown in  FIG. 3 , ECM  120  may create or include an controller  302  and a virtual engine  304  to control engine  110  within engine system  102 . Controller  302  may be provided with inputs  310  and may generate engine operational parameters  312 . Engine operational parameters  312  may include any appropriate parameters provided to engine  110  by ECM  120  to control certain aspects of engine operations. For example, engine operational parameters  312  may include fuel injection timing and fuel injection pressure, etc., to control power out and/or emissions of engine  110 .  
         [0023]     Engine operational parameters  312  may be provided to engine  110  during operations of engine system  102 . Engine  110  may operate based on the provided engine operational parameters  312  and also may provide a measurement of actual emission levels, such as an actual NOx emission level  314 . On the other hand, virtual engine  304  may also be provided with engine operational parameters  312  and may provide adjusting parameters  316  back to controller  302 .  
         [0024]     Controller  302  and virtual engine  304  may generate desired engine operational parameters  312  to adjust manufacturing variations among engines and/or wear effects of a particular engine. With the desired engine operational parameters  312 , emission levels of engine  110  may be kept below a predetermined threshold during the life of engine  110 . The emission levels of engine  110  may include measurable levels of emissions, such as levels of Nitrogen Oxides (NOx), Sulfur Dioxide (SO 2 ), Carbon Monoxide (CO), total reduced Sulfur (TRS), etc. In particular, NOx emission level may be important to normal operation of engine  110  and/or to meet certain environmental requirements.  
         [0025]     Controller  302  may include an artificial intelligence model to provide engine operational parameters  312  based on inputs  310 . For example, controller  302  may include any appropriate type of mathematical or physical model indicating interrelationships between inputs  310  and engine operational parameters  312 . More particularly, controller  302  may include a neural network based mathematical model that is trained to capture interrelationships between inputs  310  and engine operational parameters  312 . Other types of mathematic models, such as fuzzy logic models, linear system models, and/or non-linear system models, etc., may also be used.  
         [0026]     Inputs  310  may include any appropriate information that is provided to ECM  120  and more specifically, to controller  302 , by other control systems and/or physical sensors. For example, inputs  310  may include turbocharger efficiency, aftercooler characteristics, temperature values (e.g., intake manifold temperature), pressure values (e.g., intake manifold pressure), ambient conditions (e.g., ambient humidity), fuel rates, and engine speeds, etc. Further, inputs  310  may also include certain calibration data, such as desired NOx level, etc. Because most of inputs  310  may be provided by various physical sensors, inputs  310  may also be referred to as sensing parameters.  
         [0027]     On the other hand, virtual engine  304  may include any appropriate type of mathematical or physical model that reflects interrelationships between engine operational parameters  312  and certain engine output parameters, such as power output and emission levels, etc., and other related parameters. The mathematical or physical model may be created based on a particular engine or a standard engine (e.g., a desired engine). For example, virtual engine  304  may include a neural network model reflecting interrelationships between engine operational parameters  312  and a desired NOx level.  
         [0028]     The desired NOx level may refer to the NOx emission level of a desired engine and/or the expected or predicted NOx emission level based on a particular engine or engines. The desired NOx level may be determined based on factors such as engine type, age, operational stages (e.g., certain degrees of wear effect, etc.) and operational conditions (e.g., downhill, uphill, braking, etc.), etc., and may have a series values corresponding to these factors. Virtual engine  304  may generate the desired NOx level based on the model, or, virtual engine  304  may include a virtual NOx sensor (not shown) to provide the desired NOx level. In addition, virtual engine  304  may obtain the desired NOx level from other devices or subsystems (not shown) within vehicle  100 .  
         [0029]     Virtual engine  304  may also generate adjusting parameters  316  for controller  302 . Adjusting parameters  316  may include any information that may be provided to controller  302  for adjusting and/or re-training the artificial intelligence model of controller  302  to improve accuracy of controller  302 . For example, adjusting parameters  316  may be provided to controller  302  to adjust controller  302  to generate improved engine operational parameters  312  to keep actual NOx level  314  at a desired level. Also for example, adjustment parameters  316  may include a back-propagation error of the neural network model of controller  302  to be used to adjust weights of neural nodes of the neural network model of controller  302 . After the weights of the neural network model are adjusted, controller  302  may generate more accurate or desired engine operational parameters  312  based on inputs  310 . On the other hand, adjusting parameters  316  may also include any input parameters provided to controller  302  by virtual engine  304 , such as the desired NOx level.  
         [0030]     The mathematical or physical model of virtual engine  304  may also include a neural network based mathematical model that is trained to capture interrelationships between engine operational parameters  312 , the engine output parameters (e.g., NOx emission level, etc.), and/or other related parameters (e.g., adjusting parameters  316 , etc.). Other types of mathematic models, however, may also be used.  
         [0031]     The neural network model or models used in virtual engine  304  and/or controller  302  may include any appropriate types of neural networks. For example, the neural network models may include back propagation models, feed forward models, inverse neural networks, cascaded neural networks, and/or hybrid neural networks, etc. Particular types or structures of the neural network models may depend on particular applications. The neural network models may be trained and validated through off-line computer systems as well as on ECM  120 .  
         [0032]     As explained above, during operations, ECM  120  may create or activate controller  302  and virtual engine  304  to control operations of engine  110  such that emission levels (e.g., actual NOx level  314 ) may be kept below a predetermined threshold or at a desired level.  FIG. 4  shows an exemplary operational process performed by ECM  120  or more specifically, by processor  202  of ECM  120 .  
         [0033]     As shown in  FIG. 4 , at the beginning of the operational process, processor  202  may start virtual engine  304  by generating an engine neural network model (step  402 ). The engine neural network model may be previously trained and validated and may be loaded into memory module  204  from storage  212  or database  206  in the runtime, or may be trained and validated in real-time by processor  202 . The engine neural network model may be established based on data records previously collected.  
         [0034]     The data records used to establish the engine neural network model may be collected from any appropriate data source. For example, the data records experiments may be collected from tests designed for collecting such data or may be collected from a standard or desired engine, that is, an engine with desired engine output parameters such as desired NOx levels.  
         [0035]     The data records may also be collected during different operational stages and/or operational conditions in the life of an engine to reflect desired NOx levels during the different stages after various degrees of wear effects caused by continuously operations of the engine and/or under different operational conditions. In addition, the data records may also be generated artificially by other related processes, such as other emission modeling or analysis processes. The data records may be used in various stages of establishing the neural network model.  
         [0036]     After being established based on the data records, the engine neural network model may reflect interrelationships among engine operational parameters  310 , the desired NOx level, the operational stages, actual NOx level  314 , and/or adjusting parameters  316 . That is, the engine neural network model may provide values of adjusting parameters  316  when provided with engine operational parameter  310 , actual NOx level  314 , and/or the desired NOx level of different operational stages of engine  110 .  
         [0037]     Processor  202  may also start controller  302  by generating a control neural network model (step  404 ). The control neural network model may also be previously established and may be loaded into memory module  204  from storage  212  or database  206  in the runtime, or may be trained and validated in real-time by processor  202 , based on data records collected for the purpose of establishing controller  302 . The data records may includes various input parameters or sensing parameters, such as compression ratios, turbocharger efficiency, after cooler characteristics, temperature values (e.g., intake manifold temperature), pressure values (e.g., intake manifold pressure), ambient conditions (e.g., ambient humidity), fuel rates, engine age, engine physical parameters, and engine speeds, etc., and various output parameters such as power output, fuel injection timing, pressure, etc. Based on the data records, the control neural network model may be trained and validated to reflect interrelationships between inputs  310  and engine operational parameters  312  (e.g., fuel injection timing and pressure, etc.) during the life of engine  110  at various stages with different wear effects.  
         [0038]     After the control neural network model is trained and validated, the control neural network model may be used to generate values of engine operational parameters  312  (e.g., fuel injection timing and pressure, etc.) when provided with values of inputs  310 . However, because an individual engine may vary from the desired engine used to train and validate the control neural network model, or the individual engine may operate under different operational stages or conditions from that of the desired engine, the values of engine operational parameters  312  may be less desired. Certain adjustments may need to be made to correct values of engine operational parameters  312  provided to engine  110 .  
         [0039]     The control neural network model may also be automatically adjusted through a back-propagation process to improve accuracy of the control neural network model (i.e., to minimize the back-propagation error). In the back-propagation process, network weights of the control neural network model may be adjusted to minimize the back-propagation error. The back-propagation error may refer to differences between network outputs (e.g., engine operational parameters  312 ) and the corresponding desired target values of the network outputs. Error gradients may be computed by moving backwards from output nodes to input nodes of the control neural network model and the weights of network nodes may be adjusted to minimize the back-propagation error. The back-propagation process may be used in training of the control neural network model and/or re-training of the control neural network model in real-time during operations. In such circumstances, the control neural network model may include an inverse neural network model, which may be a partial inverse model or full inverse model.  
         [0040]     Further, processor  202  may obtain inputs  310  from various physical sensors and/or other components of engine system  102  (step  406 ). After inputs  310  are obtained, processor  202  may, via controller  302 , determined engine operational parameters  312  based upon inputs  310  (step  408 ). Controller  302  or, more specifically, the control neural network model included in controller  302 , may derive values of engine operational parameters  312  based on the values of inputs  310  and the interrelationships established between inputs  310  and engine operational parameters  312 . The derived engine operational parameters  312  may be provided to both engine  110  and virtual engine  304 .  
         [0041]     Engine  110  may operate based on engine operational parameters  312  and may also provide actual NOx level  314 . Engine  110  may provide actual NOx level  314  by having a NOx sensor that measures the actual NOx emission level. On the other hand, processor  202  may, via virtual engine  304 , determine a desired NOx level of engine  110  and actual NOx level  314  (step  410 ). As explained above, virtual engine  304  may include an engine neural network model to determine the desired NOx level or may include a separate virtual NOx sensor to determine the desired NOx level. Processor  202  may provide the desired NOx level to controller  302 , which may determine a set of values of engine operational parameters  312  based on the provided desired NOx level. Further, the set of values of engine operational parameters  312  corresponding to the provided desired NOx level may be provided to engine  110 . Engine  110  may generate a new value of actual NOx level  314  based on the set of values of engine operational parameters  312  via physical sensors.  
         [0042]     Once provided with both actual NOx level  314  and the desired NOx level, processor  202  may, via virtual engine  304 , calculate a difference between the determined values of the desired NOx level and actual NOx level  314  (step  412 ). Processor  202  may also, via virtual engine  304 , determine a back-propagation error (i.e., adjusting parameters  316 ) for the control neural network model (step  414 ). Processor  202  may determine the back-propagation error based on the engine neural network model using values of engine operational parameters  312  and the difference between the desired NOx level and actual NOx level  314 . For example, processor  202  may determine a direction and/or an amount of changes need to be made regarding engine operational parameters  312  based on the difference between the desired NOx level and actual NOx level  314 , and may further determine the back-propagation error from the direction and/or the amount of changes in engine operational parameters  312 .  
         [0043]     When calculating the difference between the desired NOx level and actual NOx level  314 , processor  202  may also determine whether the difference is within a predetermined range. If the difference is out of the predetermined range, processor  202  may further determine that the actual NOx level is not reliable and may send out an alarm message to warn users of vehicle  100  about a potential failure of the physical NOx sensor that provides the actual NOx level. Further, processor  202  may also keep the current operational status to continue operate engine  110 . For example, processor  202  or virtual engine  304  may set the back-propagation error to zero to stop re-training controller  302  due to the failure of the physical NOx sensor.  
         [0044]     Further, after a valid back-propagation error is generated by virtual engine  304 , processor  202  may, via controller  302 , adjust weights of the control neural network model (e.g., weights of neural nodes of the control neural network model) based on the back-propagation error (step  416 ). That is, the control neural network model may be re-trained to minimize the difference between the desired NOx level and actual NOx level  314  based on the propagation error.  
         [0045]     After re-training the control neural network model, processor  202  may, via controller  302 , determine adjusted engine operational parameters  312  based upon inputs  310  (step  418 ). The adjusted engine operational parameters  312  may reflect certain engine-to-engine variability, initial calibration errors, and/or wear effects during different operational stages of engine  110 . Processor  202  may continue the exemplary operational process in step  41   0  during operations of ECM  120  and/or engine system  102  such that engine system  102  may be continuously and automatically self-tuned to operate under desired operational parameters and to produce NOx emissions at a desired level.  
       INDUSTRIAL APPLICABILITY  
       [0046]     The disclosed systems and methods may provide efficient and accurate self-learning artificially intelligent control systems to adjust or correct errors arising from engine-to-engine variations, engine wear effects, and/or varying operational conditions. Certain NOx sensor failures may also be detected by the disclosed systems and methods. Further, the disclosed systems and methods may reduce manufacturing and maintenance costs by removing the need for calibrations maps for different stages of a particular engine during the life of the engine and/or removing the need for implementing certain PID (proportional-integral-derivative) controllers in engine control systems.  
         [0047]     The disclosed systems and methods may also provide flexible implementations of control functions of engine control systems in computer software programs. Further, the disclosed systems and methods may also be used to control other output parameters of engines, such as other forms of emissions or other related parameters.  
         [0048]     Researchers and developers of engine technologies may use the disclosed systems and methods to design more efficient engines. Manufacturers of engines, power equipment, and vehicles may also use the disclosed systems and methods to improve the engines to meet more stringent environmental requirements, and to reduce cost of manufacturing and maintenance. In addition, the disclosed systems and methods may also be used in other fields of control systems as well, by applying the disclosed control system principles and examples.  
         [0049]     Other embodiments, features, aspects, and principles of the disclosed exemplary systems will be apparent to those skilled in the art and may be implemented in various environments and systems.