Patent Document

TECHNICAL FIELD  
         [0001]    The present invention relates to internal combustion engine controls. More specifically, the present invention relates to a method and apparatus for diagnosing sensors operating with an internal combustion engine.  
         BACKGROUND OF THE INVENTION  
         [0002]    Today&#39;s automotive engine control system consists of engine sensors and actuators wired directly to an electronic control unit (ECU) or controller that contains embedded software. The complexity of the software continues to increase as the number of sensors and actuators used on the vehicle increases. Under current governmental regulations, each emission related sensor must be diagnosed such that faulty sensors are replaced as soon as possible to minimize pollution and poor vehicle performance. For this reason, each sensor is monitored by a diagnostic algorithm that is responsible for detecting sensor values that are irrational or out of range. There are countless ways that a diagnostic may differentiate a good sensor from a bad one, leading to an unwieldy diagnostic development process with many analysis options.  
           [0003]    The current process of creating a diagnostic for sensors involves designing the algorithm, comparing data collected from a good sensor with that of a bad sensor and trying to determine the values for differentiating a good system from a bad one. The process of producing the parameters that differentiate a good sensor from a bad one for the various operating environments will be referred to as the diagnostic development process. This process is typically done manually by a person using trial and error to determine the differences in the system when sensors are good vs. when they are faulty. Decisions are based on data taken from different environments, which include different climates, altitudes, and vehicle operating conditions. Present diagnostic development processes are time consuming and rely heavily on heuristic data.  
         SUMMARY OF THE INVENTION  
         [0004]    The present invention is a method and apparatus for diagnosing sensors in an internal combustion engine (ICE) using neural networks. A Neural Network (NN) is a mathematical tool that is used to perform complex calculations. It is a tool used to produce an equation or transfer function that relates known inputs to known outputs. A NN is trained on data exemplars that associate input values with desired output values. The training process involves adjusting internal NN weights in a manner that will minimize the error between the input values and the corresponding desired output values. A NN that is trained outside of the control system that it will be embedded in is said to be trained “off line”. Alternatively, it is possible to train the NN “on line” while it is executing in the control system real time. Using either method, once the NN is fully trained and embedded in a control system, it will have the ability to execute complex calculations that otherwise would be very difficult to model with simple mathematical equations.  
           [0005]    From a black box point of view, a NN is basically a complex transfer function that takes input values and translates them into output values. Inside the black box is a potentially complex structure of nodes and interconnections between the inputs and the outputs in a way that produces some desired result.  
           [0006]    Neural networks are inspired by the operation of the human brain which is made up of billions of neurons interconnected by synapses, and like a human brain, a NN must be trained. The training process involves taking a series of known input/output data pairs, called exemplars, which are fed into a training algorithm, such as back-propagation process, to produce a least squares error for each input. Essentially, the training algorithm iterates through each exemplar and adjusts the weights of the interconnections between each node to produce an overall transfer function that will generate the correct output for each exemplar. The overall transfer function is made up of the combination of the nodes, which themselves constitute a single transfer function, that is multiplied by the sum of the weighted connections coming into it.  
           [0007]    Once the NN is sufficiently trained, it is able to calculate output values for any input even if the input value was not explicitly used in the original training set. Once the trained NN is implemented in a system with live input values, the outputs will equal those used during training when the input matched one of the training pairs used. Otherwise, the output is a calculated value based on the overall transfer function of the NN that resulted from the training.  
           [0008]    The present invention further incorporates an Auto Associative Neural Network (AANN) into a diagnostic that shifts a portion of the analysis burden from an engineer to a computer.. Once a diagnostic is successfully developed, the end result is an algorithm that communicates to the vehicle when default or fail-soft action is necessary. The algorithm development required to generate proper fail-soft values is critical to customer satisfaction. A vehicle that can continue to run in the presence of a fault will minimize customer inconvenience while a stranded vehicle will not. The Auto Associative Neural Network Diagnostic (AANND) of the present invention has characteristics that lead to an improved diagnostic development process, accurate fault detection of related groups of sensors, and superior fail-soft value determination. The benefits of an AANND are dependent on how well a group of sensors are related to one another and on how well the AANN can be trained.  
           [0009]    The process of training an AANN shifts some of the burden of analysis from an engineer to a computer, which learns a transfer function that allows the present diagnostic to differentiate a good system from a bad one. The normal analysis done by an engineer is handled automatically when the AANN is trained with data from a good system. Furthermore, the data used to represent a bad system is also generated automatically by scripts used during the training procedure. Consequently, analysis work done previously in a development vehicle can now be done off line, freeing up an expensive development resource.  
           [0010]    In one embodiment of the present invention, a diagnostic has been developed that monitors three sensors related to the air flowing into an engine. The diagnostic includes a trained AANN to detect a single sensor fault on any one of three sensors, and provide accurate fail-soft values that are dependent on the values read from the remaining good sensors. The outputs of the AANN are estimated values that track the actual values of a good sensor.  
           [0011]    In another embodiment of the present invention, virtual sensor values may be used to replace traditional physical sensors in a control system.  
           [0012]    The diagnostic AANN of the present invention creates a complex transfer function that compresses redundant information present in sensor values on its inputs, which are later uncompressed to produce the same exact values on its outputs. This trained AANN is then put in a vehicle where it will continue to generate output values equal to the input values while the sensors are good. However, when a bad sensor value appears on the input then a non-identical output value will be calculated. A difference between a calculated output value and its corresponding input value would be used to flag a fault. And if the fault persisted, the estimated output would be fed back to the system to be used as a dynamic fail-soft value until the diagnostic was reset. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]    [0013]FIG. 1 is a diagrammatic drawing of an auto associative neural network.  
         [0014]    [0014]FIG. 2 is a diagrammatic drawing of an engine control system of the present invention.  
         [0015]    FIGS.  3  is a diagram of a preferred neural network used to control an engine in the present invention. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0016]    [0016]FIG. 1 is a diagrammatic drawing of an Auto Associative Neural Network (AANN)  10  including an input layer  12 ; three hidden layers comprising a mapping layer  14 , a bottle-neck layer  16 , a de-mapping layer; and an output layer  20 . The overall transfer function of the AANN  10  of the present invention is equal to 1, as the outputs are trained to be equal to the values on the corresponding inputs. The design of the AANN  10  uses compression of data in the bottleneck layer  16  to achieve an overall transfer function that is not trivially equal to 1. For this type of AANN to work properly, the input data has the property of analytical redundancy where the inputs to the AANN  10  are physically related somehow. The analytically redundant information will be used to generate correct output values when the inputs are only partially correct or in a fault condition. For example, when a sensor is faulty on one input, there is enough information coming from the other inputs to generate a correct output value for the faulty sensor. The AANN  10  of the present invention with analytical redundancy can be used to calculate expected values for each output that can then be used to detect bad input values and provide fail-soft values for the system in place of the faulty sensor value. To achieve robustness and to produce a non-corrupted output value for inputs containing gross errors, the AANN  10  is trained on exemplars that represent this input-output behavior.  
         [0017]    Once an AANN  10  is initially trained using a sufficient number of good data values to represent the system over its complete operating range, it has the capability to make its outputs equal to its inputs as long as a sensor fault is not present. If the training is stopped at this point, the AANN  10  is trained to model a good system such that it could be used to detect faults in a traditional manner. The current sensor values are compared to the calculated outputs of the AANN  10 , and a fault is flagged when the differences between the two exceeded a threshold. However, if the training is taken a step further, and the system is trained on data that is representative of bad sensors, then the output of the AANN  10  may be used to provide fail-soft values for the bad input all at once. Training the AANN  10  involves the compilation of heuristic data, as there are several “knobs” that can be turned during the training process. The end result of training is an AANN  10  that will produce outputs equal to its inputs when good sensor values are present and fail-soft values when faulty sensors are present. AANNs that have gone through this second step of training, with exemplars of faulty sensors, will be referred to as robust AANNs. The AANN  10  developed in the preferred embodiment of the present invention will be of the robust type.  
         [0018]    The present invention in a preferred embodiment utilizes the AANN  10  in an automotive application as show by the engine control system  30  of FIG. 2, but any sensor application is considered within the scope of the present invention. The engine control system  30  includes an engine controller  32  receiving sensor measurements of coolant temperature; air temperature; manifold pressure (MAP) from MAP sensor  34 ; manifold air flow rate (MAF) from MAF sensor  36 ; engine speed and engine position from engine position sensor  38 ; pedal position; throttle position or angle (TPS) from throttle position sensor  40 ; and exhaust oxygen measurements before and after a catalytic converter  42  by oxygen sensors  44  and  46   
         [0019]    Air enters an internal combustion engine (ICE)  50  through an intake manifold  52 . A throttle plate  54  controls air flow through the ICE  50  and may be controlled electronically or manually by a wire connected to an accelerator pedal. The air is mixed with fuel from a fuel injector  56  controlled by the engine controller  32 . The air/fuel mixture enters a piston  58  where it is ignited to rotate a crankshaft, as is commonly known in the art. The exhaust gases are oxidized and reduced by the catalytic converter  42 , as is commonly known in the art.  
         [0020]    The sensors relating to air entering the engine manifold have the property of analytical redundancy and will be used in the preferred embodiment of the present invention. Specifically, the MAP sensor  34 , MAF sensor  36 , and TPS sensor  40  are related to air flow through the ICE  50 . The MAF sensor  36  measures the amount of air being drawn into the ICE  50 , the MAP sensor  34  measure the pressure in the ICE  50 , and the TPS sensor  40  measure the throttle blade  54  angle or area.  
         [0021]    [0021]FIG. 3 is a diagrammatic drawing of a preferred embodiment of an AANN  60  in the present invention. MAP, MAF, and TPS sensors  34 ,  36 , and  40  are input to a normalization function  62 . The normalized sensor values are processed at an input layer  64  having a linear transfer function. The input layer generates outputs to weighted connections  66 . A mapping layer  68  having sigmoidal transfer functions outputs values to weighted functions  70 . A bottleneck layer  72  processes the inputs from the weighted connections  70  and generates outputs to weighted connections  74 . The weighted connections  74  output signals to a de-mapping layer  76  and outputs values to weighted connections  78 . An input layer  80  having a linear transfer function processes the outputs from weighted connections  78 . Block  82  un-normalizes the outputs from block  80  to generate representative values MAF′, MAP′, and TPS′. The functions of Auto Associative Neural Network  60  (layers  62 - 82 ) described above is as follows:  
         [0022]    a=F 1 (W 5 F 2 (W 4 F 1 (W 3 F 2 (W 2 F 1 (W 1 p+b 1 )+b 2 )+b 3 )+b 4 )+b 5 )  
         [0023]    where  
         [0024]    F 1 =Linear Transform Function  
         [0025]    F 2 =Tan-Sigmoid Transfer Function  
         [0026]    W 1 =Weight Vector for Input Layer  64  (3×3 Matrix)  
         [0027]    W 2 =Weight Vector for Mapping Layer  68  (6×3 Matrix)  
         [0028]    W 3 =Weight Vector for Bottleneck Layer  72  (2×6 Matrix)  
         [0029]    W 4 =Weight Vector for De-Mapping Layer  76  (6×2 Matrix)  
         [0030]    W 5 =Weight Vector for Output Layer  80  (3×6 Matrix)  
         [0031]    b 1 =Bias Vector for Input Layer  64  (3×1 Matrix)  
         [0032]    b 2 =Bias Vector for Mapping Layer  68  (6×1 Matrix)  
         [0033]    b 3 =Bias Vector for Bottleneck Layer  72  (2×1 Matrix)  
         [0034]    b 4 =Bias Vector for De-Mapping Layer  76  (6×1 Matrix)  
         [0035]    b 5 =Bias Vector for Output Layer  80  (3×1 Matrix)  
         [0036]    p=input pattern (3×1 Matrix)  
         [0037]    a=output pattern (3×1 Matrix)  
         [0038]    The representative values MAF′, MAP′, and TPS′ should generally equal the values generated by the MAP, MAF and TPS sensors  34 ,  36 , and  40  under normal operating conditions or under a fault condition for any of the sensors  34 ,  36 , and  40 . Accordingly, the engine control system  30  may still operate within normal parameters if there is a fault, or in alternate embodiments, the representative values may be used to replace a physical sensor.  
         [0039]    In alternate embodiments of the present invention, other related sensor groupings such as engine speed, transmission speed, wheel speed sensors, related sensors such as throttle position sensors, and other similar sensor groupings may be used in the present invention.  
         [0040]    It is to be understood that the invention is not limited to the exact construction illustrated and described above, but that various changes and modifications may be made without departing from the spirit and scope of the invention as defined in the following claims.

Technology Category: 2