Engine Control System
20220205404 · 2022-06-30
Assignee
Inventors
- Gavin WILLIAMS (Stamford, GB)
- Peter LADLOW (Bourne, GB)
- Max BEST (Peterborough, GB)
- Mark SCAIFE (Huntingdon, GB)
Cpc classification
F02D41/2477
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F02D41/2422
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F02D41/1451
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F02D2041/1413
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F02D41/1406
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F02D41/248
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
International classification
Abstract
An internal combustion engine controller comprising a memory and a processor is provided. The memory is configured to store a plurality of control maps, each control map defining a hypersurface of actuator setpoints for controlling an actuator of the internal combustion engine based on a plurality of input variables to the internal combustion engine controller. The processor comprises an engine setpoint module and a map updating module. The engine setpoint module is configured to output a control signal to each actuator based on a location on the hypersurface of the respective control map defined by the plurality of input variables. The map updating module is configured to calculate an optimised hypersurface for at least one of the control maps. The optimised hypersurface is calculated based on a real-time performance model of the internal combustion engine comprising sensor data from the internal combustion engine and the plurality of input variables. The map updating module further is configured to update the hypersurface of the control map based on the optimised hypersurface. A method of controlling an internal combustion engine is also provided.
Claims
1. An internal combustion engine controller comprising: a memory configured to store a plurality of control maps, each control map defining a hypersurface of actuator setpoints for controlling an actuator of the internal combustion engine based on a plurality of input variables to the internal combustion engine controller; and a processor comprising: an engine setpoint module configured to output a control signal to each actuator based on a location on the hypersurface of the respective control map defined by the plurality of input variables; and a map updating module configured to calculate an optimised hypersurface for at least one of the control maps, wherein the optimised hypersurface is calculated based on a real-time performance model of the internal combustion engine comprising sensor data from the internal combustion engine and the plurality of input variables; the map updating module further configured to update the hypersurface of the control map based on the optimised hypersurface.
2. The internal combustion engine controller according to claim 1, wherein the map updating module is configured to calculate an optimised hypersurface within a time period of 1 second.
3. The internal combustion engine controller according to claim 1, wherein the map updating module is configured to calculate an optimised hypersurface for each of the control maps concurrently; and the map updating module is configured to update the hypersurface of each of the control maps based on the respective optimised hypersurfaces.
4. The internal combustion engine controller according to claim 1, wherein the map updating module is configured to calculate an optimised hypersurface by: modelling a real-time performance of the internal combustion engine using the real-time performance model for a plurality of candidate groups of actuator setpoints; and calculating the optimised hypersurface based on the modelled real-time performances calculated.
5. The internal combustion engine controller according to claim 1, wherein the map updating module comprises: an optimiser module configured to search for an optimised hypersurface wherein the optimiser module provides a plurality of candidate groups of actuator setpoints to an engine modelling module; an engine modelling module configured to calculate a plurality of engine performance variables associated with each candidate group of actuator setpoints based on the input variables, sensor data from the internal combustion engine, and the candidate group of actuator setpoints; a cost module configured to evaluate the engine performance variables and output a cost associated with each candidate group of actuator setpoints to the optimiser module; wherein the optimiser module is configured to output an optimised hypersurface for the at least one control map based on the candidate groups of actuator setpoints and the associated costs.
6. The internal combustion engine controller according to claim 5, wherein the optimiser module is configured to search for an optimised hypersurface for each of the control maps.
7. The internal combustion engine controller according to claim 5, wherein the optimiser module comprises a plurality of optimiser functions, each optimiser function configured to search for an optimal hypersurface independently of the other optimiser functions.
8. The internal combustion engine controller according to claim 7 wherein the plurality of optimiser functions of the optimiser module output updated control hypersurfaces at different rates.
9. The internal combustion engine controller according to claim 7, wherein the plurality of optimiser functions comprise a first optimiser module and a second optimiser module, wherein the first optimiser module is configured to output an updated control hypersurface based on a current state; and the second optimiser module is configured to output an updated control hypersurface based on a converged state.
10. The internal combustion engine controller according to claim 5, wherein the cost module is configured to evaluate the engine performance variables based on a plurality of cost parameters.
11. The internal combustion engine controller according to claim 10, wherein the cost parameters comprise time varying cost parameters based on an input from an aftertreatment system connected to the internal combustion engine.
12. The internal combustion engine controller according to claim 5, wherein one candidate group of actuator setpoints is based on the control signal output of the engine setpoint module.
13. The internal combustion engine controller according to claim 1, wherein the hypersurface of each control map is defined by a look-up table comprising a plurality of actuator setpoints for controlling an actuator of the internal combustion engine; and the map updating module calculates an optimised hypersurface comprising a group of updated actuator setpoints.
14. A method of controlling an internal combustion engine comprising: providing a plurality of control maps each control map defining a hypersurface of actuator setpoints for controlling an actuator of the internal combustion engine based on a plurality of input variables to the internal combustion engine controller; outputting a control signal to each actuator based on a location on the hypersurface of the control map defined by the plurality of input variables; and updating at least one of the control maps comprising: calculating an optimised hypersurface for at least one of the control maps, wherein the optimised hypersurface is calculated based on a real-time performance model of the internal combustion engine comprising sensor data from the internal combustion engine and the plurality of input variables; and updating the hypersurface of the control map based on the optimised hypersurface.
15. The method according to claim 14, wherein the optimised hypersurface is calculated within a time period of 1 second.
16. The method according to claim 14, wherein an optimised hypersurface is calculated for each of the control maps concurrently; and each of the control maps is updated based on its respective optimised hypersurface.
17. The method according to claim 14, wherein the optimised hypersurface is calculated by: modelling a real-time performance of the internal combustion engine using the real-time performance model for a plurality of candidate groups of actuator setpoints; and calculating the optimised hypersurface based on the real-time performances calculated.
18. The method according to claim 14, wherein updating the at least one control map comprises: searching for an optimised hypersurface by determining a plurality of candidate groups of actuator setpoints; calculating a plurality of engine performance variables associated with each candidate group of actuator setpoints based on the plurality of input variables, sensor data from the internal combustion engine, and the candidate group of actuator setpoints; evaluating the engine performance variables and calculating a cost associated with each candidate group of actuator setpoints; wherein the optimised hypersurface for the at least one control map is calculated based on the candidate groups of actuator setpoints and the associated costs.
19. The method according to claim 18, wherein one candidate group of actuator setpoints is based on the control signal output to each actuator.
20. The method according to claim 14, wherein the hypersurface of each control map is defined by a look-up table comprising a plurality of actuator setpoints for controlling an actuator of the internal combustion engine; and the optimised hypersurface calculated comprises a group of updated actuator setpoints.
Description
BRIEF DESCRIPTION OF THE FIGURES
[0033] The invention will now be described in relation to the following non-limiting figures. Further advantages of the disclosure are apparent by reference to the detailed description when considered in conjunction with the figures in which:
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
DETAILED DESCRIPTION
[0040] A general system diagram of an internal combustion engine 1 and an internal combustion engine controller 10 according to an embodiment of this disclosure is shown in
[0041] The internal combustion engine controller 10 may comprise a processor and a memory. As such, the internal combustion engine controller 10 may be implemented on any suitable computing device known in the art. The internal combustion engine module may be provided on a dedicated engine control unit (e.g. an engine control module) comprising one or more processors and integrated memory. The internal combustion engine controller 10 may be connected to a variety of inputs and outputs in order implement the control scheme of this disclosure. As such, the internal combustion engine controller 10 may be configured to receive various input variables signals, sensor data and any other signals that may be used in the control scheme. For example, the internal combustion engine controller 10 may be configured to receive engine sensor data such as Engine Speed, Barometric pressure, Ambient temperature, IMAP, Inlet Manifold Air Temperature (IMAT), EGR mass rate (or sensors used to derive an EGR mass estimate), Fuel rail pressure, and/or Air system valve positions, Fuel mass estimate, and/or aftertreatment sensor data such as Engine out NOx (e.g. Net Indicated Specific NOx), Tailpipe NOx, Diesel particulate filter soot sensor (differential pressure sensor and/or an RF soot sensor), Diesel oxidation catalyst inlet temperature, and/or SCR inlet temperature.
[0042] As shown in
[0043] As shown in
[0044] The input variables to the engine setpoint module 20 may be a combination of different variables derived from the current operation of the internal combustion engine. Some of the input variables may be based on performance demands of the internal combustion engine. Some of the input variables may be based on the current operating state of the internal combustion engine, for example as measured by various sensors. As the input variables are used to determine an actuator setpoint based on a control map, it will be appreciated that the total number of input variables per control map may be restricted by the computational resources available to the internal combustion engine controller 10.
[0045] In the embodiment of
[0046] In general, it will be appreciated that some control actuators associated with the internal combustion engine may have some time lag associated with them. As such, there may be some time delay between a change in requested actuator setpoint (e.g. Requested IMAP) and the change being recorded by a sensor (i.e. a sensor reading of current IMAP).
[0047] Each of the plurality of control maps 30 defines a relationship between one or more of the input variables and an actuator setpoint. In the embodiment of
[0048] Each of the control maps 30 of
[0049] In other embodiments, alternative means may be used to describe the hypersurface for each control map 30. For example, the hypersurface may be defined as a function of the input variables. Suitable multidimensional functions for defining a hypersurface may be a universal approximator function. Suitable universal approximator functions may include: artificial neural networks (e.g. radial basis functions, multilayer perceptrons), multivariate polynomials, fuzzy logic, irregular interpolation, kringing.
[0050] The plurality of control maps 30 may be stored in the memory of the internal combustion engine controller 10 such that the various processing modules of the internal combustion engine controller 10 can access the control maps 30.
[0051] As shown in
[0052] The map updating module 40 is configured to calculate the optimised hypersurface based on a real-time performance model of the internal combustion engine 1. By real-time performance model, it is understood that the calculation (optimisation) is based on a model of the performance internal combustion engine which is calculated in real time, rather than, for example, an off-line calculation of historic engine data. The real-time performance model uses sensor data from the internal combustion engine 1 and the plurality of input variables (i.e. real-time input variables to the internal combustion engine). As such, the real-time performance model may use additional sensor data from the internal combustion engine, in addition to the input variables to the control maps in order to optimise the control maps. Effectively, the internal combustion engine controller 10 of this disclosure incorporates additional variables (direct and/or indirect sensor data variables) into the control of the internal combustion engine in manner which does not significantly increase the computational complexity of the map based control.
[0053] The map updating module 40 consequently uses the real-time performance model to calculate an optimised hypersurface which optimises the real-time performance of the internal combustion engine 1. As such, the map updating module 40 may search for an optimised hypersurface. For example, the map updating module 40 may search for an optimised hypersurface by modelling a real-time performance of the internal combustion engine for a plurality of candidate groups of actuator setpoints and calculate the optimised hypersurface based on the modelled real-time performance.
[0054] For example, the map updating module 40 may be configured to calculate an optimised hypersurface for the IMAPR control map. The IMAPR control map 30 may be based on the input variables: engine speed (N) and Torque Requested (TqR). The map updating module 40 may model the real-time performance of the internal combustion engine 1 for a plurality of candidate groups of engine actuator setpoints. For example a candidate group of engine actuator setpoints may include: SOI, Fuel mass, EGR Requested, and IMAPR. The map updating module 40 may vary one or more of the engine actuator setpoints between each candidate group of engine actuator setpoints in order to search for an optimised hypersurface for the IMAPR control map 30. In one embodiment in which only the IMAPR control map 30 is updated, the engine actuator setpoint for IMAPR may be varied between each of the candidate groups of engine actuator setpoints. Based on the modelled real-time performance results for each candidate group, the map updating module 40 may determine an optimised hypersurface for the IMAPR control map. As discussed above, the optimised hypersurface may only be a portion of the total hypersurface defined by the control map 30.
[0055]
[0056] Thus, with reference to
[0057] The map updating module 40 comprises an optimiser module 50, and engine modelling module 60 and a cost module 70. As discussed above, the map updating module 40 is configured to calculate an optimised hypersurface for one or more of the control maps 30. In this embodiment, the map updating module 40 is configured to calculate an optimised hypersurface for a plurality of the control maps 30. For example, in the embodiment of
[0058] The optimiser module 50 is configured to search for an optimised hypersurface for at least one of the control maps 30. In this embodiment, the optimiser module 50 is configured to search for an optimised hypersurface for each of the control maps 30 for SOI, Fuel mass, and EGR Requested concurrently. The optimiser module 50 may be configured to search for an optimised hypersurface for IMAPR at a different time. As such, it will be appreciated that the map updating module 40 does not need to update all of the control maps at the same time. In other embodiments, it will be appreciated that the optimiser module may update all of the control maps at the same time.
[0059] The optimiser module 50 is configured to search for an optimised hypersurface wherein the optimiser module 50 provides a plurality of candidate groups of actuator setpoints to an engine modelling module 60. Each candidate group of actuator setpoints is effectively a vector of setpoints for each of the control maps 30. The candidate group of actuator setpoints may include an actuator setpoint for each control map 30 to be updated. The candidate group of actuator setpoints may also include actuator setpoints for control maps 30 which are not presently being updated by map updating module 40. For example, in the embodiment of
[0060] The optimiser module 50 outputs the each candidate group of actuator setpoints to the engine modelling module 60. The optimiser module 50 may select the candidate groups of actuator setpoints to be modelled in a variety of ways. For example, the optimiser module may select each actuator setpoint randomly from within a predefined range of allowable actuator setpoints in order to provide a plurality of essentially randomised actuator setpoints for each candidate of the groups, and select the lowest cost or function value. As such, the candidate groups of actuator setpoints are selected at random (a randomised search strategy). Other alternative searching strategies are discussed in more detail below. The number of candidate groups output by the optimiser module is based on the computational resources available for calculating the optimised hypersurface. As will be appreciated, the map updating module 40 is configured to output an optimised hypersurface based on the real-time performance of the internal combustion engine. In the embodiment of
[0061] The engine modelling module 60 is configured to calculate a plurality of engine performance variables associated with each candidate group of actuator setpoints. The inputs to the engine modelling module 60 are the plurality of input variables of the control maps, as well as sensor inputs from the internal combustion engine, and the candidate group of actuator setpoints. As such, the engine modelling module 60 is provided with a plurality of performance variables associated with the real-time operation of the internal combustion engine. Accordingly, the plurality of engine performance variables calculated by the engine modelling module 60 may be representative of the real-time performance of the engine modelling module 60. Thus the engine modelling module 60 is an example of a real-time performance model.
[0062] In the embodiment of
[0063] The engine modelling module 60 may include one or more models configured to calculate a plurality of engine performance variables associated with each candidate group of actuator setpoints. It will be appreciated that as the inputs to the engine modelling module 60 include the input variables to the internal combustion engine and the sensor data, the performance variables will be representative of a real-time performance of the internal combustion engine under those actuator setpoints. The performance variables calculated may include: engine torque, mass airflow, brake mean effective pressure (BMEP), net indicated mean effective pressure (IMEP), pumping mean effective pressure (PMEP), friction mean effective pressure (FMEP), exhaust manifold temperature, peak cylinder pressure, NOx quantity (e.g. Net Indicated Specific NOx (NISNOx), Brake Indicated Specific NOx) Soot quantity (e.g. Net Indicated Specific Soot, Brake Indicated Specific Soot), NOx/Soot ratio, minimum fresh charge, EGR potential.
[0064] In some embodiments, the internal combustion engine controller calculates Net Indicate Specific performance variables (e.g. IMEP, NISNOx). IMEP reflects the mean effective pressure of the internal combustion engine across the whole engine cycle. By contrast, BMEP is the mean effective pressure calculated from the brake torque. In some embodiments, Net Indicated Specific values may be used (e.g. IMEP, NISNOX) as these values are non-zero even when the engine is idling.
[0065] In this disclosure, Net indicated specific NOx (NISNOx) and Brake Indicated Specific NOx are further intended to refer to the NOx quantity output by the internal combustion engine, prior to any treatment in an aftertreatment system. Of course, the skilled person will appreciate that the NOx quantity may also be estimated downstream of the aftertreatment system (e.g. tailpipe NOx).
[0066] The physical relationships between the above performance variables and the inputs provided to the engine modelling module are well known to the skilled person. As such, the engine modelling module may provide one or more physics based models to calculate one or more of the above performance variables. As an alternative to physics based models, the engine modelling module may also calculate one or more of the above performance variables using empirical/black box models, or a combination of empirical and physics based models (i.e. semi physical/grey box models).
[0067] For example, the engine modelling module 60 may include a mean value engine model. Mean value engine models are well known to the skilled person for modelling engine performance parameters such as BMEP, engine torque, mass airflow etc. Further explanation of a mean value engine model suitable for use in the present disclosure may be found “Event-Based Mean-Value Modeling of DI Diesel Engines for Controller Design” by Urs Christen et al, SAE Technical Paper Series. Thus, a mean value engine model may be used to calculate engine performance variables based on the inputs to the engine modelling module 60.
[0068] In addition to, or as an alternative to, the use of a mean value model, the engine modelling module 60 may include one or more neural network based models for calculating one or more engine performance variables. For example, a Net Indicated Specific NOx (NISNOx) engine performance variable may be calculated from the sensor data using a suitably trained neural network. Further explanation of suitable techniques for calculating engine performance variable such as NISNOx using a neural network may be found in “Development of PEMS Models for Predicting NOx Emissions from Large Bore Natural Gas Engines” by Michele Steyskal et al, SAE Technical paper series.
[0069] Physics based models of one or more internal combustion engine components may be provided. For example, a compressor model, a turbine model, or an exhaust gas recirculation cooler model may be provided in order to help calculate suitable performance variables.
[0070] The engine modelling module 60 outputs the engine performance variables to the cost module 70. The cost module 70 is configured to evaluate the engine performance variables and output a cost associated with each candidate group of actuator setpoints based on the performance variables. In the embodiment of
[0071] The cost module 70 may comprise a plurality of functions configured to assign a cost to various performance targets in order to evaluate the performance of the engine. Each cost function may output a cost based on or more engine performance variables and one or more cost parameters. For example, the plurality of functions may comprise one or more performance objective functions, one or more emissions functions, and one or more engine constraint functions. Each of the plurality of functions may be configured to output a cost based on a function of one or more of the performance variables and one or more cost parameters. The cost parameters determine the magnitude of the cost associated with each performance parameter. In the embodiment of
[0072] A performance objective function may be a function configured to optimise the internal combustion engine to meet certain performance objectives. For example, performance objective may be to minimise Brake Specific Fuel Consumption (BSFC) or Net Indicate Specific Fuel Consumption (NISFC). A further performance objective may be to minimise torque error (i.e. the difference between the actual output torque and the torque requested). Such forms of performance objective function may be represented by a function having a weighted square law relationship (i.e. of the form: Cost=Weight*(performance variable){circumflex over ( )}2). As such, for a performance objective function, a weight of the performance objective function is a cost parameter. A graphical representation of a suitable performance objective function is shown in
Cost.sub.NISFC=Weight.sub.NISFC*NISFC{circumflex over ( )}2
[0073] An emission function may be a function configured to optimise the internal combustion engine in order to meet certain objectives in relation to the emissions produced by the internal combustion engine. For example one or more emissions function may be provided based on engine performance variables relating to emissions produced by the internal combustion engine. As such, one or more emissions functions may be based on NOx quantity (NISNOx, Soot (NISCF), NOx Soot ratio, minimum fresh charge, and/or EGR potential. The emissions functions may define a relationship between a cost and the engine performance variables using any suitable function. For example, in the embodiment of
[0074] For example, an emissions function may include a target upper limit (T). The target upper limit may define a value for an engine performance variable above which the cost incurred becomes significant, whereas for values below the target upper limit, no cost, or minimal cost is incurred. For example, for some internal combustion engines, a target upper limit for NISNOx may be 4 g/kWh. Thus, for an emissions function a target upper limit, and/or a weight may be a cost parameter. In other embodiments, a target limit may be provided as a target lower limit.
[0075] Accordingly, an emissions function (Cost.sub.NOx) based on the engine performance variable NISNOx may be: [0076] When: NISNOx<T, Cost.sub.NOx=0 [0077] NISNOx≥T, Cost.sub.NOx=Weight.sub.NOx*(NISNOx−T){circumflex over ( )}2
[0078] An engine constraint function may be a function configured to reflect constraints associated with the performance of the internal combustion engine. As such, the one or more engine constraint functions may be provided to discourage or prevent the controller from operating at certain engine actuator setpoints. For example, one or more engine constraint functions may be based on engine performance variables which have fixed limits which cannot be exceeded due to physical requirements of the internal combustion engine. As such, one or more engine constraint functions may be based on peak cylinder pressure (PCP), exhaust manifold temperature, compressor outlet temperature. Further engine performance variables which may have desirable fixed limits such as max torque error may also have a corresponding engine constraint function. Each engine constraint function may define a relationship between a cost and one or more of the engine performance variables using any suitable function. For example, in the embodiment of
[0079] For example, an engine constraint function for the engine performance variable PCP may be provided based on a limit L. The cost calculated by the engine constraint function may rise asymptotically as the limit L is approached. Thus, a limit L may also be a cost parameter. Accordingly, an engine constraint function (Cost.sub.PCP) based on the engine performance variable PCP may be:
Cost.sub.PCP=1/(L−PCP)
[0080] As described above, various cost parameters have been described with respect to performance objective functions, emissions functions, and engine constraint functions. The cost parameters may be stored by the cost module 70, for example as a cost parameter vector. In some embodiments, the cost parameters may be time varying. That is to say, in some embodiments the cost module 70 may update one or more of the cost parameters in order to effect a change in the relative costs associated with different engine performance variables. For example, the cost module 70 may update one or more cost parameters in order to initiate regeneration of the aftertreatment system as described below.
[0081] Accordingly, the cost module 70 may calculate a total cost associated with each candidate group of actuator setpoints based on the costs calculated by each of the cost functions calculated above. The total cost associated with each candidate group of actuator setpoints may be provided to the optimiser module 50 for further processing.
[0082] The optimiser module 50 is configured to output an optimised hypersurface for the at least one control map 30 based on the candidate groups of actuator setpoints and the associated costs. As such, based on the total cost for each candidate group of actuator setpoints, the optimiser may identify a group of actuator setpoints which has an optimal performance. For example, the candidate group of actuator setpoints with the lowest total cost may provide optimal performance. Accordingly, the optimiser module 50 may update the control maps 30 based on the candidate group of actuator setpoints. As such, the control maps may be updated to provide the actuator setpoints of the candidate group of actuator setpoints for the input variables used by the map updating module 40 (i.e. the real time input variables).
[0083] Accordingly, an internal combustion engine controller 12 in accordance with the diagram shown in
[0084] As an alternative to a randomised searching strategy, other searching strategies may be employed by the optimiser. For example, the candidate groups of actuator setpoints may be selected according to an iterative searching strategy. As part of an iterative searching strategy a first set of candidate groups of actuator setpoints may be identified and analysed as described above to determine associated costs. The optimiser module 50 may then select a second set of candidate groups of actuator setpoints based on the first set of actuator setpoints and the associated costs (i.e. based on the lowest cost candidate groups of the first set of candidate groups). Examples of suitable searching iterative searching strategies include Genetic algorithms, Simplex, Stochastic optimisation and/or swarm algorithms.
[0085]
[0086] The block diagram indicates in dashed lines the engine setpoint module 20 and the map updating module 40. As such, the internal combustion engine controller 14 has a similar general structure to the structure shown in
[0087] As shown in
[0088] As will be appreciated by the skilled person, the output of the engine setpoint module 20 may be based on control maps 30 which have previously been updated by the map updating module 40. Thus, the candidate group of actuator setpoints based on the control signal output of the engine setpoint module 20 may reflect a previously calculated optimal hypersurface. As such, the internal combustion engine controller 14 may effectively incorporate a form of memory in which previously calculated optimal hypersurfaces may influence the candidate groups of actuator setpoints evaluated by the optimiser module 50.
[0089] As shown in
[0090] Each of the optimiser functions 51, 52 is configured to search for an optimal hypersurface independently of the other optimiser functions. As such, each of the optimiser functions 51, 52 may be configured to communicate with the engine modelling module 60 and the cost module 70 in substantially the same manner as the optimiser module 50 as described for the embodiment in
[0091] The plurality of optimiser functions 51, 52 may be configured to output updated control hypersurfaces at different rates. Effectively, some of the optimiser functions may be provided with increased computational time/resources in order to search for an optimised hypersurface at a faster rate relative to the other optimiser functions. For example, the current state optimiser 51 of
[0092] In the embodiment of
[0093] For example, the converged state optimiser function 52 may update the control map for IMAPR, while the current state optimiser function 51 may update the control maps for Fuel Mass and EGR. It will be appreciated that the optimal actuator setpoints for Fuel Mass and EGR are influenced by the total mass flow into the engine. The total mass flow into the engine may be in turn influenced by the IMAP. IMAP, which is in turn controlled by the control map for IMAPR has a relatively low characteristic frequency compared to EGR and Fuel Mass. Accordingly, the control map for IMAPR may have a relatively significant effect on the converged state optimal operating point for the internal combustion engine 1. By contrast, actuator settings for Fuel Mass and EGR, which have a relatively high characteristic frequency, may be optimised based on the current state of the internal combustion engine.
[0094] In the embodiment of
[0095] In the embodiment of
[0096] In the embodiment of
[0097] As shown in
[0098] The cost module 70 may utilise data from the aftertreatment system to update at least some of the cost functions. As such, the data from the aftertreatment system may be used to adapt the relative weights associated with each engine performance variable. As such, the cost functions may be updated from a preference for prioritising low fuel consumption to prioritising high exhaust temperature.
[0099] For example, the cost module 70 may utilise data from the aftertreatment system in order to determine that a regeneration of the aftertreatment system is to be performed (e.g. an indication from the aftertreatment system that regeneration of a Diesel Particulate Filter is required). The cost module 70 may update some of the costs functions of the model in order to effect a regeneration of the aftertreatment system. For example, a cost function (e.g. a performance objective function) may be provided to control an exhaust minimum temperature. To regenerate the aftertreatment system, the exhaust temperature minimum penalty may be increased (e.g. to 400° C.) to encourage the optimiser to calculate an optimised hypersurface which increases exhaust temperature. The internal combustion engine may not be able to reach such an exhaust temperature, but will be encouraged to find a solution that minimises the deviation from this value. When aftertreatment thermal management is not required, the exhaust temperature minimum penalty may be set to a negligible value (e.g. −180° C.). Thus when not required, the cost function will not consider this term.
[0100] In other embodiments, the cost module 70 may adapt the weights of the cost functions in order to cause a regeneration of the aftertreatment system. As such, the cost functions may be updated from a preference for prioritising low fuel consumption to e.g. prioritising high exhaust temperature by altering one or more values associated with the cost function(s)
[0101] In other embodiments, the cost module 70 may store emissions data received from the aftertreatment system relating to emissions of the internal combustion engine. The cost module 70 may utilise the emissions data to monitor the emissions performance of the internal combustion engine. In some embodiments, the cost module 70 may adjust one or more of the emissions functions based on the monitored emissions performance. Thus, the internal combustion engine controller 14 may be configured to control an internal combustion engine in a manner which complies with various emissions regulations. It will be appreciated that emissions regulations may vary depending on the location of operation of the internal combustion engine. Unlike time-invariant control maps, which may be individually calibrated to comply with specific emissions targets in advance, the cost module 70 of the internal combustion engine may be updated to comply with local emissions regulations as appropriate. Thus, the calibration requirements of the internal combustion engine controller 14 may be reduced.
INDUSTRIAL APPLICABILITY
[0102] The internal combustion engine controller 10, 12, 14 of this disclosure may be configured to control an internal combustion engine in variety of configurations.
[0103] One application may be for controlling the actuator setpoints of an internal combustion engine as illustrated in