Content uploaded by Benjamas Panomruttanarug
Author content
All content in this area was uploaded by Benjamas Panomruttanarug on May 18, 2017
Content may be subject to copyright.
AAS 08-123
THE ADVANTAGES AND DISADVANTAGES OF KALMAN
FILTERING IN ITERATIVE LEARNING CONTROL
Benjamas Panomruttanarug* and Richard W. Longman†
Iterative learning control (ILC) can eliminate deterministic tracking errors of a control
system that repeatedly performs the same tracking maneuver. It iterates with the real
world rather than with a model aiming to achieve this zero error, and hence it can achieve
lower final error levels in the real world than one could obtain when limiting oneself to
using a mathematical model aiming to achieve zero tracking error. There are spacecraft
applications when fine pointing sensors perform repeated scans. When there is substantial
plant and measurement noise, it is natural to consider using a Kalman filter to improve
the signal used by the learning control law. In a separate work, this was analyzed for the
sister field of repetitive control (RC). It was observed that when the model in the Kalman
filter is imperfect, the use of a Kalman filter can make the final error levels worse rather
than better, and care must be taken to assess the benefit in reduced random variations
compared to the deterministic error introduced. This is also the case when there are
unmodeled repeating external disturbances. Here we show that the same situation applies
to ILC if one uses a Kalman filter running in time steps during each iteration. But one can
reformulate the Kalman filter to operate in the repetition or iteration domain, and when
this is done, one can still converge to zero expected value of the tracking error in the
presence of model errors and external repeating disturbances.
INTRODUCTION
Iterative learning control (ILC) aims to converge to zero error in the output of a feedback
control system when trying to follow a chosen finite time tracking command. It learns from the
results of each previous run (repetition or cycle), modifying the command for the next run based
on the error observed in the last run or error observed in multiple previous runs. When data from
more than one run is used in the update, it is called higher order iterative learning control [1]. In
spacecraft applications, it can be used when making the spacecraft attitude track some prescribed
history or it can be used in an active isolation mount for fine pointing sensors while tracking. ILC
can learn to eliminate the standard tracking error of a control system when following a changing
command, it can learn to eliminate effects introduced by vibrations in the spacecraft, and it can
learn to eliminate any disturbances that occur every time the command is given.
ILC looks at the measured tracking error in the previous run, and based on an iterative
learning control law, adjusts the command to the feedback control system in the next run.
Physical systems often have substantial measurement and process noise. And this noise goes into
the ILC law. The law assumes that it will also occur in the next run and therefore should be
cancelled by input adjustments. Since the noise histories do not repeat, their influence on the
* Lecturer, Department of Control System and Instrumentation Engineering, King Mongkut’s University of
Technology, Thonburi, Bangkok, Thailand
† Professor o f Mechanical Engineering, Professor of Civil Engineering and Engineering Mechanics, Columbia
University, New York, NY 10027
control action creates inappropriate responses that amplify the influence of noise on the output.
The simplest method of dealing with noise in most systems is to use a low pass filter. This relies
on the noise being at high frequency, and relies on being satisfied to have a system whose
performance is limited by the bandwidth dictated by the noise filter. ILC would like to be able to
fix the error at every time step of the digital control system, and this means at every frequency
that is visible using the number of data points in each run, i.e. the number of time steps in the
desired trajectory. A Kalman filter aims to eliminate the noise from measurements, doing so by
using knowledge of the system dynamics and knowledge of the plant and measurement statistics,
and as a result does not cut out the information content at high frequencies. One might expect that
by making use of a Kalman filter in ILC, one could speed up the learning process, and also create
a lower final value of the random error remaining after convergence. Reference [2] shows that
introducing a Kalman filter into ILC creates a special case of higher order ILC. References [3-7]
are other references that consider the use of Kalman filters in ILC. The present paper builds on
the analysis of introducing a Kalman filter in the sister field of repetitive control [8]. It was shown
there that there are both advantages and disadvantages to introducing a Kalman filter into a
repetitive control system, that one should make a careful analysis of both the noise environment
or reproducibility level of the hardware, and the accuracy of the system in order to determine
whether the Kalman filter will improve the error or make the error worse. It is the purpose of this
paper to perform a similar analysis of the use of Kalman filtering in iterative learning control.
Two methods of using a Kalman filter are considered. One is to run the filter (or smoother) each
time step of each run, and the second reformulates the filter to operate in the repetition domain.
ITERATIVE LEARNING CONTROL LAWS
Consider a system given in state variable form as
!
xj(k+1) =Ax(k)+Bu j(k) ; k=0,1,2,K,p"1
yj(k+1) =Cx j(k+1) +d(k+1)
(1)
In most applications of ILC this represents a feedback control system where the input
!
uj(k)
represents the
command given to the system. The p time step desired output history is
!
y* (k); p=1,2,K,p
. The
subscript j indicates the repetition or iteration number. It is natural to feed the desired output into the
system for the first iteration, and then the learning control law will adjust the command in each succeeding
iteration aiming to make the output
!
yj(k)
converge to
!
y* (k)
for all k as j tends to infinity. The
!
d(k)
represents any disturbance to the feedback control system that occurs every time the command is given.
Disturbances usually enter between the feedback controller and the plant, but wherever they appear in the
feedback loop, there is an equivalent output disturbance and this is what is used here.
Following [9], package the whole history of a variable during an iteration into a column vector,
and denote this by an underbar:
!
yj=yj(1) yj(2) Lyj(p)
[ ]
uj=uj(0) uj(1) Luj(p"1)
[ ]
(2)
with analogous definitions for
!
y*
,
!
d
, and the error history
!
ej=y*"yj
, that all use the time arguments of
!
yj
. By recursively substituting the solution of (1) for one j into the next j, one can write the solution in
terms of a convolution sum as
!
yj=A x(0) +Pu j+d
!
A =
CA
CA2
M
CA p
"
#
$
$
$
$
%
&
'
'
'
'
!
P=
CB 0L0
CAB CB L0
M M O M
CA p"1B CA p"2BLCB
#
$
%
%
%
%
&
'
(
(
(
(
(3)
A general linear first order iterative learning control law takes the form
!
uj+1=uj+Le j
or
!
"
j+1u=Le j
(4)
where L is a p by p learning control gain matrix, and the delta operator indicates
!
"
j+1u=uj+1#uj
, and can
be used on any underbar quantity. Three possible ILC laws are the Euclidian norm contraction mapping law
[10], the partial isometry law[11], and the quadratic cost law [12,13]
!
L=
"
PT L=
"
VUT L=(PTQP +R)#1PTQ
(5)
where
!
P=U"VT
is the singular value decomposition of P, and
!
Jj=ej
TQe j+
"
juTR
"
ju
is the quadratic
cost, with Q and R chosen as positive definite matrices. Combining the equations, one can obtain [9] the
error propagation equation
!
ej+1=(I"PL)ej
(6)
from which one can conclude that the ILC law L will produce convergence to zero error for all initial error
histories, if and only if the maximum absolute value of an eigenvalue of
!
(I"PL)
is less than unity, and that
convergence will be monotonic with respect to the Euclidean norm provided that the maximum singular
value of this matrix is less than unity. In order to avoid build up of error between time steps in certain
situations [14], it can be advisable to adjust the control action every time step, but ask for convergence to
zero error every other time step at the even numbered steps. Let
!
eD,j
and
!
P
D
be
!
ej, P
with the odd
numbered rows removed, note that
!
"
j+1eD=#P
D
"
j+1u
, and let
!
P
D=UD"DVD
T
. Then the corresponding
error propagation equation and learning laws become
!
eD,j+1=(I"P
DL)eD,j L=
#
P
D
T L=
#
VDUD
T L=(P
D
TQPD+R)"1P
D
TQ
(7)
We now wish to consider systems containing plant and measurement noise, and feed the data through a
noise filtering process to produce an improved estimate of the error. Then this estimate is used in place of
!
ej
in the learning law equation (4).
STOCHASTIC SYSTEM MODEL
We now introduce plant and measurement noise into the time domain model of the system giving
the following state variable equations
!
xj(k+1) =Ax j(k)+B(uj(k)+wj(k))
yj(k+1) =Cx j(k+1) +d(k+1) +vj(k+1)
(8)
For simplicity, we consider a single-input, single-output system, and have the plant noise enter through the
input matrix. A new aspect to the ILC problem compared to the repetitive control problem when
introducing the Kalman filtering estimate, is the fact that ILC wants zero tracking every time step, starting
from the first time step. If the Kalman filter is run in the time domain, this means that it can be important in
ILC to work to have a good estimate of the initial state, and a good estimate of the uncertainty or
covariance of the initial state. And then it can be important to make use of this information in the Kalman
filter making a time varying Kalman filter. The same issue in the time domain is present when the Kalman
filter is running in the repetition domain. The plant and measurement noises are considered zero mean and
white, and the initial condition estimation error is zero mean, and all three random quantities are considered
uncorrelated with each other:
!
E[xj(0)] =x
o E[(xj(0) "x
o)(xj(0) "x
o)T]=#
E[wj(0)] =0 E[wj(k)wm(n)] =Q
$
k,n
$
j,m
E[vj(0)] =0 E[vj(k)vm(n)] =R
$
k,n
$
j,m
(9)
!
E[(xj(0) "x
o)wm(k)] =0 # j,m,k
E[(xj(0) "x
o)vm(k)] =0 # j,m,k
E[wj(k)vm(n)] =0 # j,m,k,n
The E represents the expected value, and the double subscripted
!
"
is the Kronecker delta (and a single
subscripted
!
"
is the difference operator as in equation (4)). The aim of the learning control system is now
to make
!
lim
j"# E[yj(k)] =y* (k)
(10)
for all
!
k=1,2,3,K,p
.
KALMAN FILTERS, PREDICTORS, AND SMOOTHERS
We will consider three types of filters: (1) The true filter, i.e. one that produces the best estimate
!
ˆ
x (k k)
of the state at a time step k (or at a repetition j when operating in the repetition domain), based on all
measurements taken up to and including the current step. (2) The one-step ahead predictor, which is the
usual Kalman filter in feedback control systems, which uses data only up through the previous time step,
denoted by
!
ˆ
x (k k "1)
. And (3) the fixed interval smoother, which produces the best estimate of the states at
all time steps
!
k=1,2,3,K,p
based on data taken at all of these time steps, denoted here by
!
xs(k)
. Here we
review the form of each of these filters, and the formulas needed to compute the filter gains [15].
Note that the system equations for this section are generic equations except that they are
specialized to the situation considered here where the plant noise is additive noise on the input
!
x(k+1) =Ax(k)+B(u(k)+w(k))
y(k+1) =Cx(k+1) +v(k+1)
(11)
and that they will be applied to a state vector appropriate for the dynamics in the repetition domain first,
and later applied in the more familiar setting of the time domain as in equations (8). In the later case, k is
the time step and the matrices A, B, and C are as in equations (8), but in the former, k is replaced by j and
appears as a subscript, and the matrices A, B, and C will be replaced by system matrices describing the
dynamics in repetitions. Note also that system (11) is missing the repeating disturbance
!
d(k)
that is present
in our model. In ILC one does not normally consider that one knows the time history of the repeating
deterministic disturbance, and part of the job of the ILC is to learn to cancel its influence on the output. If
its time history is not known, then one cannot make use of it in the filter design.
One common form for the Kalman filter equations in discrete time is
!
ˆ
x (k+1k+1) =ˆ
x (k+1k)+K(k+1)[ y(k+1) "Cˆ
x (k+1k)]
ˆ
x (k+1k)=Aˆ
x (k k)+Bu (k)
(12)
where
!
K(k+1) =P
PR (k+1)CT[CP
PR (k+1)CT+R]"1
P
PR (k+1) =AP
PR (k)AT"AP
PR (k)CT[CPPR (k)CT+R]"1CP
PR (k)AT+BQBT
P
PR (0) =#
Here
!
P
PR
is the error covariance of the one step ahead state prediction. One can isolate the one step ahead
result to obtain the form of Kalman filter most likely appropriate in designing a feedback control system
!
ˆ
x (k+1k)=Aˆ
x (k k "1) +Bu(k)+AK (k)[ y(k)"Cˆ
x (k k "1)]
(13)
Similarly, one can isolate the true filter estimates to obtain
!
ˆ
x (k+1k+1) =[I"K(k+1)C][ Aˆ
x (k k)+Bu (k)] +K(k+1)y(k+1)
(14)
In order to produce the fixed interval smoother result, one obtains the true filter equation through
the p time steps of data, and then runs the following smoother equation backward in time through all time
steps
!
xs(k)=ˆ
x (k k)+Ks(k)[ xs(k+1k+1) "Aˆ
x (k k)"Bu (k)]
(15)
starting from
!
xs(p)=ˆ
x (p p)
. The gain matrix of the smoother, and the resulting error covariance of the
smoother estimate of the state are
!
KS(k)=[I"K(k)C]P
PR (k)AT[P
PR (k+1)]"1
P
S(k)=[I"K(k)C]P
PR (k)+KS(k)[P
S(k+1) "P
PR (k+1)]KS
T(k)
(16)
STOCHASTIC REPETITION DOMAIN MODEL
In order to apply Kalman filtering in the repetition domain, we need a stochastic model in the
repetition domain. First, we generalize equation (3) to include the contribution of the random variables.
Define
!
wj,vj
analogously to the
!
yj
of equation (2), and define error in the initial condition estimate
!
"xj(0) =xj(0) #x
o
. Also, define the true output as distinguished from the measured output that contains
measurement noise, and define the corresponding errors as:
True Output:
!
y j
formed from measured output with measurement noise deleted
Measured Output:
!
yj=y j+vj
True Error:
!
e j=y*"y j
Measured Error:
!
ej=y*"yj=e j"vj
Then equation (3) can be modified to give the true output and the true error according to
!
y j=A x
o+Pu j+d+
"
j
e j=#A x
o#Pu j#d+y*#
"
j
"
j=A $xj(0) +Pw j
(17)
The true error history is an appropriate choice for state variables in the repetition domain. Applying the
delta difference operator as in equation (4) to the true error equation above drops the terms that do not
depend on j, and results in the following state variable and output equations for the dynamics in the
repetition domain
!
e j+1=Ie j"P
#
j+1u"
#
j+1
$
ej=e j"vj
(18)
In the repetition domain, the A, B, C matrices become I, -P, I. The measurement noise becomes
!
"vj
, and
the plant noise becomes
!
"
#
j+1
$
. The input is modified to become the difference of the actual inputs from
one repetition to the next,
!
"
j+1u
. The statistics of the plant and measurement noises are calculated in terms
of the specified statistics in (9)
!
E[vj]=0
E[vjvi
T]=RI
"
ji
(19)
!
E[
"
j+1
#
]=0
E[
"
j+1
#"
j+1
#
T]=E[(A
"
j+1$x(0) +P
"
j+1w)(A
"
j+1$x(0) +P
"
j+1w)T]
=2A %A
T+2PQPT
=Q
THE KALMAN TRUE FILTER IN REPETITIONS
When applying a learning control law (4) to a system with plant and measurement noise, what is
needed is an estimate of the error
!
ej
using all the data from run j. This means that we want a true filter
expression (14) but in the repetition domain. This means replacing A, B, C,
!
y(k)
,
!
x(k)
,
!
ˆ
x (k k)
,
!
u(k)
, by I,
-P, I,
!
ej
,
!
e j
,
!
ˆ
e j
,
!
"
ju=uj#uj#1
. It is of interest to observe that the iterative learning control law (4)
when using a Kalman true filter to filter the error before using it in the law, has become not only a function
of the error and the control action in repetition j, but also a function of the control action
!
uj"1
. This makes
the ILC law first order in the error, but second order in the input history. This fact was noted in [2] where it
was given as an example of a situation where higher order ILC has some advantage over first order ILC.
The Kalman true filter in repetitions is now written as
!
ˆ
e j+1=[I"Kj+1][ ˆ
e j"P
#
j+1u]+Kj+1ej
Kj+1=P
PR,j+1(P
PR,j+1+RI )"1
P
PR,j+1=P
PR,j"P
PR,j(P
PR,j+RI )"1P
PR,j+Q
(20)
with
!
ej
being the measured error that is being filtered.
Often when using a Kalman filter it is not very critical how one picks the initial conditions for the
filter and for the filter gain equation, since the transients of the filtering process disappear with time and
converge to a steady state filter. Numerical simulations suggest that it may have more importance when
running the filter in repetitions, since one would like the filter to converge faster than the error converges
based on the stability of the control process. Several situations can apply.
(1) Suppose that there is no deterministic disturbance term
!
d
. Because the learning law is second order in
the command input history, one needs
!
u0,u1,ei
in order to compute the estimate
!
ˆ
e
1
, and then the first
application of control action modified by the learning process is in the second repetition using
!
u2=u1+Lˆ
e
1
. The computation of the filtered error in this law requires
!
ˆ
e
0
and
!
P
PR,1
. To obtain estimates
of these one might use the Kalman smoother (15) on the data for repetition one, running in the time domain
with the A, B, C matrices being the time domain matrices of (8), and make use of the covariance
information of the smoother in (16). Equation (16) gives only the covariance of the state estimate for each
time step, and does not supply the cross correlations from one time step to another in the smoother result,
and these would have to be computed to obtain the best possible staring values.
(2) If there is a repeating deterministic disturbance and we do not presume to know what it is as a function
of time, then there is no way to know what part of the measurements of the first repetition cam from the
disturbance, and what part came from noise or system response to input. Hence there is no way to
rigorously improve the information used as initial starting data for the iterative process. There are several
approaches one might take.
(a) Simply ignore the problem of figuring out the best starting conditions, and pick some convenient
estimate.
(b) One could try to define an optimization problem to find a disturbance input that would maximize the
whiteness of the appropriate residuals.
(c) One could make estimates that do not involve use of a model. For example, one could do a number of
runs with the same input, and average them. Then repeat the process with, e.g. two times the input. Then
the difference between the averaged results can be an approximation to the repeating disturbance. This can
be introduced into the smoother equations as a deterministic forcing function, and the smoother then used
to create starting conditions for the true filter in the repetition domain.
It is perhaps appropriate to consider what possible alternative approaches exist to the use of a Kalman filter
in ILC. The main objective of introducing the filter is to decrease the final level of the fluctuations in the
error after convergence has been reached. This final error level is necessarily higher that the random
fluctuations would be without the learning control running, since the learning controller feeds back the
noise and thus amplifies it. Turning down the overall gain of the learning law will decrease this
amplification, but it is done at the expense of longer times needed to complete the learning process. In
theory this cannot reach the error level that would be obtained by using a Kalman filter in addition to
turning down the gain, because the filter takes advantage of the structure of the noise. But it is a much
simpler approach that introducing a Kalman filter, and [9] suggests using a higher gain for faster
convergence until steady state behavior is being approached, and then turning the gain down to get better
final error levels due to noise. Yet another approach to obtaining smaller final error level due to noise, is to
repeat the same input for q repetitions, average the error histories, and use the average in the ILC input
update equation, making such updates only every q repetitions. The standard deviation of the noise in the
error history used by the ILC law would be reduced by a multiplicative factor,
!
1 / q
. Again, this is a
model free method of reducing the final error level due to noise in ILC.
LEARNING CONTROL WITH A REPETITION DOMAIN KALMAN FILTER
The Learning Dynamics in the Repetition Domain
This section develops the dynamics in repetitions of learning control when the ILC law in (4) has
the measured error history
!
ej
replaced by the true filter estimate of this error,
!
ˆ
e j
, obtained using equation
(20). The
!
e j
and
!
ˆ
e j
could be combined as a column vector to form the state variables for the repetition
domain. Then equations (18) and (20) together represent the state equations, with
!
ej+1=e j+1"vj+1
as the
output equation. Equation (20) must be modified so that this quantity is written in terms of state variables
by using
!
ej+1=e j"PL ˆ
e j"
#
j+1
$
"vj+1
(21)
It is advantageous in order to get a lower block triangular form for the repetition dynamics matrix, to
convert the state variable definitions by eliminating
!
ˆ
e j
in favor of the estimation error history vector,
!
˜
e j=e j"ˆ
e j
. Once this is done, the dynamic equations in repetitions can be written as
!
˜
e j+1
e j+1
"
#
$
%
&
' =I(Kj+10
PL I (PL
"
#
$
%
&
'
˜
e j
e j
"
#
$
%
&
'
+Kj+1Kj+1(I
0(I
"
#
$
%
&
'
vj+1
)
j+1
*
"
#
$
%
&
'
or in simplified notation
!
zj+1=Ar,jzj+Brrj+1
(22)
Consider these equations once the Kalman gain has reached its steady state value
!
Kss
so that the equations
are time invariant, and
!
Ar,j=Ar
. We can make several observations:
(1) The separation theorem applies to this problem. Thus, the learning control system with a Kalman filter
in repetitions (using the steady state gain) is asymptotically stable if and only if the ILC law in the
deterministic problem is asymptotically stable (i.e. the magnitudes of all eigenvalues of
!
I"PL
are less
than unity), and all eigenvalues of the system matrix for the Kalman filter
!
I"Kss
are less than one in
magnitude. One can design each separately, and when they are combined the eigenvalues of each separately
become eigenvalues of the combined system.
(2) In learning control it is often advisable to design the learning law so that the maximum singular value of
!
I"PL
is less than one so that one obtains good learning transient in the sense of monotonic decay of the
Euclidean norm of the error history vectors. The lower block triangular structure in the update matrix of
(22) means that the off diagonal block
!
PL
does not influence stability or the eigenvalues. But it does
influence the singular values. It is possible that the Kalman filter might have an adverse influence on the
learning transients, in the same way that introducing a Kalman filter into the standard quadratic cost
optimal control problem nullifies the general gain and phase margin guarantees for state feedback control
with quadratic cost. The analog of this singular value condition for monotonic decay, for repetitive control
is a frequency response condition for monotonic decay of the amplitude of each steady state frequency
component. In [8] this condition seemed to have improved robustness to model errors when using Kalmand
filtering.
(3) In ILC the learning rate can get very slow at high frequencies, and this means that the singular values of
!
I"PL
get very close to unity. The presence of the lower left cross coupling term
!
PL
may cause such
singular values to go above unity when the Kalman filter is introduced.
(4) The forcing function in (22) is zero mean noise. This means that both the expected value of the true
error, and the expected value of the filtered error will converge to zero mean. Also, if there is no plant or
measurement noise, the output will converge to zero error with or without the Kalman filtering.
(5) Note that when there is a repeating deterministic disturbance, it will not appear in equation (22) and
hence the ILC with Kalman filtering in repetitions converges to zero error in spite of such disturbances.
This is in contrast to the result obtained in for the repetitive control case [8] where the Kalman filter
prevented the repetitive controller from converging to zero expected value of the error. Perhaps the
majority of applications of repetitive control are made specifically to eliminate the influence of external
periodic disturbances.
(6) How does model error influence the convergence of ILC with a Kalman filter in repetitions? Model
error means that the L of the learning control law was designed based on a model that differs from the real
world dynamics in P. ILC pays attention to this kind of robustness, and methods are available to increase
the region of stability with respect to model errors. The dynamics of the Kalman filter are
!
I"Kss
, and one
expects it to be difficult for this to be unstable. The update dynamics in the repetition domain is simply the
identity matrix, and the only place that the real system model appears in the design is in the correlations
specified in the noise covariance. Hence, it is likely that the stability robustness to model errors is the same
with or without the Kalman filter. Again, this is in vivid contrast to the results for use of Kalman filtering in
repetitive control where the final error will have deterministic error if the Kalman filter is not perfect.
The Covariance of the True Error
It is of interest to be able to compute the steady state covariance of the true tracking error
!
lim
j"#
E[e je j
T]
This will be the limit of the lower right partition of the matrix
!
Fj+1=E[zj+1zj+1
T]
, and from (22)
!
Fj+1=ArFjAr
T+BrE[rj+1rj+1
T]Br
T
where
!
E[rj+1rj+1
T]=Evj+1
"
j+1
#
$
%
&
'
(
) vj+1
T
"
j+1
#
T
[ ]
*
+
,
-
,
.
/
,
0
, =RI 0
0Q
$
%
&
'
(
)
The steady state solution if obtained by looking for a solution to the steady state Liapunov equation
!
Fss =ArFssAr
T+Br
RI 0
0Q
"
#
$
%
&
'
Br
T
Much research has been directed toward creating effective methods for the numerical solutions of Liapunov
equations. However, they can have difficulty when there are many eigenvalues near the stability boundary.
And this is the case for the factor
!
I"PL
, where the learning gets very slow at high frequencies, and the
number of eigenvalues can be very large. Methods might be generated to get results for noise limited to a
frequency range considered appropriate for the physical problem of interest, in order to avoid numerical
computation difficulties.
Learning Every Other Time Step
In many applications of ILC there is difficulty if one asks for zero error at every time step [16],
and although the error converges mathematically to zero at each time step, the error between time steps
grows. A solution to this difficulty is to apply learning control to converge to zero error every other time
step, but still use control updates for every time step. Suppose that p is an even number, and that we ask to
converge to zero error at every even numbered time step. Then the learning control law
!
"
j+1u=Lˆ
e j
should
require that all odd numbered columns of L be set to zero. In order to group the error components into those
for even time steps and those for odd, write
!
ej=IEV IOD
[ ]
eEV ,j
eOD,j
"
#
$
%
&
' =MeEV ,j
eOD,j
"
#
$
%
&
'
where
!
IEV
is the p by p identity matrix with the odd numbered columns removed, and
!
IOD
has the even
numbered columns removed, and the subscripts EV and OD indicate that only even numbered entries or
odd numbered entries are retained in the corresponding column matrices. Note that
!
M"1=MT
. Convert the
variables used in equation (22) by the following transformation
!
MT0
0MT
"
#
$
%
&
'
˜
e j
e j
"
#
$
%
&
' =
˜
e
EO,j
e EV ,j
e
OD,j
"
#
$
$
$
%
&
'
'
'
The first partition on the right is p dimensional column and has the even entries first and then the odd, and
the remaining two partitions are p/2 dimensional. Then the converted matrices will have entries such as
!
MT(I"PL)M
and
!
(MTP)(LM )
. Note that the product
!
LM =LEV 0
[ ]
collects the even numbered
columns of L into the first column partition of the product. Also,
!
MTP
reorders the rows of P so that the
even rows
!
P
EV
come first, and then the odd rows
!
P
OD
.
When (22) is converted to these new groupings of the variables, it is again lower block triangular.
We are interested in the evolution and the final statistics of the middle partition
!
e EV,j
. The final partition is
not needed when solving for this variable if interest and therefore can be deleted from the equation. The
result, analogous to (22) is
!
˜
e
EO,j+1
e EV ,j+1
"
#
$
%
&
' =I(MTKssM0
P
EV LEV 0
[ ]
I(P
EV LEV
"
#
$
$
%
&
'
'
˜
e
EO,j
e EV ,j
"
#
$
%
&
'
+MTKss ((I(MTKssM)
0(I0
[ ]
"
#
$
$
%
&
'
'
vj+1
)
j+1
*
EV
)
j+1
*
OD
"
#
$
$
$
%
&
'
'
'
If all eigenvalues of the first coefficient matrix are less than unity in magnitude then the learning law for
even numbered time steps using a Kalman filter in repetitions is asymptotically stable. Since the forcing
function is zero mean the expected value of the error as the iterations tend to infinity will be zero for these
time steps. And again, if there is model error or a repeating unmodeled deterministic disturbance, the
expected value of the final error will still be zero, provided the model error is not sufficiently large to cause
instability. As before, we can compute the resulting final covariance of the error due to noise, using totally
analogous equations.
For comparison purposes, one might want to know the corresponding formulas when no Kalman
filter is used. Start from equation (18), and use the learning law without a filter
!
"
j+1u=Le j=L(e j#vj)
.
Premultiply the result by
!
MT
and pick out the even row portion of the result
!
e EV,j+1=[I"P
EV LEV ]e EV ,j+P
EV Lv j"
#
j+1
$
EV
LEARNING CONTROL WITH A FILTER OR SMOOTHER IN THE TIME DOMAIN
Instead of filtering in the repetition domain, now consider filtering in the time domain.
This avoids the high dimension involved with the state vector in the repetition domain, and avoids
the complexity of getting the initial start up conditions for the filter to reflect our knowledge
about the state in the initial iterations. One can consider three different approaches: (1) use a
smoother in the time domain on the p-time step history for each repetition in order to compute the
error history for the ILC law, (2) use a true filter instead, (3) or use a one step ahead predictor
instead. Of course, the latter two do not give the best possible filtering for the data available, but
since one might be running a Kalman filter in time anyway for use with the feedback controller, it
could be natural to simply consider making use of the result in the ILC law as well. This section
will choose to examine (3). It contains the essential ingredients of the other two, but can keep the
presentation simple. The equations then take the form
!
xj(k+1) =A1xj(k)+B1(uj(k)+wj(k))
yj(k)=C1x1(k)+d(k)+vj(k)
ˆ
x j(k+1) =A2ˆ
x j(k)+B2u(k)+K2[yj(k)"C2ˆ
x j(k)]
Note that for simplicity of notation, the
!
ˆ
x (k)
is used to represent the one step ahead state estimate,
the
!
K2
is the one step ahead Kalman gain associated with the model and that for simplicity we
consider the steady state gain only, and that the true world is represented by system matrices
!
A
1,B
1,C1
, while the Kalman filter (and the ILC law) are designed based on the model matrices
!
A2,B2,C2
. Define the error in the state estimate produced by the filter as
!
˜
x j(k)=xj(k)"ˆ
x j(k)
.
Taking this difference of the first minus the third equation above, and substituting
!
ˆ
x j(k)=xj(k)"˜
x j(k)
to eliminate this variable in favor of the error produces
!
xj(k+1) =A1xj(k)+B1(uj(k)+wj(k))
˜
x j(k+1) =[A2"K2C2]˜
x j(k)+[(A1"A2)"K2(C1"C2)]x(k)+[B1"B2]u(k)
"K2C1d(k)+[B1wj(k)"K2C1vj(k)]
Note that the second equation has only zero mean random noise inputs if the model is correct and
there is no deterministic disturbance term. And the expected value of the estimation error then
becomes zero as the iterations progress. Note that the filter dynamics in the first square bracket
are determined only by the model and hence should be asymptotically stable. When there is such
a deterministic disturbance term but no model error in the system matrices, the disturbance
creates a deterministic forcing function to the second equation, and therefore should produce a
deterministic error in the state estimate. This translates into a deterministic error in the estimated
error that is used in the ILC law. Since the law is aiming to make this error go to zero, having
such a deterministic error should produce a deterministic tracking error of the learning control
system once all transients are gone in the learning process. Hence, we conclude that
implementing the Kalman filter in the time domain is done at the expense of the ability to
eliminate unmodeled repeating disturbances to the system.
The same conclusion applies when there is model used in the Kalman filter is inaccurate.
The first of the above pair of equations can be solved independently of the second, and then the
solution becomes a forcing function to the second equation. Suppose that the command and the
state in the first equation happened to be precisely those needed to produce the desired output
history. Then the time histories of these two functions are forcing functions to the estimation error
equation, producing deterministic error in the state estimate, and hence deterministic error in the
error history used to make the learning control updates. Hence, the learning control system will
move away from the correct solution. The conclusion here is that implementing the filtering in
the time domain suffers from the same difficulties as use of Kalman filter in repetitive control as
detailed in [8]. And therefore, we make the same conclusion. The filtering can decrease the error
due to random noise, but will produce deterministic error related to anything that is inaccurate in
the system matrices of the model, or related to any unmodeled repeating external disturbance.
Therefore, one should not make use of a Kalman filter implemented in the time domain unless
one knows that the decrease in the random errors dominates the errors related to model
inaccuracy. And when one does make use of a Kalman filter in the time domain, one should
recognize that one is giving up the important ability of ILC to achieve zero tracking error (in a
deterministic world, or zero expected value of the error in the stochastic case) even when one
does not have a perfect model.
One could use these equations to better understand the influence of the external
deterministic disturbance and of system matrix inaccuracies, by going to the z-transform domain.
To do so, the learning law matrix needs to have Toeplitz form, and be limited in the number of
non-negligible entries so that it can be written as a z-transfer function learning law. Then one can
obtain transfer functions from desired trajectory to error, from deterministic disturbance to error,
and from plant noise and measurement noise to error. Converting to the frequency transfer
functions for discrete time, allows one to study the steady state error as a function of frequency
for the command and disturbance inputs, and to compute the resulting covariance of the output
tracking error due to noise. The results are limited to describing the parts of the trajectory after
transients are negligible, and could be compared to the corresponding results computed in [8] for
the repetitive control problem. The computations are somewhat detailed, so we simply examine
two special cases, first the case of a perfect model but with a repeating disturbance. Use capital
letters for the transforms of variables, and delete the noise inputs since we are interested in the
deterministic part of the error, and set the model and the real world system matrices to be equal.
Then the estimated error transformed, the true error transformed, and the control law are given by
!
ˆ
E j=Y*"Cˆ
X j=Y*"C(Xj"˜
X j)=Y*"C(G1
Uj"G2K2D)
!
E j=Y*"(CX j+D)=Y*"CG1
Uj"D
!
Uj+1=Uj+L(z)ˆ
E j
where
!
G1=(zI "A)"1B
and
!
G2=[zI "(A"K2C)]"1
, and
!
Xj=G1
Uj
and
!
˜
X j=G2D
. Assuming an
asymptotically stable learning process, as
!
j" #
, the variables become independent of iteration
number j , and the final true error converges to
!
E (z)=[(CG1(z))"1(CG 2(z)K2)"1]D(z)
The second case is that of no deterministic disturbance, but the model matrix
!
A2
used in the
Kalman filter is not exactly the same as the
!
A
1
of the true world, but the B and C matrices
correspond. Following the same procedure, the transfer function from desired trajectory to the
steady state deterministic error in following that trajectory is given by
!
E ={1 "CG1[CG1"CG3(A
1"A2)G1]"1}Y*
Converting these transfer functions to frequency transfer functions allows one to compute the
frequency components of the error for each frequency component in the disturbance or command,
for the steady state response part of the trajectory in time, and for steady state in repetitions, after
the learning process has converged. Note that the error produced after convergence, by these two
types of model error in the Kalman filter (and the learning law), is independent of the learning
law (provided it is still convergent).
NUMERICAL EXAMPLES
Examples of using a Kalman filter in an ILC problem are presented using a third order
plant model
!
G(s)=[a/(s+a)][
"
o
2/(s2+2
#"
os+
"
o
2)]
representing the closed loop dynamics of a
robot link feedback control system. We consider that it is fed by a zero order hold and converted
to discrete time with a sample rate of 200 Hz, to form the discrete time z-transfer function,
!
G(z)
.
The parameter of the first order factor is
!
a=8.8
which produces a bandwidth of 1.4 Hz, the
second order term parameters are
!
"
=0.5
and
!
"
o=37
correspond to an undamped natural
frequency of 5.9 Hz. This transfer function is a rather good model of the input-output relationship
for the control systems for each joint of a commercial robot. A 1 Hz or 10 Hz sine wave of one
second duration is chosen as the desired trajectory except when zero is specified and the one
Hertz signal is used as a disturbance instead. Plant and measurement noises, and an initial state
uncertainty are given by white noise with zero mean and 0.1 covariance. In order to assist in
performance comparisons, the same random sample histories are used in all examples. For
simplicity, two learning control laws, the contraction mapping law and the partial isometry laws,
are used in the simulations, both ask for zero error at every time step. Figure 1 shows the root
mean square of the measured error and the true error versus repetitions using the contraction
mapping learning control law. It is seen that the true root mean square (RMS) error has converged
within a few iterations and then fluctuates roughly around 0.07. This demonstrates that the
learning control law cannot cancel the influence of the nonrepeating stochastic noise disturbance
to the plant, and the measurement noise is amplified by the learning process. Figure 2 introduces
a Kalman filter running in repetitions, using a repetition varying Kalman gain. Both for Fig. 2 and
for Fig. 4, the Kalman filter is started using little information, the a priori covariance is set to the
identity matrix, the initial state in the repetition domain is set to zero, and the initial value of the
control difference is set to zero. The RMS of the true error is in fact slightly different in these two
plots although this is difficult to discern.
In routine control applications of Kalman filters in feedback control, the settling time of
the system is limited mostly by actuator limitations, while the decay rate of the Kalman filter is
limited by the noise level in the system. With a sufficiently high noise level, or a sufficiently poor
starting condition, it is possible for the system to settle faster than the Kalman filter. It is
interesting to see that in this ILC problem, the true error in Fig. 2 does decays faster than the
filtered error. Of course, the Kalman filter startup that used little information accentuates the
difficulty of convergence for the filter error. Note that the ILC problem is different than typical
feedback control in that the desired trajectory is considered to be feasible, and therefore, given the
right input function, the ILC could converge to zero deterministic error in one repetition, i.e. the
convergence rate is not related to actuator saturation limits in the ILC problem. Figures 3 and 4
present the analogous results when the partial isometry law is used. In each case the overall ILC
gain is set to unity. The same properties are observed with the partial isometry law.
Figures 5 and 6 give corresponding plots to 3 and 4, when the desired trajectory is
changed to a 10 Hz sine wave. The learning as a function of repetitions in the partial isometry law
decays as the magnitude of the frequency response of the system. This time the Kalman filter
error decays slightly faster than the true error in the RMS plots for each repetitions, suggesting a
slight benefit to having incorporated a Kalman filter into the ILC process. And the true error is
slightly better with a Kalman filter than without, although you have to have both plots on the
same figure to notice the difference. Nevertheless, an interesting property of the numerical
solutions presented here is that the “steady state error”, at least through the first few hundred
iterations, does not seem to be significantly improved by using a Kalman filter to filter out noise.
The error at repetition 100 is improved by about 0.005. Extending the plots to 500 repetitions
does not significantly change the error levels observed.
Now consider when a learning control system with a time varying Kalman filter running
will get to steady state. Figure 7 plots the 200 eigenvalues of the square steady state Kalman gain
and compares them to the eigenvalues of the time varying Kalman gain at iterations 100, 300, and
500. It is seen that it takes many repetitions for the Kalman gain when running the filter in
repetitions, to converge to its steady state value. Figure 8 shows the output from the second run
using either a repetition varying Kalman gain or the steady state Kalman gain, and as one would
expect the error is smaller with the time varying gain. On the other hand, Fig. 9 shows what
happens as the iterations progress when one uses the steady state gain throughout, and we see that
using the steady state gain gets the response to steady state much faster than the varying gain.
Next we examine the situation when the learning control law and the Kalman filter are
designed using an inaccurate model. Figure 10 uses a model in which all three parameters in the
!
G(s)
model are 20% too high. All plots are on top of each other. Note that in order to be able to
make comparisons easily, the same random noise histories are used in the runs. A plot when the
parameters were 20% too low produced essentially the same results. This demonstrates the
conclusion made earlier that the use of a Kalman filter applied in repetitions has the advantage
that inaccuracy of the model used in the filter does not produce a deterministic disturbance. This
is to be compared to the situation observed in using Kalman filtering in the time domain in each
repetition.
Figure 11 studies the use of a Kalman filter, as a true filter, not a one step ahead
predictor, when the filtering is applied in the time domain. The results are compared to the true
RMS errors without the Kalman filter, and we see that the Kalman filter has improved the final
error level. Figure 12 is the analogous result when the fixed interval smoother is used in the time
domain for each iteration, to develop the error history used by the ILC law. Of course,
analytically the smoother must give better results, but not much difference is observed. The filter
error is also plotted for comparison. Both results give somewhat better final error levels due to
noise than when filtering in the repetition domain.
However, Fig. 13 shows what happens when the 1 Hz command is changed to a 1 Hz
disturbance. The error level with a Kalman filter running in the time domain is very substantially
increased, and the situation is routinely handled when there is no Kalman filter present. Figure 14
replaces the Kalman true filter by a fixed interval smoother. This improves the situation
somewhat, but the disturbance still very substantially increases the error. The situation here is the
same as was observed in repetitive control.
Figures 15 and 16 study the situation where the model is wrong, each parameter either
individually increased by 20% or decreased by 20%. The sensitivity to such errors is not as bad as
to deterministic disturbances, but model error is important to final error level when the Kalman
filter or smoother is implemented in the time domain. Again, using the Kalman filter in the
repetition domain fixes both of these problems.
CONCLUSIONS
(1) Two approaches to implementing noise filtering into ILC have been investigated:
(i) Use filtering in the time domain for each run. Use of a one step ahead Kalman filter, or a true
filter would improve the error level due to noise, but an optimal filtering requires the use of a
fixed interval smoother.
(ii) One can do the filtering in the repetition domain operating on the supervectors of the data for
the whole history of a repetition, and use the filtered error history in the ILC law. This requires a
true filter with a state vector whose dimension is determined by the number of time steps in the
desired trajectory.
(2) Provided the models used are correct, analytically one expects that either approach will
produce an optimal final covariance of the tacking error in the specified noise environment, and
neither alternative will do better. Other options to improving steady state performance in the
presence of noise are:
(a) One can make multiple repetitions without updating the input, and then average the measured
error levels of the multiple runs for each time step. The standard deviation decreases by the
multiplicative factor
!
1 / N
where N is the number of runs averages. This is a model free method
of reducing the amount of noise amplification produced by having noise go through the ILC law
and be applied to the system.
(b) In ILC one can adjust the gain
!
"
that multiplies the ILC command update. If its value is unity,
then the error and its noise component for the previous repetition has a substantial influence on
the current control action. If the gain is smaller, the control update is influenced more by the
accumulation of signals over many previous repetitions. As the gain approaches zero, but has not
yet reached zero, the steady state error will approach the error level due to noise present in the
plant, without any amplification by the ILC control action. As seen in [8], the error level will still
never be as good as with a filter, provided the filter has the right dynamic model and the right
noise model.
(3) Two very important issues are the influence of having an inaccurate model used in designing
the filter or smoother, and the possibility of unmodeled deterministic disturbances that are present
every repetition. The main objective in many repetitive control systems is the elimination of
errors from such disturbances. Depending on the physical problem, it can also be important in
ILC.
(4) When using filtering as in 1(i), both types of model errors in item (3) produce deterministic
non zero errors once the ILC has converged. Hence, the random effects from noise have been
decreased, but at the expense of introducing deterministic errors. Before making use of such a
design, one should somehow assess whether you are winning by doing so or not, i.e. whether the
decrease in random fluctuations is dominant over the introduced deterministic final error level.
Unless the noise level is high, it can easily happen that it is better not to use a Kalman filter or
smoother in the ILC. Note that when the feedback control law is already using a Kalman filter to
compute the real time feedback control updates, so the filtered error is already available, one
might still have better final error levels by ignoring the filtered error and using the raw measured
error in the ILC law. One of the very desirable properties of ILC is that by iterating with the real
world, it can converge to zero tracking error in a deterministic environment, without having a
perfect model of the system. This very desirable property is sacrificed in order to decrease the
influence of noise when approach 1(i) is used.
(5) When the filtering is applied as in 1(ii), it is seen here that the difficulties of item (4) are
eliminated. The system can converge to zero expected value of the error even in the presence of
an unmodeled repeating external disturbance input. And it can converge to zero tracking error
even when the model of the system dynamics in the time domain is wrong. A separation theorem
applies, so that zero expected value of the error is reached provided the deterministic ILC law is
asymptotically stable with the inaccurate model, and the Kalman filter dynamics are
asymptotically stable. There are various methods to increase the stability robustness of ILC laws
[17]. It is seen that the system model influences the structure of the noise model but does not
introduce a deterministic driving term in the filter equations. Hence, one can still converge to zero
expected value of the error in spite of an imperfect model – the property that one wants for an
ILC design.
(6) In theory, the Kalman filter in 1(ii) can make the ILC converge to the final error lever faster
than it would without filtering, by supplying better estimates of the error for each iteration. Often
when using a Kalman filter one is not too concerned about having an accurate expected value of
the initial condition and an accurate covariance of this estimate. Over time these specified values
lose their importance. In using 1(ii) there is considerable work needed to create this specification,
and without it, the ILC with the Kalman filter may not be performing as well as without the filter
during the learning transients. The initial state must be obtained by running a smoother through
the data of the first run. And the uncertainty requires the covariance of the smoother estimate.
This is easily given for any one time step, but what is demanded by the Kalman filter needs all the
cross correlations of errors for all pairs of time steps in the first run. When there are repeating
unknown external disturbances, making the optimal startup estimate becomes more difficult.
(7) Using 1(ii), stability is determined by whether the deterministic ILC is asymptotically stable,
and the Kalman true filter is asymptotically stable, without regard to any coupling. In ILC good
learning transients can be important. The corresponding condition for RC is normally given in the
frequency domain, and asks (approximately) for monotonic decay of each frequency component
of the error. In numerical examples in [8] this condition became more robust to model error when
a Kalman filter was introduced. The corresponding condition in the time domain for ILC is to
keep the maximum singular value of the update matrix less than unity. No study of this was
made, but the cross coupling between the ILC and the filter in the lower block triangular system
matrix
!
Ar
does not influence the eigenvalues, and hence does not influence stability, but it can
influence the singular values.
(8) As noted in [2], the use of a Kalman filter in repetitions has the property that the resulting ILC
law becomes second order in the command input, while remaining first order in the error history.
This is one example of when at least one very special kind of higher order ILC has some clear
advantage over first order ILC.
(9) In approach 1(i), a new aspect of using Kalman filtering in ILC compared to RC is that the
specification of the initial state in time (as opposed to repetitions) and the initial covariance given
for this estimate, can be important. ILC asks for zero error every time step from time step one to
the final time step of the finite time trajectory, whereas RC asks for zero error as time tends to
infinity. Hence, care should be taken to produce these specifications, and then one should use a
time step varying Kalman gain, in order to obtain the best possible covariances for each time step
of the trajectory. The same issue appears buried in the start up and the
!
Q
as discussed in item (6)
above, for 1(ii).
REFERENCES
1. M. Q. Phan, R. W. Longman, and K. L. Moore, “Unified Formulation of Linear Iterative
Learning Control,” Advances in the Astronautical Sciences, Vol. 105, 2000, pp. 93-111.
2. M. Q. Phan and R. W. Longman, “Higher-Order Iterative Learning Control by Pole
Placement and Noise Filtering,” Proceedings of the 2002 IFAC World Congress, Barcelona
Spain, July 2002.
3. H.-S. Ahn, K. L. Moore, and Y.-Q. Chen, “Kalman Filter-Augmented Iterative Learning
Control on the Iteration Domain,” Proceedings of the 2006 American Control Conference,
Minneapolis, MN June 2006, pp. 250-255.
4. S. S Saab, “On a Discrete-Time Stochastic Learning Control Algorithm,” IEEE Transactions
on Automatic Control, Vol. 46. No. 8. 2001, pp. 1333-1336.
5. K. L. Moore, “An Iterative Learning Control Algorithm for Systems with Measurement
Noise,” Proceedings of the 38th IEEE Conference on Decision and Control, Phoenix, AZ,
December 1999, pp. 270-275.
6. H. F. Chen and H. T. Fang, “Output Tracking for Nonlinear Stochastic Systems by Iterative
Learning control,” IEEE Transactions on Automatic Control, Vol. 49, No. 4, 2004, pp. 583-
588.
7. M. Norrlöf, “An Adaptive Iterative Learning Control Algorithm with Experiments on an
Industrial Robot,” IEEE Transactions on Robotics and Automation, Vol. 18, No. 2, 2002, pp.
245-251.
8. B. Panomruttanaraug and R. W. Longman, “The Advantages and Disadvantages of Kalman
Filtering in Repetitive Control,” Proceedings of the 2007 AAS/AIAA Astrodynamics Specialist
Conference, Mackinac Island, MI, August 2007, to appear.
9. M. Phan and R. W. Longman, “A Mathematical Theory of Learning Control for Linear
Discrete Multivariable Systems,” Proceedings of the AIAA/AAS Astrodynamics Conference,
Minneapolis, Minnesota, August 1988, pp. 740-746.
10. H. S. Jang and R. W. Longman, “A New Learning Control Law with Monotonic Decay of the
Tracking Error Norm,” Proceedings of the Thirty-Second Annual Allerton Conference on
Communication, Control, and Computing, Monticello, Illinois, Sept. 1994, pp. 314-323.
11. H. S. Jang and R. W. Longman, “Design of Digital Learning Controllers using a Partial
Isometry,” Advances in the Astronautical Sciences, Vol. 93, 1996, pp. 137-152.
12. J. A. Frueh and M. Q. Phan, “Linear Quadratic Optimal Learning Control (LQL),”
Proceedings of the 37th IEEE Conference on Decision and Control, Tampa, FL, Dec. 1998,
ppp. 678-683.
13. D. H. Owens and N. Amann, Norm-Optimal Iterative Learning Control, Internal Report
Series of the Centre for Systems and Control Engineering, University of Exeter, 1994.
14. Y. Li and R. W. Longman, “Addressing Problems of Instability in Intersample Error in
Iterative Learning Control,” Proceedings of the AAS/AIAA Astrodynamics Specialist
Conference, Mackinac Island, MI, August 2007, to appear.
15. M. S. Grewal and A. P. Andrews, Kalman Filtering : Theory and Practice Using MATLAB,
Wiley-Interscience, 2001.
16. R. W. Longman, T. Kwon, and P. A. LeVoci, “Making the Learning Control Problem Well
Posed – Stabilizing Intersample Error,” Advances in the Astronautical Sciences, Vol. 123,
2006, pp. 1143-1162.
17. K. Takanishi, M. Q. Phan, and R. W. Longman, "Multiple-Model Probabilistic Design of
Robust Iterative Learning Controllers," Transactions of the North American Manufacturing
Research Institution, Society of Manufacturing Engineers, Vol. 33, May 2005, pp. 533-540.
Figure 1. RMS error vs. iteration number
using contraction mapping law without
Kalman filter.
Figure 2. RMS error vs. iteration number
using contraction mapping law with
repetition varying Kalman gain.
Figure 3. RMS error vs. iteration number
using partial isometry law without Kalman
filter.
Figure 4. RMS error vs. iteration number
using partial isometry law with repetition
varying Kalman gain.
Figure 5. Same as in Fig. 3, feeding in a 10
Hz sinusoidal command.
Figure 6. Same as in Fig. 4, feeding in a 10
Hz sinusoidal command.
Figure 7. The 200 eigenvalues of Kalman
gains for some iterations compared to a
steady state one.
Figure 8. Comparison of responses from
repetition varying and steady state Kalman
gains at the second run.
Figure 9. RMS error vs. iteration number
using partial isometry law with steady state
Kalman in repetitions.
Figure 10. Comparison of true RMS errors
when having a wrong model, each parameter
is increased by 20%.
Figure 11. RMS error vs. iteration number
using partial isometry law with time varying
Kalman filter in time domain.
Figure 12. RMS error vs. iteration number
using partial isometry law with time varying
Kalman filter in time steps and smoother.
Figure 13. Same as in Fig. 11, feeding in a 1
Hz sinusoidal deterministic disturbance
instead of command.
Figure 14. Same as in Fig. 13, including a
smoother.
Figure 15. Comparison of true RMS errors
when having a wrong model, each parameter
is increased by 20%.
Figure 16. Comparison of true RMS errors
when having a wrong model, each parameter
is decreased by 20%.