0% found this document useful (0 votes)
20 views

InTech-Cartesian Control For Robot Manipulators

1) The document discusses Cartesian control for robot manipulators, which interprets robot movements using Cartesian coordinates instead of joint angles and torques. 2) It presents the forward kinematics of a 3 degree of freedom Cartesian robot to demonstrate the application of Cartesian control. 3) The Jacobian matrix is introduced, which relates the velocity of the robot joints to the Cartesian velocity of the end effector and is important for Cartesian control.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

InTech-Cartesian Control For Robot Manipulators

1) The document discusses Cartesian control for robot manipulators, which interprets robot movements using Cartesian coordinates instead of joint angles and torques. 2) It presents the forward kinematics of a 3 degree of freedom Cartesian robot to demonstrate the application of Cartesian control. 3) The Jacobian matrix is introduced, which relates the velocity of the robot joints to the Cartesian velocity of the end effector and is important for Cartesian control.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

Cartesian Control for Robot Manipulators 165

8
0

Cartesian Control for Robot Manipulators


Pablo Sánchez-Sánchez and Fernando Reyes-Cortés
Benemérita Universidad Autónoma de Puebla (BUAP)
Facultad de Ciencias de la Electrónica
México

1. Introduction
A robot is a reprogrammable multi-functional manipulator designed to move materials, parts,
tools, or specialized devices through variable programmed motions, all this for a best perfor-
mance in a variety of tasks. A useful robot is the one which is able to control its movements
and the forces it applies to its environment. Typically, robot manipulators are studied in con-
sideration of their displacements on joint space, in other words, robot’s displacements inside
of its workspace usually are considered as joint displacements, for this reason the robot is an-
alyzed in a joint space reference. These considerations generate an important and complex
theory of control in which many physical characteristics appear, this kind of control is known
as joint control.
The joint control theory expresses the relations of position, velocity and acceleration of the
robot in its native language, in other words, describes its movements using the torque and an-
gles necessary to complete the task; in majority of cases this language is difficult to understand
by the end user who interprets space movements in cartesian space easily. The singularities in
the boundary workspace are those which occur when the manipulator is completely streched-
out or folded back on itself such as the end-effector is near or at the boundary workspace.
It’s necessary to understand that singularity is a mathematical problem that undefined the
system, that is, indicates the absence of velocity control which specifies that the end-effector
never get the desired position at some specific point in the workspace, this doesn’t mean the
robot cannot reach the desired position structurally, whenever this position is defined inside
the workspace. This problem was solved by S. Arimoto and M. Takegaki in 1981 when they
proposed a new control scheme based on the Jacobian Transposed matrix; eliminating the
possibility of singularities and giving origin to the cartesian control.
The joint control is used for determining the main characteristics of the cartesian control based
on the Jacobian Transposed matrix. It is necessary to keep in mind that to consider the robot’s
workspace like a joint space, has some problems with interpretation because the user needs
having a joint dimensional knowledge, thus, when the user wants to move the robot’s end-
effector through a desired position he needs to understand the joint displacements the robot
needs to do, to get the desired position. This interpretation problem is solved by using the
cartesian space, that is, to interpret the robot’s movements by using cartesian coordinates on
reference of cartesian space; the advantage is for the final user who has the cartesian dimen-
sional knowledge for understanding the robot’s movements. Due this reason, learning the
mathematical tools for analysis by the robot’s movements on cartesian space is necessary, this
allows us to propose control structures, to use the dynamic model and to understand the

www.intechopen.com
166 Robot Manipulators, Trends and Development

physical phenomenons on robot manipulators on cartesian space. When we control the global
motion or position of general manipulators, we are confronted with the nonlinear dynamics
in a lot of degrees of freedom. In literature focused with the dynamic control of manipulators,
the complexity of nonlinear dynamics is emphasized and some methods, compensating all
nonlinear terms in dynamics in real time, are developed in order to reduce the complexity in
system control. However, these methods require a large amount of complicated calculation so
it is difficult to implement these methods with low level controllers such as microcomputers.
In addition, the reliability of these methods may be lost when a small error in computation or a
small change in system parameters occurs, occurs because they are not considered in the con-
trol. Most industrial robots, each joint of manipulator is independently controlled by a simple
linear feedback. However, convergence for target position has not been enough investigated
for general nonlinear mechanical systems.
This chapter is focused on the position control for robot manipulators by using control struc-
tures defined on the cartesian space because the robot move freely in its workspace, which
is understood by the final user like cartesian space. Besides, the mathematical tools will be
detailed for propose, analyze and evaluating control structures in cartesian space.

2. Preliminaries: forward kinematics and Jacobian matrix


A rigid multi-body system consists in a set of rigid objects, called links, joined together by
joints. Simple kinds of joints include revolute (rotational) and prismatic (translational) joints.
It is also possible to work with more general types of joints, and thereby simulate non-rigid
objects. Well-known applications of rigid multi-bodies include robotic arms. A robot manip-
ulator is modeled with a set of links connected by joints. There are a variety of possible joint
types. Perhaps the most common type is a rotational joint with its configuration described
by a single scalar angle value. The key point is: ”the configuration of a joint is a continuous
function of one or more real scalars; for rotational joints“, the scalar is the angle of the joint.
Complete configuration in robot manipulators is specified by vectors, for example the position
is described as:
 
q1

 q2 

q= ..  (1)
 . 
qn
where q ∈ R n×1 . We assume there are n joints and each qn value is called a joint position.
The robot manipulator will be controlled by specifying target positions by the end-effectors.
The desired positions are also given by a vector
 
q d1

 q d2 

qd =  ..  (2)
 . 
q dn
where qdi is the desired position for the ith end-effector. We let q̃i = qdi − qi , the desired
change in position of the ith end effector, also this vector is well-known as an error position.
The end-effector positions ( x, y, z) are functions of the joint angles q; this fact can be expressed
as:

www.intechopen.com
Cartesian Control for Robot Manipulators 167

xi = f i ( q ) for i = 1, 2, . . . , k (3)
this equation is well-known as forward kinematics.

2.1 Case of study: Cartesian robot (forward kinematics


In order to understand application of cartesian control in robot manipulators a case of study
will be used, which all the concepts were evaluated. In this section we will obtain the for-
ward kinematics of a three degrees of freedom cartesian robot, Figure 1; and we will use this
information in the following sections.

Fig. 1. Three degrees of freedom cartesian robot.

In order to obtain the forward kinematics of three degrees of freedom cartesian robot we need
to draw a system diagram, Figura 2,

where q1 , q2 , q3 are join displacements; and m1 , m2 , m3 represent the masses of each link. As
it is observed, translation is the unique movement that realizes this kind of robots, then the
forward kinematics are defined as:
           
x1 q1 x2 q1 x3 q1
 y1  =  0  ;  y2  =  q2  ;  y3  =  q2  . (4)
z1 0 z2 0 z3 q3
We can observe, that in the first vector is contemplated only by the first displacement of value
q1 , in the second one considers the movement of translation in q1 and q2 respecting the axis x
and y, and finally the complete displacement in third axis described in the last vector, being
this representation the robot forward kinematics.

www.intechopen.com
168 Robot Manipulators, Trends and Development

2.2 Jacobian matrix


The Jacobian matrix J (q) is a multidimensional form of the derivative. This matrix is used
to relate the joint velocity q̇ with the cartesian velocity ẋ, based on this reason we are able to
think about Jacobian matrix as mapping velocities in q to those in x:

ẋ = J (q) q̇. (5)


where ẋ is the velocity on cartesian space; q̇ is the velocity in joint space; and J (q) is the
Jacobian matrix of the system.
In many cases, we use modeling and simulation as a tool for analysis about the behavior
of a given system. Even though at this stage, we have not formed the equations of motion
for a robotic manipulator, by inspecting the kinematic models, we are able to revel many
characteristics from the system. One of the most important quantities (for the purpose of
analysis) in (5), is the Jacobian matrix J (q). It reveals many properties of a system and can
be used for the formulation of motion equations, analysis of special system configurations,
static analysis, motion planning, etc. The robot manipulator’s Jacobian matrix J (q) is defined
as follow:

 
∂ f 1 (q) ∂ f 1 (q) ∂ f 1 (q)
···

 ∂q1 ∂q2 ∂qn 

 
 
 ∂ f 2 (q) ∂ f 2 (q) ∂ f 2 (q) 
 ··· 
∂ f (q) 
 ∂q1 ∂q2 ∂qn 

J (q) = =  (6)
∂q  
 .. .. .. .. 

 . . . . 

 
 
 ∂ f m (q) ∂ f m (q) ∂ f m (q) 
···
∂q1 ∂q2 ∂qn
where f (q) is the relationship of forward kinematics, equation (3); n is the dimension of q; and
m is the dimension of x. We are interested about finding what joint velocities q̇ result in given
(desired) v. Hence, we need to solve a system equations.

2.2.1 Case of study: Jacobian matrix of the cartesian robot


In order to obtain the Jacobian matrix of the three degrees of freedom cartesian robot it is
necessary to use the forward kinematics which is defined as:
   
x q1
 y  =  q2  (7)
z q3
Now, doing the partial derivation of x in reference to q1 , q2 , q3 we have:

www.intechopen.com
Cartesian Control for Robot Manipulators 169

∂x ∂q
= 1 = q̇1
∂q1 ∂q1

∂x ∂q
= 1 =0 (8)
∂q2 ∂q2

∂x ∂q
= 1 =0
∂q3 ∂q3
The partial derivation of y in reference to q1 , q2 , q3 are:

∂y ∂q
= 2 =0
∂q1 ∂q1

∂y ∂q
= 2 = q̇2 (9)
∂q2 ∂q2

∂y ∂q
= 2 =0
∂q3 ∂q3
The partial derivation of z in reference to q1 , q2 , q3 , we have:

∂z ∂q
= 3 =0
∂q1 ∂q1

∂z ∂q
= 3 =0 (10)
∂q2 ∂q2

∂z ∂q
= 3 = q̇3
∂q3 ∂q3
The system ẋ = J (q)q̇ is described by following equation:
   ∂x ∂x ∂x   
 ∂q1 ∂q2 ∂q3   q̇

 ẋ 
   1 

    
  
 ∂y ∂y ∂y  
=
ẏ    q̇2 (11)
 

   ∂q1 ∂q2 ∂q3   
    
  
ż ∂z  q̇3
   ∂z  
∂z
∂q1 ∂q2 ∂q3
where the Jacobian matrix elements are defined using the equations (8), (9) and (10):
    
ẋ 1 0 0 q̇1
 ẏ  =  0 1 0   q̇2  (12)
ż 0 0 1 q̇3
  
J (q)

www.intechopen.com
170 Robot Manipulators, Trends and Development

2.3 Jacobian transpose matrix


The transpose of a matrix J (q) is another matrix J (q) T created by anyone of the following
equivalent actions: write the J (q) T rows as the J (q) T columns; write the J (q) T columns as
the J (q) T rows; and reflect J (q) by its main diagonal (which starts from the top left) to obtain
J (q) T . Formally, the transpose of an m × n matrix J (q) with elements J (q)ij is n × m matrix as
follow

Jji (q) T = Jij (q) for 1 ≤ i ≤ n, 1 ≤ j ≤ m. (13)


The transposing of a scalar is the same scalar.

2.3.1 Case of study: Jacobian transpose matrix of the cartesian robot


In order to obtain the Jacobian transpose matrix J (q) T we apply (13) leaving of the equation
(12). In particular case of cartesian robot the Jacobian matrix J (q) is equal to the identity matrix
I, thus its transposed matrix J (q) T is the same, thus we have:
 
1 0 0
T
J (q) =  0 1 0  (14)
0 0 1

2.4 Singularities
Singularities correspond certain configurations in robot manipulators which have to be
avoided because they lead to an abrupt loss of manipulator rigidity. In the vicinity of these
configurations, manipulator can become uncontrollable and the joint forces could increase
considerably and may there would be risk to even damage the manipulator mechanisms. The
singularities in a workspace can be identified mathematically when the determinant in the
Jacobian matrix is zero:

det J (q) = 0. (15)


Mathematically this means that matrix J (q) is degenerated and there is, in the inverse geomet-
rical model, an infinity of solutions in the vicinity of these points.

2.5 Singular configurations


Due to the tuning of derivative and proportional matrices from the control algorithms of
which objective is to maintain in every moment the error position nearest to zero, it exists
the possibility that in certain values of the determinant in Jacobian matrix the system is singu-
lar undefined. It’s denominated singular configurations of a robot those distributions in which
that determinant of the Jacobian matrix is zero, equation (15). Because of this circumstance,
in the singular configurations the inverse Jacobian matrix doesn’t exist. For a undefine Jaco-
bian matrix, an infinitesimal increment in the cartesian coordinates would suppose an infinite
increment at joint coordinates, which is translated as movements from the articulations to in-
accessible velocities on some part of its links for reaching the desired position for a constant
velocity in the practice. Therefore, in the vicinity of the singular configurations lost some de-
grees in the robot’s freedom, being impossible their end-effector moves in a certain cartesian
address.
Different singular configurations on robot can be classified as:

www.intechopen.com
Cartesian Control for Robot Manipulators 171

• Singularities in the limits in the robot’s workspace. These singularities are presented when
the robot’s boundary is in some point of the limit of interior or external workspace. In
this situation it is obvious the robot won’t be able to move in the addresses that were
taken away from this workspace.
• Singularities inside the robot’s workspace. They take place generally inside the work area
and for the alignment of two or more axes in the robot’s articulations.

2.5.1 Case of study: determinant of the Jacobian matrix of the cartesian robot
In order to determine if there are singularities in the system, it is necessary to obtain the
determinant on the system det J (q), considering a general structure of the Jacobian matrix,
thus we have:
     
j22 j23 j21 j23 j21 j22
det J (q) = j11 − j12 + j13
j32 j33 j31 j33 j31 j32
(16)
det J (q) = j11 ( j22 j33 − j32 j23 ) − j12 ( j21 j33 − j31 j23 ) + j13 ( j21 j32 − j31 j22 )

det J (q) = 1
As it is observed, the determinant in the Jacobian matrix is not undefined in any point which
indicates the workspace for the cartesian robot is complete.

2.5.2 Workspace
The workspace is the area where the robot can move freely with no damage. This area is deter-
mined by the robot’s physical and mechanical capacities. The workspace is defined without
considering the robot’s end-effector, in the Figure 3 the workspace of a robot of three degrees
of freedom is described.

2.6 Inverse Jacobian matrix


In mathematics, and especially in linear algebra, a matrix squared A with an order n × n it
is said is reversible, nonsingular, non-degenerate or regular if exists another squared matrix
with order n × n called inverse matrix A−1 and represented matrix like

AA−1 = A−1 A = I (17)


I is the identity matrix with order n × n and the used product is the usual product of matrices.
The mathematical definition in the inverse matrix is defined as follow:

CT
J ( q ) −1 = (18)
det J (q)
where C is the co-factors matrix.

2.6.1 Case of study: co-factors matrix in the cartesian robot


In order to obtain the co-factor matrix it is necessary to apply the following procedure: Con-
sidering the matrix A defined like:
 
a b c
A= d e f  (19)
g h i

www.intechopen.com
172 Robot Manipulators, Trends and Development

z
c

y
d f

a b
e
x
Fig. 2. Diagram of three degrees of freedom cartesian robot.

Fig. 3. Robot manipulator’s workspace.

www.intechopen.com
Cartesian Control for Robot Manipulators 173

we obtain the following co-factors matrix:


 
c11 c12 c13
C =  c21 c22 c23  (20)
c31 c32 c33
where each component is defined as:

c11 = + (ei − h f )
c12 = − (di − g f )
c13 = + (dh − ge)
c21 = − (bi − hc)
c22 = + ( ai − gc) (21)
c23 = − ( ah − gb)
c31 = + (b f − ec)
c32 = − ( a f − dc)
c33 = + ( ae − db)
Considering the Jacobian matrix (12) we can obtain the following co-factors matrix:
 
1 0 0
C= 0 1 0  (22)
0 0 1
where the components of the matrix are defined as:

c11 = + (ei − h f ) = + (1 − 0) = 1
c12 = − (di − g f ) = − (0 − 0) = 0
c13 = + (dh − ge) = + (0 − 0) = 0
c21 = − (bi − hc) = − (0 − 0) = 0
c22 = + ( ai − gc) = + (1 − 0) = 1 (23)
c23 = − ( ah − gb) = − (0 − 0) = 0
c31 = + (b f − ec) = + (0 − 0) = 0
c32 = − ( a f − dc) = − (0 − 0) = 0
c33 = + ( ae − db) = + (1 − 0) = 1

2.6.2 Case of study: inverse Jacobian matrix of the cartesian robot


In order to obtain the inverse Jacobian matrix J (q)−1 according the definition on (18), it is
necessary the transposing co-factor matrix C T ,
 
1 0 0
CT =  0 1 0  (24)
0 0 1
and the determinant of the Jacobian matrix (16), we obtain:

www.intechopen.com
174 Robot Manipulators, Trends and Development

 
T 1 0 0
C 1
J ( q ) −1 = =  0 1 0 
det J (q) 1
0 0 1
  (25)
1 0 0
J ( q ) −1 =  0 1 0 
0 0 1
As it is observed, for the specific case of the three degrees of freedom cartesian robot the
inverse matrix does exist.

3. Dynamic model
The dynamic model is the mathematical representation of a system which describes its behav-
ior in the internal and external stimulus presented in the system. For cartesian control design
purposes, and for designing better controllers, it is necessary to reveal the dynamic behav-
ior of the robot via a mathematical model obtained from some basic physical laws. We use
Lagrangian dynamics to obtain the describing mathematical equations. We begin our devel-
opment with the general Lagrange equation about motion. Considering Lagrange’s equation
for a conservative system as given by:

d ∂L (q, q̇) ∂L (q, q̇)


 
− = τ − f (τ, q̇) (26)
dt ∂q̇ ∂q
where q, q̇ ∈ R n×1 are position and velocity in a joint space, respectively; τ ∈ R n×1 is a vector
of an applied torque; f (τ, q̇) ∈ R n×1 is the friction vector; and the Lagrangian L(q, q̇) is the
difference between kinetic K(q, q̇) and potential U (q) energies:

L (q, q̇) = K (q, q̇) − U (q) . (27)


The application of the Lagrange’s equation results in the mathematical equation which de-
scribes the system behavior at any stimulus, dynamic model equation. Then it can be shown the
robot dynamics are given by:

M (q) q̈ + C (q, q̇) q̇ + g (q) + f (τ, q̇) = τ (28)


where q, q̇, q̈ are the position, velocity and acceleration in joint space, respectively; M (q) ∈
R n×1 is symmetric, positive-definite inertial matrix; C (q, q̇) ∈ R n×n is a matrix containing the
Coriolis and centripetal torques effects; g(q) ∈ R n×1 is a vector of gravity torque obtained as
gradient result on the potential energy,

∂U (q)
g(q) = , (29)
∂q
and f (τ, q̇) ∈ R n×1 are the vector of friction torques. The friction torque is decentralize in the
sense that f (τ, q̇) depends only on τ and q̇

f 1 (τ1 , q̇1 )
 
 f 2 (τ2 , q̇2 ) 
f (τ, q̇) =  .. . (30)
 
 . 
f n (τn , q̇n )

www.intechopen.com
Cartesian Control for Robot Manipulators 175

Friction is the tangential reaction force between two surfaces in contact. Physically these re-
action forces are the result of many different mechanisms, which depend on geometry and
topology contact, properties of bulk and surface materials on the bodies, displacement and
relative velocity on the bodies and presence of lubrication.
It is well known that exist two friction models: the static and dynamic. The static models of
friction consist on different components, each take care about certain friction force issues. The
main idea is: friction opposes motion and its magnitude is independent on velocity and con-
tact area. The friction torques are assumed to be a dissipated energy at all nonzero velocities,
therefore, their entries are bounded within the first and third quadrants. The friction force is
given by a static function possibly except for a zero velocity. Figure 4(a) shows Coulomb fric-
tion; Figure 4(b) Coulomb plus viscous friction; Stiction plus Coulomb and viscous friction is
shown in Figure 4(c); and Figure 4(d) shows how the friction force may decrease continuously
from the static friction level.

a a

b b

(a) Coulomb friction (b) Coulomb plus viscous friction

a a

b b

(c) Stiction, Coulomb and viscous friction (d) Friction may decrease continuously

Fig. 4. Examples of static friction models.

This feature allows considering the common Coulomb and viscous friction models. At zero
velocities, only static friction is satisfying presented

f i (τi , 0) = τi − gi (q) (31)

www.intechopen.com
176 Robot Manipulators, Trends and Development

for − f i ≤ τi − gi (q) ≤ f i with f i being the limit on the static friction torques for joint i.
Lately there has been a significant interest in dynamic friction models. This has been driven
by intellectual curiosity, demands for precision servos and advances in hardware that make
it possible for implementing friction compensators. The Dahl model was developed with the
purpose of simulating control systems with friction. Dahl’s starting point had several exper-
iments on friction in servo systems with ball bearings. One of his findings was that bearing
friction behave was very similar on solid friction. These experiments indicate that there are
metal contacts between the surfaces. Dahl developed a simple comparatively model and was
used extensively to simulate systems with ball bearing friction.
The starting point for Dahl’s model is the stress-strain curve in classical solid mechanics, Fig-
ure 5. When the subject is under stress the friction force increases gradually until a rupture
occurs. Dahl modeled the stress-strain curve by a differential equation. x will be the dis-
placement, F the friction force, and Fc the Coulomb friction force. Then Dahl’s model has this
form:
 α
dF F
= σ 1 − sgn(v) (32)
dx Fc
where σ is the stiffness coefficient; and α is a parameter which determines the shape of the
stress-strain curve. The value α = 1 is most commonly used. Higher values will give a stress
strain curve with a sharper bend. The friction force | F | will never be larger than Fc if its initial
value is such that | F (0)| < Fc .

f
e
g
c

Fig. 5. Friction force as a function of displacement for Dahl’s model.

With an absence of friction and other disturbances, the dynamic model (28) about n-links rigid
robot manipulator can be written as:

M (q) q̈ + C (q, q̇) q̇ + g (q) = τ. (33)


It is assumed that the robot links are joined together with revolute joints. Although the equa-
tion (28) is complex, for this reason we use the equation (33) for the analysis to facilitate con-
trol system design. It is necessary to indicate that the Euler-Lagrange’s methodology is not the

www.intechopen.com
Cartesian Control for Robot Manipulators 177

only procedure to obtain the robot’s dynamic model since this issue has been object of many
study and researching. Researchers have developed alternative formulations based on the
Newtonian and Lagrangian mechanics with one objective: obtaining a more efficient model.

3.1 Properties
It is essential to analyze the properties on the model to be able to apply them in the obtaining
in the model on cartesian space.

3.1.1 Inertial matrix properties


The inertia matrix M(q) has an important characteristic like its intimate relation with kinetic
energy K(q, q̇),

1 T
q̇ M (q)q̇.
K(q, q̇) = (34)
2
The inertial matrix M (q) is a positive definite matrix M(q) > 0; so is a symmetric matrix,
M(q) > 0 ⇒ ∃ M(q)−1 > 0. Another vital property of M (q) is that it could be bounded above
and below. So,

µ1 ( q ) I ≤ M ( q ) ≤ µ2 ( q ) I (35)
where I is the identity matrix, µ1 (q) = 0 and µ2 (q) are scalar constants for a revolute arm and
scalar function of q for an arm generally containing prismatic joints. It is easy to realize then
that M−1 (q) is also bounded since

1 1
0≤ I ≤ M −1 ( q ) ≤ I. (36)
µ2 ( q ) µ1 ( q )
In the case of robots provided solely of rotational joints, a constant β > 0 exists like:

λmax { M (q)} ≤ β ∀ q ∈ R n ×1 (37)


where β is calculated as:
 
max 

β≥n Mij (q) (38)

i, j, q
where Mij (q) are the ijth element of the matrix M (q).

3.1.2 Coriolis and centripetal terms properties


The matrix of Coriolis and centripetal force C (q, q̇) is n × n matrix, of which elements are
functions of q and q̇. Matrix C (q, q̇) can’t be unique, but the vector C (q, q̇)q̇ can. If the matrix
C (q, q̇) is evaluated considering the joint velocity q̇ in zero, the matrix is zero for all vector q

C (q, 0) = 0 ∀q. (39)


For all vector q, x, y, z ∈ R n ×1 and the scale α we have:

C (q, x ) y = C (q, y) x
(40)
C (q, z + αx ) y = C (q, z) y + αC (q, x ) y
Vector C (q, x )y can be expressed on the form:

www.intechopen.com
178 Robot Manipulators, Trends and Development

 
x T C1 (q) y
 x T C2 (q) y 
 
C (q, x ) y =  ..  (41)
 . 
x T Cn (q) y
where Ck (q) are symmetrical matrices of dimensions n × n for all k = 1, 2, . . . , n; In fact the
ijth element Ckij (q) of matrix Ck (q) corresponds to the symbol of Chistoffel:
 
1 ∂Mkj (q) ∂Mki (q) ∂Mij (q)
Cijk (q) = + − . (42)
2 ∂qi ∂q j ∂qk
In the case of robots provided solely of rotational joints, a constant k C1 > 0 exists like:

C (q, x ) y ≤ k C1  x  y for all q, x, y ∈ R n×1 (43)


In the case of robots provided solely of rotational joints, a constants k C1 > 0 and k C2 > 0 exist
like:

C ( x, z) w − C (yu) w ≤ k C1 z − u w + k C2  x − y w z ∀u, x, y, w ∈ R n×1 (44)

Matrix C (q, q̇) is related with the inertial matrix M (q) by the expression:
 
1
xT Ṁ (q) − C (q, q̇) x = 0 ∀q, q̇, x ∈ R n×1 (45)
2
In analogous form, the matrix Ṁ(q) − 2C (q, q̇) is skew-symmetric, and it also is certain that

Ṁ (q) = C (q, q̇) + C (q, q̇) T . (46)

3.1.3 Gravity terms properties


The gravity vector is present in robots which have not been designed mechanically with com-
pensation of gravity, so, without counterbalances; or for robots assigned to move outside the
horizontal plane. The gravity terms only depends on joint positions q; and the gravity terms
can be related with the joint velocity q̇ this means:

T
g (q) T q̇ dt = U (q ( T )) − U (q (0)) for all T ∈ R + . (47)
0
In the case of robots provided solely of rotational joints, a constant k U exists like:

T
g (q) T q̇ dt + U (q (0)) ≥ k U for all T ∈ R + and where k U = min{U (q)} (48)
q
0
In the case of robots provided solely of rotational joints the gravity vector g(q) is Lipschitz,
this means that a constant k g > 0 exists like:

 g ( x ) − g (y) ≤ k g  x − y for all x, y ∈ R n×1 (49)

www.intechopen.com
Cartesian Control for Robot Manipulators 179

A simple form to calculate k g is:


  
 ∂g (q) 
 i
k g ≥ n max  (50)

i,j,q  ∂q j 


In addition k g satisfies:
   
 ∂g (q)  ∂g (q)
kg ≥ 
  ≥ λ max (51)
∂q  ∂q
The gravity term g(q) is bounded only if q is bounded:

 g (q) ≤ gb (52)
where gb is a scalar constant for revolute arms and a scalar function of q for arms containing
revolute joints.

3.2 Case of study: Dynamic model of cartesian robot


In this section we will obtain the dynamic model on three degrees of freedom cartesian robot,
and we will use this information in the following sections. The case of study is represented
in Figure 1. In order to obtain the dynamic model we need to consider its forward kinematics
(4). However, as the movement of the cartesian robot only is about transferring, the rotation
energy is zero, therefore, the equation in the kinetic energy is reduced to:

mv2 q T M(q)q
K(q, q̇) = = . (53)
2 2
Considering velocity, it is defined as:
 
x
d 
v= y , (54)
dt
z
and in (53) is represented in the squared way, it is necessary its vectorial representation,
 
v1
v2 =  v 2 = v T v = [ v1 v2 v3 ]  v2  . (55)
v3
Deriving (4) and solving (55) we have:

v21 = q̇21

v22 = q̇21 + q̇22 (56)

v23 = q̇21 + q̇22 + q̇23 .


Replacing the values on v21 , v22 and v23 in (53) we obtain the kinetic energy of each link,

www.intechopen.com
180 Robot Manipulators, Trends and Development

m1 q̇21
K1 (q, q̇) =
2

m2 (q̇21 + q̇22 )
K2 (q, q̇) = (57)
2

m3 (q̇21 + q̇22 + q̇23 )


K3 (q, q̇) = .
2
Adding the kinetic energy of each link,

m1 q̇21 m2 (q̇21 + q̇22 ) m3 (q̇21 + q̇22 + q̇23 )


K(q, q̇) = + + , (58)
2 2 2
we can expand the equation by the following form:

m1 q̇21 m2 q̇21 m2 q̇22 m3 q̇21 m3 q̇22 m3 q̇23


K(q, q̇) = + + + + + , (59)
2 2 2 2 2 2
obtaining the total kinetic energy on the robot when grouping terms:

( m1 + m2 + m3 ) 2 ( m2 + m3 ) 2 m3 2
K(q, q̇) = q̇1 + q̇2 + q̇ . (60)
2 2 2 3
The potential energy U (q) is obtained considering in this case h = q3 and m = (m1 + m2 + m3 ):

U (q) = (m1 + m2 + m3 ) gq3 . (61)


After calculating the potential and kinetic energy on the robot we calculated the Lagrangian
using (27):

(m)q̇21 (m2 + m3 )q̇22 m3 q̇23


L(q, q̇) = + + − (m1 + m2 + m3 ) gq3 . (62)
2 2 2
When we used the obtained representation of the Lagrangian (27), we solve part by part the
Euler-Lagrange equation for a conservativo system (26), we begin to solve the partial derived
one from the Lagrangian with respect to the joint velocity q̇:
  
m1 0 0 q̇1
∂L(q, q̇)
=  0 ( m2 + m3 ) 0   q̇2  ; (63)
∂q̇
0 0 ( m1 + m2 + m3 ) q̇3
We continued with the derived in (63) with respect time:
  
m1 0 0 q̈1
d ∂L(q, q̇)
 
=  0 ( m2 + m3 ) 0   q̈2  , (64)
dt ∂q̇
0 0 ( m1 + m2 + m3 ) q̈3
and finally the independent term is solved:
 
0
∂L(q, q̇)
= 0 . (65)
∂q
( m1 + m2 + m3 ) g
Thus, the dynamic model of the cartesian robot is:

www.intechopen.com
Cartesian Control for Robot Manipulators 181

      
τ1 m1 0 0 q̈1 0
 τ2  =  0 m2 + m3 0   q̈2  +  0 g (66)
τ3 0 0 m1 + m2 + m3 q̈3 m1 + m2 + m3
being τ1 , τ2 and τ3 the applied torques. As we can observe, the dynamic model represented in
(66) it is not under a friction influence.
Considering the following physical parameters:

Description Notation Value Units


Link mass 1 m1 16.180 kg
Link mass 2 m2 14.562 kg
Link mass 3 m3 12.944 kg
m
Gravity acceleration g 9.8100
s2

Table 1. Physical parameters on the three degrees of freedom cartesian robot

we can describe the dynamic model of the robot of three degrees of freedom by following:
 
16.180 0 0
M (q) =  0 30.742 0 
0 0 43.686
  (67)
0
g (q) =  0 
43.686
As it is observed in a cartesian robot the presence of the Coriolis and centripetal forces matrix
C (q, q̇) does not exist.

4. Hamilton’s equations
Elegant and powerful methods have also been devised for solving dynamic problems with
constraints. One of the best known is called Lagrange’s equations, equation (26), where the
Lagrangian L(q, q̇) is defined in (27). There is even a more powerful method called Hamilton’s
equations. It begins by defining a generalized momentum ρ, which is related to the Lagrangian
L(q, q̇) and the generalized velocity q̇ by:

∂L (q, q̇)
ρ= (68)
∂q̇
A new function, the Hamiltonian H (q, ρ), is defined by the addition of kinetic and potential
energy:

H (q, ρ) = K (q, q̇) + U (q) . (69)


From this point it is not difficult to derive

∂H (q, ρ)
q̇ = (70)
∂ρ

www.intechopen.com
182 Robot Manipulators, Trends and Development

and

∂H (q, ρ)
ρ̇ = τ − (71)
∂q
These are called Hamilton’s equations. There are two of them for each generalized coordinates.
They may be used in place of Lagrange’s equations, with the advantage that only the first
derivatives not the second ones are involved.
Proof. In order to verify the obtaining of Hamilton’s equations, the procedure begins by
solving the first element on the equation:
 
d ∂L (q, q̇) ∂L (q, q̇)
− = τ. (72)
dt ∂q̇ ∂q
  
first element
In order to solve this part in the equation, we consider the Lagrangian L(q, q̇) as the difference
between the kinetic K(q, q̇) and potential U (q) energy, equation (27); and we substitute it in
the equation (72):

∂L (q, q̇) ∂K (q, q̇) ∂U (q)


= − . (73)
∂q̇ ∂q̇ ∂q̇
It is observed when we solve the partial derivation, the term which contains the potential
energy U (q) is eliminated:

∂L (q, q̇) ∂K (q, q̇) ∂U (q✚


) ∂K (q, q̇)
= − ✚ = (74)
∂q̇ ∂q̇ ✚ ∂q̇ ∂q̇
and considering that kinetic energy K(q, q̇) is defined as:

q̇ T M (q) q̇ ρ T M −1 ( q ) ρ
K (q, q̇) = = (75)
2 2
we can represent and solve the equation as follows:
 
∂L (q, q̇) ∂K (q, q̇) ∂ q̇ T M (q) q̇
= = = M (q) q̇ = ρ (76)
∂q̇ ∂q̇ ∂q̇ 2
where ρ is the momentum. Finally, deriving (76) we have:
 
d ∂L (q, q̇)
= M (q) q̈ + Ṁ (q) q̇ = ρ̇. (77)
dt ∂q̇
Substituting the equation (77) in the equation (72) we have:

∂L (q, q̇)
ρ̇ − = τ. (78)
∂q
Now, in order to solve the second part of the equation (72) we need to consider the possible
relationships between ρ̇ and the energies as follows:
   
∂L (q, q̇) ∂U (q) ∂H (q, ρ)
ρ̇ = τ + =τ− =τ− (79)
∂q ∂q ∂q
this allows us to represent the equation (72) in the way:

www.intechopen.com
Cartesian Control for Robot Manipulators 183

 
∂H (q, ρ)
ρ̇ + =τ (80)
∂q
where H(q, ρ) is the Hamiltonian which represents the total energy of the system and it is
defined as the sum of the kinetic K(q, q̇) and potential U (q) energy, equation (69). It is assumed
that the potential energy U (q) of the system is twice differentiable respect q and any entry of
the Hessian of U (q), it is bounded for all q. This assumption is done for general manipulators.
Now, if we evaluate the Hamiltonian H(q, ρ) using the partial derivation in function the mo-
mentum ρ, we can observe the potential energy is eliminated:

∂H (q, ρ) ∂K (q, q̇) ∂U (q) ∂K (q, q̇) ∂U (q✚


) ∂K (q, q̇)
= + = + ✚ = (81)
∂ρ ∂ρ ∂ρ ∂ρ ✚∂ρ ∂ρ
and considering the form on the kinetic energy K(q, q̇), equation (75), we’ll get:
 
∂H (q, ρ) ∂K (q, q̇) ∂ ρ T M −1 ( q ) ρ
= = = M−1 (q) ρ = q̇ (82)
∂ρ ∂ρ ∂ρ 2
Until now, we have obtained the equations (79) and (82), these equations are called as Hamil-
tonian’s equations of motion:

 
∂H (q, ρ)
ρ̇ = τ− (83)
∂q
 
∂H (q, ρ)
q̇ = (84)
∂ρ

4.1 Work and energy Principle


When forces act on a mechanism, work (in technical sense) is accomplish if the mechanism
moves through a displacement. Work W is defined as force acting through a distance and it
is a scalar with units of energy.
In order to understand and apply the concept about work W , we must start from the physics
point of view. In physics, many forces are the function of an appear position. Two examples
are gravitational and the electrical forces. The one-dimensional movement equation which
describes a body under the action of a force that depends on position q is:

dq̇
F (q) = m (85)
dt
Integral on a force F which depends on position q, the realized force which represents the
work W on a body while this one moves from starting point q0 to the final q:

q
W= F (q) dq. (86)
q0

The integral on the work W can be always found, in an explicit or numerical way, in both
cases we can define a function U (q):

www.intechopen.com
184 Robot Manipulators, Trends and Development

q
U (q) = − F (q) dq (87)
q0

like:

d U (q)
F (q) = − . (88)
dq
This allows us to express the work W meaning the difference between U (q) value in the ex-
ternal points:

q
q

W= F (q) dq = −U (q)  = −U (q) + U (q0 ) (89)


q0 q0

Function U (q) is the potential energy which has the body when it is placed on point q. Up to
this moment we have found that: work W carried out by force F (q) is equal to the difference
between initial and final value on potential energy U (q) of the body.
Starting off in (86), we can observe that the value of the force F (q) can be replace by us on
equation (85), as follows:

q q
dq̇
W= F (q) dq = m dq (90)
dt
q0 q0

Considering velocity definition q̇:

dq
q̇ = (91)
dt
We can realize a change on variable based on dq

dq = q̇dt, (92)
thus we have:

q q t t
dq̇
W= F (q) dq = m q̇
dt = mq̇dq̇ = m q̇dq̇ (93)
q0 q0 
dt
t0 t0
Solving the integral, we obtain:

t
1 2 t

1 1
W=m q̇dq̇ = mq̇  = mq̇2 (t) − mq̇2 (t0 ) (94)
2 t0 2 2
t0
As it is observed in (94), when it is solved the integral, appears the kinetic energy of the body.
It is well known the unit of kinetic energy K(q, q̇) in MKS system equal to work W , that is the
Joule. Until this moment we have found for any force F (q)

q
W= F (q) dq = −U (q) + U (q0 ) = K (q, q̇) − K (q0 , q̇0 ) (95)
q0

www.intechopen.com
Cartesian Control for Robot Manipulators 185

and using (89) and (94) it is possible to express as:

W = −U (q) + U (q0 ) = K (q, q̇) − K (q0 , q̇0 ) , (96)


and putting together all the equation elements we have:

W = K (q, q̇) + U (q) = U (q0 ) + K (q0 , q̇0 ) (97)


(97) expresses the total conservation of energy principle E (q, q̇).

W = K (q, q̇) + U (q) = U (q0 ) + K (q0 , q̇0 ) (98)


  
E (q,q̇)
This principle is applicable for any one-dimensional problem where the force just represents
function of position q. Equation (98) also receives the name of the work and energy principle,
and establishes the work W carried out by a force F (q) on a body is equal to the change or
variation of its kinetic energy K(q, q̇).
One must observe that the function on defined potential energy U (q) in (87) is indefinite by a
constant value, constant integration. Nevertheless, this has no matter, since in any application
it will only seem the difference of potential energies, equation (89). It is important to remember
this, because it will allow us to choose arbitrarily the point where the body has potential
energy zero U (q) = 0. In addition, it will allow us, at any time, being able to do it, adding in
all points the same constant amount to the potential energy U (q) of a body without affecting
the results.

4.2 Principle of energy


The total energy of the system E (q, q̇) expressed in (98) can be considered like the Hamiltonian
H(q, ρ),

W = E (q, q̇) = K (q, q̇) + U (q) (99)


  
H (q, ρ)
and its derived can be considered like the power P . Power P can be interpreted like the work
velocity or the work carried out by a time unit; and it is defined as follow:

dW dH (q̇, ρ)
P= = (100)
dt dt
From a mechanical point of view, the power (mechanical power) is the transmitted force by
means on the associated mechanical element or by means on the contact forces. The simplest
case is that a variable force acts in a free particle. According to the classic dynamics, this
power is used by some variation from its kinetic energy K(q, q̇) or carried out by a time unit.
Whereas in mechanical systems more complex like rotating elements on a constant axis, and
where the moment of inertia I remains constant, the mechanical power can be related to the
engine torque or torque applied τ, and the joint velocity q̇, being the variation power of the
angular kinetic energy by time unit; in case of expressed vectorial systems, thus we have:

dW dH (q̇, ρ)
P= = = τ T q̇. (101)
dt dt
where τ ∈ R n×1 represents the vector of forces and torques at the end-effector; and q̇ ∈ R n×1
is a joint velocity.

www.intechopen.com
186 Robot Manipulators, Trends and Development

Proof. We begin differentiating (100); we can observed that the following balance energy
immediately appears:
 T  T
dH (q, ρ) ∂H (q, ρ) ∂H (q, ρ)
= q̇ + ρ̇ (102)
dt ∂q ∂ρ
Substituting the joint velocity q̇ from equation (84) in (102) we have:
 T    T
dH (q, ρ) ∂H (q, ρ) ∂H (q, ρ) ∂H (q, ρ)
= + ρ̇. (103)
dt ∂q ∂ρ ∂ρ
Applying the matrix property x T y = y T x we get:
 T    T
dH (q, ρ) ∂H (q, ρ) ∂H (q, ρ) ∂H (q, ρ)
= + ρ̇. (104)
dt ∂ρ ∂q ∂ρ
The factorization of the equation (104):

  T   
dH (q, ρ) ∂H (q, ρ) ∂H (q, ρ)
= + ρ̇ (105)
dt ∂ρ ∂q
this allow us to substitute the equation (80) in the equation (105)
 T
dH (q, ρ) ∂H (q, ρ)
= τ. (106)
dt ∂ρ
Applying the matrix property x T y = y T x we get:
 
dH (q, ρ) ∂H (q, ρ)
= τT (107)
dt ∂ρ
and substituting the joint velocity q̇ from equation (84) in (107) we obtain:

dH (q, ρ)
= τ T q̇ (108)
dt


5. Cartesian space
The joint space is analyzed because it offers mathematical bases for the cartesian space. Carte-
sian space gives advantages of interpretation to the end-user, and for him is easier to locate
the cartesian coordinates ( x, y, z) which joint displacements (q1 , q2 , . . . , qn ); that is, for the final
user it is intuitive to understand the space location of a body expressed in cartesian coordi-
nates; so it is important to describe the characteristics and properties of the cartesian space.
The analysis of the cartesian space leaving of the joint space begins by considering the inverse
kinematics, which are one of the basic functions for control systems robot manipulators. In-
verse kinematics is the process which determines the joint parameters of a based object on the
cartesian position which is described as a function f on the joint variable q:

x = f ( q ). (109)

www.intechopen.com
Cartesian Control for Robot Manipulators 187

In order to solve the inverse problem in (109) it is necessary to determine q using a partial
derivation as follow:

ẋ = J (q)q̇, (110)
where J (q) is the Jacobian matrix, q̇ is the joint velocity; and ẋ is the cartesian velocity. The
equation (110) allows us to obtain the joint velocity representation as follow:

q̇ = J (q)−1 ẋ (111)
After some operations, we can relate the joint space with cartesian space using some equa-
tions, Table 2.

Joint space Cartesian space


q̇ = J (q)−1 ẋ ẋ = J (q) q̇
q̈ = J (q)−1 ẍ − J (q)−1 J̇ (q) J (q)−1 ẋ ẍ = J (q) q̈ + J̇ (q) q̇

Table 2. Equations which relate both workspaces.

Partial derivation on the inverse kinematic model establishes a relationship between the joint
and cartesian velocity. The inverse Jacobian matrix obtained will be used for study on sin-
gular positions of the robot manipulator, for evaluation of its maneuverability and also for
optimization of its architecture.
The forward kinematics model, equation (109), provides the relationships to determine carte-
sian and joint position on the end-effector given by the joint position. As it is observed in the
equations where they relate the workspaces, Table 2, the Jacobian matrix J (q) appears.

5.1 Jacobian transpose controller


In order to define the cartesian space for control proposes is required the dynamic model in
joint space, equation (33); the equations which relate the work spaces, Table 1; and a new
scheme of control known Jacobian transpose controller. In 1981 Suguru Arimoto and Morikazu
Takegaki members of the mechanical engineering department in the Osaka University in
Japan, they published in the Journal of Dynamic Systems, Measurement and Control Vol. 103 a
new control scheme based on the Jacobian Transpose matrix; the conservation energy idea;
the principle of virtual works and generalized force; and the static equilibrium. Jacobian
transpose method removes the problematic from the Jacobian inversion mentioned above.
The annoying inversion is replaced by a simple transposition. This control scheme was used
for stability proof in the PD controller in global way, this was the first stability proof in the
PD controller. This proposal changed the point of view from the control theory because it
avoided singularities, doing as possible the robot manipulator all desired positions inside its
workspace. It is well known, the applied torque and cartesian force satisfies:

τ = J (q)T F (112)
where τ ∈ R n ×1
is the vector of applied torques, J (q) ∈ R n×n
is the Jacobian matrix and
F ∈ R n×1 is the vector from the applied force at the end-effector in cartesian space. The
equation (112) is called Jacobian transpose controller. The external force F is applied to the
end-effector on the articulated structure and results in internal forces and torques in joints.

www.intechopen.com
188 Robot Manipulators, Trends and Development

Proof. The principle of energy allows us to make certain statements about the static case by
allowing the amount of this displacement to go to an infinitesimal. From the physical point of
view, it is well known that the work has units of energy, this must be the same measured in
any set of generalized coordinates, this allows us to describe the power P as follow:

dW dH (q̇, ρ)
= = τ T q̇ (113)
dt dt
Specifically, we can equate the work done in cartesian terms with the work done in joint space
terms.
In the multidimensional case, work W is the dot product of a vector force or torque and the
vector displacement. Thus we have:

dW
= F T ẋ, (114)
dt
a necessary condition to satisfy the static equilibrium:

F T ẋ = τ T q̇ (115)
where F ∈ R n ×1 represents the vector of forces and torques at the end-effector in cartesian
coordinates; ẋ ∈ R n×1 is a cartesian velocity; τ ∈ R n×1 is a vector of torque; and q̇ ∈ R n×1 is
the joint velocity. Finally, let’s q̇ represent the corresponding joint velocity. These velocity are
related through the Jacobian matrix J (q) according to equation (110):

F T J (q)q̇ = τ T q̇ (116)
The virtual work of the system is defined as:

F T J (q)q̇ − τ T q̇ = 0, (117)

this is equal to zero if the manipulator is in equilibrium. Factorizing the equation (117) we
have:
 
F T J (q) − τ T q̇ = 0. (118)
If we analyzed the equation (118) we can determine that the system is equal to zero, this
assumption let us make the following equality:

F T J (q) − τ T = 0. (119)
Applying the property xT y = yT x
 T
J (q)T F − τ T =0 (120)

and the property ( x T ) T = x in the equation (120) we have:

J (q) T F − τ = 0 (121)
and obtaining the applied torque τ we have:

τ = J (q)T F (122)

www.intechopen.com
Cartesian Control for Robot Manipulators 189

where τ ∈ R n×1 is the applied torque; F ∈ R n×1 represent the vector of forces and torques
at the end-effector in cartesian coordinates; and J (q) ∈ R n×n is the Jacobian matrix on the
system. In other words the end-effector forces are related to joint torques by the Jacobian
transpose matrix according to (122).

5.2 Dynamic model based-on the Jacobian transpose controller


In 1981 Suguru Arimoto and Morikazu Takegaki members of the mechanical engineering de-
partment in the Osaka University in Japan, they published in the Journal of Dynamic Systems,
Measurement and Control Vol. 103 a new scheme control based on the Jacobian Transpose ma-
trix (122); the energy conservation idea; the principle of virtual works and generalized force;
and the static equilibrium. Jacobian transpose method removes the problematic of the Jaco-
bian inversion and the singularity problem. Suguru Arimoto and Morikazu Takegaki substi-
tuted the Jacobian transpose controller, equation (122), in the dynamic model, equation (33),

M (q) q̈ + C (q, q̇) q̇ + g (q) = J (q) T F (123)


and using the equations described in Table 1, we obtain:

M( x ) ẍ + C ( x, ẋ ) ẋ + g( x ) = τx , (124)
where:

M( x) = J ( q ) − T M ( q ) J ( q ) −1 (125)
−T −1 −T −1 −1
C ( x, ẋ ) = J (q) C (q, q̇) J (q) − J (q) M(q) J (q) J̇ (q) J (q) (126)
g( x ) = J (q)− T g(q) (127)
τx = F (128)

we obtained a dynamic model representation on Jacobian transpose terms.

5.2.1 Properties
Although the equation of motion (124) is complex, it has several fundamental properties
which can be exploited to facilitate a control system design. We use the following important
properties. In order to establish the properties on the described dynamic model in cartesian
space it is necessary to do the following assumptions:

Assumption 1. Jacobian matrix does exist, J (q) ∃; is continuously differentiable respecting


each entry of q, J (q) ∈ C k ; and it is considered that is of a full rank:

rank { J (q)} = n.
This assumption is required for technical reason in stability analysis inside the workspace in
cartesian space.

Assumption 2. According to the assumption 1, Jacobian matrix has a full rank, this consider-
ation indicates that its inverse representation does exist,

If rank { J (q)} = n then J (q)−1 ∃.

www.intechopen.com
190 Robot Manipulators, Trends and Development

This assumption indicates the existence of the Jacobian matrix and its inverse within the
workspace Ω.

Assumption 3. According to the assumption 1, Jacobian matrix is continuously differentiable


respecting each entry of q, this consideration indicates that its derivative representation does
exist,

If rank { J (q)} = n then J̇ (q) ∃.


This assumption indicates the existence on the derivative representation of the Jacobian matrix
within the workspace Ω.

Assumption 4. If the Jacobiana matrix does exist, its transpose does exist,

If J (q) ∃ then J (q) T ∃.


This assumption indicates the existence of the transpose representation of the Jacobian matrix
within the workspace Ω.

Assumption 5. According to the assumption 1, 2 and 4, the Jacobiana transpose matrix does
exist, and its inverse does exist,

If J (q) T ∃ then J (q)−T ∃.


This assumption indicates the existence of the inverse transpose representation of the Jacobian
matrix within the workspace Ω.

Assumption 6. According to assumptions 1, 2 and 5; and considering the definition of an


inertial matrix M ( x ), equation (125), we can say inertial matrix M ( x ) does exist,

If J (q)−1 ∃, J (q)−T ∃ and M (q) ∃ then M ( x ) ∃.


This assumption indicates the existence on the inertial matrix M ( x ) within the workspace Ω.
Obviously, matrix M (q) must exists.

Assumption 7. According to assumption 6 the inertial matrix M ( x ) does exist, then according
to assumption 1 its inverse does exist,

M (x) ∃ and M ( x ) −1 ∃.

Assumption 8. Matrix M ( x ) does exist, and it is symmetric,

M (x) ∃ and M ( x ) = M ( x ) T ∃.
Proof. In order to verify this assumption it is necessary to consider the definition of matrix
M( x ), equation (125), and transposing the matrix,
 T
M ( x ) T = J ( q ) − T M ( q ) J ( q ) −1 (129)

Applying the formula ( xyz) T = z T y T x T we have:

www.intechopen.com
Cartesian Control for Robot Manipulators 191

 T  T
M ( x ) T = J (q)−1 ( M (q)) T J (q)−T
(130)
T −T T −1
M ( x ) = J (q) M (q) J (q)
Matrix M (q) is symmetrical1 , this allows us to represent (130) the following form:

M ( x ) T = J ( q ) − T M ( q ) J ( q ) −1 (131)
We can conclude that the following equality is fulfilled:

M (x) = M (x)T (132)

Assumption 9. Considering that the matrix J (q) does exist, assumption 1, and its inverse does
exist J (q)−1 , assumption 2, when multiplying J (q) J (q)−1 or J (q)−1 J (q) we obtain the identity
matrix I.

If J (q) ∃ and J (q)−1 ∃ then J (q) J (q)−1 = I J J −1

If J (q)−1 ∃ and J (q) ∃ then J (q)−1 J (q) = I J −1 J


We observed that obtained matrices I are equal,

I J J −1 = I J −1 J = I

Assumption 10. Considering that the matrix J (q) T does exist, assumption 4, and its inverse
does exist J (q)−T , assumption 5, when multiplying J (q) T J (q)−T or J (q)−T J (q) T we obtain the
identity matrix I.

If J (q) T ∃ and J (q)−T ∃ then J (q) T J (q)−T = I J T J −T

If J (q) T ∃ and J (q)−T ∃ then J (q)−T J (q) T = I J −T J T


We observed that obtained matrices I are equal,

I J T J −T = I J −T J T = I

5.2.1.1 Inertial matrix M ( x ) properties


In accordance with assumption 6 the inertial matrix M ( x ) exists, according to assumption 7
the inverse inertial matrix exists, and in reference about assumption 8 the inertial matrix M ( x )
is symmetric. Another vital property of M ( x ) is that it is bounded above and below. So,

µ1 ( x ) I ≤ M ( x ) ≤ µ2 ( x ) I (133)
where I is the identity matrix, µ1 ( x ) = 0 and µ1 ( x ) are constant scalars for a revolute arm and
generally the function scalar of x for an arm containing prismatic joints.

1 For more information, consult section 3.1.1.

www.intechopen.com
192 Robot Manipulators, Trends and Development

 and centripetal terms C ( x, ẋ ) properties


5.2.1.2 Coriolis
The matrix ẋ T Ṁ( x ) − 2C ( x, ẋ ) ẋ ≡ 0 is skew-symmetric, so,

Ṁ( x ) = C ( x, ẋ ) + C ( x, ẋ ) T . (134)
We need to keep in mind that the equality described in (134) can be written in the following
form:
 
Ṁ ( x ) − C ( x, ẋ ) + C ( x, ẋ ) T = 0 (135)
Proof. Considering the definition on the inertia matrix M( x ), equation (125), and the Cori-
olis and centripetal terms C ( x, ẋ ), equation (126), both in cartesian space; we will verify the
equation (134) is fulfilled. Therefore we initiated transposing the Coriolis matrix, thus we
have:

C ( x, ẋ ) T = J (q)−T C (q, q̇) T J (q)−1 − J (q)−T J̇ (q) T J (q)−T M (q) J (q)−1 (136)
what it allows us to solve operation C ( x, ẋ ) + C ( x, ẋ ) T :

C ( x, ẋ ) + C ( x, ẋ ) T = J (q)−T C (q, q̇) J (q)−1 − J (q)−T M (q) J (q)−1 J̇ (q) J (q)−1

+ J (q)−T C (q, q̇) T J (q)−1 − J (q)−T J̇ (q) T J (q)−T M (q) J (q)−1


(137)
As is observed, we can put together the following terms:

C ( x, ẋ ) + C ( x, ẋ ) T = J (q)−T C (q, q̇) J (q)−1 − J (q)−T M (q) J (q)−1 J̇ (q) J (q)−1

+ J (q)−T C (q, q̇) T J (q)−1 − J (q)−T J̇ (q) T J (q)−T M (q) J (q)−1


(138)
Thus we have:

 
C ( x, ẋ ) + C ( x, ẋ ) T = J (q)−T C (q, q̇) + C (q, q̇) T J (q)−1 − J (q)−T M (q) J (q)−1 J̇ (q) J (q)−1

− J (q)−T J̇ (q) T J (q)−T M (q) J (q)−1

(139)
Applying (46) we have:

C ( x, ẋ ) + C ( x, ẋ ) T = J (q)−T Ṁ (q) J (q)−1 − J (q)−T M (q) J (q)−1 J̇ (q) J (q)−1


(140)
− J (q)−T J̇ (q) T J (q)−T M (q) J (q)−1

Now, replacing (125) in (140),

www.intechopen.com
Cartesian Control for Robot Manipulators 193

C ( x, ẋ ) + C ( x, ẋ ) T = J (q)−T Ṁ (q) J (q)−1 − J (q)−T M (q) J (q)−1 J̇ (q) J (q)−1


  
M( x)
(141)
− J (q)−T J̇ (q) T J (q)−T M (q) J (q)−1
  
M( x)

thus we have:

C ( x, ẋ ) + C ( x, ẋ ) T = J (q)−T Ṁ (q) J (q)−1 − M ( x ) J̇ (q) J (q)−1 − J (q)−T J̇ (q) T M ( x )

(142)
Equation (142) represents the first part on the proof.
The second step consists on deriving matrix M( x ) defined in (125), thus we have:

Ṁ ( x ) = J̇ (q)−T M (q) J (q)−1 + J (q)−T Ṁ (q) J (q)−1 + J (q)−T M (q) J̇ (q)−1 (143)
Using the equation (125), we can find M(q) as follows:

M ( x ) = J ( q ) − T M ( q ) J ( q ) −1

J ( q ) T M ( x ) = M ( q ) J ( q ) −1 (144)

J (q)T M ( x ) J (q) = M (q)


This allows us to replace M(q) expressed in (144) in (143), as follows:

Ṁ ( x ) = J̇ (q)−T J (q) T M ( x ) J (q) J (q)−1 + J (q)−T Ṁ (q) J (q)−1


(145)
+ J (q)−T J (q) T M ( x ) J (q) J̇ (q)−1
Some terms can be eliminated applying the identity matrix property:

Ṁ ( x ) = J̇ (q)−T J (q) T M ( x ) J (q) J (q)−1 + J (q)−T Ṁ (q) J (q)−1


  
I
(146)
+ J (q)−T J (q) T M ( x ) J (q) J̇ (q)−1
  
I
thus we have:

Ṁ ( x ) = J̇ (q)−T J (q) T M ( x ) + J (q)−T Ṁ (q) J (q)−1 + M ( x ) J (q) J̇ (q)−1 (147)

Equation (147) represents the second part on the proof.

www.intechopen.com
194 Robot Manipulators, Trends and Development

For the following step on the proof, we must consider next equation:

İ J −T J T M ( x ) + M ( x ) İ J J −1 = 0 (148)
where İ J −T J T and İ J J −1 are derivative forms on following equations:

I J −T J T = J (q) T J (q)− T
(149)
I J J −1 = J ( q ) J ( q ) − 1
thus we have:

 
d J (q)− T J (q) T
İ J −T J T = = J̇ (q)−T J (q) T + J (q)−T J̇ (q) T = 0 (150)
dt
 
d J ( q ) J ( q ) −1
İ J J −1 = = J̇ (q) J (q)−1 + J (q) J̇ (q)−1 = 0 (151)
dt
In (150) and (151) we are applying assumption 9 and 10. It is well known that derivation of
identity matrix is equal to zero, İ = 0. Now, replacing (150) and (151) in 148 we get:

   
J̇ (q)−T J (q) T + J (q)−T J̇ (q) T M ( x ) + M ( x ) J (q) J̇ (q)−1 + J̇ (q) J (q)−1 = 0 (152)
     
   
d J (q)− T J (q) T d J ( q ) J ( q ) −1
dt dt
Solving internal operations we have:

J̇ (q)−T J (q) T M ( x ) + J (q)−T J̇ (q) T M ( x ) + M ( x ) J (q) J̇ (q)−1 + M ( x ) J̇ (q) J (q)−1 = 0


(153)
Adding a zero on form:

J (q)−T Ṁ (q) J (q)−1 − J (q)−T Ṁ (q) J (q)−1 = 0 (154)


thus we have:

J̇ (q)−T J (q) T M ( x ) + J (q)−T J̇ (q) T M ( x ) + J (q)−T Ṁ (q) J (q)−1


(155)
+ M ( x ) J (q) J̇ (q)−1 + M ( x ) J̇ (q) J (q)−1 − J (q)−T Ṁ (q) J (q)−1 =0
As it is observed, the equality is conserved. Ordering equation (155) we get:

J̇ (q)−T J (q) T M ( x ) + J (q)−T Ṁ (q) J (q)−1 + M ( x ) J (q) J̇ (q)−1


(156)
− J (q)−T Ṁ (q) J (q)−1 + J (q)−T J̇ (q) T M ( x ) + M ( x ) J̇ (q) J (q)−1 = 0
Replacing (142) and (147) in (156),

www.intechopen.com
Cartesian Control for Robot Manipulators 195

J̇ (q)−T J (q) T M ( x ) + J (q)−T Ṁ (q) J (q)−1 + M ( x ) J (q) J̇ (q)−1


  
Ṁ ( x )

  (157)
− J (q)−T Ṁ (q) J (q)−1 − J (q)−T J̇ (q) T M ( x ) − M ( x ) J̇ (q) J (q)−1 = 0
  
C ( x, ẋ )+C ( x, ẋ ) T

thus we have:
 
Ṁ ( x ) − C ( x, ẋ ) + C ( x, ẋ ) T = 0. (158)
Ordering (158) we have:

Ṁ ( x ) = C ( x, ẋ ) + C ( x, ẋ ) T . (159)

5.2.1.3 Gravity terms properties


The generalized gravitational forces vector

∂U ( x )
g( x ) = (160)
∂x
satisfies:
 
 ∂g( x ) 
 ∂x  ≤ k g (161)
 

for some k g ∈ R+ , where U ( x ) is the potential energy expressed in the cartesian space and is
supposed to be bounded from below.

5.2.2 Case of study: Dynamic model based-on the J (q) T on cartesian robot
Along the chapter, we have evaluated a three degrees of freedom cartesian robot and we have
obtained several equations which are required to obtain the dynamic model based on the
Jacobian transpose controller, equation (124), these matrices are:
• The Jacobian matrix J (q) defined in (12), this matrix fulfills assumption 1:
 
1 0 0
J (q) =  0 1 0 
0 0 1
• The transpose representation on the Jacobian matrix defined in (14), this matrix fulfills
assumption 1 and 4:
 
1 0 0
J (q)T =  0 1 0 
0 0 1

www.intechopen.com
196 Robot Manipulators, Trends and Development

• The inverse representation on the Jacobian matrix is defined in (25), this matrix fulfills
assumption 1 and 2:
 
1 0 0
J ( q ) −1 =  0 1 0 
0 0 1
• The inverse representation of the Jacobian transpose matrix, this matrix fulfills assump-
tion 1 and 5:
 
1 0 0
−T
J (q) = 0 1 0 
0 0 1
• The derivative representation on the Jacobian matrix, this matrix fulfills assumptions 1
and 3:
   
1 0 0 0 0 0
d 
J̇ (q) = 0 1 0 = 0 0 0 
dt
0 0 1 0 0 0
To obtain the defined dynamic model in (124) last set of matrices is needed, thus we have, for
the inertial matrix M ( x ) defined in (125):
   
1 0 0 16.180 0 0 1 0 0
M (x) =  0 1 0   0 30.472 0  0 1 0  (162)
0 0 1 0 0 43.686 0 0 1
      
J (q)− T M (q) J ( q ) −1
Solving (162) we obtain:
 
16.180 0 0
M (x) =  0 30.472 0 . (163)
0 0 43.686
For the Coriolis and centripetal matrix C ( x, ẋ ) defined in (126) thus we have:

   
1 0 0 0 0 0 1 0 0
C ( x, ẋ ) =  0 1 0   0 0 0   0 1 0 
0 0 1 0 0 0 0 0 1
      
J (q)− T C (q,q̇) J ( q ) −1

     
1 0 0 16.180 0 0 1 0 0 0 0 0 1 0 0
− 0 1 0  0 30.472 0  0 1 0  0 0 0  0 1 0 
0 0 1 0 0 43.686 0 0 1 0 0 0 0 0 1
          
J (q)−T M(q) J ( q ) −1 J̇ (q) J ( q ) −1
(164)
Solving (164) we obtain:

www.intechopen.com
Cartesian Control for Robot Manipulators 197

 
0 0 0
C ( x, ẋ ) =  0 0 0  (165)
0 0 0
As it is observed by obtaining from matrix C ( x, ẋ ), in a cartesian robot rotation behavior does
not exist, thus the matrix of Coriolis does not exist either.
For the gravity term g( x ) defined in (127) thus we have:
  
1 0 0 0
g (x) =  0 1 0   0  (166)
0 0 1 43.686
    
J (q)− T g (q)
Solving (166) we obtain:
 
0
g (x) =  0  (167)
43.686
Now we have the dynamic model based on Jacobian transpose controller is defined as:

     
16.180 0 0 0 F1
 0 30.472 0 + 0  =  F2  (168)
0 0 43.686 43.686 F3
        
M (x) g (x) τx

5.3 Cartesian controllers


In this section we present our main results concerning about stability analysis on the cartesian
controllers. Now we are in position to formulate a cartesian control problem. Typically we
propose controllers using the energy shaping on joint coordinates, now we use this methodol-
ogy on cartesian space.

5.3.1 Energy shaping on cartesian space


The energy shaping is a technique which allows to design the control algorithms using kinetic
and artificial potential energy which is shaping via a gradient for stabilization at the equilib-
rium point and damping injection to make this equilibrium attractive. The designed control
algorithm is composed by the gradient on the artificial potential energy plus a velocity feed-
back. We use the following cartesian control scheme:

τx = ∇U (k p , x̃ ) − f v (k v , ẋ ) + g( x ) (169)
where U (k p , x̃ ) is the artificial potential energy described by:

f ( x̃ ) T k p f ( x̃ )
U (k p , x̃ ) = , (170)
2
and the term f v (k v , ẋ ) is the derivative action. We use the following Lyapunov scheme:

www.intechopen.com
198 Robot Manipulators, Trends and Development

ẋ T M( x ) ẋ
V ( ẋ, x̃ ) = + U (k x , x̃ ). (171)
2
where M ( x ) is a local definite function. The energy shaping methodology consists about
finding a U (k x , x̃ ) function to fulfill the next Lyapunov’s conditions:

V (0, 0) = 0 ∀ ẋ, x̃ = 0
(172)
V ( ẋ, x̃ ) > 0 ∀ ẋ, x̃ = 0
and doing the derivation of the Lyapunov equation we get,

ẋ T Ṁ ( x ) ẋ ∂U (k p , x̃ ) T
V̇ ( ẋ, x̃ ) = ẋ T M( x ) ẍ + − ẋ, (173)
2 ∂ x̃
fulfill the condition:

V̇ ( ẋ, x̃ ) ≤ 0, (174)
verify asymptotical stability with LaSalle theorem:

V̇ ( ẋ, x̃ ) < 0. (175)


In general terms, when we consider the dynamic model on cartesian space, equation (124), to-
gether with control law (169), then the closed-loop system is locally stable and the positioning
aim:

lim lim
x (t) = xd ∧ ẋ (t) = 0 (176)
t→∞ t→∞
is achieved.
Proof. The closed-loop system equation obtained by combining the robot dynamic model on
cartesian space, equation (124), and the control scheme (169), can be written as:
   
d x̃ − ẋ
= (177)
dt ẋ M ( x )−1 [τx − C ( ẋ, x ) ẋ ]
which is an autonomous differential equation, and the origin of state space is its unique equi-
librium point, we need to keep in mind that the inverse representation of the inertial ma-
trix M( x ) exists only if only the Jacobian matrix fulfills assumption 1. Considering the au-
tonomous system:

ẋ = f ( x ), (178)
where f : Rn → Rn is locally Lipschitz map in Rn .
Let xe be an equilibrium point for f ( xe ) =
0. Let V : R n → R be a continuously differentiable, positive definite function such as V̇ ( x ) ≤
0 ∀ x ∈ R n . Let Ω = { ẋ ∈ R n |V̇ ( x ) = 0} and suppose that no solution could stay identically
in Ω, other than the trivial solution, then the origin is locally stable. In our case f ( x ) is given
by the closed-loop system equation (178), where x = [ x̃, ẋ ] T ∈ R2n . The origin of the space
state is its unique equilibrium point for (178). Let V : R n × R n → R be a continuously
differentiable, positive definite function such as V̇ ( x̃, ẋ ) ≤ 0 ∀ ẋ, x̃ ∈ R n . Let the region:

www.intechopen.com
Cartesian Control for Robot Manipulators 199

  

Ω= ∈ R2n : V̇ ( x̃, ẋ ) = 0

(179)
R n , ẋ Rn
 
Ω = x̃ ∈ =0∈ : V̇ ( x̃, ẋ ) = 0 ,
since V̇ ( x̃, ẋ ) ≤ 0 ∈ Ω, V ( x̃ (t), ẋ (t)) is a decreasing function of t. V ( x̃, ẋ ) is continuous on the
compact set Ω, so it is bounded from below Ω.
For example, it satisfies 0 ≤ V ( x̃ (t), ẋ (t)) ≤ V ( x̃ (0), ẋ (0)). Therefore, V ( x̃ (t), ẋ (t)) has limit
α as t → ∞. Hence V̇ ( x̃ (t), ẋ (t)) = 0 and the unique invariant is x̃ = 0 and ẋ = 0. Since
the trivial solution is the closed-loop system unique solution (178) restricted to Ω, then it is
concluded that the origin of the state space is asymptotically stable in a local way.

The following block diagram describes the relationship between the robot manipulator on
cartesian space dynamic model and the controller structure, specifying a position controller.

qd tq m n
g1 g2
m q
n qp

a
m n
kb

qpp qp q
b u u

Fig. 6. Blocks of dynamic model and control scheme on cartesian space.

5.3.1.1 PD cartesian controller


In this section, we recall the stability proof of the simple PD cartesian controller which is given
as:

τx = K p x̃ − Kv ẋ + g( x ) (180)
where x̃ = xd − x denotes the position error on cartesian coordinates, xd is the desired posi-
tion, and K p and Kv are the propositional and derivative gains, respectively.

www.intechopen.com
200 Robot Manipulators, Trends and Development

The control problem can be stated by selecting the design matrices K p and Kv then the position
error x̃ vanishes asymptotically in a local way, i.e.

lim
x̃ (t) = 0 ∈ R n . (181)
t→∞
The closed-loop system equation obtained by combining the cartesian robot model, equation
(124), and control scheme, equation (180), can be written as:
   
d x̃ − ẋ
= (182)
M ( x )−1 K p x̃ − Kv ẋ − C ( x, ẋ ) ẋ
 
dt ẋ
wthis is an autonomous differential equation and the origin of the state space is its unique
equilibrium point. To accomplish the stability proof of equation (182), we proposed the fol-
lowing Lyapunov function candidate based on the energy shaping methodology oriented on
cartesian space:

ẋ T M( x ) ẋ x̃ T K p x̃
V ( ẋ, x̃ ) = + . (183)
2 2
The first term of V ( ẋ, x̃ ) is a positive definite function respecting to ẋ because M ( x ) in the case
of study is a positive definite matrix. The second one of Lyapunov function candidate (183)
is a positive definite function respecting to position error x̃, because K p is a positive definite
matrix. Therefore V ( ẋ, x̃ ) is a global positive definite and a radially unbounded function. The
time derivative of Lyapunov function candidate (183) along the trajectories on the closed-loop
(182),

ẋ T Ṁ ( x ) ẋ
V̇ ( ẋ, x̃ ) = ẋ T M( x ) ẍ + + x̃ T K p x̃˙ (184)
2
and after some algebra and using the property of the Coriolis and centripetal term described
in section 5.2.1.2. it can be written as:

V̇ ( ẋ, x̃ ) = − ẋ T Kv ẋ ≤ 0 (185)
which is a locally negative semi-definite function and therefore we conclude with stability on
the equilibrium point.
In order to prove asymptotic stability in a local way, we exploit the autonomous nature of
closed-loop (182) by applying the La Salle’s invariance principle:

V̇ ( ẋ, x̃ ) < 0. (186)


In the region
  

Ω= ∈ R n : V ( x̃, ẋ ) = 0 (187)

T
the unique invariant is x̃ T ẋ T = 0 ∈ R2n .


www.intechopen.com
Cartesian Control for Robot Manipulators 201

5.3.1.2 A polynomial family of PD-type cartesian controller


This control structure is a control scheme in joint space generalization proposed in [Reyes &
Rosado] and [Sánchez-Sánchez & Reyes-Cortés]. The family about proposed controllers with
PD-type structure and its global asymptotic stability analysis. We intend to extend the re-
sults on the simple PD controller to a large class of polynomial PD-type controllers for robot
manipulators on cartesian space. Considering the following control scheme with gravity com-
pensation given by:
n  
τx = ∑ K p2j−1 x̃2j−1 − Kv2j−1 ẋ2j−1 + g( x ) (188)
j =1

where x̃ denotes the position error on cartesian coordinates, xd is the desired position, K p
and Kv are the propositional and derivative gains, respectively, and 2j − 1 give the equation
the polynomial characteristic. The closed-loop system equation obtained by combining the
dynamic model on the robot manipulator on cartesian, equation (124), and the control scheme,
equation (188), can be written as:
   
d x̃ − ẋ
= (189)
dt ẋ M ( x )−1 [τx − C ( x, ẋ ) ẋ ]
n  
where τx = ∑ K p2j−1 x̃2j−1 − Kv2j−1 ẋ2j−1 , which is an autonomous differential equation and
j =1
the origin of the state space is its unique equilibrium point. To analyze the existence of the
equilibrium point we have evaluated x̃ and ẋ in the following way: For I ẋ = 0 ⇒ ẋ = 0, and
M ( x )−1 K p2j−1 x̃2j−1 = 0 ⇒ x̃2j−1 = 0 ⇒ x̃ = 0.
To make the proof of stability on the equation (189), we proposed the following Lyapunov
function candidate based in the energy shaping methodology oriented on cartesian space:

ẋ T M( x ) ẋ ∑nj=1 K p2j−1 x̃2j


V ( ẋ, x̃ ) = + , (190)
2 2j
the first term of V ( ẋ, x̃ ) is a positive define function respecting to ẋ because M ( x ) in the case
of study is a positive definite matrix. The second one Lyapunov function candidate (190)
is a positive definite function respecting to position error x̃, because K p is a positive define
matrix. Therefore V ( ẋ, x̃ ) is a locally positive definite. The simple cartesian PD Controller is
a particular case on the polynomial family of PD-type cartesian controller when j = 1. The
time derivative of Lyapunov function candidate (190) along the trajectories of the closed-loop
(189),
n
ẋ T Ṁ ( x ) ẋ
V̇ ( ẋ, x̃ ) = ẋ T M( x ) ẍ + − x̃˙ T ∑ K p2j−1 x̃2j−1 (191)
2 j =1

after some algebra and using the property of the Coriolis and centripetal term described in
section 5.2.1.2. it can be written as:

V̇ ( ẋ, x̃ ) = − ẋ T Kv2j−1 ẋ2j−1 ≤ 0 (192)

www.intechopen.com
202 Robot Manipulators, Trends and Development

which is a locally negative semi-definite function and therefore we conclude stability on the
equilibrium point. In order to prove asymptotic stability in a local way we exploit the au-
tonomous nature of closed-loop (189) by applying the La Salle’s invariance principle:

V̇ ( ẋ, x̃ ) < 0. (193)


In the region
  
x̃ n
Ω= ∈ R : V ( x̃, ẋ ) = 0 (194)

T
the unique invariant is x̃ T ẋ T = 0 ∈ R2n . Since (192) is a locally negative semi-definite


function in full state and the Lyapunov function (190) is a radially unbounded locally positive
definite function, then it satisfies:

0 ≤ V ( x̃ (t) , ẋ (t)) ≤ V ( x̃ (0) , ẋ (0)) (195)


the bounds for the position error are given by:
n   2
∑ λmin K p2j−1  x̃2j−1 (t)
 
j =1

1 n   2
(196)
≤  ẋ (0)2 β + ∑ λmax K p2j−1  x̃2j−1 (0)
 
m j =1

∀ m ∈ Z+ , t ≥ 0
   
where λmin K p2j−1 and λmax K p2j−1 represent the smallest and largest eigenvalues on the
diagonal matrix K p2j−1 , respectively, for derivative gain bounds are:
n   2
∑ λmin Kv2j−1  ẋ2j−1 (t)
 
j =1

1 n   2
(197)
≤  x̃ (0)2 β + ∑ λmax Kv2j−1  ẋ2j−1 (0)
 
m j =1

∀ m ∈ Z+ , t ≥ 0
   
where λmin Kv2j−1 and λmax Kv2j−1 represent the smallest and largest eigenvalues of the
diagonal matrix Kv2j−1 , respectively, β is a positive constant, strictly speaking, boundlessness
of the inertial matrix requires, generally, that all joints must be revolute:

β  ẋ  ≥  M ( x ) ẋ  ∀ x, ẋ ∈ R n
  (198)
max 

β≥n Mij ( x )

i, j, x
where Mij are elements of M ( x ).

www.intechopen.com
Cartesian Control for Robot Manipulators 203

5.3.1.3 Pascal’s Cartesian Controller


Now, we present a control structure based on Pascal’s triangle,

τx = K p ψx̃ − Kv ψẋ + g( x ) + f (τx , ẋ ) (199)


where x̃ denotes the position error on cartesian space, K p , Kv are the proportional and deriva-
 
tive gains, and ψx̃ = tanh( x̃ ) 1 + tanh2j ( x̃ ), ψẋ = tanh( ẋ ) 1 + tanh2j ( ẋ ).
2j 2j

The closed-loop system equation obtained by combining the dynamic model of the robot ma-
nipulator on cartesian space, equation (124), and the control structure, equation (199), can be
written as:

   
d x̃ − ẋ
= (200)
M ( x )−1 K p ψx̃ − Kv ψẋ − C ( x, ẋ ) ẋ
 
dt ẋ
which is an autonomous differential equation and the origin of the state space is its unique
equilibrium point. Based on Pascal’s triangle and the next trigonometrical hyperbolic function,

cosh2 ( x ) + senh2 ( x ) = 2 cosh2 ( x ) − 1 (201)


we solve the terms inside the radical, giving the following triangle:

2 −1

2 1 −2

2 −1 3 −3 (202)

2 1 −4 6 −4

2 −1 5 −10 10 −5
Inside the radical we have:

2 cosh2 ( x ) − 1

2 cosh4 ( x ) + 1 − 2 cosh2 ( x )

2 cosh6 ( x ) − 1 + 3 cosh2 ( x ) − 3 cosh4 ( x ) (203)

2 cosh8 ( x ) + 1 − 4 cosh2 ( x ) + 6 cosh4 ( x ) − 4 cosh6 ( x )

2 cosh10 ( x ) − 1 + 5 cosh2 ( x ) − 10 cosh4 ( x ) + 10 cosh6 ( x ) − 5 cosh8 ( x )


Plotting the terms within the radical we have:
When multiplying the radical for the function tanh, we modify the behavior of the function in
the following way:
To carry out the stability analysis in (200), we proposed the following Lyapunov function
candidate based in the energy shaping methodology oriented on cartesian space:

www.intechopen.com
204 Robot Manipulators, Trends and Development

o
r
n

j
i
a b c d e f g h

Fig. 7. terms within the radical.

l p

i
a b c d e f g h

Fig. 8. Complete behavior.

www.intechopen.com
Cartesian Control for Robot Manipulators 205

  T   
ln(cosh( x̃1 )) ln(cosh( x̃1 ))
 ln(cosh( x̃ ))  ln(cosh( x̃ ))
ẋ T M( x ) ẋ 
 
2   2 
V ( ẋ, x̃ ) = + ..  Kp  ..  , (204)
2 
 .



 .


 
ln(cosh( x̃n )) ln(cosh( x̃n ))
the first term on V ( ẋ, x̃ ) is a positive define function respecting to ẋ because M( x ) in the case
of study is a positive definite matrix. The second one of Lyapunov function candidate (204) is a
positive definite function respecting to position error x̃, because K p is a positive define matrix.
Therefore V ( ẋ, x̃ ) is a locally positive definite. The time derivative of Lyapunov function
candidate (204) along the trajectories of the closed-loop (200),

  T
ln(cosh( x̃1 ))
T Ṁ ( x ) ẋ
 ln(cosh( x̃ ))   
ẋ  2
 K p  tanh x̃
V̇ ( ẋ, x̃ ) = ẋ T M( x ) ẍ + x̃˙

+ .. (205)
2 
 .

 ln(cosh( x̃ ))

ln(cosh( x̃n ))

after some algebra and using the property of Coriolis and centripetal term described in section
5.2.1.2. it can be written as:
  
tanh( ẋ1 ) 1 + tanh2j ( ẋ1 )
2j

  
 2j 2j
tanh ( ẋ ) 1 + tanh ( ẋ )

T
 2 2 
V̇ ( ẋ, x̃ ) = − ẋ Kv 

..
 ≤ 0.
 (206)

  . 

1 + tanh2j ( ẋn )
2j
tanh( ẋn )
which is a locally negative semi-definite function and therefore we conclude stability on the
equilibrium point. In order to prove asymptotic stability in local way we exploit the au-
tonomous nature of closed-loop (200) by applying the LaSalle invariance principle:

V̇ ( ẋ, x̃ ) < 0. (207)


In the region
  

Ω= ∈ R n : V ( x̃, ẋ ) = 0 (208)

T
the unique invariant is x̃ T ẋ T = 0 ∈ R2n .


5.4 Experimental Set-Up


We have designed and built an experimental system for researching on cartesian robot control
algorithms and currently it is a turn key research system for developing and validation on
cartesian control algorithms for robot manipulators. The experimental system is a servomotor
robot manipulator with three degrees of freedom moving itself into a three dimensional space
as it is shown in the Figure 5.

www.intechopen.com
206 Robot Manipulators, Trends and Development

Fig. 9. Experimental Prototype. “DRILL-BOT”

The structure is made of stainless iron, direct-drive shaft with servomotors from Reliance
Electronics© . Advantages in this kind of drive shaft includes a high torque. The servomotor
has an Incremental Encoder from Hewlett Packard© .
Motors used in the experimental system are E450 model [450 oz-in.]. Servos are operated in
torque mode, so the motors act a reference if torque emits a signal information about posi-
tion is obtained from incremental encoders located on the motors, which have a resolution of
1024000 p/rev.

5.4.1 Experimental Results


To support our theoretical developments, this section presents an experimental comparison
between three position controllers on cartesian space by using an experimental system of three
degrees of freedom. To investigate the performance among controllers, they have been classi-
fied as τPD for the simple PD controller; τPoly for the polynomial family of PD-type cartesian
controller; and τPascal represent the Pascal’s cartesian controller, all the control structures on
cartesian space. To analyze the controllers’ behavior it is necessary to compare their perfor-
mances. For this reason we have used the L2 norm; this norm is a scalar value. A L2 smaller
represents minor position error and thus it is the better performance. A position control ex-
periment has been designed to compare the performances of controllers on a cartesian robot.
The experiment consists on moving the manipulator’s end-effector from its initial position to
a fixed desired target. To the present application the desired positions were chosen as:

www.intechopen.com
Cartesian Control for Robot Manipulators 207

   
x d1 0.785
 yd  =  0.615  (209)
1
z d1 0.349
where xd1 , yd1 and zd1 are in meters and represent the x, y and z axes in the prototype. The
initial positions and velocities were set to zero (for example a home position). The friction
phenomena were not modeled for compensation purpose. That is, all the controllers did not
show any type of friction compensation. We should keep in mind that the phenomenon of
friction doesn’t have a mathematical structure to be modeled. The evaluated controllers have
been written in C language. The sampling rate was executed at 2.5 ms. For proposed controller
family were used the gains showed in Table 3.

Parameter Value
K p1 359.196
K v1 35.5960
K p2 4.85400
K v2 4.36860
K p3 22.6520
K v3 3.23600

Table 3. Gains used in the experiments

5.4.2 Performance index


Robot manipulator is a very complex mechanical system, due to the nonlinear and multivari-
able nature on the dynamic behavior. For this reason, in the robotics community there are not
well-established criteria for a proper evaluation in controllers for robots. However, it is ac-
cepted in practice comparing performance of controllers by using the scalar-valued L2 norm
as an objective numerical measure for an entire error curve. The performance index is used to
measure L2 norm of the position error x̃. A small value in L2 represents a smaller error and
therefore it indicates a better performance. A vectorial function R n → R n ∈ L2 , if when we
evaluate:


L2 =  f ( x )2 dx < ∞ (210)
0
where  f (t) is the Euclidean norm of the function on the interval; it is a scalar number.
This property in vectorial functions is a measure to determine the convergence while the time
increases. As the simulation time is finite we must apply the concept of effective value to
calculate the deviation in the function between the simulation intervals, thus we defined L2
norm on the form:

1 T

2
L =  x̃ 2 dx. (211)
T 0
It is necessary to count on the discreet norm representation with the purpose of facilitate its
implementation:

www.intechopen.com
208 Robot Manipulators, Trends and Development


 x̃ 2 dx → Ik = Ik−1 + h  x̃ 2

1
L2 = I (212)
T k
where h is the period of sampling; and T is the evaluation interval. This is not the unique
form to obtain the discreet integral representation, being applied the rule of the trapeze we
can define the integral in an alternative form:
 T
T
f (t)dt → Ik = Ik−1
[ f + f k −1 ]. (213)
0 2 k
In order to obtain the performance index of proposed controllers the following program in
Matlab© receives data obtained in SIMNON© applying L2 norm.

% Platform : DRILL-BOT
% Program to evaluate controllers

% Load the files


load <archivo 1>.dat -ascii;
load <archivo 2>.dat -ascii;

% Time of the system


T=10;

% Reading of:
t =<archivo 1>(:,1); %time
xt1=<archivo 1>(:,2); %xtilde1
xt1=<archivo 2>(:,2); %xtilde2

%...............integral..............
h=0.0025;
i=size(t);
ik(1)=0;

for j=2:i
ik(j)=ik(j-1)+h*(xt1(j)*xt1(j)+xt2(j)*xt2(j));
end

%................L2 norm .............


L=sqrt(ik(j)/T)

Results obtained by applying L2 norm are in Table 4.


The performance indices graph is observed in the Figure 10.
Overall results are summarized in Figure 10 which includes the performance indexes for ana-
lyzed controllers. To average stochastic influences, data presentation in this figure represents
the meaning of root-mean-square position error vector norm of ten runs. For clarity, the data

www.intechopen.com
Cartesian Control for Robot Manipulators 209

Control structure Performance index (rad)


PD cartesian control 0.2160
A polynomial family of PD-type 0.1804
Pascal’s cartesian control 0.1618

Table 4. Performance index of the evaluated controllers

l
j

o
g
s

a b c
Fig. 10. Performance index of evaluated controllers

presented in Figure 10 are compared respecting to L2 norm of PD controller. The results from
one run to another were observed to be less than 1% of their mean, which underscore the re-
peatability in the experiments. In general, the performance of the PD controller is improved
by its counterpart.

5.4.2.1 Remarks
Through an analysis about obtained experimental data suggests the following results:
• Note that A polynomial family of PD-type cartesian controller and the Pascal’s cartesian con-
troller improves the performance obtained by the PD cartesian controller. The proposed
controller families effectively exploits its exponential capability in order to enhance the
position error, having a short transient phase and a small steady-state error. Fast con-
vergence can be obtained (faster response). Consequently, the control performance is
increased in comparison with the aforementioned controller.

www.intechopen.com
210 Robot Manipulators, Trends and Development

• As it can be seen, the position error is bounded to increase the power those where the
error signal is to be raised. However, for stability purposes, tuning procedure for the
control schemes are sufficient to select a proportional and derivative gains as diagonal
matrix, in order to ensure asymptotic stability in a local way.
• Nevertheless, in spite of the presence of friction, signals on position error are acceptably
small for proposed families.
The problem about position control for robot manipulators could correspond to the config-
uration of a simple pick and place robot or a drilling robot. For example, when the robot
reaches the desired point, it can return to the initial position. If this process is repetitive
(robot plus controller), then it would be a simple pick and place robot used for manufac-
turing systems. Other applications could be: palletizing materials, press to press transferring,
windshield glass handling, automotive components handling, cookie and bottle packing; and
drilling. In those applications, the time spent on transferring a workpiece from one station to
next or doing one or several perforations still high. In our prototype case, it becomes evident
the use of position control due to the coordinates where a bore is desired. It is important to
observe that after each perforation done by the robot it returns to their Initial position.

6. Conclusions
As a result about the assumptions and demonstrations realized in this chapter, is possible to
conclude that the cartesian control is local. This characteristic restricts the system with its work
area and it offers us a better understanding of the space in the location of the end-effector.
In this chapter we have described an experimental prototype for testing cartesian robot con-
trollers with formal stability proof, which allows the programming a general class of cartesian
robot controllers. The goal of the test system is to support the research as well as develop-
ing new cartesian control algorithms for robot manipulators. Our theoretical results are the
propose on cartesian controllers. We have shown asymptotic stability in a local way by us-
ing Lyapunov’s theory. Experiments on cartesian robot manipulator have been carried out
to show the stability and performance for the cartesian controllers. For stability purposes,
tuning procedure for the new scheme is enough to select a proportional and derivative gains
as diagonal matrix in order to ensure asymptotic stability in a local way. However, the ac-
tual choice of gains can also produce torque saturation on the actuators, thus deteriorating
the control system performance. To overcome these drawbacks, in this chapter it has been
proposed a simple tuning rule. The scheme’s performances were compared with the PD con-
troller algorithm on cartesian coordinates by using a real time experiment on three degrees of
freedom prototype. From experimental results the new scheme produced a brief transient and
minimum steady-state position error.
In general, controllers showed better performance among the evaluated controllers and this
statement can be proven by observing the performance index on the controllers. We can con-
clude that Pascal’s cartesian controller is faster than PD cartesian controller and the polyno-
mial family of PD-type cartesian controller, reason why the Pascal’s cartesian controller offers
some advantages in robot’s control and in the time of operation.

7. Acknowledgement
The authors thanks the support received by Electronics Science Faculty on Autonomous Uni-
versity of Puebla, Mexico; and also by the revision on manuscript to Lic. Oscar R. Quirarte-
Castellanos.

www.intechopen.com
Cartesian Control for Robot Manipulators 211

8. References
Craig J. J. (1989) Introduction to Robotics, Mechanics and Control, Addison-Wesley Publishing
Company, ISBN 0-201-09528-9, USA
D’Souza A., Vijayakumar S. & Schaal S. (2001) Learning inverse kinematics, in Proc. IEEE/RSJ
International Conference on Intelligent Robots and Systems, vol. 1, 298-303.
Gonin R. & H. Money A. (1989) Nonlinear L P -norm Estimation, CRC, ISBN 0-8247-8125-2, USA.
Hauser W. (1965) Introduction to the principles of mechanics, Addison-Wesley Publishing Com-
pany, Inc. Massachusetts, USA.
Kelly R. & Santibáñez V.(2003) Control de Movimiento de Robots Manipuladores, Pearson Educa-
tion SA, ISBN 84-205-3831-0, Madrid, España.
Olsson H.; Aström K. J.; Canudas de Wit C.; Gäfvert M & Lischinsky P. (1998). Friction Models
and Friction Compensation. European Journal of Control, Vol. 4, No. 3., (Dec. 1998)
176-195.
Reyes F. & Rosado A.; (2005) Polynomial family of PD-type controllers for robot manipulators,
Journal on Control Engineering Practice, Vol. 13, No. 4, (April 2005), 441-450, ISSN 0967-
0661
Sánchez-Sánchez P. & Reyes-Cortés F. (2005). Pascal’s cartesian controllers, International Con-
ference on Mechanics and Automation, Niagara Falls, Ontario, Canada, 94-100, ISBN
0-7803-9044-X
Sánchez-Sánchez P. & Reyes-Cortés F. (2005) Position control through Pascal’s cartesian con-
troller, Transactions on Systems, Vol. 4, No. 12, 2417-2424, ISSN 1109-2777
Sánchez-Sánchez P. & Reyes-Cortés F. (2006) A new position controller: Pascal’s cartesian con-
trollers, International Conference on Control and Applications, Montreal, Quebec,
Canada, 126-132, ISBN 0-88986-596-5
Sánchez-Sánchez P. & Reyes-Cortés F. (2008) A Polynomial Family of PD-Type Cartesian Con-
trollers, International Journal of Robotics and Automation, Vol. 23, No. 2, 79-87, ISSN
0826-8185
Santibáñes V.; Kelly R. & Reyes-Cortés F. (1998) A New Set-point controller with Bounded
Torques for Robot Manipulators. IEEE Transactions on Industrial Electronics, Vol. 45,
No. 1, 126-133
Spong, M. W & Vidyasagar M. (1989) Robot Dynamics and Control, John Wiley & Sons, ISBN
0-471-61243-X, USA.
Spong, M. W., Lewis F. L. & Adballah C. T. (1993) Robot Control, Dynamics, Motion Planning and
Analysis, IEEE Press, ISBN 0-7803-0404-7, USA.
Spong, M. W., Hutchinson S. & Vidyasagar M. (2006) Robot modeling and Control, John Wiley &
Sons, Inc, ISBN 0-471-64990-8, USA.
Synge L. J. (2008) Principles of mechanics, Milward Press, ISBN 1-443-72701-6, USA.
Takegaki M. & Arimoto S. (1981) A New Feedback Method for Dynamic Control of Manipu-
lators, Journal of Dynamics System, Measurement and Control, Vol. 103, No. 2, 119-125.
Taylor R. J. (2005) Classical Mechanics, University Science Books, ISBN 1-8913-8922-X, USA.

www.intechopen.com
212 Robot Manipulators, Trends and Development

www.intechopen.com
Robot Manipulators Trends and Development
Edited by Agustin Jimenez and Basil M Al Hadithi

ISBN 978-953-307-073-5
Hard cover, 666 pages
Publisher InTech
Published online 01, March, 2010
Published in print edition March, 2010

This book presents the most recent research advances in robot manipulators. It offers a complete survey to
the kinematic and dynamic modelling, simulation, computer vision, software engineering, optimization and
design of control algorithms applied for robotic systems. It is devoted for a large scale of applications, such as
manufacturing, manipulation, medicine and automation. Several control methods are included such as optimal,
adaptive, robust, force, fuzzy and neural network control strategies. The trajectory planning is discussed in
details for point-to-point and path motions control. The results in obtained in this book are expected to be of
great interest for researchers, engineers, scientists and students, in engineering studies and industrial sectors
related to robot modelling, design, control, and application. The book also details theoretical, mathematical
and practical requirements for mathematicians and control engineers. It surveys recent techniques in
modelling, computer simulation and implementation of advanced and intelligent controllers.

How to reference
In order to correctly reference this scholarly work, feel free to copy and paste the following:

Pablo Sanchez-Sanchez and Fernando Reyes-Cortes (2010). Cartesian Control for Robot Manipulators, Robot
Manipulators Trends and Development, Agustin Jimenez and Basil M Al Hadithi (Ed.), ISBN: 978-953-307-073-
5, InTech, Available from: http://www.intechopen.com/books/robot-manipulators-trends-and-
development/cartesian-control-for-robot-manipulators

InTech Europe InTech China


University Campus STeP Ri Unit 405, Office Block, Hotel Equatorial Shanghai
Slavka Krautzeka 83/A No.65, Yan An Road (West), Shanghai, 200040, China
51000 Rijeka, Croatia
Phone: +385 (51) 770 447 Phone: +86-21-62489820
Fax: +385 (51) 686 166 Fax: +86-21-62489821
www.intechopen.com
© 2010 The Author(s). Licensee IntechOpen. This chapter is distributed
under the terms of the Creative Commons Attribution-NonCommercial-
ShareAlike-3.0 License, which permits use, distribution and reproduction for
non-commercial purposes, provided the original is properly cited and
derivative works building on this content are distributed under the same
license.

You might also like