Adaptive control system for an internal combustion engine

Abstract: In a control system for a spark advance engine (10), a basic spark advance value is calculated from values stored in a memory (35). An adjustment value is calculated in an adjustment device (43) and a perturbation value is set by a perturbation generator (46). The basic, adjustment and perturbation values are summed and supplied to a dwell control device (17). The sum of the adjustment and perturbation value together with a value indicative of engine torque are supplied as inputs to a parameter estimator (40). This estimator (40) uses these two input values to estimate two parameters which together define the relationship between spark advance angle and torque. The two estimated parameter values are supplied to the adjustment device (43), which uses them to calculate the adjustment value using a predetermined rule. Thus, the spark advance angle is quickly adjusted to an optimum value.

Description: This invention relates to an adaptive control system for an internal combustion engine and also to a method of controlling such an engine. In operating an internal combustion engine, it is necessary to establish values for various engine control inputs and, depending upon the particular control input, the value of the input may be varied continuously in accordance with one or more operating parameters, such as engine speed and engine load demand, of the engine. In a spark ignition engine, for each ignition spark or engine fire in one of the engine cylinders, an ignition timing input in the form of the spark advance angle must be established at the right moment to produce the peak combustion pressure soon after the piston has passed the top dead centre position so as to produce the optimum contribution to the output of the engine. Because the flame speed varies with the density of the air/fuel mixture, it is generally necessary to increase the spark advance angle with decreasing cylinder filling pressure. The spark advance must also be increased with increasing engine speed so as to allow for extra rotation of the engine crank shaft whilst the air/fuel mixture burns. Until recently, the spark advance angle was established by a mechanical device responsive to manifold depression and engine speed. Such a mechanical device establishes the spark advance angle as a simple function of engine speed and load demand as represented by the manifold depression. Careful testing of engines shows that the ideal spark advance angle is a complex function of load and speed and this function cannot be matched by a mechanical device. Modern ignition systems now use empirically derived characteristics for the spark advance angle which are stored as a look up table in a read only memory. These spark advance characteristics are determined by testing a number of samples of an engine and establishing an optimum spark advance angle for each load/speed point. A value for the spark advance angle for each point is then chosen which will give good economy subject to meeting various constraints such as low emissions and low knock levels. Although this provides a much closer match to the optimum spark advance angle than was achieved with the mechanical devices, it still does not give the engine user the best possible spark advance angle for his engine throughout its life. There are a number of reasons for this. It is not possible to test enough engines to provide good statistics and the engines available during tests are often different from production engines. Also, variations in the engine characteristics may occur due to manufacturing tolerances and from small changes in engine design. During the life of an engine, various ageing effects will occur in the engine and in the sensors, actuators and electronic circuitry and these will create a mismatch between the optimum characteristics and those stored in the read only memory. In U.S. patent 4 379 333, there is described an adaptive control system for controlling the spark advance angle. In this system, small positive and negative perturbations are superimposed on the spark advance angle and the resulting changes in engine speed are used to determine the differential or slope of engine output with respect to spark advance angle. According to the sign of the slope measurement, a correction is then made to a schedule of spark advance angles. The slope measurement is then repeated and the first slope measurement is replaced by a completely new measurement without any reference to the first measurement of the slope. The new measurement is used to make a further correction to the schedule of spark advance angles. If the load and speed have remained steady, the same element in the schedule will be additively corrected in correspondence to successive slope measurements. Thus, information gathered in previous measurements of the slope is retained in the schedule element for a while, this information being progressively diluted as new data becomes available. If the slope of engine output with respect to spark advance is positive, the values for the spark advance angle will be progressively increased until eventually the maximum value of engine output is achieved or exceeded and the slope measurements decay to zero or change sign. The correction process will then be driven only by errors in the slope measurements which will cause small random wanderings in the values of the spark advance angle about the optimum value. The general form of the function relating engine output to the spark advance angle is known to be a fairly simple curve with a single maximum of engine output. Because the system of US 4 379 333 drives the spark advance angle towards the value which gives maximum engine output, some knowledge of this relationship is implicit in the design of this system. However, because the system of US 4 379 333 corrects the spark advance angle in a progressive manner rather than making an estimate of the spark advance angle which gives maximum engine output, the system does not take full advantage of knowledge of this relationship. Under certain engine operating conditions, such as idling, it is sometimes necessary to reduce the spark advance angle from the value which gives maximum engine output. This is done in order to reduce emission of pollutants or to reduce knock. Under such conditions US 4 379 333 inhibits correction of the spark advance angle. Thus, under such operating conditions, US 4 379 333 takes no advantage of knowledge of the relationship between spark advance angle and engine output and loses the advantage inherent in an adaptive control system. Similar considerations to those discussed above apply to other engine control parameters, such as mixture composition in the case of a spark ignition engine, or injection timing or amount of fuel injected in the case of a compression ignition engine. It is an object of this invention to provide a new or improved adaptive control system for an internal combustion engine and also to provide a method of controlling such an engine in which greater advantage is taken of the relationship between output and a particular control input. According to a first aspect of the invention, there is provided a system as defined in the appended Claim 1. According to a second aspect of the invention, there is provided a system as defined in the appended Claim 12. According to a third aspect of the invention, there is provided a method as defined in the appended Claim 14. According to a fourth aspect of the invention, there is provided a method as defined in the appended Claim 25. Preferred embodiments of the invention are defined in the other appended claims. With the adaptive control system of this invention, by estimating the parameters which together define the relationship between the engine control input and the engine output, much greater advantage is taken of knowledge of this relationship. With this invention, the value of the engine control input may be moved rapidly rather than progressively to an optimum value. This invention will now be described in more detail, by way of example, with reference to the drawings in which: Figure 1 is a block diagram of an adaptive control system embodying this invention; Figure 2 is a block diagram of a parameter estimator forming part of the adaptive control system of Figure 1; Figures 3, 4, 5 and 6 show respectively, in detail, the elements of a data differencing device, a parameter calculation device, a gain adjustment device and a parameter constraint device which collectively form the parameter estimator of Figure 2; and Figure 7 is a block diagram illustrating the application of the control system of Figure 1 to fuelling adjustment. Referring now to Figure 1 there is shown an adaptive control system for a four cylinder spark ignition engine 10. The system includes an engine output measuring device in the form of a torque transducer 9, and a position transducer 16 coacting with a disc 11 rotating with the engine crankshaft to give a series of pulses indicating the position of the crankshaft. These pulses are supplied to a dwell control device 17, the output of which is coupled through a power stage 18 to a coil and distributor 19. The coil and distributor 19 are connected to spark plugs 20 and cause ignition sparks to occur at these plugs at appropriate moments. The output of transducer 16 is also coupled to a speed calculation device 30 which calculates engine speed and supplies this to the dwell control device 17. The engine is provided with a transducer 31 which measures the load demand to which the engine is subjected. In the present example, the transducer 31 measures the pressure in the inlet manifold for the engine cylinders. The load demand could also be detected by measuring other quantities such as the throttle valve opening position or the rate of air flow into the inlet manifold. The system also includes a memory 35 in which is stored a two dimensional array of spark advance angles, the abscissa and ordinate of the array corresponding to engine speed and load demand. The memory 35, and the outputs of the speed calculation device 30 and transducer 31 are connected to a calculation device 36. For each prevailing engine speed and load demand, the calculation device 36 calculates a basic value x fact (t) for spark advance and supplies this to one input of a summer 37. The calculation device 36 calculates this basic value from the spark advance values stored in the array in memory 35 at the four points in the speed/load plane surrounding the prevailing engine speed and load demand. Each of these values is multiplied by an appropriate weighting factor and the four resulting values are added to provide the basic spark advance value. Thus, the calculation device 36 calculates the basic spark advance value by interpolation. The spark advance values are stored in memory 35 at a density which provides a good match for the irregularities of the true optimum spark advance characteristics of the engine 10. The output of summer 37 is connected to the input of dwell control device 17. In the system of Figure 1 the various variables are calculated at successive time intervals. x adj (t) denotes the "t th " successive value of x adj , while x adj (t+1) denotes the value of x adj for the following time interval. This notation will be used for the variables discussed below. The spark advance values in memory 35 take the form of a fixed schedule which is established from rig-tests on sample engines. For the various reasons which have been outlined above, the optimum spark advance values will differ from those stored in memory 35. In order to correct these differences, the system estimates two parameters which together define the relationship between the engine output and the spark advance angle and uses these parameters to adjust the spark advance angle to its optimum value. These two parameters are estimated in a parameter estimator 40 which receives the output y(t) of the torque transducer 9 and a variable x eff (t). These two parameters are calculated for the prevailing engine speed and load demand and pairs of values for these two parameters are stored in a parameter memory 41 as a two dimensional array in a manner similar to that described in our copending European patent application EP-A-0 234 715 published on 2nd September 1987 and claiming priority from UK patent application no. 8604259. The estimator 40 calculates the covariance P (t+1) of two variables which it uses, and values of this covariance are stored as a two dimensional array in a covariance memory 42. In both of these arrays the abscissa and ordinate represent respectively engine speed and load demand. The memories 41, 42 receive the output of speed calculation device 30 and transducer 31. For the prevailing engine speed and load demand, the values α (t+1) for the two parameters are supplied by estimator 40 to an ignition timing adjustment device 43. From these two parameters, the device 43 calculates, in accordance with a predetermined rule, the adjustment which is necessary to correct the spark advance angle to its optimum value and supplies this adjustment as a variable x adj (t+1) to a delay device 44. The delay device 44 holds the variable by one time interval and supplies it as x adj (t) to one input of a summer 45 at the following time interval. Small positive and negative perturbations to the spark advance angle are generated in a periodic manner in a perturbation generator 46 and supplied to the other input of summer 45. At the output of summer 45, there is provided a variable x eff (t), which is the sum of the adjustment calculated in the device 43 and the perturbation produced in the generator 46. The variable x eff (t) is supplied to one input of estimator 40, as mentioned previously, and to the other input of summer 37. Thus, the output of summer 37 represents the basic spark advance angle calculated in device 36 adjusted by the amount calculated in device 43 to provide the optimum spark advance angle, but with the perturbations from generator 46 superimposed thereon. In the following description, a knowledge of matrix arithmetic is assumed. Underlining is used to denote a matrix or a vector, and superscripted "T" is used to denote the transpose of a matrix or a vector. Referring to Figure 2, there is shown a block diagram of the parameter estimator 40. The estimator 40 comprises a data differencing device 50, a parameter calculation device 51, a gain adjustment device 52, and a parameter constraint device 53. The data differencing device 50 performs a differencing operation on the variables x eff (t) and y(t). In the parameter calculation device 51, the values of the two parameters α (t) are received from the parameter memory 41 in a similar manner to that used to obtain the spark advance angle from the memory 35 described earlier. The two parameters together with the output x (t) from the data differencing device 50 are used to estimate the change in the engine torque between its present value and preceding value. The error e(t) between the estimated change and the actual change is multiplied by a gain g (t) obtained from the gain adjustment device 52. The resulting product is used to calculate values for the two parameters α'(t). Thus these two parameters are calculated by a recursive technique. In the parameter constraint device 53, constraints are imposed on the estimated values of these two paramaters before they are supplied to the ignition timing adjustment device 43 and parameter memory 41. Before describing the devices 50 to 53 and the ignition timing adjustment device 43 in detail, some observations will be made concerning recursive techniques for estimaing the parameters. In control systems, the relationship between a control parameter and an output parameter (such as spark advance and torque in the present embodiment) is known as the performance curve and is generally in the form of a simple curve with a single maximum. In order to approximate a performance curve, three parameters are typically necessary, although more can be used. Three parameters which can be used to describe the performance curve are: (1) the value of the control parameter which gives the maximum value of the output parameter, (2) the maximum output value itself, and (3) a curvature parameter which defines the steepness of the curve. For the present embodiment, the curvature parameter has a small value if the performance curve is shallow, e.g. a situation in which the torque changes only slightly with changes in the spark advance angle. Similarly, a large value of the curvature parameter will represent a steep performance curve in which the torque changes significantly with changes in the spark advance angle. The use of the recursive technique to estimate the parameters of the performance curve is not well known but it has been described in two articles, namely: (1) "Adaptive on-line steady-state optimization of slow dynamic processes", Bamberger W. and Isermann R., Automatica, 1978, vol. 14, pages 223-230; and (2) "Adaptive control of extremum systems", Sternby J., International Symposium on Adaptive Systems, Ruhr University Bochum, March 1980. In these articles, a recursive technique is used to estimate not only the three parameters given above but other parameters related to the dynamic or transient behaviour. Neither of these articles is concerned with engine control. With regard to the recursive technique described in these articles, the applicants have found several difficulties associated with the estimation of the parameters of the performance curve. Firstly, the estimation of three or more parameters requires a large amount of computation which makes the control system undesirably complex. Secondly, if three or more parameters are estimated, then more input data will be required to achieve a given accuracy of the estimates of the individual parameters than is required to achieve the same accuracy when fewer parameters are estimated. Thus, optimization will take longer. Thirdly, the control system may suffer from a problem due to drift of the curvature parameter. As will be described later, drift of the curvature parameter can cause unsatisfactory behaviour. In order to overcome these difficulties, the applicants have made two improvements to the recursive techniques described in these two articles. As discussed above, in the technique of this embodiment, only two parameters are estimated and this represents the first improvement. This improvement is implemented by the data differencing device 50. The constraints imposed on the parameters by the device 53 represents the second improvement and this improvement overcomes the problems of drift of the curvature parameter. These two improvements can be implemented independently of each other and either improvement will, on its own, provide better performance than the methods described in the two articles. However, when these two improvements are combined, they result in a system which is easy to implement and reliable in practice. As shown in Figure 3, in the data differencing device 50, the variable x eff (t) is supplied to a delay device 60, a squarer 61, and a positive input of a summer 62. In common with the other delay devices which will be described below, device 60 provides a delay of one time interval. The output of delay device 60 is supplied to a negative input of summer 62 and to a squarer 63. The outputs of squarers 61 and 63 are supplied respectively to positive and negative inputs of a summer 62. Thus, the output of summer 62 provides a difference value Δx(t) corresponding to the difference between successive spark advance angles, and the output of summer 64 provides a difference value Δx²(t) corresponding to the difference between the squares of successive spark advance angles. These two values will be denoted by x (t) where The variable y(t) is supplied to a delay device 65 and a positive input of a summer 66. The output of delay device 65 is supplied to the negative input of summer 66. Thus, the output of summer 66 provides a difference value Δy(t) corresponding to the difference between successive values of the engine torque produced by different spark advance angles. The data differencing device 50 provides an improvement over the methods described in the articles by Bamberger and Isermann and by Sternby because it eliminates one of the parameters from the estimation. Although it is desired to obtain operation at, or in some relation to, the spark advance angle which gives the maximum torque, it is not necessary to know the value of this maximum torque. The data differencing device 50 eliminates this parameter from the estimation and so simplifies the overall construction of the estimator 40. In an alternative embodiment, the torque transducer 9 is replaced by means for measuring only the changes in torque between successive sample intervals. Such a technique is attractive because it does not need to measure the absolute value of the torque. Referring now to Figure 4, the parameter calculation device 51 receives the difference values x (t) and Δy(t) from the device 50 and the gain g (t) from the gain adjustment device 52. This device 51 also receives two constrained estimated values α (t) of the two parameters used to define the performance curve from the parameter constraint device 53 through the parameter memory 41 and provides two unconstrained estimated values α ′(t) of these two parameters. α (t) and α ′(t) are defined as follows:- α₂(t) is the estimated value of the curvature parameter and α₁(t) is the estimated value of a parameter equal to twice the product of the curvature parameter and the value of the spark advance angle which gives maximum torque. The output α (t) of the parameter memory 41 and the output x (t) of the data differencing device 50 are supplied to a multiplier 70 which forms the product x T (t). α (t). This product is denoted by Δy p (t) and represents a prediction of Δy(t). Δy(t) and Δy p (t) are supplied to positive and negative inputs of a summer 71, the output of which forms an error value e(t). The error value e(t) is multiplied by gain g (t) in a multiplier 72. The output of the multiplier 72 is fed to an input of a summer 73, the other input of which is supplied with and thereby added to the preceding constrained estimated values α (t) of the two parameters which define the performance curve so as to adjust these values and to form the present unconstrained estimated values α ′(t) of these two parameters. For example, if the previous estimated values α (t) are correct, e (t) will be zero and no adjustment will be made to these values. Thus, the present (or updated) estimated values α ′(t) will be the same as the preceding estimated values α (t). The gain adjustment device 52 sets the adjustment gain g (t). The function of the gain g (t) is to control by how much the preceding estimated values of the two parameters should be changed to form the present estimated values in response to the error e(t). For example, if the adjustment gain g (t) is large, the estimated values will be changed by correspondingly large amounts. This is a useful property when the estimator 40 is started because the initial estimated values may be a poor representations of the performance curve. It will be appreciated that the starting values of the covariance memory 42 should be set in accordance with standard self-tuning techniques, such as that disclosed in "Recursive Approaches to Time Series Analysis", Young P., Bulletin of the Institute of Mathematics and its Applications, May/June 1974 Vol. 10 pp 209-214. On the other hand, if the gain g (t) is small, the estimated values will be changed by small amounts. This is the desired behaviour that allows small changes in the performance curve to be identified and corrected. However, if the gain g (t) falls to zero, there will be no change of the estimated values and therefore no optimization of the spark advance angle. This situation is not desired and is avoided in this embodiment by using the so called "forgetting factor" L. Alternatively, there may be used one of the methods described in "Tracking of Slowly Varying Parameters by Directional Forgetting", Kulhavy R. and Karny M., IFAC Conference, Budapest 1984. The gain adjustment device 52 receives the difference values x (t) and uses and continuously updates the covariance values of Δx(t) and Δx²(t). The covariance values take the form of a covariance matrix P (t) defined as where P₁₁(t), P₁₂(t), P₂₁(t) and P₂₂(t) are the individual elements of the matrix. In the device 52 shown in Fig. 5, x T (t) is multiplied by P (t) in a multiplier 80 to form a vector  (t).  (t) is multiplied by x (t) in a multiplier 81, and the result is increased by 1 to give a divisor h.  (t) is divided by h to obtain the gain g (t). This is then supplied to the device 51. The gain g (t) is used to update the covariance matrix P (t) as follows. The product of  T (t) and g (t) is formed in a multipler 84 and then subtracted from P (t) in a summer 85. The output of summer 85 is multiplied by the forgetting factor L in a multiplier 86 to provide the updated covariance matrix P (t+1) which is supplied to the covarience memory 42 and also the parameter constraint device 53. As stated earlier, the curvature parameter may drift and drift of this parameter can result in unsatisfactory operation of the entire control system. This is particularly so if the measurements of torque are erratic or subject to random errors when the optimum spark angle changes. Such erratic or variable measurement are inevitable in practice and may, for example, be due to engine misfires, fluctuations in air/fuel ratio, electrical interference, uneven road surfaces and mechanical vibrations. The recursive technique described above will reduce the effects of these measurement errors. However, if the performance curve, and hence the parameters which define it, change suddenly, the response of the estimator will be slow. The applicants have found that, during this slow response, the curvature parameter will reduce in size, thus representing a shallow curve. This shallower curve is in some way the average of a new performance curve and the old performance curve but it is unexpectedly more shallow than both the old curve and the new curve. Hence, the estimated values of the parameters, which define the performance curve do not move smoothly and directly from the old values to the new values. Instead, there is a decrease of the curvature parameter. A small curvature parameter will cause the ignition timing adjustment device to make large and erratic adjustments to the spark advance angle. Furthermore, in some cases the curvature parameter may fall through zero and change sign. In this case, the device 43 may select extreme values for the spark advance angle, which are at or beyond the limits of those that can be achieved. This behaviour is unsatisfactory and the control system may take a long time to recover. The parameter constraint device 53 prevents the estimate of the curvature parameter becoming too small and thus eliminates the erratic adjustment which might otherwise occur. The technique used by the device has been adapted from the mathematical method described in "Adaptive Filtering Prediction and Control", Goodwin G. C. and Sin K. S., Prentice-Hall 1984. Goodwin and Sin suggest a method for correcting estimated parameters which have values that lie outside limits within which the correct value of the parameter is known to lie. If the estimated value of the curvature parameter becomes smaller than a certain value, α₂lim, the device 53 will set the estimated value to that value and modify the estimated values of the other parameters. α₂lim represents the shallowest curvature that can occur, possibly though not necessarily as a function of load and speed. Referring to Figure 6, the unconstrained estimated value α₂'(t) is supplied to one input of a highest wins device 90. The other input of the device 90 receives the value α₂lim. If α₂′(t) is greater than α₂lim, the output of device 90 is equal to α₂′(t). If α₂′(t) is less than α₂lim, the output is set to α₂lim. The output of device 90 represents the constrained estimated value α₂(t+1) of the curvature parameter. α₂′(t) is subtracted from α₂(t) and the resulting difference value is multiplied in a multiplier 92 by the ratio of the covariance elements, P₁₂(t+1)/P₂₂(t+1), obtained from a divider 93. P₁₂(t+1) is the element of the covariance matrix P (t+1) associated with the covariance of the estimated value α₂(t) of the curvature parameter and the estimated value α₁(t) of the curvature parameter, whereas P₂₂(t+1) is the element associated solely with the variance of the estimated value α₂(t) of the curvature parameter. The output of multiplier 92 is added in a summer 94 to α₁′(t) to form a constrained estimated value α₁(t+1) of the other parameter. Thus, the estimated value of the curvature parameter has been constrained and the estimated value of the other parameter has been adjusted in a direction defined by P₁₂(t+1) and by an amount in proportion to P₁₂(t+1)/P₂₂(t+1) and to the extent the limit on the curvature parameter has been exceeded. This constraining action improves the estimation of new values of the two parameters which define the performance curve. The values α₁(t+1) and α₂(t+1) are supplied to devices 41 and 43 as previously mentioned. The ignition timing adjustment device 43 uses the values α₁(t+1) and α₂(t+1) to calculate, in accordance with a predetermined rule, the adjustment x adj (t+1) which is necessary to the spark advance angle to achieve its optimum value. There are various possibilities for this predetermined rule. For example, if maximum torque is required, x adj (t+1) is calculated as α₁(t+1)/2α₂(t+1) . Alternatively, a small offset can be used to keep the timing just less than peak torque if it is desired to avoid an undesirable engine operating condition such as knock. The concepts discussed above can be applied to optimising other control parameters. For example, these concepts may be applied to controlling the air/fuel ratio of the mixture composition of the spark ignition engine. In this case, the perturbation generator perturbs the air flow into the engine. Other examples of parameters that can be controlled are injection timing and quantity of fuel injected in a compression ignition engine. The applicants have found that the curvature parameter of the performance curve relating torque to spark advance angle is indicative of mixture composition. With the modification shown in Figure 7, it is possible to provide simultaneous control of the spark advance angle and the mixture composition. The spark advance angle is controlled as described above. Referring to Figure 7 the constrained estimate value α₂(t) of the curvature parameter is compared in a summer 100 with a reference value R which has been empirically established during engine tests and which may be a function of engine speed and load. The error signal produced by summer 100 is supplied to a fuel adjustment controller 101, which may be of an integral type, to develop a fuelling correction signal. This signal is added to a fuelling signal Fp, supplied as a function of speed and load in well known manner, in a summer 102 to provide an output fuelling signal F. Any error in the curvature parameter in comparison to the reference value R will be integrated and will thus produce a change in mixture composition, thereby forcing the error to become smaller. Alternatively, the unconstrained estimate value α₂'(t) could be used in place of the constrained estimate value α₂(t). However, as previously described errors which may occur in this value make its use less suitable. In the embodiment described above, the parameters which define the performance curve relating torque to spark advance angle are estimated and used to control the spark advance angle. Thus, the controlled variable is one of the two variables forming the relationship defined by the performance curve. However, it would be possible to apply the present invention to the control of a variable which is not one of the two variables forming this relationship. For example, it would be possible to estimate two parameters which define the relationship between an engine output such as torque and an ignition timing parameter such as spark advance angle and to use these parameters to correct a fuelling variable such as the air/fuel ratio of the mixture composition. While, in the described example, the parameter and covariance memories comprise many sites addressed by speed and load, it will be appreciated that a single memory site for all speed and load values could be used for the parameter and covariance values α (t+1) and P (t+1), respectively. However, such a system would require very accurate torque measurements to ensure a sufficiently rapid response to changes arising from different speeds and loads.

Claims: An adaptive control system for an internal combustion engine (10) having an engine control input (input to 17) and an engine output, comprising measuring means (9, 50) for measuring a value (Δy(t)) of the engine output and supplying means (35-36) for supplying a value (x fact (t)) of the engine control input (input to 17), characterised by: first determining means (70) for determining a predicted value (Δy p (t)) of the engine output as a predetermined function of the value (x fact (t)) of the engine control input (input to 17) supplied by the supplying means (35-36), the predetermined function having at least two parameters ( α (t)), each of the at least two parameters having a base value; comparing means (71), responsive to the measuring means (9, 50) and the first determining means (70), for comparing the measured value (Δy(t)) of the engine output from the measuring means (9, 50) with the predicted value (Δy p (t)) of the engine output from the first determining means (70) and for providing an output (e(t)); adjusting means (72, 73), responsive to the comparing means output (e(t)), for adjusting the base value of each of the at least two parameters ( α (t)); and second determining means (37, 43-46), responsive to the adjusting means (72, 73), for adjusting the value (x fact (t)) of the engine control input (input to 17) in order to provide a desired comparing means output (e(t)). A system as claimed in Claim 1, characterised in that the second determining means (37, 43-46) comprises means (43, 44) responsive to the adjusting means (72, 73) for determining a correction value (x adj (t)), and means (37) for adding the correction value (x adj (t)) to the value (x fact (t)) of the engine control input (input to 17) so as to form a corrected value of the engine control input (input to 17). A system as claimed in Claim 1 or 2, characterised by perturbation generating means (46) for superimposing a perturbation on the value (x fact (t)) of the engine control input (input to 17) supplied by the supplying means (35, 36), the measuring means (9, 50) measuring a change in the engine output resulting from the perturbation. A system as claimed in any one of the preceding claims, characterised in that the first determining means (70) comprises means for determining the predicted value (Δy p (t)) of the engine output as a derivative with respect to the engine control input (input to 17) of a quadratic function of the value (x fact (t)) of the engine control input (input to 17), and the at least two parameters ( α (t)) comprise two parameters. A system as claimed in Claim 4, characterised in that the two parameters ( α (t)) represent curvature and location of a maximum of the quadratic function. A system as claimed in Claim 5, characterised in that the measuring means (9, 50) includes means (50, 60-66) for calculating successive sets of difference values, each set of difference values comprising: a value (Δx(t)) indicative of the difference between a present value (x eff (t)) and a preceding value of the engine control input (input to 17); a value (Δx²(t)) indicative of the difference between the square of the present measured value (x eff (t)) and the square of the preceding measured value of the engine control input (input to 17); and a value (Δy(t)) indicative of a difference between a present measured value (y(t)) and a preceding measured value of the engine output. A system as claimed in Claim 6, characterised in that adjusting means (72, 73) includes: means (41) for storing values of the two parameters ( α (t)) as a function of engine operating conditions; means (51) for calculating adjusted values (α₁'(t),α₂'(t)) of the two parameters ( α (t)) based upon stored values of the two parameters for prevailing engine conditions and from a prevailing set of difference values ( x (t),Δy(t)), and means (53) for replacing the stored values of the two parameters at the prevailing engine conditions with the adjusted values of the two parameters. A system as claimed in Claim 7, characterised in that the adusting means (72, 73) includes means (53) for constraining the adjusted values of the two parameters calculated by the calculating means (51). A system as claimed in any one of the preceding claims, characterised in that the engine control input (input to 17) is an ignition timing control input (input to 17). A system as claimed in any one of the preceding claims, characterised in that the second determining means (37, 43-46) further comprises means (100-102) for determining a corrected value (F) of a further engine control input (F p ). A system as claimed in Claim 10, characterised in that the further engine control input is a fueling control input. An adaptive control system for an internal combustion engine (10) having first and second engine control inputs (input to 17,F) and at least one engine output, comprising measuring means (9, 50) for measuring a value (Δy(t)) of the engine output and supplying means (35-36) for supplying a value (x fact (t)) of the first engine control input (input to 17), characterised by: first determining means (70) for determining a predicted value (Δy p (t)) of the engine output as a predetermined function of the value (x fact (t)) of the first engine control input (input to 17), the predetermined function having at least two parameters ( α (t)), each of the at least two parameters having a base value; comparing means (71) responsive to the measuring means (9, 50) and the first determining means (70), for comparing the measured value (Δy(t)) of the engine output from the measuring means (9, 50) with the predicted value (Δy p (t)) of the engine output from the first determining means (70) and for providing an output (e(t)); adjusting means (72, 73) responsive to the comparing means output (e(t)) for adjusting the base value of each of the at least two parameters ( α (t)); and second determining means (53, 90, 100-102), responsive to the adjusting means (72, 73), for adjusting a value (F p ) of the second engine control input (F) in order to provide a desired comparing means output (e(t)). A system as claimed in Claim 12, characterised in that the first engine control input (input to 17) is an ignition timing control input and the second engine control input (F) is a fueling control input. An adaptive control method for an internal combustion engine having an engine control input and an engine output, comprising the steps of: measuring a value of the engine output supplying a value of the engine control input to the engine; determining a predicted value of the engine output as a predetermined function of the value of the engine control input supplied to the engine, the predetermined function having at least two parameters, each of the at least two parameters having a base value; comparing the measured value of the engine output with the predicted value of the engine output and providing a comparison output; adjusting the base values of each of the at least two parameters based upon the comparison output; and adjusting, in response to the adjusted base values of each of the at least two parameters, the value of the engine control input in order to provide a desired comparison output. A method as claimed in Claim 14, characterised in that the second adjusting step includes the steps of determining a correction value and adding the correction value to the value of the engine control input so as to form a corrected value of the engine control input. A method as claimed in Claim 14 or 15, characterised by the further step of superimposing a perturbation on the value of the engine control input, the measuring step comprising measuring a change in the engine output resulting from the perturbation. A method as claimed in any one of Claims 14 to 16, characterised in that the determining step comprises determining the predicted value of the engine output as a derivative with respect to the engine control input of a quadratic function of the value of the engine control input, and in that the at least two parameters comprise two parameters. A method as claimed in Claim 17, characterised in that the two parameters represent curvature and location of a maximum of the quadratic function. A method as claimed in Claim 18, characterised in that the measuring step includes calculating successive sets of difference values, each set of difference values comprising: a value indicative of the difference between a present value and a preceding value of the engine control input; a value indicative of the difference between the square of the present value and the square of the preceding value of the engine control input; and a value indicative of the difference between a present measured value and a preceding measured value of the engine output. A method as claimed in Claim 19, characterised in that the first adjusting step includes the steps of: storing values of the two parameters as a function of engine operating conditions; calculating adjusted values of the two parameters based upon stored values of the two parameters for prevailing engine conditions and from a prevailing set of difference values; and replacing the stored values of the two parameters at the prevailing engine conditions with the adjusted values of the two parameters. A method as claimed in Claim 20, characterised in that the first adjusting step includes the further step of constraining the adjusted values of the two parameters. A method as claimed in any one of Claims 14 to 21, characterised in that the engine control input is an ignition timing control input. A method as claimed in any one of Claims 14 to 22, characterised in that the second adjusting step determines a corrected value of a further engine control input. A method as claimed in Claim 23, characterised in that the further engine control input is a fuelling control input. An adaptive control method for an internal combustion engine having first and second engine control inputs and an engine output, comprising the steps of: measuring a value of the engine output; supplying a value of the first engine control input to the engine; determining a predicted value of the engine output as a predetermined function of the value of the first engine control input in the supplying step, the predetermined function having at least two parameters, each of the at least two parameters having a base value; comparing the measured value of the engine output with the predicted value of the engine output and providing a comparison output; adjusting, in response to the comparison output, the base value of each of the at least two parameters; and adjusting, in response to the adjusted base values of each of the at least two parameters, a value of the second engine control input in order to provide a desired comparison output.

Inventors: SCOTSON PETER GEOFFREY, SCOTSON, PETER GEOFFREY
Applicants: LUCAS IND PLC, LUCAS INDUSTRIES PUBLIC LIMITED COMPANY
Application year: 1988
Main classification: F02P5
IPC codes: F02P3, F02P5, F02D45, F02D41