← Back to Patent Explorer
US7035694B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Automatic tuning of motion controllers using search techniques

Assignee: National Instruments Corp
•
Filing: 2003-05-13
•
Granted: 2006-04-25
•
Expires: 2023-05-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract System and method for user configuration of an autotuning algorithm for a controller in a motion control system. A desired trajectory in one or more dimensions for the motion control system is received. Values of one or more gains for a controller are initialized. A response trajectory of the controller and motion control system in response to the desired trajectory is received, and an error determined between the response trajectory and the desired trajectory. A gain space is then experimentally searched to determine final values of the one or more gains for the controller that minimize the error (e.g., Euclidean norm) between the response trajectory and the desired trajectory, e.g., via simulated annealing, or other stochastic, quasi-random, and/or deterministic approaches. After experimentally searching, the controller is operable to control the motion control system substantially in accordance with the desired trajectory using the determined values of the one or more gains.

Inventors

  • 👤 Subramanian Ramamoorthy
  • 👤 Jeanne S. Falcon

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 05:09
CPC Classifications
G; G05; G05B; G05B19/00; G05B19/02; G05B19/18; G05B19/414; G05B13/00; G05B13/02; G05B13/04; G05B13/042; G05B2219/00; G05B2219/30; G05B2219/34; G05B2219/34208; G05B2219/42; G05B2219/42152

Claims Analysis

Total Claims: 44
Claim 1
Independent Claim 172 words
A carrier medium which stores program instructions for automatically tuning a motion control system, wherein the program instructions are executable by a processor to perform: receiving a desired trajectory for the motion control system, wherein the desired trajectory is in one or more dimensions, wherein each dimension corresponds to an axis of the motion controller; initializing values of one or more gains for a controller, wherein the one or more gains are comprised in a gain space; receiving a response trajectory of the controller and motion control system in response to the desired trajectory; determining an error between the response trajectory and the desired trajectory; and experimentally searching the gain space to determine final values of the one or more gains for the controller, wherein the final values minimize the error between the response trajectory and the desired trajectory; wherein after said experimentally searching, the controller is operable to control the motion control system substantially in accordance with the desired trajectory using the determined final values of the one or more gains.
Claim 2
Dependent Claim 172 words
A carrier medium which stores program instructions for automatically tuning a motion control system, wherein the program instructions are executable by a processor to perform: receiving a desired trajectory for the motion control system, wherein the desired trajectory is in one or more dimensions, wherein each dimension corresponds to an axis of the motion controller; initializing values of one or more gains for a controller, wherein the one or more gains are comprised in a gain space; receiving a response trajectory of the controller and motion control system in response to the desired trajectory; determining an error between the response trajectory and the desired trajectory; and experimentally searching the gain space to determine final values of the one or more gains for the controller, wherein the final values minimize the error between the response trajectory and the desired trajectory; wherein after said experimentally searching, the controller is operable to control the motion control system substantially in accordance with the desired trajectory using the determined final values of the one or more gains.
Claim 3
Dependent Claim 35 words
The carrier medium of claim 1 , wherein said determining the error between the response trajectory and the desired trajectory comprises: computing a norm of a difference between the response trajectory and the desired trajectory.
Claim 4
Dependent Claim 14 words
The carrier medium of claim 2 , wherein the norm comprises a Euclidean norm.
Claim 5
Dependent Claim 58 words
The carrier medium of claim 3 , wherein the Euclidean norm, L 2 , comprises:  d  2 = ( ∑ i = 0 N ⁢ ( y ⁡ ( i ) - x ⁡ ( i ) ) 2 ) 1 2 , wherein x comprises the desired trajectory, and wherein y comprises the response trajectory.
Claim 6
Dependent Claim 14 words
The carrier medium of claim 2 , wherein the norm comprises a finite norm.
Claim 7
Dependent Claim 56 words
The carrier medium of claim 2 , wherein the norm comprises an L 1 norm, comprising:  d  1 = ( ∑ i = 0 N ⁢ ( y ⁡ ( i ) - x ⁡ ( i ) ) ) , wherein x comprises the desired trajectory, and wherein y comprises the response trajectory.
Claim 8
Dependent Claim 59 words
The carrier medium of claim 2 , wherein the norm comprises an L p norm, comprising:  d  p = ( ∑ i = 0 n ⁢ ( y ⁡ ( n ) - x ⁡ ( n ) ) p ) 1 p , wherein x comprises the desired trajectory, and wherein y comprises the response trajectory.
Claim 9
Dependent Claim 13 words
The carrier medium of claim 7 , wherein p is greater than 2.
Claim 10
Dependent Claim 13 words
The carrier medium of claim 7 , wherein p is greater than 3.
Claim 11
Dependent Claim 13 words
The carrier medium of claim 7 , wherein p is less than 1.
Claim 12
Dependent Claim 11 words
The carrier medium of claim 7 , wherein p is infinite.
Claim 13
Dependent Claim 23 words
The carrier medium of claim 7 , wherein p is equal to a maximum deviation between the desired trajectory and the response trajectory.
Claim 14
Dependent Claim 42 words
The carrier medium of claim 1 , wherein the controller comprises a PID controller, and wherein the one or more gains comprise: a proportional gain, an integral gain, and a derivative gain for each respective dimension of the one or more dimensions.
Claim 15
Dependent Claim 67 words
The carrier medium of claim 1 , wherein the controller operates in accordance with the relation: u ( t )=ƒ( e ( t )) e ( t )= y ( t )− x ( t ) wherein y(t) and x(t) represent observed and desired values, respectively, of a variable, and wherein the one or more gains comprise a corresponding one or more coefficients or parameters of ƒ(e(t)).
Claim 16
Dependent Claim 36 words
The carrier medium of claim 14 , wherein y(t), x(t), and ƒ(e(t)) are multivariable functions, and wherein the one or more gains comprise coefficients or parameters for each respective dimension of the one or more dimensions.
Claim 17
Dependent Claim 25 words
The carrier medium of claim 1 , wherein said initializing values of the one or more gains comprises: selecting a point in the gain space.
Claim 18
Dependent Claim 27 words
The carrier medium of claim 16 , wherein selecting a point in the gain space comprises: selecting a random, pseudo-random, or quasi-random point in the gain space.
Claim 19
Dependent Claim 23 words
The carrier medium of claim 1 , wherein said experimentally searching the gain space comprises: experimentally searching the gain space using stochastic means.
Claim 20
Dependent Claim 26 words
The carrier medium of claim 18 , wherein said experimentally searching the gain space using stochastic means comprises: performing simulated annealing to search the gain space.
Claim 21
Dependent Claim 170 words
The carrier medium of claim 19 , wherein said performing simulated annealing comprises: a) evaluating a current response trajectory of the system and controller using current values of the one or more gains, thereby computing a current error of the current response trajectory with respect to the desired trajectory; b) stochastically determining new values of the one or more gains, wherein the new values are in a specified neighborhood of the current values; c) evaluating a new response trajectory of the system and controller using the new values of the one or more gains, thereby computing a new error of the new response trajectory with respect to the desired trajectory; d) if the new error is less than the current error, setting the current values of the one or more gains to the new values; and setting the current error to the new error; e) iteratively performing b) through d) until a stopping condition occurs; wherein, after said iteratively performing, the controller is operable to control the motion control system.
Claim 22
Dependent Claim 85 words
The carrier medium of claim 20 , wherein d) further comprises: if the new error is not less than the current error, stochastically determining whether to set the current values of the one or more gains to the new values based on a temperature schedule; and if the determination is made to set the current values of the one or more gains to the new values based on a temperature schedule, setting the current values of the one or more gains to the new values.
Claim 23
Dependent Claim 42 words
The carrier medium of claim 21 , wherein the program instructions are further executable to perform: f) if the stopping condition occurs, updating the temperature in accordance with the temperature schedule; and iteratively performing b) through f) until a halting condition occurs.
Claim 24
Dependent Claim 23 words
The carrier medium of claim 1 , wherein said experimentally searching the gain space comprises: experimentally searching the gain space using pseudo-random means.
Claim 25
Dependent Claim 23 words
The carrier medium of claim 1 , wherein said experimentally searching the gain space comprises: experimentally searching the gain space using quasi-random means.
Claim 26
Dependent Claim 23 words
The carrier medium of claim 24 , wherein said experimentally searching the gain space using quasi-random means is performed using a Halton sequence.
Claim 27
Dependent Claim 23 words
The carrier medium of claim 1 , wherein said experimentally searching the gain space comprises: experimentally searching the gain space using deterministic means.
Claim 28
Dependent Claim 24 words
The carrier medium of claim 1 , wherein said experimentally searching the gain space comprises: experimentally searching the gain space using a hill-climbing technique.
Claim 29
Dependent Claim 18 words
The carrier medium of claim 1 , wherein said one or more dimensions comprises two or more dimensions.
Claim 30
Dependent Claim 18 words
The carrier medium of claim 1 , wherein said one or more dimensions comprises three or more dimensions.
Claim 31
Dependent Claim 18 words
The carrier medium of claim 1 , wherein said one or more dimensions comprises four or more dimensions.
Claim 32
Dependent Claim 41 words
The carrier medium of claim 1 , wherein the program instructions are further executable to perform: operating the controller and motion control system substantially in accordance with the desired trajectory using the determined final values of the one or more gains.
Claim 33
Dependent Claim 59 words
The carrier medium of claim 31 , wherein the program instructions are further executable to perform: performing adaptive automatic tuning of the controller and motion control system by iteratively performing said experimentally searching the gain space to determine successive final values of the one or more gains for the controller during said operating the controller and motion control system.
Claim 34
Dependent Claim 171 words
The carrier medium of claim 1 , wherein said experimentally searching the gain space to determine final values of the one or more gains for the controller comprises: a) evaluating a current response trajectory of the system and controller using current values of the one or more gains, thereby computing a current error of the current response trajectory with respect to the desired trajectory; b) determining new values of the one or more gains; c) evaluating a new response trajectory of the system and controller using the new values of the one or more gains, thereby computing a new error of the new response trajectory with respect to the desired trajectory; d) if the new error is less than the current error, setting the current values of the one or more gains to the new values; and setting the current error to the new error; e) iteratively performing b) through d) until a stopping condition occurs; wherein, after said iteratively performing, the controller is operable to control the motion control system.
Claim 35
Dependent Claim 171 words
A computer-based system for automatically tuning a motion control system, the computer system comprising: a processor; a memory medium coupled to the processor, wherein the memory medium stores program instructions executable by the processor to: receive a desired trajectory for the motion control system, wherein the desired trajectory is in one or more dimensions; initialize values of one or more gains for a controller, wherein the one or more gains are comprised in a gain space; receive a response trajectory of the controller and motion control system in response to the desired trajectory; determine an error between the response trajectory and the desired trajectory; and experimentally search the gain space to determine final values of the one or more gains for the controller, wherein the final values minimize the error between the response trajectory and the desired trajectory; wherein after said experimentally searching, the controller is operable to control the motion control system substantially in accordance with the desired trajectory using the determined final values of the one or more gains.
Claim 36
Dependent Claim 171 words
A computer-based system for automatically tuning a motion control system, the computer system comprising: a processor; a memory medium coupled to the processor, wherein the memory medium stores program instructions executable by the processor to: receive a desired trajectory for the motion control system, wherein the desired trajectory is in one or more dimensions; initialize values of one or more gains for a controller, wherein the one or more gains are comprised in a gain space; receive a response trajectory of the controller and motion control system in response to the desired trajectory; determine an error between the response trajectory and the desired trajectory; and experimentally search the gain space to determine final values of the one or more gains for the controller, wherein the final values minimize the error between the response trajectory and the desired trajectory; wherein after said experimentally searching, the controller is operable to control the motion control system substantially in accordance with the desired trajectory using the determined final values of the one or more gains.
Claim 37
Dependent Claim 31 words
The computer system of claim 34 , further comprising: a display device coupled to the processor, wherein the display device is operable to display the desired trajectory and the response trajectory.
Claim 38
Dependent Claim 26 words
The computer system of claim 34 , wherein the display device is further operable to display the error between the desired trajectory and the response trajectory.
Claim 39
Dependent Claim 157 words
A memory medium comprising program instructions for automatically tuning a motion control system, wherein the program instructions are computer-executable to perform: receiving a desired trajectory for the motion control system, wherein the desired trajectory is in one or more dimensions; initializing values of one or more gains for a controller, wherein the one or more gains are comprised in a gain space; receiving a response trajectory of the controller and motion control system in response to the desired trajectory; determining an error between the response trajectory and the desired trajectory; and experimentally searching the gain space to determine final values of the one or more gains for the controller, wherein the final values minimize the error between the response trajectory and the desired trajectory; wherein after said experimentally searching, the controller is operable to control the motion control system substantially in accordance with the desired trajectory using the determined final values of the one or more gains.
Claim 40
Dependent Claim 157 words
A memory medium comprising program instructions for automatically tuning a motion control system, wherein the program instructions are computer-executable to perform: receiving a desired trajectory for the motion control system, wherein the desired trajectory is in one or more dimensions; initializing values of one or more gains for a controller, wherein the one or more gains are comprised in a gain space; receiving a response trajectory of the controller and motion control system in response to the desired trajectory; determining an error between the response trajectory and the desired trajectory; and experimentally searching the gain space to determine final values of the one or more gains for the controller, wherein the final values minimize the error between the response trajectory and the desired trajectory; wherein after said experimentally searching, the controller is operable to control the motion control system substantially in accordance with the desired trajectory using the determined final values of the one or more gains.
Claim 41
Dependent Claim 259 words
A computer-implemented method for automatically tuning a controller coupled to a motion control system, the method comprising: a) initializing current values of one or more gains for the controller; b) providing an input signal to the controller and system, wherein the input signal specifies a position trajectory/motion profile for the motion control system in one or more dimensions; c) evaluating a current response of the system and controller to the input signal using the current values of the one or more gains, thereby computing a current value of a metric quantifying an error of the current response with respect to the input signal; d) determining new values of the one or more gains, wherein the new values are in a specified neighborhood of the current values; e) evaluating a new response of the system and controller to the input signal using the new values of the one or more gains, thereby generating a new value of the metric quantifying an error of the new response with respect to the input signal; f) if the new value of the metric and the current value of the metric indicate that the error of the new response is less than the error of the current response, setting the current values of the one or more gains to the new values; and setting the current value of the metric to the new value of the metric; and g) iteratively performing d) through f) until a stopping condition occurs; wherein, after said iteratively performing, the controller is operable to control the motion control system.
Claim 42
Dependent Claim 259 words
A computer-implemented method for automatically tuning a controller coupled to a motion control system, the method comprising: a) initializing current values of one or more gains for the controller; b) providing an input signal to the controller and system, wherein the input signal specifies a position trajectory/motion profile for the motion control system in one or more dimensions; c) evaluating a current response of the system and controller to the input signal using the current values of the one or more gains, thereby computing a current value of a metric quantifying an error of the current response with respect to the input signal; d) determining new values of the one or more gains, wherein the new values are in a specified neighborhood of the current values; e) evaluating a new response of the system and controller to the input signal using the new values of the one or more gains, thereby generating a new value of the metric quantifying an error of the new response with respect to the input signal; f) if the new value of the metric and the current value of the metric indicate that the error of the new response is less than the error of the current response, setting the current values of the one or more gains to the new values; and setting the current value of the metric to the new value of the metric; and g) iteratively performing d) through f) until a stopping condition occurs; wherein, after said iteratively performing, the controller is operable to control the motion control system.
Claim 43
Independent Claim 169 words
A system for automatically tuning a motion control system, the system comprising: means for receiving a desired trajectory for the motion control system, wherein the desired trajectory is in one or more dimensions, wherein each dimension corresponds to an axis of the motion controller; means for initializing values of one or more gains for a controller, wherein the one or more gains are comprised in a gain space; means for receiving a response trajectory of the controller and motion control system in response to the desired trajectory; means for determining an error between the response trajectory and the desired trajectory; and means for experimentally searching the gain space to determine final values of the one or more gains for the controller, wherein the final values minimize the error between the response trajectory and the desired trajectory; wherein after said experimentally searching, the controller is operable to control the motion control system substantially in accordance with the desired trajectory using the determined final values of the one or more gains.
Claim 44
Independent Claim 169 words
A system for automatically tuning a motion control system, the system comprising: means for receiving a desired trajectory for the motion control system, wherein the desired trajectory is in one or more dimensions, wherein each dimension corresponds to an axis of the motion controller; means for initializing values of one or more gains for a controller, wherein the one or more gains are comprised in a gain space; means for receiving a response trajectory of the controller and motion control system in response to the desired trajectory; means for determining an error between the response trajectory and the desired trajectory; and means for experimentally searching the gain space to determine final values of the one or more gains for the controller, wherein the final values minimize the error between the response trajectory and the desired trajectory; wherein after said experimentally searching, the controller is operable to control the motion control system substantially in accordance with the desired trajectory using the determined final values of the one or more gains.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2009-04-24 2009-10-24 2010-04-25 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2013-04-24 2013-10-24 2014-04-25 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2017-04-24 2017-10-24 2018-04-25 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag