A model based Iterative Learning Control method
applied to an industrial robot
Mikael Norrl¨of and Svante Gunnarsson
Department of Electrical Engineering
Link¨oping University, SE-581 83 Link¨oping, Sweden
WWW: http://www.control.isy.liu.se
Email: mino@isy.liu.se, svante@isy.liu.se
September, 1999
REGLERTEKNIK
AUTOMATIC CONTROL
LINKÖPING
Report no.: LiTH-ISY-R-2197
To be presented at CCSSE’99, October 1999.
Technical reports from the Automatic Control group in Link¨oping are available by anonymous ftp at the address
A model based Iterative Learning Control method
applied to an industrial robot
M. Norrl¨of and S. Gunnarsson
Department of Electrical Engineering, Link¨oping University,
SE-581 83 Link¨oping, Sweden
Email: mino@isy.liu.se, svante@isy.liu.se
Abstract
A synthesis algorithm for the filters in a first order ILC is presented and applied on an industrial robot. The proposed ILC synthesis method is evaluated using two experiments on the robot. The first is a one-axis experiment where the system can be seen as a single servo. A modeling exper-iment is done to give input to the synthesis algorithm and then ILC is applied to the single axis showing a dramatic improvement in trajectory following. In the second exper-iment ILC is applied to a more complex multi axes motion where the robot draws a circle in a plane. The evaluation of the result is done using a pen mounted on the robot and it is evident that also on the arm-side an improved motion can be achieved. In both experiments the error converges to a stable level in about 5 iterations. Since a model is desired for the synthesis, an extra iteration has to be done for the modeling experiment. In this particular case a good path following can therefore be achieved after 6 iterations.
1
Introduction
Iterative Learning Control (ILC) as a research area has grown tremendously during the last decade, and covers now a wide area of different approaches. The methods presented here are not completely new but from an engineering point of view the message will be clear; “Try simple things first”. This seems to be an often forgotten fact among researchers and engineers.
Now, to explain ILC consider the system depicted in Fig-ure 1. The system inside the outer frame is considered to be fixed, which means that the structure is not possible to change. Assume that the input signal and the output
sig-£
This work was supported by ABB Robotics within ISIS at Link ¨oping University and by CENIIT at Link ¨oping University.
nal of the system can be observed. These signals are de-noted in the figure by dashed lines crossing the border, go-ing out of the frame. Note that the signals are only avail-able as complete sequences defined over an interval of time
. This means that they are not available until after
the time . The interaction with the system is done
us-ing a sequence of samples,
¼
, where the sequence is
assumed to be completely defined at time instant. This
means that, here, ILC will be considered an off-line method (cf. [1]) and it is therefore not possible to use additional conventional feedback control to increase the performance
of the system. Note, however, that the system in itself
of course has a feedback. ILC is assumed to be a control strategy that is applied in addition to feedback control, not
instead of conventional feedback control. The most
impor-+ ¼ ¼ ¼
Figure 1. A simplified ILC system
tant assumption behind ILC is now that the system, here
denoted, performs the same task repeatedly. If there is
a systematic or repeatable error in the trajectory following, i.e. the difference between the reference and the output of the system, it is possible to improve the control of the sys-tem. This is done by using the error from the previous trials and some kind of knowledge about the system.
Remember that the setup depicted in Figure 1 is very much simplified compared to what can be done using ILC. The first straightforward extension is to assume that the
refer-ence inputand the learning control input do not
have the same transfer function to the output. A more gen-eral case than in Figure 1 can therefore be expressed as
(1)
where the system is described using a discrete time linear
model. Theis the delay operator,
½
, and
the iteration index is here referred to using the parameter
. In (1) also a disturbance is included. When the
disturbance is set to zero the achieved plant will be called
the nominal plant.
ILC now gives a systematic way in which to update the
con-trol signal
. It is obvious that the choice of updating of
will completely decide the behavior of the system as the
iterations continue. Since 1984 [2] when ILC was presented for the big audience for the first time a lot of different ideas concerning the updating of the control signal have been con-sidered. Arimoto [2, 3] suggests a continuous time updating form but here an updating form in the discrete time domain will be considered, ·½ (2)
The updating equation that where considered in the first
pa-pers in 1984 had and used only the filteron
the error signal from the previous trial. The updating equa-tion (2) has been evolving through time and contribuequa-tions have been done by, e.g., Togai, Yamano [4], and Mita, Kato
[5]. The use of the-filter is suggested in, e.g., [6] and [7].
The structure of (2) can be better understood after doing the convergence analysis in the next section. Other types of updating equations and structures of the updating equation for ILC have also been suggested. For example the use of more than the previous iterations error signal is considered in [8, 9] (higher order ILC) but this will not be covered here.
2
Analysis
Important when starting to iterate and update the control signal using ILC is that the system is stable along the iter-ations. If the error starts growing as a function of iteration, nothing is gained from using the method. It is therefore of great importance to be able to give a criteria for convergence of the ILC.
Consider the nominal part of (1) with the ILC updating equation given by (2). By combining (1), (2), and the
defi-nition
, it is possible to write down,
·½ (3)
Now the following important theorem can be stated.
Theorem 1 (Criteria for convergence) Given a SISO LTI
system on the form (1) using an ILC given by (2), conver-gence will be achieved if
½ (4) where and
is the sampling time.
This theorem is proved in, e.g. [10, 9], and it follows from considering the homogenous part of (3) transformed to the frequency domain.
The ILC updating equation (2) gives two degrees of
free-dom, the choices of the filtersand. In order to do a
synthesis of the filters in the ILC updating equation it is necessary to understand what the different filters actually do for the performance and robustness of the ILC.
Just by considering the criteria (4) it is possible to see that the system dependent part is given by the left hand side of the inequality. The criteria can be interpreted in a Nyquist
diagram where
is plotted and the
dis-tance tois measured. This distance should be less than
the absolute value of
½ . Obviously, by changing the value of
the robustness of the ILC can be
ad-justed. But to what price? The following lemma gives an idea.
Lemma 1 (Zero error convergence) A system given by
(1) (without disturbances), with the ILC updating equation (2) reaches zero error convergence, i.e.
(5)
if and only if , the initial error
, and the
criteria for convergence is fulfilled.
This lemma is also given in [10, 9] with the proof. The fact
thatgives zero error convergence follows from
(6)
and assumptions on convergence and thatis not zero.
The answer to the question about what is paid for the
im-proved robustness using thefilter can now be answered;
The nominal convergence will no longer be to zero error! Obviously, convergence will not be to zero error even with
in real applications because of e.g. measurement
3
Synthesis
The synthesis problem is the problem of finding the ILC
given a system to control, cf. Section 2. The design
pro-cedure presented in this section has also been discussed in [12]. The idea is similar to the approach by de Roover [13] but de Roover uses a model matching approach based on
methods while here an algebraic approach is used. The
transfer function
is the transfer function from the
ILC control input,
, to the output of the system
, cf. Section 2.
Algorithm 1 (A Model-Based Design Procedure)
1. Choose a high pass filter
with cut-off frequency . Up to the model is assumed to be a
good model of the true system. 2. Calculateby ½ .
By using this expression forwe can shape the
con-vergence rate with the filter .
, which we recognize from the stability
cri-terion. The filter
, in this way, decides the
conver-gence rate that we want for different frequencies. 3. Choose the filter
to be a zero-phase low-pass
filter with cut-off frequency near the frequency
where the model of the system starts to be uncertain.
The algorithm is based on the interpretation found in Sec-tion 2 were it was shown that the convergence criterion
can be interpreted in a Nyquist diagram. The
require-ment for stability becomes that the Nyquist curve for
should be held within a circle with the
radiusand center in. This stability region can be
ex-tended using thefilter and according to the algorithm this
is done where the model of the system has uncertainties.
Using the filter
the gain of the
filter can be adjusted
to give, e.g. a slower but more robust convergence for some frequencies.
4
Experimental setup
To evaluate the ILC method an industrial robot from ABB Robotics Products is used. The robot is an ABB IRB1400 and it is depicted in Figure 2. The controller is based on the ABB S4C but with a modified software including an
inter-face between the robot controller and MATLABTMin order to
make it possible to induce the control signal from the ILC in the actual control system. Also methods to get the motor reference and the motor position have been implemented in
Figure 2. The ABB IRB1400 manipulator.
the system. Using it is possible to alter the actual
po-sition reference to the system creating a kind of fake input signal, cf. Figure 1. In practice the ILC updating equation is
implemented in a PC running MATLABTMand the calculated
control signal is transfered to the robot controller using
an Ethernet connection, more details on this can be found in [9].
The goal when controlling a manipulator, like the IRB1400, is obviously to have a good tracking performance on the arm side, i.e. of the tool. For the control, however, the only measurements that are available is on the motor-side, the motor angle. From the motor to the tool there is a gear box, here with a gear ratio of approximately 100:1 from motor to arm-side, and the arm. The implemented ILC algorithm works only with measurements on the motor-side, although in the second part the experiments there is an evaluation of the motion on the arm-side at the tool.
5
Experimental results
The first experiment is concerned with the position error on the motor side of the robot. This can be considered as a general servo problem and it will be shown that it is actually possible to model the single axis robot using a low order linear transfer operator model. In the second experiment, the motion on the arm side is considered.
5.1
Motor-side
First an identification experiment is performed in order to model the system from the motor position reference to the motor position. Here the identification experiment has been
done while exciting the robot using a reference signal. Therefore the identification experiment is divided into two
iterations where first
½
and then a signal
¾
is added. In Figure 3(a)
½
is shown together with
0 0.2 0.4 0.6 0.8 1 1.2 −0.8 −0.7 −0.6 −0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 Time [s] input output
(a)Input signal,Ù½¼Ø. and the output, ÝØ. Frequency [rad/s] Amplitude [db] 100 101 102 −70 −60 −50 −40 −30 −20 −10 0 10
(b)Amplitude plots of the models obtained. ARX 111 (solid). ARX 881 (dashed). Model based on physical knowledge of the system (dotted).
Figure 3. The data used to build the model of the closed loop system from reference posi-tion to motor posiposi-tion and the resulting mod-els shown in the frequency domain.
½
¼
. From this data it is possible to
build a discrete time model. Here the System Identification
Toolbox [14] has been used with the model structure chosen
as ARX, i.e.
(7)
where is assumed to be white noise. Two different
ARX models are shown in Figure 3(b). The first one is a
low order model having , , and ,
and the other model has , , and ,
whereandare the degree of the polynomialsand
respectively and the time delay. In the figure a
con-tinuous time model is also shown, this model is based on physical insight and should only be seen as a validation of the estimated bandwidth of the system.
For the synthesis according to the algorithm in Section 3 the ARX 111 model is used,
½ ½ (8) In Figure 3(b) it is obvious that the high-order ARX cap-ture more of the dynamics at high frequencies, the low or-der ARX is simply a low pass filter. The experiment will, however, show that the low order model gives an enough accurate description of the system in this case.
The experiment on the motor-side of the robot is performed by rotating axis one, i.e. rotating the robot around its base (cf. Figure 2). In Figure 4 the motion is shown and the
1 00 0.5 1 1.5 2 2.5 20 40 60 80 100 120 Time[s]
Motor position [rad]
Figure 4. Illustration of the motion in exper-iment 1, the single axis experexper-iment. Axis 1 motion (left) and reference trajectories for po-sition (right).
motor position reference trajectory is depicted. The pro-grammed motion is a rotation by 1 rad on the arm side and on the motor side this means about 120 rad. Now the al-gorithm in Section 3 is used with the assumption that the model achieved in the modeling process gives a correct
model of the system. Therefore in step 1,
is chosen
to be equal to zero for all frequencies. This, in turn, imply
that
½
. In order to get robustness a
½ ¾ filter is chosen as a second order Butterworth filter with cut-off
frequency 0.2 of the Nyquist frequency. The filter
½ ¾ is applied as a zero phase filter, filtering the learning signal using the filtfilt command in the Signal Processing
Toolbox for MATLABTM.
In Figure 5 the resulting maximum absolute value of the position error as a function of iteration is shown when using the model based ILC. The value has been normalized so
0 2 4 6 8 10 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Iteration || e k ||∞ (normalized)
Figure 5. The-norm value as a function of
iteration for the robot motion using the model based ILC method.
that the error when ILC is not applied is considered to be 1. Obviously the model is close to correct since the error has nearly vanished already after 1 iteration. It should be noted that the level that is reached after 4 iterations is actually the quantization level for the measured position signal. In
0 0.5 1 1.5 2 0 5 10 −1 −0.5 0 0.5 Time [s] Iteration
Position error (normalized)
Figure 6. Position error as a function of itera-tion for the model based ILC.
Figure 6 another view of the position error is shown. A 3D plot showing the normalized position error as a function of iteration. The big error in iteration 0 is the error that is
achieved when ILC is not used,
¼
. It is evident also
in Figure 6 that the error decreases dramatically already in the first iteration of ILC. In the next section ILC will be applied to three axes (the main axes) of the robot and the resulting gain in performance will be evaluated on the arm side using a pen mounted on the robot.
5.2
Arm-side
To see what is actually achieved on the arm side of the robot an experiment where the robot does a circle in a plane
paral-lel to the floor, the--plane as depicted in Figure 7, is
per-formed. The actual position of the TCP (Tool Center Point) of the robot in the center of the circle is x = 1300 mm, y = 100 mm, and z = 707 mm. All measures are expressed in the base coordinate system of the robot (cf. Figure 7). The diameter of the circle is 6 mm and the programmed speed 60 mm/s. 0 0.5 1 1.5 −1 −0.5 0 0.5 1 0 0.2 0.4 0.6 0.8 1 x [m] y [m] z [m]
Figure 7. The configuration of the robot when doing the circle in the base coordinate sys-tem for the robot.
Similar to the motor side experiment, first an identification experiment is done. The result from this step is three mod-els, one for each axis. The models are calculated using
Sys-tem Identification Toolbox and the models are again of ARX
type with,, and . The actual models
are given by,
½ ¾ ½ ½ (9) ¿ ½ ½ (10) Also in this experiment the models are assumed to be
cor-rect, i.e.
in the second step of the synthesis
algorithm in Section 3. The-filter is chosen in the same
way as in the experiment in the previous section, i.e.
½ ¾
is a second order Butterworth filter with cut-off frequency 0.2 of the Nyquist frequency.
In Figure 8 the resulting circles from 5 iterations of the pro-posed ILC are shown. The robot has actually done the same circle, following the same reference trajectory but with the ILC compensation signal developing over the iterations. The motion starts from the center of the circle goes into the circle path and then finally it comes back into the center of the circle where the motion stops. This strategy seems to
5 - reference
0 x
y
Figure 8. The circles done by the robot in ILC iterations 0 to 5.
give a better circle path for the robot compared to starting from a complete stop on the circle segment. Note that these measurements will be more thorough in future work using a laser measurement system for position measurements on the arm side of the robot.
0 1 2 3 4 5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Iteration || e k ||∞ (normalized) Axis 1 2 3
Figure 9. The-norm value as a function of
iteration for the circle motion.
The maximum normalized absolute value of the position er-ror on the motor side of the robot for the circle motion is shown in Figure 9. Compared to the result in Figure 5 the convergence speed seems not to be as fast, but it should be noted that the convergence speed is frequency depen-dent. For low frequencies the convergence is rapid while for higher frequencies the convergence speed is very slow
and dependent of the-filter. The reason why a new model
for axis 1 had to be found in the second experiment is two-fold, firstly the motion is much smaller and slower, there-fore it does not excite the robot in the same way as in the first experiment, secondly a higher resolution of the posi-tion measurement is used in the second experiment. The higher resolution is achieved after further reprogramming of the software in the S4C robot controller.
6
Conclusions
Some important aspects of ILC are discussed and the appli-cability of the proposed synthesis algorithm is shown in a modified commercial control system on an industrial robot. It is worth stressing the fact that for this particular robot the transfer function from reference position to measured po-sition can be modeled very accurately using a simple first order linear ARX model. This is possible since the feed-back controller and feedforward filters are very well im-plemented in the particular robot. This makes the system, although non-linear, possible to approximate with a linear system.
The presented methods are not completely new but they give a very important message; “try simple things first”. In this case the proposed analysis and synthesis algorithm, al-though quite basic, give the necessary tools for creating a fully working ILC that reduces the error also on the arm-side. It is however important to stress that the IRB1400 ma-nipulator is a quite stiff mechanical structure which makes it easier to control the arm compared to a more flexible ma-nipulator.
References
[1] Y. Chen, J.-X. Xu, and T. H. Lee. An iterative learning con-troller using current iteration tracking error information and initial state learning. In Proc. of the 35th IEEE Conf. on De-cision and Control, pages 3064–9, Kobe, Japan, Dec. 1996. [2] S. Arimoto, S. Kawamura, and F. Miyazaki. Bettering
op-eration of robots by learning. Journal of Robotic Systems, 1(2):123–140, 1984.
[3] S. Arimoto. Mathematical theory of learning with applica-tions to robot control. In K.S. Narendra, editor, Adaptive and Learning Systems: Theory and Applications, pages 379–388. Yale University, Yale University, New Haven, Connecticut, USA, Nov. 1985.
[4] M. Togai and O. Yamano. Analysis and design of an opti-mal learning control scheme for industrial robots: a discrete system approach. In Proc. of the 24th IEEE Conf. on De-cision and Control, pages 1399–1404, Ft. Lauderdale, FL., Dec. 1985.
[5] T. Mita and E. Kato. Iterative control and its application to motion control of robot arm - a direct approach to servo-problems -. In Proc. of 24th Conf. on Decision and Control, pages 1393–1398, Ft. Lauderdale, USA, December 1985. [6] S. Hara, Y. Yamamoto, T. Omata, and M. Nakano.
Repet-itive control system: A new type servo system for periodic exogenous signals. IEEE Transactions on Automatic Con-trol, 33(7):659–668, 1988.
[7] M. Tomizuka, T. C. Tsao, and K. K. Chew. Discrete-time do-main analysis and sythesis of repetetive controllers. Journal of Dynamic Systems, Measurement, and Control, 111:353– 358, 1989.
[8] Y. Chen, Z. Gong, and C. Wen. Analysis of a high order iterative learning control algorithm for uncertain nonlinear systems. Automatica, 34(3):345–353, March 1998. [9] Mikael Norrl¨of. On analysis and implementation of iterative
learning contol. Licentiate thesis LIU-TEK-LIC-1998:62 Link¨oping Studies in Science and Technology. Thesis No 727, Department of Electrical Engineering, Link¨opings uni-versitet, Oct 1998.
[10] K. L. Moore. Iterative Learning Control for Deterministic Systems. Advances in Industrial Control. Springer-Verlag, 1993.
[11] M. Norrl¨of and S. Gunnarsson. Some results on iterative learning control with disturbances. Technical Report LiTH-ISY-R-2020, Dept of EE. Link¨oping University, SE-581 83 Link¨oping, Sweden, March 1998.
[12] S. Gunnarsson and M. Norrl¨of. On the use of learning control for improved performance in robot control systems. In Pro-ceedings of the European Control Conference 1997, Brus-sels, Belgium, July 1997.
[13] D. de Roover. Synthesis of a robust iterative learning con-troller using an ½approach. In Proceedings of 35th
Con-ference on Decision and Control, pages 3044–3049, Kobe, Japan, 1996.
[14] L. Ljung. System Identification Toolbox - For Use with MATLABTM
. The MathWorks Inc., 1995.