InTech-Cartesian Control For Robot Manipulators
InTech-Cartesian Control For Robot Manipulators
8
0
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.
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.
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
∂ 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.
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.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:
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.
CT
J ( q ) −1 = (18)
det J (q)
where C is the co-factors matrix.
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.
www.intechopen.com
Cartesian Control for Robot Manipulators 173
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
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:
∂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 a
b b
(c) Stiction, Coulomb and viscous friction (d) Friction may decrease continuously
This feature allows considering the common Coulomb and viscous friction models. At zero
velocities, only static friction is satisfying presented
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
With an absence of friction and other disturbances, the dynamic model (28) about n-links rigid
robot manipulator can be written as:
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.
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:
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:
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
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:
www.intechopen.com
Cartesian Control for Robot Manipulators 179
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.
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
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
( 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 ):
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:
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, ρ)
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):
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, ρ)
ρ̇ = τ− (83)
∂q
∂H (q, ρ)
q̇ = (84)
∂ρ
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
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
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.
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.
τ = 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)
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).
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)
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:
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,
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 4. If the Jacobiana matrix does exist, its transpose does exist,
Assumption 5. According to the assumption 1, 2 and 4, the Jacobiana transpose matrix does
exist, and its inverse does exist,
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 ∃.
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)
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:
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.
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.
I J T J −T = I J −T J T = I
µ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.
www.intechopen.com
192 Robot Manipulators, Trends and Development
Ṁ( 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̇) + C (q, q̇) T J (q)−1 − J (q)−T M (q) J (q)−1 J̇ (q) J (q)−1
(139)
Applying (46) we have:
www.intechopen.com
Cartesian Control for Robot Manipulators 193
thus we have:
(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)
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:
www.intechopen.com
Cartesian Control for Robot Manipulators 195
(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)
∂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
τ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:
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
x̃
Ω= ∈ 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
τ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:
www.intechopen.com
Cartesian Control for Robot Manipulators 201
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:
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:
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:
function in full state and the Lyapunov function (190) is a radially unbounded locally positive
definite function, then it satisfies:
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
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,
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 )
www.intechopen.com
204 Robot Manipulators, Trends and Development
o
r
n
j
i
a b c d e f g h
l p
i
a b c d e f g h
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:
www.intechopen.com
206 Robot Manipulators, Trends and Development
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.
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
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
% 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
www.intechopen.com
Cartesian Control for Robot Manipulators 209
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