Machine learning-based virtual exhaust gas sensor for a combustion engine
A machine learning-based virtual exhaust gas sensor addresses the limitations of conventional sensors by accurately measuring exhaust gases in transient conditions, reducing maintenance costs and environmental vulnerabilities.
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-10-01
- Publication Date
- 2026-04-08
AI Technical Summary
Conventional exhaust gas sensors for combustion engines are prone to failure due to harsh environments, high maintenance costs, and inaccuracies in measuring low-level exhaust gas amounts, particularly in transient conditions.
A virtual exhaust gas sensor using a machine learning model that estimates exhaust gas values based on engine torque and derived features, eliminating the need for physical sensors and addressing issues such as aging, drift, and environmental exposure.
The virtual sensor provides accurate exhaust gas measurements in transient conditions, reduces maintenance costs, and enhances flexibility, making it a cost-effective alternative or complement to traditional sensors.
Smart Images

Figure IMGAF001_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The disclosure relates generally to the field of sensing of exhaust gases of combustion engines. In particular aspects, the disclosure relates to a virtual exhaust gas sensor for a combustion engine. The disclosure can be applied to heavy-duty vehicles, such as trucks, buses, and construction equipment, among other vehicle types. Although the disclosure may be described with respect to a particular vehicle, the disclosure is not restricted to any particular vehicle.BACKGROUND
[0002] Emission norms such as BS6 / EU6 require vehicles to include a so-called exhaust aftertreatment system (EATS). Usually, EATS is a system that is placed towards the end of the vehicle powertrain, and is responsible for treatment and control of pollutants like nitrogen oxides (NOx), carbon monoxide (CO), hydrocarbons (HC) and e.g. various particulate matter (PM) by utilization of different chemical processes. An EATS typically includes multiple temperature sensors, various additional components such as a diesel oxidation catalyst (DOC), diesel particulate filter (DPF), a system for selective catalytic reduction (SCR), additive dosing systems, delta pressure sensors, and in one or more exhaust gas sensors such as pre-NOx and post-NOx sensors. Pre-NOx sensors are often positioned to measure NOx released directly from the engine, while post-NOx sensors are instead positioned to measure levels of NOx being released at the end of an exhaust / tail pipe. EATS find applications both for e.g. diesel-driven internal combustion engines (ICEs) as well as in engines based, instead or in addition, on liquified natural gas (LNG) and similar.
[0003] Although of great importance to a functioning EATS, conventional exhaust gas sensors are however usually delicate and prone to failure. The sensors are often exposed to large vibrations and / or hot environments that may result in connector fretting; to AdBlue and / or other additives that may cause cracks in the ceramic area of electrodes (referred to as water splash or e.g. P-peel off); magnesium contamination, and similar. The sensors may also suffer from large delays in measuring valid exhaust gas levels because of the time taken to reach the dew point, and the sensors may show substantial drift due to aging that may in turn lead to inaccuracies in the measured exhaust gas values. Erroneous results may also be due to increased back pressure, and sensor accuracy may decrease significantly with decreasing exhaust gas levels, making some sensors useless for providing sufficiently accurate estimates of lower-level exhaust gas amounts. Contemporary sensors may also be expensive, time-consuming to replace / repair, and often non-flexible in the sense that they are often capable of detecting / measuring only one or at most a few types of exhaust gases.
[0004] The present disclosure aims to provide a solution for exhaust gas sensing that alleviates one or more of the above-mentioned issues with contemporary technology.SUMMARY
[0005] According to a first aspect of the disclosure, there is provided a computer system for implementing a virtual exhaust gas sensor for an (internal) combustion engine (such as an ICE). The computer system includes processing circuitry. The processing circuitry is configured to obtain a set of one or more input features, including at least torque, for the engine for a first time instance. The processing circuitry is further configured to obtain a set of one or more derived input features, indicative of at least change of torque for the engine during one or more different time intervals leading up to the first time instance. The processing circuitry is further configured to obtain an estimated exhaust gas value for the engine, by using the obtained set of one or more input features and the set of one or more derived input features as input features to a machine learning (ML) model that has been trained to estimate the exhaust gas value based on such input features. The first aspect may seek to solve the problem of how to provide a more reliable solution for sensing of exhaust gases for a combustion engine (such as e.g. a diesel-engine, an LNG engine, or similar). A technical benefit may include that by replacing a conventional, physical sensor with a virtual sensor implemented using a trained ML model, the above-mentioned disadvantages of such conventional physical sensors may be at least partly avoided, resulting in a solution that requires a lower initial investment, is more easy to upgrade, is more flexible, and which do not suffer from e.g. aging, drift and the negative effects of being exposed to a hostile environment such as found in / around a combustion engine. As envisaged herein, the virtual sensor could both be used instead of, or in addition, to one or more physical exhaust gas sensors, e.g. both as an alternative to such conventional sensors or to provide redundancy. A particular technical benefit may include that the use of the one or more derived input features may make the ML model capable of more accurately sensing exhaust gas levels in transient conditions, as the ML model can learn to identify whether the one or more input features are pertinent to static or transient conditions, as how the change of torque for the engine during the one or more different time intervals leading up to the first time instance may serve as indicators of transient behavior.
[0006] Optionally, in some examples, including in at least one preferred example, the exhaust gas may be NOx. A technical benefit may include that conventional sensors for sensing NOx, such as pre- and / or post-NOx sensors, may be particularly prone to failure and the suffering of one or more of the above-mentioned issues, and that replacing such sensors with the envisaged virtual variant may thus be particularly beneficial.
[0007] Optionally, in some examples, including in at least one preferred example, the virtual exhaust gas sensor may be a pre-NOx sensor. A technical benefit may include that the environment where pre-NOx sensing is performed (e.g. inside or close to the engine) may be particularly hostile, and that the problems with contemporary, physical such sensors may thus be extra substantial, resulting in additional benefits by e.g. replacing or complementing such sensors with the envisaged virtual sensor.
[0008] Optionally, in some examples, including in at least one preferred example, the one or more time intervals may include a first time interval corresponding to between 1 to 4 seconds. In other examples, the one or more time intervals may instead, or in addition, include a second time interval corresponding to between 4 to 8 seconds. In other examples, instead or in addition to the first and second time intervals, the one or more time intervals may include a third time interval corresponding to at least 8 seconds. A technical benefit may include that such intervals may be particularly useful for identifying whether the torque input data is stationary or non-stationary (i.e. transient).
[0009] Optionally, in some examples, including in at least one preferred example, the set of one or more input features may include at least one of engine speed, rail pressure, boost temperature, boost pressure, gas rail pressure, and engine exhaust temperature. For example, if using the virtual sensor for an LNG engine, the gas rail pressure may correspond to the pressure of the LNG gas. In other examples, if using the sensor for a diesel engine, the rail pressure may correspond to the pressure of the diesel for initial ignition. Other input features may also be included, such as e.g. diesel fuel value, gas fuel values, fuel injection advance angle, and similar. Other examples of usable input features may include e.g. ambient temperature and / or pressure. In particular, it is envisaged that all (or at least many) of the used input features are derivable / obtainable from signals that are already available in the vehicle, i.e. such that no further / special sensors are needed. The envisaged solution is thus applicable to many types of vehicles, and may e.g. also be implemented as an aftermarket solution in an already existing vehicle.
[0010] Optionally, in some examples, including in at least one preferred example, the processing circuitry may be configured to implement the ML model. A technical benefit may include that the processing circuitry does not need to communicate with some other entity used to implement the ML model, but may instead handle this internally.
[0011] Optionally, in some examples, including in at least one preferred example, the ML model may be (or be implemented using) one or more artificial neural networks (ANNs). A technical benefit may include that such architectures may be more successful at e.g. making predictions when there is no clear linear behavior / relationship between input and output parameters.
[0012] Optionally, in some examples, including in at least one preferred example, the ANN (or ANNs) may be a multilayer perceptron (MLP). A technical benefit may include that such ANN architectures may be relatively straightforward to implement and train, and may produce sufficiently accurate results due to the one or more derived features as described herein. In other examples, more advanced ANN architectures may of course also be used.
[0013] Optionally, in some examples, including in at least one preferred example, the processing circuitry may be further configured to use the obtained estimate of the exhaust gas value as part of an exhaust aftertreatment system (EATS). A technical benefit may include that the processing circuitry may thus use the estimated exhaust gas values as part of controlling / limiting the release of such gases, i.e. the virtual sensor may be used to provide information useful for such operations (e.g. as an alternative or complement to a traditional physical sensor).
[0014] According to a second aspect of the disclosure, there is provided a computer system for training of an ML model for estimation of an exhaust gas value for an internal combustion engine. The computer system includes processing circuitry. The processing circuitry is configured to obtain, based on training data from different running cycles of the engine, a set of one or more input features that includes at least torque. The training data includes values of the torque and of the exhaust gas value at a plurality of different time instances. The exhaust gas values used for training may for example be obtained using one or more conventional gas sensors, from numerical simulations, or similar. The processing circuitry is further configured to generate a set of one or more derived features, including at least a change of torque for the engine during one or more different time intervals leading up to each time instance. The processing circuitry is further configured to implement and train an ML model to estimate the exhaust gas value, by using the set of one or more input features and the set of one or more derived features as input features to the ML model and a ground truth based on the exhaust gas values of the training data. The second aspect may thus seek to solve a problem of how to train the ML model referred to in the first aspect. A technical benefit may include that the addition of the one or more derived features as part of the input features may help to learn the ML model to identify whether the torque values are associated with stationary or non-stationary (i.e. transient) behavior, and thus to learn how to more accurately estimate the exhaust gas value even when the engine goes through both stationary and non-stationary parts of a running cycle.
[0015] According to a third aspect of the disclosure, there is provided a (computer-implemented) method of implementing a virtual exhaust gas sensor for an internal combustion engine. The method includes the various operations performed by the computer system of the first aspect, i.e. obtaining, using processing circuitry of a computer system (such as the processing circuitry of the computer system of the first aspect), the set of one or more input features (including at least the torque for the engine for the first time instance); obtaining, by the processing circuitry, the set of one or more derived input features; and obtaining, by the processing circuitry, the estimated exhaust gas value for the engine by using the obtained set of one or more input features as well as the set of one or more derived features as input features to the ML model. The third aspect may seek to solve the problem of how to provide a corresponding method performed by the processing circuitry and computer system of the first aspect, with the same technical benefits as discussed in association therewith.
[0016] According to a fourth aspect of the disclosure, there is provided a (computer-implemented) method of training an ML model for estimation of an exhaust gas value for an internal combustion engine. The method includes the various operations performed by the computer system of the second aspect, i.e. obtaining, by processing circuitry of a computer system (such as the processing circuitry of the computer system of the second aspect) and based on the training data from the different running cycles of the engine, the set of one or more input features (including the torque); generating, by the processing circuitry, the set of one or more derived features; and implementing and training, by the processing circuitry, the ML model to estimate the exhaust gas value by using the one or more input features and the set of one or more derived features as input features to the ML model and the ground truth based on the exhaust gas values of the training data. The fourth aspect may seek to solve the problem of how to provide a method corresponding to the operations performed by the computer system of the second aspect, with the same technical benefits as discussed in association therewith.
[0017] According to a fifth aspect of the disclosure, there is provided a vehicle. The vehicle includes an internal combustion engine (such as the engine mentioned in association with the first aspect), and the computer system of the first aspect (or any example thereof discussed herein) for implementing the virtual exhaust gas sensor for the engine. The fifth aspect may seek to solve the problem of how to provide a vehicle with an improved exhaust gas sensing capability, with the same technical benefits as discussed herein in association with the computer system of the first aspect. The computer system may be trained using the computer system of the second aspect and / or the method of the fourth aspect.
[0018] According to a sixth aspect of the disclosure, there is provided a computer program product. The computer program product includes program code for performing, when executed by processing circuitry (of e.g. the computer system of the first aspect) the method of the third aspect. The sixth aspect may seek to solve the problem of how to provide the instructions needed by the computer system of the first aspect to perform as described herein, with the same technical benefits as discussed in association with the first aspect.
[0019] According to a seventh aspect of the disclosure, there is provided a computer program product. The computer program product includes program code for performing, when executed by processing circuitry (of e.g. the computer system of the second aspect) the method of the fourth aspect. The seventh aspect may seek to solve the problem of how to provide the instructions needed by the computer system of the second aspect to perform as described herein, with the same technical benefits as discussed in association with the second (and e.g. first) aspect.
[0020] According to an eight aspect of the disclosure, there is provided a computer-readable storage medium including instructions that, when executed by processing circuitry (such as that of the computer system of the first aspect), cause the processing circuitry to perform the method of the third aspect.
[0021] According to a ninth aspect of the disclosure, there is provided a computer-readable storage medium including instructions that, when executed by processing circuitry (such as that of the computer system of the second aspect), cause the processing circuitry to perform the method of the fourth aspect.
[0022] In each of the eight and ninth aspects, the computer-readable storage medium may be non-transitory.
[0023] The disclosed aspects, examples (including any preferred examples), and / or accompanying claims may be suitably combined with each other as would be apparent to anyone of ordinary skill in the art. Additional features and advantages are disclosed in the following description, claims, and drawings, and in part will be readily apparent therefrom to those skilled in the art or recognized by practicing the disclosure as described herein.
[0024] There are also disclosed herein computer systems, control units, code modules, computer-implemented methods, computer readable media, and computer program products associated with the above discussed technical benefits.BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Examples are described in more detail below with reference to the appended drawings. FIG. 1 schematically illustrates one or more examples of a computer system for estimating an exhaust gas value, according to one or more examples. FIG. 2 schematically illustrates a flowchart of one or more examples of a method as performed by the computer system of FIG. 1. FIG. 3 schematically illustrates an example internal combustion engine and exhaust system, including an EATS. FIG. 4 schematically illustrates one or more examples of a computer system for training of an ML model to estimate the exhaust gas value, according to one or more examples. FIG. 5 schematically illustrates a flowchart of one or more examples of a method as performed by the computer system of FIG. 4. FIG. 6 schematically illustrates an example of (a training of) an ANN-based ML model, according to an example. FIG. 7 schematically illustrates an example of a vehicle including the computer system of FIG. 1, according to an example. FIG. 8 is a schematic diagram of an exemplary computer system for implementing examples disclosed herein, according to an example. DETAILED DESCRIPTION
[0026] The detailed description set forth below provides information and examples of the disclosed technology with sufficient detail to enable those skilled in the art to practice the disclosure.
[0027] FIG. 1 schematically illustrates one or more examples of a computer system 100 for implementing a virtual exhaust gas sensor for an internal combustion engine as envisaged herein, including processing circuitry 110.
[0028] FIG. 2 schematically illustrates a flowchart of one or more examples of a (computer-implemented) method 200, corresponding to the various operations performed by the processing circuitry 110 of the computer system 100.
[0029] The processing circuitry 110 is configured to obtain (e.g. as part of an operation S210 of the method 200) a set of one or more input features. The set of one or more input features includes at least torque (e.g. engine torque) for an engine 120 of the vehicle for a first time instance. For example, the one or more input features may be defined as a set {F n }, where n ∈ [1, N] is an integer index and N a total number of the input features. The values for each feature F n are provided for a plurality of time instances t. For example, the input features may be defined as a time-series {Fn[k]}, where k is a time index, e.g. such that F n [k] corresponds to the value of the feature F n at time instance t = t 0 + kΔt, where t 0 is some starting time and where Δt is a time distance between consecutive samples. Alternatively, the input features may be defined as a time-series {F n [t]}, where t may be any time instance value for which samples are obtained / available, as the sampling may not necessarily be uniform (e.g. Δt between two consecutive samples may not remain constant over time). Engine torque T is included as one of the input features, e.g. such that F 1 = T, or similar, and the set of input features includes at least one torque value T for at least a first time instance t. Engine torque as envisaged herein may for example be a requested torque output from the engine 120, a measured torque output from the engine 120, or similar.
[0030] In addition to engine torque, the input features may also include one or more other parameters associated with the engine 120 and / or an exhaust system 130 of the vehicle, such as e.g. engine speed (as measured e.g. in rpm), rail pressure (e.g. a diesel injection pressure), a boost temperature, a boost pressure (e.g. of a turbo of the engine), a boost temperature, a gas rail pressure (if the engine 120 is e.g. an LNG engine), an engine exhaust temperature, and / or one or more other suitable parameters for the engine 120 and / or th exhaust system 130. Input features may also include e.g. ambient temperature and / or pressure, and similar.
[0031] The processing circuitry 110 may be configured to obtain the (values of the) set of one or more input features from for example one or more sensors 140 configured to measure the corresponding engine and / or exhaust system parameters, and / or by determining such values based on sensor data from one or more other parameters, as long as the input features are derivable from such other parameters. In particular, the envisaged solution may not necessarily require addition of one or more sensors that are not already part of the vehicle for other purposes, i.e. some or all of the sensors 140 may be sensors already available for other purposes, e.g. to provide measurements / readings of the corresponding parameter values to one or more other functionalities of the vehicle. This allows the envisaged solution to be installed in already sold vehicles, as e.g. an aftermarket solution that is retrofitted to the vehicle. Readings from the sensors 140 may for example be communicated to the processing circuitry 110 as part of one or more signals 142 received by the processing circuitry 110.
[0032] The processing circuitry 110 is further configured to obtain (e.g. as part of an operation S220 of the method 200) one or more derived input features, e.g. to obtain a set {D l } of derived features where l ∈ [1, L] is an integer index and L a total number of such derived input features that are obtained by the processing circuitry 110. As used herein, a "derived feature" is not a feature that is actually measured e.g. by the one or more sensors 140, but instead a feature that is synthetically generated based on combinations of readings from such sensors, e.g. across different sensors and / or over time. For example, each derived feature D j may be a function of the set of one or more input features {F n }. As envisaged herein, at least some of the derived features are indicative of a change of one or more of the input features during one or more different time intervals leading up to the first time instance t. For example, a derived feature D l may be indicative of a change of a corresponding input feature F nl during a time interval [t - τ l , t], where τ l is the length of the time interval, and where n l is the index of the input feature from which derived feature l is formed. For example, the derived feature D l at time instance t may be defined as e.g. D l [t] = F nl [t] - F nl [t - τ l ], or similar, where m denotes the input feature from which the derived feature D l is formed. Of course, more complicated relationships may also be used, e.g. such that D l [t] = f({F n [t - τ l ]}, {F n [t]}) where f is some function that produces D l [t] based on the values of one or more of the input features at time t - τ l and on the values of one or more of the input features at time t.
[0033] In particular, the set of one or more derived features includes at least one derived feature (e.g. D 1 ) that is indicative of a change of the torque T (e.g. the input feature F 1 ) for the engine during one or more different time intervals leading up to t. For example, the set of one or more derived features may include a derived feature D 1 [t] = T[t] - T[t - τ 1 ], or e.g. multiple such derived features but for different time intervals, e.g. such that D 1 [t] = T[t] - T[t - τ 1 ]; D 2 [t] = T[t] - T[t - τ 2 ]; ..., D J = T[t] - T[t - τ J ], where J ≤ L is a total number of such torque-related derived features and τ 1 ≠ τ 2 ≠ ... ≠ τ J are the corresponding, different, time interval lengths.
[0034] The processing circuitry 110 is further configured to obtain (e.g. as part of an operation S230 of the method 300) an estimated exhaust gas value for the engine 120 (wherein "for the engine" also include "for the engine and exhaust system", or e.g. only "for the exhaust system", i.e. "engine" may be used to referred to any part of the engine plus exhaust system combination, in which exhaust gases are either produced, transported and / or output). The processing circuitry 110 obtains the estimation of the exhaust gas value by using the set of one or more input features {F n } (as e.g. obtained in operation S210) and the set of one or more derived features {D l } (as e.g. obtained in operation S220) as input features to an ML model 112 that has been trained to estimate the exhaust gas value based on such input features. In some examples, the estimated exhaust gas value may for example be output by the computer system 100 and processing circuitry 110 as part of a signal 150, that may be provided to one or more other functionalities of the vehicle. In some examples, the processing circuitry 110 and computer system 100 may be configured to communicate with e.g. a storage 160 (via e.g. a wired or wireless link 162) and / or with an external cloud-service 164 (via e.g. a wireless link 166). As envisaged herein, a "storage" is any memory to which at least the processing circuitry 110 has at least read access, either directly or indirectly. If provided, the storage 160 and / or cloud-based service 164 may be used to communicate e.g. the values of the one or more input features to the processing circuitry 110, e.g. the processing circuitry 110 may not necessarily communicate directly with the one or more sensors 140. For example, some other functionality of the computer system 100 or e.g. the vehicle may be responsible for communicating with the sensors 140, and may then upload / write data indicative of such readings to the storage 160 and / or cloud-based service 164, such that the processing circuitry 110 may read the relevant data without directly communicating with the sensors 140. In other example, some input feature values may be obtained directly from one or more sensors 140, while other input feature values may be obtained indirectly via the storage 160 and / or cloud-based service 164. Likewise, the processing circuitry 110 may be configured to upload / write the estimated exhaust gas value to the storage 160 and / or cloud-based service 164, and one or more other functionalities of the vehicle (or even one or more external functionalities) may thus obtain the estimate by reading from the storage 160 and / or cloud-based service 164. Consequently, the processing circuitry 110 may not necessarily output the signal 152 indicating the estimated exhaust gas value.
[0035] In some examples, the exhaust gas in question may be NOx, e.g. nitric oxide (NO) and nitrogen dioxide (NO 2 ), and / or one or more other nitrogen oxides relevant for e.g. air pollution. Other exhaust gases and / or pollutants are of course also envisaged, such as e.g. carbon monoxides (CO), hydrocarbons (HC), particular matter (PM), nitrogen (N 2 ), oxygen (O 2 ) and similar.
[0036] In some examples, the virtual sensor implemented by the computer system 100 may be (or be used) as a (virtual) pre-NOx sensor, e.g. as a sensor that would normally be positioned to check / measure NOx levels as output from e.g. a turbocharger of the engine, in contrast to post-NOx sensors that are instead positioned to measure final NOx levels going out of the vehicle's exhaust pipe(s). For e.g. diesel engines, pre-NOx measurements may be important in order to decide for example how much urea (or other additives) that is / are to be added as part of a selective catalytic reduction (SCR) process to reduce NOx output from the engine. However, as envisaged herein, the proposed virtual sensor may also be used e.g. as a post-NOx sensor if the ML is trained accordingly.
[0037] In some examples, the processing circuitry 110 is configured to implement the ML model 112, while other examples may include the processing circuitry 110 not implementing the ML model 112 itself but instead having access to such a model hosted elsewhere, e.g. as part of / by one or more additional devices / functional entities of the computer system 100 or as part of one or more other systems of the vehicle (including e.g. cloud-based solutions and similar).
[0038] In some examples, the processing circuitry 110 may be further configured to use (e.g. as part of an optional operation S240 of the method 200) the estimated exhaust gas value as part of (controlling of) an exhaust aftertreatment system (EATS) 170 or similar, e.g. by communicating (via e.g. the signal 150) the estimated value to a module (or other entity) 172 configured for controlling such a system. In other examples, the processing circuitry 110 may itself be responsible for controlling the EATS, in which case there may be no or little need to communicate the estimated exhaust gas value externally.
[0039] FIG. 3 schematically illustrates one example setup of an engine 300 and exhaust system 310, including also an example EATS 320. The engine 300 may for example be a diesel engine, although other types of internal combustion engines (such as those configured to be at least partly driven by LNG) are also envisaged. The engine 300 is provided with a charge air cooler 302 (or "intercooler"), an exhaust gas recirculation (EGR) cooler 304, and a turbocharger 306. The charge air cooler 302 acts between the turbocharger 306 and the engine 300, and receives hot, compressed air from the turbocharger 306 and cools the air before it reaches the engine 300, e.g. to increase engine efficiency and power. The EGR cooler 304 reduces the combustion temperature by diluting the air / fuel mixture going into the cylinders of the engine 300 by some amount of inert exhaust gases, which often allows to maintain engine performance sufficiently high while at the same time significantly decreasing the opportunities for pollutant formation. For example, the EGR cooler 304 may work to display atmospheric air and oxygen content within the combustion chamber of the engine 300, thus reducing the amount of oxygen that may burn in the cylinder and thereby reducing peak in-cylinder temperatures, resulting in a reduced formation of new NOx gases. The amount (i.e. flow) of recirculated exhaust gases is controlled by an EGR valve 305 that connects the engines exhaust manifold to its intake manifold, and which may be controlled using e.g. vacuum, electric step motors, or similar, in accordance with a loading of the engine 300. The exhaust gases from the engine 300 are transported through the EATS 320 before reaching an end / tail- pipe 312 of the exhaust system 310. The EATS 320 includes e.g. a diesel oxidation catalytic converter (DOC) 321 that receives the exhaust gases from the turbocharger 306. The DOC 321 operates by converting at least some particulate matter (PM), hydrocarbons and e.g. carbon monoxide in the output from the engine 300 to carbon dioxide and water. After the DOC 321, further filtering of PM is achieved by passing the output from the DOC 321 through a diesel particulate filter (DPF) 322 responsible for further particulate removal. The DOC 321 and DPF 322 are however often ineffective with regards to removal of NOx gases, and the output of the DPF 322 is thus passed through an SCR catalyst 323, that may also be referred to an SCR converter. The SCR catalyst 323 uses a catalyst to aid the conversion of NOx into nitrogen (N 2 ) and e.g. water (H 2 O), and its process often includes the addition of a reductant such as anhydrous ammonia (NH 3 ), aqueous ammonia (NH 4 OH) and / or urea (CO(NH 2 ) 2 ). The reductant (such as urea) may be provided as part of a so-called diesel exhaust fluid (DEF), that may be stored in a DEF tank 324 and provided into the exhaust gases (e.g. before the SCR catalyst 323) using a suitable dosing system, including e.g. a dosing module 325 and a pump 326 to pass additive from the tank 324 into the exhaust gases. After passing through the SCR catalyst 323 and leaving the end / tail-pipe 312 of the exhaust system 310, the exhaust gases have then been at least partially cleared from particulate matters as well as from NOx gases, assuming the EATS 320 works as expected. To control the EATS 320 and to monitor its operation, various sensors are also provided, including e.g. an engine out (or pre-) NOx sensor 330 configured to measure NOx levels in the output from the turbocharger 306, a (post-) NOx sensor 331 configured to measure NOx levels at the end / tail-pipe 312, a particulate matter sensor 332 configured to measure PM levels at the end / tail-pipe 312, various temperature sensors 333-336 configured to measure temperature at various stages of the EATS 320, and e.g. one or more sensors 337 and 338 relevant for the DPF and urea mixing, respectively, as well as e.g. one or more other sensors provided for other purposes. Data from the sensors 330-338 are collected by a controller, such as an engine control module (ECM), 340, and used to control the operation of the EATS 320, e.g. to control the dosing of urea and / or to detect whether the system is working as expected or not. In other solutions, the SCR catalyst 323 may be replaced or complemented by a so-called NOx adsorber (or NOx trap), in which e.g. a zeolite adsorbant is used to "trap" NO and NO 2 molecules. The up-stream (pre-NOx) sensor 330 is usually used as part of a control feedback loop (in order to control e.g. urea-dosing in an SCR catalyst or e.g. regenerative of a NOx trap), while the down-stream (post-NOx) sensor 331 is mainly used to confirm that the system is operating as expected and conforming with legislated emission limits.
[0040] In general, NOx sensors such as sensors 330 and 331 are often expensive, and exposed to harsh environment that increased their rate of wear. The connectors of the sensors 330 and 331 are exposed to high vibration levels and high temperatures, which may result in connector fretting and similar. Presence of water (or additive such as urea / AdBlue and similar) may cause cracks in the ceramic materials used to form the sensors (referred to as water splash or P-electrode peel-off). Sensor electrodes may be contaminated with e.g. magnesium, and aging of the sensors may result in sensor drift and inaccuracies in the measured exhaust gas values. Increased back pressure may result in overstraining of the sensors 330 and 331, and the results output from the sensors 330 and 331 may be wrong and negatively affect the control of the EATS 320. In addition, the accuracy of conventional sensors such as 330 and 331 may decrease significantly with decreasing NOx-levels. In summary, conventional exhaust gas sensors (such as sensors 330 and 331) may suffer from a plurality of different issues, and the present disclosure proposes to replace e.g. one or both of the sensors 330 and 331 with a virtual sensor implemented using a trained ML model, a solution that overcomes at least some or even all of the above-mentioned issues with contemporary, physical sensors.
[0041] How the envisaged ML model may be trained will now be described in more detail with reference also to FIGS. 4 and 5.
[0042] FIG. 4 schematically illustrates one or more examples of a computer system 400 for training of an ML model for estimation of an exhaust gas value for an ICE as envisaged herein, wherein the computer system 400 includes processing circuitry 410.
[0043] FIG. 5 schematically illustrates a flowchart of one or more examples of a (computer-implemented) method 500, corresponding to the various operations performed by the processing circuitry 410 of the computer system 400.
[0044] The processing circuitry 410 is configured to obtain (as part of e.g. an operation S510 of the method 500) a set of one or more input features (such as {F n }) based on training data 420 from different running cycles of the engine. The training data 420 may for example be received from a storage 422 to which the processing circuitry 410 has access. The storage 422 may for example be internal to the computer system 400, or external to the computer system 400 (such as a hard disk drive, a cloud-storage, or any other type of memory capable of storing and providing such data). The training data 420 includes values for the set of one or more input features, including values for engine torque T. The training data 420 further includes values for at least one exhaust gas value, such as values for e.g. NOx or similar, sampled e.g. using a pre-NOx sensor, a post-NOx sensor, or similar. The exhaust gas values may for example be defined as a time-series (i.e. a set of values) X[t] that, like the set of one or more input features {F n [t]}, are sampled at a plurality of different time instances.
[0045] The processing circuitry 410 is further configured to generate (as part of e.g. an operation S520 of the method 500) a set of one or more derived features, such as {D l [t]}, that includes at least a change of torque T during one or more different time intervals leading up to each time instance. That is, for each t, the processing circuitry 410 generates at least one derived feature based on one or more of the set of input features at time instances t and t - τ l , respectively, where τ l is the length of the time interval as described earlier herein. In particular, the processing circuitry 410 generates at least a first derived feature based on (or equal to) the change of torque, e.g. D 1 [t] = T[t] - T[t - τ 1 ].
[0046] The processing circuitry 410 is further configured to implement and train (e.g. as part of an operation S530 of the method 500) an ML model 412 to estimate the exhaust gas value, e.g. and estimate X̃[t] of the exhaust gas value X[t], by using the set of one or more input features {F n [t]} and the set of one or more derived features {D l [t]} as input features to the ML model 412. As ground truth for such training, the processing circuitry 410 (and the ML model 412) uses the real values X[t] obtained as part of the training data 420.
[0047] In some examples, it is envisaged that the ML model 412 may also be at least partially trained based not on historically recorded data 420 but instead on data obtained from one or more sensors 430 of the vehicle (e.g. during operation of the vehicle), such that the ML model 412 may be trained and / or retrained online. In some examples, the ML model 412 may for example be pretrained using historically recorded data such as 420, and then further refined by continuing the training based on data obtained from the one or more sensors 430 (where the sensors 430 may for example be the same sensors 140 as described with reference to FIG. 1).
[0048] As envisaged herein, the training data 420 may for example be obtained by readings of vehicle sensors (such as 140, 430) during one or more standardized test running cycles of the engine. The training data 420 may for example include data obtained during one or more of the World harmonized transient cycle (WHTC), the World harmonized stationary cycle (WHSC), the European transient cycle (ETC), off-cycle conditions (OCE) tests, including testing for in-service conformity (ISC), from various screening data, and / or from measurements performed during one or more non-standardized or other standardized running cycles, and similar. Test cycles may be performed for hot and cold conditions, for highway, rural or urban scenarios, for different lengths, and / or for one or more other variations of one or more parameters.
[0049] As an alternative, or to complement data obtained from real cycles, numerical simulations may also be used, based on models of the engine, exhaust system, and similar.
[0050] As envisaged herein, which parameters to include in the set of one or more input features may be determined using domain knowledge and / or based on one or more other feature selection techniques. For example, such techniques may be based on e.g. variance thresholds, mutual information, random forest analysis, Pearson correlations, and similar. With such techniques, a plurality of candidate input features may be ranked based on their correlations with the exhaust gas value, e.g. with NOx, and e.g. the top N candidate input features (in terms of correlation) may be selected to form the set of one or more input features {D n }.
[0051] The present disclosure envisages to also, in addition to the set of one or more input features, provide the derived features {D l } as input features, to train the model 412 and when using the trained model. By creating derived features that includes the difference of one or more other input features during one or more different time intervals, the model 412 may learn whether current sample values for the set {F n } originates from stationary or non-stationary (i.e. transient) parts of a cycle, and the model 412 can thus be made better at accurately estimate X̃[t] also during transient parts of the cycle. As envisaged herein, differences in engine torque T is used to generate at least one such derived feature. For example, a first derived feature may be defined as D 1 t = T t − T t − τ 1 , there τ 1 corresponds to e.g. between one to four seconds, such as e.g. three seconds. As another example, a second derived feature may be defined as D 2 t = T t − T t − τ 2 , where τ 2 > τ 1 , such as for example between four to eight seconds, such as e.g. five seconds. As yet another example, a third derived feature may be defined as D 3 t = T t − T t − τ 3 , where τ 3 > τ 2 > τ 1 , such as for example more than eight seconds, such as e.g. ten seconds. Phrased differently, the first, second and third derived feature may correspond to the change in torque during e.g. the three, five and ten seconds, respectively, leading up to the time instance t. The first derived feature may for example be used to teach the ML model 412 to decide whether the operation of the engine is going through a fast, medium or slow transient part of the cycle, or similar. For example, if all of D 1 , D 2 and D 3 are currently large, the corresponding datapoints (i.e. the other input features) may be assumed to be "super-transient" (i.e. being recorded when one or more parameter values changes quickly). If e.g. D 1 is negligible while D 2 and D 3 remain high, then the corresponding datapoints may be assumed to be transient (but not super-transient). If e.g. all of D 1 , D 2 and D 3 are small / negligible, the datapoints may instead be assumed to be steady (non-transient), and similar. This thus allows e.g. a rather simple artificial neural network (ANN), such as a multilayer perceptron (MLP) to be used to implement the ML-model, even though such simpler ANNs are usually not suitable for analysis of time-series data. Another advantage is that the ML model 412 may be trained using training data with varying frequencies, as the derived features will enable the ML model 412 to be aware of the underlying transient or non-transient behavior, and of the key difference between the datapoints of the training data 420. Phrased differently, training the ML model 412 to estimate X̃[t] is made possible by the one or more derived features {D l [t]}, as the latter enables the ML model 412 to understand whether datapoints of the training data 420 corresponds to e.g. super-transient, transient or stationary cycles, and improves the transient accuracy of the estimate of the exhaust gas value. The training data 420 may be formed from data obtained during different cycles, e.g. transient cycle data (at e.g. 10 Hz of frequency), screening data at constant torque (wherein e.g. D 1 , D 2 and D 3 are then more or less zero), and similar. Screening data as envisaged herein may for example be an average value of an operating point (i.e. steady-state data), and the accuracy may be improved in such situations as well as the ML model 412 may be taught to understand the difference between different cycles.
[0052] As one example, the set of one or more input features {F n [t]} may be defined to include at least i) engine speed, ii) engine torque, iii) rail pressure, iv) boost temperature, v) gas rail pressure (in case of e.g. an LNG engine), vi) fuel injection advance angle, vii) fuel value for diesel fuel (defined e.g. as milligrams per stroke), viii) fuel value for gas fuel (if applicable), ix) exhaust temperature, and x) boost pressure. In some examples, one or more additional input features may also be used, such as e.g. xi) ambient temperature and / or xii) ambient pressure, with the added benefit that the ML model 412 can be made to provide good accuracy also for different ambient conditions. However, the exact constitution of the set of one or more input features may be tailored as needed, and may or may not include exactly the features mentioned herein. For example, using e.g. the one or more feature selection techniques as mentioned earlier herein, correlations between parameters and the exhaust gas value can be used to decide which features to exclude or include.
[0053] It is to be noted that the envisaged solution does not necessarily require additional sensors to be added to the vehicle. Instead, the envisaged solution may operate on and use already available data from already available sensors, which allows the solution to be e.g. retrofitted into old vehicles without much effort, and avoids e.g. the extra expense and / or complexity following with the addition of such additional one or more sensors. This also makes the envisaged solution scalable, and the ML model 412 (and e.g. 112) can be implemented using commonly available architectures, such as those suitable for implementing ANNs and similar.
[0054] After the training of the model 412 is completed, the processing circuitry 410 may in some examples be configured to provide (as part of e.g. a signal 440) the trained model 412 to the computer system 100 as described with reference to FIG. 1, such that e.g. the trained ML model 112 may correspond to the trained ML model 412.
[0055] Generally herein, when referring to something being delivered / sent / received via a "signal", it is meant e.g. a physical signal such as created by current, voltage, optics, magnetics, electromagnetics, and similar. However, that something is delivered / sent / received via a signal may also include e.g. that data is written and / or read to a memory that is accessible both to a sending and a receiving party of such a transaction, e.g. any means allowing information to be exchanged between two parties is here considered to be encompassed by such signal-based transferring of data / information.
[0056] FIG. 6 schematically illustrates one example of an ML model 600 as envisaged herein, in this example implemented using an ANN in form of a multi-layer perceptron (MLP). The network 600 includes at least an input layer 602 of neurons, an output layer 606 of neurons, and one or more intermediate (i.e. deep) layers 604 of neurons, all interconnected using updateable weights (wherein, in some examples and if deemed suitable, some of the weights may be fixed and not updated during training). The input layer 602 may for example include one neuron for each input feature, e.g. one neuron for each input feature F n and one neuron for each derived feature D l . The output layer 606 may for example include one neuron whose output is indicative of the estimated exhaust gas value X̃[t], but also, optionally, one or more other neurons. For example, in some examples, the model 600 may be trained to estimate exhaust gas values for more than one exhaust gas, and the output layer 606 may then for example include one neuron for each gas, and similar. The number of intermediate layers 604 may be adapted based on experience and / or based on analysis of performance for different layer configurations. For example, the network 600 as envisaged herein may, in some examples, include a couple of hundred (e.g. between 200 to 400) neurons in total, with a total of e.g. five to 10 layers, or similar. Other configurations are of course also possible, as long as it can be evaluated that the model 600 accurately predicts the exhaust gas value X[t] for different cycles with e.g. different transient and stationary behavior.
[0057] The model 600 takes as input the set of one or more input feature {F n [t]}. In addition, during training of the model 600, the actual exhaust gas value (or values, in case the model 600 is trained to estimate values for more than one exhaust gas) X[t] is provided and used as ground truth, i.e. to determine a loss function indicative of how close to the real value X[t] the predicted value X̃[t] is for each iteration, and such that e.g. back-propagation or other suitable techniques may be used to update the weights of the layers 602, 604 and / or 606 during training of the model 600. In addition, a derived feature generation block 610 generates the one or more derived features {D j [t]} by calculating differences over time for one or more of the input features {F n [t]}, i.e. differences over one or more different time intervals leading up to the time instance t. For example, the block 610 may be responsible for generating a set of derived features {D j [t]} wherein, for each time instance, the block 610 calculates each feature as D j [t] = F nj [t] - F nj [t - τ j ], where n j is the value of the index n for a particular derived feature j, and where τ j is the length of the "look-back" time interval for the j:th derived feature. For example, as mentioned earlier herein, the set {D j [t]} may include at least D 1 , D 2 and D 3 , where n 1 = n 2 = n 3 corresponds to engine torque, i.e. such that F n1 , F n2 and F n3 are each torque T, and where τ 1 < τ 2 < τ 3 , e.g. such that τ 1 = 3 seconds, τ 2 = 5 seconds and τ 3 = 10 seconds, or similar. By training of the model 600 using such training data, the model 600 is thus capable of providing the estimate X̃[t] of the at least one exhaust gas value also when the value of X[t] is not provided, i.e. during live operation of the model 600.
[0058] To validate the model, a test was made wherein the input features included the input features i)-x) listed above, as well as D 1 , D 2 and D 3 with three, five and ten second time intervals. The model included around 250 neurons with seven layers in total. The engine was an LNG engine, and the virtual sensor was used to estimate NOx levels. Three types of comparisons were made for the validation, namely A) a comparison between the output from a testbed gas analyzer and the virtual sensor; B) a comparison between the output from a real NOx sensor and the virtual sensor, and C) a comparison between the real NOx sensor and the testbed gas analyzer. For each comparison, a percentage difference were calculated using the formula % = total NOx from unit one grams − total NOx from unit two grams total NOx from unit one grams ∗ 100 , where unit one and two is, respectively, the testbed gas analyzer and virtual sensor for comparison A), the real NOx sensor and the virtual sensor for comparison B), and the testbed gas analyzer and the real NOx sensor for comparison C). The comparisons were analyzed using regression analysis, by calculating a variance regression score (VRS) ranging from zero to one, where the closer to one the better the model (i.e. virtual sensor) performed. A mean absolute error (MAE) and a root mean square error (RMSE) were also calculated, both expressed in parts per millions (ppm). The comparisons were made for a plurality of different running cycles, including a cold WHTC cycle, a hot WHTC cycle, a WHSC cycle, a highway ISC cycle, a rural ISC cycle, and also for a generic vehicle run cycle. The results of the validation are shown in Table 1, for a 500 horsepower LNG engine. Table 1. Validation results.Cycle Gas variant Comp. A) Comp. B) Comp. C) Sample size RMSE MAE VRS WHTC-coldLG5%4%10%174.5249.950.965WHTC-hotLG1%5%8%165.1946.140.97WHSCLG-5%-164.149.10.977ISC-highwayLG1%8%8%448.1832.400.98ISC-ruralLG1%6%6%551.3834.130.96ISC-urbanLG3%2%3%770.1143.990.94Vehicle--9%-2120.2695.50.92 As the validation test shows, the envisaged solution performed well during all cycles and were capable of estimating a value for the NOx.
[0059] FIG. 7 schematically illustrates a vehicle as envisaged herein, in this example in form of a box-cargo truck 700. The truck 700 includes a combustion engine 710, at least one sensor for measuring at least torque for the engine, and the computer system 100 for implementing the virtual exhaust gas sensor for the engine based on measurements from the at least one sensor, where the computer system 100 implements the trained ML model as described herein. Although here illustrated as the truck 700, the envisaged vehicle may of course be any type of vehicle that includes an internal combustion engine, and wherein it would be beneficial to replace (or e.g. complement) one or more exhaust gas sensors with the virtual sensor of the present disclosure. Examples of such vehicles include buses, tractors, wheel loaders, articulated haulers, and similar, and may also include e.g. marine vessels such as boats / ships, and similar. In fact, the envisaged solution is applicable not only to vehicles, but may also be used for stationary entities that includes one or more internal combustion engines and for which there is a requirement to e.g. accurately measure exhaust gas values as part of e.g. an EATS or similar, such as e.g. engines for driving generators, cranes, pumps, elevators, compressors, or other equipment powered by one or more such internal combustion engines.
[0060] FIG. 8 is a schematic diagram of a computer system 800 for implementing examples disclosed herein. The computer system 800 is adapted to execute instructions from a computer-readable medium to perform these and / or any of the functions or processing described herein. The computer system 800 may be connected (e.g., networked) to other machines in a LAN (Local Area Network), LIN (Local Interconnect Network), automotive network communication protocol (e.g., FlexRay), an intranet, an extranet, or the Internet. While only a single device is illustrated, the computer system 800 may include any collection of devices that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. Accordingly, any reference in the disclosure and / or claims to a computer system, computing system, computer device, computing device, control system, control unit, electronic control unit (ECU), processor device, processing circuitry, etc., includes reference to one or more such devices to individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. For example, control system may include a single control unit or a plurality of control units connected or otherwise communicatively coupled to each other, such that any performed function may be distributed between the control units as desired. Further, such devices may communicate with each other or other devices by various system architectures, such as directly or via a Controller Area Network (CAN) bus, etc.
[0061] The computer system 800 may comprise at least one computing device or electronic device capable of including firmware, hardware, and / or executing software instructions to implement the functionality described herein. The computer system 800 may include processing circuitry 802 (e.g., processing circuitry including one or more processor devices or control units), a memory 804, and a system bus 806. The computer system 800 may include at least one computing device having the processing circuitry 802. The system bus 806 provides an interface for system components including, but not limited to, the memory 804 and the processing circuitry 802. The processing circuitry 802 may include any number of hardware components for conducting data or signal processing or for executing computer code stored in memory 804. The processing circuitry 802 may, for example, include a general-purpose processor, an application specific processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a circuit containing processing components, a group of distributed processing components, a group of distributed computers configured for processing, or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The processing circuitry 802 may further include computer executable code that controls operation of the programmable device.
[0062] The system bus 806 may be any of several types of bus structures that may further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and / or a local bus using any of a variety of bus architectures. The memory 804 may be one or more devices for storing data and / or computer code for completing or facilitating methods described herein. The memory 804 may include database components, object code components, script components, or other types of information structure for supporting the various activities herein. Any distributed or local memory device may be utilized with the systems and methods of this description. The memory 804 may be communicably connected to the processing circuitry 802 (e.g., via a circuit or any other wired, wireless, or network connection) and may include computer code for executing one or more processes described herein. The memory 804 may include non-volatile memory 808 (e.g., read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc.), and volatile memory 810 (e.g., random-access memory (RAM)), or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a computer or other machine with processing circuitry 802. A basic input / output system (BIOS) 812 may be stored in the non-volatile memory 808 and can include the basic routines that help to transfer information between elements within the computer system 800.
[0063] The computer system 800 may further include or be coupled to a non-transitory computer-readable storage medium such as the storage device 814, which may comprise, for example, an internal or external hard disk drive (HDD) (e.g., enhanced integrated drive electronics (EIDE) or serial advanced technology attachment (SATA)), HDD (e.g., EIDE or SATA) for storage, flash memory, or the like. The storage device 814 and other drives associated with computer-readable media and computer-usable media may provide non-volatile storage of data, data structures, computer-executable instructions, and the like.
[0064] Computer-code which is hard or soft coded may be provided in the form of one or more modules. The module(s) can be implemented as software and / or hard-coded in circuitry to implement the functionality described herein in whole or in part. The modules may be stored in the storage device 814 and / or in the volatile memory 810, which may include an operating system 816 and / or one or more program modules 818. All or a portion of the examples disclosed herein may be implemented as a computer program 820 stored on a transitory or non-transitory computer-usable or computer-readable storage medium (e.g., single medium or multiple media), such as the storage device 814, which includes complex programming instructions (e.g., complex computer-readable program code) to cause the processing circuitry 802 to carry out actions described herein. Thus, the computer-readable program code of the computer program 820 can comprise software instructions for implementing the functionality of the examples described herein when executed by the processing circuitry 802. In some examples, the storage device 814 may be a computer program product (e.g., readable storage medium) storing the computer program 820 thereon, where at least a portion of a computer program 820 may be loadable (e.g., into a processor) for implementing the functionality of the examples described herein when executed by the processing circuitry 802. The processing circuitry 802 may serve as a controller or control system for the computer system 800 that is to implement the functionality described herein.
[0065] The computer system 800 may include an input device interface 822 configured to receive input and selections to be communicated to the computer system 800 when executing instructions, such as from a keyboard, mouse, touch-sensitive surface, etc. Such input devices may be connected to the processing circuitry 802 through the input device interface 822 coupled to the system bus 806 but can be connected through other interfaces, such as a parallel port, an Institute of Electrical and Electronic Engineers (IEEE) 1394 serial port, a Universal Serial Bus (USB) port, an IR interface, and the like. The computer system 800 may include an output device interface 824 configured to forward output, such as to a display, a video display unit (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 800 may include a communications interface 826 suitable for communicating with a network as appropriate or desired.
[0066] The operational actions described in any of the exemplary aspects herein are described to provide examples and discussion. The actions may be performed by hardware components, may be embodied in machine-executable instructions to cause a processor to perform the actions, or may be performed by a combination of hardware and software. Although a specific order of method actions may be shown or described, the order of the actions may differ. In addition, two or more actions may be performed concurrently or with partial concurrence.
[0067] In summary of all of the above, the present disclosure provides a solution for how to provide a virtual exhaust gas sensor, wherein the generation of one or more derived features as explained herein allows the ML model to become better at providing accurate estimates of the exhaust gas value(s) for both transient and stationary cycles, and where training data from multiple such (different) cycles can be combined and used to train the model as the model may use the derived feature(s) to understand whether the datapoints are stationary or not. The envisaged virtual sensor is thus capable of replacing (or complementing) a real NOx sensor, and may alleviate one or more of the known disadvantages of such sensors, such as their relatively high cost, their relatively low durability, their inability to provide accurate readings as the exhaust gas levels become low, and similar, and the virtual sensor may serve to provide estimates of the exhaust gas value that may in turn be used to control e.g. an EATS in order to meeting (inter-)governmental regulations on allowed emission values. The envisaged solution does not require the addition of more, new sensors, and may thus be e.g. retrofitted to already existing vehicles and / or to any equipment including one or more internal combustion engines. In particular, the present disclosure proposes to use at least one derived feature including difference in torque over one or more time intervals leading up to each particular time instance, such as one or more (or all) of D 1 , D 2 and D 3 as described above. This based on the realization that torque in particular is highly correlated with the exhaust gas value, and that by studying how fast torque changes (e.g. the difference in torque over one or more different time intervals) the ML model can learn to identify whether datapoints are in accordance with e.g. super-transient, transient or stationary / non-transient cycles, and similar.
[0068] The terminology used herein is for the purpose of describing particular aspects only and is not intended to be limiting of the disclosure. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items. It will be further understood that the terms "comprises," "comprising," "includes," and / or "including" when used herein specify the presence of stated features, integers, actions, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, actions, steps, operations, elements, components, and / or groups thereof.
[0069] It will be understood that, although the terms first, second, etc., may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element without departing from the scope of the present disclosure.
[0070] Relative terms such as "below" or "above" or "upper" or "lower" or "horizontal" or "vertical" may be used herein to describe a relationship of one element to another element as illustrated in the Figures. It will be understood that these terms and those discussed above are intended to encompass different orientations of the device in addition to the orientation depicted in the Figures. It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element, or intervening elements may be present. In contrast, when an element is referred to as being "directly connected" or "directly coupled" to another element, there are no intervening elements present.
[0071] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms used herein should be interpreted as having a meaning consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
[0072] It is to be understood that the present disclosure is not limited to the aspects described above and illustrated in the drawings; rather, the skilled person will recognize that many changes and modifications may be made within the scope of the present disclosure and appended claims. In the drawings and specification, there have been disclosed aspects for purposes of illustration only and not for purposes of limitation, the scope of the disclosure being set forth in the following claims.
[0073] The following is a non-exhaustive list of examples as envisaged herein: Example 1: A computer system for implementing a virtual exhaust gas sensor for an internal combustion engine, including processing circuitry configured to: - obtain a set of one or more input features, including at least torque for the engine for a first time instance; - obtain a set of one or more derived input features, indicative of at least change of torque for the engine during one or more different time intervals leading up to the first time instance, and obtain an estimated exhaust gas value for the engine, by using the obtained set of one or more input features and the set of one or more derived input features as input features to a machine learning, ML, model that has been trained to estimate the exhaust gas value based on such input features. Example 2: The computer system of example 1, wherein the exhaust gas is NOx. Example 3: The computer system of example 2, wherein the exhaust gas sensor is a pre-NOx sensor. Example 4: The computer system of any one of examples 1 to 3, wherein the one or more time intervals include at least three different time intervals. Example 5: The computer system of example 4, wherein the one or more time intervals include a first time interval corresponding to between 1 to 4 seconds, a second time interval corresponding to between 4 to 8 seconds, and a third time interval corresponding to at least 8 seconds, before the first time instance. Example 6: The computer system of any one of the preceding examples, wherein the set of one or more input features further includes at least one of engine speed, rail pressure, boost temperature, boost pressure, gas rail pressure, diesel value, gas value, fuel injection advance angle, and engine exhaust temperature. Example 6' : The computer system of any one of the preceding examples, wherein the set of one or more input features further includes at least one of ambient temperature and ambient pressure. Example 7: The computer system of any one of the preceding examples, wherein the processing circuitry is configured to implement the ML model. Example 8: The computer system of example 7, wherein the ML model is an implemented using one or more artificial neural networks, ANNs. Example 9: The computer system of example 8, wherein the ANN is a multilayer perceptron, MLP. Example 10: The computer system of any one of the preceding examples, wherein the processing circuitry is further configured to use the obtained estimate of the exhaust gas value as part of an exhaust aftertreatment system, EATS. Example 11: A computer system for training of a machine learning, ML, model for estimation of an exhaust gas value for an internal combustion engine, including processing circuitry configured to: - obtain, based on training data from different running cycles of the engine, a set of one or more input features including at least torque, wherein the training data includes measured values of the torque and of the exhaust gas value at a plurality of different time instances; - generate a set of one or more derived features, including at least a change of torque for the engine during one or more different time intervals leading up to each time instance at which the torque was measured, and implement and train an ML model to estimate the exhaust gas value, by using the set of one or more input features and the set of one or more derived input features as input features to the ML model and a ground truth based on the measured exhaust gas values of the training data. Example 12: A computer-implemented method of implementing a virtual exhaust gas sensor for an internal combustion engine, including: - obtaining, by processing circuitry of a computer system, a set of one or more input features, including at least torque for the engine for a first time instance; - obtaining, by the processing circuitry, a set of one or more derived input features, indicative of at least change of torque for the engine during one or more different time intervals leading up to the first time instance, and obtaining, by the processing circuitry, an estimated exhaust gas value for the engine, by using the obtained set of one or more input features and the set of one or more derived input features as input features to a machine learning, ML, model that has been trained to estimate the exhaust gas value based on such input features. Example 13: A computer-implemented method of training a machine learning, ML, model for estimation of an exhaust gas value for an internal combustion engine, including: - obtaining, by processing circuitry of a computer system and based on training data from different running cycles of the engine, a set of one or more input features including at least torque, wherein the training data includes measured values of the torque and of the exhaust gas value at a plurality of different time instances; - generating, by the processing circuitry, a set of one or more derived features, including at least a change of torque for the engine during one or more different time intervals leading up to each time instance at which the torque was measured, and implementing and training, by the processing circuitry, an ML model to estimate the exhaust gas value, by using the set of one or more input features and the set of one or more derived input features as input features to the ML model and a ground truth based on the measured exhaust gas values of the training data. Example 14: A vehicle including: - an internal combustion engine, and at least one sensor for measuring at least torque for the engine, and the computer system of any one of examples 1 to 10 for implementing a virtual exhaust gas sensor for the engine based on measurements from the at least one sensor. Example 15: A computer program product including program code for performing, when executed by the processing circuitry, the method of example 12. Example 16: A computer program product including program code for performing, when executed by the processing circuitry, the method of example 13. Example 17: A non-transitory computer-readable storage medium including instructions, which when executed by the processing circuitry, cause the processing circuitry to perform the method of example 12. Example 18: A non-transitory computer-readable storage medium including instructions, which when executed by the processing circuitry, cause the processing circuitry to perform the method of example 13.
Claims
1. A computer system (100, 800) for implementing a virtual exhaust gas sensor for an internal combustion engine (120, 300, 710), comprising processing circuitry (110, 802) configured to: - obtain a set of one or more input features ({Fn[t]}), comprising at least torque (T[t]) for the engine for a first time instance; - obtain a set of one or more derived features ({Dl[t]}), indicative of at least change of torque for the engine during one or more different time intervals ([t - τl, t]) leading up to the first time instance, and - obtain an estimated exhaust gas value (X̃[t]) for the engine, by using the obtained set of one or more input features and the set of one or more derived features as input features to a machine learning, ML, model (112, 412) that has been trained to estimate the exhaust gas value based on such input features.
2. The computer system of claim 1, wherein the exhaust gas is NOx, and wherein the exhaust gas sensor is a post-NOx or pre-NOx sensor (330).
3. The computer system of claim 1 or 2, wherein the one or more time intervals comprise at least three different time intervals.
4. The computer system of claim 3, wherein the one or more time intervals comprise a first time interval corresponding to between 1 to 4 seconds, a second time interval corresponding to between 4 to 8 seconds, and a third time interval corresponding to at least 8 seconds, before the first time instance.
5. The computer system of any one of the preceding claims, wherein the set of one or more input features further comprise at least one of engine speed, rail pressure, boost temperature, boost pressure, gas rail pressure, diesel fuel value, gas value, fuel injection advance angle, ambient, engine exhaust temperature, ambient temperature, and ambient pressure.
6. The computer system of any one of the preceding claims, wherein the ML model is implemented using one or more artificial neural networks, ANNs (600), such as a multilayer perceptron, MLP.
7. The computer system of any one of the preceding claims, wherein the processing circuitry is further configured to use the obtained estimate of the exhaust gas value as part of an exhaust aftertreatment system, EATS (170, 320).
8. A computer system (400) for training of a machine learning, ML, model for estimation of an exhaust gas value (X[t]) for an internal combustion engine, comprising processing circuitry (410) configured to: - obtain, based on training data (420) from different running cycles of the engine, a set of one or more input features ({Fn[t]}) comprising at least torque (T[t]), wherein the training data comprises values of the torque and of the exhaust gas value at a plurality of different time instances; - generate a set of one or more derived features ({Dl[t]}), comprising at least a change of torque for the engine during one or more different time intervals ([t - τl, t]) leading up to each time instance, and - implement and train an ML model (112, 412) to estimate the exhaust gas value (X̃[t]), by using the set of one or more input features and the set of one or more derived features as input features to the ML model and a ground truth based on the exhaust gas values of the training data.
9. A computer-implemented method of (200) implementing a virtual exhaust gas sensor for an internal combustion engine, comprising: - obtaining (S210), by processing circuitry of a computer system, a set of one or more input features, comprising at least torque for the engine for a first time instance; - obtaining (S220), by the processing circuitry, a set of one or more derived features, indicative of at least change of torque for the engine during one or more different time intervals leading up to the first time instance, and - obtaining (S230), by the processing circuitry, an estimated exhaust gas value for the engine, by using the obtained set of one or more input features and the set of one or more derived features as input features to a machine learning, ML, model that has been trained to estimate the exhaust gas value based on such input features.
10. A computer-implemented method (500) of training a machine learning, ML, model for estimation of an exhaust gas value for an internal combustion engine, comprising: - obtaining (S510), by processing circuitry of a computer system and based on training data from different running cycles of the engine, a set of one or more input features comprising at least torque, wherein the training data comprises values of the torque and of the exhaust gas value at a plurality of different time instances; - generating (S520), by the processing circuitry, a set of one or more derived features, comprising at least a change of torque for the engine during one or more different time intervals leading up to each time instance, and - implementing and training (S530), by the processing circuitry, an ML model to estimate the exhaust gas value, by using the set of one or more input features and the set of one or more derived features as input features to the ML model and a ground truth based on the exhaust gas values of the training data.
11. A vehicle (700) comprising: - an internal combustion engine (710), and - the computer system (100, 800) of any one of claims 1 to 7 for implementing a virtual exhaust gas sensor for the engine.
12. A computer program product comprising program code for performing, when executed by the processing circuitry, the method of claim 9.
13. A computer program product comprising program code for performing, when executed by the processing circuitry, the method of claim 10.
14. A non-transitory computer-readable storage medium comprising instructions, which when executed by the processing circuitry, cause the processing circuitry to perform the method of claim 9.
15. A non-transitory computer-readable storage medium comprising instructions, which when executed by the processing circuitry, cause the processing circuitry to perform the method of claim 10.
Citation Information
Patent Citations
Engine-out NOX virtual sensor for an internal combustion engine
US20110214650A1