ISIS project: Supervision and Control of Industrial Robots
Background
This project is carried out by the Division of Automatic
Control in cooperation with ABB Robotics.
Participants in the project from the Division of Automatic
Control are
Mikael Norrlöf,
Svante Gunnarsson, and Erik Wernholt.
Two of the main issues for the robot industry of today are 1) to continuously
improve the performance of the robots and 2) to adapt the control systems
to new robot configurations and new applications. The overall aim of
this project is therefore to study and develop methods for improving
the performance of industrial robots.
Project overview
The activities in the project
can be separated into the following areas:
 Iterative learning control.
 Robot modeling and identification.
 Joint level control.
 Robot diagnosis.
 Trajectory generation.
The activities within these areas will be described briefly.
Iterative learning control
This part has been around
since the project started within ISIS in 1996. The main results of
this work are the PhD thesis [T2], seven journal papers
[J1J3,J5J6,J8J9], a number of conference papers
[C1C9,C12C14,C16,C18,C20,C22] and a patent application [P1]. In
collaboration with ABB some of the results from the Iterative Learning
Control (ILC) research activity were included in a product for laser
cutting in the year 2000. The first commercial installation of this
product was at Tower Automotive in Milwaukee, USA, a supplier to the
automotive industry. The joint project, ``Laser cutting using
industrial robots'', was in 2001 nominated as one of three finalists
to the NyTeknik Golden mouse award (Guldmusen) in the ``best Swedish
IT project 2001'' category. This successful product was also
highlighted in the 2001 Annual Technology Report from the ABB Group
(page 16: "Precision Robots on the Cutting Edge").
Within the ILC research community the group (consisting of Svante
Gunnarsson and Mikael Norrlöf) within ISIS is well accepted for the
academic results. This is shown, for example, by a number of
invitations to invited sessions (IFAC World Congress 2002, IEEE
Control Applications 2004), a great number of journal publications and
that Mikael Norrlöf was one of five invited speakers at the Iterative Learning
Control International Summer School at Utah State University,
Logan, Utah, USA, June 813, 2003. The aim of the summer school was to
introduce new researchers in the field and also to stimulate
collaborative research projects among research groups around the
world.
The basic ideas of ILC can be introduced by considering the
control system depicted in Figure 1. The system T is assumed
to repeatedly follow
the same trajectory r(t) over a finite time
interval. It is assumed that the structure of the system inside the frame in
Figure 1 can not be changed. It is only possible to observe some of
the signals, depicted in the figure with dashed arrows crossing the
border of the frame. These signals are only available as complete
sequences, and
,at or after time . In the same way it
is only possible to interact with the system using sequences of data,
, where the sequence must be completely defined at
time 0. Because of the fact that the input sequence has to be defined
in advance it is not possible to use conventional feedback.
Figure 1: An ILC system.
If the system in Figure 1 is performing the same action, following the
same reference trajectory r(t) repetitively, and it is
assumed that the dynamics of the system does not change over time,
obviously, the same input will give the same output when the system
starts from the same initial condition. By using the reference and the
output it is possible to define an error, e(t) =
r(t)  y(t). The aim of ILC is now to
iteratively calculate a compensation signal u(t) that,
next time the same action is performed, results in a decreasing error
evaluated in some norm (such as the energy of the error). A common
formulation of such an updating algorithm
is
where the indices refer to the iteration number. A big consideration
in the research field of ILC is given to the choice of the two filters
Q(q) and L(q). One important condition for
this choice is to have convergence along the iterations. With
convergence is here referred to the fact that the control signal
u and the error e should not grow infinitely when the
number of iterations goes to infinity. In practice, of course, the
error should decrease (otherwise it is no use in applying the method
in the first place).
In the PhD thesis [T2], the journal papers [J1J3,J5J6,J8J9], and the conference
papers [C1C9,C12C14,C16,C18,C20,C22], many different aspects of
Iterative Learning Control have been covered. Several design schemes for
iterative learning control methods are presented, including first
order [T1,T2], [J1J3,J5J6,J8J9], and
[C1C3,C5C8,C12C13,C16,C20,C22] as well as higher order
iterative learning control [T2], [J5], and [C4,C9,C14]. An adaptive approach
to iterative learning control
is also covered in [T2], [J3], [C12] and in [J9] and [C20] an iteration varying
although not adaptive approach is discussed. Many of the suggested design
methods are also given with stability and robustness results. Most of
the references also contains experiments where the proposed design
schemes are evaluated on a commercial industrial robot, ABB IRB
1400.
Future work on ILC will for example be directed towards applications
of ILC where the controlled variable is not directly measurable. In
robotics this is the case since ultimately it is the tool that should
follow a particular path while the controller only have measurements
from the motors. This topic is also discussed in [T2] and [C7]. In
[C22] some experimental results from a 1DOF flexible robot arm are
given. The arm position is in [C22] estimated using angle measurements
from the motor and acceleration measurements from the arm, ILC is then
applied to minimize the predicted error on the arm position. The
results in [C22] are based upon the theoretical results in [C7]. The
next step in this area is to use a 3DOF accelerometer on a commercial
industrial robot and apply the same kind of technique as is described
in [C7,C22]. Another area of interest is to further study so called
high order ILC algorithms, and their ability to, for example, deal
with disturbances. The later aspects are covered to some extent by
[C14]. Current Iteration Tracking Error ILC is also an area where some
more work need to be done, some results in this area are given in
[C18] and they are further developed in [J8].
Robot modeling and identification
Most industrial robots are controlled without having available
explicit measurements from the armside. Instead the motor
position is measured and used for control. A good model of the
relation between motor position and arm position is therefore
essential for the control. One result in this area is a course,
Robot modeling and
control, given the first time in 1999 and then given in
2002 and 2003. The aim has been to catch up with
what has been done so far in the field of robot modeling and control.
A second result is a report [R1] on the modeling of industrial
robots with the the robot ABB IRB 1400 as application example.
System identification is also a useful tool for robot modeling. The
publications [J4] and [C10] deal with identification of an
ABB IRB1400 using both blackbox and physically parameterized models.
It has been found that the behavior, including flexibilities, of the
robot when moving around axis one can be reasonably well described by
a linear model consisting of three masses connected via springs and
dampers. It is however clear that the robot contains nonlinearities,
like e.g. backlash and friction. A study has therefore been carried
out, see [R2], where the effects of nonlinearities on blackbox models
have been investigated.
In [T3] and [C19] is has been studied how the parameters in a
physically parameterized model of the robot can be identified
using recursive prediction error methods. An key problem is then to
form the gradient of the prediction error, with respect to the physical
parameter, in the continuous time model using only discrete time data.
The method that has been found useful is to first derive the
derivative of the prediction error using the continuous time model,
and in a second stage transform the problem to discrete time.
Joint level control
The standard situation for commercial industrial robots is that
position measurements are available only on the motor side, i.e. the
position on the arm side, after flexibilities in the gear box or the
arm itself, is not available.
In this work robot control on the joint level has been studied from
two viewpoints. First, it has been studied how LQG (linear quadratic
Gaussian) control can be used. The reason for studying this method is
that it uses an estimate of the movement of the arm. The work was
initiated in [MSc3] and continued in [C11]. It has been found
that there appears to be a limitation for the achievable disturbance
rejection performance when only the position of the first mass is
available, provided that the regulator itself is stable. Second, it
has been studied how additional information achieved by measuring the
acceleration on the arm side can be used. This aspect is studied in
and [MSc7]. In [MSc5] different aspects related to the
sensors used in robot system is covered and different approaches
to get a better angular velocity estimate are discussed.
Robot diagnosis
The aim in this work has been to study methods for diagnosis of
industrial robots. The reasons for applying diagnosis to industrial
robots are the high requirements on performance and productivity.
It is important to be able to detect faults as quickly as possible in
order to avoid that the production has to be closed down during
unnecessarily long periods.
The goal has so far been to study faults that can be described by
changes of parameters in a model of the system This type of faults
include e.g. increased friction, changes in moment of inertia of the
load, etc. The approach presented in [T3] and [C17] is based on
recursive identification of parameters that represent possible faults,
and it can briefly be summarized as follows. In a particular operating
point offline identification of a physically parameterized model is
carried out. Using this model as a nominal one the relevant
parameters, representing possible faults, are identified recursively.
In the publications mentioned a specially selected excitation signal
is used during the identification. Using the estimate of e.g. the
friction parameter a test variable is formed, and in a second stage
the test variables are used to determine if a fault has occurred.
Experiments have showed that it is necessary to include some kind of
robustification in order to avoid too many false alarms.
Trajectory generation
The work in the trajectory generation area started in 2001 and it aims
at developing new algorithms, methods and tools for the generation and
optimization of trajectories for industrial robots. This development
is motivated by the growing need for improved motion performance in
several robot applications such as laser cutting, laser welding,
machining, assembly and material handling. An improved trajectory
optimization will also make it possible to design robots with smaller
margins, resulting in lower robot manufacturing cost. As the number of
applications using industrial robots grows, the demands on the
functionality of the robot system also grow.
The trajectory generation problem can be divided into two separate
problems. The first is to represent the path, that is the geometrical
description. In [R3,R4], [C21] and [MSc8] this problem is covered
theoretically and a number of new approaches to Cartesian zone path
interpolation are, for example, suggested. As a result of the Master
Thesis project of M. Nyström [MSc8] a first version of a general
toolbox for path generation in Matlab [R5] has been developed. In
[C21], [R3] and [MSc8] algorithms are presented for transformation of
Cartesian space paths (in 3DOF) into joint space representation,
parameterized using cubic splines.
The second problem involved in the trajectory generation problem is to
assign a velocity profile to the geometrical path (in Cartesian space
and in joint space). This step is discussed in [R3] but is also still
an issue for future research.
The problem of trajectory generation for industrial robots has been
studied as a research problem for a long time but there are still
open questions. Some of the aspects that are studied here are,
 generation of joint trajectories from a Cartesian path
 spline interpolation of joint trajectories
 generation of joint trajectories as a function of time.
The last step also includes taking into consideration the constraints
present on the Cartesian path velocity and acceleration, the robot
motor speed and acceleration, and also other possible constraints.
A first contribution in this area is the report [R3].
Results and development since 2000
The work on iterative learning control (ILC) reached a mile stone by
the end of 2000 when the thesis [T2] was completed. The results from
this thesis have then been presented in several publications [J1J3],
[J5J6,J9] as well as in industrial applications [P1]. New results,
dealing with different aspects of the control method, have also been
obtained. Some of them are presented in [J8], [C13C14], [C16] and [C18].
Robot modeling using system identification has been an active area
since 2000 and the work has included aspects of offline as well as
recursive identification of physically parameterized models. A main
contribution in the are is the thesis [T3], and results from this
thesis have also been presented in [J4], [J7], [C10] and [C19]. While
this work has concentrated on SISO models the current work is directed
towards multivariable identification of the dynamics the three main
axes of an industrial robot. This research questions includes issues
like choice of excitation signal, influence of periodic disturbances,
friction, etc.
The robot diagnosis problem has been studied in connection with
recursive identification of physical parameters. This means that the
interest has been focused on faults that can be described by parameter
changes. Some results have been presented in [T3] and [C17].
The work in the area of joint level control has mainly been carried
out as master thesis projects [MSc5MSc6], both dealing with the
problem from a multivariable viewpoint. Questions of interest have
been how to select sensor locations, how choose an appropriate control
system structure, etc. Some aspects of the joint level control problem
have also been presented in [T3] and [C11] where e.g. the problem of
regulator stability has been treated.
Since the trajectory generation problem was introduced as a topic
within the ISIS project in 2001 all the work presented in the Section
"Trajectory generation" above represents what has been achieved after
2000.
Selected Publications
Publications and Reports
Theses (19952000):
[T1]  M. Norrlöf. On analysis and
implementation of Iterative Learning Control.
Licentiate Thesis. Linköping Studies in Science and
Technology. Thesis No 727, Oct 1998. 
Theses (after September 2000):
[T2]  M. Norrlöf. Iterative
Learning Control. Analysis, design and experiments.
Linköping Studies in Science and Technology. Thesis No 653,
2000. 
[T3]  M. Östring.
Identification, Diagnosis and Control of a Flexible Robot
Arm.
Linköping Studies in Science and Technology. Thesis No 948,
2002. 
Journal papers (after September 2000):
[J1]  M. Norrlöf and
S. Gunnarsson. Disturbance Aspects of Iterative
Learning Control. Engineering Applications of
Artificial Intelligence, 14(1):8794, 2001.

[J2] 
S. Gunnarsson and M. Norrlöf. On the Design of ILC
Algorithms Using Optimization. Automatica 37(12), 2001.

[J3]  M. Norrlöf. An adaptive
Iterative Learning Control algorithm with experiments on an
industrial robot. IEEE Transactions on Robotics and
Automation 18(2):245251. 2002.

[J4] 
M. Östring, S. Gunnarsson and M. Norrlöf. Closed loop
identification of an industrial robot containing
flexibilities. Control Engineering Practice 11(3),
2003. 
[J5]  M. Norrlöf and S. Gunnarsson.
Time and frequency domain convergence properties in
iterative learning control. International Journal of
Control 75(14): 11141126, 2002.

[J6]  M. Norrlöf and S. Gunnarsson.
Experimental Comparison of Some Classical Iterative
Learning Control Algorithms. IEEE Transactions on
Robotics and Automation 18(4): 636641, 2002.

[J7]  M. Östring and S. Gunnarsson.
Recursive identification of physical parameters in a
flexible robot arm Submitted to Asian Journal of
Control. Under revision.

[J8]  M. Norrlöf and S. Gunnarsson.
A note on causal and CITE iterative learning control
algorithms. Submitted to Automatica. Under revision.

[J9]  M. Norrlöf.
Disturbance rejection using an ILC algorithm with
iteration varying filters. Submitted to Asian Journal of
Control. Under revision.

Conference papers (19952000):
[C1]  S. Gunnarsson and
M. Norrlöf. On the use of learning
control for improved performance in robot control
systems. European Control Conference, 1997. 
[C2]  S. Gunnarsson and M. Norrlöf. Some
experiences of the use of iterative learning control form
performance improvement in robot control systems. 5th
IFAC Symposium on Robot Control, 1997. 
[C3]  M. Norrlöf and S. Gunnarsson. Some
results on iterative learning control with
disturbances. Reglermöte'98, 1998. 
[C4]  M. Norrlöf and S. Gunnarsson
A Frequency Domain Analysis of a Second Order Iterative
Learning Control Algorithm.
IEEE Conference on Decision and Control, 1999. 
[C5]  S. Gunnarsson and M. Norrlöf
Some Aspects of an Optimization Approach to Iterative
Learning Control.
IEEE Conference on Decision and Control, 1999. 
[C6]  M. Norrlöf and
S. Gunnarsson. A Model Based Iterative Learning Control
Method Applied to 3 Axes of a Commercial Industrial Robot.
6th IFAC Symposium on Robot Control, 2000. 
[C7]  S. Gunnarsson and M. Norrlöf
Iterative Learning Control of a Flexible Mechanical
System Using Accelerometers. 6th IFAC Symposium on
Robot Control, 2000. 
[C8]  M. Norrlöf and
S. Gunnarsson A model based Iterative Learning Control
method applied to an industrial robot Reglermöte'00,
2000. 
Conference papers (after September 2000):
[C9]  M. Norrlöf
Comparative study on first and second order ILC 
frequency domain analysis and experiments.
IEEE Conference on Decision and Control, 2000. 
[C10]  M. Östring, S. Gunnarsson and
M. Norrlöf. Closed Loop Identification of the Physical
Parameters of an Industrial Robot,
International Symposium on Robotics, 2001. 
[C11]  S. Gunnarsson and M. Östring
On Regulator Stability in Control of Flexible
Mechanical Systems. International Symposium on Robotics,
2001. 
[C12]  M. Norrlöf
An adaptive approach to Iterative Learning Control with
experiments on an industrial robot. European Control
Conference, ECC2001, 2001. 
[C13]  O. Markusson, H. Hjalmarsson
(Royal Inst. of Tech.), and M.Norrlöf.
Iterative learning control of nonlinear nonminimum
phase systems and its application to system and model
inversion. 2001 IEEE Conference on Decision and
Control, Orlando, Florida, USA, 2001. 
[C14]  M. Norrlöf and S. Gunnarsson.
Disturbance Aspects of High Order Iterative Learning
Control. IFAC World Congress, 2002.

[C15]  M. Norrlöf, F. Tjärnström, M.
Östring (Linköpings universitet), and M . Aberger (Johannes
Kepler University Linz, Austria).
Modeling and identification of a mechanical industrial
manipulator. IFAC World Congress, 2002.

[C16]  O. Markusson, H. Hjalmarsson
(Royal Inst. of Tech.), and M.Norrlöf.
A General Framework for Iterative Learning Control.
IFAC World Congress, 2002.

[C17]  M. Östring, F. Tjärnström,
and M. Norrlöf.
Modeling of industrial robot for identification, monitoring,
and control.
International Symposium on Advanced Control of Industrial
Processes, Kumamoto, Japan June 1011, 2002.

[C18]  M. Norrlöf and S. Gunnarsson.
Some new results on current iteration tracking error ILC.
Asian Control Conference, 2002.

[C19]  M. Östring and S. Gunnarsson.
Recursive identification of physical parameters in a
flexible robot arm. Asian Control Conference, 2002.

[C20]  M. Norrlöf.
Iteration varying filters in Iterative Learning Control.
Asian Control Conference, 2002.

[C21]  M. Nyström and M. Norrlöf.
Path generation for industrial robots.
Mekatronikmötet 2003.

[C22]  S. Gunnarsson, M. Norrlöf,
E. Rahic and M. Özbek.
Iterative learning control of a flexible robot arm using
accelerometers. Mekatronikmötet 2003.

Other relevant reports (19952000):
[R1]  M. Norrlöf. Modeling
of industrial robots. LiTHISYR2208, 1999. 
Other relevant reports (after September 2000):
[R2]  M. Aberger. Effects
of Nonlinearities in Black Box Identification of an
Industrial Robot. LiTHISYR2322, 2000. 
[R3]  M. Norrlöf On path
planning and optimization using splines.
LiTHISYR2490, 2003. 
[R4]  M. Nyström and M. Norrlöf
Results from simulations using spline based path
generation algorithms.
LiTHISYR2505, 2003. (In Swedish). 
[R5]  M. Nyström and M. Norrlöf
PGT  A path generation toolbox for Matlab (v0.1).
LiTHISYR2542, 2003. 
Patent applications:
[P1]  S. Gunnarsson, M. Norrlöf,
G. Hovland, U. Carlsson, Torgny Brogårdh, T. Svensson and
S. Moberg. Method for High Accuracy Performance of
an Industrial Robot. Swedish Patent Application
No. 00013128. 
Master theses (19952000):
[MSc1] 
M. Fleischer. Friction estimation in an
industrial robot system. Report LiTHISYEX1777,
1997. (In Swedish) 
[MSc2] 
K. Rahmati. Identification of a flexible
servo. Report LiTHISYEX1927, 1998. (In
Swedish). 
[MSc3] 
M. Östring. Damping of oscillations in robot
servos Report LiTHISYEX1948, 1998. (In
Swedish). 
Master theses (after September 2000):
[MSc4] 
F. Vikstén. On the use of an accelerometer for
identification of a flexible manipulator.
LiTHISYEX3028, 2001. 
[MSc5]  N. Durinder and J.
Wallmander. Examination of measurement system and control
structures for industrial applications. LiTHISYEX3200,
2002. (In Swedish). 
[MSc6]  P. Skoglar.
Modelling and control of IR/EOgimbal for UAV surveillance
applications. LiTHISYEX3258,
2002. 
[MSc7]  E. Malmlöf & O. Scholander. Control of flexible structures using multiple sensors. LiTHISYEX3338,
2003. (In Swedish). 
[MSc8]  M. Nyström. Path
generation for industrial robots. LiTHISYEX3357,
2003. (In Swedish). 
Some of the reports are available electronically, please search for
the report that you are looking for in the publication database.