Model numerical solver for system control
AssigneeSendyne Corporation
InventorsRobert C Melville, Nicolas Clauvelin, Ioannis Milios
Life of this patent
Estimating the term…
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.
Claims17
A method for controlling a motor system by means of model computations within an embedded processor, comprising:
- defining a model description, the model description comprising:
- a list of independent and dependent variables, parameters 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;
- 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 inputted model description prior to commencement of solver steps;
- receiving at the model numerical solver at least one value from at least one input source of the model;
- solving numerically the model equations with the model numerical solver;
- outputting at least one value of one 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 in response to receiving the at least one value of one dependent variable.
A method for controlling a motor system, comprising:
- embedding a processor into an electronic device;
- defining a model description, the model description comprising:
- a list of independent and dependent variables, parameters 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;
- 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 inputted model description and prior to commencement of solver steps;
- receiving at the model numerical solver at least one value from at least one input source of the model;
- solving numerically the model equations with the model numerical solver;
- outputting at least one value of one 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 in response to receiving the at least one value of one dependent variable.
An embedded processor having a memory, comprising a model numerical solver in the memory of the embedded processor, the model numerical solver further comprising:
- a model description comprising:
- a list of independent and dependent variables, parameters values and bounds, input sources, and model differential and algebraic equations;
- a memory structure wherein the model numerical solver estimates an upper bound on the total memory requirement of computational tasks for the model numerical solver for the inputted model description and wherein required amounts of memory are allocated during instantiation and initialization of a model simulation as determined by the upper bound estimation on the total memory requirement of the computational tasks of the model numerical solver for the inputted model description and prior to commencement of solver steps;
- at least one input source value from at least one source;
- and
- a software program for solving at least two equations, including at least one differential equation, numerically.
Dependencies are inferred from the claim text.