0% found this document useful (0 votes)
96 views172 pages

2009 Thesis Iterative Learning Control With M PDF

Uploaded by

Ayman Ismail
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views172 pages

2009 Thesis Iterative Learning Control With M PDF

Uploaded by

Ayman Ismail
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 172

University of Southampton Research Repository

ePrints Soton

Copyright © and Moral Rights for this thesis are retained by the author and/or other
copyright owners. A copy can be downloaded for personal non-commercial
research or study, without prior permission or charge. This thesis cannot be
reproduced or quoted extensively from without first obtaining permission in writing
from the copyright holder/s. The content must not be changed in any way or sold
commercially in any format or medium without the formal permission of the
copyright holders.

When referring to this work, full bibliographic details including the author, title,
awarding institution and date of the thesis must be given e.g.

AUTHOR (year of submission) "Full thesis title", University of Southampton, name


of the University School or Department, PhD Thesis, pagination

http://eprints.soton.ac.uk
UNIVERSITY OF SOUTHAMPTON

Iterative Learning Control: Algorithm


Development and Experimental
Benchmarking

by
Zhonglun Cai

A thesis submitted in partial fulfillment for the


degree of Doctor of Philosophy

in the
Faculty of Engineering and Applied Science
Department of Electronics and Computer Science

April 2009
UNIVERSITY OF SOUTHAMPTON

ABSTRACT

FACULTY OF ENGINEERING AND APPLIED SCIENCE


DEPARTMENT OF ELECTRONICS AND COMPUTER SCIENCE

Doctor of Philosophy

by Zhonglun Cai

This thesis concerns the general area of experimental benchmarking of Iterative Learning Control (ILC)
algorithms using two experimental facilities. ILC is an approach which is suitable for applications
where the same task is executed repeatedly over the necessarily finite time duration, known as the
trial length. The process is reset prior to the commencement of each execution. The basic idea of
ILC is to use information from previously executed trials to update the control input to be applied
during the next one. The first experimental facility is a non-minimum phase electro-mechanical system
and the other is a gantry robot whose basic task is to pick and place objects on a moving conveyor
under synchronization and in a fixed finite time duration that replicates many tasks encountered in
the process industries. Novel contributions are made in both the development of new algorithms and,
especially, in the analysis of experimental results both of a single algorithm alone and also in the
comparison of the relative performance of different algorithms. In the case of non-minimum phase
systems, a new algorithm, named Reference Shift ILC (RSILC) is developed that is of a two loop
structure. One learning loop addresses the system lag and another tackles the possibility of a large
initial plant input commonly encountered when using basic iterative learning control algorithms. After
basic algorithm development and simulation studies, experimental results are given to conclude that
performance improvement over previously reported algorithms is reasonable. The gantry robot has been
previously used to experimentally benchmark a range of simple structure ILC algorithms, such as those
based on the ILC versions of the classical proportional plus derivative error actuated controllers, and
some state-space based optimal ILC algorithms. Here these results are extended by the first ever detailed
experimental study of the performance of stochastic ILC algorithms together with some modifications
necessary to their configuration in order to increase performance. The majority of the currently reported
ILC algorithms mainly focus on reducing the trial-to-trial error but it is known that this may come at
the cost of poor or unacceptable performance along the trial dynamics. Control theory for discrete
linear repetitive processes is used to design ILC control laws that enable the control of both trial-to-trial
error convergence and along the trial dynamics. These algorithms can be computed using Linear Matrix
Inequalities (LMIs) and again the results of experimental implementation on the gantry robot are given.
These results are the first ever in this key area and represent a benchmark against which alternatives
can be compared. In the concluding chapter, a critical overview of the results presented is given together
with areas for both short and medium term further research.
Contents

Nomenclature xii

Acknowledgements xiii

1 Introduction 1

2 Literature Review 4
2.1 Overview of Iterative Learning Control . . . . . . . . . . . . . . . . . . . . 4
2.2 Basic ILC Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1 D-type ILC Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2 P-type ILC Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.3 Other Basic ILC Algorithms . . . . . . . . . . . . . . . . . . . . . 7
2.2.4 ILC with the Assistance of Feedback Controller . . . . . . . . . . . 8
2.3 Model-based Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 Inverse Model ILC . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.2 Optimal ILC Approaches . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.3 Robust ILC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.4 ILC in a Stochastic Setting . . . . . . . . . . . . . . . . . . . . . . 13
2.3.5 ILC based on 2D Systems Theory . . . . . . . . . . . . . . . . . . 14
2.4 Experimental Verification of ILC . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.1 Non-minimum Phase Systems . . . . . . . . . . . . . . . . . . . . . 17
2.4.2 Robotic Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.2.1 Simulation Study . . . . . . . . . . . . . . . . . . . . . . 18
2.4.2.2 Experimental Study . . . . . . . . . . . . . . . . . . . . . 18
2.4.3 Rotary Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.4 Process Control Systems . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4.5 Biological Applications . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4.6 Other Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5 Problems with ILC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5.1 Initial Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5.2 Long Term Performance . . . . . . . . . . . . . . . . . . . . . . . . 22
2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3 Reference Shift Algorithm 25


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Non-minimum Phase Test Facility . . . . . . . . . . . . . . . . . . . . . . 25
3.2.1 Mechanical structure . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.2 System Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

ii
CONTENTS iii

3.2.3 System Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28


3.2.4 Expression of Results . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3 Previous Work using the Non-minimum Phase Facility . . . . . . . . . . . 30
3.4 Reference Shift Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.4.1 Initial Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.4.2 Initial Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.3 Convergence Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4.4 The New Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4.5 Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.6 Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4.7 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.8 Performance Comparison . . . . . . . . . . . . . . . . . . . . . . . 46
3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4 Implementation of Stochastic ILC Algorithms 50


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2 The multi-axis gantry robot . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2.1 Mechanical Structure . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2.2 Modelling of the Axes . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2.3 Hardware and Software Setup . . . . . . . . . . . . . . . . . . . . . 56
4.2.3.1 Hardware Settings . . . . . . . . . . . . . . . . . . . . . . 56
4.2.3.2 Software Developments . . . . . . . . . . . . . . . . . . . 57
4.2.4 Reference Trajectories . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3 Algorithm Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.3.1 Discrete Stochastic ILC Algorithm . . . . . . . . . . . . . . . . . . 59
4.3.2 Discrete Sub-optimal Stochastic Learning Algorithm . . . . . . . . 62
4.4 Controller Arrangement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.4.1 Pure ILC Approaches . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.4.2 ILC with Feedback Controller . . . . . . . . . . . . . . . . . . . . . 63
4.4.3 Filter Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.5 Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.5.1 Stochastic Learning Algorithm . . . . . . . . . . . . . . . . . . . . 66
4.5.2 Sub-optimal Stochastic Learning Algorithm . . . . . . . . . . . . . 68
4.6 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.6.1 Test Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.6.2 D-type Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.6.3 P-type Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.6.4 Sub-optimal Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 75
4.6.5 Comparison of Experimental Results . . . . . . . . . . . . . . . . . 76
4.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

5 ILC based on 2D System Theory 81


5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2 Problem Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.3 State-feedback Control Scheme . . . . . . . . . . . . . . . . . . . . . . . . 87
5.3.1 Algorithm Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.3.2 Stability Analysis and State Feedback Design . . . . . . . . . . . . 89
CONTENTS iv

5.3.3 Simulations and Experiments . . . . . . . . . . . . . . . . . . . . . 90


5.4 Output-feedback Control Scheme . . . . . . . . . . . . . . . . . . . . . . . 93
5.4.1 Algorithm Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.4.2 Stability Analysis and Output Feedback Design . . . . . . . . . . . 96
5.4.3 Simulations and Experiments . . . . . . . . . . . . . . . . . . . . . 98
5.5 Comparison of Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

6 Comparative Analysis of ILC algorithms 109


6.1 Comparison of Mathematical Structures . . . . . . . . . . . . . . . . . . . 109
6.2 Comparison of Implementation Code . . . . . . . . . . . . . . . . . . . . . 110
6.3 Comparison of Experimental Results . . . . . . . . . . . . . . . . . . . . . 112
6.3.1 MSE Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.3.2 Tracking Comparison . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.4 Algorithm Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
6.4.1 Timing Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
6.4.2 Computing Complexity . . . . . . . . . . . . . . . . . . . . . . . . 116
6.5 Algorithm Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.6 Problems in Practical Implementation . . . . . . . . . . . . . . . . . . . . 118
6.6.1 Measurement Problems . . . . . . . . . . . . . . . . . . . . . . . . 119
6.6.2 Computation Problems . . . . . . . . . . . . . . . . . . . . . . . . 120
6.6.3 Problems Related to Discrete Systems . . . . . . . . . . . . . . . . 121
6.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

7 Conclusions and Future Work 123


7.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

A Additional Figures 128


A.1 Frequency response tests for the gantry robot . . . . . . . . . . . . . . . . 128
A.2 State Space Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
A.2.1 Continuous Time Models . . . . . . . . . . . . . . . . . . . . . . . 132
A.2.2 Discrete Time Models (Ts = 0.01s) . . . . . . . . . . . . . . . . . . 133
A.2.3 Discrete Time Models (Ts = 0.05s) . . . . . . . . . . . . . . . . . . 134

B Additional Results 135


B.1 Reference Shift Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
B.2 Stochastic Learning Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 138
B.2.1 Simulation of the D-type stochastic algorithm . . . . . . . . . . . . 138
B.2.2 Simulation of the P-type stochastic algorithm . . . . . . . . . . . . 138
B.2.3 Verification of filter arrangement . . . . . . . . . . . . . . . . . . . 139
B.2.4 Additional experimental results . . . . . . . . . . . . . . . . . . . . 140
B.3 2D ILC Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
B.3.1 Y -axis results (State-feedback controller) . . . . . . . . . . . . . . 144
B.3.2 Z-axis results (State-feedback controller) . . . . . . . . . . . . . . 145
B.3.3 Y -axis results (Output-feedback controller) . . . . . . . . . . . . . 146
B.3.4 Z-axis results (Output-feedback controller) . . . . . . . . . . . . . 147
CONTENTS v

Bibliography 148
List of Figures

2.1 Block diagram for an ILC process . . . . . . . . . . . . . . . . . . . . . . . 5


2.2 Block diagram for the D-type ILC algorithm . . . . . . . . . . . . . . . . 6
2.3 Performance comparison of ILC, PID and hybrid approaches. . . . . . . . 9
2.4 Practical resetting procedure in ILC . . . . . . . . . . . . . . . . . . . . . 22
2.5 Nyquist plot of ||1 − LG(z)|| < 1 for an experimental facility. . . . . . . . 24

3.1 The non-minimum phase test facility . . . . . . . . . . . . . . . . . . . . . 26


3.2 The non-minimum phase section. . . . . . . . . . . . . . . . . . . . . . . . 26
3.3 Step and impulse response of the non-minimum phase plant . . . . . . . . 27
3.4 Reference trajectories for the non-minimum phase plant . . . . . . . . . . 28
3.5 3-D surface chart for showing ILC testing results . . . . . . . . . . . . . . 29
3.6 Mean squared error plots for showing ILC testing results . . . . . . . . . . 30
3.7 Simulation of the phase-lead algorithm . . . . . . . . . . . . . . . . . . . . 31
3.8 An illustration of the reference shift approach. . . . . . . . . . . . . . . . 32
3.9 Controller structure of the reference shift algorithm. . . . . . . . . . . . . 33
3.10 Alternative structure of the reference shift algorithm . . . . . . . . . . . . 33
3.11 Initial simulation results of reference shift algorithm . . . . . . . . . . . . 34
3.12 Initial simulation results of reference shift algorithm . . . . . . . . . . . . 34
3.13 Initial simulation results of reference shift algorithm . . . . . . . . . . . . 35
3.14 Initial simulation results of reference shift algorithm (long term stability
test) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.15 Initial experimental results of the reference shift algorithm . . . . . . . . . 36
3.16 Controller structure of the revised reference shift algorithm. . . . . . . . . 37
3.17 Update mechanism showing (a) signals during k th trial, (b) the case where
τk ≤ τk0 , and (c) the case where τk > τk0 . . . . . . . . . . . . . . . . . . . . 39
3.18 Nyquist plot for the convergence criteria before and after filter applied. . . 42
3.19 Nyquist plot for the convergence criteria after filtering of different τk . . . . 43
3.20 Numerical simulation for the reference shift algorithm. . . . . . . . . . . . 44
3.21 Error results plot of reference shift algorithm for the sinusoid reference
(Kp = 0.138, Ki = 0.005, Kd = 0.003, L = 0.3). . . . . . . . . . . . . . . . . 45
3.22 The tracking trace of the 200th trial for the sinusoid reference in one
experiment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.23 Error results plot of reference shift algorithm for the trapezoidal reference
(Kp = 0.138, Ki = 0.005, Kd = 0.003, L = 0.3). . . . . . . . . . . . . . . . . 46
3.24 The tracking trace of the 200th trial for the trapezoidal reference. . . . . . 46
3.25 Long term performance test of reference shift algorithm for the sinusoid
reference (Kp = 0.138, Ki = 0.005, Kd = 0.003, L = 0.3). . . . . . . . . . . 47

vi
LIST OF FIGURES vii

3.26 Long term performance test of reference shift algorithm for the trapezoidal
reference (Kp = 0.138, Ki = 0.005, Kd = 0.003, L = 0.3). . . . . . . . . . . 47
3.27 Evolution of τk for both reference in experiments. . . . . . . . . . . . . . . 48
3.28 Performance comparison of different algorithms. . . . . . . . . . . . . . . . 49

4.1 The multi-axes gantry robot. . . . . . . . . . . . . . . . . . . . . . . . . . 51


4.2 Frequency response testing results for the X-axis of the gantry robot. . . 53
4.3 Frequency response testing results for the Y -axis of the gantry robot. . . . 54
4.4 Frequency response testing results for the Z-axis of the gantry robot. . . . 55
4.5 The layout of hardware components. . . . . . . . . . . . . . . . . . . . . . 57
4.6 Block diagram of the ILC control program structure . . . . . . . . . . . . 58
4.7 Individual reference trajectory for all axes. . . . . . . . . . . . . . . . . . . 59
4.8 3-D combined reference trajectory. . . . . . . . . . . . . . . . . . . . . . . 60
4.9 Block diagram of the controller structure and arrangement. . . . . . . . . 63
4.10 Block diagram of the controller structure and arrangement. . . . . . . . . 63
4.11 The frequency spectrum of tracking error for a range of trials. . . . . . . . 65
4.12 Filter arrangements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.13 Experimental results for different filter designs (Pu,0 = 100, Qt = 0.01). . . 67
4.14 Simulations of varying Pu,0 . (PID = {60, 30, 0.2}, Qt = 0.001, Px,0 = 0.1) . 68
4.15 Simulations of varying Qt . (PID = {60, 30, 0.2}, Pu,0 = 800, Px,0 = 0.1) . . 68
4.16 Simulations with varying PID gains. (Pu,0 = 1000, Qt = 0.001, Px,0 = 0.1) 69
4.17 X-axis P I100 for various Pu,0 and Qt . . . . . . . . . . . . . . . . . . . . . 70
4.18 Experimental results (Qt = 0.001, Px,0 = 0.1). . . . . . . . . . . . . . . . . 71
4.19 Experimental results (Pu,0 = 100, Px,0 = 0.1). . . . . . . . . . . . . . . . . 72
4.20 Experimental results (Pu,0 = 1000, Qt = 0.001, Px,0 = 0.1). . . . . . . . . . 73
4.21 Experimental results (PID={6, 3, 0.2}, Qt = 0.001, Px,0 = 0.1). . . . . . . . 74
4.22 Experimental results (PID={600, 300, 0.2}, Qt = 0.1, Px,0 = 0.1). . . . . . 75
4.23 Experimental results (PID={600, 300, 0.2}, Pu,0 = 50, Px,0 = 0.1). . . . . . 76
4.24 Experimental results for sub-optimal algorithm (Qt = 0.01). . . . . . . . . 77
4.25 Experimental results for sub-optimal algorithm (Pu,0 = 100). . . . . . . . 78
4.26 A comparison of stochastic learning algorithm applied on D-type and P-
type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.27 Comparison of MSE for x-axis with other algorithms. . . . . . . . . . . . . 80

5.1 An example of ILC: learning process . . . . . . . . . . . . . . . . . . . . . 83


5.2 An example of ILC: individual trial . . . . . . . . . . . . . . . . . . . . . . 83
5.3 An example of ILC: learning process . . . . . . . . . . . . . . . . . . . . . 84
5.4 An example of ILC: individual trial . . . . . . . . . . . . . . . . . . . . . . 84
5.5 Simulation results for the state-feedback algorithm . . . . . . . . . . . . . 91
5.6 The effect of filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.7 (a) Evolution of the output of X-axis for the first 20 trials in one ex-
periment, (b) evolution of the control input, (c) evolution of the error
dynamics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.8 Along the trial performance for State-feedback 2D ILC algorithm (X-axis). 94
5.9 Mean squared error for all axes . . . . . . . . . . . . . . . . . . . . . . . . 95
5.10 An example of the multi-sampling technique. . . . . . . . . . . . . . . . . 99
5.11 An example of the linear interpolation. . . . . . . . . . . . . . . . . . . . . 99
5.12 Comparison of multi-sampling method and linear interpolation. . . . . . . 100
LIST OF FIGURES viii

5.13 The Input/Output/Error signals at 50th trial without filtering . . . . . . 101


5.14 Influence of cutoff frequency on the error ek (p) . . . . . . . . . . . . . . . 102
5.15 (a) Evolution of the output of X-axis for the first 20 trials in one ex-
periment, (b) evolution of the control input, (c) evolution of the error
dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.16 Along the trial performance of the 200th trial in one experiment. . . . . . 104
5.17 Along the trial performance of the 200th trial with extended reference. . . 105
5.18 Comparison of using normal reference and extended reference . . . . . . . 106
5.19 Influence of K3 on the error ek (p) . . . . . . . . . . . . . . . . . . . . . . . 106
5.20 Comparison of state-feedback controller and output-feedback controller . . 107
5.21 Comparison of 2D algorithms with other algorithms (X-axis). . . . . . . . 107

6.1 Comparison of four algorithms implemented on a multi-axis gantry robot. 112


6.2 Comparison of four algorithms implemented on a multi-axis gantry robot
(magnified). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.3 Comparison of the algorithms implemented on a multi-axes gantry robot. 114
6.4 Output trajectories using different ILC algorithms . . . . . . . . . . . . . 115
6.5 Comparison of output trajectories for three ILC algorithm (Trial:2) . . . . 116
6.6 Comparison of output trajectories for three ILC algorithms (k = 20) . . . 117
6.7 Comparison of output trajectories for three ILC algorithms (k = 100) . . 118
6.8 Output signal and ideal reference signal. . . . . . . . . . . . . . . . . . . . 119
6.9 Adaptive gain Kk evolution of sampling frequency 100Hz and 1KHz using
different computational tools. . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.10 Comparison of using different sampling rate . . . . . . . . . . . . . . . . . 122

A.1 The base framework of the gantry robot. . . . . . . . . . . . . . . . . . . . 128


A.2 X-axis frequency response (Experiment 1 result has not been used as it
has got too much difference with others) . . . . . . . . . . . . . . . . . . . 129
A.3 Y -axis frequency responses . . . . . . . . . . . . . . . . . . . . . . . . . . 129
A.4 Z-axis frequency response . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
A.5 Detailed frequency responses for X-axis at 1Hz and 30Hz . . . . . . . . . 130
A.6 The drift effect in frequency response tests . . . . . . . . . . . . . . . . . . 131
A.7 Solution to the drift effect in frequency response tests . . . . . . . . . . . 131

B.1 Additional experimental results for the Reference Shift algorithm (Pa-
rameters: Kp = 0.105, Ki = 0.005, Kd = 0.003, L = 0.1). . . . . . . . . . . 135
B.2 Additional experimental results for the Reference Shift algorithm (Pa-
rameters: Kp = 0.138, Ki = 0.005, Kd = 0.003, L = 0.3). . . . . . . . . . . 136
B.3 Additional experimental results for the Reference Shift algorithm (Pa-
rameters: Kp = 0.138, Ki = 0.005, Kd = 0.003, L = 0.3). . . . . . . . . . . 136
B.4 Additional experimental results for the Reference Shift algorithm. (Pa-
rameters: Kp = 0.138, Ki = 0.005, Kd = 0.003, L = 0.3, Filter: zero-
phase Chebyshev low pass filter with cut off frequency of 1Hz). . . . . . . 137
B.5 Additional experimental results for the Reference Shift algorithm. (Pa-
rameters: Kp = 0.138, Ki = 0.005, Kd = 0.003, L = 0.3, Filter: zero-
phase Chebyshev low pass filter with cut off frequency of 0.85Hz). . . . . 137
B.6 Parameter tuning effects for the D-type stochastic learning algorithm . . . 138
B.7 Parameter tuning (Pu,0 ) effects for the D-type stochastic learning algorithm138
LIST OF FIGURES ix

B.8 Parameter tuning (Qt ) effects for the D-type stochastic learning algorithm 139
B.9 Comparison of effort of filter arrangement in simulation and experiment. . 139
B.10 The D-type stochastic learning algorithm experimental results (X-axis):
(a) Evolution of the output, (b) Evolution of the control input, (c) Evo-
lution of the error dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . 140
B.11 The D-type stochastic learning algorithm experimental results (Y -axis):
(a) Evolution of the output, (b) Evolution of the control input, (c) Evo-
lution of the error dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . 140
B.12 The D-type stochastic learning algorithm experimental results (Z-axis):
(a) Evolution of the output, (b) Evolution of the control input, (c) Evo-
lution of the error dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . 140
B.13 The P-type stochastic learning algorithm experimental results (X-axis):
(a) Evolution of the output, (b) Evolution of the control input, (c) Evo-
lution of the error dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . 141
B.14 The P-type stochastic learning algorithm experimental results (Y -axis):
(a) Evolution of the output, (b) Evolution of the control input, (c) Evo-
lution of the error dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . 141
B.15 The P-type stochastic learning algorithm experimental results (Z-axis):
(a) Evolution of the output, (b) Evolution of the control input, (c) Evo-
lution of the error dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . 141
B.16 The sub-optimal stochastic learning algorithm experimental results (X-
axis): (a) Evolution of the output, (b) Evolution of the control input, (c)
Evolution of the error dynamics . . . . . . . . . . . . . . . . . . . . . . . . 142
B.17 The sub-optimal stochastic learning algorithm experimental results (Y -
axis): (a) Evolution of the output, (b) Evolution of the control input, (c)
Evolution of the error dynamics . . . . . . . . . . . . . . . . . . . . . . . . 142
B.18 The sub-optimal stochastic learning algorithm experimental results (Z-
axis): (a) Evolution of the output, (b) Evolution of the control input, (c)
Evolution of the error dynamics . . . . . . . . . . . . . . . . . . . . . . . . 142
B.19 Long term stability testing for the P-type stochastic learning algorithm. . 143
B.20 The state-feedback 2D ILC algorithm experimental results (Y -axis): (a)
Evolution of the output, (b) Evolution of the control input, (c) Evolution
of the error dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
B.21 Along the trial performance for the state-feedback 2D ILC algorithm (Y -
axis). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
B.22 The state-feedback 2D ILC algorithm experimental results (Z-axis): (a)
Evolution of the output, (b) Evolution of the control input, (c) Evolution
of the error dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
B.23 Along the trial performance for the state-feedback 2D ILC algorithm (Z-
axis). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
B.24 The output-feedback 2D ILC algorithm experimental results (Y -axis): (a)
Evolution of the output, (b) Evolution of the control input, (c) Evolution
of the error dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
B.25 Along the trial performance for the output-feedback 2D ILC algorithm
(Y -axis). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
B.26 The output-feedback 2D ILC algorithm experimental results (Z-axis): (a)
Evolution of the output, (b) Evolution of the control input, (c) Evolution
of the error dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
LIST OF FIGURES x

B.27 Along the trial performance for the output-feedback 2D ILC algorithm
(Z-axis). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
List of Tables

2.1 Basic ILC algorithms in equations . . . . . . . . . . . . . . . . . . . . . . 8

4.1 Testing parameters value . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69


4.2 P I100 Results for the X-axis (×104 ) . . . . . . . . . . . . . . . . . . . . . 69

6.1 Mathematical formulation of algorithms . . . . . . . . . . . . . . . . . . . 110


6.2 Algorithm computer code comparison . . . . . . . . . . . . . . . . . . . . 111
6.3 Recorded processing time of ILC algorithms . . . . . . . . . . . . . . . . . 117
6.4 Recorded required memory of ILC algorithms . . . . . . . . . . . . . . . . 117

xi
Nomenclature

s Laplace transform variable


z z-transform variable
k Trial number
u Input signal sequence
e Error signal sequence
y Output signal sequence
t Continuous time
p Discrete time step
Z Set of integers

xii
Acknowledgements

Firstly, thanks to my parents, my fiancee Yuanyuan Song and all my family for their
financial support and encouragement of my study abroad. Secondly, great thanks to
my supervisors Professor Eric Rogers and Dr Paul Lewin for their help on not only my
research but also my living in UK. Moreover, special thanks to Dr Chris Freeman who
did the proof reading of my thesis and gave me great support during my research. Also,
many thanks to Dr James Ratcliffe and Lukasz Hladowski (University of Zielona Gora,
Poland) for their continuous help in the research discussion and friendship.

xiii
Chapter 1

Introduction

Iterative learning control (ILC) is concerned with reference tracking control problems,
where the required trajectory is repeated ad-infinitum over a finite duration termed the
trial length. This applies to many industrial applications, such as injection molding,
robotics, automated manufacturing plants, and food processing to name a few.

Each implementation of the trajectory is commonly known as a trial. The novel principle
behind ILC is to suitably use information from previous trials, often in combination
with appropriate current trial information, to select the current trial input in order
to sequentially improve performance from trial-to-trial. It is important to note how
ILC differs from other control systems design methods that use learning-type ideas or
strategies, such as adaptive control, neural networks, and repetitive control (RC). In
particular, adaptive control designs modify the controller, which is a system, whereas
ILC modifies the control input signals. Additionally, adaptive controllers typically do
not take advantage of the information contained in repetitive command signals.

Neural network based control algorithms also modify controller parameters rather than
a control signal and, in general, require the modification of large networks of nonlinear
neurons. This, in turn means that extensive training data is required that may not be
available and also fast convergence may be difficult to achieve. Also neural network
based algorithms take longer to calculate which is not suitable for real-time processes.
In structural terms, ILC is closely linked to repetitive control (RC) where the main
difference (see below for more discussion) is that RC is meant for use in a continuous
operation. ILC is intended for discontinuous operation where the system is reset at the
end of each trial to begin the next one where, in general, it may not be possible to assume
that the same initial conditions apply for each trial. Moreover, the time taken to reset
can be used to compute the control input for the next trial. Also there is frequently a
trade-off to be made between reduction in the trial-to-trial error and the performance
achieved along the trial.

An operation found in many industries to which ILC can be applied is a gantry robot
1
Chapter 1 Introduction 2

whose task is to collect objects from one location, place it on a conveyor under syn-
chronisation, and then repeat this operation over and over again. Hence data collected
during one execution can be used in the time taken to reset to update the control signal
for the next execution. A laboratory version of this operation will form the starting
point for many of the experimental results reported in this thesis.

An application to which RC can be applied to good effect is the control of a hard disk
drives read/write head, in which each trial is a full rotation of the disk, and the next
trial immediately follows the current trial. The difference between RC and ILC is the
setting of the initial conditions for each trial. In ILC, the initial conditions are often
assumed to be the same at the start of each trial although in practice this may not be a
valid assumption or one that is difficult to achieve. In RC, the initial conditions are set
to the final conditions of the previous trial. The difference in initial-condition resetting
has led to different analysis techniques and results but in some cases a form of duality
can be established.

Since the original work, over 20 years ago, the ILC subject area has been the focus
of much research effort. A considerable volume of this has been on trial-to-trial error
convergence analysis, initially for linear plant dynamics, or approximated as such, with
extension to the nonlinear case. Developments in sensor and actuator technology etc
now mean that experimental verification is possible and this is essential if, for example,
the aim is to apply ILC widely in industrial and related applications. There has already
been work in this area but much remains to be done.

In this thesis, the major contributions are new results in experimental benchmarking
of linear model ILC algorithms, coupled with algorithm development and enhancement
where necessary. Moreover, a particular feature is the emphasis of benchmarking the
performance of competing algorithms that is also essential for widespread use of ILC
but has been the subject of relatively little work until now. Two experimental facilities
are used in this thesis. These are a non-minimum phase electro-mechanical system and
a gantry robot. Both of these facilities have previously been used to experimentally
benchmark a range of simple structure ILC algorithms, such as those based on the ILC
versions of the classical proportional plus derivative error actuated controllers, and some
state-space based optimal control based algorithms.

The thesis begins with an overview of ILC literatures in Chapter 2 which summarises the
development of ILC algorithms in different categories. In Chapter 3, a novel algorithm
named the Reference Shift ILC algorithm (RSILC) is developed and experimentally
tested on the non-minimum phase plant which improves performance compared with
previous algorithms. In Chapter 4, a series of stochastic learning algorithms are im-
plemented on the gantry robot and a comparison of performance is provided. Some
modifications required to obtain the results are also given. Chapter 5 introduces the de-
velopment of ILC techniques based on 2-dimensional (2D) system theory (in particular,
Chapter 1 Introduction 3

the theory of discrete Linear Repetitive Processes) which provided the stability analysis
of both the trial-to-trial performance and the performance achieved along the trials. In
Chapter 6, performance comparisons and some practical issues related to this research
are detailed. Finally in Chapter 7, conclusions are given together with directions for
both short and longer term future research.
Chapter 2

Literature Review

This chapter gives a general review of the development of iterative learning control (ILC)
algorithms and related techniques. It will be seen that most research of ILC has concen-
trated on developing and analysing new algorithms. Application based ILC research in
the past was heavily outweighed by theoretical work. However, aided by developments
in sensor and actuator technology and computing hardware and software, it is now
relatively easy to undertake experimental benchmarking with a view to aiding onward
industrial application of ILC schemes. This thesis reports substantial new contributions
in this general area and as a preliminary step, a survey of the relevant literature is now
given.

2.1 Overview of Iterative Learning Control

The idea of ILC can be traced back at least to an article published in Japanese by
Uchyama (1978) which is sometimes quoted as the origin of the subject. However, the
articles by Arimoto et al. (1984a,b) provided a formal definition of ILC and are the most
frequently cited. The theory behind ILC is motivated by human learning. Humans learn
by practicing or repeating a task until it is perfected. Many examples can be found in
sports training: basketball shootouts, penalty kicks or free kicks, golf swings, etc. Players
train thousands of times to gain good performance using their muscle memory. Arimoto
et al. (1984a) investigated if similar methods could be applied to robotics, to produce
some form of learning autonomy without the need for human intervention. Sensors
would replace human eyes and controllers and actuators would take the place of muscle
memory. So ILC is a control method which is designed for improving tracking control
performance when a system is performing a repeating task. The system is run over and
over again on a finite time interval which is called a trial (also known as a pass or an
iteration in some literature). The main idea is to use the tracking error of the last trial
to update the control input signal for the current trial of ILC and the goal is to obtain

4
Chapter 2 Literature Review 5

better tracking performance from trial to trial. The block diagram (Figure 2.1) shows
the structure of the basic ILC loop and the learning progress of the related signals.

Trial Number Trial Number Trial Number

k k k

k-1 k-1 k-1


……

……

……
1 1 1

0 0

Sample Time Sample Time Sample Time


1 N 0 N-1 1 N

Tracking Error Control Input Plant Output


ek uk yk
r + ILC Controller Plant
-

Figure 2.1: Block diagram for an ILC process

There are several key features of the principle of ILC which distinguish it from other
control techniques (e.g. repetitive control).

• The reference trajectory is pre-defined over a finite time interval 0 ≤ t ≤ T called


a trial, where T denotes the trial length. All the control related efforts (e.g.
input/output/error signals) are accordingly defined over the same finite interval.

• The initial conditions of the system are reset before each trial commences. This
means there is a gap time in which computation of the control effort can be
achieved. For example, input updating and filtering.

During the last twenty years, a great number of control ILC algorithms have been devel-
oped. ILC has become a framework encompassing many varieties of control approach.
Each one has its own merits in terms of performance such as convergence, robustness,
learning speed, or suitability for special plants. A survey paper which provides an
overview of ILC research in recent years is by Bristow et al. (2006), and Ahn et al.
(2007) has categorized almost all the ILC algorithms proposed between 1998 and 2004
from different aspects, such as mathematical formulation, type of application, type of
systems, etc.

The main reason why ILC has attracted considerable research effort is its simplicity
and potential effectiveness. Generally, the only information controllers can learn from
is the tracking error. There are plenty of ways to use this error which gives rise to
the large number of ILC algorithms. The remainder of this chapter gives a review of
Chapter 2 Literature Review 6

papers concerned with ILC algorithms. Roughly, the algorithms can be divided into
two categories. Firstly there are algorithms which assume no prior knowledge of the
plant model, and the controllers generally apply simple computation on the tracking
error vector. The other category comprises model-based algorithms which firstly need a
mathematical representation of the plant (e.g. transfer function, zero-pole, state space
matrices, etc.) before the algorithms can be applied. Also, most of these algorithms
need a significant amount of matrix computation to be conducted in the gap between
each learning trial. Discussion related to these two categories of algorithm is given later
in this chapter.

2.2 Basic ILC Algorithms

Basic algorithms are simple and easy to be implemented as only manipulation of the
error vector is generally needed in the update. In most of cases, the computation can be
carried out in the gap (i.e. the resetting time) between each trial, therefore it does not
require a controller with high computing performance. This is a great attraction for both
researchers and manufacturers, as these algorithms might provide good or acceptable
performance for a very low cost, for example, D-type ILC Arimoto et al. (1984a), P-type
Arimoto et al. (1985).

2.2.1 D-type ILC Algorithm

Arimoto et al. (1984a) formulated a derivative type (D-type) ILC control algorithm in
the form of (2.1), which can be also represented in the block diagram shown in Figure 2.2.

yk(t)
uk(t) Plant - + r(t)

+
ek(t)
uk+1(t) + L d/dt

Figure 2.2: Block diagram for the D-type ILC algorithm

uk+1 (t) = uk (t) + Lėk (t) (2.1)


ek (t) = r(t) − yk (t) (2.2)

where uk (t) is the input signal applied on the kth trial, L is the learning gain, ėk (t)
is the error derivative, r(t) is the reference trajectory and yk (t) is the plant output.
Here t ∈ [0, T ], where T is a known finite time (trial length). The plant appearing in
Chapter 2 Literature Review 7

that paper, which is a DC motor, has an integral effort and use of the derivative of the
tracking error is able to give satisfactory learning progress. Arimoto et al. (1984a) also
gave the condition of convergence for the D-type ILC as

||1 − CBL|| < 1 (2.3)

where B and C are from the state space model of the plant, L is the learning gain from
ILC update law in (2.1), || · || is the norm for l2 space.

2.2.2 P-type ILC Algorithm

In Arimoto et al. (1985), the D-type algorithm was transferred into a simpler form which
uses only the error signal with a proportional gain (so-called P-type, see Equation (2.4))
in order to potentially avoid amplifying small noise signal through differentiation and
destabilizing the control system. Also, without the need to calculate the derivatives, it
enables great simplicity and ease of implementation. The law is given by:

uk+1 (t) = uk (t) + Lek (t) (2.4)

where L is the proportional learning gain.

2.2.3 Other Basic ILC Algorithms

A P-I-D combined type ILC algorithm was introduced by Kim and Kim (1996) as a
general form. When the gains of the appropriate parts (i.e. the proportional and integral
part or the derivative and integral part) are set to zero, this becomes P-type or D-type
ILC respectively. A higher order ILC algorithm uses more than one trial of tracking error
to update the control input and enables fast convergence and improves the stability of
the control loop (Bien and Huh, 1989; Ahn et al., 1993).

Barton et al. (2000) reported that instead of using the instantaneous error, use of the
error occurring a number of samples ahead is able to successfully deal with a system
with phase lag. Freeman et al. (2005b) later introduced this technique as the phase-
lead algorithm because it is originally based on frequency domain analysis. The same
idea was considered by Wang and Longman (1996). The phase-lead algorithm with a
carefully selected filter can be used to successfully control the non-minimum phase plant
(Freeman et al., 2005b).

An ILC update law with a forgetting factor was discussed in Wang and Longman (1996).
Using the forgetting factor reduces the noise transmission and increases the noise immu-
nity of the algorithm. This effect becomes obvious when considering the Nyquist plot of
a system. In the cases where the poles of the system are very close to the unit circle, the
Chapter 2 Literature Review 8

forgetting factor has the ability to draw the poles away from the unit circle and reduce
the risk of instability (Lewin, 1999).

Below (Table 2.1) is a summary table of the reviewed basic ILC algorithms.

Algorithm Equations
D-type ILC uk+1 (t) = uk (t) + Lėk (t)
P-type ILC uk+1 (t) = uk (t) + Lek (t) R
PID-type ILC uk+1 (t) = uk (t) + Kp ek (t) + Ki ek (t)dt + Kd ėk (t)
uk+1 (t) = uk (t) + N
P
Higher order ILC n=0 βn (t)el (t)
Phase lead ILC uk+1 (t) = uk (t) + Lek (t + τ ), τ ∈ Z
Forgetting factors uk+1 (t) = β[uk (t) + Lek (t)]

Table 2.1: Basic ILC algorithms in equations

2.2.4 ILC with the Assistance of Feedback Controller

In some cases ILC can be ‘added on’ to a conventional control scheme. In particular, a
standard feedback control scheme is first designed to either stabilise an unstable plant or
modify the transient response of an already stable system. This is sometimes known in
the ILC community as a hybrid arrangement. Consider Figure 2.3 which is a schematic of
ILC performance compared against a standard control scheme here taken for simplicity
as a three term PID loop. The line corresponding to the PID controller alone is horizontal
as it does not have any trial to trial learning capability. The blue line represents ILC
alone and the final line represents the hybrid case and is drawn to illustrate that in
many cases this leads to even better performance.

Generally, the hybrid approach has two alternative configurations which are serial ar-
rangement and parallel arrangement. It has been reported by Ratcliffe et al. (2005a)
that the serial arrangement is easier to apply but potentially will lead to increased noise.
The parallel arrangement operates independently of the learning controller so that it is
able to satisfactorily deal with sudden changes in the plant dynamics. Tayebia and Is-
lamb (2006) gave a series of experimental results using a PD controller cooperating with
an ILC controller to cope with unknown parameters and disturbances.

It has been reported that in a closed loop control, using the ILC tracking error may
result in conflicting feedback and feedforward actions (Dijkstra and Bosgra, 2002a). This
can be avoid by introducing frequency weighting to the measured errors but Dijkstra
and Bosgra (2002a) state that the problem can be also solved without any extra filter
by taking the desired behaviour of ILC into account and choosing the input signal
accordingly.
Chapter 2 Literature Review 9

ILC

Tracking Error
PID
Hybrid

Trial Number

Figure 2.3: Performance comparison of ILC, PID and hybrid approaches.

2.3 Model-based Algorithms

Model-based ILC algorithms are developed based on a pre-assumed plant model. Mod-
elling of the plant must therefore be conducted before algorithm development and im-
plementation. An accurate model of the system can be used with the real plant in
parallel to provide information for the controller which might not be available from
other methods (Roover and Bosgra, 1997). In most cases, the model is useful for pro-
viding information about system states which can not be measured easily. As well as
feeding the control input into the real plant, the difference between the real plant output
and model-computed output can also be supplied to the model for increased accuracy.

Phan and Frueh (1996, 1999) introduced a novel way of implementing a model-based
controller by learning the plant model during each trial. As the reference trajectory is
fixed for all trials, it is only necessary to learn the dynamics of the plant for the particular
trajectory as other dynamics will not be excited. After each trial is performed, a set of
data for the control input and the corresponding output can be obtained. Using this
data, a set of basis functions can be trained to emulate the behaviour of the plant and
produce a model. The model is then used for standard model-based control. Effectively,
this method can be integrated as a real-time plant identification technique. Phan and
Frueh (1999) implemented this model-based controller on an experimental apparatus,
consisting of a number of parallel steel rods held together by a thin spring-steel wire.
Actuation force was supplied to one rod, while the tip of another rod was required to
follow a set trajectory. The model based controller successfully reduced the tracking
error by over one order of magnitude.

Generally, for a discrete LTI SISO system given by:

x(t + 1) = Ax(t) + Bu(t)


(2.5)
y(t) = Cx(t)
Chapter 2 Literature Review 10

over a finite time interval 0 ≤ t ≤ N (N < ∞) these plant dynamics can be then written
in matrix form as
 
CB 0 0 ··· 0
 
 CAB
 CB 0 ··· 0 
 CA2 B CAB CB · · · 0 
G=  (2.6)
 .
.. .
.. .. .. .. 

 . . . 

CAN −1 B CAN −2 B ··· ··· CB

where A,B,C represent the Markov parameters in the system (2.5).

2.3.1 Inverse Model ILC

There are many examples of model based algorithms developed in recent years which
explicitly use this representation. These include inverse model ILC, adjoint ILC, and
optimal ILC. Theoretically, the inverse model method can been seen as an ideal so-
lution to the linear control problem. But it requires an ideal model representation in
mathematical form. If the control input uk (t) and system output yk (t) are represented
as a linear transformation and if ILC is successful, then an ideal control input can be
found eventually as the trial number k goes to infinity. The system output y∞ (t) will be
exactly the same as the reference signal r(t). By reversing the left hand side and right
hand side in Equation (2.8), the ideal control input u∞ (t) can be obtained.

yk (t) = G · uk (t) (2.7)


r(t) = G · u∞ (t) (2.8)
u∞ (t) = G−1 · r(t) (2.9)

Such an inverse can be similarly achieved by exchanging the denominator polynomial


terms and numerator polynomial terms in a transfer function of the plant model or
calculating an inverse matrix of a model matrix given by (2.6). But practically, due to
the inaccuracies of the model, this technique is not suitable for implementation on real
plants as the inverse, if it exists, is likely to be extremely sensitive to modelling error
and noise. Therefore a combination of ILC and an inverse model technique has been
considered during a recent investigation (Markusson et al., 2001).

However, the inverse model method is not feasible for a wide range of control systems, for
example, a non-minimum phase plant. This is because the inversion of a non-minimum
phase plant will lead to an unstable system as there will be at least one pole in the right-
half complex plane. In Sogo et al. (2000), a stable inverse method has been introduced,
which solved the problem of finding a stable inverse for non-minimum phase plants.

Other model based ILC algorithms (e.g. norm optimal ILC, ILC in stochastic systems)
Chapter 2 Literature Review 11

are mainly rooted in distinct areas of control theory, e.g. optimal control, control of
stochastic systems, etc. This class of algorithms is reviewed next.

2.3.2 Optimal ILC Approaches

Optimisation is the process of looking for the best solution for varieties of problems
when a system has more than one specific ‘point’ that needs to be considered. Apply-
ing optimisation to control problems will typically balance several competing objectives
for a controller, for example, system stability, complexity, robustness, convergence, etc.
Generally, a cost function will be minimised and by varying the cost function weighting
terms, it is possible to adjust the balance between these performance criteria. In ILC
schemes, the cost function usually includes a description of the tracking error, so that
the optimal controller attempts to reduce it to a minimum (Chen and Fang, 2004; Gun-
narsson and Norrlöf, 1999). Many strategies implement a gradient descent approach
for the minimisation process (Togai and Yamano, 1985). A linear quadratic optimal
learning control algorithm has been designed by Frueh and Phan (2000) and this ap-
proach is developed to allow the optimisation to avoid requiring detailed knowledge of
the system. Hatzikos et al. (2004) provide a useful summary of optimal ILC develop-
ment, before going on to investigate the use of Genetic Algorithms (GA) to develop an
optimal controller which can be applied to nonlinear plants.

In Amann et al. (1996b), a norm-optimal approach was proposed to determine the


control input at the (k + 1)th trial by minimizing the following cost function:

Jk+1 (uk+1 ) = kek+1 k2Y + kuk+1 − uk k2U (2.10)

Where U and Y are l2 -spaces, the norms k · k are the appropriate norms for the input
output spaces U and Y. The cost function involves both the tracking error and also the
change in the input sequence. Minimising the latter aims to prevent excessive control
effort from being applied to the plant and helps to generate smooth inputs to actuators
(Amann et al., 1996a; Lee et al., 2000). It also makes the learning somewhat conservative.
The cost function can be written in a more familiar algebraic form involving sums. The
related control input update law can be given as:

N
X N
X −1
Jk+1 = eTk+1 (t)Q(t)ek+1 (t) + [uk+1 (t) − uk (t)]T R(t)[uk+1 (t) − uk (t)] (2.11)
t=1 t=0

Where Q(t) and R(t) are weighting matrices used to adjust the balance between opti-
mally reducing the tracking error and limiting the change in the input sequence from
trial to trial. The optimised input update algorithm has the following form:

uk+1 = uk + R−1 GT Qek+1 (2.12)


Chapter 2 Literature Review 12

Here ek+1 , the current trial error, is used in the input update rather than the past error
ek . The weights Q and R are chosen as:

Q = qI
R = rI

where q and r are scalars and I is the identity matrix of appropriate dimension.

Using the current trial error and system transpose makes the system noncausal, resulting
in an algorithm which is impossible to implement in practice. However, Amann et al.
(1996b) reported that the problem can be solved by means of an additional optimal feed-
back control formulation of the algorithm. Later the algorithm has been implemented
on a gantry robot (Ratcliffe et al., 2006b) and the performance has been found to out-
perform all other controllers used on that plant. Some of the results generated by the
norm-optimal algorithm on the gantry robot have been used to compare with the ILC
algorithm applied in this thesis. A simplified version of the norm-optimal ILC algorithm
named the Fast norm-optimal ILC (F-NOILC) has been implemented by Ratcliffe et al.
(2005b). Also these approaches have been considered and implemented to the control of
an accelerator based free electron laser with improved performance reported (Kichhoff
et al., 2008).

2.3.3 Robust ILC

It is usually impossible to identify a system model which is an exact representation of


the physical plant itself. However, within certain tolerance bounds, the performance
might be guaranteed theoretically. But it is not evident that an ILC controller will
be able to cope with disturbances, variations in the plant and modelling errors. H∞
(i.e. “H-infinity”) methods are used in control theory to synthesize controllers achieving
robust performance or stabilization. Liang and Looze (1993) derive and define robustness
conditions to ILC systems specifically. Roover (1996) extended these analysis techniques
for ILC in the H∞ mathematical framework into the actual synthesis of an ILC controller
and showed how this process can be generalised to the synthesis of an H∞ (sub)optimal
controller. Another important results is that the uncertainty of a system can be explicitly
incorporated into the design procedure via weighting functions, turning it into a robust
performance synthesis problem. A practical design method for the past-error feedforward
scheme has been given for the open-loop case (Roover and Bosgra, 2000).

Sensitivity is an important measure in robustness analysis, as it describes how one


component or variable of a system is affected by a change in another component or
variable. High sensitivity implies that a small change of one variable has a large effect on
others. Therefore low sensitivity is generally desired when designing a robust controller.
Tayebi and Zaremba (2003) propose a generic approach to designing robust learning
Chapter 2 Literature Review 13

control systems. By using a hybrid combination of a standard feedback controller in


parallel with a learning controller, stability is theoretically guaranteed, as long as the
feedback controller meets a specified robustness performance condition. Therefore a
simple calculation leads to a performance weighting function, which is applied to the
input of the learning controller and guarantees overall stability.

A special form of ILC (denoted by Hankel ILC) with separate actuation and observation
time windows was designed and shown to be able to deal with model uncertainties (Wi-
jdeven and Bosgra, 2008). Donkers et al. (2008) also studied robustness against model
uncertainty of norm optimal ILC controllers. French (2008) provided the conditions of
robust stability by using gap metrics.

Almost all of the currently reported work on robust control is for discrete time systems
whose dynamics are then written in the form of (2.5) that then forms the basis for
onward analysis. This means that the along the trial dynamics cannot be explicitly
included. Some work on an alternative approach using 2D systems theory is considered
in this thesis and see also the work of, for example, Ratcliffe et al. (2008).

2.3.4 ILC in a Stochastic Setting

A number of ILC algorithms have been developed in a stochastic setting over recent
years. The results currently available are concerned with algorithm derivation and the
establishment of various fundamental systems theoretic properties. For example, in Saab
(2001a,b, 2003), a discrete-time stochastic learning algorithm has been introduced for
both P-type and D-type ILC. The input updates have the same form of (4.6) and (4.7),
although the algorithm is based on the discrete-time system and the learning gain Kk
is computed as

Kk = Pu,k (CB)T · [(CB)Pu,k (CB)T + (C − CA)


Px,k (C − CA)T + CQt C T + Rt ]−1 (2.13)
Pu,k+1 = (I − Kk CB)Pu,k (2.14)
Px,k+1 = APx,k AT + BPu,k B T + Qt (2.15)

where Qt = E(ω(t, k)ω(t, k)T ), Px,0 = Ek (δx(0, k)δx(0, k)T ) are positive semi-definite
matrices, Rt = Ek (v(0, k)v(0, k)T ) is a positive definite matrix and Pu,0 = E(δu(t, 0)
δu(t, 0)T ) is a symmetric positive definite matrix (E and Ek are the expectation operators
with respect to the time domain and the trial domain respectively, δx(0, k), δu(t, 0) are
the initial state error and the input error respectively).

A sub-optimal algorithm was proposed following the stochastic learning algorithm which
simplified the computation of the learning gain matrix by removing the Px,k term and
Chapter 2 Literature Review 14

hence the learning control gain matrix Kk is set to

Kk = Pu,k (CB)T · [(CB)Pu,k (CB)T + CQt C T + Rt ]−1 (2.16)


Pu,k+1 = (I − Kk CB)Pu,k (2.17)

where Pu,0 and Qt are the same matrices as given above. Until present, there is no
reported implementation which applies these approaches to any kind of physical plat-
form for verification or comparison. Chapter 4 will report the first ever experimental
results on stochastic ILC, including some performance focused modifications of the basic
algorithms.

2.3.5 ILC based on 2D Systems Theory

Multidimensional, or nD, linear systems propagate information in n > 1 independent


directions and examples can be found in many different aspects of, for example, circuits
and signal processing. One of the most applications relevant cases is systems recursive
over the positive quadrant of the 2D plane for which Roesser (1975) introduced the
following state-space model
" # " #
xh (i + 1, j) xh (i, j)
= A + Bu(i, j)
xv (i, j + 1) xv (i, j)
" #
xh (i, j)
y(i, j) = C (2.18)
xv (i, j)

Here xh and xv are the horizontal and vertical state components and i and j are non-
negative integer-valued horizontal and vertical coordinates.

An alternative state-space model first introduced by Fornasini and Marchesini (1978) is

x(i + 1, j + 1) = A1 x(i, j + 1) + A2 x(i + 1, j)


+A0 x(i, j) + Bu(i, j)
y(i, j) = Cx(i, j) (2.19)

Here the state updating takes place from (i, j) to (i + 1, j + 1) distinguishing it from
the shifting operator used in the standard discrete-time state space model, i.e. the state
vector is not split into horizontal and vertical sub-vectors. Note also that these models
are not totally independent and transformations exist that enable one form to be con-
verted to the other and vice versa. Note also that a transfer-function description of 2D
(with a natural extension to 3D and so on) linear systems is, in general, a function of
two independent variables and hence the need to work with functions of two (or more)
indeterminates and hence immediate complications arise in trying to extend standard
linear systems theory. For example, primeness for functions of two or more indetermi-
Chapter 2 Literature Review 15

nates is no longer a simple concept. A detailed treatment of this area can be found in,
for example, Rogers et al. (2007) and the relevant cited references.

ILC can be treated as a 2D linear system where one direction of information propagation
in the 2D models above represents the dynamics along the trial and the other the trial-
to-trial dynamics. This fact is known in the literature see, for example, Geng et al.
(1990) and Kurek and Zaremba (1993) where the latter paper shows how to formulate
the basic problem of trial-to-trial error convergence of an ILC scheme in terms of the
asymptotic stability of its 2D Roesser (1975) model interpretation.

In the 2D Roesser (1975) and Fornasini and Marchesini (1978) state space models in-
formation propagation in both directions takes place over an infinite duration whereas
in ILC information propagation along the trial only occurs over the finite and fixed
trial length. Repetitive processes are a distinct class of 2D systems where information
propagation in one of the two directions only occurs over a finite duration and hence
they should be a more natural setting for the analysis of ILC schemes. In particular,
this setting could provide a very powerful approach to the analysis and design of ILC
control laws for both trial-to-trial error convergence with control over the along the
trial dynamics. For example, a control law with just these properties could be highly
appropriate for a gantry robot whose task is to collect an object from a location, place
it on a moving conveyor, and then return for the next one and so on. If, for example,
the object has an open top and is filled with liquid, and/or is fragile in nature, then
unwanted vibrations during the transfer period could have very detrimental effects.

In Hladowski et al. (2008b) and Hladowski et al. (2008a), some new ILC algorithms
based on 2D systems theory particularly linear repetitive processes, using either the
state-feedback setting given by (2.20) or the output-feedback setting of (2.22) have been
developed

uk+1 (t) = uk (t) + K1 ηk+1 (t + 1) + K2 ek (t + 1) (2.20)


ηk+1 (t + 1) = xk+1 (t) − xk (t) (2.21)

uk+1 (t) = uk (t) + K1 ∆yk (t + 1) + K2 ∆yk (t) + K3 ek (t + 1) (2.22)


∆yk (t + 1) = yk (t) − yk−1 (t) (2.23)

Here ηk+1 denotes the difference between the current system state and the previous
system state. Similarly ∆yk is the difference between the current output and the previous
output. K1 , K2 are the learning parameters which will be computed and adjusted using
2D system theory.

The development of these algorithms and their experimental verification on the gantry
robot is the subject of Chapter 5.
Chapter 2 Literature Review 16

2.4 Experimental Verification of ILC

In the late 1980s, there appeared a number of papers extending the work of Arimoto
et al. (1984a) to various applications. For example, Kawamura et al. (1985) presented
the application of ILC algorithm on a three-degree freedom robot manipulator and
reported that the robot can be trained to polish a surface of a curved plate. Bondi
et al. (1988) considered ILC on robotic manipulators with feedback design, however
only simulation results were presented. Also, Oh et al. (1988) applied an ILC algorithm
on a two-link robot manipulator but only numerical examples were provided. Bien and
Huh (1989) developed a higher-order ILC algorithm and provided a convergence proof.
They provided examples via simulation and stated that the algorithm ensured good
performance even in the presence of disturbance.

In the mid 1990s, some researchers attempted to apply ILC practically in an industrial
setting. For example, Luca and Panzieri (1994) proposed a simple iterative learning
algorithm for generating gravity compensation in a flexible two-link robot arm and
placed emphasis on the effectiveness of the approach. Moon et al. (1996) applied ILC
to the track-following control of an optical disk drive. Roover (1996) reported how the
synthesis of an ILC controller can be generalised to the synthesis of an H∞ suboptimal
controller and verified the method on a wafer stage experimental facility. In Lee and
Bien (1996) ILC was considered with application to the heat-up phase of a batch reactor
and it was found that the method yields a pronounced improvement in heat-up phase
operation as consistent heat-up profiles with a minimised settling time were obtained.
Kim and Kim (1996) stated that a PID-type ILC controller can improve machining
accuracy when CNC machine tool performs repetitive machining tasks. Moreover, there
are a number of papers which mention ILC application to robotic manipulators but
compared with the number of papers for ILC in theory, experimental based literature
is far less well represented. After 2000, more and more ILC papers have considered
experimental applications. However most of the papers with experimental verification
have considered very few algorithms and there are few references that can be found with
comparison of algorithm performance and experimental benchmarking.

ILC is designed for performing repeating tasks, typically by robots in a variety of in-
dustries. Therefore experimental verification prior to the implementation on industrial
applications is essential as there are a number of practical problems in this area and some
of them are of critical importance. Also, the process of algorithm development for ILC is
currently becoming faster and faster. A number of ILC algorithms are however remain-
ing at the stage of mathematical formulation. Most of them have associated convergence
proofs, however the assumptions behind the theory are designed to support the proof.
Whether the algorithm is suitable or not for application to real plants depends on the
results of experimental tests. Therefore, experimental benchmarking and comparison is
extremely important as it sheds light on a different aspect than purely mathematical
Chapter 2 Literature Review 17

proof. Here, in this thesis, papers mentioning non-minimum phase systems and robotic
systems are further reviewed in the remaining sections of this chapter to underpin the
relevance of the experimental testing on the non-minimum phase electro-mechanical
system and the gantry robot reported in this thesis.

2.4.1 Non-minimum Phase Systems

A non-minimum phase linear system has at least one of its zeros located in the right half
s-plane. In the linear case at high frequencies, minimum phase zeros induce a +90 degree
phase shift while non-minimum phase zeros produce a -90 degree phase shift. Another
key feature of non-minimum phase systems is that the characteristic step response of the
plant will initially peak in the opposite direction to the final steady state output. This
makes non-minimum phase systems very difficult to control because the controller must
anticipate that the plant will initially react in the opposite direction to what is desired.
Examples of non-minimum phase systems in engineering practice include large ships
turning at high speed (Dutton et al., 1998), and the vertical displacement of helicopters.

A common approach to using ILC for non-minimum phase systems is to find the inverse
model of the plant (Ghosh and Paden, 2001). This is not a simple technique, because
inverting the transfer function of the plant by causal filtering will produce a system
which is unstable (Markusson et al., 2001). The solution is to use a technique known as
stable inversion (Sogo et al., 2000).

This technique separates the plant into a minimum phase element plus a non-minimum
phase element. Each of these elements can then be treated separately. The causal
element will have a stable inverse which can be found by causal filtering, while the
anti-causal element will have a stable inverse which can only be found by anti-causal
filtering. Ghosh and Paden (1999, 2002) also propose an alternative method for finding
an approximate pseudo-inverse model for non-minimum phase plants.

There are a number of papers considering control of non-minimum phase plants (e.g.
non-minimum phase systems with feedback control, and using optimal control). How-
ever, there exist very few examples in the literature concerned with ILC applied to
non-minimum phase systems, and the majority of them are simulation based studies.
Freeman (2004) developed a non-minimum phase mechanical experimental facility con-
sisting of a number of mechanical components such as springs, inertias and dampers.
These components are arranged in a special setup to achieve the non-minimum phase
characteristic. In Freeman et al. (2005b), a number of ILC and RC control schemes
were tested and compared using the facility and it was found that a simple phase-lead
algorithm was able to control the plant successfully when used with carefully selected
parameters and filters.

Since then very few practical studies have been carried out using non-minimum phase
Chapter 2 Literature Review 18

plants. Experimental benchmarking of ILC algorithms using non-minimum phase plant


is therefore a fertile area of study. Chapter 3 concerns the derivation of a novel ILC
algorithm using non-minimum phase system which is called the reference shift algorithm.
Experimental results are provided which show that the resulting performance of the
proposed algorithm is superior to that which has been achieved previously (Cai et al.,
2007, 2008).

2.4.2 Robotic Systems

In the early stages of the ILC concept, Arimoto et al. (1984a) developed an ILC method
specifically to improve the trajectory tracking performance of robots. Most manufactur-
ing robots are designed to replace human beings in the completion of millions of cycle
of repetitive tasks without a break to a relatively high precision. It is therefore unsur-
prising that application to robotics has become one of the biggest focus areas for ILC.
Many types of robot have been considered within the context of ILC including flexible
manipulators, arc welding robots and gantry robots.

2.4.2.1 Simulation Study

Immediately after the ILC concept was first proposed, a number of simulation stud-
ies of ILC on robots were carried out. For example, Arimoto et al. (1984b), Arimoto
et al. (1985), Bondi et al. (1988), Kawamura et al. (1985), Kawamura et al. (1988),
Mita and Kato (1985), Togai and Yamano (1985), Wang and Cheah (1998). Most of
these simulations used mathematical robot models in a software simulation environment
(usually a technical mathematical software, e.g. Mathworks Matlab, MathCAD, SciLab,
etc) to produce system outputs and compute tracking errors. This is a very simple and
rapid way of verifying the algorithms and getting the associated performance. However,
all simulation environments are approximations of the real system. It is impossible to
consider all information from the real world, such as mechanical faults, manufacturing
inconsistences, sudden noise or disturbances, measurement limitations and so on. There-
fore, simulations can only represent the system performance in ideal conditions and to
ensure the algorithm feasibility and performance in practice, real experiments should be
undertaken. However simulation work can not be omitted as it will significantly reduce
the risk of damaging facilities and the amount of parameter tuning time that is required.

2.4.2.2 Experimental Study

As simulation alone is not enough to thoroughly evaluate algorithm performance, practi-


cal research work is becoming more and more important. Longman (2000) and Elci et al.
(1994) described the practical implementation of basic ILC on a seven axis industrial
Chapter 2 Literature Review 19

joint robot. The robot must follow a rapid trajectory movement, which maximises the
interaction of the axes and induces non-linear dynamics such as Coriolis and centrifugal
effects. The seven axes are each controlled separately as if the robot consisted of seven
SISO systems. The non-linear effects and interaction between axes are simply treated as
repeatable disturbances. Even with a simple learning controller, the tracking error was
reported to be reduced by up to a factor of 1000 in approximately 12 trials. This demon-
strates that ILC is well suited to controlling individual subsystems of a larger overall
system, with little knowledge of how the subsystems interact with each other (Hwang
et al., 1993). A series of practical stages has been completed by Ratcliffe et al. (2004),
Ratcliffe et al. (2005a), Ratcliffe et al. (2006b), Ratcliffe et al. (2006a) to build and test
a number of ILC controllers on a multi-axis gantry robot which provides considerable
benchmarking data on ILC algorithm performance. The major work in this thesis saw
the completion of the implementation of a number of newly developed algorithms on
the gantry robot as well as further comparison. Full details are given in Chapter 4 and
Chapter 5.

2.4.3 Rotary Systems

Rotational motion is generally influenced by position-dependent or time-periodic ex-


ternal disturbances. Therefore, control of rotary systems is a good candidate for ILC
application. The major component in this area is the control of motors. Many related
types of application are well suited for ILC algorithm implementation, a good example is
that of conveyor chain systems. As mentioned previously, one of the typical features of
ILC is that the system condition will be reset after each trial is completed. For robotic
systems, this represents a challenge as the process of resetting needs to be very accurate
in order to reduce the difference between initial conditions for each trial which might
potentially degrade the overall performance. Currently, robotic systems generally set
up a resetting tolerance so that once the robot moves into a region close to the reset
point, the system is treated as having been reset. In the case of rotary systems, resetting
is often far simpler and merely requires the system to stop, at which point the rotary
position can reset

Barton et al. (2000) implemented a learning controller on a chain conveyor system in


order to improve the tracking performance of this synchronising process. A hybrid con-
troller was used which consisted of a learning controller coupled with a 3-term feedback
controller. The hybrid controller used was arranged in a series formation in which the
learning controller output was supplied to the feedback controller, and adjusted the ref-
erence trajectory in order to achieve accurate tracking. Due to the continuous nature of
the task, the experimental application was, in fact, more suited to repetitive control.
Chapter 2 Literature Review 20

2.4.4 Process Control Systems

Process control is another major application in the general control area. It has been
widely applied to industrial tasks such as mixing materials, chemical reaction process
and temperature control. As is common in manufacturing applications, most of the tasks
are run repeatedly with the same settings or under the same payloads for thousands of
trials. Therefore, ILC should yield considerable performance advantage in controlling
such processes or tuning parameters in order to improve the productivity and quality of
the products.

Havlicsek and Alleyne (1999), Xu et al. (1999), Gao et al. (2002), Mezghani et al. (2001),
Mezghani et al. (2002) have applied ILC to chemical processes such as injection molding
and other chemical reactors. Xu et al. (2002) reported a significantly improvement to
trajectory tracking in water heating processes through use of iterative learning. Also
ILC has been applied to batch process control applications as well (see, for example, Xu
et al. (2001) and Xiong and Zhang (2003)). Xu et al. (2001) stated that the process is
difficult to control due to the presence of modelling errors and time delays, but it was
reported that near perfect tracking can be obtained under certain conditions.

2.4.5 Biological Applications

During recent years, ILC has become more and more popular in the biochemical in-
dustry and there are many successfully applications being reported. Choi et al. (1996)
discussed the practical implementation of ILC to the fed-batch cultivation of Acineto-
bacter calcoaceticus RAG-1. This microorganism is used to produce emulsan, a chemical
with good emulsifying properties for crude oil. Ethanol is an important factor for the
microorganism as it is a carbon source aiding cell growth, cell maintenance and emulsan
production. However, too much ethanol has a negative effect on the microorganism.
Therefore the ethanol level must be carefully regulated. Choi et al. (1996) implemented
a hybrid ILC controller and PI-type feedback controller to improve the control of ethanol
supply to the microorganism over a number of batches. The learning controller was of
basic P-type structure and uses the inverse plant model as the learning gain function.
Results from practical implementation demonstrated that using the learning controller
improved the yield from one batch by approximately 20% after only three trials.

A more recent implementation investigated by Mezghani et al. (2002) used an optimal


ILC update on a chemical batch reactor which can be used to manufacture pharmaceuti-
cal products. The cost function used minimised the error while simultaneously limiting
the change in the output over the next trial, thus restricting sudden changes in the
control effort. Sliding window filtering was also performed to smooth the output and
reduce the effect of extreme control effort values.
Chapter 2 Literature Review 21

Freeman et al. (2008a) and Freeman et al. (2008b) developed a robotic workstation
and applied ILC for the purpose of stroke rehabilitation using Functional Electrical
Simulation (FES). The task presented to each patient was to track an elliptical trajectory
while their arm was constrained to a horizontal plane. ILC was used to apply stimulation
to the triceps muscle in order to assist their remaining voluntary effort in performing
the task. Results from eighteen subjects were presented and showed that a high level of
performance could be achieved using the proposed method.

2.4.6 Other Applications

Moon et al. (1996) developed an ILC controller capable of learning the periodic distur-
bances and reducing the tracking error in order to improve the control of optical disk
drives. The controller was a hybrid design composed of a feedback controller and a learn-
ing controller operating in parallel. As it was not desirable for the learning controller
to learn the non-periodic disturbances, a filter was added to the learning algorithm to
prevent high frequency components of the signal being used in the learning process.
Results showed a reasonable reduction in the periodic tracking error when the learning
controller is implemented. Adaptive feedforward and repetitive control algorithms are
now standard in most DVD and HDD drives (Chew and Tomizuka, 1990; Onuki and
Ishioka, 2001; Zhou et al., 2004).

Dijkstra and Bosgra (2002b) and Dijkstra and Bosgra (2002a) applied ILC algorithms
on a high precision wafer stage which is another typical device where ILC can be ap-
plied. Wassink et al. (2007) reported an implementation of a modified ILC algorithm
on enhancing inkjet printhead performance. In Tousain and van Casteren (2007), a new
ILC approach to the lamp current control problem was designed and implemented on
the lamp driver. It was reported that ILC could achieve the requirements on the light
output of Ultra High Pressure (UHP) lamps set by projection applications.

2.5 Problems with ILC

Although ILC can lead to a high level of performance in trajectory tracking applications,
it is somewhat surprising that industry has not yet adopted this control method for all
general applications involving repeating tasks. There are, however, some important
reasons why that is so.

2.5.1 Initial Conditions

In the theoretical analysis or simulation of ILC, usually it is assumed that the initial
conditions have been reset after each trial. But actually in practice it is not easy to
Chapter 2 Literature Review 22

Ideal reset point

Tolerant boundary

Practical reset points

Differences to origin
Difference between each two trials

Figure 2.4: Practical resetting procedure in ILC

achieve this. As illustrated in Figure 2.4, in practice, it is usual to set up a region


about the ideal core in which resetting is assumed to have been completed (commonly
a circle centred on the ideal position). When the actual measured position is within
the boundary, the system will be considered as completion of resetting. However, the
resetting differences in resetting position between trials will have a detrimental influence
and disturb the learning progress.

Heinzinger et al. (1989) considered a class of ILC law and proposed that the initial
errors would not affect the convergence and stability of a system when the initial errors
are repeatable. Also much work has been carried out to investigate these problems,
including developing algorithms which are robust to initial state error (Lee and Bien,
1996; Chen et al., 1996, 1999).

2.5.2 Long Term Performance

A large number of papers, for example Huang and Longman (1996); Lewin (1999);
Barton et al. (2000); Longman (2000), have maintained that a very significant problem
with ILC implementation is long term stability or performance. Also many other papers
such as Ratcliffe et al. (2005a) mention that this is one of the most important reasons
why ILC has not been widely in industry. It has been reported both in simulation and
practice that when a learning algorithm is implemented over a large number of trials,
the tracking error will begin to grow up after it is initially reduced, and result in the
eventual instability of the system. One frequently reported explanation for this from
the frequency domain analysis (Huang and Longman, 1996) reported said that when
ILC begins to operate, low frequency error becomes negligible, the effect of the high
frequencies begins to become evident and the overall tracking error noticeably grows.
To overcome this, many filtering techniques have later been introduced and designed in
order to cut off unnecessary frequencies in the learning process (Plotnik and Longman,
1999; Longman, 2000). Moreover, Ratcliffe et al. (2005a) reported that an aliasing
method was able to operate in conjunction with the ILC implementation used and gave
a superior performance compared with the other filters used.
Chapter 2 Literature Review 23

Usually, the normalised ratio of current error and previous error in either the frequency
domain or time domain (Z-transformed or Laplace-transformed) (|| EEk−1
k
||) will be com-
puted in order to evaluate the error evolution process. The error evolution can be derived
using the following simple linear input/output mapping

Y (z) = G(z)U (z)

where G(z) is the plant, U (z) and Y (z) are the z-transformed input and output vectors
respectively. Now it is easy to derive the following equations (using P-type ILC described
in (2.4) as an example, R denotes the reference trajectory and the plant is assumed to
be invertible)

Yk = GUk
Ek = R − Yk
Uk = G−1 (R − Ek )
Uk+1 = G−1 (R − Ek+1 )

According to the iterative learning law

Uk+1 = Uk + LEk
G−1 (R − Ek+1 ) = G−1 (R − Ek ) + LEk
Ek+1 = Ek − GLEk
Ek+1
= 1 − GL
Ek

Here the learning matrix L could be an arbitrary linear operator L. Then the error
evolution ratio can be also written as

Ek+1
= 1 − LG
Ek

Therefore, if the condition below is satisfied for all frequencies (z = ejωTs ), the monotonic
convergence of tracking error will be guaranteed.

||1 − LG(z)|| < 1 (2.24)

Where the norm || · || is for l2 space. For the majority of cases in practice, this condition
can be satisfied only within a certain frequency range (see for example Figure 2.5, results
are taken from Cai et al. (2008)). Therefore the operator L must include a low pass
filter with a cut off frequency

Filtering is an important part of ILC implementation in this thesis. Different filtering


methods have been introduced and tested in later practical work (see from Chapter 3
to Chapter 5 for details). The choices of filters and filter settings are discussed further
Chapter 2 Literature Review 24

Nyquist Diagram for Covengence Criteria before Filtering


0.3

Imaginary Axis
0

−0.3
−0.2 0 1 1.2
Real Axis

Figure 2.5: Nyquist plot of ||1 − LG(z)|| < 1 for an experimental facility.

in these chapters.

2.6 Summary

A review of ILC literature has been presented, and it has been concluded that the
majority of ILC algorithms are based on a common fundamental principle, in which
the input from the previous trial is used and a modification of the error sequence is
added to develop the input for the next trial. In basic algorithms, the error modification
is generally straightforward and can take the form of a single scalar gain. For model-
based algorithms, the model is frequently used to derive an operator which is applied
to the error vector, in order to generate more rapid error reduction. Techniques from
a variety of other control methodologies such as optimal, adaptive and robust control
have been applied to the ILC framework with the aim of improving the convergence rate
and robustness to unknown and un-modelled disturbances.

ILC has been successfully applied to a number of industrial applications including control
of robotic manipulators, rotary systems, chemical batch processes, bio-applications and
many more. The use of ILC in these cases has greatly improved the performance of the
plant being controlled. However, in general more experimental results are required.
Chapter 3

Reference Shift Algorithm

3.1 Introduction

As previously described in Chapter 2, limited progress has been made on ILC for non-
minimum phase plants due to the significant challenges associated with the infeasibility
of using the inverse of the plant model in the algorithm (Markusson et al., 2001). More
recently, an electro-mechanical non-minimum phase experimental facility has been devel-
oped (Freeman, 2004) and used to compare the performance of some ILC algorithms in
the presence of non-minimum phase characteristics. In this chapter, a new algorithm for
ILC applied to non-minimum phase systems is developed and the experimental results
obtained with it demonstrate that it can give significant performance benefits.

3.2 Non-minimum Phase Test Facility

3.2.1 Mechanical structure

The non-minimum phase test facility (see Figure 3.1) consists of a rotary mechanical
system of inertias, dampers, torsional springs, a timing belt, pulleys and gears. The
non-minimum phase characteristic is achieved by using the arrangement shown in Figure
3.2, where θi and θo are the input and output positions, Jr and Jg are inertias, Br is
a damper, Kr is a spring and Gr represents the gearing. This is originally designed
through the conversion of a non-minimum phase electrical circuit (Freeman, 2004). A
further spring-mass-damper system is connected to the input in order to increase the
relative degree and complexity of the system.

A standard squirrel cage induction motor situated at the end of the test facility drives
the load and is powered by an inverter which receives the control signal from the control
computer. A 1000 pulse/rev encoder records the output shaft position and sends it back

25
Chapter 3 Reference Shift Algorithm 26

Figure 3.1: The non-minimum phase test facility


șo

Kr 2o
Jg
2i
și
Gr

Br Jr

Figure 3.2: The non-minimum phase section.

to the data expansion card in real time. The whole mechanical system is controlled using
a dSpace card which is a PCI based data input/output expansion card which is linked
with popular mathematical and simulation software tool (Mathwork’s Matlab/Simulink)
which makes algorithm implementation more efficient and straightforward.
Chapter 3 Reference Shift Algorithm 27

Step Response
1.5

Amplitude
0.5

−0.5
0 1 2 3 4 5 6
Time (sec)

Impulse Response
1.5

1
Amplitude

0.5

−0.5
0 1 2 3 4 5 6
Time (sec)

Figure 3.3: Step and impulse response of the non-minimum phase plant

3.2.2 System Modelling

The system model can be derived from differential equations modelling its individual
elements separately which are then combined. Such a model would be based on very
ideal assumptions and most of the coefficients may not be accurate enough to produce
a reliable model. Therefore it is not able to provide a suitable mathematical model
for practical research such as is required for the application of model-based algorithms
and the performing of frequency domain analysis. The modelling of the non-minimum
phase test facility therefore used frequency response tests and in this way the nominal
continuous time plant transfer function has been identified by Freeman (2004) as

1.202(4 − s)
G0 (s) = (3.1)
s(s + 9)(s2 + 12s + 56.2)

It can be seen that there is one zero in the right hand side of the s-plane. The cor-
responding step response and impulse response for the close loop system are shown in
Figure 3.3.
Chapter 3 Reference Shift Algorithm 28

3.2.3 System Settings

A PID feedback loop around the plant is used in all the tests for the purpose of pre-
stabilising the system since this has been found to produce superior results. The PID
gains used are Kp = 138, Ki = 5 and Kd = 3. The resulting closed-loop system
constitutes the system to be controlled. The sampling period, Ts = 0.001 (sampling
frequency: 1000Hz), has been used in all experimental tests.

The test facility used a series of reference trajectories, of which two types of trajectory
were most commonly applied; one is a sinusoid signal, the other is a trapezoidal sequence
(see Figure 3.4(a) and 3.4(b) for examples of these). In order to make all testing re-
sults comparable, the results provided in later chapters are all produced using the same
reference trajectories.
Reference 1
30

25

20

15

10

−5
0 1 2 3 4 5 6
Time (s)

(a) Sinusoid reference.

Reference 2
15

10

−5

−10

−15
0 1 2 3 4 5 6
Time (s)

(b) Trapezoidal reference.

Figure 3.4: Reference trajectories for the non-minimum phase plant

Since the test facility is a rotary system, there is no problem associated with resetting
the system to initial conditions. There is a gap set up during each trial to ensure that
Chapter 3 Reference Shift Algorithm 29

the facility complete stops running before the next trial commences. On occasion, it
is preferable to put a period of zero input before or after the reference signal which is
designed to record more information from the output as there usually will be a significant
output lag in such rotary systems. This also avoids a sudden ‘jump’ appearing in the
signal which potentially disturbs the whole system performance.

3.2.4 Expression of Results

In order to carry out the research for experimentally benchmark the ILC algorithms,
the comparison of results is an essential method. During all the experiments carried out
on the experimental facilities, the following types of data are recorded for performance
analysis and comparison.

• Input/Output/Error
System Parameter data vectors and system
Max Error & Mse states. 0
1st & Last Iteration
1 10 0.04

In ILC algorithms, input vector uk , output vector yk and error vector ek (k = Maximum Error
Mean Squared Error 0.035
−2
0.8 10
1, 2, 3...N , where N denotes the total trial number in the test) are the most im- 0.03

−4 0.025
0.6 10
portant source data for the analytical and comparative use. Sometimes, the system 0.02

0.4 states xk are also stored if the algorithm needs information from the states. A typ-
−6
10
0.015

0.2 ical representation of the input/output/error data is using a 3-dimensional surface


−8
10
0.01

0.005

0
chart to clearly show the iterative learning progression (see for example Figure 3.5).
−10
10 0
Reference

0 0.2 0.4 0.6 0.8 1 0 5 10 15 20 0 0.5 1 1.5 2


Iteration Time(ms)

Input Progression Tracking Error Progression Tracking Progression

0.2 0.03 0.04

0.03
0.15 0.02
Output Value
Error Value
Input Value

0.02
0.1 0.01
0.01
0.05 0
0

0 −0.01 −0.01
0 0 0
0.5 20 0.5 20 0.5 20
1.0 15 1.0 15 1.0 15
10 10 10
1.5 1.5 1.5
5 5 5
Time(s) 2.0 0 Trial Number Time(s) 2.0 0 Trial Number Time(s) 2.0 0 Trial Number

Figure 3.5: 3-D surface chart for showing ILC testing results

• Computed mean squared error (MSE) or normalised error (NE) for each trial.
Mean squared error is computed using
PT 2
t=1 [ek (t)]
mse(ek ) =
T

where T is the length of the trial. A typical MSE plot uses a log scale in the vertical
axis as ILC normally will reduce the tracking error to a very small value within a
few trials. Using a log scale will enable a clearer vision of the difference between
small values and will also maintain the overall trend of the learning process (see
Chapter 3 Reference Shift Algorithm 30

Figure 3.6 as an example). This is a good method of showing the difference amount
different algorithms.
x−axis mse
4
10
Inverse Model
P−type Aliasing

2
Norm Optimal
10 D−type Stochastic
P−type Stochastic

0
10

−2
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 3.6: Mean squared error plots for showing ILC testing results

• For each particular algorithm, the specific parameters used are stored as well. For
some advanced algorithms, these parameters will automatically adapt from trial
to trial. It is useful to record the evolution of parameters for algorithm adjustment
and improvement.

3.3 Previous Work using the Non-minimum Phase Facility

A large body of work has been previously conducted using the plant, including system
modelling, evaluation of ILC algorithms and repetitive control schemes (Freeman et al.,
2005b,a). There are a number of ILC algorithms which have been implemented on
the plant. For example, basic P-type, D-type, delay type and later phase lead, norm
optimal, predictive optimal. As mentioned in Chapter 2, the phase lead algorithm has
been reported as a simple and effective algorithm for controlling the non-minimum phase
plant. This algorithm can be expressed as:

uk+1 (t) = uk (t) + Lek (t + τ ) (3.2)

Where τ ∈ Z+ is the value for the phase lead. But according to Freeman et al. (2005b),
the remaining problems faced when implementing this method are the choice of τ to use
and the requirement that ek (t + τ ) not be truncated significantly as this leads to a large
input appearing at the start of each trial when the controller is forced to immediately
track a non-zero output. An example from a simple simulation will be used to illustrate
this. Figure 3.7(a) shows the input progression of the phase lead algorithm in one
simulation, which has got a large magnitude at the start of input signal. Also, the start
of the tracking output is not followed well due to the effect of the non-minimum phase
characteristic making the system initially go in the opposite direction for a short period
Chapter 3 Reference Shift Algorithm 31

(see Figure 3.7(b)). This problem can be solved by putting a period of zero at the
beginning of a reference (Freeman et al., 2005b).
1st & Last Iteration
6
Input Progression
Reference
5 1st Trial
Last Trial
6
4
4
3
Input Value

2
2
0
1
−2
0
1 0
50
2
40
3 30
4
−1
20 0 1000 2000 3000 4000 5000 6000
5 10
Time (s) 6 0 Trial Number Time(ms)

(a) Input Progression (b) Output Tracking

Figure 3.7: Simulation of the phase-lead algorithm

3.4 Reference Shift Algorithm

A new method called the reference shift algorithm has been developed and tested ex-
perimentally in order to improve some of the problems encountered by the phase-lead
algorithm (Cai et al., 2007, 2008). The main idea of the reference shift algorithm is
to let the algorithm itself look for the best phase shift value by aligning the measured
output with the reference signal, and to then shift the reference by the computed value
to get the next output. Figure 3.8(a) shows an example of the output shape for a non-
minimum phase plant and it contains a time delay in the response. Figure 3.8(b) shows
when reference is shifted by τ and then the system response can be aligned with the
original desired reference.

3.4.1 Initial Approach

Due to the problems described before, the desired controller must incorporate both a
method of reference shifting and a minimization scheme in order to be able to reduce
Chapter 3 Reference Shift Algorithm 32

Reference

…… t

Output

…… t

(a) System response without reference shift

τ Original Reference
Shifted Reference

…… t

Original Output
Shifted Ouput

…… t

(b) System response with reference shift

Figure 3.8: An illustration of the reference shift approach.

the tracking error in as few trials as possible. Consider first the update given by

uk (t) = rk0 (t) + fk (t) (3.3)


rk0 (t) = r(t + τk ) (3.4)
fk+1 (t) = fk (t) + Lek (t + τk ) (3.5)
ek (t) = r(t) − yk (t) (3.6)
2
τk = arg min {k r(t + τ ) − yk (t) k } (3.7)
τ ∈[0,T ]

where τ is the shift time of the reference signal, fk is the feed-forward signal, the plant
output is yk = r − ek and T is the trial length. Figure 3.9 shows the controller structure
of the proposed reference shift algorithm. It can be seen that the reference and the
feed-forward signal are fed into the feedback loop together. From (3.5) and (3.7), it is
clear that the reference signal will be shifted trial by trial in order to find a τ which is
able to minimise the difference between control output and shifted reference.

From the block diagram it can also be seen that the reference shift algorithm interacts
with the learning controller by updating the reference supplied to the plant input as well
as that used in producing the error that is used in the learning update. Note also that
a similar approach has been considered for the case of repetitive control in (Steinbuch,
2002). Moreover, an alterative approach has also been designed as well (see Figure
Chapter 3 Reference Shift Algorithm 33

uk Feedback
Reference r Z -τk + + Plant yk
+ uk - Controller
Feedback
Reference r Z -τk + + Plant yk
+ - Controller

fk
fk
ek
ek Z -τk L ++ fk+1
Z -τk L ++ fk+1
+ -
+ -

Figure 3.9: Controller structure of the reference shift algorithm.

fk fk Z -τk uukk Feedback


Feedback Plant yk
Z -τk + +- Controller Plant yk
- Controller

eekk
Z -τ-τkk
Z LL ++++ fk+1fk+1

Referencer r
Reference +
+ -
-

Figure 3.10: Alternative structure of the reference shift algorithm

3.10). The approach uses only the shifted control input instead of shifted reference. The
related control input is computed as follow:

uk = fk0 (3.8)
fk0 (t) = f (t + τk ) (3.9)

The updating of fk+1 is exactly the same as the original approach of from (3.5) to (3.7).

3.4.2 Initial Simulations

The reference shift algorithm has been simulated using Matlab/Simulink. The control
plant in the simulation is the model of the non-minimum phase test facility described
above. Equation (3.11) shows detailed input/output/error plots for the reference shift
algorithm as well as the error evolution plots and the tracking performance for the first
and last trial in the simulation. Figure 3.12 shows the error plots of both structures of
proposed reference shift algorithm and it can be seen that the performances are good
when used with low pass filters applied. Figure 3.13 shows the recorded shift procedure
at the first trial. The system response has a output lag of around 1 second and when the
reference was shifted, the system response can be align to the original desired reference.
Chapter 3 Reference Shift Algorithm 34

Figure 3.11: Initial simulation results of reference shift algorithm

1
10
Reference Shift P=0.105 L=0.1 (Unfiltered)
Reference Shift P=0.105 L=0.1 (Filtered)
Alternative Reference Shift P=0.138 L=0.3 (Unfiltered)
0 Alternative Reference Shift P=0.138 L=0.3 (Filtered)
10
Normalized Error

−1
10

−2
10

−3
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 3.12: Initial simulation results of reference shift algorithm

In order to test the long term stability of the proposed algorithm, one simulation of
1000 trials was carried out and the error plots are shown in Figure 3.14. According to
the error plots, there is no kind of trend indicating that the system would eventually go
unstable. Therefore, the long term stability for the reference shift algorithm appears to
be acceptable.

More simulations have been carried out and random disturbances were introduced into
the control loop to simulate real experimental environments. Figure 3.15 shows the
results of the algorithm dealing with disturbances, where no low pass filter is used. It
can be seen that convergence is reasonably good. However, the long term stability can
Chapter 3 Reference Shift Algorithm 35

Original Reference and Output


6

−2
−2 0 4 6
Shifted Reference and Output
6

0
−2
−2 0 4 6
Error and Shifted Error
0.4

−0.4
−2 0 4 6
Updated Input
6

0
−2
−2 0 4 6
Tims(s)

Figure 3.13: Initial simulation results of reference shift algorithm

1
Max Error & Mse
10
Maximum Error
Mean Squared Error
0
10 Normalised Error

−1
10

−2
10

−3
10

−4
10
0 100 200 300 400 500 600 700 800 900 1000
Trial Number

Figure 3.14: Initial simulation results of reference shift algorithm (long term stability
test)

not be assured when there is no robust filter to remove high frequency noise. This
is shown in the input mesh plot, that higher frequencies can build up and make the
input become not unacceptable. Having isolated these problems, some analysis on the
algorithm can be undertaken. The analysis focuses on the error evolution process and
the system convergence rate in the frequency domain.
Chapter 3 Reference Shift Algorithm 36

Figure 3.15: Initial experimental results of the reference shift algorithm

3.4.3 Convergence Analysis

The relationship between ek+1 and ek must first be determined in order to examine the
convergence properties. From the learning update law in (3.5), let e0k be used to represent
the error after shifting, that is e0k (t) = ek (t + τ ). Also let rk0 be the shifted reference for
the k th trial, and P represent the open-loop transfer function of the feedback loop, then
according to the block diagram of Figure 3.9:

P (rk0 + fk ) = r − ek
P fk = r − ek − P rk0
0
P fk+1 = r − ek+1 − P rk+1 (3.10)

then from the learning update law in (3.5), f can be eliminated:

0
r − ek+1 − P rk+1 = r − ek − P rk0 + P Le0k
ek+1 = ek − P Le0k + P (rk0 − rk+1
0
) (3.11)

Intuitively P (rk0 − rk+1


0 ) will be very small and potentially will go to zero as there will
exist no difference between subsequent values of the calculated shift as the error reduces
Chapter 3 Reference Shift Algorithm 37

to zero. However it cannot be completely discounted and a revised algorithm is therefore


necessary — once this has been introduced the convergence analysis will be resumed.

3.4.4 The New Algorithm

The previous algorithm described suffered from problems which arose due to the con-
straint of only applying an input of length T seconds. During trial k the input was
defined over t ∈ [−τk−1 , T − τk−1 ] seconds and incorporated r(t + τk−1 ) and fk (t). If τk ,
when it is calculated, is not equal to τk−1 , part of fk (t) must be discarded to form the
new update fk+1 (t) which is defined over t ∈ [−τk , T −τk ]. The discarding of data is then
likely to produce an unsatisfactory transient response as the applied input is no longer
smooth, and also increases the possibility that a design that satisfies the theoretical
convergence conditions does not result in an acceptable implementation. In addition, no
input is supplied during t ∈ (T − τk , T ] which may lead to an unsatisfactory response in
this interval.

The new algorithm resolves these problems by expanding the interval in which the input
is applied so that no data is discarded in building each updated input. Figure 3.16
demonstrates the structure of the updated RSILC algorithm which, together with the
reference shift law, can be described by

0
uk+1 (t) = rk+1 (t) + fk+1 (t) (3.12)
00 00
fk+1 (t) = fk (t − τk+1 ) + Lek (t − τk+1 + τk ) (3.13)
0 0
rk+1 (t) = r(t − τk+1 ) (3.14)
0
τk+1 = max(τk , τk0 ) (3.15)
00
τk+1 = max(0, τk − τk0 ) (3.16)
τk = arg min{k rk0 (t − τ ) + fk (t − τ ) − yk (t) k22 } (3.17)
τ

with f1 (t) = 0 and τ10 = 0. Although appearing more complicated, the structure of

Reference r Z -τ'k + + K Plant yk


+ -

fk Z -τ"k+1

Z -τ"k+1+τk L ++ fk+1

+ -

Figure 3.16: Controller structure of the revised reference shift algorithm.

this algorithm closely follows that of the previous one. It can again be seen that on
the k th trial the feed-forward signal, fk , is summed with the shifted reference signal,
Feedback
fk +
- Controller
Plant yk

Z -τ"k+1
Chapter 3 Reference Shift Algorithm 38

rk0 , to produce the control input, uk , which is applied to the plant. The cost function
(3.17) is identical to (3.7) since rk0 (t − τk ) + fk (t − τk ) = uk (t − τ ) and so inherits
the same motivation. The most important difference is that, in order to express the
time over which each trial extends in a meaningful way, each signal is now defined
over t ∈ [0, T + τk0 ]. It can be readily seen that the value of τk+1
0 is the largest value
of shift that has been calculated at the commencement of the k + 1th trial, that is
0
τk+1 = max{τk , τk−1 , . . . , τ0 } ≥ 0. Another important difference is that the reference,
0
rk+1 (t), that is tracked by the output of the plant on the k + 1th trial, is now a copy
of the original reference shifted backward in time, with a period of being set to zero
concatenated to the start. It is therefore given by

n 0, 0
t ∈ [0, τk+1 )
0
rk+1 (t) = 0 0 0
(3.18)
r(s), s = t − τk+1 , t ∈ [τk+1 , T + τk+1 ]

The error is only defined over the course of the original reference so that no truncation
occurs when it is used in (3.13). It is thus given by

n 0, 0
t ∈ [0, τk+1 )
ek+1 (t) = 0 0 0
(3.19)
rk+1 (t) − yk+1 (t), t ∈ [τk+1 , τk+1 + T]

It is then possible to simplify the algorithm by firstly observing that substituting rk0 (·) +
00 ) =
fk (·) for fk (·) on the right-hand side of (3.13) produces the additional term rk0 (t−τk+1
00 ). Since
rk (t − τk0 − τk+1
(
τk0 if τk < τk0
00
τk0 + τk+1 =
τk otherwise
0
= τk+1 (3.20)

0
this becomes rk+1 0
(t), which is also what is produced by substituting rk+1 (·) + fk+1 (·)
for fk+1 (·) on the left side of (3.13). This means that (3.12) can effectively be absorbed
by (3.13) to produce the single update

00 00
uk+1 (t) = uk (t − τk+1 ) + Lek (t − τk+1 + τk ) (3.21)

providing the initial condition is changed from f1 (t) = 0 to f1 (t) = r(t). The algorithm
has not been expressed in this form initially in order to emphasise the action of the
reference shift, and to correspond with the form of the algorithm examined in Section
3.4.1.

In order to clearly illustrate the remaining action of the algorithm, Figure 3.17 (a) shows
an example of the input, uk (t), and reference, rk0 (t), that are used during the k th trial.

The original reference, r(t), has been shifted backward by τk0 , and no data has been
discarded in forming uk (t) which is applied over t ∈ [0, T + τk0 ]. Once this trial is
Chapter 3 Reference Shift Algorithm 39

Figure 3.17: Update mechanism showing (a) signals during k th trial, (b) the case
where τk ≤ τk0 , and (c) the case where τk > τk0 .

completed, τk is calculated using (3.17). Figure 3.17 (b) shows the components of the
new input, uk+1 (t), for the case that τk ≤ τk0 . Here the maximum shift, τk+1
0 , is set equal
to the value used in the previous trial, τk0 . The difference in these values, which, using
00
(3.20), can be shown to be τk+1 0
= τk+1 − τk0 , is zero. This means that neither uk nor ek
need to be shifted to keep their relative position with respect to the reference, and the
latter is therefore merely shifted by τk and added to uk to form the new input, uk+1 .
Figure 3.17 (c) shows the alternative case where τk > τk0 . Once shifted by τk , the error
will start before any of the other signals, and so they all must be shifted backward in
time so that it instead starts at t = 0. The value of the reference shift is accordingly
changed from τk0 to τk , and both components used to build the new input, uk+1 , are
00 , in order to maintain their relative temporal position with
shifted by the difference, τk+1
respect to the reference.
Chapter 3 Reference Shift Algorithm 40

The substitution s = t − τk can be used and then restricted in order to ensure that the
original reference is tracked over the intended range, that is s ∈ [0, T ].

Now the relationship between ek+1 and ek must be obtained in order to examine the
algorithm’s convergence properties. Manipulation of (3.21) results in

00 00
ek+1 (t) = ek (t − τk+1 ) − LP ek (t − τk+1 + τk ) (3.22)

in which P is the plant being controlled. Applying the z-transform gives


  00
Ek+1 (z) = 1 − LP (z)z τk /Ts z −τk+1 /Ts Ek (z)
(3.23)

where the z-dependence of P has been stated explicitly. Hence we have monotonic con-
vergence (see also Steinbuch and van de Molengraft (2000); Longman (2000)) provided
00

1 − LP (ejωTs )ejωτk e−jωτk+1 =


1 − LP (ejωTs )ejωτk < 1



(3.24)

and the convergence properties for any given frequency of interest can be studied.

If it is assumed that rk0 (t) + fk (t) − yk (t) is periodic, a reference dependent assumption
which is usually justified in practice, we can use Parseval’s relation to write the discrete
form of the cost (3.17) as

k rk0 (t − τk ) + fk (t − τk ) − yk (t) k22 =


P 0 2
n=1,2...N |rk (n − τk /Ts ) + fk (n − τk /Ts ) − yk (n)| = (3.25)
N k=1,2...N |ak |2
P

where ak are the Fourier Series coefficients of

e−jωτk Rk0 (ejωTs ) + Fk (ejωTs ) − Yk (ejωTs )



(3.26)

and N = T /Ts + 1. Since

e−jωτk Rk0 (ejωTs ) + Fk (ejωTs ) − Yk (ejωTs ) =




e−jωτk Uk (ejωTs ) 1 − ejωτk P (ejωTs )




(3.27)

the cost given by (3.17) is equivalent to


−jωτ
k U (ejωTs )·
P
minτk ω= 2π , 4π ...2π
e k
N N  2 (3.28)
1 − ejωτk P (ejωTs )
Chapter 3 Reference Shift Algorithm 41

Therefore the minimisation objective here can be written directly in terms of the mono-
tonic convergence criterion with L = 1 as

Uk (ejωTs ) 2 1 − LP (ejωTs )ejωτk 2


X
min
τk
ω= 2π
N N
, 4π ...2π

(3.29)

and Uk (ejωTs ) can be regarded as a weighting function for the frequency-wise minimi-
sation of the monotonic convergence criterion. The appearance of uk in the weighting
function may not seem a natural choice if one were sought in the design stage prior to
the implementation of the algorithm. In terms of practicality, however, it is a most nat-
ural selection as there is no value to be gained in satisfying the monotonic convergence
criterion for frequencies that are not present in the plant output, and the importance of
satisfying the criterion is strongly related to the magnitude of each frequency present in
the plant output, and this too is dictated by uk .

The criterion restricts LP (ejωTs )ejωτk to lie in the unit circle centred on +1. Since the
phase of a time-delay approaches zero at low frequencies, this effectively restricts the
phase of P (·) to be less than 90◦ in magnitude at low frequencies.

This frequency-domain condition is well known in the ILC literature and forms the
basis for the stability analysis of many control algorithms (see for example Padieu and
Su (1990)). Moreover Longman (2000) has shown that in practice it can produce good
learning transients throughout each trial. Since the present algorithm has been especially
formulated with the reduction of these transients in mind, satisfying the criterion should
also ensure the property of monotonic convergence exists over as large a section of each
trial as possible. Experience has shown that in many applications of ILC, convergence
and the transient performance along the trials can be conflicting requirements.

3.4.5 Filtering

Figure 3.18(a) shows a typical Nyquist plot of [1 − LP (z)z τk /Ts ] for the unfiltered al-
gorithm in which τk is set at 1.1. Only a small section of the plot is outside the unit
circle centred at the origin and therefore does not satisfy the criteria for monotonic
convergence. A filter must therefore be designed to ensure monotonic convergence by
removing higher frequency components.

The filter can be applied to both the error signal and the input signal, the only difference
being whether the demand itself is filtered. If the filter is applied to the error signal, the
monotonic convergence criteria given by (3.24) becomes

1 − L(ejωTs )P (ejωTs )ejωTs −τk /Ts < 1 (3.30)

Chapter 3 Reference Shift Algorithm 42

Nyquist Diagram for Covengence Criteria before Filtering


0.3

Imaginary Axis
0

−0.3
−0.2 0 1 1.2
Real Axis

(a) Before filtering.

Nyquist Diagram for Covengence Criteria after Filtering


0.3
Imaginary Axis

−0.3
−0.2 0 1 1.2
Real Axis

(b) After filtering.

Figure 3.18: Nyquist plot for the convergence criteria before and after filter applied.

where L is now a function of z. Initially, a low-pass FIR filter was designed to reduce
the plot at those frequencies which do not satisfy the monotonic convergence criteria.
When using FIR filters, a sensible approach is to first design a causal linear phase filter
with the required magnitude properties and an odd number of coefficients which are
symmetrical about a central term, aM z −M . Then this filter can be multiplied by z M to
create a non-causal filter which has the zero-phase characteristic.

Alternatively an IIR filter can be used in a procedure which requires fewer coefficients
and consequently permits the speed of the computational process to be increased. The
error signal is filtered using an IIR filter with a gain which is half the desired value at
each frequency. The resulting output is then time-reversed producing another signal
which is then fed into the same filter again. By reversing the output again, the required
filtered signal is achieved.

After filtering with the non-casual filter, the resulting Nyquist plot of 1 − LP (z)z τk /Ts
is shown in Figure 3.18(b). The condition for monotonic convergence is satisfied using
this fixed value of τk . Nyquist diagrams corresponding to different τk values using the
non-causal filter are shown in Figure 3.19 and it can be seen that varying τk excessively
Chapter 3 Reference Shift Algorithm 43

means that monotonic convergence will not be achieved.

τ=0.5s τ=0.6s τ=0.7s τ=0.8s


1 1 1 1

0.5 0.5 0.5 0.5

0 0 0 0

−0.5 −0.5 −0.5 −0.5

−1 −1 −1 −1
−1 −0.5 0 0.5 1 1.5 −1 −0.5 0 0.5 1 1.5 −1 −0.5 0 0.5 1 1.5 −1 −0.5 0 0.5 1 1.5

τ=0.9s τ=1.0s τ=1.1s τ=1.2s


1 1 1 1

0.5 0.5 0.5 0.5

0 0 0 0

−0.5 −0.5 −0.5 −0.5

−1 −1 −1 −1
−1 −0.5 0 0.5 1 1.5 −1 −0.5 0 0.5 1 1.5 −1 −0.5 0 0.5 1 1.5 −1 −0.5 0 0.5 1 1.5

τ=1.3s τ=1.4s τ=1.5s τ=1.6s


1 1 1 1

0.5 0.5 0.5 0.5

0 0 0 0

−0.5 −0.5 −0.5 −0.5

−1 −1 −1 −1
−1 −0.5 0 0.5 1 1.5 −1 −0.5 0 0.5 1 1.5 −1 −0.5 0 0.5 1 1.5 −1 −0.5 0 0.5 1 1.5

Figure 3.19: Nyquist plot for the convergence criteria after filtering of different τk .

3.4.6 Simulations

A series of simulations have been run in order to test the performance of the algorithm
and also to compare its performance with that of other algorithms using the same plant
model and reference trajectory. The two reference trajectories used in all the tests have
been shown in Figure 3.4(a) and 3.4(b).

Figure 3.20(a) presents simulation results of the tracking performance for both the un-
filtered and filtered systems. The plot shows the normalized error recorded over 200
trials. It can be seen that, after initial convergence, the errors using the unfiltered algo-
rithm start to increase after about 50 trials and the system becomes unstable. Similar
simulations using smaller values of gain have been performed but this merely postpones
the effect of this error increase. However, it can also be observed that the use of a zero
phase IIR filter ensures good performance.

The purpose of the reference shift algorithm is to achieve faster convergence and smaller
final error than the other learning laws that have been applied. To examine its success,
simulations have been performed in order to test its performance against several previ-
ously implemented algorithms. To achieve this, a model of the plant transfer function
has been generated using a method in which a linear frequency response is fitted to
experimental data, it is, however, a significant advantage that the reference shift algo-
Chapter 3 Reference Shift Algorithm 44

rithm does not require any such plant model. Simulations have been performed in order
to compare the performance of the different algorithms, which include P-type, phase-
lead as well as the reference shift algorithm. The results are shown in Figure 3.20(b)
and clearly show the performance advantage gained using the current algorithm. The
proportional learning gain L in the P-type algorithm was set to -0.01 which generated
the simulation results. Other learning gains were tried as well but they could only pro-
duce worse results with faster divergent speed. The parameter of phase lead algorithm
τ = 1500ms was stated as the optimal value in Freeman (2004). Here the optimal value
of τ and the learning gain L = 0.1 are used but there is not a period of zeros points
in the initial part of the reference which made the performance of phase lead algorithm
worse than it appeared in the previously written literatures.

0 1
10 10
Unfiltered System
Basic P−type ILC
Filtered System
Phase Lead
Reference Shift
0
10
−1
10
Normalised Error

Normalised Error
−1
10

−2
10
−2
10

−3 −3
10 10
0 20 40 60 80 100 120 140 160 180 200 0 20 40 60 80 100 120 140 160 180 200
Trial Number Trial Number

(a) Filtering comparison. (b) Comparison of different algorithms.

Figure 3.20: Numerical simulation for the reference shift algorithm.

3.4.7 Experimental Results

The reference shift algorithm has been implemented on the non-minimum phase ex-
perimental test facility in order to assess the convergence properties of the algorithm
in practice and compare its performance with that of the former algorithms. Mean
squared errors and individual trail performance are recorded for the evaluation of the
algorithm. Figure 3.21 shows the error results and the tracking performance of a 200
trial experiment using reference shift ILC for tracking the sinusoid reference. It can be
seen that the error reduces rapidly and remains at a very low value for the remainder of
the test. Furthermore, there is no indication that the error will go on to increase if the
test were to be continued. The plot of the error results for tracking the second reference
is shown in Figure 3.23. Due to the abrupt transition in the second reference, instead
of the smooth wave in the first reference, the mean squared error and normalised error
are greater than that shown in Figure 3.21.

The plant output for the 200th trial of the test for both references is shown in Figures
3.22 and 3.24, in which the time variable ‘s’ has been used so that the output, whilst
Chapter 3 Reference Shift Algorithm 45

4
Max Error & Mse & NE
10
Maximum Error
Mean Squared Error
3 Normalised Error
10

2
10

1
10

0
10

−1
10

−2
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 3.21: Error results plot of reference shift algorithm for the sinusoid reference
(Kp = 0.138, Ki = 0.005, Kd = 0.003, L = 0.3).

30
Reference
Plant Output
25

20

15

10

−5
−807 0 2000 4000 5192
Time (ms)

Figure 3.22: The tracking trace of the 200th trial for the sinusoid reference in one
experiment.

tracking the shifted reference in the plot, also follows the original reference over its range
when it is given as a function of the time variable ‘t’, as discussed in the previous section.
The values of the time shift in this case are 0.807s and 0.977s. It should be noted that
the y axis of the error plots are in log scale to make differences clearly visible.

In order to test the long term stability for the reference shift algorithm, experiments of
400 trials for both references have been performed and the error results and tracking
progression are shown in Figures 3.25 and 3.26. These plots indicate that the long term
performance of the reference shift algorithm is satisfactory as the error shows no signs of
increasing. In Figure 3.26, due to some unknown plant disturbances, the error rapidly
grows but quickly reduces again after only a few trials, which also shows the re-learning
ability of the algorithm.

Figure 3.27(a) and 3.27(b) show the evolution of τk over 400 trials for both references,
Chapter 3 Reference Shift Algorithm 46

2
Max Error & Mse & NE
10
Maximum Error
Mean Squared Error
Normalised Error
1
10

0
10

−1
10

−2
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 3.23: Error results plot of reference shift algorithm for the trapezoidal reference
(Kp = 0.138, Ki = 0.005, Kd = 0.003, L = 0.3).

15
Reference
Plant Output
10

−5

−10

−15
−977 0 2000 4000 5023
Time(ms)

Figure 3.24: The tracking trace of the 200th trial for the trapezoidal reference.

illustrating that it rapidly converges to a value which does not alter significantly over
the course of the experiments.

3.4.8 Performance Comparison

The experimental results can be directly compared with the results in previous algorithm
implementations as all experimental conditions are the same, and the algorithm was op-
erating using the same reference trajectories as previous tests. The results are compared
with those of the phase lead ILC algorithm and the norm-optimal ILC (NOILC) algo-
rithm. The phase lead algorithm has been reported as a simple and effective approach
when applied to the non-minimum phase plant. The NOILC algorithm has received con-
siderable attention in the ILC literature due to its mature theoretic basis (Amann et al.,
1996b) but is considered here as a possible alternative to RSILC. In NOILC (stated
Chapter 3 Reference Shift Algorithm 47

2
Max Error & Mse & NE
10
Maximum Error
Mean Squared Error
Normalised Error
1
10

0
10

−1
10

−2
10

−3
10
0 50 100 150 200 250 300 350 400
Trial Number

Figure 3.25: Long term performance test of reference shift algorithm for the sinusoid
reference (Kp = 0.138, Ki = 0.005, Kd = 0.003, L = 0.3).

3
Max Error & Mse & NE
10
Maximum Error
Mean Squared Error
Normalised Error
2
10

1
10

0
10

−1
10

−2
10
0 50 100 150 200 250 300 350 400
Trial Number

Figure 3.26: Long term performance test of reference shift algorithm for the trape-
zoidal reference (Kp = 0.138, Ki = 0.005, Kd = 0.003, L = 0.3).

here in its abstract Hilbert space setting), the input on the (k + 1)th trial is chosen to
minimise
Jk+1 (uk+1 ) = kek+1 k2Y + kuk+1 − uk k2U (3.31)

where U and Y denote the input and output function spaces respectively. The non-causal
solution is
uk+1 = uk + P ∗ ek+1 (3.32)

in which P ∗ is the plant adjoint, is transformed into a causal implementation incorpo-


rating both feedback and feedforward actions. (The use of uk+1 − uk , i.e. the error
between the control input signals on two successive trials provides some control over
the possibility that the need to reduce a large error will result in a large control signal
demand).
Chapter 3 Reference Shift Algorithm 48

1000

800

600

400

200

0
0 50 100 150 200 250 300 350 400
Trial Number

(a) Evolution of τk for the sinusoid reference.

1000

800

600

400

200

0
0 50 100 150 200 250 300 350 400
Trial Number

(b) Evolution of τk for the trapezoidal reference.

Figure 3.27: Evolution of τk for both reference in experiments.

To apply NOILC, the route taken was to build a minimum state-space model from the
plant transfer function of (3.1) and specialize (3.31) by a linear quadratic cost in ek+1
and uk+1 − uk with weighting matrices Q and R respectively and a terminal end of trial
quadratic constraint with weighting matrix F. For this plant, Q and R are both scalar
and were set to Q = 1 and R = 10, respectively.

The algorithm is especially appropriate to the present system as it is known to perform


well with non-minimum phase plants (Amann and Owens, 1994). Figure 3.28 shows error
results comparing the reference shift algorithm to the norm optimal algorithm and to
the phase-lead algorithm. The parameters used in the phase lead algorithm τ = 1500ms
and L = 0.1 were taken from Freeman (2004) which was stated to be the optimal
values. Firstly, compared with the phase-lead algorithm, the reference shift algorithm
out-performs it in not only convergence speed but also in the ability to converge to a
constant ‘final’ error. Here the phase-lead algorithm is actually performing on a modified
reference signal which contains a number of samples with zero value in the initial part.
This eliminated the effect of poor learning performance in the initial part as previously
described in the beginning of this chapter. In terms of the performance when compared
with the norm optimal approach, the reference shift algorithm produces errors which are
Chapter 3 Reference Shift Algorithm 49

bounded below a small value and it achieves similar convergence with less fluctuation
in tracking error. The error typically reduces to a very low value within 10 trials and
remains close to that value.

0
10
Norm Optimal
Reference Shift
Phase Lead

−1
10
Normalised Error

−2
10

−3
10
0 50 100 150 200 250 300 350 400
Trial Number

Figure 3.28: Performance comparison of different algorithms.

3.5 Summary

In this chapter, a non-minimum phase plant test facility has been introduced and used in
ILC algorithm tests. Furthermore, a new method has been proposed to improve tracking
performance which incorporates shifting the reference signal from trial to trial and the
use of ILC to update the control input. It has been found that the two learning loops
perform an optimal plant identification in terms of a specific weighting between learning
and stability. The corresponding plant inverse is then used in the ILC law. Frequency
domain filters have been used to satisfy the monotonic convergence criteria in order
to prevent the system from going unstable. Experimental results have shown that the
reference shift algorithm achieves faster convergence and lower final error than those
algorithms previously used to control the non-minimum phase test facility. However
some aspects of the reference shift algorithm require further attention. For example, the
calculations necessary between each trial are complex and may limit its use when applied
to rapid industrial applications. Also, as illustrated in Figure 3.19, the convergence
performance is a function of the time shift which prompts the use of an adaptive filter
to improve the convergence speed and maintain stability.
Chapter 4

Implementation of Stochastic ILC


Algorithms

4.1 Introduction

The problem of selecting suitable learning gain matrices in ILC becomes more difficult in
the presence of random disturbances such as measurement noise, re-initialisation errors,
and state disturbances. A number of ILC algorithms have been developed in a stochastic
setting in recent years to deal with the problems of random disturbances. The results
currently available are in the form of algorithm derivation and the establishment of var-
ious fundamental systems theoretic properties Saab (2001a, 2003). In terms of eventual
use in applications, the crucial next stage involves comparison of their performance.
This chapter therefore involves the implementation of the stochastic learning algorithms
on a gantry robot system and analysis of the experimental results obtained.

4.2 The multi-axis gantry robot

A major objective of this thesis is to experimentally verify ILC algorithms and compare
the performance using two benchmarking test facilities. One is the non-minimum phase
system of the last chapter. The second is a multi-axis gantry robot which will be used
for the other ILC algorithm tests and comparisons contained in this thesis. This system
more closely corresponds with systems found in industry, so that the experimental results
from the rig will be able to provide more indicative results for practical application.

50
Chapter 4 Implementation of Stochastic ILC Algorithms 51

4.2.1 Mechanical Structure

The multi-axis system is a three-axis gantry robot with a conveyor (see Figure 4.1).
The robot is a commercially available unit manufactured by Aerotech Inc USA and
consists of three individual, linear motion axes. The gantry robot has been designed as
a representation of a typical industrial tracking control problem. It is mounted above a
chain conveyor system, and its task is to collect a payload from a dispenser then place
the object onto the moving conveyor. Therefore the robot must accurately synchronize
both speed and position with the conveyor before releasing the payload.

Many industrial processes incorporate similar actions to those featured in the multi-axis
system, for example, food canning, bottle filling or automotive assembly. All of these
applications require accurate tracking control for each execution over a finite duration
with a minimum level of error in order to maximize production rates and minimize loss
of product due to faulty manufacture.

Figure 4.1: The multi-axes gantry robot.

As shown in Figure 4.1, the robot consists of three separate axes which are mounted
perpendicular to each other. The lowest horizontal axis, X, moves parallel to the con-
veyor beneath. It is built from two subsystems, a brushless linear dc motor and an
un-powered linear bearing slide. The second horizontal axis, Y , has one end mounted
on each component of the X-axis. The Y -axis is a single brushless linear dc motor. The
vertical Z-axis, consists of a linear ball-screw stage driven by a rotary brushless dc mo-
tor. All motors are powered by performance matched dc amplifiers. Position feedback
is obtained by means of optical incremental encoders.
Chapter 4 Implementation of Stochastic ILC Algorithms 52

The whole gantry system is mounted on a four-leg-framework which is constructed from


FlexLink components (detailed figure is shown in Figure A.1 of Appendix A. Two short
legs are fixed on the work bench and the other two legs are on the ground. There are
two horizontal beams connected on the longer legs in order to ensure the framework is
well grounded to avoid and reduce the resonances in the high frequency tests. One is
fixed under the work bench and the other is connected to the conveyor which is also
fixed to the work bench.

4.2.2 Modelling of the Axes

The development of mathematical models which adequately describe the dynamic be-
haviour of the plant which is to be controlled is an essential part of the practical im-
plementation component in control engineering research. Moreover, the mathematical
models of the plant are extremely helpful in the designing, testing and tuning of param-
eters of the algorithm in a simulation environment. This will significantly reduce the
risk of damaging the physical plant by applying potentially harmful input signals.

In general, given a linear plant model, the design of a controller uses either the transfer
function or the state-space plant representation. However, thanks to mathematical soft-
ware, the transformation between these forms (e.g. continuous-time to discrete-time,
transfer function to state-space representation) is easy and fast. All three axes had
been modelled by Ratcliffe (2005). However, due to the entire facility being moved and
resembled, the modelling work had to be redone as the base structure and surrounding
environment changed.

In order to obtain the mathematical model for each axis of the gantry robot, a series of
frequency response tests have been completed and the Bode plots for all axes have been
generated to be used in a model fitting procedure. Frequency domain modelling involves
supplying a known input to the plant and measuring the output. A mathematical
function can then relate the input and output sequences. Usually sine-waves are used
as the input sequences. If a sine-wave of known frequency and amplitude is supplied
to an open-loop, linear system, the measured output will also be a sine-wave, but with
a different amplitude and shifted phase. Typically, the ratio of the input to output
amplitude is recorded as the gain in decibels (dB) while the phase shift is recorded in
degrees. If a sufficiently large range of frequencies are tested, a Bode plot representing
the frequency domain response of the plant can be produced. Key features of the Bode
plot can indicate plant dynamics such as poles, zeros, time delays and resonances. Using
the Bode plotting rules in reverse it is possible to construct an approximate transfer
function of the plant by hand.

The X-axis of the gantry robot is the most complex one of the three axes as it is
a dual-side linear motor. Sinewaves of 130 different frequencies from 0.1 Hz (0.628
Chapter 4 Implementation of Stochastic ILC Algorithms 53

rad/s) to 80 Hz (502.655 rad/s) were supplied to the plant and the output data were
recorded. In order to get more accurate results, two groups of 130 different frequencies
were used and the testing of each frequency group was carried out three times. Each
of the three response data sets were then averaged to produced the plots shown in
Figure 4.2. The result proved that there was significant difference between the new
model and the previously obtained model.
X−axis Frequency Response

Experiment 1
−20
Experiment 2
Fitted model
Magnitude (dB)

−40

−60

−80

−1 0 1 2 3
10 10 10 10 10

−90
Phase (degree)

−135

−180

−1 0 1 2 3
10 10 10 10 10
Frequency (rad/s)

Figure 4.2: Frequency response testing results for the X-axis of the gantry robot.

Due to the structure and environment, the responses of the plant sometimes do not
closely resemble a sine wave. Often, a drifted sine wave is instead produced. By comput-
ing the averaging value or difference, a correct frequency response value can be recovered
(see Appendix A for detailed response plots). By using the Matlab control toolbox, an
approximate plant model of an appropriate order (e.g. 7th order for the X-axis) was
generated and then finely tuned by hand to fit the experimental data accurately. The
Bode plot of the fitted model is shown in red in Figure 4.2. The continuous-time transfer
function of the fitted X-axis model is

13077183.4436(s + 113.4)
GX (s) = × ···
s(s2 + 61.57s + 1.125 × 104 )
(s2 + 30.28s + 2.13 × 104 )
(4.1)
(s2 + 227.9s + 5.647 × 104 )(s2 + 466.1s + 6.142 × 105 )

The mechanical structure of the Y -axis and the Z-axis are simpler than that of the X-
Chapter 4 Implementation of Stochastic ILC Algorithms 54

axis. Sinewaves of 154 different frequencies from 0.1 Hz (0.628 rad/s) to 130 Hz (816.814
rad/s) were used in the Y -axis frequency response tests and 120 different frequencies
from 0.1 Hz (0.628 rad/s) to 125 Hz (785.398 rad/s) were used in the Z-axis tests. The
testing of these two axes was repeated three times and the resulting data were averaged
to produce the following Bode plots (Figure 4.3 and Figure 4.4).
Y−axis Frequency Response
0
Experiment
Fitted model
−20
Magnitude (dB)

−40

−60

−80

−100
−1 0 1 2 3
10 10 10 10 10

−50

−90
Phase (degree)

−135

−180

−225
−1 0 1 2 3
10 10 10 10 10
Frequency (rad/s)

Figure 4.3: Frequency response testing results for the Y -axis of the gantry robot.

The Bode plots of the corresponding fitted models are shown in red. The fitted models
are of 3rd order and the continuous-time transfer functions are given by (4.2) and (4.3).

23.7356(s + 661.2)
GY (s) = (4.2)
s(s2
+ 426.7s + 1.744 × 105 )
15.8869(s + 850.3)
GZ (s) = (4.3)
s(s + 707.6s + 3.377 × 105 )
2

By using Matlab commands, the corresponding discrete-time state space matrices can
be generated which will be used in most of the practical implementation that follows in
the case where a model is needed. The state space models for all axes were generated,
and are given below. The sampling time can be varied depending on the requirements
of the algorithms applied. However, in order to make sure all results are comparable,
Ts = 0.01s is used in all experimental tests.
Chapter 4 Implementation of Stochastic ILC Algorithms 55

Z−axis Frequency Response


−20
Experiment
Fitted model
−40

Magnitude (dB)
−60

−80

−100

−120
0 1 2 3
10 10 10 10

−80
−90
Phase (degree)

−135

−180
0 1 2 3
10 10 10 10
Frequency (rad/s)

Figure 4.4: Frequency response testing results for the Z-axis of the gantry robot.

• X-axis 7th order model


 
0.3879 1.0000 0.2138 0 0.1041 0 0.0832
−0.3898 0.3879 0.1744 0 0.0849 0 0.0678 
 
 

 0 0 −0.1575 0.2500 −0.2006 0 −0.1603

AX =  0 0 −0.3103 −0.1575 −0.0555 0 −0.0444
 
 

 0 0 0 0 0.0353 0.5000 0.2809 

0 0 0 0 −0.0164 0.0353 −0.2757
 

0 0 0 0 0 0 1.0000
 
0
 0 
 
 
 0 
 
BX =  0 
 
 
 0 
 
0
 
 
0.0910
h i
CX = 0.0391 0 0.0146 0 0.0071 0 0.0057
Chapter 4 Implementation of Stochastic ILC Algorithms 56

• Y -axis 3rd order model


 
−0.1067 0.1250 0.0777
AY = −0.0211 −0.1067 0.1016
 

0 0 1.0000
 
0
BY =  0 
 

0.0286
h i
CY = 0.0360 0 0.0286

• Z-axis 3rd order model


 
−0.0030 0.0625 0.0758
AZ = −0.0134 −0.0030 0.0637
 

0 0 1.0000
 
0
BZ =  0 
 

0.0191
h i
CZ = 0.0232 0 0.0191

The order of the state-space models corresponds with that of the transfer function mod-
els. All the values in the matrices are truncated after 4 digits. A full precision repre-
sentation of the state space matrices for the X, Y and Z axes are given in Appendix
A.

4.2.3 Hardware and Software Setup

4.2.3.1 Hardware Settings

The gantry robot comprises three different motors (either linear motors or rotary mo-
tors) each incorporating a shaft encoder. In addition to the robot itself, there are several
additional components connected to the gantry robot which are necessary in order to
complete the whole control system and ensure safe operation. Besides the control com-
puter, the test facility also includes two large drive cabinets, five smaller breakout boxes
and steel conduit for signal cables. A general layout of the existing infrastructure is
presented in Figure 4.5

The drive cabinets house the high power amplifiers and drives, as well as a selection of
individual power supply units in a cooled environment, which is screened from Radio
Frequency Interference (RFI). Different components of the test facility have varied power
supply requirements, ranging from 240V alternating current (ac) for cooling fans and
Chapter 4 Implementation of Stochastic ILC Algorithms 57

Encoder Box
Control
Computer
`

Pick Cabinet Gantry Robot

Start/Stop Current Amplifier Encoder Box


Button Encoder Conditioning
Place Cabinet Conveyor

Figure 4.5: The layout of hardware components.

low voltage power supplies, 110V ac for the motor amplifiers, 12V direct current (dc)
for the control signal amplifier circuits, +12V dc for the main ignition and emergency
stop circuit and +5V for the encoder circuits. The drive cabinets have been named
‘Pick’ and ‘Place’ to reflect the operation which a robot would perform at that location
along the conveyor; picking payloads off, or placing them on. The breakout boxes serve
as connection points to which external hardware such as robots and conveyors can be
connected. They also act as signal routing points, where signals and power cables from
different components of the test facility can be connected to other components.

4.2.3.2 Software Developments

The control computer is a Pentium 4, Desktop PC, running the Linux operating system
and using the ‘C’ programming language for software development. Linux is reported
to be well suited to real-time control applications because interrupt handling routines
generate significantly shorter delay latencies than other operating systems. However, a
control system running under the Microsoft Windows operating system has been devel-
oped as well in order to make data storage and operation more straightforward as there
are many data processing or technique charting software packages in the Windows plat-
form. In terms of control signal processing, the 10 Volt control set-points are generated
by a 16 channel, 12-bit Digital to Analogue (D/A) expansion card, while the encoder
generated signals are read by a separate 4 channel, quadrature decoder expansion card.
A third, binary input expansion card with an on-board timer is employed to achieve
strict sample interval timing.

The ILC control algorithms have been implemented by using ‘C’ programming language
with the following structure (Figure 4.6):
Chapter 4 Implementation of Stochastic ILC Algorithms 58

Program start

Parameters setting up

Initialise variables and


load models

Initialise hardware
Trial Loop

Home gantry
Sample Loop

Compute input for the


current sample

N Stop and
Safety check
warning

Y
Transfer signal to the
gantry

N
Sample number
> trial length

Y
Save data

Compute input update


by ILC law

N Trial number
> required trials

Program end

Figure 4.6: Block diagram of the ILC control program structure

4.2.4 Reference Trajectories

The gantry robot is designed to complete a pick-and-place motion on the conveyor over
and over again. A reference trajectory for the gantry movement was pre-defined with the
purpose of synchronising its the motion with that of the conveyor, which is running at a
constant speed. Each axis is controlled individually and has its own reference trajectory
(see Figure 4.7).

The 3-dimensional combined reference trajectory given in Figure 4.8 clearly shows the
“pick-and-place” process. The signal length is 2 seconds in the default setting. A sample
frequency of 1kHz is used for testing the basic algorithms, resulting in 2000 samples per
trial. A sample frequency of 100Hz is used for testing the model-based algorithms.
This frequency was deemed adequate, giving 200 sample instants per trial. Normally
before commencing every recorded experiment, several hundred trials will be performed
in order to make sure every mechanical and electronic component is in good condition.
Chapter 4 Implementation of Stochastic ILC Algorithms 59

X−axis Reference
0.04

Displacement (m)
0.03

0.02

0.01

0
0 50 100 150 200

Y−axis Reference
0.2
Displacement (m)

0.1

0
0 50 100 150 200

Z−axis Reference

0.01
Displacement (m)

0.005

0
0 50 100 150 200
Sample

Figure 4.7: Individual reference trajectory for all axes.

4.3 Algorithm Description

4.3.1 Discrete Stochastic ILC Algorithm

The theory of the stochastic ILC algorithms which forms the basis of the experimental
results in this thesis and its development were presented in Saab (2001a, 2003). Until
present, no one has attempted to test these algorithms on a physical plant which is a
crucial stage before the possibility of practical industrial application. A summary of this
work is given here.

The proposed stochastic learning algorithm is derived for a discrete-time-varying linear


system in a stochastic setting described by

xk (t + 1) = A(t)xk (t) + B(t)uk (t) + ωk (t)


(4.4)
yk (t) = C(t)xk (t) + νk (t)
Chapter 4 Implementation of Stochastic ILC Algorithms 60

Reference trajectory

0.01

0.008

z−axis (m)
0.006

0.004

0.002
pick
0
0
0.01 place
0.02
0
0.03 0.05
0.1
0.04 0.15
x−axis (m) 0.2
y−axis (m)

Figure 4.8: 3-D combined reference trajectory.

where at trial k, t ∈ [0, T ] and T < ∞ denotes the trial length. the system state
xk (t) ∈ <n , the system input uk (t) ∈ <p , the state disturbance ωk (t) ∈ <n , the system
measured output yk (t) ∈ <q and the system measurement error νk (t) ∈ <q . However,
the gantry robot used for the practical implementation can be seen as a multi-axis,
single-input-single-output (SISO), linear time invariant system. Therefore, (4.4) can be
simplified to give a discrete linear time-invariant (LTI) system.

xk (t + 1) = Axk (t) + Buk (t) + ωk (t)


(4.5)
yk (t) = Cxk (t) + νk (t)

where t ∈ [0, T ], the system state xk (t) ∈ <n , the system input uk (t) ∈ <p , the state
disturbance ωk (t) ∈ <n , the system measured output yk (t) ∈ <q and the system mea-
surement error νk (t) ∈ <q . Attention will focus on the following algorithms from Saab
(1995, 2001a) which are developed based on both D-type and P-type ILC. A summarised
derivation of this approach is given below.

D-type ILC — this uses the approximate error differentiation instead of the error
derivative considered in Arimoto et al. (1984a) for continuous-time systems

uk+1 (t) = uk (t) + Kk [ek (t + 1) − ek (t)] (4.6)

The relevant convergence conditions for this discrete-time D-type ILC algorithm was
analysed and given in Saab (1994) and Saab (1995).

P-type ILC — here

uk+1 (t) = uk (t) + Kk ek (t + 1) (4.7)


Chapter 4 Implementation of Stochastic ILC Algorithms 61

where Kk is the (p × q) learning control gain matrix, and ek (t) is the output error, i.e.
ek (t) = yd (t) − yk (t) where yd (t) is the desired output trajectory. It is assumed that for
any realisable output trajectory and an appropriate initial condition xd (0), there exists
a unique control input ud (t) which satisfied:

xd (t + 1) = Axd (t) + Bud (t)


(4.8)
yd (t) = Cxd (t)

If C(t + 1)B(t) is full-column rank, in this case (i.e. a SISO LTI system), the basic
assumption is CB 6= 0. Then the unique control input can be given by

ud (t) = [(CB)T CB]−1 (CB)T · [yd (t + 1) − CAxd (t)]

Define the state and input error vectors as

δx(t, k) = xd (t) − x(t, k)

δu(t, k) = ud (t) − u(t, k)

There are some assumptions that made before the development of the stochastic ILC
algorithm

• {ω(t, k)} and {ν(t, k)} are sequences of zeros-mean white Gaussian noise.

• Qt = E(ω(t, k)ω(t, k)T ) and Px,0 = Ek (δx(0, k)δx(0, k)T ) are positive semi-definite
matrices.

• Rt = Ek (v(0, k)v(0, k)T ) is a positive definite matrix and Pu,0 = E(δu(t, 0)δu(t, 0)T )
is a symmetric positive definite matrix.

• E and Ek are the expectation operators with respect to the time domain and the
trial domain respectively.

The main purpose is to find a proper learning gain matrix Kk such that the input error
variance is minimised. According to the definition and the D-type ILC control law, the
input error for the k + 1th trial can be given as

δu(t, k + 1) = δu(t, k) − Kk {C[xd (t + 1) − x(t + 1, k)]


−ν(t + 1, k)} + Kk {C[xd (t) − x(t, k)] − ν(t, k)}
= [I − Kk CB]δu(t, k) + Kk [C − CA]δx(t, k)
+Kk [ν(t + 1, k) − ν(t, k) + Cω(t, k)]
Chapter 4 Implementation of Stochastic ILC Algorithms 62

Taking the assumptions into account, at the k + 1th trial

Pu,k+1 , E[δu(t, k + 1)δu(t, k + 1)T ]


= (I − Kk CB)Pu,k (I − Kk CB)T + Kk CAPx,k (CA)T KkT
−(I − Kk CB)Pux,k (CA)T KkT − Kk CAPTux,k (I − Kk CB)T
+Kk CQt C T KkT + Kk Rt+1 KkT (4.9)

Since the initial state error δx(0, k) and the initial input error δu(t, 0) are assumed to
be zero-mean white noise, it can be shown that Pux,k = E(δx(t, k)δx(t, k)T ) = 0 (Saab,
2001a). Then (4.9) can be deduced to

Pu,k+1 = Pu,k − Pu,k (CB)T KkT − Kk CBPu,k


+Kk [CBPu,k (CB)T + CAPx,k (CA)T
+CQt C T + Rt+1 ]KkT (4.10)

Next the learning gain matrix is chosen such that the trace of Pu,k+1 is minimised. Then
set

d(trace(Pu,k+1 ))
≡ 0
dKk
d(trace(Pu,k+1 ))
= −2Pu,k (CB)T + 2Kk [(CB)Pu,k (CB)T
dKk
+(CA)Px,k (CA)T + CQt C T + Rt+1 ] ≡ 0

Finally, the learning control gain matrix Kk is given together with the update law for
Pu,k and Px,k

Kk = Pu,k (CB)T · [(CB)Pu,k (CB)T + (C − CA)


Px,k (C − CA)T + CQt C T + Rt ]−1 (4.11)
Pu,k+1 = (I − Kk CB)Pu,k (4.12)
Px,k+1 = APx,k AT + BPu,k B T + Qt (4.13)

Note that the P-type learning gain matrix has the same form as the D-type learning
gain matrix (Saab, 2003).

4.3.2 Discrete Sub-optimal Stochastic Learning Algorithm

The stochastic ILC algorithm requires the state matrix A to update the learning gain
matrix. A sub-optimal algorithm was proposed following the stochastic learning algo-
rithm in order to simplify the computation of the learning gain matrix by removing the
Chapter 4 Implementation of Stochastic ILC Algorithms 63

A matrix and the term Px,k and hence the learning control gain matrix Kk is set to

Kk = Pu,k (CB)T · [(CB)Pu,k (CB)T + CQt C T + Rt ]−1 (4.14)


Pu,k+1 = (I − Kk CB)Pu,k (4.15)

where Pu,0 and Qt are the matrices described previously.


fk
ILC Controller

4.4 Controller
e Arrangement uk
k
r + PID Controller ++ Plant yk
-
4.4.1 Pure ILC Approaches

Firstly, the pure ILC design is considered. With only the feedforward signal from the
ILC controller, the control inputs are updated by the previous error. Figure 4.9 shows
the block diagram for this arrangement. The control input can be modified by either
D-type algorithm or P-type algorithm.

ek uk
r + ILC Controller Plant yk
-

Figure 4.9: Block diagram of the controller structure and arrangement.

4.4.2 ILC with Feedback Controller

Figure 4.10 shows the structure of the controller arrangement which is used in the
hybrid approaches. It is a parallel arrangement of a PID feedback controller and an ILC
controller which is more capable of compensating for sudden changes in plant dynamics
(Ratcliffe et al., 2005a). Also, it enables better tracking performance for the initial trials.

fk
ILC Controller

ek uk
r + PID Controller ++ Plant yk
-

Figure 4.10: Block diagram of the controller structure and arrangement.

When the PID controller is turned on, a feedback/feedforward scheme is implemented.

ek uk
r + ILC Controller Plant yk
-
Chapter 4 Implementation of Stochastic ILC Algorithms 64

Let fk be the feedforward signal from the ILC controller, for the D-type algorithm (4.6)
this is given by

fk+1 (t) = fk (t) + Kk [ek (t + 1) − ek (t)] (4.16)

and for the P-type algorithm, by

fk+1 (t) = fk (t) + Kk ek (t + 1) (4.17)

Hence for the D-type algorithm


Z t
dek (t)
uk (t) = fk (t) + [Kp ek (t) + Ki ek (τ )dτ + Kd ] (4.18)
0 dt

ek (t)dt + Kd dedt
k (t)
R
Defining the operator PID[ek (t)] , Kp ek (t) + Ki allows this to be
written as

uk (t) = fk (t) + PID[ek (t)]


uk+1 (t) = fk+1 (t) + PID[ek+1 (t)]
= uk (t) + PID[ek+1 (t) − ek (t)] + Kk [ek (t + 1) − ek (t)]

and similarly for the P-type algorithm

uk+1 (t) = uk (t) + PID[ek+1 (t) − ek (t)] + Kk ek (t + 1) (4.19)

With a PID feedback controller, the input update is consequently the sum of the ILC
update plus the response of the PID controller to the difference between the current and
previous trial outputs. Note that, after sampling with period Ts , (4.18) becomes

t
X (ek (τ ) + ek (τ − 1))Ts ek (t) − ek (t − 1)
uk (t) = fk (t) + [Kp ek (t) + Ki + Kd ]
2 Ts
τ =1
t ∈ [0, T ]

4.4.3 Filter Design

Simulations and initial experimental tests lead to some results in which tracking error
started to diverge after a number of trials. It has been reported (see for example Long-
man (2000)) that in many ILC algorithms high frequency noise will build up as the
number of trials increase and tracking of the reference signal then begins to diverge.
This is illustrated in Figure 4.11, where the upper graph shows the tracking error over
all trials. Only 10 trials were completed and the experiment was then terminated due to
the presence of instability over a narrow frequency band. The gantry actually started to
vibrate which is harmful for the mechanical components. A frequency analysis was ap-
Chapter 4 Implementation of Stochastic ILC Algorithms 65

plied to the error signal (see Figure 4.11 lower graph), and a frequency of approximately
11-12Hz (around 70–75 rad/s) can be seen to build up. Looking back at the X-axis Bode
plot (Figure 4.2) a frequency of around 70–75 rad/s corresponds exactly with the first
resonant peak of the open loop system. More importantly, this is where the resonance
causes the phase plot to drop rapidly towards −180◦ . From this result, it is logical to
conclude that the plant vibrations are caused by the systems own resonance.
−3
x 10 Tracking Error
2

−1

Trial 3 Trial 5 Trial 10


−2

−3
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Time Step (10−2s)

−6
x 10 Error Frequency Spectrum
2.5

2 Trial 10

1.5 Trial 5

Trial 3
1

0.5

0
0 2 4 6 8 10 12 14 16 18 20
Frequency (Hz)

Figure 4.11: The frequency spectrum of tracking error for a range of trials.

Since ILC design is anti-causal along-the-pass, zero-phase filtering (see, for example, Plot-
nik and Longman (1999)) is feasible and here a low-pass filter of this form has been used
to mitigate the effects of high frequency noise (note that it has been reported Chen and
Longman (2002) that excessive phase shift can cause the ILC controller to incorrectly
compensate for the error and lead to an unstable system). A 4th order Chebychev filter
(see (4.20)) which has a cut off frequency of approximately 5Hz has been introduced and
Chapter 4 Implementation of Stochastic ILC Algorithms 66

is given by

0.0002 + 0.0007z −1 + 0.0011z −2 + 0.0007z −3 + 0.0002z −4


H(z) = (4.20)
1 − 3.5328z −1 + 4.7819z −2 − 2.9328z −3 + 0.6868z −4

Moreover, since the filter placement in the overall scheme is also critical for convergence
and tracking performance, two arrangements have been considered: In Figure 4.12(a)
the filter is applied to the feedforward signal and in Figure 4.12(b) it is applied to the
error signal prior to computation of the control signal for the next trial. Experiments
have shown that the latter arrangement gives the superior performance, and so it will
be adopted in the tests which follow.
fk
ILC Controller Zero-phase Filter fk
ILC Controller Zero-phase Filter

ek uk
r + ek PID Controller ++ uk Plant yk
r +- PID Controller ++ Plant yk
-

(a) Filtering the output of the ILC controller.

fk
Zero-phase Filter ILC Controller fk
Zero-phase Filter ILC Controller

ek uk
r + ek PID Controller ++ uk Plant yk
r +- PID Controller ++ Plant yk
-

(b) Filtering error vector before the ILC update

Figure 4.12: Filter arrangements.

Figure 4.13 shows the results for different filter arrangements. It is clear that without a
filter, the experiment had to be stopped after only 15 trials because the high frequency
noise led to big vibrations which might damage the robot. The experimental results show
that using filters applied to the ILC update produces far superior results. Therefore this
filter arrangement has been used in all experiment that follows.

4.5 Simulations

4.5.1 Stochastic Learning Algorithm

Prior to experimental implementation, a series of designs have been completed and their
performance evaluated in simulation using the Matlab/Simulink control toolbox. The
system model here is a SISO LTI model. Therefore the parameter Pu,k is then a scalar.
Px,k and Qt are square matrices and have the same dimensions as the system order.
Chapter 4 Implementation of Stochastic ILC Algorithms 67

X−axis mse
4
10
No filter
Filter arrangement 1
Filter arrangement 2
2
10

0
10

−2
10

−4
10
0 50 100 150 200
Trial Number

Figure 4.13: Experimental results for different filter designs (Pu,0 = 100, Qt = 0.01).

Figures 4.14 and 4.15 show the X-axis mse results obtained by varying Pu,0 (the initial
value of Pu,k ) and Qt where

Qt = Qt I (4.21)
Px,k = Px,k I (4.22)

Here Qt and Px,k are scalars and I is the identity matrix of appropriate dimension. Rt is
set to the mean value of the white noise, this being extracted from the error vector after
each completed trial. These results indicate that selecting a larger Pu,0 and a smaller
Qt gives better tracking performance both in terms of convergence speed and final error.
Although increasing the value of Pu,0 and decreasing the value of Qt give improved
performance, the simulations only use Pu,0 = 1000 as the biggest and Qt = 10−4 as
the smallest value because in the simulation there exists a quantiser block which uses
the smallest step of the distance which the encoder is able to measure in practice. This
prevents the tracking error further reducing. Also small amounts of random disturbance
are introduced to simulate a more practical environment.

The simulation results corresponding to varying the parameter value of Pu,0 and Qt lead
to quite obvious conclusions. However, use of different values of Px,0 have been tested
in both simulation and experiment. The results appear to show hardly any difference.
Therefore the subsequent series of tests did not take Px,0 in consideration.

Figure 4.16 shows the mean squared error plot of the X-axis with different PID feedback
parameters. PID= {0, 0, 0} means the feedback controller is not used. From the simu-
lation results, it can be seen that higher PID gains are able to give better performance
only in the first trial, but do not assist the ILC controller. The overall performance is
Chapter 4 Implementation of Stochastic ILC Algorithms 68

2
X−axis MSE (D−type Stochastic Learning)
10
Pu,0 = 10
Pu,0 = 100
1
10 Pu,0 = 1000

0
10

−1
10

−2
10

−3
10

−4
10
0 50 100 150 200 250 300 350 400 450 500
Trial Number

Figure 4.14: Simulations of varying Pu,0 . (PID = {60, 30, 0.2}, Qt = 0.001, Px,0 = 0.1)

2
X−axis MSE (D−type Stochastic Learning)
10
Qt = 10−1

Qt = 10−2
1
10 Qt = 10−3

Qt = 10−4

0
10

−1
10

−2
10

−3
10

−4
10
0 50 100 150 200 250 300 350 400 450 500
Trial Number

Figure 4.15: Simulations of varying Qt . (PID = {60, 30, 0.2}, Pu,0 = 800, Px,0 = 0.1)

degraded.

4.5.2 Sub-optimal Stochastic Learning Algorithm

The sub-optimal algorithm has also been simulated using various parameters. A batch
of tests has been performed using different combinations of these parameters (see Table
4.1). Each combination was implemented for 100 trials, the P I100 (see Equation 4.23)
performance has been used in the evaluation. The same evaluation method was used
in Ratcliffe et al. (2005a) to obtain the optimal weighting matrices of the norm-optimal
Chapter 4 Implementation of Stochastic ILC Algorithms 69

3
X−axis MSE (D−type Stochastic Learning)
10
PID = {600,300,0.2}
PID = {60, 30, 0.2}
2
10 PID = {6, 3, 0.2}
PID = {0,0,0}

1
10

0
10

−1
10

−2
10

−3
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 4.16: Simulations with varying PID gains. (Pu,0 = 1000, Qt = 0.001, Px,0 =
0.1)

ILC algorithm. Because the algorithm has two parameters, it is particularly suitable to
plot the algorithm performance on a 3-D surface chart.

100
X
P I100 = e2k (4.23)
k=1

Where · is the operator of computing mean value.

Pu,0 1 5 10 50 100 500 1000


Qt 10 5 1 0.5 0.1 0.05 0.01 0.005 0.001

Table 4.1: Testing parameters value

The results of P I100 can be found in Table 4.2 and a 3-D mesh plot has been generated
using the data (see Figure 4.17) which displays the performance for the X-axis.

Pu,0 = 1 5 10 50 100 500 1000


Qt =10 1.7682 1.7606 1.7511 1.6766 1.5917 1.1183 0.8028
Qt =5 1.7661 1.7509 1.7315 1.5919 1.4435 0.8031 0.5047
Qt =1 1.7509 1.6776 1.5934 1.1223 0.8064 0.2375 0.1293
Qt =0.5 1.7330 1.5952 1.4488 0.8107 0.5101 0.1298 0.0736
Qt =0.1 1.6085 1.1591 0.8428 0.2490 0.1344 0.0425 0.0357
Qt =0.05 1.4936 0.8805 0.5619 0.1400 0.0773 0.0358 0.0364
Qt =0.01 1.1070 0.3574 0.1811 0.0448 0.0359 0.0414 0.0446
Qt =0.005 0.9385 0.2285 0.1070 0.0358 0.0367 2.7598 0.7943
Qt =0.001 0.5413 0.0549 0.0359 3.9844 3.3938 3.0401 2.9749

Table 4.2: P I100 Results for the X-axis (×104 )

To the left of the chart is a region of poor tracking performance, where the P I100 value
Chapter 4 Implementation of Stochastic ILC Algorithms 70

4
x 10

0
1

0.001
10
0.01

100 0.1
Pu,0
1 Qt
1000 10

Figure 4.17: X-axis P I100 for various Pu,0 and Qt

is very large, indicating that virtually nothing is learnt during the 100 trials of the
test. As the ratio of Pu,0 and Qt increases, gradually P I100 reduces, indicating that the
performance is improving. This is represented by the slope to the left side of the chart.
As the Pu,0 and Qt ratio continues to increase, P I100 is reduced to very small values,
indicating that the perfect trajectory is learned in very few trials. This implies that the
balance of Pu,0 and Qt is now approaching optimality. Temporarily increasing the ratio
of Pu,0 and Qt has little effect on the performance, until the system becomes unstable
and P I100 jumps back to a very large value. This is represented by the channel, and
then the steep slope to the right of the chart.

4.6 Experimental Results

4.6.1 Test Parameters

The ILC controller has been applied to all three axes of the gantry robot, and a zero-
phase filter has been used in all experiments. The reference trajectories (Figure 4.8) are
the same as those used in all previously reported results in which ILC algorithms have
been implemented on the gantry robot (to enable the broadest possible comparison to
be made). A defining feature of ILC is that there is an undefined stoppage time between
trials, in which the control computation can be taken. The gantry axes are homed to
a predefined point, before each trial begins. Axis homing is performed to within ±30
microns to minimise the effects of initial state error. The sampling time Ts = 0.01s
(sampling frequency: 100Hz) has been used in all tests.
Chapter 4 Implementation of Stochastic ILC Algorithms 71

4.6.2 D-type Algorithm

Figure 4.18 shows the resulting errors for all axes using the pure ILC arrangement (no
feedback controller), for various values of Pu,0 . In contrast to the simulation results,
use of larger values of Pu,0 does not lead to appreciable differences in the levels of error
produced.
x−axis mse
4
10
Pu,0=1000
2
10 Pu,0=800
Pu,0=500
0
10 Pu,0=100

−2
10

−4
10
0 20 40 60 80 100 120 140 160 180 200

5
y−axis mse
10

0
10

−5
10
0 20 40 60 80 100 120 140 160 180 200

2
z−axis mse
10

0
10

−2
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 4.18: Experimental results (Qt = 0.001, Px,0 = 0.1).

Figure 4.19 shows the errors for all axes again without a PID feedback controller, using
various values of Qt . With smaller values of Qt , the performance is improved, especially
for the Y and Z-axes. However, reducing Qt further provides progressively less advantage
in terms of performance. From the mse curves, it can be seen that the value of Qt
significantly influences the learning speed.
Chapter 4 Implementation of Stochastic ILC Algorithms 72

x−axis mse
4
10
Qt = 0.1
2
10 Qt = 10−2

Qt = 10−3
0
10
Qt = 10−4

−2
10

−4
10
0 20 40 60 80 100 120 140 160 180 200

5
y−axis mse
10

0
10

−5
10
0 20 40 60 80 100 120 140 160 180 200

2
z−axis mse
10

0
10

−2
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 4.19: Experimental results (Pu,0 = 100, Px,0 = 0.1).

It has been found that the use of the PID feedback controller provides a higher level of
tracking performance over initial trials. This is illustrated by Figure 4.20 in which error
plots are given for all axes which show that, with small PID gains, the ILC controller is
able to cooperate more effectively with the PID controller. Without the PID controller,
the convergence rates for all axes are higher, but the performance in terms of the final
level of error is diminished, especially for the Y -axis. One possible reason for this is that
the reference signal for this axis is much higher than for the other two.

With the PID feedback controller in place, another series of experiments have been
conducted in order to compare the effects of varying Pu,0 . The results are given in
Figure 4.21, and it can be seen that the performance for different initial values of Pu,0
is generally quite similar. Exceptions occur in the case of the Y -axis, where the initial
Chapter 4 Implementation of Stochastic ILC Algorithms 73

x−axis mse

PID = {60,30,0.2}
2 PID = {6,3,0.2}
10
PID = {0,0,0}

0
10

−2
10

−4
10
0 20 40 60 80 100 120 140 160 180 200

4
y−axis mse
10

2
10

0
10

0 20 40 60 80 100 120 140 160 180 200

z−axis mse

2
10

0
10

−2
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 4.20: Experimental results (Pu,0 = 1000, Qt = 0.001, Px,0 = 0.1).

values of Pu,0 = 500 or Pu,0 = 800 clearly improve over those using Pu,0 = 100. These
experimental results as a whole suggest that the algorithm has significant robustness
and disturbance rejection potential. Note also that very large unexpected errors can
arise on some trials (see for example, Figure 4.21, at about trial 100 with Pu,0 = 100,
and at about trial 120 with Pu,0 = 200) but overall they do not lead to long-lasting
negative effect.

4.6.3 P-type Algorithm

The P-type algorithm has also been tested using the pure ILC arrangement but the
learning speeds were extremely slow with various parameter settings. So the following
Chapter 4 Implementation of Stochastic ILC Algorithms 74

x−axis mse
4
10
Pu,0=1000
2
10 Pu,0=800
Pu,0=500
0
10 Pu,0=200
Pu,0=100
−2
10

−4
10
0 20 40 60 80 100 120 140 160 180 200

5
y−axis mse
10

0
10

−5
10
0 20 40 60 80 100 120 140 160 180 200

2
z−axis mse
10

0
10

−2
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 4.21: Experimental results (PID={6, 3, 0.2}, Qt = 0.001, Px,0 = 0.1).

results are all generated using the hybrid approach. Figure 4.22 shows a series of ex-
perimental results for all axes obtained with the modified filter in place. It is clear that
larger initial values of Pu,k , Pu,0 provide superior performance, especially for the Y -axis
and Z-axis.

Figure 4.23 shows a series of experimental results using various values of Qt . Although
simulation studies indicated that smaller values of Qt lead to improved performance,
experimental results for the X-axis show little difference in practice. Furthermore, the
smaller values were not able to provide superior results initially. For the Y -axis and
Z-axis, smaller values of Qt do lead to a reduced level of final error. However, as with
the X-axis results, too small a value of Qt produces poorer performance over initial
trials.
Chapter 4 Implementation of Stochastic ILC Algorithms 75

2
x−axis mse
10
Pu,0=10
Pu,0=50
0
10 Pu,0=100

−2
10

−4
10
0 20 40 60 80 100 120 140 160 180 200

2
y−axis mse
10

0
10

−2
10

−4
10
0 20 40 60 80 100 120 140 160 180 200

0
z−axis mse
10

−1
10

−2
10

−3
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 4.22: Experimental results (PID={600, 300, 0.2}, Qt = 0.1, Px,0 = 0.1).

4.6.4 Sub-optimal Algorithm

The sub-optimal algorithm has been implemented using the parameters that where found
to lead to high level performance in the simulation study (see Section 4.5.2). In the
simulated results, the best performance was achieved by setting the value of Pu,0 = 100
and the value of Qt = 0.01. Then using the fixed choice of Pu,0 = 100 or Qt = 0.01, a
series of tests has been carried out. Figure 4.24 and Figure 4.25 show that increasing Pu,0
and decreasing Qt by a certain amount is able to improve the performance. However,
increasing the ratio of Pu,0 and Qt too much will negatively affect the performance. The
best performance can be found when Pu,0 = 200 and Qt = 0.01. When using a larger
ratio of Pu,0 and Qt , convergence speeds are improved while long term performance are
not so good as shown in Figure 4.24 which shows mse curves using Pu,0 = 500 cross
Chapter 4 Implementation of Stochastic ILC Algorithms 76

5
x−axs mse
10
Qt=0.1
Qt=0.01
Qt=0.001
0
10

−5
10
0 20 40 60 80 100 120 140 160 180 200

5
y−axs mse
10

0
10

−5
10
0 20 40 60 80 100 120 140 160 180 200

5
z−axs mse
10

0
10

−5
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 4.23: Experimental results (PID={600, 300, 0.2}, Pu,0 = 50, Px,0 = 0.1).

the curves of Pu,0 = 200 for all axes. The X-axis has the most significant difference.
This is also true when using different values of Qt as shown in Figure 4.25, the mse
curve of Qt = 0.005 has crossed the curve of Qt = 0.01 after around 100 trials but this
does not occur in the case of Y -axis and the Z-axis whose models are far less complex
than that of the X-axis. Therefore, parameter tuning for each axis should be conducted
independently (See Appendix B for more experimental results).

4.6.5 Comparison of Experimental Results

The best overall performing results achieved for the D-type, P-type stochastic learning
and Sub-optimal algorithms are compared in Figure 4.26. This shows that the D-type/P-
Chapter 4 Implementation of Stochastic ILC Algorithms 77

3
x−axis mse
10
Pu,0=10 Pu,0=50 Pu,0=100 Pu,0=200 Pu,0=500
1
10

−1
10

−3
10

0 20 40 60 80 100 120 140 160 180 200

4
y−axis mse
10

2
10

0
10

−2
10

0 20 40 60 80 100 120 140 160 180 200

3
z−axis mse
10

1
10

−1
10

−3
10

0 20 40 60 80 100 120 140 160 180 200


Trial Number

Figure 4.24: Experimental results for sub-optimal algorithm (Qt = 0.01).

type stochastic learning algorithm outperforms the sub-optimal algorithm for all three
axes in terms of learning speed. Meanwhile, the P-type algorithm produces superior
performance for the Y -axis compared with the use of the D-type update. The P-type
algorithm slightly improves on the results of the D-type when applied to the X-axis.
However, the performance is approximately equal in the case of the Z-axis, but the
P-type algorithm holds the final error with significantly less fluctuation.

Compared with other algorithms that have been implemented on the gantry robot,
which include the basic P-type algorithm with an aliasing filter, the inverse algorithm,
and norm-optimal ILC (see Ratcliffe et al. (2004, 2005a, 2006b) for details), a similar
performance is achieved using the discrete stochastic learning algorithms. Figure 4.27
shows that the convergence speed for the stochastic learning algorithms is much more
rapid than the P-type with an signal aliasing filter, and slightly slower than when using
Chapter 4 Implementation of Stochastic ILC Algorithms 78

3
x−axis mse
10
Qt=0.1 Qt=0.05 Qt=0.01 Qt=0.005

1
10

−1
10

−3
10
0 20 40 60 80 100 120 140 160 180 200

4
y−axis mse
10

2
10

0
10

−2
10
0 20 40 60 80 100 120 140 160 180 200

3
z−axis mse
10

1
10

−1
10

−3
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 4.25: Experimental results for sub-optimal algorithm (Pu,0 = 100).

norm-optimal ILC and the inverse algorithm. In terms of tracking error, the stochastic
learning algorithms outperform the inverse algorithm, but are unable to reach the level
attained by norm-optimal ILC. P-type with signal aliasing outperforms the remaining
methods in terms of reducing the fluctuation of the final error.

4.7 Summary

In this chapter, one of the experimental facilities — the multi-axis gantry robot has
been introduced along with the modelling of all three axes. The mechanical structure
and hardware/software setup for algorithm implementation have been provided as well.
The settings have been used for all the experiments carried out in this thesis.
Chapter 4 Implementation of Stochastic ILC Algorithms 79

x−axis mse
4
10
D−type: Pu,0=500, Qt=0.001, PID={6,3,0.2}
2
10 P−type: Pu,0=50, Qt=0.01, PID = {600,300,0.2}
Sub−optimal: Pu,0=200, Qt=0.01
0
10

−2
10

−4
10
0 20 40 60 80 100 120 140 160 180 200

5
y−axis mse
10

0
10

−5
10
0 20 40 60 80 100 120 140 160 180 200

2
z−axis mse
10

0
10

−2
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 4.26: A comparison of stochastic learning algorithm applied on D-type and


P-type .

Also, a series of stochastic learning algorithms (P-type algorithm, D-type algorithm and
sub-optimal algorithm) have been reviewed and implemented for on the multi-axis gantry
robot. It is the first ever experimental implementation and verification of these stochastic
ILC algorithms. Their performance has been assessed as well. The ILC controller has
been combined with a PID feedback controller in a parallel arrangement. Experimental
results have shown that the highest level of performance is achieved when the PID
controller is tuned using small parameter values. Moreover, it is found that use of a
robustness filter applied to the error signal prior to the ILC update greatly improves upon
the performance of previous implementations. In comparing the algorithms working
with P-type ILC and D-type ILC, it has been found that the performance of the P-
type stochastic learning algorithm was slightly superior to that of the D-type stochastic
Chapter 4 Implementation of Stochastic ILC Algorithms 80

x−axis mse
4
10
Inverse Model
P−type Aliasing

2
Norm Optimal
10 D−type Stochastic
P−type Stochastic

0
10

−2
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 4.27: Comparison of MSE for x-axis with other algorithms.

learning algorithm. Both these two approaches perform better than the sub-optimal
approach in terms of learning speed. Furthermore, when compared with other ILC
algorithms implemented on the same system, it has been found that the performance of
the stochastic learning algorithm compares favourably, it only being eclipsed by the far
more computationally intensive norm-optimal ILC algorithm.
Chapter 5

ILC based on 2D System Theory

The formulation of ILC specifies that all related control signals and measurements are
defined over a finite time interval which is called a pass, a trial or an iteration. ILC
itself is a learning process conducted over a series of trials. Therefore ILC can be easily
described in a 2-dimensional (2D) setting. The first dimension is time (or samples in
discrete problems), and the second dimension is the trial number. This is advantage,
since 2D systems have a significant amount of supporting theory in terms of convergence,
stability and related properties. In this chapter, some ILC algorithms based on the 2D
systems theory will be developed and implemented. Some analysis is given to illustrate
how these approaches deal with the tracking and stabilisation problem in both the
dimensions of time and trial number.

5.1 Introduction

In Roesser (1975), the following 2D state space model was introduced as an extension
of the well-known standard state space approach
" # " #
xh (i + 1, j) xh (i, j)
= A + Bu(i, j)
xv (i, j + 1) xv (i, j)
" #
xh (i, j)
y(i, j) = C (5.1)
xv (i, j)

where xh and xv are the horizontal and vertical state components and i and j are
nonnegative integer-valued horizontal and vertical coordinates. Later in Fornasini and

81
Chapter 5 ILC based on 2D System Theory 82

Marchesini (1978), a second order model representing 2D system was introduced as

x(i + 1, j + 1) = A1 x(i, j + 1) + A2 x(i + 1, j)


+A0 x(i, j) + Bu(i, j)
y(i, j) = Cx(i, j) (5.2)

Here the state updating takes place from (i, j) to (i + 1, j + 1) in contrast to the shift-
ing operator found in the normal discrete-time state space model. The system is now
described in two dimensions and each one can be treated as a standard state space
system.

With respect to ILC, one dimension is the sample or time interval during an trial (de-
scribed by i) while the other dimension j represents the trial number. The ILC algorithm
developed by Arimoto et al. (1984a) can be concisely represented in 2-D system theory.
As discussed in Chapter 2, ILC can be treated as a 2D linear system where one direction
of information propagation in the 2D models above represents the dynamics along the
trial and the other the trial-to-trial dynamics. An approach was presented by Geng
et al. (1990) which applied 2D system theory to ILC in order to design a controller for
the linear multi-variable system. Kurek and Zaremba (1993) then analysed the stability
of the basic P-type ILC using 2D system theory and also gave another ILC control law
that can be designed based on 2D system theory in the following form

u(t, k + 1) = u(t, k) − K1 [x(t, k + 1) − x(t, k)] + K2 [yr (t + 1) − y(t + 1, k)] (5.3)

where t, k are the time or sample number along the trial and the trial number respec-
tively, K2 = (CB)T [CB(CB)T ]−1 , K1 = K2 CA and u(t), x(t), yr (t), y(t) denote the
control input, the system state, the reference signal and the measured output respec-
tively where A, B, C are the Markov matrices from the model.

A distinct class of 2D systems are called repetitive processes, also called termed multi-
pass processes in the early literature, which are characterised by a series of sweeps,
termed passes, through a set of dynamics where the duration, or length, of each pass
is finite. An output is produced on each trial which acts as a forcing function and
contributes to the next output. The concept of a repetitive process was first introduced
in the early 1970s for the modelling of control of long-wall coal cutting and metal rolling
operations which are two typical applications in industry (Rogers et al., 2007).

In ILC, a major objective is to achieve convergence of the trial-to-trial error and often
this has been treated as the only objective. In fact, it is possible that enforcing fast
convergence could lead to unsatisfactory along the trial performance. As an example,
to illustrate this last point, consider the case of a linear continuous-time system whose
Chapter 5 ILC based on 2D System Theory 83

dynamics are modeled by the transfer-function:

(s + 5)(s + 1)
G(s) =
(s + 3)(s2 + 4s + 29)

which is to be controlled in the ILC setting using the P-type law:

uk+1 = uk + Kek+1 (t) (5.4)

with, in particular, K = 3. Figure 5.1 shows the response of the controlled system over
50 trials when the reference signal is a unit step function of 2 seconds duration, applied
at t = 0. Figure 5.2 shows the performance of the controlled system for the 30th trial.
These responses confirm that trial-to-trial error convergence occurs but along the trial
performance can be very poor.
(a) Input Progression (b) Error Progression (c) Output Progression

20 1 1.5

15

Output Value
Input Value

Error Value

0.5 1
10

5
0 0.5
0
−5 −0.5 0
0 0 0
50 50 50
1 1 1

Time (s) 2 Trial Number Time (s) 2 Trial Number Time (s) 2 Trial Number
0 0 0

Figure 5.1: An example of ILC: learning process


(a) Input (Trial: 30) (a) Error (Trial: 30) (a) Output (Trial: 30)
100 1 1.4
Reference
80 1.2
Output
1
Output Value
Input Value

60 0.5
Error Value

0.8
40
0.6
20 0
0.4
0 0.2

−20 −0.5 0
0 0.5 1 1.5 2 0 0.5 1 1.5 2 0 0.5 1 1.5 2
Time (s) Time (s) Time (s)

Figure 5.2: An example of ILC: individual trial

As another example consider the case where

(s + 5)(s − 1)
G(s) =
(s + 3)(s2 + 4s + 13)

which is to be controlled in the same ILC setting using the same P-type law as in the
previous example (5.4) with the learning gain K = 3. Figure 5.3 shows the response of
the controlled system over 20 trials when the reference signal is the reference trajectory
defined from the gantry robot in Chapter 4, and is of 2 seconds duration. Figure 5.4
shows the performance of the controlled system for the 5th trial. These responses also
System Parameter Max Error & Mse 1st & Last Iteration
−1
1 10 0.04
Maximum Error
Mean Squared Error 0.035
Chapter
0.8 5 ILC based on 2D System Theory 10
−2
84
0.03
−3
10
0.025
0.6
confirm that trial-to-trial error convergence occurs but along the trial performance is 10
−4
0.02

0.4
even worse than in the last example. This time the system displays unacceptable along 10
−5 0.015

0.01
the
0.2 trial behaviour. In fact treated in isolation as a 1D system, i.e. consider only the
10
−6

0.005
Reference
trial,
0 the behaviour here is unstable and the dynamics is unacceptable over a finite 10
−7

0 5 10 15 20
0
0 0.5 1 1.5 2
0 0.2 0.4 0.6 0.8 1
Iteration Time(ms)
interval.
Input Progression Tracking Error Progression Tracking Progression

1 0.03 0.04

0.8
0.02 0.02

Output Value
Error Value
Input Value

0.6
0.01 0
0.4
0 −0.02
0.2

0 −0.01 −0.04
0 0 0
0.5 20 0.5 20 0.5 20
1 15 1 15 1 15
10 10 10
1.5 1.5 1.5
5 5 5
Time (s) 2 0 Trial Number Time (s) 2 0 Trial Number Time (s) 2 0 Trial Number

Figure 5.3: An example of ILC: learning process


Input Error Output
0.35 0.03 0.04

0.3 0.025 0.03

0.25 0.02
0.02
0.2 0.01
0.015
0.15 0
0.01
0.1 −0.01
0.005 Output
0.05 −0.02
Reference
0 0 −0.03
0 5 10 15 20 0 5 10 15 20 0 5 10 15 20

Figure 5.4: An example of ILC: individual trial

These two examples demonstrate that ILC sometimes operates well in one dimension
(trial to trial) but is far from ideal in the other dimension (along the trial). The first
example showed the poor transient performance and the second example illustrated the
problem of instability along the trial. The design of control law which can provide good
performance in both dimensions would lead to a significant improvement in ILC design.

In this chapter, the problem is addressed by first showing that ILC schemes can be
designed for a class of discrete linear systems by, in effect, extending techniques developed
for 2D systems using the framework of linear repetitive processes. This allows the use
of the strong concept of stability along the pass (or trial) for these processes in an ILC
setting as a possible means of dealing with poor/unacceptable transients in the along the
trial dynamics. The results developed here yield control law design algorithms which can
be implemented via LMIs. The resulting controllers are able to guarantee the stability
along the trial and also control over the along the trial dynamics.

There are two sub-algorithms developed and implemented in this chapter, which are
the state-feedback 2D algorithm (theoretical details can be found in Hladowski et al.
Chapter 5 ILC based on 2D System Theory 85

(2008b)) and the output-feedback 2D algorithm (Hladowski et al., 2008a). Both algo-
rithms are developed based on the same fundamental structure and the output-feedback
controller is actually for the case when the states of the system are not observable or
can not be measured or computed accurately. Finally, the two resulting control laws are
experimentally validated on the gantry robot introduced in last chapter executing a pick
and place operation where the plant models used for design are obtained via frequency
response tests. The symbols M  0, respectively M ≺ 0, are used in this chapter to
denote a symmetric positive definite, respectively negative, definite matrix. The next
section gives an overview of the representation and initial analysis of ILC schemes in a
repetitive process setting.

5.2 Problem Setup

The plants considered in this chapter are assumed to be differential linear time-invariant
systems described by the state-space triple {A, B, C} which in an ILC setting is written
as
ẋk (t) = Axk (t) + Buk (t), 0 ≤ t ≤ T
(5.5)
yk (t) = Cxk (t)

where on trial k, xk (t) ∈ Rn is the state vector, yk (t) ∈ Rm is the output vector,
uk (t) ∈ Rr is the vector of control inputs, and the trial length T < ∞. If the signal to be
tracked is denoted by r(t) then ek (t) = r(t)−yk (t) is the error on trial k. The most basic
requirement then is to force the error to convergence in k. This, however, cannot always
be addressed independently of the dynamics along the trial as the following analysis
demonstrates.

Consider the case where on trial k+1 the control input is calculated using

M
X M
X
uk+1 (t) := αj uk+1−j (t) + (Kj ek+1−j (t) + (K0 ek+1 )) (5.6)
j=1 j=1

In addition to the ‘memory’ M , the design parameters in this control law are the static
scalars αj , 1 ≤ j ≤ M , the linear operator K0 which describes the current pass error
contribution, and the linear operator Kj , 1 ≤ j ≤ M , which describes the contribution
from the error on pass k + 1 − j.

It is now routine to show that convergence of the error here holds if, and only if, all
roots of
z M − α1 z M −1 − · · · − αM −1 z − αM = 0 (5.7)

have modulus strictly less than unity. Also the error dynamics on trial k+1 here can be
Chapter 5 ILC based on 2D System Theory 86

written in convolution form as

ek+1 (t) = r(t) − (Guk+1 )(t), 0 ≤ t ≤ T

Suppose also that (5.7) holds. Then the closed-loop error dynamics converge (in the
norm topology of Lp [0, T ]) to

e∞ = (I + GKeff )−1 r (5.8)

where the so-called effective controller Keff is given by

K
Keff :=
1−β

and
M
X M
X
β := αi , K= Ki
i=1 i=1

Also, suppose that the condition of Equation (5.7) holds. then the resulting error se-
quence is bounded by an expression of the form

||êk − ê∞ || ≤ M1 {max(||e0 ||, · · · , ||eM −1 ||) + M2 }λke (5.9)

where êk = [eTk+1−M (t) · · · eTk ]T is the so-called error super vector, M1 and M2 are positive
real scalars, and λe ∈ (max|µi |, 1) and µi , 1 ≤ i ≤ M, is a solution of (5.7).

The result here counter-intuitive in the sense that stability is largely independent of the
plant and the controllers used. This is a direct result of the fact that the trial duration
T is finite and over such an interval a linear system can only produce a bounded output
irrespective of its stability properties. Hence even if the error sequence generated is
guaranteed to converge to a limit, this terminal error may be unstable and/or possibly
worse than the first trial error, i.e. the use of ILC has produced no improvement in
performance.

We have the following (see Owens et al. (2000) for the details).

1. Convergence is predicted to be ‘rapid’ if λe is small and will be geometric in form,


converging approximately with λke .

2. The limit error is nonzero but is usefully described by a (1D linear systems)
unity negative feedback system with effective controller Keff defined above. If
maxi (|µi |) → 0+ then the limit error is essentially the first learning iterate, i.e.
use of ILC has little benefit and will simply lead to the normal large errors encoun-
tered in simple feedback loops. There is hence pressure to let maxi |µi | be close
to unity when Keff is a high gain controller which will lead (roughly speaking) to
small limit errors.
Chapter 5 ILC based on 2D System Theory 87

PM
3. Zero limit error can only be achieved if i=1 αi = 1. (This situation — again
see Owens et al. (2000) — for the details — is reminiscent of classical control
where the inclusion of an integrator (on the stability boundary) in the controller
results in zero steady state (limit) error in response to constant reference signals.)

There is a conflict in the above conclusions which has implications on the systems and
control structure from both the theoretical and practical points of view. In particular,
consider for ease of presentation the case when Ki = 0, 1 ≤ i ≤ M . Then small learning
errors will require high effective gain yet GK0 should be stable under such gains.

To guarantee an acceptable (i.e. stable (as the most basic requirement)) limit error and
acceptable along the trial transients, a stronger form of stability must be used. Here we
consider the use of so-called stability along the trial (or pass) from repetitive process
theory. In effect, this demands convergence of the error sequence with a uniform bound
on the along the trial dynamics. We also work in the discrete domain and so assume
that the along the pass dynamics have been sampled at a uniform rate Ts seconds to
produce a discrete-state space model of the form (where for notational simplicity the
dependence on Ts is omitted from the variable descriptions)

5.3 State-feedback Control Scheme

5.3.1 Algorithm Setup

Consider the system model is given by

xk (p + 1) = Âxk (p) + B̂uk (p), 0 ≤ p ≤ α


(5.10)
yk (p) = Ĉxk (p)

Consider now the so-called discrete linear repetitive processes described by the following
state-space model over p = 0, 1, · · · , T − 1, k ≥ 1

xk (p + 1) = Âxk (p) + B̂uk (p) + B̂0 yk−1 (p)


(5.11)
yk (p) = Ĉxk (p) + D̂uk (p) + D̂0 yk−1 (p)

where xk (p) ∈ Rn , uk (p) ∈ Rr , yk (p) ∈ Rm are the state, input and pass profile vectors
respectively. Note here the information of the previous pass has contribution to the
current pass profile. Also rewrite the state equation of the process model in the form

xk (p) = Axk (p − 1) + Buk (p − 1) (5.12)

and introduce
ηk+1 (p + 1) = xk+1 (p) − xk (p)
(5.13)
∆uk + 1(p) = uk+1 (p) − uk (p)
Chapter 5 ILC based on 2D System Theory 88

Then we have
ηk+1 (p + 1) = Aηk+1 (p) + B∆uk + 1(p − 1) (5.14)

Consider also a control law of the form

∆uk + 1(p) = K1 ηk+1 (p + 1) + K2 ek (p + 1) (5.15)

and hence
ηk+1 (p + 1) = (A + BK1 )ηk+1 (p) + BK2 ek (p) (5.16)

Also ek+1 (p) − ek (p) = yk (p) − yk+1 (p) and we then obtain

ek+1 (p) − ek (p) = CA(xk (p − 1) − xk+1 (p − 1)) (5.17)


+CB(uk (p − 1) − uk+1 (p − 1)) (5.18)

Using (5.35) we now obtain

ek+1 (p) − ek (p) = −CAηk+1 (p) − CB∆uk + 1(p − 1) (5.19)

or, using (5.15),

ek+1 (p) = −C(A + BK1 )ηk+1 (p) (5.20)


−Cηk+1 (p) + (I − CBK2 )ek (p) (5.21)

Also introduce
 = A + BK1
B̂0 = BK2
(5.22)
Ĉ = −C(A + BK1 )
D̂0 = I − CBK2

Then clearly (5.16) and (5.20) can be written as

ηk+1 (p + 1) = Âηk+1 (p) + B̂0 ek (p)


(5.23)
ek+1 (p) = Ĉηk+1 (p) + D̂0 ek (p)

which is of the form of linear repetitive processes (see Equation (5.11)) and hence the
repetitive process stability theory can be applied to this ILC control scheme. In particu-
lar, stability along the trial is equivalent to uniform bounded input bounded output sta-
bility (defined in terms of the norm on the underlying function space), i.e. independent
of the trial length,and hence we can (potentially) achieve trial-trial error convergence
with acceptable along the trial dynamics.

The stability theory for linear repetitive processes is critically dependent on the structure
of the boundary conditions and, in particular, the state initial vector sequence Here we
assume that
ηk+1 (0) = 0, k ≥ 0
Chapter 5 ILC based on 2D System Theory 89

It is also possible to write the ILC scheme in the form consider by Kurek and Zaremba
(1993) - see (5.3). The results which follow move beyond only trial-to-trial convergence
analysis. Moreover they are supported by experimental results which also formed one the
few currently reported experimental applications of repetitive processes control theory.

5.3.2 Stability Analysis and State Feedback Design

By using the stability theory in linear repetitive processes from Rogers et al. (2007), the
following result gives stability along the trial under control action together with formulas
for control law design. The proof of this result is in Hladowski et al. (2008b).

Theorem 5.1. The ILC scheme of (5.23) is stable along the trial if there exist compatibly
dimensioned matrices X1  0, X2  0, R1 and R2 such that the following LMI is feasible

−X1 0

 0 −X2
M =

 AX1 + BR1 BR2
−CAX1 − CBR1 X2 − CBR2
 (5.24)
X1 AT + R1T B T −X1 AT C T − R1T B T C T
R2T B T X2 − R2T B T C T


≺0
−X1 0 

0 −X2

If (5.24) holds, the control law matrices K1 and K2 can be computed using

K1 = R1 X1−1
(5.25)
K2 = R2 X2−1

In practical applications, it is often beneficial (or indeed essential) to bound the entries
(above or below) in the control law matrices. In the ILC setting, there could well be
cases where it is beneficial to keep the entries in the control law matrix K2 as large
as possible. Note, however, that direct manipulation of the entries in K2 is difficult to
achieve in an LMI setting and hence other approaches must be employed. As an example
in this latter category is described next drawing on the work of Siljak and Stipanovic
(2000) where it was first proposed (in a non ILC setting)). The basic result is that if L
and kl > 0 are real scalars subject to the constraint

L2 < kl (5.26)

then in LMI terms this can be written as


" #
−kl LT
≺0 (5.27)
L −1
Chapter 5 ILC based on 2D System Theory 90

This operation can also be applied in the matrix case — the scalar L2 is replaced by the
matrix LT L, kl by kl I, where I is an identity matrix of compatible dimensions, and less
than is replaced by a negative definite constraint.

5.3.3 Simulations and Experiments

The control law has been implemented on the gantry robot described in Chapter 4.
The algorithm needs a discrete-time plant model for all three axes, and each model is
discretised using a sampling time of Ts = 0.01s (sampling frequency: 100Hz) to ensure
there is enough time between each time interval for the computation. The discrete-time
transfer function for the X-axis is given below (details of the Y -axis and the Z-axis can
be found in Chapter 4 or Appendix A).

0.00051745(z + 0.5823)(z − 0.3014)


G(z) =
(z − 1)(z 2 − 0.07057z + 0.009459)
(z 2 − 0.09718z + 0.008969)(z 2 − 0.2046z + 0.7846)
· (5.28)
(z 2 + 0.3149z + 0.1024)(z 2 − 0.7757z + 0.5403)

what leads to the state-space models used for the design (where the subscript X is used
to distinguish this axis from the others we are considering)
 
2.41 −0.86 0.85 −0.59 0.30 −0.19 0.32
4.00 0 0 0 0 0 0 
 
 
 0 1.00 0 0 0 0 0 
 
AX =  0 0 1.00 0 0 0 0 
 
 
 0 0 0 1.00 0 0 0 
 
 0 0 0 0 0.50 0 0 
 

0 0 0 0 0 0.25 0
h iT
BX = 0.0313 0 0 0 0 0 0
h i
CX = 0.0095 −0.0023 0.0048 −0.0027 0.0029 −0.0011 0.0029

At this stage, Theorem 1 can be used to undertake control law design, where it should
be noted that the LMI setting actually produces a family of solutions. As one example,
we consider the case when the following additional LMI constraints are imposed (where
for this particular case X2 is a scalar)

X2 < 1 × 10−4 (5.29)


X1 ≺ 1 × 10−2 (5.30)
R1 ≺ 1 × 10−2 (5.31)
Chapter 5 ILC based on 2D System Theory 91

Figure 5.5: Simulation results for the state-feedback algorithm

The control law matrices of (5.15) for this data are given by
h i
K1 = 7.3451 −2.7245 0.1499 7.6707 2.7540 −3.6088 −20.4519 (5.32)

K2 = 82.4119 (5.33)

Here the system states are obtained by a Kalman state estimator. As it is assumed that
the system is a discrete SISO system in the form of (5.10), by setting the initial state to
zero, the state can be computed sample by sample when a system model is known. The
estimator has the following state equation:

x(p + 1) = Ax(p) + Bu(p) + L[y(p) − Cx(p)]

Where L is the Kalman filter gain matrix which is derived by solving a discrete Riccati
equation. In the simulations and experiments, the filter gain matrix L is computed in
Matlab and
h i
L = 0.0004 0.0004 0.0034 0.0041 0.0025 0.0017 0.0020

Informative simulation studies are a critical stage prior to the experiments as it is es-
sential to verify that algorithm performs well and to ensure there are no harmful signals
which would be applied to the experimental facilities. Here the controlled process has
been simulated in Matlab/Simulink and typical results are shown in Figure 5.5. These
show that convergence to zero error is possible. The speed of convergence is somewhat
slow but, as stated previously, the LMI design produces a family of control laws and
hence allows the possibility of tuning these designs to good effort in this case.

Having done some initial experimental tests, it was found that some high frequency
components build up in this control design as they did in the implementation of the
Chapter 5 ILC based on 2D System Theory 92

stochastic learning algorithms (see Chapter 5 for details). One option to limit this is to
employ a zero-phase low pass filter to remove such noise (and retain stability along the
trial). Figure 5.6 shows a case where the trial error without filtering starts to diverge
after (approximately) 100 trials but the addition of a filter of this type is able to maintain
(this aspect of overall) performance.
3
10
Filter
No filter
2
10

1
10

0
10

−1
10

−2
10

−3
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 5.6: The effect of filtering

After applying the zero-phase filter, a series of experiments has been carried out on the
gantry robot. Figure 5.7(a) shows the outputs produced by the X-axis of the gantry
for 20 trials. Figure 5.7(b) and Figure 5.7(c) show the corresponding control input and
error dynamics. It can be seen that within only 20 trials, the tracking error has been
reduced to a very small value.

The along-the-trial performance is shown in Figure 5.8 which provides the results of the
200th trial recorded in one of the experiments. It is obvious that there is no sign of
instability from the plots, and that the tracking performance is acceptable.

After the success of the initial test programme on the X-axis, the design exercise has
been repeated for the Y (perpendicular to the X-axis in the same plane) and Z (per-
pendicular to the X-Y plane)-axes. Figure 5.9 shows the mean square error for all axes
in comparison to those from a simulation study for each corresponding axis with the
ILC control law applied. More detailed results of the Y -axis and Z-axis (i.e. along the
trial performance and learning progression mesh plots) can be found in Appendix B.
Chapter 5 ILC based on 2D System Theory 93

Input Output Input Error

0.36 2 0.04 0.36

0.34 1 0.34
0.02
0.32 0 0.32

0.3 −1 0.3
0
0.28 −2 0.28

0.26 −3 −0.02 0.26


20 20 20 20
0 0 0 0

10 100 10 100 100 10 10 100

200 0 Trial Number Sample Number 200 0 Trial Number Sample


Sample Number200 200
Number 0 0 Trial Number
Trial Number Sample Number

(a) (b)

Output Error

0.36 0.04

0.34
0.02
0.32

0.3
0
0.28

0.26 −0.02
20 20
0 0

100 10 100 10

Sample Number 200 0 Trial Number Sample Number 200 0 Trial Number

(c)

Figure 5.7: (a) Evolution of the output of X-axis for the first 20 trials in one experi-
ment, (b) evolution of the control input, (c) evolution of the error dynamics.

5.4 Output-feedback Control Scheme

The control law of the previous sub-section employs state feedback and hence leads to
the requirement that all elements in the vector can be measured for implementation.
In this section, control laws that do not require measurement of the state vector are
developed and experimentally tested and, hence there is no need for an observer.
Chapter 5 ILC based on 2D System Theory 94

Input for trial 200


2

−1

−2
0 20 40 60 80 100 120 140 160 180 200

Output for trial 200


0.32
Reference
0.31 Output

0.3

0.29

0 20 40 60 80 100 120 140 160 180 200

−4
x 10 Error for trial 200
0

−0.5

−1

−1.5

−2
0 20 40 60 80 100 120 140 160 180 200
Sample Number

Figure 5.8: Along the trial performance for State-feedback 2D ILC algorithm (X-axis).

5.4.1 Algorithm Setup

Define the error signal ek (p) on trial k as

ek (p) = yref (p) − yk (p) (5.34)

where yref (p) again denotes the reference signal to be learnt. Now introduce

ηk+1 (p + 1) = xk+1 (p) − xk (p)


(5.35)
∆uk+1 (p) = uk+1 (p) − uk (p)

Then it is possible to proceed as in the last section (or see for example Hladowski et al.
(2008b)) and use an ILC law which requires the current trial state vector xk (p) of the
plant. In practical applications, this vector may not be available for measurement or, at
best, only some of its entries are and hence in general an observer will be required. here
Chapter 5 ILC based on 2D System Theory 95

3
x−axis mse
10
Experiment
Simulation
0
10

−3
10

−6
10
0 20 40 60 80 100 120 140 160 180 200

5
y−axis mse
10

0
10

−5
10
0 20 40 60 80 100 120 140 160 180 200

3
z−axis mse
10

0
10

−3
10

−6
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 5.9: Mean squared error for all axes

we avoid the use of an observer by using the control law

∆uk+1 (p) = K1 µk+1 (p + 1) + K2 µk+1 (p) + K3 ek (p + 1) (5.36)

where
µk (p) = yk (p − 1) − yk−1 (p − 1) = Cηk (p) (5.37)

The extra term µk+1 (p) (i.e. the output difference of the previous sample) in the control
law considered here has been added as a means, if necessary, of compensating for the
effects of replacing pure state information.

Using (5.34) and (5.37), we can write (5.36) as

∆uk+1 (p − 1) = K1 Cηk+1 (p) + K2 Cηk+1 (p − 1) + K3 ek (p) (5.38)


Chapter 5 ILC based on 2D System Theory 96

and hence
ηk+1 (p + 1) = (A + BK1 C)ηk+1 (p)
+BK2 Cηk+1 (p − 1)
+BK3 ek (p)
(5.39)
ek+1 (p) = (−CA − CBK1 C)ηk+1 (p)
−CBK2 Cηk+1 (p − 1)
+(I − CBK3 )ek (p)
Substituting " #
ηk+1 (p + 1)
η̃k+1 (p + 1) = (5.40)
ηk+1 (p)

in (5.39) now gives


η̃k+1 (p + 1) = Âη̃k+1 (p) + B̂0 ek (p)
(5.41)
ek+1 (p) = Ĉ η̃k+1 (p) + D̂0 ek (p)
where " #
A + BK1 C BK2 C
 =
" I# 0
BK3
B̂0 = (5.42)
h 0 i
Ĉ = −CA − CBK1 C −CBK2 C
D̂0 = (I − CBK3 )

which is of the form (5.11) and hence the repetitive process stability theory can be applied
to this ILC control scheme. In particular, stability along the trial is equivalent to uniform
bounded input bounded output stability (defined in terms of the norm on the underlying
function space), i.e. independent of the trial length,and hence we can (potentially)
achieve trial-trial error convergence with acceptable along the trial dynamics.

5.4.2 Stability Analysis and Output Feedback Design

Similarly, using the stability theory of 2D systems is able to provide the analysis for this
control scheme. The stability theory (Rogers et al., 2007) for linear repetitive processes
consists of two distinct concepts. Asymptotic stability for (5.11) holds if, and only if,
r(D̂0 ) < 1. Also if this property holds and the control input sequence applied {ûk }k
converges strongly to u∞ as k → 1 then the resulting output pass profile sequence {ŷk }k
converges strongly to ŷ∞ — the so-called limit profile defined (with D̂ = 0 for ease of
presentation) over 0 ≤ p ≤ α − 1 by

x̂∞ (p + 1) = (Â + B̂0 (I − D̂0 )−1 Ĉ)x1 (p) (5.43)


+Bu∞ (p) (5.44)
ŷ1 (p) = (I − D̂0 )−1 Ĉ x̂∞ (p), (5.45)
x̂1 (0) = dˆ1 (5.46)
Chapter 5 ILC based on 2D System Theory 97

where dˆ∞ is the strong limit of the sequence dk . In effect, this result states that if a
process is asymptotically stable then its repetitive dynamics can, after a sufficiently large
number of passes, be replaced by those of a 1D differential linear system. Note, however,
that this property does not guarantee that the limit profile is stable as a 1D discrete
linear system, i.e. r(Â + B̂0 (I − D̂0 )−1 Ĉ) < 1 — a point which is easily illustrated by
the case when  = −0.5, B̂ = 0, B̂0 = 0.5 + β, Ĉ = 1, D̂ = 0, D̂0 = 0 and β > 0 is a
real scalar such that |β| ≥ 1.

The reason why asymptotic stability does not guarantee a limit profile which is stable
along the pass is due to the finite pass length. In particular, asymptotic stability is
easily shown to be bounded-input bounded-output (BIBO) stability with respect to the
finite and fixed pass length. Also in cases where this feature is not acceptable, the
stronger concept of stability along the pass must be used. In effect, for the model (5.11),
this requires that the BIBO stability property holds uniformly with respect to the pass
length α.

Theorem 5.2. A discrete linear repetitive process described by (5.11) is stable along the
pass if there exist matrices Y  0 and Z  0 such that the following LMI holds
 
Y −Z ∗ ∗
0 −Z ∗ ≺0 (5.47)
 

Â1 Y Â2 Y −Y

where " # " #


 B̂0 0 0
Â1 = , Â2 = (5.48)
0 0 Ĉ D̂0

The proof of this result can be found in Rogers et al. (2007).

Now we have the following result

Theorem 5.3. An ILC scheme described by (5.41) is stable along the trial if there
exist matrices Y  0, Z  0, N1 , N2 and N3 such that the following LMI with linear
constraints holds  
Z −Y ∗ ∗
0 −Z ∗ ≺0
 

Ω1 Ω2 −Y (5.49)
CY1 = P C
CY2 = QC
where  
Y1 0 0
Y = 0 Y2 0  (5.50)
 

0 0 Y3
Chapter 5 ILC based on 2D System Theory 98

and  
AY1 + BN1 C BN2 C BN3
Ω1 =  Y1 0 0 
 

0 0 0
Ω2 = (5.51)
 
0 0 0
0 0 0
 
 
−CAY1 − CBN1 C −CBN2 C Y3 − CBN3

The matrices P and Q are additional decision variables. If the LMI with equality
constraints of (5.49) is feasible, the control law matrices can be calculated using

K̂1 = N1 P −1
K̂2 = N2 Q−1 (5.52)
K̂3 = N3 Y3−1

The proof of this result is in Hladowski et al. (2008a)

Note here for a SISO system, the controller K1 , K2 , K3 are just scalars. The control law
(5.38) therefore has a similar form of the previous discussed phase-lead ILC algorithm in
Chapter 3. This provides the possibility of tuning the gains in the phase-lead algorithm
using LMI approach as it produces a family of available control laws.

5.4.3 Simulations and Experiments

The output-feedback scheme has been experimentally tested on the gantry robot. The
condition (5.49) is an LMI with constraints. A freely-available Scilab software is used
to solve the LMI problems. In this case a sampling time Ts = 0.05s has been used
rather than the previous Ts = 0.01s since the use of Scilab toolbox is not able to yield
a solution to the problem when using Ts = 0.01s (although the solution might exist).
However the hardware setup of the gantry robot does not support such a sampling
frequency, which makes the controller impossible to implement. Also, the frequency
response of the axes show that there exists significant difference in the system dynamic
between using T s = 0.01s and T s = 0.05s, therefore, even if a zero order hold method
can be used to simulate the results of T s = 0.05s when using T s = 0.01s, the measured
outputs are not close to what are expected. Therefore a multi-sampling technique has
been introduced to cope with the problem.

A multi-sampling technique uses more than one controller in the system loop. Each one
runs individually at a sampling frequency of the designed controller. The number of
controllers using in the system depends on the designed sampling time and sampling
time which is feasible for practical application. For example, in this case, the gantry
robot is able to run at 100Hz (Ts = 0.01s) and the controller design could only give
results when using Ts = 0.05s. To attempt to solve this, 5 controllers can be used in
Chapter 5 ILC based on 2D System Theory 99

order to fill in all required unknown points at the higher sampling (Figure 5.10 shows
an example of this technique).

Controller 1
Controller 2
Controller 3
Controller 4
Controller 5

Sample

Figure 5.10: An example of the multi-sampling technique.

The implementation of the multi-sampling technique is straightforward as each algorithm


of the 5 controllers is unchanged from the original one. In this case yk (p − 1) is required,
this being the output value of the previous sample. Therefore, all that required is to
simply modify yk (p − 1) to become yk (p − N ) in the control program, where N denotes
the number of controllers (note the first N points should be set equal to zero as an initial
condition).

Another technique which is useful here is the linear interpolation technique. The con-
troller is designed using a lower sampling frequency. The controller computes the value
of the key points and the other sample points between each two key points can be found
using linear interpolation (see Figure 5.11). Similar ideas have been considered include
an aliasing filter by Ratcliffe et al. (2005a). In this case, the controller computes an input

Key points

Sample

Figure 5.11: An example of the linear interpolation.

signal point every 5 points, the other 4 points being generated by linear interpolation. It
Chapter 5 ILC based on 2D System Theory 100

is not possible to use cubic spline interpolation as at the current point, only two points
of data are available.

Simulations have been carried out to evaluate these two methods and the results, are
shown in Figure 5.12, show that the multi-sampling method approved produce superior
results. From the results, it is clear that the learning speeds using both methods are the
same, therefore, the difference between the two methods can be seen only when error is
tiny. Using the multi-sampling technique is able to produce more accurate results. One
possible reason for this is that the multi-sampling method uses more information than
linear interpolation does in this learning process. The linear interpolation method might
miss some useful points when trajectory changes suddenly. Therefore, the following
results produced on the gantry robot are generated by mean of the multi-sampling
method. However, the multi-sampling technique requires further investigation as there
is not any formal mathematical formulation which supports this technique.

3
x−axis mse
10
Aliasing
2 Multi−sampling
10

1
10

0
10

−1
10

−2
10

−3
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 5.12: Comparison of multi-sampling method and linear interpolation.

By converting the continuous transfer function, the state-space matrices of the X-axis
used here are as follow:
 
0.0760 1.0000 0 0 0 0 0
−0.0402 0.0760 0.0001 −0.0403 0 0.0047 0.1970
 
 

 0 0 −0.0018 1.0000 0 0 0 

AX =  0 0 0 −0.0018 0 0.0049 0.2046 (5.53)
 
 

 0 0 0 0 0 1.0000 0 

0 0 0 0 0 0 0.0241
 

0 0 0 0 0 0 1.0000
h iT
BX = 0 0 0 0 0 0 0.0625 (5.54)
h i
CX = 0.0101 −0.0084 0.0001 −0.0137 0 0.0016 0.0671 (5.55)
Chapter 5 ILC based on 2D System Theory 101

One possible ILC control law of the form (5.38) for this case is

K1 = −250.71696
K2 = 116.94689
K3 = 47.76410

In this design, the high-frequency component buildup was observed in the initial tests
as well. This caused vibrations and greatly increased the error ek (p) (as shown in Figure
5.13). To overcome this problem a 6th order zero-phase Chebyshev low pass filter was

Input for trial 50


2

−1

−2
0 20 40 60 80 100 120 140 160 180 200

Output for trial 50


0.32

0.3

0.28

0.26
0 20 40 60 80 100 120 140 160 180 200

−4
x 10 Error for trial 50
4

−2

−4
0 20 40 60 80 100 120 140 160 180 200
Sample Number

Figure 5.13: The Input/Output/Error signals at 50th trial without filtering

employed. The parameters of the filter were tuned so that the best performance was
achieved but at the same time no high-frequency component buildup was observed.
It must be stressed that the cutoff frequency of the filter influences the magnitude
of obtained error and furthermore influences the performance (see Figure 5.14). Too
aggressive a filter will provide a more stable system but the final tracking performance
will be degraded as the filter is likely to cut off useful lower frequency information as
well.

With a suitable filter applied to the system, better tracking results can be achieved.
Chapter 5 ILC based on 2D System Theory 102

3
Mean Squared Error for X−axis
10
Cut off frequency: 5 Hz
Cut off frequency: 15 Hz
2
10

1
10

0
10

−1
10

−2
10

−3
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 5.14: Influence of cutoff frequency on the error ek (p)

Figure 5.15(a) shows the learning progression of the outputs produced by the X-axis
of the gantry over 20 trials. Figure 5.15(b) and Figure 5.15(c) show the corresponding
control input and error dynamics.

Long term performance test experiments have then been carried out. No trend of in-
stability has been seen in the learning progress. Figure 5.16 shows the along-the-trial
performance from one experiment on the 200th trial. Another problem is indicated by
this result: in the error plot, the final part of the error has a sudden jump signal which
appears repeatedly and could not be eliminated. Referring back to the ILC control law
(5.38), the error with one sample shifted is used to produce the updating input. At
the end point there is no error information available and a zero-order-hold signal or an
empty point has been used instead .

This problem can be easily overcome by extending the reference signal by a few samples
of empty points in the end. After this small modification, the overall performance
improved obviously (see Figure 5.17 for the detailed input, output and tracking error).
Figure 5.18 shows the mse improvement resulting from the extending reference signal.
It can clearly be seen that using the extended reference helps not only the final tracking
performance, but also the initial convergence.

Adjusting the objective function allows a set of controller matrices to be obtained by


solving the LMI of Theorem 5.3. To compare the results, consider the changes of K3

• K3 = 17.74083,(K1 = −326.4815, K2 = 4.3525 · 10−13 )

• K3 = 47.7641,(K1 = −262.8253, K2 = 2.87865 · 10−11 )


Chapter 5 ILC based on 2D System Theory 103

Output Input

0.32 2

0.31
1

0.3
0
0.29

−1
0.28

0.27 −2
20 20
0 0
15 15
50 50
100 10 100 10

150 5 150 5
Sample Number 200 0 Trial Number Sample Number 200 0 Trial Number

(a) (b)

Error

0.04

0.03

0.02

0.01

−0.01
20
0
15
50
100 10

150 5
Sample Number 200 0 Trial Number

(c)

Figure 5.15: (a) Evolution of the output of X-axis for the first 20 trials in one
experiment, (b) evolution of the control input, (c) evolution of the error dynamics

• K3 = 239.375,(K1 = −207.8933, K2 = −4.7220 · 10−7 )

A comparison of the results of the proposed controllers are shown in Figure 5.19. Note
that the peak occurs at around the 100th trial, and was caused by an unknown distur-
bance.

Studying Figure 5.19 reveals that the value of the control matrices influences the obtained
result. Increasing the value of K3 in (5.36) greatly increases the convergence rate of the
algorithm but at the same time causes the increase of the final error.

In Hladowski et al. (2009), an approach is provided which leads to a stability condition


expressed in terms of an LMI with immediate formulas for computing the control law
matrices for the widely encountered case of a SISO linear plant state-space model where
the first Markov parameter is zero (i.e. CB = 0). Many designs have been proposed
for this problem in the literature but none of these have been experimentally verified
or are able to deal with any other performance specification beyond trial-to-trial error
convergence.
Chapter 5 ILC based on 2D System Theory 104

Input for trial 200


2

−1

−2
0 20 40 60 80 100 120 140 160 180 200

Output for trial 200

0.315 Reference
Output
0.31
0.305
0.3
0.295
0.29
0.285

0 20 40 60 80 100 120 140 160 180 200

−4
x 10 Error for trial 200
0.5

−0.5

−1

−1.5

−2

−2.5
0 20 40 60 80 100 120 140 160 180 200
Sample Number

Figure 5.16: Along the trial performance of the 200th trial in one experiment.

5.5 Comparison of Results

All the experimental results have been compared in order to analysis the respective
algorithm performance. Figure 5.19 compares the results of the output-feedback control
scheme with different parameters. Figure 5.20 shows the results of the state-feedback
control scheme and the output-feedback control scheme. The output-control scheme
clearly performs much better in terms of final error. It is able to not only achieve
smaller error values, but also maintain the error at a low level. They have a similar
performance in terms of learning speed as the controller matrices (K2 in state feedback
controller and K3 in output feedback controller) are very close to each other. These
matrices are used to update the control input vector, so similar learning progression in
the initial stage have been found.

Figure 5.21 shows a comparison of 2D repetitive process based ILC algorithms with
Chapter 5 ILC based on 2D System Theory 105

Input for trial 200


2

−1

−2
0 20 40 60 80 100 120 140 160 180 200

Output for trial 200


0.32
Reference
0.31 Output

0.3

0.29

0.28

0.27
0 20 40 60 80 100 120 140 160 180 200

−5
x 10 Error for trial 200
5

−5

−10
0 20 40 60 80 100 120 140 160 180 200
Sample Number

Figure 5.17: Along the trial performance of the 200th trial with extended reference.

some other algorithms (e.g. the basic P-type ILC, the inverse model ILC, the norm-
optimal ILC and the stochastic ILC algorithms described in Chapter 4) in terms of
mean squared errors. It is clear that the state-feedback controller actually provided
the best performance in terms of a very small final error value and holding the error
within a small band. The state-feedback controller does not perform well as only a very
simple state observer is used. Therefore, state observation could be not performed with
sufficient accuracy. More comparison results can be found in Chapter 6.

5.6 Summary

This chapter has considered the design of ILC schemes in a 2D linear systems setting
and, in particular, the theory of discrete linear repetitive processes. This releases a
stability theory for application which demands uniformly bounded along the trial dy-
Chapter 5 ILC based on 2D System Theory 106

x−axis mse
4
10
Normal Reference
Extended Reference
2
10

0
10

−2
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 5.18: Comparison of using normal reference and extended reference

3
X−axis mse
10
K3 = 17.74
K3 = 100.72
2
10
K3 = 239.37

1
10

0
10

−1
10

−2
10

−3
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 5.19: Influence of K3 on the error ek (p)

namics (whereas previous approaches only demand bounded dynamics over the finite
trial length). This approach leads to a stability condition expressed in terms of an LMI
with immediate formulas for computing the control law matrices. This is a potentially
powerful approach in this general area which also makes a significant step forward in
the application of 2D linear repetitive process theory. Two controller designs (the state-
feedback design and the output-feedback design) have been developed and both designs
have been experimentally validated on the gantry robot system whose basic task is to
continually execute a pick and place operation.

The results here establish the basic feasibility of this approach in terms of both theory
Chapter 5 ILC based on 2D System Theory 107

3
x−axis mse
10
State feedback
2 Output feedback
10

1
10

0
10

−1
10

−2
10

−3
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 5.20: Comparison of state-feedback controller and output-feedback controller


x−axis mse

Inverse model
P−type aliasing
2 Norm−optimal
10
D−type Stochastic
P−type Stochastic
2D algorithm (state−feedback)
2D algorithm (output−feedback)

0
10

−2
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 5.21: Comparison of 2D algorithms with other algorithms (X-axis).

and experimentation. There is a significant degree of flexibility in the resulting design


algorithm and current work is undertaking a detailed investigation of how this can be
fully exploited. One aspect which clearly requires investigation is to attempt design
without the need to use current trial state feedback (particularly as the control law
actually uses the difference of the state vector on two successive trials). Another is
to extend this analysis to other classes of ILC and seek ways to reduce the possible
conservativeness arising from the use of sufficient, but not necessary, stability conditions.
Moreover, the gantry robot system has been used in experimentally testing a wide range
Chapter 5 ILC based on 2D System Theory 108

of other non LMI based ILC designs and hence it will also be possible in due course to
compare relative performance (an essential item in terms of end users).
Chapter 6

Comparative Analysis of ILC


algorithms

Experimental benchmarking of ILC algorithms based on linear plant models is a major


part of this thesis. In this chapter, the results obtained are considered under a number
of key aspects that would form the basis for decision making as to which one to chose
in a given situation. The comparison is mainly in terms of mathematical formulation,
computational implementation and experimental results. Following this, the overall
performances are shown.

6.1 Comparison of Mathematical Structures

Each ILC algorithm has its unique control input update equation. Table 6.1 summarises
a number of algorithms in terms of mathematical formulation. The difference in com-
plexity can be gauged from the number of equations in each algorithm. However, the
number of equations is not the only indication of how complex the algorithm is as com-
plex computation can occur in just a single equation or a very simple operator (for
example, multiplication of large matrices, inversion of large matrix). Also, from the
table, some of the algorithms compute the input vector offline which means all data can
be calculated by using the measured data from previous trials and the computation can
be achieved in the gap between two trials. Some algorithms need to compute the next
input sample using the data of the last sample and data from another source. This is
called online computation and needs to be completed within the sampling time which
is typically very small. for example, the reference shift algorithm only needs to com-
pute the next input using previous error information, therefore full computation can be
carried out between trials. But the algorithms based on 2D system theory are likely to
use the state or the output data from the very last sample. Offline computation has
no time limitation, so even if the algorithm is very complex, there is no influence on

109
Chapter 6 Comparative Analysis of ILC algorithms 110

Algorithm Control Law Equations


Basic P-type uk+1 (t) = uk (t) + Lek (t)
Basic D-type uk+1 (t) = uk (t) + Lėk (t)
0
uk+1 (t) = r(t − τk+1 ) + fk+1 (t)
00 ) + Le (t − τ 00
fk+1 (t) = fk (t − τk+1 k k+1 + τk )
Reference Shift 0 0
τk+1 = max(τk , τk )
00
τk+1 = max(0, τk − τk0 )
τk = arg minτ {k rk0 (t − τ ) + fk (t − τ ) − yk (t) k22 }
uk+1 (t) = uk (t) + Kk ek (t + 1)
Kk = Pu,k (CB)T · [(CB)Pu,k (CB)T + (C − CA)
Stochastic ILC Px,k (C − CA)T + CQt C T + Rt ]−1
Pu,k+1 = (I − Kk CB)Pu,k
Px,k+1 = APx,k AT + BPu,k B T + Qt
uk+1 (t) = uk (t) + Kk ek (t + 1)
Stochastic sub-optimal Kk = Pu,k (CB)T · [(CB)Pu,k (CB)T + CQt C T + Rt ]−1
Pu,k+1 = (I − Kk CB)Pu,k
2D State-feedback uk+1 (t) = uk (t) + K1 ηk+1 (t + 1) + K2 ek (t + 1)
ILC algorithm ηk+1 (t + 1) = xk+1 (t) − xk (t)
2D Output-feedback uk+1 (t) = uk (t) + K1 µk+1 (t + 1) + K2 µk+1 (t) + K3 ek (t + 1)
ILC algorithm µk (t) = yk (t − 1) − yk−1 (t − 1)

Table 6.1: Mathematical formulation of algorithms

the control process. However, if the computation is too complex, it might have great
impact to the whole control process when the sampling frequency is high because too
much computation might not be completed in the very short inter-sampling time which
will lead to loss of data or incorrect computation during the subsequent control.

6.2 Comparison of Implementation Code

As mentioned in the last section, the number of equations does not truly reflect the
complexity of the control algorithm. The equations would be eventually converted into
computer language in the process of implementation. Taking the stochastic learning
algorithm as an example:

uk+1 (t) = uk (t) + Kk ek (t + 1)


Kk = Pu,k (CB)T · [(CB)Pu,k (CB)T + (C − CA)
Px,k (C − CA)T + CQt C T + Rt ]−1
Pu,k+1 = (I − Kk CB)Pu,k
Px,k+1 = APx,k AT + BPu,k B T + Qt

Here, A, B, C are matrices from the plant model and Pu,k ,Px,k ,Qt are parameter matri-
ces which are of the same order as the plant model. The algorithm computes Kk which
is the learning gain in the control law, and it needs at least 14 matrix multiplications,
Chapter 6 Comparative Analysis of ILC algorithms 111

one matrix inversion and several instances of matrix addition or subtraction. Table 6.2
compares the stochastic learning algorithm and the output-feedback control based on
2D theory.

Stochastic learning algorithm


P_xk[axis_number] = (A[axis_number] * P_xk[axis_number] * A[axis_number].Transpose)
+ (B[axis_number] * P_uk[axis_number] * B[axis_number].Transpose) + Q_t[axis_number];
T1 = C[axis_number] * B[axis_number];
T2 = C[axis_number] * A[axis_number];
S = C[axis_number]- T2 * P_xk[axis_number] * (C[axis_number]- T2).Transpose
+ C[axis_number] * Q_t[axis_number] * C[axis_number].Transpose + R_t[axis_number];
T = (T1 * P_uk[axis_number] * T1.Transpose + S).Inverse;
K_k[axis_number] = P_uk[axis_number] * T1.Transpose * T;
P_uk[axis_number] = (1 - K_k[axis_number] * T1) * P_uk[axis_number];

Output-feedback control based on 2D theory


axis_displacement[axis_number] = obtain_m323a_axis_count(axis_number);
sample_trajectory[axis_number] = profile[axis_number][sample_count];
y_k_p = axis_displacement[axis_number] - place_home[axis_number];
if(iteration_number == ITERATION_START_POINT)
y_km1_p = 0;
else
y_km1_p = data_save.data_array[raw_encoder][axis_number][sample_count]
- place_home[axis_number];
if(sample_count==SAMPLE_START_POINT)
{
y_k_pm1 = 0;
y_km1_pm1[axis_number][sample_count] = 0;
}
else
y_k_pm1 = data_save.data_array[raw_encoder][axis_number][sample_count-1]
- place_home[axis_number];
output_update[axis_number] = K1[axis_number] * (y_k_p - y_km1_p)
+ K2[axis_number] * (y_k_pm1 - y_km1_pm1[axis_number][sample_count]);
K1part[sample_count] = K1[axis_number] * (y_k_p - y_km1_p);
K2part[sample_count] = K2[axis_number] * (y_k_pm1 - y_km1_pm1[axis_number]);
y_km1_pm1[axis_number][sample_count] = y_k_pm1;
output_voltage[axis_number] = output_update[axis_number] + learnt_profile[axis_number][sample_count];
learnt_profile[axis_number][sample_count] = output_voltage[axis_number];

Table 6.2: Algorithm computer code comparison

Purely from the amount of computer code, the complexity or efficiency of the algorithm
still can not be determined as some of the code still include sub procedures or sub
functions which return values in batches. Later in this chapter the time complexity
will be provided by recording the processing time of each algorithm and also the space
complexity will be evaluated by recording the physical memory used. This will allow
better and more accurate analysis of the algorithm efficiency.
Chapter 6 Comparative Analysis of ILC algorithms 112

6.3 Comparison of Experimental Results

Comparing the results is the most common method of comparing algorithms. As argued
in Chapter 2, the mean squared error plots are the most direct way to differentiate
between algorithms as it clearly displays the learning speed, final error value, trend of
divergence, stability and error oscillation. To illustrate that, Figure 6.1 (the results are
taken from Ratcliffe (2005)) shows a comparison of four ILC algorithms performed on

Figure 6.1: Comparison of four algorithms implemented on a multi-axis gantry robot.

the gantry robot over 5000 trials. Since the the experiment was carried out for a large
number of trials, they clearly indicate that all four algorithms have good performance
in terms of long-term performance. For the results of the X-axis, the norm-optimal
algorithm outperforms the others as it produces the smallest error on average. The
P-type algorithm with an aliasing filter achieved very good performance in holding error
between small values without excessive oscillation. In terms of convergence speed, this
figure is not as clear as the trial number axis (horizontal) shows a large number of data
points, therefore a magnified view is needed to show the difference in learning speed.
Figure 6.2 shows the first 200 trials of the results in Figure 6.1, and it clearly shows that
norm-optimal algorithm and inverse model algorithm rapidly reduce the error down to
a small value within 10 trials. The adjoint algorithm appears to be the slowest.

In the previous chapters, there are many comparisons of experimental results, especially
showing the influence of parameter tuning. The following section provides a comparison
between the algorithms which have been developed and implemented in this thesis.
Chapter 6 Comparative Analysis of ILC algorithms 113

5
x−axis mse
10
Adjoint
Inverse

mse (mm2)
Norm optimal
0
10 P−type aliasing

−5
10
0 20 40 60 80 100 120 140 160 180 200

5
y−axis mse
10
mse (mm2)

0
10

−5
10
0 20 40 60 80 100 120 140 160 180 200

5
z−axis mse
10
mse (mm2)

0
10

−5
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 6.2: Comparison of four algorithms implemented on a multi-axis gantry robot


(magnified).

6.3.1 MSE Comparison

Figure 6.3 shows a comparison of mean squared errors for the five ILC algorithms which
have been implemented on the three axes of the gantry robot. The results of each
algorithm are the best from all experimental results collected. The convergence speed
and final error level for each algorithm are clearly shown. It is clear that the output-
feedback controller of the 2D algorithm outperforms all other algorithms in terms of
final error level. The D-type/P-type stochastic learning algorithm converge much faster
than the others. Due to the help of the PID feedback controller, the P-type stochastic
learning algorithm has a good initial tracking performance. After around 100 trials,
most of the algorithms, except for the output-feedback 2D algorithm perform well and
produce results of a similar level. The P-type stochastic learning algorithm and the
output-feedback design of 2D algorithm perform very well in terms of preventing large
oscillations in the error.

6.3.2 Tracking Comparison

Mean squared error plots are able to highlight differences in convergence and final er-
ror values. However, at some stage, individual trial performance must be examined.
Therefore, comparison between individual tracking data are also essential. Some of the
individual trial performance results have been shown in previous chapters in the course
Chapter 6 Comparative Analysis of ILC algorithms 114

x−axis mse
4
10
Stochastic algorithm (D−type)
2 Stochastic algorithm (P−type)
10
Stochastic algorithm (sub−optimal)
2D algorithm (state−feedback)
0
10 2D algorithm (output−feedback)

−2
10

−4
10
0 20 40 60 80 100 120 140 160 180 200

5
y−axis mse
10

0
10

−5
10
0 20 40 60 80 100 120 140 160 180 200

2
z−axis mse
10

0
10

−2
10

−4
10

−6
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 6.3: Comparison of the algorithms implemented on a multi-axes gantry robot.

of selecting filters. Here, individual trial performance will be presented in a 3-dimension


plot showing the output trajectory along with the reference trajectory. Figure 6.4(a),
Figure 6.4(b) and Figure 6.4(c) show the output tracking performance for the 2D algo-
rithm (state-feedback design), the stochastic algorithm (sub-optimal) and the stochastic
algorithm (P-type) respectively. It is obvious that the stochastic algorithm with P-type
ILC performs better in initial trials. The main reason for this is that there is a relatively
high-gain PID feedback controller used in conjunction with the ILC controller in the
algorithm setup. The algorithm based on 2D theory performs badly in the first few
trials but the latter trial performance is better than the others.
Chapter 6 Comparative Analysis of ILC algorithms 115

3D output for trial: 2 20 100 3D output for trial: 2 20 100

0.062 0.062

0.06 0.06

0.058 0.058
Z−axis

Z−axis
0.056 0.056

0.054 0.054

0.052 0.052

0.05 0.05
0.26 0.26
0.25 0.25
0.28 0.28
0.3 0.3
0.3 0.35 0.3 0.35
0.4 0.4
X−axis 0.32 0.45 Y−axis X−axis 0.32 0.45 Y−axis

Reference Output (2) Output (20) Output (100) Reference Output (2) Output (20) Output (100)

(a) 2D algorithm (state-feedback) (b) Stochastic algorithm (sub-optimal)

3D output for trial: 2 20 100

0.062

0.06

0.058
Z−axis

0.056

0.054

0.052

0.05
0.26
0.25
0.28
0.3
0.3 0.35
0.4
X−axis 0.32 0.45 Y−axis

Reference Output (2) Output (20) Output (100)

(c) Stochastic algorithm (P-type)

Figure 6.4: Output trajectories using different ILC algorithms

A separate comparison is carried out to show the difference between these three control
designs more clearly. Figure 6.5 shows the output for these three algorithms over the
second trial. As mentioned before, the stochastic algorithm (P-type) is used with a PID
feedback controller which improves the initial trial performance, while the 2D algorithm
performs badly as it has not yet got enough information to learn effectively. Figure
6.6 and Figure 6.7 provide a comparison over the 20th trial and the 100th trial output
trajectories for these three algorithms. All three algorithms achieve very good tracking
performance at the 100th trial. It is not easy to evaluate the algorithm using this kind
of plot at this stage. Mean squared error plots are able to facilitate this. However, the
3D output plot is still useful, especially for examining the initial stages of learning as
sometimes a good understanding of the movement is needed (e.g. robot manipulators
need to move around without colliding with obstacles, and this can be shown using a
3D output plot).
Chapter 6 Comparative Analysis of ILC algorithms 116

3D output for trial: 2

0.062

0.06

0.058

Z−axis 0.056

0.054

0.052

0.05
0.26

0.25
0.28
0.3

0.3 0.35
0.4
X−axis 0.32 0.45 Y−axis

Reference
2D algorithm (state feedback)
Stochastic (sub−optimal)
Stochastic (P−type)

Figure 6.5: Comparison of output trajectories for three ILC algorithm (Trial:2)

6.4 Algorithm Efficiency

Complexity theory deals with the relative computational difficulty of computing func-
tions and solving other problems numerically. The time complexity of a problem is
the number of steps that it takes to solve an instance of the problem as a function
of the size of the input (usually measured in bits), using the most efficient algorithm.
The space complexity of a problem is a related concept, that measures the amount of
space, or memory required by the algorithm. Here the time and space complexity are
not generated by using mathematical analysis but directly recorded or read from the
computer.

6.4.1 Timing Complexity

Here time complexity considers only the processing time of computation within each
sample and the time of computation between every two which are all recorded and
averaged to express the time complexity of each algorithm. Table 6.3 shows the recorded
processing time of five ILC algorithms implemented on the gantry robot.

6.4.2 Computing Complexity

The space complexity here is evaluated by examining the measured memory required
by the algorithm at the running status. The following algorithms to be compared are
Chapter 6 Comparative Analysis of ILC algorithms 117

3D output for trial: 20

0.062

0.06

0.058

Z−axis 0.056

0.054

0.052

0.05
0.26

0.25
0.28
0.3

0.3 0.35
0.4
X−axis 0.32 0.45 Y−axis

Reference
2D algorithm (state feedback)
Stochastic (sub−optimal)
Stochastic (P−type)

Figure 6.6: Comparison of output trajectories for three ILC algorithms (k = 20)

Algorithm Time in sample (ms) Time between trials (ms)


Stochastic algorithm (D-type) 0.095 1.653
Stochastic algorithm (P-type) 0.087 1.586
Stochastic algorithm (sub-optimal) 0.051 0.952
2D algorithm (state-feedback) 0.122 0.424
2D algorithm (output-feedback) 0.208 0.395

Table 6.3: Recorded processing time of ILC algorithms

written in the same computer language and are run on the same system platform. The
reading of required memory is taken when the robot is moving. More than ten readings
are taken and then averaged to give the following results (see Table 6.4 for details).

Algorithm Memory required (KB)


Stochastic algorithm (D-type) 19,563
Stochastic algorithm (P-type) 19,286
Stochastic algorithm (sub-optimal) 16,952
2D algorithm (state-feedback) 17,424
2D algorithm (output-feedback) 15,395

Table 6.4: Recorded required memory of ILC algorithms


Chapter 6 Comparative Analysis of ILC algorithms 118

3D output for trial: 100

0.062

0.06

0.058

Z−axis 0.056

0.054

0.052

0.05
0.26

0.25
0.28
0.3

0.3 0.35
0.4
X−axis 0.32 0.45 Y−axis

Reference
2D algorithm (state feedback)
Stochastic (sub−optimal)
Stochastic (P−type)

Figure 6.7: Comparison of output trajectories for three ILC algorithms (k = 100)

6.5 Algorithm Accuracy

The accuracy of an algorithm can be evaluated using the tracking error recorded over
each trial. The MSE plots show the performance of each algorithm and provide a
clear overview of each approach. However, the comparisons can represent only the
performance variation. Is it possible for the algorithm being used in industry or has the
experimental results met the standard in industry? Another question is motivated by
this example: a certain project needs a robot of providing a tracking error (mean squared
error) less than 10−4 m2 . But the experimental data for an algorithm on the gantry robot
facility produced a mean squared error of 10−3 m2 . Does it mean the algorithm has not
got sufficient ability for the given application? The answer is negative simply because
the measured error signals are based on devices used on the facility, and the devices (e.g.
an encoder) will have a specific accuracy in measuring. Sometimes, the algorithm works
well but the encoder may have limited accuracy. It is not likely to produce better results.
However, if one algorithm is able to produced more accurate results while another one
is not, then even if using a better measuring device, it is not possible to give superior
results.

6.6 Problems in Practical Implementation

There have been several problems encountered when implementing algorithms on the
experimental facilities. Some of them are predictable while others are not. An analysis
Chapter 6 Comparative Analysis of ILC algorithms 119

of the experimental results is likely to provide good evidence and support modification
to the algorithms. In general the major problems encountered in this research project
are problems related to measurement and computation.

6.6.1 Measurement Problems

As mentioned in previous sections, there will exist a problem of measurement in the


practical implementation as the devices using in the experiments have got a specific
accuracy. It is not possible to provide results beyond this level of accuracy. This some-
times will disturb existing learning that has been achieved already in a learning control
process. Take the gantry robot as an example: the encoders have got an minimum step
which is 0.000032m. When the learning process has been running for a large number of
trials, sometimes the value of the reference signals at some sample points is not be ex-
actly divisible by this minimum step. So that no matter how good a learning controller
is designed, there will exist certain tracking errors (see Figure 6.8 for details). And in
some cases, the errors will be magnified to produce the control input which potentially
disturbs the control performance or even makes the system unstable.

0.316 Reference
Output
0.3159

0.3158

0.3157

0.3156

0.3155

0.3154

0.3153

0.3152

0.3151
114 116 118 120 122 124 126 128 130
Sample Number

Figure 6.8: Output signal and ideal reference signal.

These differences between the output and the ideal reference signal very often result in
producing the appearance of high frequency noise in the later part of a learning control
process as the measured data samples are usually on both sides of the ideal reference.
Then the error signal will look like the shape of a sawtooth. When the error signals are
magnified by the learning gains, it produces a high frequency noise signal. This might be
tiny and invisible in the process, and sometimes it takes very long time to appear (e.g.
after thousands of trials). As discussed in the previous chapters, high frequency noise
was observed in the X-axis of the gantry robot after around 100 trials of learning. That
is mainly because of the resonance in the X-axis at certain frequencies. It is basically
due to the fact of system dynamic. Therefore, using a zero-phase low pass filter is one
Chapter 6 Comparative Analysis of ILC algorithms 120

way of removing the unexpected frequency parts and maintaining the performance of the
whole system. Usually the frequency of the resonance will be lower than the frequency
of noise produced by measurement error. So a low pass filter is able to filter out the
high frequency noise produced by measurement error as well.

6.6.2 Computation Problems

With the development of computer technology, a single processor unit can complete
millions of calculations in one second. Also, a major reason ILC has attracted so many
researchers is the possibility of simple algorithm which provide a high level of perfor-
mance. However, in order to improve ILC performance, many complex algorithms have
been developed. Most of them require the plant model and need a series of computations
to be executed between samples or trials. Usually, a lot of computation takes the form of
matrix multiplications. The more details wanted in the controller, the larger the matri-
ces will be. Therefore, computation problems may become more and more common. For
example, when a system is running at a 1000 Hz sampling frequency, all computation
of the next control input for the next sample must be completed within 1ms which for
some algorithms on certain platforms, is not feasible. Furthermore, in most applications
in industry microprocessor chips are used which might be less powerful than a normal
computer. One reason for this is that manufacturers make a balance between the cost
of hardware and the performance.

Besides the problems of computation speed, there are also some issues in computation
accuracy. The programming platform used in the control process sometimes needs a very
high computational accuracy to allow better performance. Some of the compilers just
use approximation of the result. However, after a series of multiplication, the difference
in the approximation sometimes would be scaled significantly which results in large
error. Take the following case as an example, as described in Chapter 4; the learning
gain matrix for the stochastic learning algorithm can be computed by the following
equations:

Kk = Pu,k (CB)T · [(CB)Pu,k (CB)T + (C − CA)


Px,k (C − CA)T + CQt C T + Rt ]−1
Pu,k+1 = (I − Kk CB)Pu,k
Px,k+1 = APx,k AT + BPu,k B T + Qt

The stochastic learning algorithm repeatedly deals with the model matrices A, B, C and
it takes a long time to compute the adaptive gain Kk between every trial. Practically, it
is not feasible to implement the algorithm for the sampling time Ts = 0.001s (sampling
frequency: 1000Hz) because computation for Kk contains too many matrix operations
which are not accurate and reliable enough using C programming. Figure 6.9 shows
Chapter 6 Comparative Analysis of ILC algorithms 121

that a comparison of Kk evolution progression using C++ and Matlab (Matlab gives
much more computational accuracy). It is clear that the values for 100Hz are almost the
same while for 1KHz, the results using C++ programming are not reliable after about
5 trials.
Kk evolution for x−axis (sampling frequency: 100Hz) 4 Kk evolution for x−axis (sampling frequency: 1KHz)
x 10
3000 4
Matlab results

2500 C++ results

3
2000

1500 2

1000
1

500

0 0
0 20 40 60 80 100 120 140 160 180 200 0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 6.9: Adaptive gain Kk evolution of sampling frequency 100Hz and 1KHz using
different computational tools.

However, the problem can be solved by computing the tuning parameters in batch be-
fore the iterative loop starts since all the parameters appearing in the algorithms are not
related to what is measured during each trial. This will greatly reduce the computation
time between successive trials. Also, it is possible to compute all the parameters before
implementation using a more accurate mathematical software environment, for exam-
ple Matlab. However this can not be applied to processes without operational gaps.
Another solution to this issue is to introduce a more accurate computation package in
the development platform. But this will then face the previous problem of computation
speed. Actually, all these issues can be tuned as tuning parameters in an optimisation
problem. A balanced setting up is more likely to give the best results in practice.

6.6.3 Problems Related to Discrete Systems

With the development of digital components, most controllers are now designed using
the assumption of discrete underlying system. In both the controller design stage and the
implementation, the sampling rate is an important parameter. Sometimes, the physical
plant is only able to operate over a certain range of sampling rate (e.g. 100Hz to 1KHz).
A sampling rate too low or too high will make some of the components in a system work
improperly and produce erroneous results. However, for some designs of controllers,
the sampling rate will be prohibitive constraint. Sometimes, it is not possible to find a
solution in a controller design problem using some particular sampling rates. This will
make the controller design not possible to be implemented (see for example the case of
the output feedback controller design for the 2D ILC algorithm in Chapter 5).

Possible solutions have been provided in the last chapter: one is to use a multi-sampling
Chapter 6 Comparative Analysis of ILC algorithms 122

technique which uses more than one controller in the control loop. The other method
is by using linear interpolation to fill the gaps in sampled data. A comparison has been
given already and the multi-sampling technique produced better results as it does use
more information than the linear interpolation method.

Similarly, using a higher sampling frequency is likely to produce superior results. Figure
6.10 compares two different sampling rates Ts = 0.01s (100Hz) and Ts = 0.005s (200Hz).
It is clearly that using 200Hz is much better in the latter stages as previously mentioned
it does have more available information than the controller of 100Hz. Further increasing
the sampling rate is not helpful as it might introduce higher frequency noise in the
process and will make performance even worse as a controller of lower sampling rate
itself can act as a low-pass filter.

3
x−axis mse
10
200Hz
2 100Hz
10

1
10

0
10

−1
10

−2
10

−3
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure 6.10: Comparison of using different sampling rate

6.7 Summary

In this chapter, some issues and problems related to iterative learning control in practi-
cal implementations have been discussed including algorithm differences, comparison of
results and some practical problems such as measurements and computation. To some
particular problems, solutions have been provided but still there are many problems
which are waiting for good or improved solutions. Therefore, there is still much further
work to conduct in practical ILC research and the next chapter will provide some con-
clusions resulting from the work in this thesis and some further plans are given in this
area.
Chapter 7

Conclusions and Future Work

7.1 Conclusion

The main thrust of this thesis has been experimental benchmarking of ILC schemes
with algorithm development and enhancement where appropriate. The experimental
work has been completed on two experimental facilities in the form of a non-minimum
phase electro-mechanical system and a gantry robot respectively. The former is based on
rotary action and uniquely enables the effects of non-minimum phase dynamics on ILC
control laws. The task for the gantry robot is to place objects on a moving conveyor belt
under synchronisation. Both of these facilities have already been used in experimental
testing of some ILC algorithms and this forms the basis for the work reported in this
thesis.

For the non-minimum phase case, a previously developed ILC algorithm (the phase lead
algorithm) was reported to be a simple and efficient algorithm which achieved a high
level of performance. However, two major problems were still left open; how to select
the phase lead value and the low level of initial performance along the trial. A new
reference shift algorithm that overcomes these problems has been developed. The al-
gorithm computes the shift value automatically by minimising the difference between
the output data and shifted reference signal after each trial to make the shift parameter
adaptive. Moreover the algorithm does not need any information about the plant which
makes implementation much simpler. Experimental results have shown that the perfor-
mance of the reference shift algorithm produces superior performance compared with
the phase-lead algorithm carried out using that plant. The reference shift algorithm
achieved faster convergence speed and is able to maintain a constant final error. The
reference shift algorithm produces errors which are bounded below a small value and it
achieves similar convergence with less fluctuation in tracking error when compared to
the norm-optimal algorithm which is highly complex in computation. Some problems
and issues have been identified and they have been already scheduled into a further

123
Chapter 7 Conclusions and Future Work 124

research plan.

On the multi-axis gantry robot system, two main categories of algorithms have been
tested: stochastic learning algorithms and ILC algorithms based on repetitive processes
control theory including five sub-algorithms which are: the D-type stochastic learning
algorithm, the P-type stochastic learning algorithm, the sub-optimal stochastic learn-
ing algorithm, the 2D state feedback ILC algorithm and the 2D output feedback ILC
algorithm. Because these two classes of algorithm are both model-based techniques, the
plant models of all three axes are required prior to the simulation and experimental
work. All three axes of the gantry robot were modelled by means of frequency response
tests. A number of sinewave signals of over a hundred different frequencies were fed
into each axis and the corresponding outputs were measured and stored to produce the
Bode plots. A fitted model for each axis then was computed for algorithm design and
simulation and experimental work.

Some applications of ILC will require operation in the presence of levels of noise which
it is not possible to assume negligible for the purposes of control law design. This has
led to the emergence of some design algorithms in the literature but no attempts to ex-
perimentally verify their performance. Therefore the implementation here comprises a
verification plus a source of useful information for further development. A large number
of experiments were carried out on the gantry robot using various parameters. Results
have been compared to show the effects of tuning different parameters. For the sub-
optimal algorithm, the optimisation of parameters was carried out and verified using
experimental results. A zero-phase low pass filter has been used throughout all experi-
ments and a new filter arrangement was used which is experimentally shown to produce
superior results. Compared to the performance of other algorithms carried out using
the robot, the stochastic algorithm appeared to be reasonable good. It is only eclipsed
by the far more computationally intensive norm-optimal ILC algorithm.

2-dimensional (2D) system theory (in particular, the theory of discrete linear repetitive
processes) has been considered in developing a class of ILC controllers as ILC is fun-
damentally a 2D system. The stability theory for linear repetitive processes has been
used in the ILC controller design to guarantee the stability along the trial as well as the
stability from trial-to-trial. This is a novel approach which not only achieved stability
of both dimensions in ILC but also improved the along the trial performance. The con-
troller was initially designed based on a state feedback controller. Experimental results
show that the performance of the state-feedback algorithm are comparable to the previ-
ously implemented algorithms (e.g. P-type ILC, inverse model ILC, norm-optimal ILC)
on the test facility. Furthermore, an output-feedback control scheme was developed to
overcome the case when the states of the system are neither measurable nor observable.
Output-feedback design does not require any component of the system state, it therefore
also avoids the problem of inaccurate state estimates often encountered when using an
observer. Experimental results show that the performance is superior to all the other
Chapter 7 Conclusions and Future Work 125

results produced on the gantry robot. Some practical problems have been detected in
the course of the experimental work such as the sampling rate problem and the nu-
merical computation problem. A multi-sampling technique was found to be effective in
solving the problem that exists when a lower sampling frequency can not be applied
to the experimental facility, by introducing more than one controllers in the algorithm
implementation. The effects of parameters tuning were also studied and the results were
compared.

Finally, an analysis of the experimental results was then carried considering all relevant
aspects. The analysis compared all the ILC algorithms which were implemented in this
thesis taking into account different issues (e.g. the mathematical formulation, imple-
mentation program, time and space complexity and associated experimental results).
Also some practical problems encountered in the experiments have been summarised
which are useful for further investigation as part of future research work.

7.2 Future Work

The results reported in this thesis significantly advance the knowledge supporting the
development of ILC towards eventual industrial use. It has also highlighted the need for
further research in a number of key areas that are now discussed.

The first of these is the computational complexity of the algorithms involved and the
trade-off between the more complex of these and improved performance relative to sim-
pler structure algorithms. There will clearly be cases when simple structure algorithms,
such as the P-type, will be all that is required and others where powerful state-space
based algorithms must be used. Equally, there will be cases where the latter here do
offer improvement but this may not be significant enough over simpler structure alter-
natives to merit the costs etc involved in switching over. There is productive research
to be done on attempting to reduce the complexity of more advanced algorithms by,
for example, optimising how the computations can be done. Some preliminary research
in this direction was undertaken in Ratcliffe (2005) for norm-optimal ILC leading to
an implementation known as fast norm-optimal with supporting experimental evidence.
This, however, did not include issues such as robust control law design or any work on
the 2D repetitive process and stochastic algorithms. One approach here could be to
formulate the overall problem in an optimization setting.

In terms of current practical applications a number of problems have arisen in the work
here that require further investigation. For example, in Chapter 3, a number of time shift
values are able to guarantee the convergence criteria after fixed cut-off frequency filtering,
so an adaptive filtering design is possible to further improve its performance. Further
research will be carried out for the problem of different sampling rate in algorithm design
and practical implementation. Also for current multi-sampling techniques, theoretical
Chapter 7 Conclusions and Future Work 126

analysis and support will be needed. Additionally, the averaging algorithm is considered
as a filtering process for application to signals appearing in ILC. This may be an effective
solution for noise reduction.

Moreover, implementation of repetitive control is also another task for future practical
research. Repetitive control techniques are remarkably similar to iterative learning con-
trol techniques, except that the algorithm must be computed in real-time as the test
proceeds: there is no stoppage time between repetitions and the data cannot be pro-
cessed in batches. The terminal conditions at the end of each repetition are the initial
conditions for the next repetition; there is no resetting between trials. These features
are therefore well suited to the conveyor situated beneath the gantry robot. The combi-
nation of the conveyor with the gantry will be another control task needed to extend this
practical research, as synchronisation is another major problem to face. Also successful
results will provide the industry with useful reference methods for use in designing and
construction of systems.

In terms of current practical applications a number of problems have arisen in the work
here that require further investigation. These are summarised next together with areas
that require more algorithm development and then experimental testing.

• The stochastic ILC results developed in this thesis are based on a state-space model
description. There is also much further development needed here. For example, a
transfer-function based analysis has recently been published (Bristow, 2008) and
work is currently under way on evaluating this approach. There is also a repetitive
process based setting that can be used here.

• The results developed in this thesis have shown that the repetitive process setting
can be extended from the original 2D Roesser state-space model based trial-to-
trial convergence analysis to produce algorithms for trading-off trial-to-trial error
convergence against along the trial performance. The starting point for a robust
control treatment that would allow, unlike current approaches, for along the trial
dynamics has also been started. There is much more work to be done in this area
to fully exploit this approach. Also the work on robust control reported in the
literature so far assumes a discrete plant model whereas in many cases the along
the trial dynamics are governed by a linear differential equation. The theory of
differential linear repetitive processes provides an alternative design by emulation
possibility and this also requires further work.

• Extend the results to investigate the effects of different reference signals. Currently
the reference trajectories are designed specifically for the gantry robot to achieve
only a pick and place movement. More complicated trajectories might be used in
real industrial applications, therefore the evaluation of ILC algorithms is required
to be carried out on more complicated trajectories which contain higher frequency
or higher speed movements, higher accelerations or decelerations.
Chapter 7 Conclusions and Future Work 127

• Developing a better solution for the high frequency noise build up encountered in
implementations of ILC algorithms.

• Analysis of the multi-sampling technique.

• Develop and experimentally test averaging algorithms for use in processing of the
learning signals in ILC to establish if there is any improvement.

• Use a high-accuracy library in the program development and try to minimise the
influence of numerical problems in computation.

• Extend and enhance the duality theory for RC and ILC.

In the non-minimum phase case, An objective-driven ILC scheme is introduced in Free-


man et al. (2009). The key departure from the standard ILC framework that will be
considered is to permit the reference to change between trials. It is shown that this
approach leads to a simple method which has the ability to speed up learning when the
intention is not to track a fixed reference, but instead wish to perform a specified point-
to-point movement task. This approach is implemented on the non-minimum phase
plant and some initial results are produced (Freeman et al., 2009). More investigation
are required and extra experiments are being carried out on the plant.
Appendix A

Additional Figures

A.1 Frequency response tests for the gantry robot

Figure A.1: The base framework of the gantry robot.

Note: Frequency responses of the system depend on the physical structure of the plant.
The biggest influence on the structure for the gantry robot is the base framework and
the work bench. Here, the framework has been firmly grounded to the work bench by
bolted feet, beams and other components.

128
Appendix A Additional Figures 129

X−axis Frequency Response


0
experiment 1

−20 experiemnt 2
experiment 3

Magnitude (dB)
experiment 4
−40

−60

−80

−100
−1 0 1 2 3
10 10 10 10 10

−50

−100
Phase (degree)

−150

−200

−250

−300
−1 0 1 2 3
10 10 10 10 10
Frequency (rad/s)

Figure A.2: X-axis frequency response (Experiment 1 result has not been used as it
has got too much difference with others)

Y−axis Frequency Response


0
experiment 1
−20 experiment 2
experiment 3
Magnitude (dB)

−40

−60

−80

−100

−120
−1 0 1 2 3
10 10 10 10 10

−80

−100

−120
Phase (degree)

−140

−160

−180

−200

−220
−1 0 1 2 3
10 10 10 10 10
Frequency (rad/s)

Figure A.3: Y -axis frequency responses


Appendix A Additional Figures 130

Z−axis Frequency Response


−30
experiment 1
−40
experiment 2
−50 experiment 3

Magnitude (dB) −60

−70

−80

−90

−100
0 1 2 3
10 10 10 10

−90
Phase (degree)

−135

−180
0 1 2 3
10 10 10 10
Frequency (rad/s)

Figure A.4: Z-axis frequency response

1 0.04

0.03
0.5

0.02
0
0.01

−0.5
0

−1 −0.01
0 5000 10000 15000 0 5000 10000 15000
−4
x 10
15
1

0.5 10

0 5

−0.5
0

−1
−5
0 200 400 600 800 1000 1200 0 200 400 600 800 1000 1200 1400 1600

Figure A.5: Detailed frequency responses for X-axis at 1Hz and 30Hz
Appendix A Additional Figures 131

X−axis Frequency Response at 55Hz(345.58rad/s)


0.0412

0.041

0.0408
Displacement (m)

0.0406

0.0404

0.0402

0.04
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Sample number

Figure A.6: The drift effect in frequency response tests

X−axis Frequency Response at 55Hz(345.58rad/s)


0.0412

0.041

0.0408
Displacement (m)

0.0406

0.0404

Crests
0.0402
Troughs

0.04
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Sample number

Figure A.7: Solution to the drift effect in frequency response tests

Note: The drift effect can be eliminated by computing the average value of all the
crests and troughs in the response. The amplitude for the response sine wave is the
difference between these two averages.
Appendix A Additional Figures 132

A.2 State Space Models

A.2.1 Continuous Time Models

X-axis

−0.03078364485761 × 103 0.20298644689641 × 103 −0.04709572089683 × 103



 −0.05074661172410 × 103 −0.03078364485761 × 103 0.08171086612447 × 103

0 0 −0.11395406895744 × 103



AX =
 0 0 −0.20853149459178 × 103
0 0 0



 0 0 0
0 0 0

0 0 0 0
0 0 0 0 

0.20853149459178 × 103 0.29947455699632 × 103 0 0



−0.11395406895744 × 103 −0.00074639754604 × 103 0 0 

0 −0.23303901856095 × 103 1.49654118008048 × 103 1.19790008827019 × 103


−0.37413529502012 × 103 −0.23303901856095 × 103

0 0 
0 0 0

h iT
BX = 0 0 0 0 0 0 0.22071770344408
h i
CX = 0.07331633313581 0 0.11035902310463 0 0 0 0

Y -axis

 
−2.13370875659248 × 102 3.58972168348815 × 102 0.12653295628928
AY = −3.58972168348815 × 102 −2.13370875659248 × 102 0.15786804930489
 

0 0 0
h iT
BY = 0 0 1.21797985624413
h i
CY = 1.54012664142245 0 0

Z-axis
 
−3.53805615717504 × 102 9.22069362175882 × 102 8.44676545460854
2 −3.53805615717504 × 102
AZ = −2.30517340543970 × 10 4.54856964975879
 

0 0 0
h iT
BZ = 0 0 0.12455748002748
h i
CZ = 0.15100083012077 0 0
Appendix A Additional Figures 133

A.2.2 Discrete Time Models (Ts = 0.01s)

X-axis

0.38786170479844 1.00000000000000 0.21377417070825 0
 −0.38984051991243 0.38786170479844 0.17438624181313 0

0 0 −0.15746031623301 0.25000000000000



AX = 
 0 0 −0.31033783641033 −0.15746031623301
0 0 0 0



 0 0 0 0
0 0 0 0

0.10406878797622 0 0.08315257924196
0.08489409532075 0 0.06783170175813 

−0.20061655240719 0 −0.16029574376420



−0.05553532410202 0 −0.04437358720057 

0.03528556803047 0.50000000000000 0.28087745569161



−0.01642801323473 0.03528556803047 −0.27571648446142 
0 0 1.00000000000000
h iT
BX = 0 0 0 0 0 0 0.09099004806844
h i
CX = 0.03905666166991 0 0.01462020349057 0 0.00711735590969 0 0.00568687800428

Y -axis
 
−0.10670673614842 0.12500000000000 0.07772242425923
AY = −0.02105288038893 −0.10670673614842 0.10157425099610
 

0 0 1.00000000000000
h iT
BY = 0 0 0.02858653106809
h i
CY = 0.03602025169204 0 0.02858653106809

Z-axis
 
−0.00296119813090 0.06250000000000 0.07577148130355
AZ = −0.01338053396753 −0.00296119813090 0.06370302042894
 

0 0 1.00000000000000
h iT
BZ = 0 0 0.01910017507687
h i
CZ = 0.02318792188715 0 0.01910017507687
Appendix A Additional Figures 134

A.2.3 Discrete Time Models (Ts = 0.05s)

X-axis

0.07603878804090 0.25000000000000 −0.01291677943914 0
 −0.16101035153141 0.07603878804090 0.06188804933559 0

0 0 −0.00180691599037 0.01562500000000



AX = 
 0 0 −0.00051085310399 −0.00180691599037
0 0 0 0



 0 0 0 0
0 0 0 0

−0.00076085893609 0 −0.03156726985626
0.00364549658807 0 0.15124797659199 

−0.00246559474334 0 −0.10229503910296



0.00055196958846 0 0.02290066150881 

0.00000834960583 0.00024414062500 0.02410277922525



−0.00000002461658 0.00000834960583 −0.00022057464204 
0 0 1.00000000000000
h iT
BX = 0 0 0 0 0 0 0.12948437388010
h i
CX = 0.02551198085987 0 0.01324569012334 0 0.00078023331919 0 0.03237109347002

Y -axis
 
0.00001444472309 0.00390625000000 0.55207760786942
AY = −0.00000008515284 0.00001444472309 0.00615014490692
 

0 0 1.00000000000000
h iT
BY = 0 0 0.06645205446018
h i
CY = 0.00229291820620 0 0.06645205446018

Z-axis
 
−0.00000001013794 0.00012207031250 0.54740161698385
AZ = −0.00000000000269 −0.00000001013794 0.00012935089288
 

0 0 1.00000000000000
h iT
BZ = 0 0 0.04430837974574
h i
CZ = 0.00151590491992 0 0.04430837974574
Appendix B

Additional Results

B.1 Reference Shift Algorithm

1st & Last Trial


30
Reference
20 1st Trial
Last Trial
10

−10
0 1000 2000 3000 4000 5000 6000
Time(ms)

4
Max Error & Mse & NE
10
Maximum Error
2 Mean Squared Error
10
Normalised Error

0
10

−2
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number
Time Shift Progression (ms)
1500

1000

500

0
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure B.1: Additional experimental results for the Reference Shift algorithm (Pa-
rameters: Kp = 0.105, Ki = 0.005, Kd = 0.003, L = 0.1).

135
Appendix B Additional Results 136

1st & Last Trial


30
Reference
20 1st Trial
Last Trial
10

−10
0 1000 2000 3000 4000 5000 6000
Time(ms)

2
Max Error & Mse & NE
10
Maximum Error
Mean Squared Error
Normalised Error
0
10

−2
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number
Time Shift Progression (ms)
1000

500

0
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure B.2: Additional experimental results for the Reference Shift algorithm (Pa-
rameters: Kp = 0.138, Ki = 0.005, Kd = 0.003, L = 0.3).

1st & Last Trial


30
Reference
20 1st Trial
Last Trial
10

−10
0 1000 2000 3000 4000 5000 6000
Time(ms)

2
Max Error & Mse & NE
10
Maximum Error
Mean Squared Error
Normalised Error
0
10

−2
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number
Time Shift Progression (ms)
1000

500

0
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure B.3: Additional experimental results for the Reference Shift algorithm (Pa-
rameters: Kp = 0.138, Ki = 0.005, Kd = 0.003, L = 0.3).
Appendix B Additional Results 137

1st & Last Trial


30
Reference
20 1st Trial
Last Trial
10

−10
0 1000 2000 3000 4000 5000 6000
Time(ms)

4
Max Error & Mse & NE
10
Maximum Error
2 Mean Squared Error
10
Normalised Error

0
10

−2
10
0 50 100 150 200 250 300 350 400
Trial Number
Time Shift Progression (ms)
1000

500

0
0 50 100 150 200 250 300 350 400
Trial Number

Figure B.4: Additional experimental results for the Reference Shift algorithm. (Pa-
rameters: Kp = 0.138, Ki = 0.005, Kd = 0.003, L = 0.3, Filter: zero-phase Chebyshev
low pass filter with cut off frequency of 1Hz).

1st & Last Trial


30
Reference
20 1st Trial
Last Trial
10

−10
0 1000 2000 3000 4000 5000 6000
Time(ms)

2
Max Error & Mse & NE
10
Maximum Error
0 Mean Squared Error
10
Normalised Error

−2
10

−4
10
0 50 100 150 200 250 300 350 400
Trial Number
Time Shift Progression (ms)
1000

500

0
0 50 100 150 200 250 300 350 400
Trial Number

Figure B.5: Additional experimental results for the Reference Shift algorithm. (Pa-
rameters: Kp = 0.138, Ki = 0.005, Kd = 0.003, L = 0.3, Filter: zero-phase Chebyshev
low pass filter with cut off frequency of 0.85Hz).
Appendix B Additional Results 138

B.2 Stochastic Learning Algorithms

B.2.1 Simulation of the D-type stochastic algorithm

2
x−axis mse
10

Puk = 800, Qt = 10−1

Puk = 800, Qt = 10−2

1 Puk = 800, Qt = 10−3


10
Puk = 800, Qt = 10−4

Puk = 10, Qt = 10−3

Puk = 100, Qt = 10−3


0
10 Puk = 1000, Qt = 10−3

−1
10

−2
10

−3
10

−4
10
0 50 100 150 200 250 300 350 400 450 500
Trial Number

Figure B.6: Parameter tuning effects for the D-type stochastic learning algorithm

B.2.2 Simulation of the P-type stochastic algorithm

1
x−axis mse
10
Puk = 100
Puk = 50

0 Puk = 10
10

−1
10

−2
10

−3
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure B.7: Parameter tuning (Pu,0 ) effects for the D-type stochastic learning algo-
rithm
Appendix B Additional Results 139

1
x−axis mse
10
Qt = 0.001
Qt = 0.01

0 Qt = 0.1
10

−1
10

−2
10

−3
10

−4
10
0 20 40 60 80 100 120 140 160 180 200
Trial Number

Figure B.8: Parameter tuning (Qt ) effects for the D-type stochastic learning algorithm

B.2.3 Verification of filter arrangement

(a) (b)
4 4
10 10
Experiment (Input filtering) Simulation (Error filtering)
2 Simulation (Input filtering) 2 Experiment (Error filtering)
10 10

0 0
10 10

−2 −2
10 10

−4 −4
10 10
0 50 100 150 200 0 50 100 150 200
Trial Number Trial Number

4
(c) 4
(d)
10 10
Simulation (Input filtering) Experiment (Input filtering)
2 Simulation (Error filtering) 2 Experiment (Error filtering)
10 10

0 0
10 10

−2 −2
10 10

−4 −4
10 10
0 50 100 150 200 0 50 100 150 200
Trial Number Trial Number

Figure B.9: Comparison of effort of filter arrangement in simulation and experiment.


Appendix B Additional Results 140

B.2.4 Additional experimental results

D-type stochastic ILC


Parameters: Pu,0 = 100, Qt = 0.001, Px,0 = 0.1, P ID = {0, 0, 0}

(a) (b) (c)

Figure B.10: The D-type stochastic learning algorithm experimental results (X-axis):
(a) Evolution of the output, (b) Evolution of the control input, (c) Evolution of the
error dynamics

(a) (b) (c)

Figure B.11: The D-type stochastic learning algorithm experimental results (Y -axis):
(a) Evolution of the output, (b) Evolution of the control input, (c) Evolution of the
error dynamics

(a) (b) (c)

Figure B.12: The D-type stochastic learning algorithm experimental results (Z-axis):
(a) Evolution of the output, (b) Evolution of the control input, (c) Evolution of the
error dynamics
Appendix B Additional Results 141

P-type stochastic ILC


Parameters: Pu,0 = 50, Qt = 0.01, Px,0 = 0.1, P ID(x) = {600, 300, 0.2}, P ID(y) =
{800, 300, 0.2}, P ID(z) = {1100, 300, 0.2}

(a) (b) (c)

Figure B.13: The P-type stochastic learning algorithm experimental results (X-axis):
(a) Evolution of the output, (b) Evolution of the control input, (c) Evolution of the
error dynamics

(a) (b) (c)

Figure B.14: The P-type stochastic learning algorithm experimental results (Y -axis):
(a) Evolution of the output, (b) Evolution of the control input, (c) Evolution of the
error dynamics

(a) (b) (c)

Figure B.15: The P-type stochastic learning algorithm experimental results (Z-axis):
(a) Evolution of the output, (b) Evolution of the control input, (c) Evolution of the
error dynamics
Appendix B Additional Results 142

Sub-optimal stochastic ILC


Parameters: Pu,0 = 100, Qt = 0.01

(a) (b) (c)

Figure B.16: The sub-optimal stochastic learning algorithm experimental results (X-
axis): (a) Evolution of the output, (b) Evolution of the control input, (c) Evolution of
the error dynamics

(a) (b) (c)

Figure B.17: The sub-optimal stochastic learning algorithm experimental results (Y -


axis): (a) Evolution of the output, (b) Evolution of the control input, (c) Evolution of
the error dynamics

(a) (b) (c)

Figure B.18: The sub-optimal stochastic learning algorithm experimental results (Z-
axis): (a) Evolution of the output, (b) Evolution of the control input, (c) Evolution of
the error dynamics
Appendix B Additional Results 143

Long term stability test


Parameters: Pu,0 = 100, Qt = 0.01, Px,0 = 0.1, P ID(x) = {600, 300, 0.2}, P ID(y) =
{800, 300, 0.2}, P ID(z) = {1100, 300, 0.2}

5
x−axis mse
10

0
10

−5
10
0 100 200 300 400 500

5
y−axis mse
10

0
10

−5
10
0 100 200 300 400 500

0
z−axis mse
10

−2
10

−4
10
0 100 200 300 400 500
Trial Number

Figure B.19: Long term stability testing for the P-type stochastic learning algorithm.
Appendix B Additional Results 144

B.3 2D ILC Algorithms

B.3.1 Y -axis results (State-feedback controller)

(a) (b) (c)

Figure B.20: The state-feedback 2D ILC algorithm experimental results (Y -axis): (a)
Evolution of the output, (b) Evolution of the control input, (c) Evolution of the error
dynamics

Input for trial 200


10

−5

−10
0 20 40 60 80 100 120 140 160 180 200

Output for trial 200


0.45
Reference
0.4 Output

0.35

0.3

0.25
0 20 40 60 80 100 120 140 160 180 200

−4
x 10 Error for trial 200
4

−2
0 20 40 60 80 100 120 140 160 180 200
Sample Number

Figure B.21: Along the trial performance for the state-feedback 2D ILC algorithm
(Y -axis).
Appendix B Additional Results 145

B.3.2 Z-axis results (State-feedback controller)

(a) (b) (c)

Figure B.22: The state-feedback 2D ILC algorithm experimental results (Z-axis): (a)
Evolution of the output, (b) Evolution of the control input, (c) Evolution of the error
dynamics

Input for trial 200


2

−1

−2
0 20 40 60 80 100 120 140 160 180 200

Output for trial 200


0.07
Reference
0.065 Output

0.06

0.055

0.05

0.045
0 20 40 60 80 100 120 140 160 180 200

−4
x 10 Error for trial 200
1

−1

−2
0 20 40 60 80 100 120 140 160 180 200
Sample Number

Figure B.23: Along the trial performance for the state-feedback 2D ILC algorithm
(Z-axis).
Appendix B Additional Results 146

B.3.3 Y -axis results (Output-feedback controller)

(a) (b) (c)

Figure B.24: The output-feedback 2D ILC algorithm experimental results (Y -axis):


(a) Evolution of the output, (b) Evolution of the control input, (c) Evolution of the
error dynamics

Input for trial 200


10

−10
0 20 40 60 80 100 120 140 160 180 200

Output for trial 200


0.5
Reference
Output
0.4

0.3

0.2
0 20 40 60 80 100 120 140 160 180 200

−4
x 10 Error for trial 200
2

−2
0 20 40 60 80 100 120 140 160 180 200
Sample Number

Figure B.25: Along the trial performance for the output-feedback 2D ILC algorithm
(Y -axis).
Appendix B Additional Results 147

B.3.4 Z-axis results (Output-feedback controller)

(a) (b) (c)

Figure B.26: The output-feedback 2D ILC algorithm experimental results (Z-axis):


(a) Evolution of the output, (b) Evolution of the control input, (c) Evolution of the
error dynamics

Input for trial 200


2

−1

−2
0 20 40 60 80 100 120 140 160 180 200

Output for trial 200


0.065
Reference
Output
0.06

0.055

0.05
0 20 40 60 80 100 120 140 160 180 200

−5
x 10 Error for trial 200
2

−1

−2
0 20 40 60 80 100 120 140 160 180 200
Sample Number

Figure B.27: Along the trial performance for the output-feedback 2D ILC algorithm
(Z-axis).
Bibliography

H. Ahn, C. Choi, and K. Kim. Iterative learning control for a class of


nonlinear systems. Automatica, 29:1575–1578, 1993.

H-S. Ahn, Y. Chen, and K. L. Moore. Iterative learning control: brief survey
and categorization 1998–2004. IEEE Transactions on Systems Man and
Cybernetics Part C, 37(6):1099–1121, November 2007.

N. Amann and D. H. Owens. non-minimum phase plants in iterative learn-


ing control. In Proceedings of 2nd international conference on Intelligent
systems engineering, pages 107–112, Hamburg-Harbourg, Germany, 1994.

N. Amann, D. H. Owens, and E. Rogers. Iterative learning control for


discrete-time systems with exponential rate of convergence. Control The-
ory and Applications, IEE Proceedings, 143(2):217–224, March 1996a.

N. Amann, D. H. Owens, and E. Rogers. Iterative learning control using op-


timal feedback and feedforward actions. International Journal of Control,
65:277–293, 1996b.

S. Arimoto, S. Kawamura, and F. Miyazaki. Bettering operations of robots


by learning. Journal of Robotic Systems, 1:123–140, 1984a.

S. Arimoto, F. Miyazaki, and S. Kawamura. Bettering operation of dy-


namical systems by learning: a new control theory for servomechanism or
mechatronics systems. In Proceedings of the 23rd Conference on Decision
and Control, pages 1064–1069, Las Vegas, Nevada, 1984b.

S. Arimoto, F. Miyazaki, S. Kawamura, and S. Tamaki. Learning control


theory for dynamical systems. In Proceedings of the 24th Conference on
Decision and Control, pages 1375–1380, Fort Lauderdale, Florida, 1985.

A. Barton, P. L. Lewin, and D. Brown. Practical implementation of a real-


time iterative learning position controller. International Journal of Con-
trol, 73(10):992–999, 2000.

148
BIBLIOGRAPHY 149

Z. Bien and K. Huh. Higher-order iterative learning control algorithm. In


Proceedings of the Institution of Electrical Engineers, Control Theory and
Applications, volume 136, pages 105–112, 1989.

P. Bondi, G. Casalino, and L. Gambardella. On the iterative learning control


theory for robotic manipulators. IEEE Journal of Robotics and Automa-
tion, 4(1):14–22, February 1988.

D. A. Bristow. Frequency domain analysis and design of iterative learn-


ing control for systems with stochastic disturbances. In Proceedings of
the American Control Conference, pages 3901–3907, Seattle, Washington,
USA, June 2008.

D. A. Bristow, M. Tharayil, and A. G. Alleyne. A survey of iterative learning


control a learning-based method for high-performance tracking control.
IEEE Control Systems Magazine, 26(3):96–114, 2006.

Z. Cai, C. T. Freeman, P. L. Lewin, and E. Rogers. Iterative learning con-


trol for a non-minimum phase plant based on a reference shift algorithm.
Control Engineering Practice, 16(6):633–643, 2008.

Z. Cai, C. T. Freeman, E. Rogers, and P. L. Lewin. Reference shift iterative


learning control for a non-minimum phase plant. In Proceddings of 2007
American Control Conference, pages 558–563, New York, NY, USA, July
2007.

H-F. Chen and H-T. Fang. Output tracking for nonlinear stochastic systems
by iterative learning control. IEEE Transactions on Automatic Control,
49(4):583–588, 2004.

K. Chen and R.W. Longman. Stability issues using FIR filtering in repetitive
control. Advances in the Astronautical Sciences, 112(2):1321–1340, 2002.

Y. Chen, C. Wen, Z. Gong, and M. Sun. An iterative learning controller


with initial state learning. IEEE Transactions on Automatic Control, 44
(2):371–376, 1999.

Y. Chen, C. Wen, J-X. Xu, and M. Sun. An initial state learning method for
iterative learning control of uncertain time-varying systems. In Proceedings
of the 35th IEEE Conference on Decision and Control, pages 3996–4001,
Kobe, Japan, 1996.

K. K. Chew and M. Tomizuka. Digital control of repetitive errors in disk-


drive systems. IEEE Control Systems Magazine, 10:16–20, January 1990.

J-W. Choi, H-G. Choi, K-S. Lee, and W-H Lee. Control of ethanol concentra-
tion in a fed-batch cultivation of acinetobactoer calcoaceticus rag-1 using
BIBLIOGRAPHY 150

a feedback-assisted iterative learning algorithm. Journal of Biotechnology,


46:29–43, 1996.

B. G. Dijkstra and O. H. Bosgra. Convergence design considerations of


low order !-ilc for closed loop systems, implemented on a high precision
wafer stage. In Proceedings of the 41th IEEE Conference on Decision and
Control, pages 2494–2499, Las Vegas, Nevada USA, December 2002a.

B. G. Dijkstra and O. H. Bosgra. Extrapolation of optimal lifted system ilc


solution, with application to a waferstage. In Proceedings of the 2002
American Control Conference, pages 2595–260, Anchorage, AK, USA,
May 2002b.

T. Donkers, J. van de Wijdeven, and O. Bosgra. Robustness against model


uncertainties of norm optimal iterative learning control. In Proceedings
of the 2008 American Control Conference, pages 4561–4566, Seattle, WA,
USA, 11-13 June 2008.

K. Dutton, S. Thompson, and B. Barraclough. The art of control engineer-


ing. Addison-Wesley, 1998. ISBN 0-201-17545-2.

H. Elci, R.W. Longman, M. Phan, J-N. Juang, and R. Ugoletti. Discrete fre-
quency based learning control for precision motion control. In Proceedings
of the IEEE International Conference on Systems, Man, and Cybernetics,
volume 3, pages 2767–2773, San Antonio, TX, 1994.

E. Fornasini and G. Marchesini. Doubly-indexed dynamical systems: state


space models and structural properties. Mathematical Systems Theory, 12:
59–72, 1978.

C. Freeman, A-M. Hughes, J. Burridge, P. Chappell, P. L. Lewin, and


E. Rogers. Iterative learning control of FES applied to the upper extremity
for rehabilitation. Control Engineering Practice, 2008a. In Press.

C. T. Freeman. Experimental Evaluation of Iterative Learning Control on a


Non-minimum Phase Plant. PhD thesis, School of Electronics and Com-
puter Science, University of Southampton, 2004.

C. T. Freeman, Z. Cai, E. Rogers, and P. L. Lewin. Objective-driven ILC


for point-to-point movement tasks. In 2009 American Control Conference,
June 2009. In Press.

C. T. Freeman, A-M. Hughes, J. Burridge, P. Chappell, P. L. Lewin, and


E. Rogers. A model of the upper extremity using FES for stroke rehabili-
tation. ASME Journal of Biomechanical Engineering, 2008b. In Press.
BIBLIOGRAPHY 151

C. T. Freeman, P. L. Lewin, and E. Rogers. Discrete predictive optimal ilc


implemented on a non-minimum phase experimental test-bed. In Proceed-
ings of 2005 American Control Conference, pages 282–287, Portland, OR,
2005a.

C. T. Freeman, P. L. Lewin, and E. Rogers. Experimental evaluation of


iterative learning control algorithms for non-minimum phase plants. In-
ternational Journal of Control, 78(11):826–846, 2005b.

Mark French. Robust stability of iterative learning control schemes. In-


ternational Journal of Robust and Nonlinear Control, 18(10):1018–1033,
2008.

J. A. Frueh and M. Q. Phan. Linear quadratic optimal learning control.


International Journal of Control, 73(10):832–839, 2000.

F. R. Gao, Y. Yang, and C. Shao. Robust iterative learning control with


applications to injection molding process. Chemical Engineering Science,
56(24):7025–7034, 2002.

Z. Geng, R. Carroll, and J. Xie. Two-dimensional model and algorithm


analysis for a class of iterative learning control systems. International
Journal of Control, 52(4):833–862, 1990.

J. Ghosh and B. Paden. Pseudo-inverse based iterative learning control


for nonlinear plants with disturbances. In Proceedings of the 38th IEEE
Conference on Decision and Control, pages 5206–5212, Phoenix, Arizona,
USA, December 1999.

J. Ghosh and B. Paden. Iterative learning control for nonlinear nonminimum


phase plants. Journal of Dynamic Systems, Measurement, and Control,
123:21–30, 2001.

J. Ghosh and B. Paden. A pseudoinverse-based iterative learning control.


IEEE Transactions on Automatic Control, 47(5):831C836, May 2002.

S. Gunnarsson and M. Norrlöf. Some aspects of an optimization approach


to iterative learning control. In Proceedings of the 38th IEEE Conference
on Decision and Control, pages 1581–1586, Phoenix, Arizona, December
1999.

V. Hatzikos, J. Hätönen, and D.H. Owens. Genetic algorithms in norm-


optimal linear and non-linear iterative learning control. International
Journal of Control, 77(2):188–197, January 2004.

H. Havlicsek and A. Alleyne. Nonlinear control of an electrohydraulic injec-


tion molding machine via iterative adaptive learning. IEEE-ASME Trans-
action on Mechatronics, 4(3):312–323, 1999.
BIBLIOGRAPHY 152

G. Heinzinger, D. Fenwick, B. Paden, and F. Miyazaki. Robust learning


control. In Proceedings of the IEEE Conference on Decision and Control
Including The Symposium on Adaptive Processes, volume 1, pages 436–
440, 1989.

L. Hladowski, Z. Cai, K. Galkowski, E. Rogers, C. T. Freeman, and P. L.


Lewin. Using 2D systems theory to design output signal based iterative
learning control laws with experimental verification. In Proceddings of
47th IEEE Conference on Decision and Control, pages 3026–3031, Cancun,
Mexico, December 2008a.

L. Hladowski, Z. Cai, K. Galkowski, E. Rogers, C. T. Freeman, and P. L.


Lewin. A novel 2D systems approach to iterative learning control with
applications to electromechanical systems. In Proceddings of European
Control Conference 2009, Budapest, Hungary, August 2009. Submitted.

L. Hladowski, K. Galkowski, Z. Cai, E. Rogers, C. T. Freeman, and P. L.


Lewin. A 2D systems approach to iterative learning control with exper-
imental validation. In Proceddings of 17th IFAC World Congress, pages
2832–2837, Seoul, Korea, July 2008b.

Y-C. Huang and R. W. Longman. The source of the often observed property
of initial convergence followed by divergence in learning and repetitive
control. Advances in the Astronautical Sciences, 90:555–572, 1996.

D. H. Hwang, B. K. Kim, and Z. Bien. Decentralized iterative learning con-


trol methods for large scale linear dynamic systems. International Journal
of Systems Science, 24(12):2239–2254, 1993.

S. Kawamura, F. Miyazaki, and S. Arimoto. Applications of learning method


for dynamic control of robot manipulators. In Proceedings of the 24th IEEE
Conference on Decision and Control, pages 1381–1386, Ft. Lauderdale, FL,
December 1985.

S. Kawamura, F. Miyazaki, and S. Arimoto. Realization of robot motion


based on a learning method. IEEE Transactions on Systems, Man, and
Cybernetics, 18(1):126–133, 1988.

S. Kichhoff, C. Schmidt, G. Lichtenberg, and H. Werner. An iterative learn-


ing algorithm for control of an accelerator based free electron laser. In
Proceedings of the 47th IEEE Conference on Decision and Control, pages
3032–3037, Cancun, Mexico, December 2008.

D-I. Kim and S. Kim. An iterative learning control method with application
for cnc machine tools. IEEE transaction on Industry Applications, 32:
66–72, 1996.
BIBLIOGRAPHY 153

J. E. Kurek and M. B. Zaremba. Iterative learning control synthesis based


on 2-D system theory. IEEE Transactions on Automatic Control, 38(1):
121–125, 1993.

H-S. Lee and Z. Bien. Study on robustness of iterative learning control with
non-zero initial error. International Journal of Control, 64(3):345–359,
1996.

J. H. Lee, K. S. Lee, and W. C. Kim. Model-based iterative learning control


with a quadratic criterion for time-varying linear systems. Automatica, 36:
641–657, 2000.

P. L. Lewin. Iterative learning control of repetitive processes. In Proceedings


of the 2nd International Conference on Climbing and Walking Robots,
pages 295–303, Portsmouth, UK, 1999.

Y-J. Liang and D. P. Looze. Performance and robustness issues in iterative


learning control. In Proceedings of the 32nd IEEE Conference on Decision
and Control, pages 1990–1995, San Antonio, Texas, USA, December 1993.

R. W. Longman. Iterative learning control and repetitive control for engi-


neering practice. International Journal of Control, 73:930–954, 2000.

A. De Luca and S. Panzieri. An iterative scheme for learning gravity com-


pensation in flexible robot arms. Automatica, 30(6):993–1002, 1994.

O. Markusson, H. Hjalmarsson, and M. Norrlof. Iterative learning control of


nonlinear non-minimum phase systems and its application to system and
model inversion. In Proceedings of the 40th Conference on Decision and
Control, pages 4481–4482, Orlando, Florida, 2001.

M. Mezghani, G. Roux, M. Cabassud, B. Dahhou, M. V. Le Lann, and


G. Casamatta. Robust iterative learning control of an exothermic semi-
batch chemical reactor. Mathematics and Computers in Simulation, 57
(6):367–385, 2001.

M. Mezghani, G. Roux, M. Cabassud, M.V. Le Lann, B. Dahhou, and


G. Casamatta. Application of iterative learning control to an exother-
mic semibatch chemical reactor. IEEE Transactions on Control Systems
Technology, 10(6):822–834, November 2002.

T. Mita and E. Kato. Iterative control and its application to motion control
of robot arm – a direct approach to servo-problems. In Proceedings of
the 24th IEEE Conference on Decision and Control, pages 1393–1398, Ft.
Lauderdale, FL, December 1985.
BIBLIOGRAPHY 154

J. Moon, M. Lee, M. Chung, S. Y. Jung, and D. H. Shin. Track-following


control for optical disk drives using an iterative learning scheme. IEEE
Transactions on Consumer Electronics, 42(2):192–198, May 1996.

S. Oh, Z. Bien, and I. H. Suh. An iterative learning control method with


application for the robot manipulator. IEEE Journal of Robotics and Au-
tomation, 4(5):508–514, October 1988.

Y. Onuki and H. Ishioka. Compensation for repeatable tracking errors in


hard drives using discrete-time repetitive controllers. IEEE/ASME Trans-
actions on Mechatronics, 6(2):132–136, 2001.

D. H. Owens, N. Amann, E. Rogers, and M. French. Analysis of linear itera-


tive learning control schemes - a 2D systems/repetitive processes approach.
Multidimensional Systems and Signal Processing, 11(1-2):125–177, 2000.

F. Padieu and R. Su. An H∞ approach to learning control systems. Inter-


national Journal of Adaptive Control, 4:465–474, 1990.

M. Q. Phan and J. A. Frueh. Learning control for trajectory tracking using


basis functions. In Proceedings of the 35th IEEE Conference on Decision
and Control, pages 2490–2492, Kobe, Japan, December 1996.

M. Q. Phan and J. A. Frueh. Model reference adaptive learning control with


basis functions. In Proceedings of the 38th IEEE Conference on Decision
and Control, pages 251–257, Phoenix, Arizona, USA, December 1999.

A. M. Plotnik and R. W. Longman. Subtitles in the use of zero-phase low-


pass filtering and cliff filtering in learning control. Advances in the Astro-
nautical Sciences, 103:673–692, 1999.

J. D. Ratcliffe. Iterative Learning Control Implemented on a Multi-axis Sys-


tem. PhD thesis, School of Electronics and Computer Science, University
of Southampton, 2005.

J. D. Ratcliffe, T. J. Harte, J. J. Hätönen, P. L. Lewin, E. Rogers, and


D. H. Owens. Practical implementation of a model inverse optimal iterative
learning controller on a gantry robot. In Proceedings of IFAC Workshop
on Adaptive and Learning in Control and Signal Processing and the IFAC
Workshop on Periodic Control Systems, pages 687–692, Yokohama, Japan,
2004.

J. D. Ratcliffe, J. J. Hätönen, P. L. Lewin, E. Rogers, J. Harte, and D. H.


Owens. P-type iterative learning control for systems that contain reso-
nance. International Journal of Adaptive Control and Signal Processing,
19(10):769–796, 2005a.
BIBLIOGRAPHY 155

J. D. Ratcliffe, J. J. Hätönen, P. L. Lewin, E. Rogers, and D. H. Owens.


Robustness analysis of an adjoint optimal iterative learning controller with
experimental verification. International Journal of Robust and Nonlinear
Control, 18(10):1089–1113, July 2008.

J. D. Ratcliffe, P. L. Lewin, and E. Rogers. Fast norm-optimal iterative


learning control for industrial applications. In Proceedings of the 2005
American Control Conference, pages 1951–1956, Portland, OR, USA, June
2005b.

J. D. Ratcliffe, P. L. Lewin, and E. Rogers. Comparing the performance of


two iterative learning controllers with optimal feedback control. In Pro-
ceedings of the 2006 IEEE International Symposium on Intelligent Con-
trol, pages 838–843, Munich, Germany, October 2006a.

J. D. Ratcliffe, P. L. Lewin, E. Rogers, J. J. Hätönen, and D. H. Owens.


Norm-optimal iterative learning control applied to gantry robots for au-
tomation applications. IEEE Transactions On Robotics, 22(6):1303–1307,
December 2006b.

R. Roesser. A discrete state-space model for linear image processing. IEEE


Transactions on Automatic Control, AC-20:1–10, 1975.

E. Rogers, K. Galkowski, and D. H. Owens. Control Systems Theory and


Applications for Linear Repetitive Processes (Lecture Notes in Control and
Information Sciences Series), volume 349. Springer Verlag, 2007.

D. De Roover. Sysnthesis of a robust iterative learning controller using an


h∞ approach. In Proceedings of the 35th IEEE Conference on Decision
and Control, pages 3044–3049, Kobe, Japan, December 1996.

D. De Roover and O. H. Bosgra. Dualization of the internal model principle


in compensator and observer theory with application to repetitive and
learning control. In Proceedings of the 1997 American Control Conference,
pages 3902–3906, 1997.

D. De Roover and O. H. Bosgra. Synthesis of robust multivariable itera-


tive learning controllers with application to a wafer stage motion system.
International Journal of Control, 73(10):968–979, 2000.

S. S. Saab. A discrete-time learning control algorithm. In Proceedings of


the American Control Conference, volume 1, pages 749–753, Baltimore,
Maryland, June 1994.

S. S. Saab. A discrete-time learning control algorithm for a class of linear


time-invariant systems. IEEE Transactions On Automatic Control, 40(6):
1138–1142, June 1995.
BIBLIOGRAPHY 156

S. S. Saab. A discrete-time stochastic learning control algorithm. IEEE


Transactions On Automatic Control, 46(6):877–887, June 2001a.

S. S. Saab. On a discrete-time stochastic learning control algorithm. IEEE


Transactions On Automatic Control, 46(8):1333–1335, August 2001b.

S. S. Saab. Stochastic P-type/D-type iterative learning control algorithms.


International Journal of Control, 76(2):139–148, 2003.

D. D. Siljak and D. M. Stipanovic. Robust stabilisation of nonlinear systems:


The LMI approach. Mathematical Problems in Engineering, 6:461–493,
2000.

T. Sogo, K. Kinoshita, and N. Adachi. Iterative learning control using adjoint


systems for nonlinear non-minimum phase systems. In Proceedings of the
39th IEEE Conference on Decision and Control, pages 3445–3446, Sydney,
Australia, December 2000.

M. Steinbuch. Repetitive control for systems with uncertain period-time.


Automatica, 38(12):2103–2109, 2002.

M. Steinbuch and R. van de Molengraft. Iterative learning control of in-


dustrial motion systems. In R. Isermann, editor, 1st IFAC conference on
Mechatronic Systems, pages 967–972, Darmstadt, Germany, 2000.

A. Tayebi and M. B. Zaremba. Robust iterative learning control design is


straightforward for uncertain lti systems satisfying the robust performance
condition. IEEE Transactions on Automatic Control, 48(1):101–106, Jan-
uary 2003.

A. Tayebia and S. Islamb. Adaptive iterative learning control for robot


manipulators: Experimental results. Control Engineering Practice, 14(7):
843–851, 2006.

M. Togai and O. Yamano. Analysis and design of an optimal learning control


scheme for industrial robots: a discrete system approach. In In Proceedings
of the 24th IEEE Conference on Decision and Control, pages 1399–1404,
Ft. Lauderdale, FL, December 1985.

R. L. Tousain and D. van Casteren. Iterative learning control in a mass


product : Light on demand in dlp projection systems. In Proceedings of
the 2007 American Control Conference, pages 5478–5483, New York City,
NY, USA, July 11-13 2007.

M. Uchyama. Formulation of high-speed motion pattern of a mechanical


arm by trial. Transactions of the Society for Instrumentation and Control
Engineers, 88(4):569–587, 1978.
BIBLIOGRAPHY 157

D. Wang and C.C. Cheah. An iterative learning scheme for impedance con-
trol of robot manipulators. International Journal of Robotics Research, 17
(10):1091–1104, October 1998.

Y. Wang and R. W. Longman. Use of non-causal digital signal processing in


learning and repetitive control. Advances in the Astronautical Sciences,
90(1):649–668, 1996.

M. B. Groot Wassink, O. H. Bosgra, and S. H. Koekebakker. Enhancing


inkjet printhead performance by mimo iterative learning control using im-
plementation based basis functions. In Proceedings of the 2007 American
Control Conference, pages 5472–5477, New York City, NY, USA, July
11-13 2007.

J. Van De Wijdeven and O. H. Bosgra. Residual vibration suppression using


hankel iterative learning control. International Journal of Robust and
Nonlinear Control, 18:1034–1051, 2008.

Z. H. Xiong and J. Zhang. Product quality trajectory tracking in batch


processes using iterative learning control based on time-varying pertur-
bation models. Industrial and Engineering Chemistry Research, 42(26):
6802–6814, 2003.

J. X. Xu, Y. Q. Chen, T. H. Lee, and S. Yamamoto. Terminal iterative learn-


ing control with an application to RTPCVD thickness control. Automatica,
35(9):1535–1542, 1999.

J. X. Xu, Q. P. Hu, T. H. Lee, and S. Yamamoto. Iterative learning control


with smith time delay compensator for batch processes. Journal of Process
Control, 11(3):321–328, 2001.

J. X. Xu, T. H. Lee, and Y. Tan. Enhancing trajectory tracking for a class of


process control problems using iterative learning. Engineering Applications
of Artificial Intelligence, 15(1):53–64, 2002.

Y. Zhou, M. Steinbuch, and G. Leenknegt. A cost-effective scheme to im-


prove radial tracking performance for high speed optical disk drives. Jour-
nal of Vibration and Control, 10:795–810, 2004.

You might also like