The present invention relates generally to misfire detection in an internal combustion engine, and more particularly to an artificial neural network (ANN)-enhanced misfire detection system.
A misfire condition in an internal combustion engine results from either a lack of combustion of the air/fuel mixture, sometimes called a total misfire, or an instability during combustion, sometimes referred to as a partial misfire. In such case, torque production attributable to the misfiring cylinder decreases. Additionally, un-combusted fuel enters the exhaust system, which is undesirable. Because of the possible impact on the ability to meet certain emission requirements, engine misfire detection is needed.
Misfire detection is desired across the full speed and load operating region of a vehicle. Production algorithms have been developed and employed successfully on four and six cylinder engines since the mid-1990s. In this regard, one strategy evaluates speed variations (or derivatives thereof). Misfire may thus be detected through monitoring, over a full combustion cycle, variations in the instant engine speed (or its derivatives). Typically, a time sample is acquired once per combustion event, i.e., a number of time samples creating a base for further calculations of angular speed and its derivatives being equal to the number of cylinders. This approach limits the angular resolution of any parameter proposed to represent an engine speed variation that could possibly be due to a misfire. In addition, as a result of limited sampling resolution defined by the engine controller clock frequency, and machining error of a flywheel, the algorithm's ability to discriminate between normal and firing events is limited.
First, low load and high engine speed make detectability more difficult since, due to the system's inertia, the underlying misfire disturbance will have less impact on the driven mechanical system. Second, increasing the inertia of the driveline and lowering the cylinder contribution, as which occurs with higher-number-of-cylinder engines, also compromises detectability. Engine mechanical resonance at certain combinations of speed and/or loads can also complicate detection. Finally, variations between different engines and their corresponding target wheels that are used in producing the crankshaft-originated speed signal also complicates detection.
The conventional misfire detection algorithm described above typically produces a misfire flag if one or more of the engine speed derivatives exceed a predefined threshold level. As the number of combustion events per unit time increase, either due to higher engine speed and/or more cylinders, both normal and misfire events produce a response under the conventional algorithm that is ever closer to the threshold level. These responses, at even-higher engine speeds, may start to overlap. Thus, the conventional algorithm's outcome under these conditions becomes unreliable.
One alternative proposed in the art to improve misfire detection employs a pattern recognition technique. Specifically, it is known to use artificial neural network (ANN) hardware to detect misfire in an automobile. However, dedicated ANN hardware can be costly and is dedicated to the specific application, which limits flexibility and makes the operating characteristics difficult to change.
There is therefore a need for a system and method for detecting misfire that minimizes or eliminates one or more of the problems as set forth above.
The invention is directed to a system and method for detecting misfire in a multi-cylinder internal combustion engine system. The misfire detection system includes an engine-speed activated artificial neural network (ANN)-based detection service. One advantage of the present invention is that it more reliably indicates whether misfire has occurred in higher-number-cylinder engines (e.g., six-cylinder, eight-cylinder, etc.), at higher engine speeds, at lighter engine loads and combinations thereof, and under other conditions where conventional speed-variation type approaches do not reliably indicate misfire. In one embodiment, the functionality of an ANN hardware can be emulated with a microprocessor-coded algorithm, which would be comprised of a number of subroutines equal to the number of cylinders.
A method for misfire detection includes a number of steps. The first step involves producing an input vector that includes a respective engine speed derivative for (and attributable to) each cylinder. In a preferred embodiment, the input vector further includes, in addition to the engine speed derivatives, engine speed and load values. The input vector is preferably updated once per combustion cycle. The next step of the method involves providing the input vector to a first artificial neural network (ANN)-based misfire detection functional block configured to operate in accordance with an ANN (i.e., via microprocessor emulation of the real ANN hardware). The ANN is associated with a selected one of the cylinders. The first misfire detection block has a first output signal, preferably originating from the ANN, indicative of whether the selected one cylinder has misfired. The final step involves generating, when an engine speed exceeds a predetermined threshold, a misfire signal for the engine system based on the first output signal from the ANN-based misfire detection block.
In a preferred embodiment, a conventional misfire detection block may be used when the engine speed is at or below an engine speed threshold, with the ANN-based misfire detection block being used only when the engine speed exceeds the threshold. In this preferred embodiment, the ANN-based misfire detection block is configured to operate in accordance with a plurality of distinct ANNs, each of which is conditioned by a respective set of weights and biases to correspond to and detect when a respective cylinder has misfired. The ANN-based misfire detection block has an output signal from each ANN indicating whether the respective cylinder has misfired. An engine speed controlled selector is configured to select from the output of either the low-speed, conventional misfire detection block or the inventive high-speed ANN-based misfire detection block based on whether the engine speed threshold is exceeded. Other features, objects and advantages of the present invention will be described in greater detail herein.
A corresponding system is also presented.
The present invention will now be described by way of example, with reference to the accompanying drawings.
Referring now to the drawings wherein like reference numerals are used to identify identical components in the various views,
An advantageous option for improvement to existing misfire detection approaches, without either changing the sampling rate and/or resolution, involves the use of a pattern recognition technique, specifically an artificial neural network (ANN). According to the present invention, an ANN-enhanced misfire detection strategy involves activating the use of the ANN, as described in greater detail below, at engine speeds known to cause difficulties in conventional detection algorithms (i.e., difficulty in producing reliable misfire detection results).
As described briefly in the Background, one of the shortcomings of the existing art is its inability to discriminate between normal operation and misfire. Table 1 below shows the typical performance of the existing art for an exemplary 8-cylinder engine.
The ability to discriminate between normal operation and misfires may be measured by calculating the statistical separation distance of a key indicative parameter (e.g., angular engine speed derivative(s)). The separation, DMSS, is defined as a difference between means divided by the summation of standard deviations. At relatively high engine speeds, especially when two opposite cylinders misfire, the existing art algorithm delivers poor performance. This is due to the fact that at high engine speeds, the inertia overshadows the engine vibrations, while misfire on consecutive halves of the combustion cycle precludes differentiating normal firing sequences from misfires. In short, a technique that is based on the comparison of normal and abnormal events fails. However, one may expect that the engine speed derivatives pattern, representing a full set of cylinders over one combustion cycle, remain different, and an abnormality should surface when the data are scrutinized by a pattern recognition technique, rather than discriminated against a pre-defined threshold level, in accordance with the invention.
With continued reference to
The basic arrangement of the engine 12 is known in the art, and will not be repeated exhaustively herein in detail. However, it should be understood that each cylinder 161, 162, 163, . . . 168 is equipped with a corresponding piston (not shown), which is connected to a common crankshaft 18, as shown by the dashed-line in
In this regard,
In recent years, a commonly employed target wheel is one variant known as a 58× target wheel (i.e., 60−2; 58 teeth spaced around the wheel, spaced as though there were 60 evenly spaced teeth but with two teeth missing). In the illustrated embodiment, target wheel 20 may be the 58× form target wheel known in the art. This form of a target wheel 20 provides a rising edge in the output signal every 6 degrees, with the exception of the 2 tooth gap, which as known is used as a reference. A speed-based signal, for example, can be formed by determining the speed, or a representative signal, every 6 degrees or multiples of 6 degrees as typically only one edge is used. Existing misfire algorithms, however, typically acquire a time sample only once per combustion event, which in the case of an 8 cylinder engine translates to time sampling of the target wheel every 90 degrees.
With continued reference to
The ANN-enhanced misfire detection strategy uses existing misfire detection algorithms when the engine speed is equal to or less than a predetermined, threshold engine speed, while above this predetermined threshold, an ANN-based algorithm is activated. In a preferred embodiment, the control unit 34 is configured to operate as though it contained a plurality of distinct ANNs where each such ANN is arranged to service (i.e., determine normal operation or misfire) a corresponding cylinder in the engine (i.e., the number of emulated ANNs being equal to the number of cylinders). Each ANN is emulated in software and each is specifically conditioned in accordance with a respective set of weights/biases for its cylinder, as would be understood by one of ordinary skill in the art. The multiple sets of weights/biases 35 are shown in single block form, although it should be understood that each emulated ANN has its own set. Preferably, the values for the sets of weights/biases (i.e., one set for each ANN emulated) are initially obtained through a training process, which is described in greater detail in connection with
With continued reference to
The instant engine speed parameter shown in block 40, while optional, is desirable to be included in the input vector 36. The instant engine speed parameter 40 may be a time-averaged value over some portion on all of the engine cycle. It is well known how to determine this value from the raw data input from sensor 22. It should be further understood that the instant engine speed parameter 40 may be suitably scaled to fit the framework of the ANN-based algorithm implemented in the control unit 34. The instant engine load parameter shown in block 42, while optional, is also desirable to be included in the input vector 36. It is well known how to determine an engine load parameter using the MAP signal 32. It should be further understood that the instant engine load parameter 42 may be suitably scaled to fit the framework of the ANN-based algorithm implemented in the control unit 34. Finally, the input vector 36 may be arranged, optionally, to include one or more values directly or derived from one or more exhaust gas oxygen sensor outputs (e.g., switching, wide-band, etc.—not shown). For example, in a common configuration, one exhaust oxygen sensor is disposed in each one of first and second exhaust banks. It is known that a misfire on one cylinder would affect the output signal from the oxygen sensor which measures the corresponding exhaust gas bank. Notwithstanding the foregoing, based on current technology, the exhaust oxygen sensors as inputs work best at lower engine speeds-speeds at which existing art misfire detection approaches provide adequate performance.
Preferably, the constituent values of the input vector 36 are updated once each combustion event. It should be noted that the input vector 36, the same input vector 36, is provided to each of the multiple, uniquely-conditioned ANNs emulated by control unit 34. Thus, while each ANN for each cylinder can be different, due to being conditioned with unique weights/biases, each ANN will nonetheless receive the same input data, namely, the input vector 36.
With continued reference to
The portion 541 for a single cylinder includes a primary, low-speed misfire detection block 56, an enhancement, high-speed (ANN-based) misfire detection block 58 enclosed in dashed-lines, and an engine-speed controlled selector 60. The low-speed misfire detection block 56 may be configured to operate in accordance with existing art strategies, such as that described in the Background, which seeks to identify when engine speed variations attributable to a cylinder exceed a threshold. The low-speed misfire detection block 56 is, in a preferred embodiment, responsive to engine speed derivatives, as in block 38 of the input vector 36 (
The selector 60 is responsive to the instant engine speed 40 (e.g., rpm) to select either signal 62 or signal 64 and generate an overall output signal 66. the overall output signal 66 is indicative of whether the cylinder misfired or not (i.e., taking on a value of a logic “1” if the cylinder misfired or taking on a value of a logic “0” if the cylinder did not misfire). In one embodiment, the selector 60 is configured to select the signal 62 for output as the signal 66 when the engine speed signal 40 is at or below a predetermined, threshold engine speed. The selector 60 is further configured to select the signal 64 for output as the signal 66 when the engine speed 40 exceed the predetermined, threshold engine speed. In one embodiment, the threshold engine speed may be 3500 rpm. However, it should be understood that the particular value in any application will depend on the specifics of that application (e.g., the number of cylinders in the engine, the mechanical characteristics thereof, the performance of the respective detection blocks 56 and 58 in their respective engine speed operating regions, etc.).
The ANN-based misfire detection block 58 includes an ANN-emulated algorithm (“ANN”) 68 having an output 70 and an ANN-output controlled selector 72. The ANN 68 is responsive to the input vector 36, which as described above includes the engine speed derivatives block 38, and optionally the engine speed 40, the engine load 42, and one or more exhaust oxygen sensor output values 44. The ANN 68 is configured, preferably, to provide an output ranging between a zero (“0”) and a one (“1”), with a zero representing normal operation and a one representing a misfire. The selector 72 includes threshold determining logic, such that when the output 70 from the ANN 68 is below a predefined threshold, for example 0.5, it will select a logic “0” from block 740 for output as the output signal 64. Likewise, the selector 72 is further configured such that when the output 70 from the ANN 68 is above the predefined threshold (e.g., 0.5), then it will select a logic “1” from block 74, for output as the output signal 64. It should be understood that the predefined threshold may itself be either inclusive with no misfire, or alternatively with misfire.
In addition, the hidden neuron layer 78 is configured to include a sigmoidal (e.g., S-shaped) transfer function 82. The output neuron 80 includes a “satlin” type transfer function 84 having an output 70 (consistent with
The training input vector 96 is typically configured to include values representing a limited range of engine operating conditions (i.e., engine speed and load) within which an existing misfire algorithm does not provide reliable results. The values in the training input vector 96 are acquired either through dynamometer and/or road testing, which are then “played back”, or in other words provided via input vector 96 to the ANN 100. Note, that the particular misfire status of the cylinder (normal firing or misfire) is also stored and used in the training (i.e., this is the “desired” output 104). In this regard, it is known to employ a “kill generator” or the like on certain cylinders when acquiring the data to force a misfire.
The ANN 100 is initially set with preselected weights and biases with the understanding that the training process will cause the weights and biases to converge on a solution that reduces the error 108 to a desired level. It should be understood that each cylinder of any particular engine will have, as described above, its own set of weights and biases. The distance generator 106 is configured to generate an error 108. The adaptive ANN 100 includes a function that is responsive to the error 108 and is configured to find the best combination of weights and biases to try for the next iteration. The art is replete with strategies for training an ANN, including the particular function of determining the next combination of weight and bias values. Once the supervised output 102 meets a desired quality standard, the computational algorithm (including the sets of weight and bias values for the respective cylinders) is “frozen.” The sets of weights and biases are stored in block 35 for use in production embodiments for that specific engine type.
An 8-cylinder engine was tested using the ANN-enhanced misfire detection at engine speeds equal to or greater than 3500 rpm. All eight ANN-based algorithms were trained with input signals representing derivatives of the engine speed that were generated (and used by) the existing misfire detection algorithm, plus an instant engine speed and engine load (e.g., as provided by the conventional operation of an engine controller). The parameters of the input vector were updated only once per combustion cycle. The performance of the existing art algorithm for low-speeds, as enhanced by the ANN-based misfire detection at high speeds is shown in Table 2 below. The range of engine speed/load was limited to those combinations where the existing art misfire detection algorithms had encountered difficulties in reliably/accurately detecting misfire. As shown in Table 2, the discrimination capability provided by the present invention has been dramatically improved.
In accordance with the present invention, the control unit 34 is configured with an ANN-enhanced misfire detection function as further described herein. It should be understood that the functional and other descriptions and accompanying illustrations contained herein will enable one of ordinary skill in the art to practice the inventive misfire detection inventions without undue experimentation. It is contemplated that the invention will preferably be practiced through programmed operation (i.e., execution of software computer programs) of the control unit 34.
While the invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not to be limited to the disclosed embodiments but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims, which scope is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures as is permitted under the law.