Iterative Learning Control (ILC) : Bo Bernhardsson and Karl Johan Åström
Iterative Learning Control (ILC) : Bo Bernhardsson and Karl Johan Åström
Iterative Learning Control (ILC) : Bo Bernhardsson and Karl Johan Åström
Material:
Examples
CD-disc radial control + eccentricity
Industrial robot laser cutting + backlash and friction
Signal transmitter + amplifier nonlinearities
ILC
ym ILC (batch)
Model
NOTE: ILC works on whole signal sequences and modifies uref after
’off-line’ calculations.
y(t) = T u(t)
e(t) = r(t) − y(t)
unew (t) = u(t) + L(q)e(t)
Process at iteration k :
Step Response
1.4 0
-5
1.2
-10
1
-15
Amplitude
0.8
-20
0.6 -25
-30
0.4
-35
0.2
-40
0
0 2 4 6 8 10 12 -45
Time (seconds) -2
10
-1
10 10
0 1
10
Demonstration
Singular Values
1.4
yd 10
y
u
1.2
-10
0.6 -20
0.4
-30
0.2
-40
-50
-2 -1 0 1 2
10 10 10 10 10
-0.2 Frequency (rad/s)
0 1 2 3 4 5 6 7 8 9 10
uk = Guk−1 + H r̃
e∞ = (I − Tu (I − G)−1 H)r̃
e∞ = Tu (I − G)−1 (I − Q)Tu−1 r̃
|Q(1 − LT )|
u y
1
q−a
y(t) = u(t − 1) − au(t − 2) . . .
u y
−1/a
1−q/a
y(t) = − a1 u(t) − 1
a2 u(t + 1) . . .
Heuristic design
Model Based design
Optimization Based design
yk = Tr r + Tu uk
fill
seal
fold
direction
liquid
uk
SLOSH PROCESS
SLOSH ALGORITHM
slosh
uk u∗
k
ROBOT SLOSH PROCESS
SLOSH ALGORITHM
slosh
position ILC
position ref.
DERIVATIVE
JOINT
response
LOW-PASS
velocity
40
15
20
10 0
-20
5
-40
-60
0
40
15
20
10 0
-20
5
-40
-60
0
3 3
2 2
1 1
0 0
-1 -1
-2 -2
-3
0 0.5 1 1.5
-3
0 0.5 1 1.5
kSLOSH = 0
4 4
3 3
2 2
1 1
0 0
-1 -1
-2 -2
-3
0 0.5 1 1.5
-3
0 0.5 1 1.5
kSLOSH = 1
3 3
2 2
1 1
0 0
-1 -1
-2 -2
-3
0 0.5 1 1.5
-3
0 0.5 1 1.5
kSLOSH = 2
4 4
3 3
2 2
1 1
0 0
-1 -1
-2 -2
-3
0 0.5 1 1.5
-3
0 0.5 1 1.5
kSLOSH = 3
-2
-4
-6
Filters chosen as
(
0.1 − 0.5 for frequencies we want the ILC to be active
Q(f ) =
0 otherwise
Q2 (f ) ≡ 1
Input (2):
R(f ) = F(chirp)
Filters chosen as
(
0.1 − 0.5 for frequencies we want the ILC to be active
Q(f ) =
0 otherwise
Q2 (f ) ≡ 1
>40dB suppression
Show
movies/ilc.avi
movies/doubleshell.avi
movies/skal131028spectograms.avi