IP Library Granted Patent US 10,509,395
Granted Patent B2
US 10,509,395 · App. 15/500,885 · Granted Dec 17, 2019

Model numerical solver for system control

Inventors: Robert C Melville (New York, NY); Nicolas Clauvelin (New York, NY); Ioannis Milios (New York, NY)
Assignee: Sendyne Corporation
G05B19/4155G06F17/13G06F17/50G06F17/504G06F17/5036G06N5/003G05B2219/39077G06F8/41G06F2217/78G06G7/64
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,509,395
App. No.
15/500,885
Granted
Dec 17, 2019
Kind
B2
Abstract

A complete model numerical solver resides on an embedded processor for real time control of a system. The solver eliminates the need for custom embedded code, requiring only model equations, definition of the independent and dependent variables, parameters and input sources information as input to solve the model equations directly. Through elimination of the need for custom code, the solver speeds up the model deployment process and provides the control application sophisticated features such as Automatic Differentiation, sensitivity analysis, sparse linear algebra techniques and adaptive step size in solving the model concurrently.

Claims (35)

1. A method for controlling a motor system by means of model computations within an embedded processor, comprising the steps of:

defining a model description, the model description comprising:

a list of independent and dependent variables, parameter values and bounds, input sources, and model equations, at least one of which is differential;

inputting the model description into a model numerical solver;

loading the model numerical solver into a memory of the embedded processor;

estimating an upper bound on the total memory requirement of computational tasks for the model numerical solver for the inputted model description, wherein no dynamic memory allocations beyond the upper-bound of total memory estimate are allowed for runtime computational tasks;

statically allocating required amounts of memory during instantiation and initialization of a model simulation as determined by the estimation of the upper bound on the total memory requirement of the computational tasks for the model numerical solver for the imputed model description prior to commencement of solver steps;

by the model numerical solver, directly and concurrently receiving the model equations;

solving numerically the model equations with the model numerical solver;

outputting at least one value of the dependent variable of the model equations to a control application;

receiving the at least one value of one dependent variable at the control application; and

effecting changes to the state of the motor system by the control application, without making any dynamic memory allocations, in response to receiving the at least one value of one dependent variable, wherein a deterministic response time is guaranteed.

2. The method of claim 1 , wherein the inputting the model description step comprises a Functional Mock-up Interface (FMI) description of the model.

3. The method of claim 1 , wherein the inputting the model description step comprises a C++ source file containing at least the definition of a numerical routine to evaluate the dependent variables of the model as numerical functions for the independent variables, parameters and input sources.

4. The method of claim 1 , wherein the inputting the model description step comprises a XML/MathML file describing the model as a list of independent and dependent variables, parameter values and bounds, input sources, and differential and algebraic equations.

5. The method of claim 1 , wherein the model numerical solver comprises numerical routines for an Automatic Differentiation (AD) feature, a complete Differential Algebraic Equation solver, sparse-linear-algebra techniques, sensitivity analysis, numerical model optimization, and adaptive step-size.

6. The method of claim 1 , further comprising the step of providing user-controllable solver parameters and optimizer parameters.

7. A method for improving task-execution time in a motor system, comprising the steps of:

embedding a processor into an electronic device;

defining a model description, the model description comprising:

a list of independent and dependent variables, parameter values and bounds, input sources, and model equations, at least one of which is differential;

inputting the model description into a model numerical solver;

loading the model numerical solver into a memory of the embedded processor;

estimating an upper bound on the total memory requirement of computational tasks for the model numerical solver for the inputted model description, wherein no dynamic memory allocations beyond the upper-bound of total memory estimate are allowed for runtime computational tasks;

statically allocating required amounts of memory during instantiation and initialization of a model simulation as determined by the estimation of the upper bound on the total memory requirement of the computational tasks for the model numerical solver for the imputed model description prior to commencement of solver steps;

by the model numerical solver, directly and concurrently receiving the model equations;

solving numerically the model equations with the model numerical solver;

outputting at least one value of the dependent variable of the model equations to a control application;

receiving the at least one value of one dependent variable at the control application; and

effecting changes to the state of the motor system by the control application, without making any dynamic memory allocations, in response to receiving the at least one value of one dependent variable, wherein a deterministic response time is guaranteed.

8. The method of claim 7 , wherein the inputting the model description step comprises a Functional Mock-up Interface (FMI) description of the model.

9. The method of claim 7 , wherein the inputting the model description step comprises a C++ source file containing at least the definition of a numerical routine to evaluate the dependent variables of the model as numerical functions for the independent variables, parameters and input sources.

10. The method of claim 7 , wherein the inputting the model description step comprises a XML/MathML file describing the model as a list of independent and dependent variables, parameter values and bounds, input sources, and differential and algebraic equations.

11. The method of claim 7 , wherein the model numerical solver comprises numerical routines for an Automatic Differentiation (AD) feature, a complete Differential Algebraic Equation solver, sparse-linear-algebra techniques, sensitivity analysis, numerical model optimization, and adaptive step-size.

12. The method of claim 7 , further comprising the step of providing user-controllable solver parameters and optimizer parameters.

Assignments (1)
MERGER AND CHANGE OF NAME Recorded May 30, 2023
From: SENDYNE CORPORATION; SENSATA TECHNOLOGIES, INC.
To: SENSATA TECHNOLOGIES, INC.
Reel/Frame 063792/0334 →
Continuity (3)
Continuation 15110408
Provisional Application 62147312 · Apr 14, 2015
Related Publication 20180067479A1 · Mar 8, 2018