2
Introduction
A robot is an automatically controlled, reprogrammable, multipurpose mechanical system
with several degrees of freedom, which may be either fixed in place or mobile. It has been
widely used so far in various industrial automation applications. The control and
simulation of robots requires the development of different mathematical models. Several
levels of modeling - geometric, kinematic and dynamic - are needed depending on the
objectives, the constraints of the task and the desired performance. Obtaining these
models is not an easy task. Using these models in control and simulation requires efficient
and easy-to-use algorithms to estimate the values of the geometric parameters and the
dynamic parameters of the robot.
The design and control of a robot requires the computation of some mathematical
models such as:
transformation models between the joint space and task space. These transformation
models are very important since robots are controlled in the joint space, whereas tasks
are defined in the task space. Two classes of models are considered: direct and inverse
geometric models, which give the location of the end-effector as a function of the joint
variables of the mechanism and vice versa; and direct and inverse kinematic models,
which give the velocity of the end-effector as a function of the joint velocities and vice
versa;
dynamic models giving the relations between the input torques or forces of the
actuators and the positions, velocities and accelerations of the joints.
In recent literature for robots, the dynamic models are required in most of the advanced
control schemes. Certain criterion namely precision, performance, stability depends on
the accuracy of the parameters which describes the dynamic model. Furthermore these
values are necessary to simulate the dynamic equations. The dynamic model of robots
plays an important role in their design and operation [1].
3
Calibration of a robot is the process by which we identify the real geometrical parameters
in the kinematic structure of a robot. Hence, the geometric calibration of robots is the
process by which the parameters defining the base frame parameters, link parameters
and end-effector parameters are precisely identified, as for example the position and
orientation of the joints of the robot.
This thesis work is done in order to investigate on the calibration of the geometric
parameters of the Stäubli RX 130 robot. For calibration we indicate the process of the
identification of the real geometric parameters of a robot. We’ll present two methods of
calibration: the global method, where the robot parameters are identified
simultaneously, and the sequential method, where the robot parameters of angles types
are calibrated separately then, distance parameters are identified taking into account the
identified angles parameters.
Moreover, after the analysis on the dynamic parameters, this work will focus on the
accuracy of the dynamic parameters of a Stäubli TX 40 robot, considering it in both
conditions of carried out a load and without load. The TX40 robot of the ECN is equipped
with a of force sensors, that will allow us to apply two types of studies: the first one is
regarding the identification of the load parameters using the differences between the
joint torques before and after loading the robot on the same trajectory; the second
analysis is regarding on the identification of the load parameters using force sensors,
using the forces and the moments of the load given by the torque sensors, the initial
parameters of the robot can be obtained using the Newton-Euler equations provided by
SYMORO+ software package “Symbolic Modeling of Robots” developed by the robotics
team of the IRCCyN.
The content of the report is the following:
chapter 1: deal with the description of the geometric calibration;
chapter 2: is devoted to identification of the geometric parameters and the analysis of
the obtained results;
chapter 3: deal with the description of the dynamic modeling;
4
chapter 4: will focus on the results obtained in the analysis of the dynamic parameters;
chapter 5: conclusion and future works
At the end of the book the reader will find four appendices, which give introductions to
software and tools used for the carried studies.
5
Chapter 1
Geometric Calibration of Robots
1.1. Introduction
Calibration of a robot is the process by which we identify the real geometrical parameters
in the kinematic structure of an robot . Hence, the geometric calibration of robots is the
process by which the parameters defining the base frame parameters, link parameters
and end-effector parameters are precisely identified, as for example the position and
orientation of the joints of the robot [15] [16].
The geometric calibration is carried out since the absolute accuracy of a robot depends to
a large extent on the accuracy of the values of the geometric parameters used in the
direct and inverse geometric models. Classically, the geometric calibration is carried out
by solving a system of linear or non-linear equations which is a function of the joint
positions and the location (position and orientation) of the end-effector frame [15] [16].
This accuracy is affected by geometric factors such as errors on the estimation of the
geometric parameters, as well as non geometric factors such as flexibility of links and gear
trains, gear backlashes, encoder resolution errors, wear, and thermal effects. Robot
calibration consists in modeling and compensating the sources of inaccuracy that affect
robot positioning.
Practical techniques to compensate for all geometric and non-geometric effects are not
yet developed. Based on investigation of the error contribution from various sources,
Judd and Knasinski concluded that the error due to geometric factors accounted for 95%
of the total error [17]. Hence, a reasonable approach would be to calibrate the current
geometric parameters and treat the non-geometric factors as a randomly-distributed
error. This calibration procedure is also important for robot programming using CAD
systems where the simulated robot must reflect accurately the real robot. In recent years,
considerable attention has been paid to the problem of geometric calibration. A partial
list of these works is given in references [18], [19], [20], [21].
6
1.2. Geometric Calibration steps
The problem of geometric calibration can be divided into four distinct steps:
particular mathematical formulation that results in a model, which is a function of
the geometric parameters, the joint variables q, and some external measurements
x.
collection of experimental data for a sufficient number of configurations.
the identification of the geometric parameters and validation of the results
obtained.
compensating the geometric parameter errors in the IGM or DGM.
My work is focused on the third step. In fact the first step is done using the formulation
given in [1]; for the second step, I’ll use the data already done by Krypton Company using
3 cameras CCD. The last step can be applied once the identification is performed and the
estimated parameters must be integrated into the robot controller.
1.3. Geometric Parameters
1.3.1. Description of a robot
In order to describe completely a robot we need two types of parameters:
the geometric parameters defining the location of the end-effector of the robot
with respect to the fixed world frame.
the joint parameters defining the joint limits, the joint offsets, the joint
transmission gains, and the coupling matrices between the motor and joint
variables.
A serial robot is composed of a sequence of n+1 links and n joints. The links are assumed
to be perfectly rigid. The joints are either revolute or prismatic and are assumed to be
ideal. The links are numbered such that link 0 constitutes the base of the robot and link n
is the terminal link. Joint j connects link j to link j-1 and its variable is denoted q
j
. In order
7
to define the relationship between the location of links, we assign a frame R
j
attached to
each link j.
1.3.2. Robot Parameters
The transformation matrix from frame R
j-1
to frame R
j
is expressed as a function of the
following geometric parameters:
σ
j
(sigma) : type of joints (0 for revolute and 1 for prismatic)
d
j
: distance between z
j-1
and z
j
along x
j-1
;
α
j
(alpha) : angle between z
j-1
and z
j
about x
j-1
;
θ
j
(theta) : angle between x
j-1
and x
j
about z
j
;
r
j
: distance between x
j-1
and x
j
along z
j
;
The geometric parameters concerned with geometric calibration are the parameters
required to compute the direct and inverse geometric models. The direct geometric
model, which gives the location of the end-effector frame R
n+i
relative to a fixed world
frame R
-1
, is given by equation:
-1
T
n+1
= Z
0
T
n
(q)E =
-1
T
0
0
T
1
1
T
2
…..
n-1
T
n
n
T
n+1
[1.1]
Where:
Z =
-1
T
0
denotes the transformation matrix defining the robot base frame R
0
relative to the world reference frame R
-1
;
E =
n
T
n+1
is the transformation matrix defining the end-effector frame with respect
to the terminal link frame R
n
;
0
T
n
n is the transformation matrix of the robot defining frame R
n
relative to frame
R
0
.
This equation contains three kinds of parameters: the robot geometric parameters
appearing in
0
T
n
, the base frame parameters defining the matrix Z and the end-effector
parameters defining the matrix E.
8
The robot parameters are defining using the by Khalil and Kleinfinger notation. According
to this method the frame j is defined such that z
j
is along the axis of joint j, and x
j
is
perpendicular to z
j
and z
j+1
. Frame j is defined with respect to frame j-1 by the matrix
j-1
T
j
,
function of the four parameters (α
j
, d
j
, θ
j
, r
j
), such that:
j-1
T
j
= Rot(x, α
j
) Trans(x, d
j
) Rot(z, θ
j
) Trans(z, r
j
) [1.2]
1.3.3. Base Frame Parameters
We need six parameters to locate the robot base relative to the world frame, considering
that the reference frame can be chosen arbitrarily by the user. Thus, these parameters
can be taken as ( γ
z
, b
z
, α
z
, d
z
, θ
z
, r
z
). The transformation of base frame can be written as
follow:
Z =
-1
T
0
= Rot(z, γ
z
) Trans(z, b
z
) Rot(x, α
z
) Trans(x, d
z
) Rot(z, θ
z
)Trans(z, r
z
) [1.3]
The transformation matrix
-
1
T
1
is given by:
-1
T
1
=
-1
T
0
0
T
1
= Rot(z, γ
z
) Trans(z, b
z
) Rot(x, α
z
) Trans(x, d
z
) Rot(z, θ
z
)
Tran(z, r
z
) Rot(x, α
1
) Trans(x, d
1
) Rot(z, θ
1
) Trans(z, r
1
)
[1.4]
We can grouped θ
z
and r
z
with θ
1
and r
1
, respectively. Thus we prove that consecutive
frames are represented at most by four independent parameters (Figure 1).
Figure 1. Description of frame R
0
relative to frame R
-1
.
9
1.3.4. End Effector Parameters
Since the end-effector frame
Rn+1
can be defined arbitrarily with respect to the terminal
link frame R
n
, six parameters (γ
E
, b
E
, α
E
, d
E
, θ
E
, r
E
) are needed to define the matrix E
(Figure 2).
The transformation matrix can be written as :
n
T
n+1
= Rot(z, γ
E
) Trans(z, b
E
) Rot(x, α
E
) Trans(x, d
E
) Rot(z, θ
E
)Trans(z, r
E
) [1.5]
The transformation matrix
n-1
T
n+1
is given by:
n-1
T
n+1
=
n-1
T
n
n
T
n+1
= Rot(x, α
n
) Trans(x, d
n
) Rot(z, θ
n
) Trans(z, r
n
)Rot(z, γ
E
)
Trans(z, b
E
) Rot(x, α
E
) Trans(x, d
E
) Rot(z, θ
E
)Tran(z, r
E
)
[1.6]
Figure 2. Definition of frame j with respect to frame j-1
1.3.5. Table of the geometric parameters
So, we can write the table of the robot parameters as follow:
10
Table 1. Geometric Parameters of Robots
In the above table we put another parameter, namely, β
j
representing a rotation around
the y
j-1
axis. We use this new parameter to ensure that small variation (Figure 3) in axis
alignment produces proportionally small variations in the parameters. In fact, If two
consecutive joint axes j – 1 and j are parallel, the x
j-1
axis is not uniquely defined and the
origin O
j-1
can be put arbitrarily on the z
j-1
axis. When z
j-1
or z
j
becomes slightly misaligned,
the common normal is uniquely defined and the corresponding variation in the parameter
r
j-1
can be very large. The nominal value of β
j
is zero. If z
j-1
and z
j
are not parallel, β
j
is not
identifiable.
Figure 3. Small variation in axis alignment
1.4. Calibration Methods
The calibration of the geometric parameters is based on estimating the parameters
minimizing the difference between a function of the real robot variables and its