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
4386520 | Jun., 1983 | Nagaishi | 73/118.
|
4437340 | Mar., 1984 | Csere et al. | 73/118.
|
4502325 | Mar., 1985 | Klomp | 73/118.
|
4548185 | Oct., 1985 | Pozniak | 123/571.
|
4599694 | Jul., 1986 | Aposchanski et al. | 364/431.
|
4644474 | Feb., 1987 | Aposchanski et al. | 364/431.
|
4664090 | May., 1987 | Kabasin | 123/494.
|
4761994 | Aug., 1988 | Sogawa | 73/118.
|
4785785 | Nov., 1988 | Oba et al. | 123/488.
|
4860222 | Aug., 1989 | Schmidt et al. | 364/550.
|
4892072 | Jan., 1990 | Miwa et al. | 123/494.
|
4893244 | Jan., 1990 | Tang et al. | 364/431.
|
4911128 | Mar., 1990 | Hara et al. | 123/494.
|
4945883 | Aug., 1990 | Ono et al. | 123/494.
|
4957088 | Sep., 1990 | Hosaka | 123/488.
|
4967715 | Nov., 1990 | Hosaka | 123/494.
|
4984553 | Jan., 1991 | Kako et al. | 123/488.
|
4987888 | Jan., 1991 | Funabashi 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