Back to EveryPatent.com



United States Patent 5,070,846
Dudek ,   et al. December 10, 1991

Method for estimating and correcting bias errors in a software air meter

Abstract

A method for estimating and correcting bias errors in a vehicle system which implements iterative prediction and estimation to determine a measure of at least one determinable vehicle engine parameter determines if the vehicle engine is in a substantially steady state condition, determines a measure of error between the predicted and measured values of a control parameter while the vehicle is in the steady state condition, estimates a system bias in response to the determined error, and offsets the system bias in subsequent predictions, thereby reducing the error between the predicted and measured values of the control parameter and increasing the accuracy of the estimations of the determinable vehicle parameter.


Inventors: Dudek; Kenneth P. (Rochester Hills, MI); Davis; Ronald A. (Milford, MI)
Assignee: General Motors Corporation (Detroit, MI)
Appl. No.: 653923
Filed: February 12, 1991

Current U.S. Class: 123/488; 73/118.2; 123/494; 700/282
Intern'l Class: F02D 041/18; G01F 001/34
Field of Search: 123/478,480,488,494 73/118.2,861.03 364/510,550,556,558,431.04,431.05


References Cited
U.S. Patent Documents
4386520Jun., 1983Nagaishi73/118.
4437340Mar., 1984Csere et al.73/118.
4502325Mar., 1985Klomp73/118.
4548185Oct., 1985Pozniak123/571.
4599694Jul., 1986Aposchanski et al.364/431.
4644474Feb., 1987Aposchanski et al.364/431.
4664090May., 1987Kabasin123/494.
4761994Aug., 1988Sogawa73/118.
4785785Nov., 1988Oba et al.123/488.
4860222Aug., 1989Schmidt et al.364/550.
4892072Jan., 1990Miwa et al.123/494.
4893244Jan., 1990Tang et al.364/431.
4911128Mar., 1990Hara et al.123/494.
4945883Aug., 1990Ono et al.123/494.
4957088Sep., 1990Hosaka123/488.
4967715Nov., 1990Hosaka123/494.
4984553Jan., 1991Kako et al.123/488.
4987888Jan., 1991Funabashi et al.123/488.


Other References

"State Functions and Linear Control Systems", 1-1967, Mc-Graw-Hill, Inc., U.S.A.
"Probability, Random Variables, and Stochastic Processes", 1-1965, McGraw-Hill, Inc., U.S.A.

Primary Examiner: Wolfe; Willis R.
Attorney, Agent or Firm: Simon; Anthony Luke

Parent Case Text



This application is a continuation-in-part of U.S Ser. No. 07/618,124, filed on Nov. 26, 1990, assigned to the assignee of this application and abandoned with the filing of this application.
Claims



The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:

1. In an engine control system in which the value of an unmeasured engine parameter is determined through measurement of the values of other parameters including a control parameter and the iterative prediction and estimation of the values of the control parameter and the unmeasured parameter based upon the other measured parameter values and a system model, the improvement comprising the steps of:

comparing the estimated value of the control parameter with the measured value of the control parameter during steady state operation to derive a quantitative indication of system bias; and

employing the quantitative indication of system bias in the iterative prediction of the control parameter and the unmeasured parameter thereby improving the accuracy of the unmeasured parameter value estimation.

2. In an engine control system in which the value of an unmeasured engine parameter is determined through measurement of the values of other parameters including a control parameter and the iterative prediction and estimation of the values of the control parameter and the unmeasured parameter based upon the other measured parameter values and a system model, the improvement comprising the steps of:

comparing the predicted value of the control parameter with the measured value of the control parameter during steady state operation to derive a quantitative indication of system bias; and

employing the quantitative indication of system bias in the iterative prediction of the control parameter and the unmeasured parameter thereby improving the accuracy of the unmeasured parameter value estimation.

3. In an engine control system in which future values of at least one engine state is predicted through iterative prediction and estimation responsive to measures of various engine parameters, including a measure of the one engine state, the improvement comprising the steps of:

comparing the predicted value of the one engine state with the measured value of the one engine state during steady state operation to derive a quantitative indication of system bias; and

employing the quantitative indication of system bias in the iterative prediction of the one system state thereby improving the accuracy of the predicted future values of the one engine state.

4. A method for estimating and correcting bias errors in a vehicle system which implements iterative prediction and estimation to predict a measure of at least one vehicle engine parameter in response to a set of model parameters and various measured engine parameters, comprising the steps of:

determining a measure of error between the predicted and measured values of the one engine parameter while the vehicle is in a steady state condition;

estimating a system bias in response to the determined error; and

offsetting the system bias in subsequent predictions, thereby reducing the error between the predicted and measured values of the one engine parameter.

5. A method for estimating and correcting bias errors in a vehicle system which implements iterative prediction and estimation to determine a measure of at least one determinable vehicle engine parameter and predicts at least one control parameter, which is also separately measured, in response to a set of model parameters and various measured engine parameters, comprising the steps of:

determining a measure of error between the predicted and measured values of the control parameter while the vehicle is in a steady state condition;

estimating a system bias in response to the determined error; and

offsetting the system bias in subsequent predictions, thereby reducing the error between the predicted and measured values of the control parameter and increasing the accuracy of the estimations of the determinable vehicle parameter.

6. The method of claim 5 wherein the system bias is substantially due to an error in one model parameter.

7. The method of claim 5 also comprising the step of filtering the estimated system bias before the bias is offset.

8. The method of claim 5 wherein the system bias is substantially due to an error in measurement of one of the various measured engine parameters.

9. The method of claim 8 wherein the determinable engine parameter is mass airflow into the engine and the control parameter is engine intake manifold pressure.

10. The method of claim 9 wherein the various measured engine parameters include IAC valve position and the system bias is substantially due to an error in measurement of the IAC valve position.

11. The method of claim 8 additionally comprising the step of first determining if the engine is at idle and continuing through the estimating and correcting method only if the engine is at idle.

12. The method of claim 11 additionally comprising, after the step of determining if the engine is at idle, the step of:

determining a division factor, .omega..sub.r, corresponding to the model parameters at engine idle; and

after the step of determining control parameter error, the steps of:

determining a preliminary estimated system bias as: (control parameter error)/.omega..sub.r ;

comparing the preliminary estimated system bias to a first threshold, and continuing if the preliminary estimated system bias has a magnitude greater than the first threshold;

determining if both the preliminary estimated system bias and a previous estimated system bias are positive;

determining if both the preliminary estimated system bias and the previous estimated system bias are negative;

incrementing a counter if both the preliminary system bias and the previous estimated system bias are positive; and

decrementing the counter if both the preliminary estimated system bias and the previous estimated system bias are negative,

wherein the step of estimating system bias includes: (1) comparing the counter to a second threshold, (2) incrementing the system bias by a predetermined step if the counter is greater than the second threshold, and (3) decrementing the system bias by the predetermined step if the counter is less than a negative of the second threshold.

13. The method of claim 12 wherein the determinable engine parameter is mass airflow into the engine and the control parameter is engine intake manifold pressure.

14. The method of claim 13 wherein the various measured engine parameters include IAC valve position and the system bias is substantially due to an error in measurement of the IAC valve position.

15. A method for estimating and correcting bias errors in a vehicle system which implements iterative prediction and estimation to determine a measure of at least one determinable vehicle engine parameter and estimates at least one control parameter, which is also separately measured, in response to a set of model parameters and various measured engine parameters, comprising the steps of:

determining a measure of error between the estimated and measured values of the control parameter while the vehicle is in a steady state condition;

estimating a system bias in response to the determined error; and

offsetting the system bias in subsequent predictions, thereby reducing the error between the estimated and measured values of the control parameter and increasing the accuracy of the estimations of the determinable vehicle parameter.

16. The method of claim 15 wherein the system bias is substantially due to an error in one model parameter.

17. The method of claim 5 also comprising the step of filtering the estimated system bias before the bias is offset.

18. The method of claim 15 wherein the system bias is substantially due to an error in measurement of one of the various measured engine parameters.

19. The method of claim 18 wherein the determinable engine parameter is mass airflow into the engine and the control parameter is engine intake manifold pressure.

20. The method of claim 19 wherein the various measured engine parameters include IAC valve position and the system bias is substantially due to an error in measurement of the IAC valve position.

21. The method of claim 18 additionally comprising, after the step of determining if the engine at idle, the steps of:

determining a division factor, .omega..sub.r, corresponding to the model parameters at engine idle; and

after the step of determining control parameter error, the steps of:

determining a preliminary estimated system bias as: (control parameter error)/.omega..sub.r ;

comparing the preliminary estimated system bias to a first threshold, and continuing if the preliminary estimated system bias has a magnitude greater than the first threshold;

determining if both the preliminary estimated system bias and a previous estimated system bias are positive;

determining if both the preliminary estimated system bias and the previous estimated system bias are negative;

incrementing a counter if both the preliminary estimated system bias and the previous estimated system bias are positive; and

decrementing the counter if both the preliminary estimated system bias and the previous estimated system bias are negative,

wherein the step of estimating system bias includes: (1) comparing the counter to a second threshold, (2) incrementing the system bias by a predetermined step if the counter is greater than the second threshold, and (3) decrementing the system bias by the predetermined step if the counter is less than a negative of the second threshold.

22. The method of claim 18 additionally comprising the step of first determining if the engine is at idle and continuing through the estimating and correcting method only if the engine is at idle.

23. The method of claim 22 additionally comprising, after the step of determining if the engine is at idle, the step of:

determining a division factor, .omega..sub.r, corresponding to the model parameters at engine idle; and

after the step of determining control parameter error, the steps of:

determining a preliminary estimated system bias as: (control parameter error)/.omega..sub.r ;

comparing the preliminary estimated system bias to a first threshold, and continuing if the preliminary estimated system bias has a magnitude greater than the first threshold;

determining if both the preliminary estimated system bias and a previous estimated system bias are positive;

determining if both the preliminary estimated system bias and the previous estimated system bias are negative;

incrementing a counter if both the preliminary estimated system bias and the previous estimated system bias are positive; and

decrementing the counter if both the preliminary estimated system bias and the previous estimated system bias are negative,

wherein the step of estimating system bias includes: (1) comparing the counter to a second threshold, (2) incrementing the system bias by a predetermined step if the counter is greater than the second threshold, and (3) decrementing the system bias by the predetermined step if the counter is less than a negative of the second threshold.

24. The method of claim 23 wherein the determinable engine parameter is mass airflow into the engine and the control parameter is engine intake manifold pressure.

25. The method of claim 24 wherein the various measured engine parameters include IAC valve position and the system bias is substantially due to an error in measurement of the IAC valve position.
Description



This invention relates to correction of bias errors in systems that use mathematical models to estimate engine parameters.

This patent application is related to copending U.S. patent application Ser. No. 653,931, filed Feb. 12, 1991, entitled "Software Air Meter", and Ser. No. 653,922, filed Feb. 12, 1991 entitled "Method for Predicting R-Step Ahead Engine State Measurements", both filed concurrently with this application and assigned to the assignee of this application. The disclosures of patent applications numbers Ser. Nos. 653,931 and 653,922 are hereby incorporated into this application by reference.

BACKGROUND OF THE INVENTION

Copending U.S. patent application Ser. No. 653,931 discloses a method for accurately measuring mass airflow into an internal combustion engine without a mass airflow meter. The method employs a technique of iterative prediction and estimation to determine mass airflow into the engine in response to measures of various engine parameters and a set of model parameters. One implementation of the method is described below.

Various engine parameters are measured with various input devices at each time event, with k designating the present time event. The measured engine parameters include throttle position, TPS(k), engine speed, RPM(k), idle air control valve position, IAC(k), exhaust gas recirculation (EGR) valve position, EGR(k), air temperature, T(k), atmospheric pressure, ATM(k), and intake manifold absolute pressure, MAP(k). A mathematical model of the engine is predetermined and comprises the parameters: (i) a.sub.t, the MAP prediction model state coefficients, (ii) b.sub.t, the airflow prediction model state coefficients, (iii) c.sub.t, the MAP prediction model input coefficients, (iv) d.sub.t, the airflow prediction model input coefficients, and (v) h.sub.1 and h.sub.2, the MAP and mass airflow prediction model constants, respectively.

Manifold pressure predictions and mass airflow predictions, MAP.sup.P (k-t) and MAP.sup.P (k-t), comprising the vector X.sup.P (k), where: ##EQU1## and where i and j are system constants, are computed from previous estimations of manifold air pressure and mass airflow, MAP.sup.e (k-t) and MAF.sup.e (k-t), comprising vector X.sup.e (k), the measured engine parameters comprising vector U(k), and the model parameters comprising matrices A, B, and C. the vectors X.sup.e (k), U(k), and matrices A, B, and C are defined as follows: ##STR1## where e, m, n, and 1 are system constants. The prediction of manifold pressure and mass airflow is governed by the equation:

X.sup.P (k+1)=AX.sup.e (k)+BU(k)+C.

After the prediction step, an estimation of manifold pressure and mass airflow, MAP.sup.e (k-t) and MAF.sup.e (k-t), comprising vector X.sup.e (k) is computed according to the equation:

X.sup.e (k+1)=X.sup.P (k+1)+G(MAP(k+1)-MAP.sup.P (k+1)),

where G is a vector comprising manifold pressure and mass airflow estimator correction coefficients, G.sub.1,t and G.sub.2,t, respectively, such that: ##EQU2## where the estimator correction coefficients comprising G are determined through a method such as statistical optimization. The estimated mass airflow, MAF.sup.e (k+1), is used as an accurate measure of mass airflow into the engine which is necessary for supplying the appropriate air fuel ratio for the engine and other engine controls.

The accuracy of the software air meter can be limited if a bias in one of the input devices used to measure the engine parameters occurs or if there is an error in one of the model parameters. What is desired is a method of compensating for these biases and like biases in similar systems.

SUMMARY OF THE PRESENT INVENTION

This invention provides a method for estimating and correcting bias errors in systems which predict and estimate a determinable engine parameter based on the state of other engine parameters and which predict at least one other engine parameter which is measurable (the control parameter). One such system is the software air meter set forth in the above mentioned related patent application. This invention operates on the principle that, in a steady state condition, the predictions and estimations of the above mentioned systems achieve a virtual steady state. Furthermore, the predicted (or estimated) control parameter, e.g., MAP.sup.P (k) (or MAP.sup.e (k)) in the software air meter, can be compared to actual measures of the control parameter, e.g., MAP(k), which are virtually constant when the engine is in a steady state condition, to develop a resulting steady state error in the predicted (or estimated) control parameter, e.g., MAP.sup.P (k) (or MAP.sup.e (k)).

The steady state error can be attributed to a bias in an input parameter or model parameter most likely to be biased. The bias of the input or model parameter in error can be estimated fairly accurately in response to the steady state error and model parameters. Because there is only one measurable parameter which is also predicted, the control parameter (e.g., manifold pressure in the software air meter), and because the persistent control parameter prediction errors are linearly related to persistent previous control parameter prediction errors, only one input or model parameter bias may be estimated at any particular time. The other input parameters and model parameters are assumed to have zero error.

By determining the input or model parameter bias, improved accuracy in the model predictions (and/or estimations) may be achieved by offsetting the input or model parameter by the estimated bias amount when calculating the model-based predictions. When the estimated bias is offset during calculation of the predictions, the subsequent estimations are more accurate. Use of this invention with the software air meter disclosed in the above mentioned related patent application significantly improves the accuracy of the estimated mass airflow into the engine.

More particularly, the method of this invention includes the step of determining if the vehicle engine is in a substantially steady state condition. If the vehicle is in a substantially steady state condition, a measure of error between the predicted and measured values of the control parameter is then determined and a system bias is estimated in response to the determined error. Once the system bias is estimated, it is offset in subsequent predictions, thereby reducing the error between the predicted and measured values of the control parameter and increasing the accuracy of the estimations of the determinable vehicle parameter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram representing a vehicle system in which this invention may be implemented.

FIG. 2 is a flow diagram of a software air meter system in which this invention is implemented.

FIG. 3 is computer flow diagram for one implementation of this invention.

FIGS. 4a and 4b comprise a computer flow diagram for the preferred implementation of this invention with the software air meter.

DETAILED DESCRIPTION OF THE INVENTION

This invention is preferably used with the software air meter of the above mentioned related patent application. FIG. 1 shows an engine assembly in which the software air meter and this invention may be implemented. The engine assembly shown includes the engine 44, fuel injectors 42, spark plugs 41 and 43, air intake manifold 40, throttle 32, exhaust gas recirculation (EGR) valve 36, and idle air control (IAC) valve 28. The throttle is controlled by accelerator pedal 30 as shown by dotted line 18 and the IAC valve 28, EGR valve 36, spark plugs 41 and 43, and fuel injectors 42 are controlled by controller 12 through lines 16, 14, 23, 25 and 24, respectively. Air temperature and atmospheric pressure are sensed by sensors (not shown) and input into the controller 12 through lines 13 and 15. The positions of the IAC valve 28 and the EGR valve 36 are determined from the commands on command lines 16 and 14, or they may be measured directly using position sensors (not shown). The throttle position and manifold pressure are sensed by sensors 34 and 38 and input into the control unit 12 through lines 20 and 22. Engine speed is measured through the sensor 48, which detects the rotations of output shaft 46, and input into the control unit 12 through line 26. The sensors mentioned are all standard sensors, a variety of which are readily available to those skilled in the art.

The control unit 12 is a standard control unit easily implemented by one skilled in the art and preferably includes a microcomputer that runs a computer program implementing the present invention together with the standard engine control functions. The computer program may be stored in ROM. The control unit should also include RAM for storage of data including computed variables and measurements of various engine parameters. In addition, the control unit includes an input/output unit and standard interfaces to the different sensors and valves.

In an implementation of this invention with the software air meter, the control unit determines the measures of the engine parameters, which may include EGR valve position, IAC valve position, manifold pressure, engine speed, temperature, and atmospheric pressure and uses the measurements in the prediction-estimation process described above and the bias error estimation and correction process described below to determine an accurate measure of the mass airflow into the engine. Once an accurate measure of the mass airflow into the engine is determined, the fuel injectors 42 can be controlled through lines 24 so that a proper air fuel ratio enters the engine 44. The mass airflow into the engine can also be used together with other engine parameters to determine the timing of spark plugs 41 and 43.

Many engines do not have both an IAC valve 28 and an EGR valve 36, but the presence of either or both of these valves is not necessary as FIG. 1 illustrates only one system in which the present invention may be implemented. Furthermore, the atmospheric pressure need not be determined for successful implementation of the invention. Taking atmospheric pressure into account, however, increases the accuracy of the computed mass airflow measurement.

The flow diagram in FIG. 2 illustrates generally how this invention works when implemented with a software air meter. The sensors 68 measure the parameters of the engine assembly 66 and the resulting measurements are used to schedule the estimator correction coefficients comprising vector G at block 61 and to schedule the model parameters comprising matrices A, B, and C at block 75. The development and scheduling of the model parameters is fully disclosed in the above mentioned related patent application and will not be set forth herein.

Blocks 62, 71 and 73 represent one method (Kalman filtration) of determining the estimator correction coefficients. The determination and scheduling of the estimator correction coefficients is fully set forth in the above mentioned related patent application and will not be further set forth herein because it is not central to this invention.

The prediction-estimation method is an iterative process with each prediction depending on the previous estimation and each estimation depending on the previous prediction. In block 76, the manifold pressure and mass airflow are predicted as described above and in blocks 70 and 72 manifold pressure and mass airflow are estimated as described above. In block 77, bias errors that are substantially attributable to one input parameter or one model parameter are estimated. The input or model parameter substantially responsible for the bias error is then offset in subsequent predictions, resulting in more accurate predictions and estimations.

More particularly, the estimation of bias errors in block 77 first involves the determination of whether the engine is running in a steady state. While the engine is running in a steady state, the measures of the various engine parameters remain virtually unchanged from one time event to the next. It can be shown that the model-based predictions and the error-based corrections in systems in which this invention may be implemented also achieve a virtual steady state. In such a steady state condition, if there is an error between the predicted control parameter and the actual measure of the control parameter, it is fairly consistent. Under certain conditions, this error may be attributable to bias in one of the input parameter measurements or a bias in one of the model parameters.

Certain input measurements, such as air temperature, atmospheric pressure and engine speed are fairly immune to bias error because of the sensor characteristics and/or the sensor information processing in the vehicle control unit. At engine idle, the throttle is in a closed position, so error in throttle position measurement can be eliminated at idle. If the model parameters, A, B, and C, and the estimator error coefficients, G, are well chosen, they do not cause a consistent error. Once all of the other factors are eliminated, which may be done at idle, or possibly another steady state condition, prediction errors can be attributable to an unaccounted for input parameter measurement or a model parameter.

Using the above described software air meter as an example, it can be shown that, where X.sup.a.sub.ss is the actual measurement steady state vector for manifold pressure and mass airflow, X.sup.P.sub.ss is the the steady state prediction vector, and .delta.U.sub.ss is the steady state input parameter vector, the following relation holds true:

X.sup.a.sub.ss -X.sup.P.sub.ss =.OMEGA..delta.U.sub.ss,

where .OMEGA.=((I-A(I-GL)).sup.-1)B and where the superscript "-1" denotes matrix inverse, I is a (j+i+2) .times.(j+i+2) identity matrix, and L is a matrix L=[0 0 . . . 0 1 0 . . . 0] with the "1" occurring in the j+1st entry.

If an input parameter is biased it can be further shown that a quantization of the input a parameter error may be determined as:

.delta.u.sup.e.sub.r =(MAP.sub.ss -MAP.sup.P.sub.ss).omega..sub.r,j+1,

where .delta.u.sup.e.sub.r is an estimate of the bias error in the r'th input (the r'th term of U(k), u.sub.r (k)), MAP.sub.ss is the steady state value for MAP(k) at engine idle, MAP.sup.P.sub.ss is the steady state value for MAP.sup.P (k) at engine idle, and .omega..sub.r,j+1 is the term in the r'th row (the same row in U(k) as the biased input parameter) and the j+1st column of the matrix .OMEGA..

Once .delta.u.sup.e.sub.r is determined, a corrected value for the biased input parameter equal to (u.sub.r (k)+.delta.u.sup.e.sub.r) can be used in vector U(k) in place of u.sub.r (k) to calculate X.sup.P (k+1), offsetting the bias error of the input parameter u.sub.r (k).

Alternatively, an input parameter bias can be estimated using model estimation errors (errors in X.sup.e (k)). It can be shown that, where X.sup.e.sub.ss is the steady state model estimation vector, in a steady state condition:

X.sup.a.sub.ss -X.sup.e.sub.ss =(I-GL).OMEGA..delta.U.sub.ss.

If .omega.'.sub.r,f is the element of matrix (I-GL).OMEGA. in the r'th row and the f'th column, then the quantization of the input parameter error may be determined as:

.delta.u.sup.e.sub.r =(MAP.sub.ss -MAP.sup.e.sub.ss)/.omega.'.sub.r,j+1.

The input parameter may then be offset as explained above.

If the particular prediction-estimation system being used has consistently accurate input parameter measurements, then this invention can be used for estimating incorrectly specified prediction-estimation model constants in matrix C. It can be shown that:

X.sup.a.sub.ss -X.sup.P.sub.ss =.OMEGA..sup.* .delta.C,

where matrix .OMEGA..sup.* =((I-A(I-GL)).sup.-1) and the superscript "-1" denotes matrix inverse. If it can be supposed that h.sub.1 is the model constant most likely to be in error, then the error in h.sub.2 is assumed to be zero and it can be further shown that:

.delta.h.sup.e.sub.1 =(MAP.sub.ss -MAP.sup.P.sub.ss)/.OMEGA..sup.*.sub.j+1,j+1,

where .delta.h.sup.e.sub.1 represents an estimate of the error in the model constant, h.sub.1, and .OMEGA..sup.*.sub.j+1,j+1 is the element of matrix .OMEGA..sup.* in the j+1st row and the j+1st column. After the model parameter error is determined, it may be offset by substituting into the matrix C the sum (h.sub.1 +.delta.h.sup.e.sub.1) for h.sub.1 when determining the model-based predictions.

If it can be supposed that h.sub.2 is the model constant most likely to be in error, then the error in h.sub.1 is assumed to be zero and it can be further shown that:

.delta.h.sup.e.sub.2 =(MAP.sub.ss -MAP.sup.P.sub.ss)/.OMEGA..sup.*.sub.j+i+2,j+1,

where .delta.h.sup.e.sub.2 represents an estimate of the error in the model constant, h.sub.2. After the model parameter error is determined, it may be offset by substituting into the matrix C the sum (h.sub.2 +.delta.h.sup.e.sub.2) for h.sub.2 when determining the model-based predictions.

Similarly, an error in a model parameter in the C matrix can be estimated using estimation errors It can be shown that:

X.sup.a.sub.ss -X.sup.e.sub.ss =(I-GL).OMEGA..sup.* .delta.C,

and, where h.sub.1 is the model constant most likely to be in error, it can be further shown that:

.delta.h.sup.e.sub.1 =(MAP.sub.ss -MAP.sup.P.sub.ss)/.omega.".sub.j+1,j+1,

where .omega.".sub.j+1,j+1 is the element of matrix (I-GL).OMEGA..sup.* in the j+1st row and j+1st column. If h.sub.2 is the model constant most likely to be in error, it can be shown that:

.delta.h.sup.e.sub.2 =(MAP.sub.ss -MAP.sup.P.sub.ss)/.omega.".sub.j+i+2,j+1.

Once determined, the model parameter error can be offset as described above.

The computer flow diagram shown in FIG. 3 represents a straight forward computer implementation of this invention. The computer implementation would be executed by a microcomputer in the control unit 12 (FIG. 1) during the prediction-estimation of an engine parameter. Variables are initiated, block 200, during the microcomputer initialization routine, which may occur at engine startup.

The error estimation and correction routine, starting at block 210, preferably takes place between the model prediction and model estimation if the error estimate is based upon model prediction error. If, however, the error estimate is based upon model estimation error, the error estimation and correction routine preferably takes place between the model estimation and model prediction.

At block 210, the program determines if the engine is in a steady state. The engine may be said to be in a steady state if:

TPS(k).perspectiveto.TPS(k-1).perspectiveto.TPS(k-2).perspectiveto.TPS(k-3)

RPM(k).perspectiveto.RPM(k-1).perspectiveto.RPM(k-2).perspectiveto.RPM(k-3)

and

MAP(k).perspectiveto.MAP(k-1).perspectiveto.MAP(k-2).perspectiveto.MAP(k-3) .

Any other suitable test for steady state may be alternatively employed. If the engine is not in a steady state, then the program leaves the error estimation and correction routine by jumping to block 218. If, however, the engine is in a steady state, the system bias is estimated at block 212 according to any of the methods of this invention described above.

At block 214, the bias estimate is heavily filtered to prevent the determinable parameter estimations from wildly fluctuating. At block 216, the system bias is offset with the filtered bias estimate and at block 218, the program continues with the prediction-estimation routine with the system bias offset, increasing the accuracy of the results.

Referring now to FIGS. 4a and 4b, the preferred implementation of this invention with the software air meter takes into account atmospheric pressure and the IAC and EGR valves, sets: e=3, j=1, i=0, m=0, n=0, and 1=1 and assumes the majority of prediction and estimation error to be due to an error in IAC(k). The assumption that system error is primarily due to IAC valve bias is valid because IAC(k) is determined from the IAC valve command on line 16 (FIG. 1) and there is no position feedback of IAC(k). The other parameter measurements can all be safely assumed to have minimal error due to inherent system accuracies or positional feedback control.

Steps 100, 102, 104, and 106 startup the system and initialize the variables. At step 108, the system checks for an interrupt signal, which is produced by the engine controller whenever it requires a new mass airflow estimate. If there is an interrupt, the program proceeds into the prediction-estimation loop starting at box 110, where the engine parameter measurements MAP(k), RPM(k), TPS(k), IAC(k), EGR(k), T(k), and ATM(k) are determined. At step 112, the computer calculates a value for manifold pressure error, MAP.sup.err, where MAP.sup.err =MAP(k)-MAP.sup.P (k). At step 114 the estimator correction coefficients are scheduled and retrieved. The limit on the estimator correction coefficients scheduled at step 114 is that all the roots of a polynomial, f(z), described below, must be within the unit circle. The polynomial f(z) is the determinant of a matrix M, defined:

M=zI-A+GLA.

At steps 116, 118, and 120, MAF.sup.e (k), MAP.sup.e (k), and MAP.sup.e (k-1) are computed. The computer determines the model parameter schedule zone utilizing RPM(k) and MAP(k) at step 124.

Implementation of the method of estimation of bias errors of this invention starts with block 156 (FIG. 4b). In the implementation shown, the IAC valve bias error is corrected in small steps, eps.sub.r. The decision to take the eps.sub.r step is based on the sign of the bias estimate, .delta.u.sup.e, the sign of the last bias estimate. .delta.u.sup.o, and the value of the counter that keeps track of the number of successive times the bias estimates of the same sign exceed a calibrated threshold. This method keeps the value of the sum (IAC(k)+.delta.u.sup.e) from wildly varying with every iteration of the routine shown.

5 After the scheduling zone is determined at block 124, block 156 tests to see if the engine is at idle. The engine is at idle if the scheduling zone determined at block 124 is the scheduling zone corresponding to engine idle. If the engine is not at idle, the counter is set to zero at block 152, the last bias estimate, .delta.u.sup.o, is set to zero at block 154, and the computer continues with its routine at block 126 as described below.

If the engine is found to be at idle at block 156, then block 150 tests to see if the engine is in a steady state. The engine may be said to be in steady state if:

TPS(k).perspectiveto.TFS(k-1).perspectiveto.TPS(k-2).perspectiveto.TPS(k-3)

RPM(k).perspectiveto.RPM(k-1).perspectiveto.RPM(k-2).perspectiveto.RPM(k-3)

and

MAP(k).perspectiveto.MAP(k-1).perspectiveto.MAP(k-2).perspectiveto.MAP(k-3) .

Other steady state tests may be alternatively employed. If the engine is not in a steady state, then the program continues to block 152. If the engine is in a steady state, then the program moves to block 170 where a value for .omega..sub.r is determined from a lookup table in computer memory, .omega..sub.r representing the element in the j+1st row (here j+1=2) and the e+m+3rd column (here e+m+3=6) of matrix .OMEGA. described above, or more generally, .omega..sub.r is the same element in .OMEGA. corresponding to the IAC(k) MAP prediction model input coefficient in matrix B above.

A present IAC valve error estimate, .delta.u.sup.s, is determined at block 172 according to the equation: .delta.u.sup.s =MAP.sup.err /.omega..sub.r. At block 174, the present error estimate is compared to a first threshold (e.g., one increment in IAC valve position command), if the present error estimate is greater than the first threshold then the the routine proceeds to block 176, otherwise to block 158. At block 176, the previous error estimate, .delta.u.sup.o, is compared to zero. If the previous error estimate is less than zero, then the computer jumps to block 152. If the previous error estimate is greater than or equal to zero, then the counter is incremented at block 178 and the present error estimate becomes the previous error estimate at block 180.

If the counter is not greater than the second threshold (e.g., 8) at block 182, then the computer jumps to block 126. If the counter is greater than the second threshold at block 182, then the IAC error correction value, .delta.u.sup.e, is updated at block 184 so that .delta.u.sup.e =.delta.u.sup.e +eps.sub.r. The computer then moves to block 152.

If, at block 174, the present error estimate was not greater than the first threshold, then it is compared to a negative of the first threshold at block 158. If the present error estimate is not less than the negative of the first threshold at block 158, then the computer jumps to block 152. If the present error estimate is less than the negative of the first threshold at block 158, then the previous error estimate is compared to zero at block 160. If the previous error estimate is greater than zero at block 160, then the computer jumps to block 152. If the previous error estimate is not greater than zero at block 160, then the computer moves to block 162 where the counter is decremented and to block 164 where the present error estimate becomes the previous error estimate.

At block 166, the counter is compared to the negative of the second threshold. If the counter is not less than the negative of the second threshold at block 166, then the computer jumps to block 126. If the counter is less than the negative of the second threshold at block 166 then block 168 updates the IAC error correction value, .delta.u.sup.e, such that .delta.u.sup.e =.delta.u.sup.e.sub.-eps.sub.r and the controller continues to block 152.

After block 154, the program continues to block 126 where the model parameters are looked up and to block 130 where MAP.sup.P (k) is computed such that MAP.sup.P (k)=MAP.sup.e (k). At block 132, MAP.sup.P (k+1) is computed using a corrected value for IAC(k) with the bias error offset according to the method of this invention, such that:

MAP.sup.P (k+1)=a.sub.1 MAP.sup.e (k-1)+a.sub.2 MAP.sup.e (k)+a.sub.3 MAF.sup.e (k)+c.sub.1 TPS(k)+c.sub.2 TPS(k-1)+c.sub.3 TPS(k-2) +c.sub.4 TPS(k-3)+c.sub.5 RPM(k)+c.sub.6 (IAC(k)+.delta.u.sub.e)+c.sub.7 EGR(k)+c.sub.8 T(k)+c.sub.9 ATM(k)+c.sub.10 ATM(k-1)+h.sub.1.

At step 134, MAF.sup.P (k+1) is computed, with the bias error offset, according to the equation:

MAF.sup.P (k+1)=b.sub.1 MAP.sup.e (k-1)+b.sub.2 MAP.sub.e (k)+b.sub.3 MAF.sup.e (k)+d.sub.1 TPS(k)+d.sub.2 TPS(k-1)+d.sub.3 TPS(k-2) +d.sub.4 TPS(k-3)+d.sub.5 RPM(k)+d.sub.6 (IAC(k)+.delta.u.sub.e)+d.sub.7 EGR(k)+d.sub.8 T(k)+d.sub.9 ATM(k)+d.sub.10 ATM(k-1)+h.sub.2.

At step 136, the computer prepares for the next time event by storing TPS(k-2), TPS(k-1), TPS(k), and ATM(k). At step 138 the interrupts are enabled and the program loops back to step 108.

In the example described in FIGS. 4a and 4b, this invention is implemented with the software air meter of the above described related patent application to increase the accuracy of the estimated mass airflow into the engine by estimating and offsetting bias errors in the IAC valve position measurements. This invention is not limited to the above described examples nor to the estimation and correction of IAC valve position biases. For example, in many systems, the EGR valve does not have position feedback. It follows that EGR valve position is another parameter that is likely to have bias errors. If error in all the other input parameters can be minimized, then this invention can be implemented to estimate and correct bias errors in EGR valve position measurements.

This invention can also be implemented in systems where only one engine state is predicted, such as in the system described in copending U.S. patent application Ser. No. 653,922. In such implementations, the accuracy of the state prediction is increased.

The specific bias error which this invention may be implemented to estimate and correct depends upon the vehicle engine estimation-prediction system implemented. Implementations of this invention may vary as specific system requirements dictate. Various improvements and modifications to this invention as illustrated above may occur to those skilled in the art and fall within the scope of this invention as set forth below.


Top