• No results found

A model based Iterative Learning Control method applied to an industrial robot

N/A
N/A
Protected

Academic year: 2021

Share "A model based Iterative Learning Control method applied to an industrial robot"

Copied!
9
0
0

Loading.... (view fulltext now)

Full text

(1)

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

(2)
(3)

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.

(4)

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 filter on

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 that is 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

(5)

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. Calculate by   ½   .

By using this expression for we 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

(6)

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

(7)

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

(8)

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.

(9)

[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.

References

Related documents

För att undersöka huruvida förälderns kön, barnets kön eller barnets ålder har betydelse för MM index (antalet mentala beskrivningar i förhållande till det totala

Författarna menar att även om resultaten i studien, efter endast 12 månader, är goda behövs det en mer omfattande studie med fler patienter för att undersöka TRT inverkan

Studien bekräftar tidigare forskning som visar att det tar längre tid för äldre medarbetare att anpassa sig till en teknisk förändring, på grund av försämrade kognitiva

Miljö, energi och ekonomi hänger ihop och beslut för att göra miljöförbättringar lokalt inom ett område eller en marknad kan leda till försämringar inom andra, som till

Mahmud & Greys (2011) föreslagna modell om relationsmarknadsföring inom den politiska kontexten är en modell som skulle kunna ge vägledning om hur de svenska partierna kan

“I feel Somali as an important language, that the two parents should speak Somali at home and try very hard that their children learn Somali hundred percent, and then it will

"Vdren I 797 hade England inte längre ndgra allierade pd kontinenten. Tilf och med Portugal hade slutit fred med Frankrike. England stod vid nederlagets rand. Irland sjöd av

Figure 4.26: A comparison of the diagonalized Newton method with approxi- mate line search and the scaled partanized Frank-Wolfe method with exact line search for solving instances