Claims
- 1. A method for manufacturing a desired controller based on the design of a known controller, comprising:
identifying a known controller in a controller class where the known controller controls a first plant; identifying a scaleable parameter for the known controller; identifying a desired controller in the controller class, where the desired controller controls a second plant that is frequency related by a frequency relation to the known controller; establishing the frequency relation between the known controller and the desired controller; and scaling the known controller to the desired controller by scaling the scaleable parameter based on the frequency relation.
- 2. The method of claim 1, where the known controller is a PID controller.
- 3. The method of claim 1, where the scaleable parameter is the plant frequency scale ωp.
- 4. The method of claim 1, comprising producing the desired controller by programmatically adapting the known controller.
- 5. A computer readable medium storing computer executable instructions operable to perform computer executable portions of the method of claim 1.
- 6. The method of claim 1, where the known controller and the desired controller are TFB controllers of the form
- 7. The method of claim 6, comprising producing the desired TFB controller by programmatically adapting the known TFB controller.
- 8. The method of claim 1, where the known controller and the desired controller are PID controllers of the form
- 9. The method of claim 8, comprising producing the desired PID controller by programmatically adapting the known PID controller.
- 10. A method for producing a controller, comprising:
normalizing a plant into a UGUB form plant yielding a gain scale and a frequency scale; identifying a controller function for the UGUB form plant given a desired closed loop transfer function; and programmatically scaling the controller function for the UGUB form plant to a desired controller function based on the gain scale and the frequency scale.
- 11. The method of claim 10, where the controller function is a PID controller function.
- 12. A computer readable medium storing computer executable instructions operable to perform computer executable portions of the method of claim 10.
- 13. A method for producing a controller, comprising:
identifying a scaleable controller Gc (s) that controls a plant Gp(s) to within a desired tolerance; and producing a controller {overscore (G)}c(s) by programmatically scaling the controller Gc(s) according to {overscore (G)}c(s)=Gc(s/ωp)/k, where the controller {overscore (G)}c(s) will control a plant {overscore (G)}p(s)=kGp(s/ωp) to within a desired tolerance, where ωp is the frequency scale of a plant Gp(s/ωp), and where k is the gain scale of a plant kGp(s).
- 14. The method of claim 13, where the controller Gc(s) is a PID controller of the form
- 15. The method of claim 14, where
- 16. The method of claim 14, where PID gains {overscore (k)}p, {overscore (k)}i, and {overscore (k)}d for the controller {overscore (G)}c(s) are obtained from kp, ki and kd according to
- 17. The method of claim 13 where the controller Gc(s) is a linear PID.
- 18. The method of claim 13, where the controller Gc(s) is a non-linear PID.
- 19. A computer readable medium storing computer executable instructions operable to perform computer executable portions of the method of claim 13.
- 20. A method for producing a parameterized controller, comprising:
selecting a controller to parameterize; identifying two or more scaleable parameters for the controller; programmatically relating the two or more scaleable parameters to a single controller parameter; relating a controller with the single controller parameter to a plant; and programmatically configuring the parameterized controller by configuring the single controller parameter.
- 21. The method of claim 20, where the scaleable parameters include one or more of, proportional gain kp, integral gain ki, derivative gain kd, and plant frequency scale ωp.
- 22. The method of claim 21, where the single controller parameter is controller bandwidth ωc.
- 23. The method of claim 22, where a controller Gc is related to a plant Gp in terms of the single parameter ωc according to:
- 24. The method of claim 20, where the controller is a PID controller.
- 25. The method of claim 20, where the controller is an SF controller.
- 26. The method of claim 20, where the controller is an SO based controller.
- 27. The method of claim 20, where the controller is an LESO based controller.
- 28. The method of claim 20, where the controller is an LADRC controller.
- 29. The method of claim 20, where the controller is a TFB controller.
- 30. A method for producing a controller, comprising:
establishing one or more loop gain constraints based on one or more design specifications; programmatically accessing a parameterized loop shaping model; selecting a controller Gc(jω) from the model based on the one or more loop gain constraints; and programmatically establishing a loop gain frequency response of the form L(Jω)=Gp(jω)Gc(jω), where ωc is the bandwidth of a feedback control system and a controller Gc(s,ωc) related to the controller Gc(jω).
- 31. The method of claim 30, where establishing a loop gain constraint based on a design specification comprises:
identifying a bandwidth ωc, where ω1<ωc and where ω2>ωc; and for a design specification concerning command following, establishing a ωc less than ω1.
- 32. The method of claim 30, where establishing a loop gain constraint based on a design specification comprises:
identifying a bandwidth ωc, where ω1<ωc and where ω2>ωc; and for a design specification concerning disturbance rejection, establishing a ωc less than ω1.
- 33. The method of claim 30, where establishing a loop gain constraint based on a design specification comprises:
identifying a bandwidth ωc, where ω1<ωc and where ω2>ωc; and for a design specification concerning sensor noise, establishing a ωc, greater than ω2.
- 34. The method of claim 30, where establishing a loop gain constraint based on a design specification comprises:
identifying a bandwidth ωc, where ω1<ωc and where ω2>ωc; and for a design specification concerning unknown dynamics, establishing a ωc greater than ω2.
- 35. The method of claim 31, where the default value for ω1 is ωc/10.
- 36. The method of claim 31, where the default value for ω2 is 10ωc.
- 37. The method of claim 31, where default values for ω1 and ω2 yield a phase margin greater than forty-five degrees.
- 38. The method of claim 30, where the controller Gc(jω) is determined from:
- 39. A computer readable medium storing computer executable instructions operable to perform computer executable portions of the method of claim 30.
- 40. A method for designing and optimizing an LADRC, comprising:
selecting a ωo and ωc based LESO and feedback control law; establishing a transient profile for the LADRC with an equivalent bandwidth of {overscore (ω)}c; selecting an ωo from ωo≈5␣10{overscore (ω)}c; setting ωc=ωo; inputting the feedback control, ωo and ωc, into an LADRC simulator; incrementally increasing ωc and ωo in the simulator until a constraint exceeds a pre-determined tolerance; and selectively incrementally changing ωc or ωo in the simulator until a desired behavior is observed.
- 41. The method of claim 40, where a design consideration is a maximum error during the transient period.
- 42. The method of claim 40, where a design consideration is a disturbance attenuation.
- 43. The method of claim 40, where a design consideration is a magnitude and a smoothness of a controller.
- 44. The method of claim 40 where the constraint is one or more of, a noise level, an oscillation level in a control signal, an oscillation level in an output signal, and a noise level magnitude rate of change.
- 45. A controller design method, comprising:
identifying a plant transfer function for a plant to be controlled by the controller; computing a frequency scale ωp and a gain scale k for a controller from the plant transfer function; selecting a controller Gc(s, ωc) corresponding to a scaled plant in a known form based on the plant transfer function, the frequency scale, and the gain scale; scaling the controller according to 681kGc(sωp,ωc);digitizing Gc(s/ωp, ωc)/k; simulating the digitized controller in a computer component; setting an initial value of ωc in the simulated controller based on a bandwidth requirement derived from a transient response; and varying ωc in the simulated controller until one or more of, a simulated control signal increases beyond a noise threshold, the simulated control signal exceeds an evenness threshold, or an instability indicator in the simulated controller rises beyond a stability threshold.
- 46. A method for producing a PID controller, comprising:
identifying a plant signature for a plant for which a PID controller exists; identifying an existing PID controller appropriate for controlling the plant based on the plant signature; and programmatically scaling the existing PID controller to a desired controller.
- 47. A controller design system, comprising:
means for frequency scale relating a desired controller to an existing controller; and means for scaling the existing controller to the desired controller based on the frequency scale relating.
- 48. A method for producing a controller, comprising:
identifying a known controller in a controller class where the known controller controls a first plant; identifying two or more scaleable parameters for the controller; programmatically relating the two or more scaleable parameters to a single scaleable controller parameter; identifying a desired controller in the controller class, where the desired controller controls a second plant that is frequency related by a frequency relation associated with the single scaleable controller parameter to the known controller; establishing the frequency relation between the known controller and the desired controller; and scaling the known controller to the desired controller by scaling the single scaleable parameter based on the frequency relation.
- 49. The method of claim 48, where the controller is a PID controller of the form
- 50. The method of claim 48, where the controller is a TFB controller of the form
- 51. A method for tuning a controller, comprising:
identifying a single tunable parameter for a controller to which two or more other tunable parameters for the controller can be related; programmatically relating the single parameter to the other tunable parameters; and programmatically varying the single tunable parameter until a desired controller performance is observed.
- 52. The method of claim 51, where the controller is a TFB controller of the form
- 53. The method of claim 52, where the single tunable parameter is a plant frequency scale ωp for a plant that is controlled by the TFB controller.
- 54. The method of claim 51, where the controller is a PID controller of the form
- 55. The method of claim 51 where the controller is an SF controller.
- 56. The method of claim 51, where the controller is an SO or a LESO based controller.
- 57. The method of claim 51, where the controller is an LADRC controller.
- 58. A set of application programming interfaces embodied on a computer readable medium for execution by a computer component in conjunction with frequency scaling a controller, comprising:
a first interface for communicating a controller information; a second interface for communicating a plant information; and a third interface for communicating frequency scaling information derived, at least in part, from the controller information and the plant information.
- 59. In a computer system having a graphical user interface comprising a display and a selection device, a method of providing and selecting from a set of data entries on the display, the method comprising:
retrieving a set of data entries, each of the data entries representing one of a frequency scaling choice for scaling a known controller to a desired controller; displaying the set of entries on the display; receiving a data entry selection signal indicative of the selection device selecting a selected data entry; and in response to the data entry selection signal, initiating an operation associated with the selected data entry.
- 60. A computer data signal embodied in a transmission medium, comprising:
a first set of instructions for identifying a plant signature for a plant; a second set of instructions for identifying a controller class for a controller that controls the plant; and a third set of instructions for scaling the controller based, at least in part, on the plant signature.
- 61. A data packet for transmitting frequency scaling data, comprising:
a first field that stores a known frequency for a known controller; a second field that stores a desired frequency for a desired controller; and a third field that stores a frequency scaling data computed from the known frequency and the desired frequency.
- 62. A method for auto-tuning a controller, comprising:
identifying a plant Gp(s) and a nominal controller Gc(s,ωc) for the plant to be tuned; programmatically determining k and ωp for the plant Gp(s) and the controller Gc(s,ωc); programmatically determining a new controller for a new plant {overscore (G)}p(s)=kGp(s/ωp) according to {overscore (G)}c(s,ωc)=Gc(s/ωp, ωc)/k; and programmatically varying ωc for the new plant until a desired behavior is observed.
- 63. A method for adaptive self-tuning a controller, comprising:
identifying a plant {overscore (G)}p(s)=kGp(s/ωp), where k and ωp are subject to change during plant operation; programmatically estimating, in real-time, k and ωp for the plant {overscore (G)}p(s); programmatically determining when the performance of the controller for the plant {overscore (G)}p(s) is degraded beyond a pre-determined, configurable threshold; programmatically updating the controller according to {overscore (G)}c(s,ωc)=Gc(s/ωp, ωc)/k; selectively decreasing ωc if dynamics of the plant deviate significantly from a model kGp(s/ωp) causing a performance problem or a stability problem; and selectively increasing ωc, subject to one or more ωc-optimization constraints, if the model can be updated to reflect one or more changes of the plant beyond k and ωp.
- 64. The method of claim 63, where the ωc-optimization constraints are one or more of, a noise level, an oscillation level in a control signal, an oscillation level in an output signal, and a noise level magnitude rate of change.
- 65. A method for automatically designing and optimizing ADOAC, comprising:
if a model of a plant is available, accepting a mathematical model of the plant in one or more of, transfer function, differential equation, and state space form; if a model is not available, accepting a step response data; selectively accepting a non-modeled dynamic data; accepting zero or more hardware limitations; accepting zero or more software limitations; accepting one or more design requirements; selectively indicating whether a control law should be provided in a difference equation form; accepting a control law preferred form data; verifying a design feasibility by evaluating one or more of the mathematical model, the step response data, the non-modeled dynamic data, the hardware limitations, and the software limitations in light of the design requirements; selectively determining an ωc parameterized solution in one or more formats based on the design feasibility verifying; and producing one or more parameterized solutions of one or more different kinds, orders, and/or forms, as references.
- 66. The method of claim 65, where the software limitations include, an actuator saturation limit, a noise tolerance, a sampling rate limit, a noise level from a sensor, and a finite word length.
- 67. The method of claim 65, where the hardware limitations include, an actuator saturation limit, a noise tolerance, a sampling rate limit, a noise level from a sensor, and a finite word length.
- 68. The method of claim 65, where the design requirements include one or more of, settling time, overshoot, accuracy, and disturbance attenuation.
- 69. The method of claim 65, where the control law preferred form data include transfer function form and model independent LADRC form.
- 70. The method of claim 65 where the references are ranked separately according to one or more of, simplicity, command following quality, and disturbance rejection.
- 71. A system for designing a controller, comprising:
a plant data store that stores plant information; a controller information data store that stores controller class information and controller scaleable parameter information; a controller identifier that identifies a controller that controls a first known plant, where the controller has one or more scaleable parameters; and a controller scaler that scales the controller identified by the controller identifier to a scaled controller suitable for controlling a second, frequency scale related plant based, at least in part, on one or more of the controller class information, the controller scaleable parameter information, and the plant information.
- 72. A method for optimizing controller performance based on tuning controller bandwidth ωc, comprising:
selecting an initial ωc value; programmatically altering ωc one or more times to one or more altered ωc values; electronically examining a controller performance at the one or more altered ωc values; and programmatically selecting a final ωc value from the initial ωc value and the altered ωc values based on the controller performance.
- 73. The method of claim 72, where the controller performance is examined on one or more of, a control signal noise threshold, a control signal evenness threshold, and an instability indicator threshold.
- 74. A system, comprising:
a plant; a controller for controlling the plant, where the controller can be tuned on a single, frequency scaleable controller parameter; an observer for observing the controller, where the observer can be tuned on a single, frequency scaleable observer parameter; and a tuner for tuning the controller based on the single controller parameter and for tuning the observer based on the single observer parameter.
- 75. The system of claim 74, where the single frequency scaleable controller parameter is ωc.
- 76. The system of claim 76, where the single frequency scaleable observer parameter is ωo.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application 60/373,404 filed Apr. 8, 2002, which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60373404 |
Apr 2002 |
US |