# US 12,008,294 B2 · Calibration of online real-world systems using simulations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,008,294 B2
- Document ID: US12008294B2
- Status: Granted
- Kind: B2
- Application number: 16/943,855
- Filed: 2020-07-30
- Published: 2022-02-03
- Granted: 2024-06-11
- Earliest claimed: 2020-07-30
- Assignees: Sparkcognition, Inc.
- Applicants: Sparkcognition, Inc.
- Inventors: Elad Liebman; Sridhar Sudarsan
- Web page: https://patentgrep.com/patent/US12008294B2

## CPC

- G06F 30/20: Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30)
- G06N 3/048: Activation functions
- G06F 18/214: Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F 30/15: Vehicle, aircraft or watercraft design
- G06N 3/044: Recurrent networks, e.g. Hopfield networks
- G06N 3/0442: characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
- G06N 3/045: Combinations of networks
- G06N 3/0455: Auto-encoder networks; Encoder-decoder networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/082: modifying the architecture, e.g. adding, deleting or silencing nodes or connections
- G06N 3/09: Supervised learning
- G06N 3/091: Active learning
- G06N 3/092: Reinforcement learning
- G06N 3/096: Transfer learning
- G06N 3/0985: Hyperparameter optimisation; Meta-learning; Learning-to-learn
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Calibration of online combustion engines using simulations, including: simulating, on a processor coupled to an engine and based on operation data generated during operation of the engine, operation of the engine; training, based on simulating the operation of the engine, one or more trained models; and generating, based at least on the one or more trained models, calibration data corresponding to one or more electronically controllable components of the engine.

## Claims

### Claim 1

A method comprising:
simulating, on a processor coupled to an engine, based on operation data generated during operation of the engine and simulation output from simulating the engine during a prior offline period, operation of the engine;
training, based on simulating the operation of the engine, one or more trained models;
generating, based at least on the one or more trained models, calibration data corresponding to one or more electronically controllable components of the engine;
transmitting, to a simulation learning environment that is independent of the vehicle, vehicle operation data collected during operation of the vehicle;
receiving, from the simulation learning environment, one or more externally trained models based on simulating operation of the engine using the vehicle operation data; and
generating, based on the one or more externally trained models, updated calibration data corresponding to the one or more electronically controllable components of the engine, wherein the updated calibration data includes both the one or more externally trained models and the one or more trained models based on simulating operation of the engine during operation of the engine.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
generating, during operation of the engine and based on the calibration data, one or more control signals modifying one or more operating characteristics of the engine.

### Claim 3 (depends on 2)

The method of claim 2, wherein generating the one or more control signals modifying the one or more operating characteristics of the engine comprises:
modifying, based on the one or more trained models, one or more operating characteristics of an electronically controllable valve.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
generating the operation data based on sensor data collected during operation of the engine, wherein the operation data comprises operator control data is based on one or more sensors corresponding to operator inputs or operator settings.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
receiving, via a vehicle interface, supplemental simulator input, wherein the supplemental simulator input is based on combinations of possible simulator parameters, and wherein generating the data-driven simulation input is not based on specifications for a given objective for engine operation; and
receiving, via the vehicle interface, one or more target objectives for engine operation.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
generating data-driven simulator input based on combinations of possible simulator parameters, wherein generating the data-driven simulation input is not based on specifications for a given objective for engine operation.

### Claim 7 (depends on 6)

The method of claim 6, wherein simulating operation of the engine further comprises:
simulating, based on simulator input including the operation data, the supplemental simulator input, and the data-driven simulator input, the operation of the engine to generate simulator output.

### Claim 8 (depends on 7)

The method of claim 7, wherein training the one or more trained models further comprises:
training, based on a learning algorithm operating on the simulator input, on the simulator output, and on the one or more target objectives for engine operation, a valve control model.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
responsive to receiving an updated target objective: repeating said simulating, said training, and said generating to generate updated calibration data in accordance with the updated target objective.

### Claim 10

A computer program product disposed upon a non-transitory computer-readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:
simulating, on a processor coupled to an engine, based on operation data generated during operation of the engine and simulation output from simulating the engine during a prior offline period, operation of the engine;
training, based on simulating the operation of the engine, one or more trained models;
generating, based at least on the one or more trained models, calibration data corresponding to one or more electronically controllable components of the engine;
transmitting, to a simulation learning environment that is independent of the vehicle, vehicle operation data collected during operation of the vehicle;
receiving, from the simulation learning environment, one or more externally trained models based on simulating operation of the engine using the vehicle operation data; and
generating, based on the one or more externally trained models, updated calibration data corresponding to the one or more electronically controllable components of the engine, wherein the updated calibration data includes both the one or more externally trained models and the one or more trained models based on simulating operation of the engine during operation of the engine.

### Claim 11 (depends on 10)

The computer program product of claim 10, wherein the computer program instructions, when executed, further cause the computer to carry out the steps of:
generating, during operation of the engine and based on the calibration data, one or more control signals modifying one or more operating characteristics of the engine.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein generating the one or more control signals modifying the one or more operating characteristics of the engine comprises:
modifying, based on the one or more trained models, one or more operating characteristics of an electronically controllable valve.

### Claim 13 (depends on 10)

The computer program product of claim 10, further comprising:
generating the operation data based on sensor data collected during operation of the engine, wherein the operation data comprises operator control data is based on one or more sensors corresponding to operator inputs or operator settings.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein the computer program instructions, when executed, further cause the computer to carry out the steps of:
receiving, via a vehicle interface, supplemental simulator input, wherein the supplemental simulator input is based on combinations of possible simulator parameters, and wherein generating the data-driven simulation input is not based on specifications for a given objective for engine operation; and
receiving, via the vehicle interface, one or more target objectives for engine operation.

### Claim 15 (depends on 14)

The computer program product of claim 14, wherein the computer program instructions, when executed, further cause the computer to carry out the steps of:
generating data-driven simulator input based on combinations of possible simulator parameters, wherein generating the data-driven simulation input is not based on specifications for a given objective for engine operation.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein simulating operation of the engine further comprises:
simulating, based on simulator input including the operation data, the supplemental simulator input, and the data-driven simulator input, the operation of the engine to generate simulator output.

### Claim 17 (depends on 16)

The computer program product of claim 16, wherein training the one or more trained models further comprises:
training, based on a learning algorithm operating on the simulator input, on the simulator output, and on the one or more target objectives for engine operation, the one or more trained models.

### Claim 18

A vehicle comprising:
an engine comprising one or more electronically controllable components;
a memory configured to store one or more trained models; and
one or more processors configured to:
simulate, based on operation data generated during operation of the engine and simulation output from simulating the engine during a prior offline period, operation of the engine;
train, based on simulating the operation of the engine, the one or more trained models;
generate, based at least on the one or more trained models, calibration data corresponding to the one or more electronically controllable components of the engine;
transmit, to a simulation learning environment that is independent of the vehicle, vehicle operation data collected during operation of the vehicle;
receive, from the simulation learning environment, one or more externally trained models based on simulating operation of the engine using the vehicle operation data; and
generate, based on the one or more externally trained models, updated calibration data corresponding to the one or more electronically controllable components of the engine, wherein the updated calibration data includes both the one or more externally trained models and the one or more trained models based on simulating operation of the engine during operation of the engine.

### Claim 19 (depends on 18)

The vehicle of claim 18, wherein the one or more processors are further configured to:
generate, during operation of the engine and based on the calibration data, one or more control signals modifying one or more operating characteristics of the engine.
