Method and apparatus for automatic synthesis of controllers
First Claim
1. A system-implemented interative process for creating the at least one controller that satisfies prespecified design goals, the at least one controller for controlling a plant by producing at least one control signal to control plant operation, the iterative process invoking iterations, each of which comprises:
- dividing the population of controllers into a plurality of subpopulations of controllers;
ascertaining the degree to which each controller in the subpopulation of controllers satisfies the prespecified design goals using a separate processor for each of the subpopulations;
selecting from among the subpopulation of controllers, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers.
0 Assignments
0 Petitions
Accused Products
Abstract
A general automated method for synthesizing the design of both the topology and parameter values for controllers is described. The automated method automatically makes decisions concerning the total number of signal processing blocks to be employed in the controller, the type of each signal processing block, the topological interconnections between the signal processing blocks, the values of all parameters for the signal processing blocks, and the existence, if any, of internal feedback between the signal processing blocks within the controller. The general automated method can simultaneously optimize prespecified performance metrics (such as minimizing the time required to bring the plant outputs to the desired values as measured by the integral of the time-weighted absolute error or the integral of the squared error), satisfy time-domain constraints (such as overshoot, disturbance rejection, limits on control variables, and limits on state variables), and satisfy frequency domain constraints (bandwidth).
-
Citations
44 Claims
-
1. A system-implemented interative process for creating the at least one controller that satisfies prespecified design goals, the at least one controller for controlling a plant by producing at least one control signal to control plant operation, the iterative process invoking iterations, each of which comprises:
-
dividing the population of controllers into a plurality of subpopulations of controllers;
ascertaining the degree to which each controller in the subpopulation of controllers satisfies the prespecified design goals using a separate processor for each of the subpopulations;
selecting from among the subpopulation of controllers, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers.
-
-
2. The process defined in claim 1 wherein the at least one candidate controller has at least one processing block having a parameter value that comprises a composition of arithmetic functions and numerical constants.
-
3. The process defined in claim 1 wherein the at least one candidate controller has at least one processing block having a parameter value that comprises a composition of arithmetic functions and perturbable random values.
-
4. The process defined in claim 1 wherein the at least one candidate controller has at least one processing block having a parameter value that is a perturbable random value.
-
5. The process defined in claim 1 wherein the at least one candidate controller has at least one sub-controller, the output of which is fed to itself.
-
6. The process defined in claim 1 wherein the at least one candidate controller comprises at least one sub-controller and wherein the output of the at least one sub-controller is fed to at least two locations within the controller or a sub-controller.
-
7. The process defined in claim 1 wherein ascertaining the degree to which a controller satisfies the prespecified design goals comprises evaluating the controller by simulation.
-
8. The process defined in claim 1 wherein ascertaining the degree to which an controller satisfies the prespecified design goals comprises evaluating the controller by observing a physical realization of the controller.
-
9. The process defined in claim 1 wherein the at least one controller is a population of controllers.
-
10. The process defined in claim 1 wherein the at least one candidate controller has at least one processing block having at least one switching function that operates on time-domain signals.
-
11. The process defined in claim 1 wherein the at least one candidate controller has at least one processing block having at least one variable is defined externally to the at least one candidate controller.
-
12. The process defined in claim 1 wherein selecting and creating are performed randomly by using physically created random numbers created by a single randomizer.
-
13. The process defined in claim 1 further comprising recording information from each iteration using a separate process.
-
14. A system-implemented interative process for creating at least one controller that satisfies prespecified design goals, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant, the iterative process invoking iterations, each of which comprises:
-
selecting at least one controller from among a group of one or more controllers, the at least one controller comprises a set of processing blocks that includes at least one of a lead block, a lag block, an integrator block, a differential input integrator, and a differentiator, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred; and
creating at least one candidate controller by applying an architecture-altering operation to modify at least one of the selected controllers
-
-
15. A system-implemented interative process for creating at least one controller that satisfies prespecified design goals, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant, the iterative process invoking iterations, each of which comprises:
-
selecting at least one controller from among a group of one or more controllers, the at least one controller comprises a set of processing blocks that includes at least one of a lead block, a lag block, and an integrator block, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers, wherein at least one candidate controller in at least one generation comprises at least one result producing branch and at least one automatically defined function with dummy variables.
-
-
16. A system-implemented interative process for creating at least one controller that satisfies prespecified design goals, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant, the iterative process invoking iterations, each of which comprises:
-
selecting at least one controller from among a group of one or more controllers, the at least one controller comprises a set of processing blocks that includes at least one of a lead block, a lag block, an integrator block, an differential input integrator, and a differentiator, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers, wherein said at least one of said controllers has at least one sub-controller, the output of said at least one sub-controller being fed to itself.
-
-
17. A system-implemented interative process for creating at least one controller that satisfies prespecified design goals, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant, the iterative process invoking iterations, each of which comprises:
-
selecting at least one controller from among a group of one or more controllers, the at least one controller comprises a set of processing blocks that includes at least one of a lead block, a lag block,, an integrator block, an differential input integrator, and a differentiator, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers, wherein at least one candidate controller comprises at least one sub-controller, and further wherein the output of the at least one sub=controller is fed to at least two locations within the controller or a sub-controller.
-
-
18. A system-implemented interative process for creating at least one controller that satisfies prespecified design goals, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant, the iterative process invoking iterations, each of which comprises:
-
selecting at least one controller from among a group of one or more controllers, the at least one controller comprises a set of processing blocks that includes at least one of a lead block, a lag block, an integrator block, a differential input integrator, and a differentiator, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers, wherein at least one candidate controller in a generation differs in size or shape from a controller in a preceding generation.
-
-
19. The process defined in claim 18 wherein the at least one candidate controller has at least one processing block having a parameter value that comprises a composition of arithmetic functions and numerical constants.
-
20. The process defined in claim 18 wherein the at least one candidate controller has at least one processing block having a parameter value that comprises a composition of arithmetic functions and perturbable random values.
-
21. The process defined in claim 18 wherein the at least one candidate controller has at least one processing block having a parameter value that is a perturbable random value.
-
22. The process defined in claim 18 wherein the at least one candidate controller has at least one sub-controller, the output of which is fed to itself.
-
23. The process defined in claim 18 wherein the at least one candidate controller comprises at least one sub-controller and wherein the output of the at least one sub-controller is fed to at least two locations within the controller or a sub-controller.
-
24. The process defined in claim 18 wherein ascertaining the degree to which a controller satisfies the prespecified design goals comprises evaluating the controller by simulation.
-
25. The process defined in claim 18 wherein ascertaining the degree to which an controller satisfies the prespecified design goals comprises evaluating the controller by observing a physical realization of the controller.
-
26. The process defined in claim 18 wherein the at least one controller is a population of controllers.
-
27. The process defined in claim 18 wherein the at least one candidate controller has at least one processing block having at least one switching function that operates on time-domain signals.
-
28. The process defined in claim 18 wherein the at least one candidate controller has at least one processing block having at least one variable is defined externally to the at least one candidate controller.
-
29. A system-implemented interative process for creating at least one controller that satisfies prespecified design goals, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant, the iterative process invoking iterations, each of which comprises:
-
selecting at least one controller from among a group of one or more controllers, the at least one controller comprises a set of processing blocks that includes at least one of a lead block, a lag block, an integrator block, a differential input integrator, and a differentiator, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred, and the at least one controller operates in continuous time; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers.
-
-
30. A system-implemented interative process for creating at least one controller that satisfies prespecified design goals, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant, the iterative process invoking iterations, each of which comprises:
-
selecting from among the at least one controller, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred, and the at least one controller operates in continuous time; and
creating at least one candidate controller by applying an architecture-altering operation to modify at least one of the selected controllers.
-
-
31. A system-implemented interative process for creating at least one controller that satisfies prespecified design goals, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant, the iterative process invoking iterations, each of which comprises:
-
ascertaining the degree to which the at least one controller satisfies the prespecified design goals;
selecting at least one controller from among a group of one or more controllers, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers, wherein the at least one candidate controller has at least one signal processing blocks with a parameter value at least partially dependent on plant output.
-
-
32. A system-implemented interative process for creating at least one controller that satisfies prespecified design goals, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant, the iterative process invoking iterations, each of which comprises:
-
ascertaining the degree to which the at least one controller satisfies the prespecified design goals;
selecting at least one controller from among a group of one or more controllers, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers, wherein the at least one candidate controller has at least one signal processing blocks with a parameter value at least partially dependent on internal state of the plant.
-
-
33. A system-implemented interative process for creating at least one controller that satisfies prespecified design goals, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant, the iterative process invoking iterations, each of which comprises:
-
ascertaining the degree to which the at least one controller satisfies the prespecified design goals;
selecting at least one controller from among a group of one or more controllers, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers, wherein the at least one candidate controller has at least one signal processing blocks with a parameter value at least partially dependent on a control variable.
-
-
34. A system-implemented interative process for creating at least one controller that satisfies prespecified design goals, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant, the iterative process invoking iterations, each of which comprises:
-
ascertaining the degree to which the at least one controller satisfies the prespecified design goals;
selecting at least one controller from among a group of one or more controllers, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers, wherein the at least one candidate controller has at least one signal processing blocks with a parameter value at least partially dependent on a reference signal.
-
-
35. A system-implemented interative process for creating at least one controller that satisfies prespecified design goals, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant, the iterative process invoking iterations, each of which comprises:
-
ascertaining the degree to which the at least one controller satisfies the prespecified design goals, said at least one controller comprises a set of processing blocks;
selecting at least one controller from among a group of one or more controllers, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers, wherein the at least one candidate controller has at least one signal processing blocks with a parameter value at least partially dependent on a global variable external to the at least one candidate controller.
-
-
36. A system-implemented interative process for creating at least one controller that satisfies prespecified design goals, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant, the iterative process invoking iterations, each of which comprises:
-
ascertaining the degree to which the at least one controller satisfies the prespecified design goals, said at least one controller comprises a set of processing blocks;
selecting at least one controller from among a group of one or more controllers, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers, wherein the at least one candidate controller has a voltage controlled lag.
-
-
37. A system-implemented interative process for creating at least one controller that satisfies prespecified design goals, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant, the iterative process invoking iterations, each of which comprises:
-
ascertaining the degree to which the at least one controller satisfies the prespecified design goals, said at least one controller comprises a set of processing blocks;
selecting at least one controller from among a group of one or more controllers, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers, wherein the at least one candidate controller a voltage controlled lead.
-
-
38. A system-implemented interative process for creating the at least one controller that satisfies prespecified design goals, the at least one controller for controlling a plant by producing at least one control signal to control plant operation, the iterative process invoking iterations, each of which comprises:
-
ascertaining the degree to which the at least one controller satisfies the prespecified design goals, said at least one controller comprises a set of processing blocks including at least one from the group consisting of a lead block, a lag block, an integrator block, a differential input integrator, and a differentiator;
selecting from among the at least one controller, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers, wherein at least one candidate controller in at least one generation comprises at least one result producing branch and at least one automatically defined function.
-
-
39. A system-implemented interative process involving a population of controllers for creating a controller that satisfies prespecified design goals, each of the controllers in the population for controlling a plant by producing at least one control signal to control plant operation, the iterative process invoking iterations, each of which comprises:
-
ascertaining the degree to which each controller in the population of controllers satisfies the prespecified design goals;
selecting from among the population of controllers, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred, wherein the prespecified design goal is partially based on a total energy expended by the plant; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers.
-
-
40. A system-implemented interative process involving a population of controllers for creating a controller that satisfies prespecified design goals, each of the controllers in the population for controlling a plant by producing at least one control signal to control plant operation, the iterative process invoking iterations, each of which comprises:
-
ascertaining the degree to which each controller in the population of controllers satisfies the prespecified design goals;
selecting from among the population of controllers, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred, wherein the prespecified design goal is partially based on stability of plant operation while controlled by the controller; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers.
-
-
41. A system-implemented interative process involving a population of controllers for creating a controller that satisfies prespecified design goals, each of the controllers in the population for controlling a plant by producing at least one control signal to control plant operation, the iterative process invoking iterations, each of which comprises:
-
ascertaining the degree to which each controller in the population of controllers satisfies the prespecified design goals;
selecting from among the population of controllers, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred, wherein the prespecified design goal is partially based on the degree to which the operation of the plant while controlled by the controller is robust in the face of disturbances; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers.
-
-
42. A system-implemented interative process involving a population of controllers for creating a controller that satisfies prespecified design goals, each of the controllers in the population for controlling a plant by producing at least one control signal to control plant operation, the iterative process invoking iterations, each of which comprises:
-
ascertaining the degree to which each controller in the population of controllers satisfies the prespecified design goals;
selecting from among the population of controllers, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred, wherein the prespecified design goal is partially based on the degree to which the operation of the plant while controlled by the controller is robust in the face of sensor noise; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers.
-
-
43. A system-implemented interative process involving a population of controllers for creating a controller that satisfies prespecified design goals, each of the controllers in the population for controlling a plant by producing at least one control signal to control plant operation, the iterative process invoking iterations, each of which comprises:
-
ascertaining the degree to which each controller in the population of controllers satisfies the prespecified design goals;
selecting from among the population of controllers, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred, wherein the prespecified design goal is partially based on the degree to which the operation of the plant being controlled by the controller is robust in the face of significant variations in the parameters of the plant; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers.
-
-
44. A system-implemented interative process involving a population of controllers for creating a controller that satisfies prespecified design goals, each of the controllers in the population for controlling a plant by producing at least one control signal to control plant operation, the iterative process invoking iterations, each of which comprises:
-
ascertaining the degree to which each controller in the population of controllers satisfies the prespecified design goals;
selecting from among the population of controllers, wherein a controller that satisfies the prespecified design goals to a greater degree than another controller is more likely to be preferred, wherein the prespecified design goal is partially based on the amount of overshoot; and
creating at least one candidate controller by applying an operation to modify at least one of the selected controllers.
-
Specification