Professional Documents
Culture Documents
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
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
Error
Controller
Input
System to be
controlled
Given:
System to be controlled.
Find:
Such that:
Output
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
2.5
0.5
10
20
30
40
50
60
70
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
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
q -
System
q - yk
6
?
Memory Memory
Memory
6
?
Learning
Controller
uk+1
yd
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
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
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
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
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
**
Robots
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
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
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
...
q-
System
q - yk
6
?
Memory Memory
Memory
6
?
uk+1
Learning
Controller
yd
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
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 .
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
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
...
0
...
0
...
0
...
...
. . . hm,N 1
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
= 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
...
...
...
...
...
0
0
0
...
Lm
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
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
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
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
1
L
(w 1)
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
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
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
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
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
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
z 0.8
(z 0.55)(z 0.75)
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
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
h(t)
1.2
0.7
20
40
Iteration number
60
0.2
20
40
60
1
L
(w1)
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
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)
time (sec.)
0.3
0.2
0.1
0
0
20
40
Iteration number
60
60
0.4
0.2
20
40
Iteration number
0.2
20
40
60
1
L
(w2 1)
Plant
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
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
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
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)
Kevin L. Moore, EGES 504/604A Seminar, Colorado School of Mines, January 24, 2006
Iterative
Learning
Controller
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
Constant
(w 1)1
Hp
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
Yr (z)
w(t), v(t)
(w 1)1
Hp
Yr (z)
(w 1)1
HI
Interval (monotone)
Yr (z)
D(z)
w(t), v(t)
C(w)
H(z) + H(z)
Yr (z)
D(w)
C(w)
H(w) + H(w)
Yr (z)
(k)
Hp + H(k)
Yr (z)
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
**
Rotary motion
SRV02
**
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