Method and apparatus for automatic synthesis controllers
First Claim
1. A system-implemented iterative 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 plant operation to match a reference signal indicative of a desired response for a plant, the iterative process invoking iterations, each of which comprises:
- dividing a population of controller programmatic entities into a plurality of subpopulations of controller programmatic entities, wherein each controller represented by the controller programmatic entities processes time domain input signals as part of generating the reference signal;
ascertaining a degree to which each controller programmatic entity in the subpopulation of controller programmatic entities satisfies the prespecified design goals using a separate processor for each of the subpopulations;
selecting from among the subpopulation of controller programmatic entities, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities.
2 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).
76 Citations
67 Claims
-
1. A system-implemented iterative 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 plant operation to match a reference signal indicative of a desired response for a plant, the iterative process invoking iterations, each of which comprises:
-
dividing a population of controller programmatic entities into a plurality of subpopulations of controller programmatic entities, wherein each controller represented by the controller programmatic entities processes time domain input signals as part of generating the reference signal;
ascertaining a degree to which each controller programmatic entity in the subpopulation of controller programmatic entities satisfies the prespecified design goals using a separate processor for each of the subpopulations;
selecting from among the subpopulation of controller programmatic entities, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities.
-
-
2. The process defined in claim 1 wherein the at least one candidate controller programmatic entity specifies a controller having 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 programmatic entity specifies a controller having 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 programmatic entity specifies a controller having 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 programmatic entity includes a representation of at least one sub-controller, the output of which is fed to an input of itself.
-
6. The process defined in claim 1 wherein the at least one candidate controller programmatic entity comprises at least one sub-controller programmatic entity that represents a sub-controller with an output being fed to at least two locations within the controller specified by the at least one candidate controller programmatic entity or a sub-controller specified by another sub-controller programmatic entity.
-
7. The process defined in claim 1 wherein ascertaining the degree to which a controller specified by a controller programmatic entity satisfies the prespecified design goals comprises evaluating the controller specified by the controller programmatic entity by simulation.
-
8. The process defined in claim 1 wherein ascertaining the degree to which an controller specified by a controller programmatic entity satisfies the prespecified design goals comprises evaluating the controller specified by a controller programmatic entity by observing a physical realization of the controller.
-
9. The process defined in claim 1 wherein the a least one controller programmatic entity is a population of controller programmatic entities.
-
10. The process defined in claim 1 wherein the at least one candidate controller programmatic entity represents a controller having 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 programmatic entity represents a controller having at least one processing block having at least one variable is defined externally to the at least one candidate controller programmatic entity.
-
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. The process defined in claim 1 wherein each controller represented by at least one controller programmatic entity in the population and subpopulations include at least one of an integrator block and a differentiator block that integrate and differentiate, respectively, with respect to time by processing time domain signals.
-
15. The process defined in claim 14 wherein said each controller represented by the at least one controller programmatic entity in the population and subpopulations includes an output that is fed back to an input of said each controller.
-
16. A system-implemented iterative 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 programmatic entity from among a group of one or more controller programmatic entity, the at least one controller programmatic entity representing a controller having 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 specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an architecture-altering operation to modify at least one of the selected controller programmatic entity.
-
-
17. A system-implemented iterative 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 programmatic entity from among a group of one or more controller programmatic entity, the at least one controller programmatic entity representing a controller having a set of processing blocks that includes at least one of a lead block, a lag block, and an integrator block, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities, wherein at least one candidate controller programmatic entity in at least one generation comprises at least one result producing branch and at least one automatically defined function with dummy variables.
-
-
18. A system-implemented iterative 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 programmatic entity from among a group of one or more controller programmatic entity, the at least one controller programmatic entity specifying a controller having 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 specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities, wherein said at least one of said controller programmatic entities has at least one sub-controller programmatic entity represents a sub-controller having an being fed to itself.
-
-
19. A system-implemented iterative 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 programmatic entity from among a group of one or more controller programmatic entities, the at least one controller programmatic entity representing a controller having 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 specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entity, wherein at least one candidate controller programmatic entity comprises at least one sub-controller programmatic entity that represents a sub-controller having an output that is fed to at least two locations within the controller specified by the at least one candidate controller programmatic entity or a sub-controller specified by the at least one candidate controller programmatic entity.
-
-
20. A system-implemented iterative 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 programmatic entity from among a group of one or more controller programmatic entity, the at least one controller programmatic entity representing a controller having 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 specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entity, wherein at least one candidate controller programmatic entity in a generation differs in size or shape from a controller programmatic entity in a preceding generation.
-
-
21. The process defined in claim 20 wherein the at least one candidate controller programmatic entity represents a controller having at least one processing block having a parameter value that comprises a composition of arithmetic functions and numerical constants.
-
22. The process defined in claim 20 wherein the at least one candidate controller programmatic entity represents a controller having at least one processing block having a parameter value that comprises a composition of arithmetic functions and perturbable random values.
-
23. The process defined in claim 20 wherein the at least one candidate controller programmatic entity represents a controller having at least one processing block having a parameter value that is a perturbable random value.
-
24. The process defined in claim 20 wherein the at least one candidate controller programmatic entity represents a controller having at least one sub-controller, the output of which is fed to itself.
-
25. The process defined in claim 20 wherein the at least one candidate controller programmatic entity represents a controller having at least one sub-controller with an output that is fed to at least two locations within the controller specified by the at least one candidate controller programmatic entity or a sub-controller specified by the at least one candidate controller programmatic entity.
-
26. The process defined in claim 20 wherein ascertaining the degree to which a controller programmatic entity satisfies the prespecified design goals comprises evaluating the controller by simulation.
-
27. The process defined in claim 20 wherein ascertaining the degree to which a controller programmatic entity satisfies the prespecified design goals comprises evaluating the controller by observing a physical realization of a controller represented by the controller programmatic entity.
-
28. The process defined in claim 20 wherein the at least one controller programmatic entity is a population of controller programmatic entities.
-
29. The process defined in claim 20 wherein the at least one candidate controller programmatic entity has at least one processing block having at least one switching function that operates on time-domain signals.
-
30. The process defined in claim 20 wherein the at least one candidate controller programmatic entity represents a controller having at least one processing block having at least one variable is defined externally to at least one candidate controller represented by the at least one programmatic entity.
-
31. A system-implemented iterative 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 programmatic entity from among a group of one or more controller programmatic entities, the at least one controller programmatic entity representing a controller having 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 specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred, and the at least one controller programmatic entity representing a controller that operates in continuous time; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities.
-
-
32. A system-implemented iterative 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 programmatic entity, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred, and the at least one controller programmatic entity represents a controller that operates in continuous time; and
creating at least one candidate controller programmatic entity by applying an architecture-altering operation to modify at least one of the selected controller programmatic entities.
-
-
33. A system-implemented iterative 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 programmatic entity satisfies the prespecified design goals;
selecting at least one controller programmatic entity from among a group of one or more controller programmatic entities, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities, wherein the at least one candidate controller programmatic entity represents a controller having at least one signal processing blocks with a parameter value at least partially dependent on plant output.
-
-
34. A system-implemented iterative 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 programmatic entity satisfies the prespecified design goals;
selecting at least one controller programmatic entity from among a group of one or more controller programmatic entities, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities, wherein the at least one candidate controller programmatic entity represents a controller having at least one signal processing blocks with a parameter value at least partially dependent on internal state of the plant.
-
-
35. A system-implemented iterative 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 programmatic entity satisfies the prespecified design goals;
selecting at least one controller programmatic entity from among a group of one or more controller programmatic entities, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities, wherein the at least one candidate controller programmatic entity represents a controller having at least one signal processing blocks with a parameter value at least partially dependent on a control variable.
-
-
36. A system-implemented iterative 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 programmatic entity satisfies the prespecified design goals;
selecting at least one controller programmatic entity from among a group of one or more controller programmatic entities, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities, wherein the at least one candidate controller programmatic entity has at least one signal processing blocks with a parameter value at least partially dependent on a reference signal.
-
-
37. A system-implemented iterative 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 programmatic entity satisfies the prespecified design goals, said at least one controller programmatic entity represents at least one controller comprising a set of processing blocks;
selecting at least one controller programmatic entity from among a group of one or more controller programmatic entities, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities, wherein the at least one candidate controller programmatic entity represents a controller having 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 programmatic entity.
-
-
38. A system-implemented iterative 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 programmatic entity satisfies the prespecified design goals, said at least one controller programmatic entity representing a controller comprising a set of processing blocks;
selecting at least one controller programmatic entity from among a group of one or more controller programmatic entity, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities, wherein the at least one candidate controller programmatic entity represents a controller having a voltage controlled lag.
-
-
39. A system-implemented iterative 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 programmatic entity satisfies the prespecified design goals, said at least one controller programmatic entity represents at least one controller having a set of processing blocks;
selecting at least one controller programmatic entity from among a group of one or more controller programmatic entities, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities, wherein the at least one candidate controller programmatic entity represents a controller having a voltage controlled lead.
-
-
40. A system-implemented iterative 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 programmatic entity satisfies the prespecified design goals, said at least one controller programmatic entity represents at least one controller having 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 programmatic entity, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities, wherein at least one candidate controller programmatic entity in at least one generation comprises at least one result producing branch and at least one automatically defined function.
-
-
41. A system-implemented iterative 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 programmatic entity in the population of controller programmatic entities satisfies the prespecified design goals;
selecting from among the population of controller programmatic entities, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity 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 programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities.
-
-
42. A system-implemented iterative 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 programmatic entity in the population of controller programmatic entities satisfies the prespecified design goals;
selecting from among the population of controller programmatic entities, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred, wherein the prespecified design goal is partially based on stability of plant operation while controlled by a controller represented by the controller programmatic entity; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities.
-
-
43. A system-implemented iterative 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 programmatic entity in the population of controller programmatic entities satisfies the prespecified design goals;
selecting from among the population of controller programmatic entities, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity 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 a controller represented by the controller programmatic entity is robust in the face of disturbances; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities.
-
-
44. A system-implemented iterative 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 programmatic entity in the population of controllers satisfies the prespecified design goals;
selecting from among the population of controller programmatic entities, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity 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 a controller represented by the controller programmatic entity is robust in the face of sensor noise; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities.
-
-
45. A system-implemented iterative 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 programmatic entity in the population of controller programmatic entities satisfies the prespecified design goals;
selecting from among the population of controller programmatic entities, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity 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 a controller represented by the controller programmatic entity is robust in the face of significant variations in the parameters of the plant; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities.
-
-
46. A system-implemented iterative 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 programmatic entity in the population of controller programmatic entities satisfies the prespecified design goals;
selecting from among the population of controller programmatic entities, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity 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 programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities.
-
-
47. A system-implemented iterative 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 a degree to which each controller programmatic entity in a plurality of subpopulations of controller programmatic entities satisfies the prespecified design goals using a separate processor for each of the plurality of subpopulations of controller programmatic entities;
selecting at least one controller programmatic entity from among a group of one or more controller programmatic entity, the at least one controller programmatic entity representing a controller having 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 specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entity.
-
-
48. The process as defined in any of the claims of claims 16-20 or 31-47 wherein each controller represented by the at least one controller programmatic entity processes time domain input signals as part of generating a reference signal indicative of a desired response for a plant.
-
49. The process as defined in any of the claims of claims 16-20 or 31-47 wherein each controller represented by the at least one controller programmatic entity includes an output that is fed back to an input of said each controller.
-
50. The process as defined in any of the claims of claims 16-20 or 31-41 wherein the integrator block and differentiator block integrate and differentiate, respectively, with respect to time by processing time domain signals.
-
51. An article of manufacture having one or more recordable media with executable instructions thereon which, when executed by a system, cause the system to create at least one controller that satisfies prespecified design goals through a system-implemented iterative process, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant to match a reference signal indicative of a desired response for a plant, the iterative process invoking iterations, each of which comprises:
-
dividing a population of controller programmatic entities into a plurality of subpopulations of controller programmatic entities, wherein each controller represented by the controller programmatic entities processes time domain input signals as part of generating the reference signal;
ascertaining a degree to which each controller programmatic entity in the subpopulation of controller programmatic entities satisfies the prespecified design goals using a separate processor for each of the subpopulations;
selecting from among the subpopulation of controller programmatic entities, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities.
-
-
52. An article of manufacture having one or more recordable media with executable instructions thereon which, when executed by a system, cause the system to create at least one controller that satisfies prespecified design goals through a system-implemented iterative process, 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 a degree to which each controller programmatic entity in a plurality of subpopulations of controller programmatic entities satisfies the prespecified design goals using a separate processor for each of the plurality of subpopulations of controller programmatic entities;
selecting at least one controller programmatic entity from among a group of one or more controller programmatic entity, the at least one controller programmatic entity representing a controller having 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 specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entity.
-
-
53. An article of manufacture having one or more recordable media with executable instructions thereon which, when executed by a system, cause the system to create at least one controller that satisfies prespecified design goals through a system-implemented iterative process, 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 programmatic entity from among a group of one or more controller programmatic entity, the at least one controller programmatic entity representing a controller having 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 specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an architecture-altering operation to modify at least one of the selected controller programmatic entity.
-
-
54. An article of manufacture having one or more recordable media with executable instructions thereon which, when executed by a system, cause the system to create at least one controller that satisfies prespecified design goals through a system-implemented iterative process, 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 programmatic entity from among a group of one or more controller programmatic entity, the at least one controller programmatic entity representing a controller having 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 specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entity, wherein at least one candidate controller programmatic entity in a generation differs in size or shape from a controller programmatic entity in a preceding generation.
-
-
55. The article of manufacture defined in claim 54 wherein the at least one candidate controller programmatic entity represents a controller having at least one processing block having a parameter value that comprises a composition of arithmetic functions and numerical constants.
-
56. The article of manufacture defined in claim 54 wherein the at least one candidate controller programmatic entity represents a controller having at least one processing block having a parameter value that comprises a composition of arithmetic functions and perturbable random values.
-
57. The article of manufacture defined in claim 54 wherein the at least one candidate controller programmatic entity represents a controller having at least one processing block having a parameter value that is a perturbable random value.
-
58. The article of manufacture defined in claim 54 wherein the at least one candidate controller programmatic entity represents a controller having at least one sub-controller, the output of which is fed to itself.
-
59. The article of manufacture defined in claim 54 wherein the at least one candidate controller programmatic entity represents a controller having at least one sub-controller with an output that is fed to at least two locations within the controller specified by the at least one candidate controller programmatic entity or a sub-controller specified by the at least one candidate controller programmatic entity.
-
60. The article of manufacture defined in claim 54 wherein ascertaining the degree to which a controller programmatic entity satisfies the prespecified design goals comprises evaluating the controller by simulation.
-
61. The article of manufacture defined in claim 54 wherein ascertaining the degree to which a controller programmatic entity satisfies the prespecified design goals comprises evaluating the controller by observing a physical realization of a controller represented by the controller programmatic entity.
-
62. The article of manufacture defined in claim 54 wherein the at least one controller programmatic entity is a population of controller programmatic entities.
-
63. The article of manufacture defined in claim 54 wherein the at least one candidate controller programmatic entity has at least one processing block having at least one switching function that operates on time-domain signals.
-
64. The article of manufacture defined in claim 54 wherein the at least one candidate controller programmatic entity represents a controller having at least one processing block having at least one variable is defined externally to at least one candidate controller represented by the at least one programmatic entity.
-
65. A system for creating at least one controller that satisfies prespecified design goals through an iterative process, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant operation to match a reference signal indicative of a desired response for a plant, the system comprising and iteratively invoking:
-
means for dividing a population of controller programmatic entities into a plurality of subpopulations of controller programmatic entities, wherein each controller represented by the controller programmatic entities processes time domain input signals as part of generating the reference signal;
means for ascertaining a degree to which each controller programmatic entity in the subpopulation of controller programmatic entities satisfies the prespecified design goals using a separate processor for each of the subpopulations;
means for selecting from among the subpopulation of controller programmatic entities, wherein a controller specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
means for creating at least one candidate controller programmatic entity by applying an operation to modify at least one of the selected controller programmatic entities.
-
-
66. A system for creating at least one controller that satisfies prespecified design goals through an iterative process, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant, the system comprising and iteratively invoking:
-
means for ascertaining a degree to which each controller programmatic entity in a plurality of subpopulations of controller programmatic entities satisfies the prespecified design goals using a separate processor for each of the plurality of subpopulations of controller programmatic entities;
means for selecting at least one controller programmatic entity from among a group of one or more controller programmatic entity, the at least one controller programmatic entity representing a controller having 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 specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
means for creating at least one candidate controller programmatic entity by applying an operation to modify-at least one of the selected controller programmatic entity.
-
-
67. A system for creating at least one controller that satisfies prespecified design goals through an iterative process, the at least one controller for controlling a plant by producing at least one control signal to control operation of the plant, the system comprising and iteratively invoking:
-
means for selecting at least one controller programmatic entity from among a group of one or more controller programmatic entity, the at least one controller programmatic entity representing a controller having 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 specified by one controller programmatic entity that satisfies the prespecified design goals to a greater degree than another controller specified by another programmatic entity is more likely to be preferred; and
means for creating at least one candidate controller programmatic entity by applying an architecture-altering operation to modify at least one of the selected controller programmatic entity.
-
Specification