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.
Claims12
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.
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.
Dependencies are inferred from the claim text.