Optimised real-time control of a highly dynamic engine system using explicit model predictive control.
Engine performance is influenced by a large number of parameters. Such parameters include operating conditions such as speed, torque/power requirements and ambient pressure which are largely governed by external factors. The parameters also include controllable conditions, such as fuel injection quantity and start of injection (SOI) timing, which may be varied in response to external factors.
Each of these parameters may vary at high frequency depending on changes to internal and external factors which affect the engine.
It is known to provide an algorithm or a plurality of interrelated algorithms to determine values for control signals for influencing the controllable conditions which govern engine performance. Such algorithms have as inputs some or all of the current engine parameters. Where there is a large number of different engine parameters which govern a particular aspect of engine performance, the algorithms can become complex. Significant processing power is required to calculate the engine control values using the algorithms in real-time.
Moreover, with an increased desire for improved fuel efficiency and reduced emissions to meet regulatory requirements, the desire to monitor and control engine performance at increasingly higher frequencies means that real-time calculations using algorithms must be performed ever more rapidly, requiring increasing processor capability.
Against this background, there is provided an engine control system as disclosed herein.
The disclosure provides an engine control system for an engine, the engine control system comprising:
An embodiment of the invention will now be described, by way of example only, with reference to the accompanying drawings in which:
Referring to
The engine control system 3 may comprise a first input 31, second input 32 and third input 33 configured to receive a current first input data value, a current second input data value and a current third input data value, respectively. The first, second and third data values provide a measure of first, second and third engine parameters, respectively. The first input data value may be a current exhaust temperature data value, a second input 32 may be a current quantity of mono-nitrogen oxide (NOX) data value and a third input 33 may be a current engine speed data value. The inputs may be obtained by taking a current snapshot of the engine parameters.
The engine control system 3 may further comprise an explicit model predictive control (EMPC) data library 35. The engine control system 3 may still further comprise a first output 38 and a second output 39 for outputting output data values.
The EMPC data library 35 may comprise a set of output data values wherein a subset of said set of output data values is provided for each, or within an appropriate delta of each, combination of the first input data value, the second input data value and the third input data value. Accordingly, a subset of said set of data values may be provided for a wide range of combinations of possible exhaust temperature values, possible quantity of NOX data values and possible engine speed data values. The subset equating to the exact combination of first, second and third data values or equating to one of a plurality of closely available combinations of first, second and third data values may be retrieved by searching for the relevant subset of said set of data values associated with the current data values received at the first input 31, second input 32 and third input 33.
The first output 38 and second output 39 may provide the subset of data values for onward processing and ultimately for controlling aspects of the engine performance. Key engine performance characteristics include transient response capability, fuel economy, and emissions control.
In this manner, the relevant pre-calculated optimised data values stored in the EMPC data library 35 may be obtained either for the exact combination of first, second and third input values or for one of a plurality of closely available combinations of first, second and third data values for use as outputs from the explicit model predictive control (EMPC) data library 35 in order to maintain optimum engine performance.
The inputs may change at any frequency such as, for example, every 100 ms. The system may be clocked at the same or a different frequency. Where the system is clocked at the same frequency as the frequency at which one or more of the inputs may change, for example every 100 ms, the subset of output data values may be checked and obtained at that frequency, i.e. every 100 ms. This equates to obtaining the relevant subset of the output data values (i.e. the exact or one of a plurality of closest matches) from the data library 35 at said frequency, for example 100 ms.
A model of the engine assembly 1 may be produced. The model may be exercised offline in order to calculate the optimal solutions for a very wide range of combinations of expected input conditions. This may enable the use of substantial (offline) processor power which may not be available in the engine control system 3.
The model may be produced through extensive testing of the engine assembly by varying the inputs and operating conditions, perhaps randomly or arbitrarily, and measuring the engine assembly behaviour under a very wide variety of combinations. By this technique, a model may be produced which models how the engine is likely to behave in response to a wide variety of factors, both internal to and external to the engine.
The model may be simplified from a high order to a low order model, possibly a linear model. The model may be refined by comparing the behaviour predicted by the model against the behaviour observed in testing of the engine assembly. The model may thereby be refined iteratively. The model may be further enhanced by more precise modelling of engine behaviour for key operating conditions, or for particular drive cycles of the engine.
Consequently, there may be a larger number of subsets of output values for more frequently used modes of engine operation.
The model may be specific to engine hardware. A different model may not be required where the same engine hardware is used for different applications having different drive cycles (wherein a drive cycle represents a repeatable way in which the engine is likely to be used). Rather, the same model may be used but with different constraints in order to provide a different data library specific to the particular drive cycle for the particular application. By contrast, an engine having entirely different hardware may require an entirely different model.
Once the model has been produced for a particular engine hardware, the model may be executed to calculate a data set for a wide range of first, second and third input values, in every permutation of those wide range of first, second and third input values. That is to say, for every feasible permutation of the wide range of first, second and third input values, a subset of data is provided. This does not mean necessarily that a subset of data is provided for every conceivable first, second and third input value. Where it is the case that a subset of data is not provided for a particular conceivable first input value, for example, it is self evident that a subset of data is not provided for every permutation of second and third input value which might be seen in combination with that particular conceivable first input value. The set of data provided by the model may be described as a “complete set of output data values” notwithstanding that the complete set of output data values may not include a subset of output values for every conceivable first, second and third input value. As such, the term “complete set of output data values” may be used simply to distinguish from particular subsets of the output data values.
Once generated, the complete set of output data values may then be uploaded—once—from the model to the engine control system 3, perhaps at the time of manufacture or programming or reprogramming of engine control system 3. It is only the EMPC data library 35 and not the entire model by which the data library 35 is produced which needs to be uploaded into the engine control system for use.
Once the complete set of output data values is uploaded to the EMPC data library 35, specific subsets of output data values may be retrieved from the EMPC data library 35 in accordance with the current first, second and third input values in order to provide optimised output values, as derived by the model, for the particular current engine conditions.
In use, the input values are read into the engine control system 3 in order to determine the relevant output values from the data library 35 for achieving the desired engine performance. The EMPC controller will seek to calculate a series of sets of output values that achieve the desired engine performance over a number, n, of clock cycles.
The engine control system 3 proposes a first set of output values for the first clock cycle, by searching the EMPC data library for a set of output values, which, based on prior modelling and analysis, will result in the most reduced error between the measured engine state and the desired engine state.
Thereafter, having proposed the first set of output values based on the modelled engine state resulting from those output values, the modelled engine state resulting from the first set of output values is used to determine the second set out output values.
A second set of output values for the second clock cycle is proposed by searching the EMPC data library for a set of output values, which, based on prior modelling and analysis, will result in the most reduced error between the modelled engine state resulting from the first set of output values, and the desired engine state.
Thereafter, having proposed the second set of output values based on the modelled engine state resulting from those output values, the modelled engine state resulting from the second set of output values is used to determine the third set out output values.
A third set of output values for the third clock cycle is proposed by searching the EMPC data library for a set of output values, which, based on prior modelling and analysis, will result in the most reduced error between the modelled engine state resulting from the second set of output values, and the desired engine state.
This process continues up to an nth set of output values being proposed for the nth clock cycle whereby the error between the state resulting from the nth set of output values and the desired state is sufficiently small.
Having determined this series of proposed sets of output values that are predicted to achieve a sufficiently small error from the desired engine state, the first set of output values is executed, which effects a change in state/performance of the engine. The new engine state is measured and becomes the input values, which are read into the controller, and the process continues. Therefore, changes in engine state resulting from influences external to the controller, changes in desired engine state, or model inaccuracies can be captured, considered and compensated for, when determining the controller's next action.
Effectively, the data library 35 of output values allows for an engine control system to require less processor power than that which may be required to calculate in real time a set of preferred output values for a particular set of input conditions. Furthermore, it allows for values to be optimised by the model which may have considerably more processing capability than may be justifiable to include in every engine control system.
It may be that not every possible input value for each of the first, second, and third inputs, is listed in the data library 35. For example, the engine parameter represented by one of the input values may be measured in increments of 1 unit, but that input value may only be present in the data library in increments of 2 units. Similarly, the engine parameter represented by a second of the input values may be measured in increments of 1 unit, but that input value may only be present in the data library in increments of 2 units. Thus, there may be a number of permutations of data input values for which no exact solution is available in the data library. Where this is the case, controller logic may be applied in, order to select the most appropriate controller action based on the output values of the data library in respect of input values which are close to the combination of current input values. One example of such appropriate logic would be fuzzy logic. This may be particularly appropriate where the controller is faced with choosing either, on the one hand, a subset of output values relating to an exact match for first input data value and a close match for a second input data value or, on the other hand, a subset of output values relating to a close match for the first input data value and an exact match for the second input data value.
In a particular case where a data library contains no exact solution for a particular combination of input values, there may be a large number of possible close solutions from which to choose. Fuzzy logic may be particularly appropriate in such cases in order to select, from the identified close solutions, a single solution which is deemed to be most appropriate.
The data inputs may relate to any number of the following non-exhaustive list of engine parameters: speed; exhaust temperature; NOX emissions; particulate matter emissions; atmospheric pressure; power demand; and torque requirements.
The output data values may govern any number of engine parameters. For example, the subset of output data values may comprise a first output data value and a second output data value, wherein the first output data value governs, for example, fuel injection pressure and the second output data value governs, for example, start of injection timing.
The data outputs may relate to any number of the following non-exhaustive list of aspects of engine performance: fuel quantity; fuel injection pressure; ratio of fuel between shots; start of injection timing. These aspects, in turn, have an influence on factors such as level of NOx emissions and particulate matter engine emissions.
The overall objective of the arrangement may be, for example, to minimise particulate and NOx emissions. In this case the model will need to consider the desired state (i.e. parameters) of the engine in light of the current state (i.e. parameters) of the engine and provide model derived optimised data outputs for achieving the desired state whilst at the same time seeking to minimise particulate and NOx emissions.
It has been demonstrated that the arrangement of the present disclosure is particularly appropriate for a system having three inputs and three outputs. In such a case, the possible number of permutations of first, second and third input values is such as to be large enough to warrant the offline EMPC modelling (since online algorithmic calculation in the controller itself may be too processor intensive) but not so large as to require additional memory to that which might ordinarily be provided in engine controller hardware and also not so large as to produce a data library having so many dimensions that significant processing power is required to identify and retrieve the most appropriate subset of outputs from within the library. Where significant processor power is required to find the most appropriate subset of outputs this may negate one of the advantages of the arrangement which is to avoid the level of processor power required to carry out algorithmic calculations to determine optimised outputs in real time (without the use of a library populated by an EMPC derived model).
While the illustrated embodiment relates to control of a fuel system for an engine, a corresponding control system with corresponding inputs and outputs may be used for controlling any aspect of engine performance such as, for example, an engine gas system having exhaust gas recirculation control. In this case, a model can be configured so as to determine outputs which, for example, minimise fuel consumption and/or CO2 emissions. Another example embodiment of the invention relates to control of an exhaust gas after treatment apparatus. In this case, a model can be configured so as to determine outputs relating to, for example, particulate filter regeneration.
Indeed, a wide range of further applications is also contemplated, as would be clear to the skilled person.
While the engine assembly 1 of the disclosure might be described as a hybrid electric engine, this does not suggest (and certainly does not limit) use of the arrangement to a hybrid electric engine in the sense of a vehicle having an internal combustion engine and an electric motor, both of which directly connected to a power split device the output of which is a load and/or gearbox, though it is true that the engine assembly of the present disclosure may be used as the engine of a hybrid electric engine of that kind. In fact, the arrangement of the disclosure has much wider applications for any kind of engine whether or not additional electrical (or other) capability is provided to assist in driving the load.
The detailed description of the disclosure has been made with respect to a single embodiment which represents one narrow implementation of the arrangement of the disclosure in its broadest sense. The scope of the present disclosure is to be considered in light of the appended claims. It should not be inferred that the specific implementation of the detailed description is intended to limit the scope of the claims beyond the scope of the claims themselves.
The present disclosure provides an engine control system which makes use of explicit model predictive control to provide a data library which includes output data values for each combination of engine inputs relating to engine parameters.
Advantageously this may allow for reduced processing power to be required in order to manage engine control efficiently.
Number | Date | Country | Kind |
---|---|---|---|
12160006.8 | Mar 2012 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/GB13/50666 | 3/15/2013 | WO | 00 |