An Introduction to Iterative Learning Control
An Introduction to
Iterative Learning Control Theory
Presenter:
Kevin L. Moore Colorado School of Mines
Contributors:
YangQuan Chen - Utah State University
Hyo-sung Ahn - Utah State University
CSM EGES 504/604A Colloquium
Golden, CO 24 Jamuary 2006
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
Outline
Introduction
Control System Design: Motivation for ILC
Iterative Learning Control: The Basic Idea
Some Comments on the History of ILC
The Supervector Notation
The w-Transform: z-Operator Along the Repetition Axis
ILC as a MIMO Control System
Repetition-Domain Poles
Repetition-Domain Internal Model Principle
The Complete Framework
Repetition-Varying Inputs and Disturbances
Plant Model Variation Along the Repetition Axis
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
Control Design Problem
Reference
Error
Controller
Input
System to be
controlled
Given:
System to be controlled.
Find:
Controller (using feedback).
Such that:
1) Closed-loop system is stable.
2) Steady-state error is acceptable.
3) Transient response is acceptable.
Output
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
Motivation for the Problem of Iterative Learning Control
Transient response design is hard:
2.5
1) Robustness is always an issue:
- Modelling uncertainty.
- Parameter variations.
- Disturbances.
2) Lack of theory (design uncertainty):
- Relation between pole/zero locations and transient response.
- Relation between Q/R weighting matrices in optimal control and transient
response.
- Nonlinear systems.
1.5
0.5
10
20
30
40
50
60
70
Many systems of interest in applications are operated in a repetitive fashion.
Iterative Learning Control (ILC) is a methodology that tries to address the
problem of transient response performance for systems that operate repetitively.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
Systems that Execute the Same Trajectory Repetitively
Step 1: Robot at rest, waiting for workpiece.
Step 2: Workpiece moved into position.
Step 3: Robot moves to desired
location
Step 4: Robot returns to rest and
waits for next workpiece.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
Errors are Repeated When
Trajectories are Repeated
A typical joint angle trajectory for the example might look like this:
2
1.5
0.5
-0.5
10
15
20
25
30
Each time the system is operated it will see the same overshoot,
rise time, settling time, and steady-state error.
Iterative learning control attempts to improve the transient response by
adjusting the input to the plant during future system operation based
on the errors observed during past operation.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
Iterative Learning Control
Standard iterative learning control scheme:
uk
q -
System
q - yk
6
?
Memory Memory
Memory
6
?
Learning
Controller
uk+1
yd
A typical ILC algorithm has the form: uk+1(t) = uk (t) + ek (t + 1).
Standard ILC assumptions include:
Stable dynamics or some kind of Lipschitz condition.
System returns to the same initial conditions at the start of each trial.
Each trial has the same length.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
A Simple Example
For the nominal plant:
0.8 0.22
0.5
xk+1 =
xk +
uk
1
0
1
yk = [1, 0.5]xk
Track the reference trajectory:
Yd(j) = sin(8.0j/100)
We use the standard Arimoto algorithm:
uk+1(t) = uk (t) + ek (t + 1)
with four different gains: = 0.5, = 0.85, = 1.15, = 1.5
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
A Simple Example (cont.)
= 0.85
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
Y d and Y k
Y d and Y k
= 0.5
0
-0.2
0
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
-1
-1
0
10
20
30
40
50
60
Discrete time point
70
80
90
100
10
20
30
70
80
90
100
70
80
90
100
= 1.5
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
Yd and Yk
Yd and Yk
= 1.15
40
50
60
Discrete time point
0
-0.2
0
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
-1
-1
0
10
20
30
40
50
60
Discrete time point
70
80
90
100
10
20
30
40
50
60
Discrete time point
In all cases, ILC converges well.
Without knowing an accurate model of the plant, we achieve perfect tracking by iteratively updating
the input from trial to trail.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
ILC Research History
ILC has a well-established research history:
More than 1000 papers:
90
Number of publication
80
70
Journal papers
Conference papers
60
50
40
30
20
10
0
1988
1990
1992
1994
1996
1998
2000
2002
2004
2006
Year
At least four monographs.
Over 20 Ph.D dissertations.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
First ILC paper- in Japanese (1978)
**
An Introduction to Iterative Learning Control
45
40
45
Robots
ILC Research History (cont.)
Robots
35
40
30
35
25
30
20
25
15
20
Rotary
systems
Process
control
Rotary
systems
Process
control Bio-applications
Miscellaneous
Semiconductors
Miscellaneous
Power systems
ActuatorsSemiconductors
Bio-applications
10
15
105
Power systems
Actuators
50
0
70
By application areas.
Miscellaneous
Typical
60
50
40
Update
Structure rule
Robust
30
Optimal
20
Mechanical
nonlinearity
Adaptive
Neural
ILC for control
10
0
1
10
By theoretical areas.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
Selected ILC Industrial Applications
ILC patents in hard disk drive servo:
YangQuan Chens US6,437,936 Repeatable runout compensation using a learning algorithm
with scheduled parameters.
YangQuan Chens US6,563,663 Repeatable runout compensation using iterative learning control in a disc storage system.
Robotics:
Michael Norrlofs patent on ABB robots. US2004093119 Path correction for an industrial
robot.
Gantry motion control:
Work by Southampton Sheffield Iterative Learning Control (SSILC) Group (described this afternoon).
See Iterative Learning Control Survey: 1998-2004, Hyosung Ahn, CSOIS Technical Report # ..., Logan,
UT 2005, for more information on the literature of ILC.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
Control Engineering - History and ILC
Prehistory of automatic
control
Primitive period
Classical control
Modern control
Classic
control
Nonlinear
control
Estimation
Robust
control
H_inf
Optimal
control
Interval
**
Adaptive
control
Intelligent
control
Fuzzy
Neural
Net
ILC
...
An Introduction to Iterative Learning Control
ILC Problem Formulation
Standard iterative learning control scheme:
uk
q-
System
q - yk
6
?
Memory Memory
Memory
6
?
uk+1
Learning
Controller
yd
Goal: Find a learning control algorithm
uk+1(t) = fL(previous information)
so that for all t [0, tf ]
lim yk (t) = yd(t)
We will consider this problem for discrete-time, linear systems.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
LTI ILC Convergence Conditions - 1
Theorem: For the plant yk = Ts uk , the linear time-invariant learning control algorithm
uk+1 = Tu uk + Te (yd yk )
converges to a fixed point u (t) given by
u (t) = (I Tu + Te Ts )1 Te yd (t)
with a final error
e (t) = lim (yk yd ) = (I Ts (I Tu + Te Ts )1 Te )yd (t)
k
defined on the interval (t0 , tf ) if
kTu Te Ts ki < 1
Observation:
If Tu = I then ke (t)k = 0 for all t [to , tf ].
Otherwise the error will be non-zero.
LTI Learning Control - Nature of the Solution
Question: Given Ts , how do we pick Tu and Te to make the final error e (t) as small as
possible, for the general linear ILC algorithm:
uk+1 (t) = Tu uk (t) + Te (yd (t) yk (t))
Answer: Let Tn solve the problem:
min k(I Ts Tn )yd k
Tn
It turns out that we can specify Tu and Te in terms of Tn and the resulting learning controller
converges to an optimal system input given by:
u (t) = Tn yd (t)
Conclusion:The essential effect of a properly designed learning controller is to produce the
output of the best possible inverse of the system in the direction of yd .
An Introduction to Iterative Learning Control
Outline
Introduction
Control System Design: Motivation for ILC
Iterative Learning Control: The Basic Idea
Some Comments on the History of ILC
The Supervector Notation
The w-Transform: z-Operator Along the Repetition Axis
ILC as a MIMO Control System
Repetition-Domain Poles
Repetition-Domain Internal Model Principle
The Complete Framework
Repetition-Varying Inputs and Disturbances
Plant Model Variation Along the Repetition Axis
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
ILC as a Two-Dimensional Process
Suppose the plant is a scalar discrete-time dynamical system, described as:
yk (t + 1) = fS [yk (t), uk (t), t]
where
k denotes a trial (or execution, repetition, pass, etc.).
t [0, N ] denotes time (integer-valued).
yk (0) = yd(0) = y0 for all k.
Use a general form of a typical ILC algorithm for a system with relative degree one:
uk+1(t) = fL[uk (t), ek (t + 1), k]
where
ek (t) = yd(t) yk (t) is the error on trial k.
yd(t) is a desired output signal.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
ILC as a Two-Dimensional Process (cont.)
Combine the plant equation with the ILC update rule to get:
yk+1(t + 1) = fS [yk (t), uk+1(t), t] = fS [fL[yk (t), uk (t), ek (t + 1), k], t]
Changing the notation slightly we get:
y(k + 1, t + 1) = f [yk (t), u(k, t), e(k, t + 1), k, t]
Clearly this is a 2-D system:
Dynamic equation indexed by two variables: k and t.
k defines the repetition domain (Longman/Phan terminology).
t is the normal time-domain variable.
But, ILC differs from a complete 2-D system design problem:
One of the dimensions (time) is a finite, fixed interval, thus convergence in that direction (traditional stability) is always assured for linear systems.
In the ILC problem we admit non-causal processing in one dimension (time) but not in the other
(repetition).
We can exploit these points to turn the 2-D problem into a 1-D problem.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
The Supervector Framework of ILC
Consider an SISO, LTI discrete-time plant with relative degree m:
Y (z) = H(z)U (z) = (hmz m + hm+1z (m+1) + hm+2z (m+2) + )U (z)
By lifting along the time axis, for each trial k define:
Uk = [uk (0), uk (1), , uk (N 1)]T
Yk = [yk (m), yk (m + 1), , yk (m + N 1)]T
Yd = [yd(m), yd(m + 2), , yd(m + N 1)]T
Thus the linear plant can be described by Yk
h1
h2
Hp = h3
...
hN
= HpUk where:
0
0
h1
0
h2
h1
...
...
hN 1 hN 2
...
...
...
...
...
0
0
0
...
h1
The lower triangular matrix Hp is formed using the systems Markov parameters.
Notice the non-causal shift ahead in forming the vectors Uk and Yk .
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
The Supervector Framework of ILC (cont.)
For the linear, time-varying case, suppose we have the plant given by:
xk (t + 1) = A(t)xk (t) + B(t)uk (t)
yk (t) = C(t)xk (t) + D(t)uk (t)
Then the same notation again results in Yk = HpUk , where now:
hm,0
0
0
hm,1
0
hm+1,0
h
hm+1,1
hm,2
Hp = m+2,0
...
...
...
hm+N 1,0 hm+N 2,1 hm+N 3,2
...
0
...
0
...
0
...
...
. . . hm,N 1
The lifting operation over a finite interval allows us to:
Represent our dynamical system in R1 into a static system in RN .
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
The Update Law Using Supervector Notation
Suppose we have a simple Arimoto-style ILC update equation with a constant gain :
In our R1 representation, we write:
uk+1(t) = uk (t) + ek (t + 1)
In our RN representation, we write:
Uk+1 = Uk + Ek
where
= 0
...
0
0
...
0
0
0
...
0
...
...
...
...
...
0
0
0
...
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
The Update Law Using Supervector Notation (cont.)
Suppose we filter with an LTI filter during the ILC update:
In our R1 representation we would have the form:
uk+1(t) = uk (t) + L(z)ek (t + 1)
In our RN representation we would have the form:
Uk+1 = Uk + LEk
where L is a Topelitz matrix of the Markov parameters of L(z), given, in the case of a causal,
LTI update law, by:
Lm
0
0
Lm
0
Lm+1
L
Lm+1
Lm
L = m+2
...
...
...
Lm+N 1 Lm+N 2 Lm+N 3
...
...
...
...
...
0
0
0
...
Lm
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
The Update Law Using Supervector Notation (cont.)
We may similarly consider time-varying and noncausal filters in the ILC update law:
Uk+1 = Uk + LEk
A causal (in time), time-varying filter in the ILC update law might look like, for example:
n1,0
0
0
...
0
0
...
0
n2,0 n1,1
n
n1,2 . . .
0
L = 3,0 n2,1
...
...
...
...
...
nN,0 nN 1,1 nN 2,2 . . . n1,N 1
A non-causal (in time), time-invariant averaging filter in the ILC update law might look like, for
example:
K K 0 0 0 0 0
0 K K 0 0 0 0
0 0 K K 0 0 0
L = ... ... ... ... . . . ... ... ...
0 0 0 0 K K 0
0 0 0 0 0 K K
0 0 0 0 0 0 K
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
The ILC Design Problem
The design of an ILC controller can be thought of as the selection of the matrix L.
For a causal ILC updating law, L will be in lower-triangular Toeplitz form.
For a noncausal ILC updating law, L will be in upper-triangular Toeplitz form.
For the popular zero-phase learning filter, L will be in a symmetrical band diagonal form.
L can also be fully populated.
The supervector notation can also be applied to other ILC update schemes. For example:
The Q-filter often introduced for stability (along the iteration domain) has the R1 representation:
uk+1(t) = Q(z)(uk (t) + L(z)ek (t + 1))
The equivalent RN representation is:
Uk+1 = Q(Uk + LEk )
where Q is a Toeplitz matrix formed using the Markov parameters of the filter Q(z).
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
w-Transform: the z-Operator in the Iteration Domain
Introduce a new shift variable, w, with the property that, for each fixed integer t:
w1uk (t) = uk1(t)
For a scalar xk (t), combining the lifting operation to get the supervector Xk with the shift operation
gives what we call the w-transform of xk (t), which we denote by X(w)
Then the ILC update algorithm:
uk+1(t) = uk (t) + L(z)ek (t + 1)
which, using our supervector notation, can be written as Uk+1 = Uk + LEk can also be written as:
wU (w) = U (w) + LE(w)
where U (w) and E(w) are the w-transforms of Uk and Ek , respectively.
Note that we can also write this as
E(w) = C(w)U (w)
where
C(w) =
.
1
L
(w 1)
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
ILC as a MIMO Control System
The term
C(w) =
1
L
(w 1)
is effectively the controller of the system (in the repetition domain). This can be depicted as:
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
Higher-Order ILC in the Iteration Domain
We can use these ideas to develop more general expressions ILC algorithms.
For example, a higher-order ILC algorithm could have the form:
uk+1(t) = k1uk (t) + k2uk1(t) + ek (t + 1)
which corresponds to:
C(w) =
w
w 2 k1 w k2
Next we show how to extend these notions to develop an algebraic (matrix fraction) description of
the ILC problem.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
A Matrix Fraction Formulation
Suppose we consider a more general ILC update equation given by (for relative degree m = 1):
n(z)uk (t) + D
n1(z)uk1(t) + + D
1(z)ukn+1(t) + D
0(z)ukn(t)
uk+1(t) = D
+Nn(z)ek (t + 1 + Nn1(z)ek1(t + 1 + + N1(z)ekn+1(t + 1) + N0(z)ekn(t + 1)
which has the supervector expression
n Uk + D
n1Uk1 + + D
1Ukn+1 + D
0Ukn
Uk+1 = D
+NnEk + Nn1Ek1 + + N1Ekn+1 + N0Ekn
Aside: note that there are a couple of variations on the theme that people sometimes consider:
Uk+1 = Uk + LEk+1
Uk+1 = Uk + L1Ek + L0Ek+1
These can be accomodated by adding a term Nn+1Ek+1 in the expression above, resulting in the
so-called current iteration feedback, or CITE.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
A Matrix Fraction Formulation (cont.)
Applying the shift variable w we get:
c(w)U (w) = Nc(w)E(w)
D
where
c(w) = Iwn+1 D
n1wn D
1w D
0
D
Nc(w) = Nnwn + Nn1wn1 + + N1w + N0
This can be written in a matrix fraction as U (w) = C(w)E(w) where:
1(w)Nc(w)
C(w) = D
c
Thus, through the addition of higher-order terms in the update algorithm, the ILC problem has
been converted from a static multivariable representation to a dynamic (in the repetition domain)
multivariable representation.
Note that we will always get a linear, time-invariant system like this, even if the actual plant is
time-varying.
c(w) is of degree n + 1 and Nc(w) is of degree n, we have relative degree one in the
Also because D
repetition-domain, unless some of the gain matrices are set to zero.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
ILC Convergence via Repetition-Domain Poles
From the figure we see that in the repetition-domain the closed-loop dynamics are defined by:
Gcl (w) = Hp[I + C(w)Hp]1C(w)
c(w) + Nc(w)Hp]1Nc(w)
= Hp[(w 1)D
Thus the ILC algorithm will converge (i.e., Ek a constant) if Gcl is stable.
Determining the stability of this feedback system may not be trivial:
It is a multivariable feedback system of dimension N , where N could be very large.
But, the problem is simplified due to the fact that the plant Hp is a constant, lower-triangular
matrix.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
Repetition-Domain Internal Model Principle
Because Yd is a constant and our plant is type zero (e.g., Hp is a constant matrix), the internal
model principle applied in the repetition domain requires that C(w) should have an integrator effect
to cause Ek 0.
Thus, we modify the ILC update algorithm as:
Uk+1 = (I Dn1)Uk + (Dn1 Dn2)Uk1 +
+(D2 D1)Ukn+2 + (D1 D0)Ukn+1 + D0Ukn
+NnEk + Nn1Ek1 + + N1Ekn+1 + N0Ekn
Taking the w-transform of the ILC update equation, combining terms, and simplifying gives:
(w 1)Dc(w)U (w) = Nc(w)E(w)
where
Dc(w) = wn + Dn1wn1 + + D1w + D0
Nc(w) = Nnwn + Nn1wn1 + + N1w + N0
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
Repetition-Domain Internal Model Principle (cont.)
This can also be written in a matrix fraction as:
U (w) = C(w)E(w)
but where we now have:
C(w) = (w 1)1Dc1(w)Nc(w)
For this update law the repetition-domain closed-loop dynamics become:
1
I
I
Gcl (w) = H I +
C(w)H
C(w),
(w 1)
(w 1)
= H[(w 1)Dc(w) + Nc(w)H]1Nc(w)
Thus, we now have an integrator in the feedback loop (a discrete integrator, in the repetition domain)
and, applying the final value theorem to Gcl , we get Ek 0 as long as the ILC algorithm converges
(i.e., as long as Gcl is stable).
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
Higher-Order ILC in the Iteration Domain, Revisited
A key feature of our matrix fraction, algebraic framework is that it assumes use of higher-order ILC.
At the 02 IFAC World Congress a special session explored the value that could be obtained from
such algorithms:
One possible benefit could be due to more freedom in placing the poles (in the w-plane).
It has been suggested in the literature that such schemes can give faster convergence.
However, we can show dead-beat convergence using any order ILC. Thus, higher-order ILC can
be no faster than first-order.
One conclusion from the 02 IFAC special sessions is that higher-order ILC is primarily beneficial
when there is repetition-domain uncertainty.
Several such possibilities arise:
Iteration-to-iteration reference variation.
Iteration-to-iteration disturbances and noise.
Plant model variation from repetition-to-repetition.
The matrix fraction, or algebraic, approach can help in these cases.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
Iteration-Varying Disturbances
In ILC, it is assumed that desired trajectory yd(t) and external disturbance are invariant with respect
to iterations.
When these assumptions are not valid, conventional integral-type, first-order ILC will no longer work
well.
In such a case, ILC schemes that are higher-order along the iteration direction will help.
Consider a stable plant
Ha(z) =
z 0.8
(z 0.55)(z 0.75)
Let the plant be subject to an additive output disturbance
d(k, t) = 0.01(1)k1
This is an iteration-varying, alternating disturbance. If the iteration number k is odd, the disturbance
is a positive constant in iteration k while when k is even, the disturbance jumps to a negative constant.
In the simulation, we wish to track a ramp up and down on a finite interval.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
Example: First-Order ILC
5
2norm of the input signal
output signals
1.5
0.5
desired output
output at iter. #60
0
20
40
4
3
2
1
0
60
time (sec.)
20
40
Iteration number
60
0.6
0.8
0.5
0.4
0.6
0.3
0.4
0.2
0.2
0.1
|h1|=1 and sumN
|h | =0.97995
j=2 j
h(t)
The Root Mean Square Error
1.2
0.7
20
40
Iteration number
60
0.2
20
40
60
uk+1(t) = uk (t) + ek (t + 1), = 0.9 C(w) =
1
L
(w1)
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
Example: Second-Order, Internal Model ILC
5
2norm of the input signal
output signals
0.8
0.6
0.4
desired output
output at iter. #60
0.2
0
20
40
4
3
2
1
0
60
0.7
1.2
0.6
0.5
0.8
0.4
0.6
h(t)
The Root Mean Square Error
time (sec.)
0.3
0.2
0.1
0
0
20
40
Iteration number
60
60
|h1|=1 and sumN
|h | =0.97995
j=2 j
0.4
0.2
20
40
Iteration number
0.2
20
40
60
uk+1(t) = uk1(t) + ek1(t + 1) with = 0.9 C(w) =
1
L
(w2 1)
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
A Complete Design Framework
We have presented several important facts about ILC:
The supervector notation lets us write the ILC system as a matrix fraction, introducing an
algebraic framework.
In this framework we are able to discuss convergence in terms of pole in the iteration-domain.
In this framework we can consider rejection of iteration-dependent disturbances and noise as well
as the tracking of iteration-dependent reference signals (by virtue of the internal model principle).
In the same line of thought, we can next introduce the idea of iteration-varying models.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
Iteration-Varying Plants
Can view the classic multi-pass (Owens and Edwards) and linear repetitive systems (Owens and
Rogers) as a generalization of the static MIMO system Yk = HpUk into the dynamic (in iteration)
MIMO system, so that
Yk+1 = A0Yk + B0Uk
becomes
H(w) = (wI A0)1B0
Introduce iteration-varying plant uncertainty, so the static MIMO system Yk = HpUk becomes the
dynamic (in iteration) and uncertain MIMO system, such as
Hp = H0(I + H)
or
Hp [H, H]
or
Hp = H0 + H(w)
or
Hp(w) = H0(w)(I + H(w))
etc.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
Complete Framework
D(w)
E (w)
Yd (w)
C ILC ( w )
1
(w 1)
N (w)
U (w)
Y (w)
H p (w)
CCITE (w)
H (w)
Yd(w), D(w) and N (w) describe, respectively, the iteration-varying reference, disturbance, and noise
signals. Hp(w) denotes the (possibly iteration varying) plant.
Hp(w) represents the uncertainty in plant model, which may also be iteration-dependent.
CILC(w) denotes the ILC update law.
CCITE(w) denotes any current iteration feedback that might be employed.
The term
1
(w1)
denotes the natural one-iteration delay inherent in ILC.
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
An Introduction to Iterative Learning Control
Outline
Introduction
Control System Design: Motivation for ILC
Iterative Learning Control: The Basic Idea
Some Comments on the History of ILC
The Supervector Notation
The w-Transform: z-Operator Along the Repetition Axis
ILC as a MIMO Control System
Repetition-Domain Poles
Repetition-Domain Internal Model Principle
The Complete Framework
Repetition-Varying Inputs and Disturbances
Plant Model Variation Along the Repetition Axis
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
Categorization of algorithms
Yr
Constant
(w 1)1
Hp
Classic approach (asymptotical)
Constant
(w 1)1
Hp
Owens multipass (asymptotical)
Yr (z)
D(w)
C(w)
Hp
General (asymptotical)
Yr (z)
D(z)
C(w)
H(w) + (w)
Yr (z)
w(t), v(t)
C(w)
Hp
Stochastic ILC. (asym, monotone)
Yr (z)
w(t), v(t)
(w 1)1
Hp
Least quadratic ILC. (asym)
Yr (z)
(w 1)1
HI
Interval (monotone)
Yr (z)
D(z)
w(t), v(t)
C(w)
H(z) + H(z)
Time domain H (asymptotical)
Yr (z)
D(w)
w(k, t), v(k, t)
C(w)
H(w) + H(w)
Iterative domain H (asymptotical)
Yr (z)
(k)
Hp + H(k)
Yr (z)
w(k, t), v(k, t)
e
H
Hp
Intermittent measurement
Yr (w)
(w 1)1
Hp
Periodically-I.V.-reference(asymptotical)
1)1
Hp
Periodically-I.V.-reference(monotonic)
Yr (w)
(w
**
Frequency uncertainty. (asymptotical)
Iteration varying uncertainty (monotone)
Experimental test: Setup
Software
Power module
Terminal board
Rotary motion
SRV02
**
Impulse responses and desired trajectory
3
10
2.5
8
Speed (radians/s)
Interval ranges
1.5
0.5
0
0
10
15
20
Markov parameters
25
30
10
**
10
t)
-0.5
4
5
6
Time (seconds)
10
0
0
10
Achieved results
15
20
Markov parameters
25
30
10
10
5
4
4
5
6
Time (seconds)
10
5
4
0
0
**
|| Yd - Yk ||
Yd (t) - Yk(t)
-0.5
10
15
20
25
Time (seconds)
30
35
40
45
10
Trial number
15