Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
9 views27 pages

PA10 Arm Control

The document discusses motion control of industrial robots, focusing on the PA10 arm and its operational space control methods. It reviews theoretical stability results and describes the configuration of the PA10 in torque mode, detailing the hierarchical control structure involving joint-space and operational-space control schemes. Experimental results from real-time implementations are also presented to demonstrate the feasibility of the proposed control methods.

Uploaded by

farrokhi2001
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views27 pages

PA10 Arm Control

The document discusses motion control of industrial robots, focusing on the PA10 arm and its operational space control methods. It reviews theoretical stability results and describes the configuration of the PA10 in torque mode, detailing the hierarchical control structure involving joint-space and operational-space control schemes. Experimental results from real-time implementations are also presented to demonstrate the feasibility of the proposed control methods.

Uploaded by

farrokhi2001
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Motion Control of Industrial Robots in Operational

Space: Analysis and Experiments with the PA10 Arm 417

21
0

Motion Control of Industrial Robots in


Operational Space: Analysis and
Experiments with the PA10 Arm
Ricardo Campa1 , César Ramírez1 , Karla Camarillo2 ,
Víctor Santibáñez1 and Israel Soto1
1 Instituto Tecnológico de la Laguna
2 Instituto Tecnológico de Celaya
Mexico

1. Introduction
Since their appearance in the early 1960’s, industrial robots have gained wide popularity as
essential components in the construction of automated systems. Reduction of manufacturing
costs, increase of productivity, improvement of product quality standards, and the possibility
of eliminating harmful or repetitive tasks for human operators represent the main factors
that have determined the spread of the robotics technology in the manufacturing industry.
Industrial robots are suitable for applications where high precision, repeatability and tracking
accuracy are required. These facts give a great importance to the analysis of the actual control
schemes of industrial robots (Camarillo et al., 2008).
It is common to specify the robotic tasks in terms of the pose (position and orientation) of
the robot’s end–effector. In this sense, the operational space, introduced by O. Khatib (1987),
considers the description of the end–effector’s pose by means of a position vector, given in
Cartesian coordinates, and an orientation vector, specified in terms of Euler angles. On the
other hand, the motion of the robot is produced by control signals applied directly to the joint
actuators; further, the robot configuration is usually measured through sensors located in the
joints. These facts lead to consider two general control schemes:
• The joint–space control requires the use of inverse kinematics to convert the pose desired
task to joint coordinates, and then a typical position controller using the joint feedback
signals is employed.
• The operational–space control uses direct kinematics to transform the measured positions
and velocities to operational coordinates, so that the control errors are directly com-
puted in this space.
The analysis of joint–space controllers is simpler than that of operational–space controllers.
However, the difficulty of computing the inverse kinematics, especially for robots with many
degrees of freedom, is a disadvantage for the implementation of joint–space controllers in
real–time applications.

www.intechopen.com
418 Advances in Robot Manipulators

Most of industrial robots are driven by brushless DC (BLDC) servoactuators. Typically, this
kind of servos include electronic drives which have internal joint velocity and torque con-
trollers (Campa et al., 2008). Thus, the drive’s input signal can be either the desired joint
velocity or torque, defining the so–called velocity or torque operation modes, respectively. In
practice, these drive inner controllers are fixed (they are usually PI controllers tuned with a
high proportional and integral gains), and an overall outer loop is necessary to achieve the
control goal in operational space.
Aicardi et al. (1995) were the first in analyzing such a hierarchical structure to solve the
problem of pose control, but considering an ad-hoc velocity inner loop. Kelly & Moreno
(2005) used the same inner controller, together with the so–called resolved motion rate controller
(RMRC) proposed by Whitney (1969), to solve the problem of operational space control. More
recently, Camarillo et al. (2008) invoked some results from (Qu & Dorsey, 1991) to the analy-
sis of a two–loop hierarchical controller using the RMRC as the outer loop and the typical PI
velocity controller in the inner loop.
The Mitsubishi PA-10 arm is a general–purpose robotic manipulator with an open architec-
ture, which makes it a suitable choice for both industrial and research applications (Oonishi,
1999). The PA-10 system has a hierarchical structure with several control levels and standard
interfaces among them; the lowermost level is at the robot joint BLDC servoactuators, which
can be configured either in velocity or torque mode; however, the original setup provided by
the manufacturer allows only the operation in velocity mode.
The aim of this work is twofold. Firstly, we review the theoretical results that have been
recently proposed in (Camarillo et al., 2008), regarding the stability of the operational space
control of industrial robots, assuming inner joint velocity PI controllers, plus the RMRC as
the outer loop. Secondly, as a practical contribution of this chapter, we describe the steps
required to configure the PA-10 robot arm in torque mode, and include some experimental
results obtained from the real–time implementation of two–loop operational space controllers
in a PA-10 robot arm which is in our laboratory.
After stating the concerns of the chapter, and recalling the main aspects of modeling and
controlling industrial robots (sections 1 and 2) we review the stability analysis of the two–
loop operational–space motion–control scheme in Section 3. The description of the PA-10
open–architecture is given in Section 4, while Section 5 explains the hardware and software
interfaces that were developed in order to make the PA-10 work in torque–mode. To show the
feasibility of the operational–space control scheme in Section 3, we carried out some real–time
experiments using the platform described before in a real PA-10 robot; this is explained in
Section 6. Finally, concluding remarks are set in Section 7.

2. Modeling and Control of Industrial Robots


2.1 Kinematic and Dynamic Modeling
From a mechanical point of view, industrial robots are considered to have an open kinematic
chain, conformed by rigid links and actuated joints. One end of the chain (the base) is fixed,
while the other (usually called the end–effector) is supposed to have a tool or device for execut-
ing the task assigned to the robot. As this structure resembles a human arm, industrial robots
are also known as robot manipulators.

2.1.1 Kinematics
In a typical industrial robot the number of degrees of freedom of the robot equals the number
of joints in the kinematic chain; let n be that number. The configuration of the robot can then

www.intechopen.com
Motion Control of Industrial Robots in Operational
Space: Analysis and Experiments with the PA10 Arm 419

be described by a set of n joint coordinates:


T
∈ IRn .

q = q1 q2 ··· qn

On the other hand, let m be the number of degrees of freedom required to specify the task to be
executed by the robot. Notice that, in order to ensure the accomplishment of the desired task,
then n ≥ m. If n > m we have a redundant manipulator, which has more degrees of freedom
that those required to execute the given task.
It is common that the task is specified in terms of the pose (position and orientation) of the
robot’s end–effector (usually time–varying). In the general 3D–motion case, we require three
degrees of freedom for the position and other three for the orientation, thus m = 6. Let x be
the set of operational coordinates for describing the pose of the end–effector, then
T
∈ IR6 .

x = x1 x2 ··· x6

The direct kinematic model of the robot can be written as

x = h ( q ), (1)
n 6
where h(q) : IR → IR is a function describing the relation between the joint coordinates and
the operational coordinates. Furthermore, the differential kinematics equation can be obtained
as the time derivative of the direct kinematics equation (1), i.e. (Sciavicco & Siciliano, 2000):

ẋ = J (q)q̇, (2)
6× n
where J (q) ∈ IR is the so–called analytic Jacobian matrix.
To obtain the inverse differential kinematics, we use the right pseudoinverse of J (q), which is
given by (Sciavicco & Siciliano, 2000):
  −1
J (q)† = J (q) T J (q) J (q) T , (3)

in such a way that J (q) J (q)† = I, being I ∈ IR6×6 the identity matrix. Notice that if n = 6 then
J (q)† reduces to the conventional inverse matrix J (q)−1 .
In the general case, the inverse differential kinematics is given by
 
q̇ = J (q)† ẋ + I − J (q)† J (q) q̇0 ∈ IRm (4)

where the first term is known as the minimal norm solution of (2), and matrix I − J (q)† J (q)
 

is the orthogonal projector to the null space of J (q), N ( J ), defined as

N ( J ) = {w ∈ IRn : Jw = 0}.

Any vector belonging to N ( J ) has no effect in the motion of the robot’s end–effector, but in
the self–motion of its joints (Nakamura, 1991). And as the second term of (4) always belongs
to N (J ), independently of the vector q̇0 (that can be easily shown by left multiplying (4)
by J (q)), then q̇0 can be considered as a joint velocity vector chosen in a way that allows
performing a secondary task, without affecting the motion of the robot’s end–effector.
There exist different approaches for choosing vector q̇0 , most of them considering that it is the
gradient of a suitable cost function. See (Sciavicco & Siciliano, 2000) for more information on
this.

www.intechopen.com
420 Advances in Robot Manipulators

In the analysis forthcoming, it is assumed that the robot’s end–effector motion makes J (q) to
be full rank during the whole task. Also, it is assumed that the following inequalities stand,
for some positive constants k J , k J p , and k dJ p :

 J (q) ≤ k J ∀ q ∈ IRn , (5)

 J (q)†  ≤ k J p , ∀ q ∈ IRn , (6)


  
d n
 J̇ (q)†  =  † 

 dt J ( q )  ≤ k dJ p , ∀ q ∈ IR . (7)

2.1.2 Dynamics
The dynamic model of a serial n–joint robot free of friction is written (Kelly et al., 2005):

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

where q ∈ IRn is the vector of joint coordinates, q̇ ∈ IRn is the vector of joint velocities, q̈ ∈ IRn
is the vector of joint accelerations, τ ∈ IRn is the vector of applied torque inputs, M(q) ∈ IRn×n
is the symmetric positive definite manipulator inertia matrix, C (q, q̇) ∈ IRn×n is the matrix of
centripetal and Coriolis torques, and g (q) ∈ IRn is the vector of gravitational torques.
Some useful properties of the dynamic model (8) that will be used in this document, are the
following (Kelly et al., 2005):
Property 1: C (q, q̇) can be chosen so that matrix 21 Ṁ (q) − C (q, q̇) is skew–symmetric, i.e.,
 
1
yT Ṁ(q) − C (q, q̇) y = 0, ∀ y ∈ IRn . (9)
2

Property 2: There exist positive constants k M , k C and k g such that, for all u, w, y ∈ IRn , we
have

 M(u)y ≤ k M  y , (10)
C (u, w)y ≤ k C wy, (11)
 g (u) ≤ kg. (12)

2.2 Hierarchical control


It is well–known that most of industrial robots have internal joint velocity PI controllers, which
are usually tuned with very high proportional and integral gains. In practice, these internal
controllers are fixed (they belong to each of the joint actuator’s servodrives), and an outer
loop is necessary to achieve the control goal in operational space. This two–loop hierarchical
structure is shown in Figure 1.

Fig. 1. Typical scheme of a hierarchical structure for operational space control.

www.intechopen.com
Motion Control of Industrial Robots in Operational
Space: Analysis and Experiments with the PA10 Arm 421

2.2.1 Kinematic controller


By kinematic control we refer to any scheme that uses an inverse Jacobian algorithm to re-
solve the desired joint velocities directly from the pose variables of the desired task. Thus, a
kinematic controller is used as the outer loop in the hierarchical controller of Figure 1, which
provides the desired joint velocities for the inner velocity controller.
In this chapter we use as kinematic controller the so–called resolved motion rate control
(RMRC), which was first proposed by (Whitney, 1969). Using this scheme, the desired joint
velocity for the inner loop, can be written as
 
vd = J (q)† [ ẋd + K x̃] + I − J (q)† J (q) q̇0 , (13)

where vd ∈ IRn is the desired joint velocity vector, ẋd ∈ IR6 is the time derivative of the desired
pose vector xd in operational space, x̃ = xd − x ∈ IR6 is the pose error vector in operational
space, and K ∈ IR6×6 is a symmetric positive definite matrix of control gains. The second term
in (13) is added to include the possibility of controlling a secondary task in redundant robots.

2.2.2 Joint velocity PI controller


For the inner loop in Figure 1, we consider the classical joint velocity proportional integral PI
controller, commonly used in industrial robots, which can be written as

τ = K p ṽ + Ki ξ, (14)
ξ̇ = ṽ, (15)

where
ṽ = vd − q̇ ∈ IRn , (16)
t n×n
ξ = 0 ṽ(σ) dσ, and K p , Ki ∈ IR are diagonal positive definite matrices.
Without loss of generality, let us take
 
K p = k p + γ I, (17)
Ki = αK p , (18)

where k p , γ and α are strictly positive constants. Notice that in such case (18) can be written
as
Ki = [k i + αγ] I, (19)
with k i = αk p , or
ki
α= . (20)
kp

3. Stability Analysis
The stability analysis presented here is taken from (Camarillo et al., 2008). More detail can be
found in that reference.
First, some remarks on notation: We use λmin { A} and λmax { A} to represent, respectively,
the smallest and the largest eigenvalues of a symmetric positive definite matrix A(y), for any
y ∈ IRn . Given y ∈ IRn and a matrix A(y) the Euclideannorm of y is defined as y = y T y,
and the induced norm of A(y) is defined as  A(y) = λmax { A T A}.

www.intechopen.com
422 Advances in Robot Manipulators

Note in Figure 1 that the closed–loop system is formed by the RMRC controller (13), the joint
velocity PI controller (14)–(15), and the robot model, given by (8), (1) and (2).
Left multiplying (13) by J (q), using (2), and (16), we get
x̃˙ = −K x̃ + J (q)ṽ. (21)
Substituting (14) into the robot dynamics (8) we have
M(q)q̈ + C (q, q̇)q̇ + g (q) = K p ṽ + Ki ξ. (22)
Now, taking into account (16) and its derivative, we get
M (q)ṽ˙ + C (q, q̇)ṽ + K p ṽ + Ki ξ = M(q)v̇d + C (q, q̇)vd + g (q).
We can add the terms αM(q)ṽ + αC (q, q̇)ξ to both sides of the last equation, to obtain
M (q) ṽ˙ + αṽ + C (q, q̇) [ṽ + αξ ] + K p ṽ + Ki ξ =
 

M(q) [v̇d + αṽ] + C (q, q̇) [vd + αξ ] + g (q). (23)


Finally, from (21), (15) and (23), we get the closed–loop system in terms of the state vector
T
z = x̃ T ξ T ṽ T ∈ IR6+2n :


   
x̃ J (q)ṽ − K x̃
d   
ξ = ṽ  ,
 (24)
dt − 1

ṽ −αṽ − M(q) C (q, q̇) [ṽ + αξ ] + K p ṽ + Ki ξ − d(t, z)
where the term
d(t, z) = M (q) [v̇d + αṽ] + C (q, q̇) [vd + αξ ] + g (q) (25)
is considered as a disturbance and, as it is shown in (Camarillo et al., 2008), is upper bounded
for all t ≥ t0 by a quadratic polynomial:
d(t, z) ≤ ς 2 z(t)2 + ς 1 z(t) + ς 0 , (26)
where ς 0 , ς 1 , ς 2 are positive constants, assuming that vd  and v˙d  are also bounded.
Substituting the definitions (17) and (19) in (24), we get
 
x̃  
J (q)ṽ − K x̃
d  
ξ  
 = ṽ  .
 (27)
dt   −1 C ( q, q̇ ) [ ṽ + αξ ] + k [ ṽ + αξ ] + γ [ ṽ + αξ ] − d ( t, z )

ṽ − α ṽ − M ( q ) p

In accordance with the theory of perturbed systems (Khalil, 2005), we define


   
x̃ J (q)ṽ − K x̃
d   
ξ = ṽ  (28)
dt
−αṽ − M(q)−1 C (q, q̇) [ṽ + αξ ] + k p [ṽ + αξ ]
 

as the nominal system from the closed–loop system (27). As we can see, (28) is free of distur-
bances, and the origin of the state space z = 0 is an equilibrium of (28).
In order to show the stability of the overall closed–loop system (27), we use the methodology
proposed in (Khalil, 2005), that is:
(a) First, to prove the asymptotic stability of the nominal system (28).
(b) Then, to prove the uniform ultimate boundedness of the overall closed–loop system
(27).

www.intechopen.com
Motion Control of Industrial Robots in Operational
Space: Analysis and Experiments with the PA10 Arm 423

3.1 Stability of the nominal system


To prove that the origin of the nominal system (28) is exponentially stable, we propose the
following Lyapunov function candidate, inspired from (Qu & Dorsey, 1991):
 
1 1 1
V (t, z) = x̃ T x̃ + αξ T k p I + αM(q) ξ + αξ T M(q)ṽ + ṽ T M(q)ṽ. (29)
2 2 2
It is easy to show that
 T    T  
 x̃  x̃  x̃  x̃
 ξ   P1  ξ   ≤ V (t, z) ≤  ξ   P2  ξ   ,
ṽ ṽ ṽ ṽ
with
1 
2 0 0
P1 =  0 αk p + 21 α2 λmin { M} − 12 αλmax { M} ,
0 − 21 αλmax { M} 1
2 λmin { M }
1 
2 0 0
P2 =  0 αk p + 21 α2 λmax { M} 12 αλmax { M} ,
1 1
0 2 αλmax { M } 2 λmax { M }

so that the Lyapunov function candidate (29) satisfies

λ1 z2 ≤ V (t, z) ≤ λ2 z2 , (30)

for some positive constants λ1 , λ2 , given by

λ1 = λmin { P1 }, λ2 = λmax { P2 }. (31)

Notice that V (t, z) is a globally positive definite function if

2k p λmin { M}
α≤ , (32)
λ2max { M} − λ2min { M}

or, using (20), if


2k2p λmin { M}
ki ≤ . (33)
λ2max { M} − λ2min { M}
On the other hand, the time derivative of the Lyapunov function candidate (29) is given by
1 T
V̇ (t, z) = x̃ T x̃˙ + αk p ξ T ξ̇ + α2 ξ T M(q)ξ̇ + α2 ξ T Ṁ (q)ξ + αξ̇ M(q)ṽ + αξ T Ṁ (q)ṽ
2
1
+αξ T M(q)ṽ˙ + ṽ T M(q)ṽ˙ + ṽ T Ṁ(q)ṽ, (34)
2
which along the solutions of the nominal system (28) results in

V̇ (t, z) = − x̃ T K x̃ − αk i ξ T ξ − k p ṽ T ṽ + x̃ T J (q)ṽ,

where we have used the definition of α in (20), and the skew–symmetry property (9) to elimi-
nate some terms.

www.intechopen.com
424 Advances in Robot Manipulators

Then, under the assumption that the Jacobian matrix J (q) is bounded, see (5), it is easy to
show that
 T  
 x̃  x̃
V̇ (t, z) ≤ −  ξ   Q  ξ   , (35)
ṽ ṽ

with
− 12 k J
 
λmin {K } 0
Q= 0 αk i 0 . (36)
− 21 k J 0 kp

So that (35) can be written as

V̇ (t, z) ≤ −λ3 z2 , (37)

where

λ3 = λmin { Q}. (38)

Notice that we can choose


k2J
λmin {K } > , (39)
4k p
so that Q is positive definite and V̇ (t, z) is globally negative definite.
Thus, provided that (33) and (39) are satisfied, and according to Lyapunov’s direct method
(Khalil, 2005), we conclude the exponential stability of the origin of the nominal system (28).
This implies that the origin of the state space is attractive, i.e.
 
x̃(t)
lim z(t) = lim  ξ (t)  = 0.
t→∞ t→∞
ṽ(t)

3.2 Stability of the overall closed–loop system


We have shown in the previous subsection that the equilibrium of the nominal system (28)
is exponentially stable by choosing the feedback gains k i , and λmin {K } according to (33) and
(39), respectively. Now, we are able to show that, by properly choosing the feedback gain γ
of the joint velocity PI controller, the solutions z(t) of the overall closed–loop system (27) are
uniformly ultimately bounded.
First, we recall the following fact (Qu & Dorsey, 1991), that will be useful for our purposes.
Fact 1: Let
g(z) = −α1 z2 + α2 z + α3 , (40)
be a quadratic polynomial with α1 > 0, and α2 , α3 ≥ 0. Given

α2 + α22 + 4α1 α3
η= , (41)
2α1
then
• g(η ) = 0,

www.intechopen.com
Motion Control of Industrial Robots in Operational
Space: Analysis and Experiments with the PA10 Arm 425

• g(z) < 0, and strictly decreasing, for all z > η.



Now, we recall the following theorem in (Camarillo et al., 2008), which is a variation of Theo-
rem 4.18 in (Khalil, 2005).
Theorem 1: Let
ż = f (t, z), (42)
be a system that describes a first–order vector differential equation, where f : [0, ∞) × D → IRm
and D ⊂ IRm , is a domain that contains the origin. Let V (t, z), with V : [0, ∞) × D → IR, be a
Lyapunov–like function that satisfies

λ1  z 2 ≤ V (t, z) ≤ λ2  z 2 , (43)
V̇ (t, z) ≤ g(z) < 0, ∀ z > η, (44)

for all t ≥ t0 , and for all z ∈ D, with λ1 , λ2 > 0, g(z) and η defined in Fact 1 by (40) and
(41), respectively. Then, there exists T ≥ 0 (dependent on z(t0 ) and η) such that the solution of (42),
satisfies the following properties, for any initial state z0 = z(t0 ):
A. Uniform boundedness

λ2
z(t) ≤ max {z0 , η } , ∀ t ≥ t0 . (45)
λ1

B. Uniform ultimate boundedness



λ2 ′
z(t) ≤ η , ∀ t ≥ t0 + T, (46)
λ1

for all η ′ > η.



The proof of Theorem 1 can be found in (Camarillo et al., 2008). Theorem 1 is the base for the
following result:
Proposition 1: Consider the overall closed–loop system (27) with the outer–loop kinematic controller

vd = J (q)† [ ẋd + K x̃],

and the inner–loop velocity controller

τ = K p ṽ + Ki ξ = [k p + γ]ṽ + [k i + γα]ξ. (47)

Suppose the control gains are chosen so that k p , k i and K satisfy (33) and (39). Moreover, γ is a positive
scalar such that
1 2 
γ≥ σ ς 2 + σς 1 + ς 0 , (48)
ǫ
where ς 0 , ς 1 and ς 2 are the coefficients of the upper bound of d(t, z), given in (26), ǫ is a positive
constant such that
λ
0 < ǫ < 3, (49)
ς2

www.intechopen.com
426 Advances in Robot Manipulators

and 
λ2
σ= max{z(t0 ), η̄ }, (50)
λ1
with 
ǫς 1 + ǫ2 ς21 + 4ǫς 0 [λ3 − ǫς 2 ]
η̄ = , (51)
2 [λ3 − ǫς 2 ]
where λ1 , λ2 , are defined in (31), and λ3 is in (38).
Then, the system is stabilizable in the sense that exists T ≥ 0 such that the solution z(t), with initial
state z0 = z(t0 ) satisfies
z(t) ≤ σ, ∀ t ≥ t0 (uniform boundedness), (52)

λ2 ′
z(t) ≤ η̄ , ∀ t ≥ t0 + T (uniform ultimate boundedness). (53)
λ1

for all η̄ ′ > η̄, where (52) and (53) regard to the uniform and uniform ultimate boundedness, respec-
tively.

The proof of Proposition 1 is also in (Camarillo et al., 2008); it employs (25) and Theorem 1.
The following remarks can be set from this result:
Remark 1. Notice that if k p → ∞ in the PI controller then, from (20), α → 0 and, considering (36),
and (49), we get λ3 = λmin { Q} →  0 and ǫ → 0. Moreover, from (51), ǫ → 0 implies that η̄ → 0,
the uniform bound σ becomes σ = λλ21 z(t0 ), and the system tends to be exponentially stable.
Remark 2. It is noteworthy that the joint velocity PI controller
τ = [k p + γ]ṽ + [k i + γα]ξ
ξ̇ = ṽ
can be also written as
τ = [k p + γ]ṽ + αy
1
ẏ = ṽ.
kp + γ
Thus, if γ → ∞, then, ṽ → 0, and q̇ → vd . Also, considering (17) and (19), γ → ∞ implies
K p , Ki → ∞.
From the previous remarks we can conclude that the common assumption of having
high–value gains in the inner velocity PI controller of industrial robots leads to small tracking
errors during the execution of a motion control task.

4. The PA10 Robot System


The Mitsubishi PA10 arm is an industrial robot manipulator which completely changes the
vision of conventional industrial robots. Its name is an acronym of Portable General-Purpose
Intelligent Arm. There exist two versions (Higuchi et al., 2003): the PA10-6C and the PA10-
7C, where the suffix digit indicates the number of degrees of freedom of the arm. This work
focuses on the study of the PA10-7CE model, which is the enhanced version of the PA10-7C.
The PA10 arm is an open architecture robot; it means that it possesses (Oonishi, 1999):

www.intechopen.com
Motion Control of Industrial Robots in Operational
Space: Analysis and Experiments with the PA10 Arm 427

• A hierarchical structure with several control levels.


• Communication between levels, via standard interfaces.
• An open general–purpose interface in the higher level.
This scheme allows the user to focus on the programming of the tasks at the PA10 system’s
higher level, without regarding on the operation of the lower levels. The programming can
be performed using a high–level language, such as Visual BASIC or Visual C++, from a PC
with Windows operating system. The PA10 robot is currently the open–architecture robot
more employed for research (see, e.g., Kennedy & Desai (2003), Jamisola et al. (2004), Pholsiri
(2004)).

4.1 Basic structure of the PA10 robot


The PA10 system is composed of four sections or levels, which conform a hierarchical structure
(Mitsubishi, 2002a):
Level 4: Operation control section (OCS); formed by the PC and the teaching pendant.
Level 3: Motion control section (MCS); formed by the motion control and optical boards.
Level 2: Servo drives.
Level 1: Robot manipulator.
Figure 2 shows the relation existing among each of the mentioned components. The following
subsections give a more detailed description of them.

Arm Mechanism Operation Control

Level 1 Level 4

Controller Motion Control


RS232C cable

Level 3
ARCNET cable (Optical fiber)

Level 2
Arm-controller cables
Drive and signal

Motion control
CPU board Teaching Pendant
PCI connection

Optical board

Personal computer
Mechanism Controller DIO board Windows XP

Fig. 2. Components of the PA10 system

www.intechopen.com
428 Advances in Robot Manipulators

4.1.1 Operation control section


This section is the higher level in the PA10 system’s hierarchy; it receives its name because it
is in this section in which the operator programs the tasks to be performed by the robot. This
can be done by a control computer or a teaching pendant. The control computer is a PC with
an MS-Windows operating system. For the programming of the robot tasks, the operator can
employ the programs provided by the manufacturer, or he can develop his own applications
using Visual C++ or Visual BASIC and some API functions from the so–called PA library.
It is through this functions that the user can select the control scheme he wants for the robot,
being the most common the joint velocity control, the joint position control and the pose con-
trol. More information on how these schemes can be implemented, as well as an experimental
comparison among them, can be found in (Camarillo et al., 2006). It is worth mentioning,
however, that all of these schemes work with the servo–drives configured in velocity mode.
Independently on the way the tasks to be performed are specified in the operation control
section, the information which is passed to the next level is always the same in this basic con-
figuration. This allows to keep a hierarchical structure, but at the same time, it sets limitations
to the versatility of the whole system.
For the experimental evaluation shown in Section 6, we decided to use the control computer
and a real–time application, developed in Visual C++. See section 5.3 for a description of this.

4.1.2 Motion control section


It is in this section where the joint velocity commands for the servo–drives (Level 2) are com-
puted, using the information programmed by the user in Level 4. To do so, the original PA10
system uses the MHI-D7281 motion control board, from Mitsubishi Heavy Industries, which is
plugged in the PCI bus of the control computer. It is in this board where, among other things,
the joint position and pose kinematic controllers, together with the interpolation algorithms
for generating smooth trajectories, are implemented.
Communication among the control computer and the driver cabinet is done via optical fibers,
using the ARCNET protocol. The motion control board counts on a converter to encode sig-
nals to the ARCNET format. More information on this can be found in Section 5.1.
A board model MHI-D7210 is dedicated to convert the electrical signals from the motion con-
trol board into optical signals. This board is called the optical board in Figure 2. For more
information on the motion control board, and the optical board, see (Mitsubishi, 2002a).

4.1.3 Servo–drives
The seven drives of the PA10 servomotors are contained in a cabinet (driver) which connects
to the optical–interface board via optical fiber. In addition, two cables connect the cabinet to
the robot; one contains the power signals for the servomotors, while the other transmits the
feedback signals from the joint position sensors.
PA10’s servomotors are brushless DC type, and they are coupled to the links via harmonic
drives. The servo–drives can be configured in torque or velocity modes. However, if the
motion control board in the MCS is used, then it is only possible to configure the drives in
velocity mode. In order to use the PA10 robot in torque mode, it is necessary to disable the
MHI-D7281 board, and replace it by one which allows the operator to have direct access to the
drive signals from the PC. This is explained in Section 5.2.
In velocity mode, the drives include an inner velocity loop which, according to the docu-
mentation provided by Mitsubishi (Mitsubishi, 2002b) is a digital PI controller with a 400 µs
sampling period. Drives also include a current (torque) PI controller, with a 100 µs sampling

www.intechopen.com
Motion Control of Industrial Robots in Operational
Space: Analysis and Experiments with the PA10 Arm 429

period, which, as indicated in (Campa et al., 2008) has an insignificant effect in the servomo-
tor’s dynamics at low velocities.

4.1.4 Robot manipulator


The PA10 robot is a 7–dof redundant manipulator with revolute joints. Figure 3 shows a
diagram of the PA10 arm, indicating the positive rotation direction and the respective names
of each of the joints.

Axis 6 (W1)

Axis 7 (W2)

Axis 5 (E2)
Axis 4 (E1)
Axis 3 (S3)

Axis 1 (S1)
Axis 2 (S2)

Fig. 3. Mitsubishi PA10-7CE robot

4.2 Modeling of the PA10 arm


As the PA10-7CE is a robot with seven degrees of freedom, then n = 7, and the direct kine-
matics function f : IR7 → IR6 has the form x = f (q).
In this work, we consider the vector of operational coordinates x is formed by three Cartesian
coordinates (x,y,z) and three Euler angles (α,β,γ), given by the ZYX convention (Craig, 2004).
Using the traditional methodology, based on the Denavit-Hartenberg convention (Denavit &
Hartenberg, 1955), we obtain for the PA10 arm the following expressions:

www.intechopen.com
430 Advances in Robot Manipulators

x = [−([(c1 c2 c3 − s1 s3 )c4 − c1 s2 s4 ]c5 − [−(−c1 c2 s3 − s1 c3 )]s5 )s6


+(−[c1 c2 c3 − s1 s3 ]s4 − c1 s2 c4 )c6 ] d7
+ [−(c1 c2 c3 − s1 s3 )s4 − c1 s2 c4 ] d5 − c1 s2 d3 ,
y = [−([(s1 c2 c3 + c1 s3 )c4 − s1 s2 s4 ]c5 − (−(−s1 c2 s3 + c1 c3 ))s5 )s6
+(−[s1 c2 c3 + c1 s3 ]s4 − s1 s2 c4 )c6 ] d7
+ [−(s1 c2 c3 + c1 s3 )s4 − s1 s2 c4 ] d5 − s1 s2 d3 ,
z = [−([s2 c3 c4 + c2 s4 ]c5 − s2 s3 s5 )s6 + (−s2 c3 s4 + c2 c4 )c6 ] d7
+ [−s2 c3 s4 + c2 c4 ] d5 + c2 d3 ,
α = atan2 (b, a) ,
 
a
β = atan2 −c, ,
cos(α)
γ = atan2 (d, e) .

where the terms ci y si correspond to cos(qi ) y sen(qi ), respectively, and di is the length of the
i-th link, with i = 1, 2, . . . , 7. The required values for this robot are d1 = 0.317 m, d3 = 0.450
m, d5 = 0.480 m, and d7 = 0.070 m. For computing the Euler angles it is employed the inverse
tangent function with two arguments (atan2) and the following expressions:

a = [([(c1 c2 c3 − s1 s3 )c4 − c1 s2 s4 ]c5 + [−c1 c2 s3 − s1 c3 ]s5 )c6


−(−[−(c1 c2 c3 − s1 s3 )s4 − c1 s2 c4 ])s6 ] c7
+ [−([c1 c2 c3 − s1 s3 ]c4 − c1 s2 s4 )s5 + (−c1 c2 s3 − s1 c3 )c5 ] s7
b = [([(s1 c2 c3 + c1 s3 )c4 − s1 s2 s4 ]c5 + [−s1 c2 s3 + c1 c3 ]s5 )c6
−(−(−(s1 c2 c3 + c1 s3 )s4 − s1 s2 c4 ))s6 ] c7
+ [−([s1 c2 c3 + c1 s3 ]c4 − s1 s2 s4 )s5 + (−s1 c2 s3 + c1 c3 )c5 ] s7
c = [([−s2 c3 c4 − c2 s4 ]c5 + s2 s3 s5 )c6 − (−[s2 c3 s4 − c2 c4 ])s6 ] c7
+[−(−s2 c3 c4 − c2 s4 )s5 + s2 s3 c5 ]s7
d = − [([−s2 c3 c4 − c2 s4 ]c5 + s2 s3 s5 )c6 − (−[s2 c3 s4 − c2 c4 ])s6 ] s7
+[−(−s2 c3 c4 − c2 s4 )s5 + s2 s3 c5 ]c7
e = − [−([−s2 c3 c4 − c2 s4 ]c5 + s2 s3 s5 )s6 − (−[s2 c3 s4 − c2 c4 ])c6 ]

By reasons of space, we do not include here the analytic Jacobian of the PA10 robot; however,
it is possible to obtain it from the direct kinematics, since

∂ f (q)
J (q) = .
∂q

Other way of computing the analytic Jacobian is via the geometric Jacobian, JG (q), which re-
lates the joint velocities with the linear and angular velocities, v and ω, respectively, according
to (Sciavicco & Siciliano, 2000)  
v
= JG (q)q̇.
ω

www.intechopen.com
Motion Control of Industrial Robots in Operational
Space: Analysis and Experiments with the PA10 Arm 431

After computing the geometric Jacobian, using standard algorithms (Sciavicco & Siciliano,
2000), we can use the following expression:
 
I 0
J (q) = J (q)
0 T (α, β, γ) G

where T (α, β, γ) is a representation transformation matrix which depends on the Euler angle
convention employed. In the case of the ZYX convention, we have that
 
0 − sin(α) cos(α) cos( β)
T (α, β, γ) = 0 cos(α) sin(α) cos( β)  .
1 0 − sin( β)

Regarding the dynamic model of the PA10-7CE robot, it was not required for the experiments
described in Section 6, although it can be found in (Ramírez, 2008).

5. Real–time Control Platform


In this section we first describe the general characteristics of the ARCNET protocol, and give
the required specifications for its use in the PA10 system. After that, we describe the modifi-
cations to the hardware, and the software application we have developed for controlling the
PA10 robot in real–time.

5.1 The ARCNET protocol


ARCNET (acronym of Attached Resource Computer Network) is a protocol for data trans-
mission in a local area network (LAN). It was developed by Datapoint Corporation and it
became very popular in the 80’s. In the current days, even though it has been relegated by
Ethernet in commercial and academic networks, it is still used in the industrial field, since its
deterministic behavior and robustness are appropriate for the control of devices.
ARCNET handles data packets of variable length, from 0 to 507 bytes, and operates at veloci-
ties from 2.5 Mbps to 10 Mbps, so that it is possible to have a fast response for short messages.
Another advantage is that it allows different types of transmission media, being the twisted
cable, the coaxial cable and the optical fiber the most common. Moreover, the data interchange
is implemented by hardware, in an ARCNET controller IC, so that the basic functions such as
error checking, flux control and network configuration are performed directly in the IC.
Each device connected to an ARCNET network is known as a node, and it must contain a
controller IC as well as an adapter for the type of cable employed. A MAC address identifier
is assigned to each node. An ARCNET network can have up to 255 nodes with a unique
identifier (or node number) assigned to each of them.
The ARCNET protocol employs an scheme known as token–passing, to manage the data
stream among the active nodes in the network. When a node possesses the token, it can
transmit data through the net or pass the token to the neighboring node, which, even though
it can be located physically in any place, it has a consecutive node number. The header of
each sent packet includes the address of the receiver node, in a way that all the nodes, with
the exception of the pretended receiver, overlook those data. Once a message has been sent,
the token passes to the next node, in a consecutive way, up to returning to the original node.
If the message is very long (more than 507 bytes) it is split in several packets. The packets can
be short or long depending of the selected mode. Short packets are from 0 to 252 bytes, and

www.intechopen.com
432 Advances in Robot Manipulators

the long ones from 256 to 507 bytes. It is not possible to send packets of 253, 254 or 255 bytes;
in those cases null data are added and they are sent either as two short packets or one long.
As each node can only send data when it has the token, no collisions occur when using the
ARCNET protocol. Moreover, thanks to the token–passing scheme, the time a node lasts in
sending a message can be computed; this is an important feature in industrial networks, where
it is required that the control events occur in a precise moment.

5.1.1 Specifications for the PA10 system


Communication between the motion control board and the PA10’s motor drives is carried out
via an optical fiber, using the ARCNET protocol. In its original configuration a transmission
rate of 10 Mbps is employed; the node number of the ARCNET controller IC in the driver
cabinet is 254 (hexadecimal FE), while the one in the motion control board has number 255
(hexadecimal FF). As explained in (Mitsubishi, 2002b), the data packets are short, and they
follow the format which is shown in Figure 4.

+0 +1 +2 +3 +X +255

Data type Transmission data


(even number)
Sequence No.

Sequence No. address (=X) ARCNET


Short-packet
Receiver node number format
Transmitter node number
Fig. 4. ARCNET data transmission format

The first two bytes in each packet indicate the node numbers of the transmitter and receiver,
respectively; next byte specifies the address (X) in which the data block start, in a way that the
last byte always be the number 256.
The first byte of data (identified as “Data type” in Figure 4) can be either ‘S’, ‘E’ or ‘C’. Com-
mands ‘S’ and ‘E’ indicate, respectively, the start and end of a control sequence; when using
these commands, no more data is expected. Command ‘C’ is used to transmit control data,
which must be done periodically. When executing the ‘S’ command, a timer starts its opera-
tion, which checks that the time between each ‘C’ command does not exceeds a preestablished
time limit; in case of occurring this, an alarm signal is activated, and the operation of the robot
is blocked. The sequence of commands for normal operation is ‘S’→‘C’→ · · · →‘C’→‘E’.
The control computer (either using the motion control board or not) must send periodically
the necessary signals to the servo-drives; these must acknowledge, returning to the computer
the same command that they receive.
When executing the ‘C’ command, the control computer sends 44 bytes of data to the motor
drives, being two bytes with general information regarding the communication and six bytes
with particular information for each of the seven servos; among the latter, two bytes contain
flags for turning on/off the servo, activating the brake, selecting the torque/velocity mode,
etc.; the other four bytes indicate the desired torque and velocity for the corresponding actu-
ator. On the other hand, 72 bytes are transmitted from the drives to the computer, being two

www.intechopen.com
Motion Control of Industrial Robots in Operational
Space: Analysis and Experiments with the PA10 Arm 433

with general information and 10 for each servomotor, among which we find the status data
(on/off, brake, etc.), and the actual joint position, velocity and torque of each motor. More
details on this can be found in (Mitsubishi, 2002b).
It is important to highlight that, when using the motion control board and the PA library
functions, the user has no access to all this information, and, in fact, he cannot configure the
robot in torque mode. In the following subsections we describe the hardware and software
interfaces we developed for overcoming such difficulties.

5.2 Hardware interface


In order to work with the PA10 arm in torque mode, it was necessary to have access to the sig-
nals commanded to the motor drives. For doing so, we decided to use another PC, equipped
with an ARCNET board. This has been done by other authors, for example (Jamisola et al.,
2004).
In (Contemporary, 2005) it is explained how a PCI22-48X ARCNET board from Contempo-
rary Controls can be modified to make it work with the PA10 robot. In the same document
it is mentioned that even though the PCI22-485X boards are now discontinued, the replace-
ment parts are the PCI20U-485X and the PCI20U-400, from the same brand; all of them have
the same ARCNET controller (COM20022); the only difference is the circuit for transmis-
sion/reception (known as transceiver), which is in the daughter board soldered to the base
board.
For the application presented in this work, we acquired a PCI20U-485X board, which was
installed in the PCI bus of a PC with a double-core processor, running at 2.4 GHz. This board
was configured with the same ARCNET setup of the motion control board. On the other
hand, for the sake of compatibility, we made an optical interface board, similar to the one in
the original PA10 system.
Following the steps in (Contemporary, 2005), the daughter board with the transceiver was
withdrawn from the PCI20U-485X and in its place we put a connector for the cable linking the
signals from the main board with the optical interface; this latter plays the role of transceiver
and converts the electric signals in optical signals to be transmitted by the optical fiber.
Figure 5 shows the connections required to use the PCI20U-485X board.

20 pin
connector
8

20

COM20022I-HT
B0621-C530
1

8H126024C
1

Optical interface
board made in ITL
PCI20U-485X
Fig. 5. Connection between the ARCNET board and the optical board

www.intechopen.com
434 Advances in Robot Manipulators

5.3 Real–time software


Real–time control of industrial processes has become an important topic in the recent years.
Real–time systems are those in which it is imperative that their response occurs within a limit
time. There are real–time operating systems that facilitate the development of this kind of
applications. Microsoft Windows is not a real–time operating system, but it can behave as if
one, by using an additional software, such as the RTX (real–time extension) from IntervalZero
(formerly Ardence).
RTX allows Windows to handle two type of executable programs at the same time: (a) those
with extension .RTSS, which are handled completely by the RTX real–time subsystem, thus
being more predictable; and (b) those with extension .EXE, handled by the basic Windows
subsystem (Win32), which are not so severe with time constraints, but they can include RTX
functions and also use graphic interfaces. Thanks to RTX it is possible to simultaneously
execute several real–time programs, and share information among them, by means of a shared
memory.
To develop real–time applications with RTX, the Visual C++ IDE is required. It was with this
platform that we designed the software interface to control the PA10 robot, without using the
motion control board. Figure 6 shows a general diagram of the components of the developed
software.

Main window
(ARCNET comunication)
Control Algorithms control
Simulators
Torque variables
torque
torque
P+PI position position Torque
torque
Computed Torque position velocity

position Velocity
Velocity
velocity
Direct position
velocity Virtual World
P (position) position

Fig. 6. Components of the control software

The central part of the system is the interchange of information among the different programs
via shared memory. These programs are briefly described in the following subsections.

5.3.1 Main window


When starting the main program the user is being asked on what operation mode (velocity
or torque) he wants to use for controlling the robot. After that, the main window of Figure 7
shows up; by using this window the user can select the control algorithm to execute, as well
as enabling the simulator and the virtual world; further, the window is useful for monitoring
and, if necessary, modifying the torque or velocity signals.

www.intechopen.com
Motion Control of Industrial Robots in Operational
Space: Analysis and Experiments with the PA10 Arm 435

Torque or velocity signals


servos status

Extra functions Control algorithm


selector
Fig. 7. Main window of the control software

It is important to mention that this program establishes the communication with the servo
drives via ARCNET. This communication starts and stops by pressing the “Start Robot” and
“Stop Robot” buttons in the window.

5.3.2 Simulators
Depending on the operation mode selected, a simulator of the robot can be executed, which
resolves the corresponding model in order to obtain the joint coordinates of the robot, starting
from the torque or velocity input.

5.3.3 Control algorithms


They are a series of Visual C++ programs which implement different control laws, which
can be selected depending on the operation mode selected at the beginning. The number of
programs increases when new controllers are added.

5.3.4 Virtual world


It shows, via a 3D animation, the behavior of the robot in real–time, either in simulation or in
a real experiment (see Figure 8).

6. Experimental Results
In order to evaluate the performance of the developed real–time software for controlling the
PA10-7CE robot arm, we carried out some experiments. The idea was to test the implementa-
tion of the two–loop controller studied in Section 2.2 in three different operation modes.

www.intechopen.com
436 Advances in Robot Manipulators

Fig. 8. Virtual world of the PA10 robot

Summing up, the following three cases were considered, being the difference how the in-
ner and outer controllers were implemented (either in the control computer or in the servo–
drives):
A. Both RMRC and PI controllers in the real–time software; drives in torque mode.
B. RMRC controller in the real–time software; PI in drives, configured in velocity mode.
C. Both RMRC and PI controllers in the original system, with the motion control board.
The control aim of the experiments was to track a desired time–varying trajectory. In order to
show the benefits of redundancy in the PA10-7CE, a secondary task was designed, consisting
in maximizing the distance of the joint positions to the actuator limits.

6.1 Desired trajectory


The primary task consisted in tracking a straight line in Cartesian coordinates, subject to the
following constraints:
• The robot’s end–effector should move only along the Y axis, with respect to the base
coordinate frame; hence, x and z coordinates should remain constant.
• The end–effector should perform a turn around the Z axis of the base coordinate frame;
hence, β and γ should remain constant.
• Variable operational coordinates (y and α) should perform a cycloidal–type motion,
which is given by the following expression (Sciavicco & Siciliano, 2000):
  
t 1 2π t
s ( t ) = si + ( s f − si ) − sen (54)
T 2π T
where s(t) is the corresponding operational coordinate (as a function of time t), si and
s f are, respectively, the initial and final values of such s(t), and T indicates the duration
of the cycloidal motion.

www.intechopen.com
Motion Control of Industrial Robots in Operational
Space: Analysis and Experiments with the PA10 Arm 437

As explained in (Sciavicco & Siciliano, 2000), the cycloidal motion given by (54) produces
smooth velocity and acceleration profiles, which is a convenient feature in robotic tasks.
For the experiments, we chose the parameters in Table 1.

Parameter Value Unit


x -0.339 m
yi -0.339 m
yf 0.339 m
z 0.837 m
αi 0 rad
αf 1.5708 rad
β 0 rad
γ 0 rad
T 20 s
Table 1. Parameters for the desired trajectory

6.2 Secondary (redundant) task


The PA10-7CE arm is a 7–dof redundant manipulator for pose control tasks (requiring only 6
dof). Thus, we decided to take advantage of the redundant degree of freedom to perform a
secondary task, which should not affect the primary task (tracking of the desired trajectory)
but only the self–motion of the robot joints.
According to the analysis in Section 2, the secondary task is added to the controller by means
of vector q̇0 in (13). Among the different methods of choosing vector q̇0 , those considering it
as the gradient of a suitable cost function, H (q), are the most common (Sciavicco & Siciliano,
2000). For the purpose of the experiments in this chapter, we chose the following cost function:
7 2
qi − q̄i

H (q) = ∑ qimax − qimin
(55)
i =1

where qimax − qimin is the range of operation for the i-th joint, and q̄i is the central value of this
range. Minimizing this cost function implies keeping each of the joints near to their corre-
sponding central values, that is, far from their joint limits.
In order to minimize (55) we should make q̇0 equal to its negative gradient; in other words,
the i-th element of q̇0 should be

2(qi − q̄i )
q̇0i = −λ
(qimax − qimin )2

where λ is a weighting factor.


For the experiments we used the actual joint limits of the robot, shown in Table 2, with qimax =
−qimin , and q̄i = 0 for each link i.

6.3 Results
We carried out three sets of experiments, each to test the performance during the execution
of the two–loop controller shown in Figure 1, but using different operation modes. The same
primary and secondary tasks (mentioned previously) were chosen for the three cases. The

www.intechopen.com
438 Advances in Robot Manipulators

Joint Limit Unit


1 180 deg
2 97 deg
3 180 deg
4 143 deg
5 270 rad
6 180 deg
7 270 deg
Table 2. Joint limits for the secondary task

gains of each controller were tuned so that a good performance of the tracking task could be
perceived.
Prior to executing the desired task in operational space, a joint position controller was used to
move the robot to the required initial pose.

6.3.1 Case A
In this case, the two controllers (outer RMRC and inner velocity PI) where implemented in the
developed real–time application, using a sampling period of 10 ms. The control gains were
chosen as follows,
• RMRC controller:
K = diag{40, 50, 40, 12, 12, 12}
• PI controller:
K p = diag{80, 120, 40, 48, 5, 8, 15}
Ki = diag{36, 50, 24, 20, 10, 10, 10}
The weighting factor for the secondary task was chosen to be λ = 2.5. The servo–drives where
configured in torque mode.

6.3.2 Case B
For this case, only the RMRC controller was implemented in the control computer, with the
control gains:
K = diag{24, 24, 24, 8, 8, 8}
The servo–drives were configured in velocity mode, so that the inner PI velocity controller was
implemented in them. Factor λ had to be reduced in order to obtain a better performance; its
final value was λ = 0.7.

6.3.3 Case C
In this case we did not used the same software program in the control computer. Instead, we
employed an application using a Windows multimedia timer and some API functions from
the PA library, to send the desired operational coordinates to the motion control board. The
control scheme was also chosen via API functions, in a way of implementing the RMRC in the
control board and configuring the servo–drives in velocity mode so as to use their inner PI
velocity loops.

www.intechopen.com
Motion Control of Industrial Robots in Operational
Space: Analysis and Experiments with the PA10 Arm 439

6.3.4 Discussion
In order to compare the performance of the three cases, we decided to compute the Euclidean
norm of both the position error  p̃ and the orientation error φ̃. Figures 9 and 10 show the
evolution of such norms for the three cases.

20 ||p|| [mm]

A
10 C

B
0
0 10 t [s] 20
Fig. 9. Time evolution of the norm of the position error.

0.10 || φ || [rad]

0.05
A
B
C
0.00
0 10 t [s] 20
Fig. 10. Time evolution of the norm of the orientation error.

Figures show that even though Case C corresponds to the original setup for the PA10, in the
case of the position error, we obtain a better performance when using the drives configured
in velocity mode (Case B). As shown in Figure 10, the orientation errors for cases B and C are
quite similar. Regarding the results of Case A (drives configured in torque mode) we notice a

www.intechopen.com
440 Advances in Robot Manipulators

more irregular shape of the norms. Some error peaks appear in the last half of the trajectory
(when the velocity is decreasing); this is probably due to static friction, which appears at low
velocities.
To have a better appreciation of the performance for the three cases, we decided to use a
standard index: the root mean square (RMS) value of the norm of the corresponding error,
computed in a trip of time T, that is



1 T
RMS(ũ) = ũ(σ )2 dσ
T 0

where ũ can be either p̃ or φ̃. Table 3 shows the performance indexes obtained during the
execution of the trajectory (T = 20 s):

Index Case A Case B Case C


RMS( p̃) 4.379 1.816 6.065
RMS(φ̃) 0.021 0.015 0.014
Table 3. Performance indexes

It is worth noticing that the best performance is obtained with Case B (velocity mode). Further,
even though Case A (torque mode) seems to produce more oscillations (see figures 9 and 10),
the performance index for the position is lower for Case A than for Case C.

7. Conclusions
In this chapter, we have dealt with the motion control problem in operational space, using
the resolved motion rate controller RMRC (kinematic control) plus the intrinsic joint velocity
PI controller of the industrial robots, whose solutions of the overall closed–loop system have
been proved to have uniformly ultimately boundedness.
Due to its open architecture system, the PA10 has become a suitable robot for both research
and industrial applications. This leads to the need of studying the operation of each of the
sections that compose its hierarchical structure.
Some experiments were carried out in a PA10-7CE arm, using a software program we have
developed for control in real–time. The same hierarchical structure was tested in different
operation modes. The results show good performance in all cases, even though the operation
in torque mode is more affected by mechanical vibrations, perhaps due to friction and to the
discretization of the controllers.

8. Acknowledgements
This work is partially supported by DGEST, PROMEP and CONACyT (grant 60230), Mexico.

9. References
Aicardi, M.; Caiti, A.; Cannata, G & Casalino, G. (1995). Stability and robustness analysis of a
two layered hierarchical architecture for a closed loop control of robots in the oper-
ational space. Proceedings of IEEE International Conference on Robotics and Automation,
Nagoya, Japan, 1995.

www.intechopen.com
Motion Control of Industrial Robots in Operational
Space: Analysis and Experiments with the PA10 Arm 441

Camarillo, K.; Campa, R. & Santibáñez, V. (2006). Control of the Mitsubishi PA10-7CE robot
using inner velocity PI loops (in Spanish). Proceedings of 2006 Mexican Congress on
Robotics (COMRob06), Mexico City, Mexico, October 2006.
Camarillo, K.; Campa, R.; Santibáñez, V. & Moreno-Valenzuela, J. (2008). Stability analysis of
the operational space control for industrial robots using their own joint velocity PI
controllers. Robotica, Vol. 26, No. 6, November 2008, 729-738.
Campa, R.; Torres, E.; Salas, F. & Santibáñez, V. (2008). On modeling and parameter estimation
of brushless DC servoactuators for position control tasks. Proceedings of IFAC World
Congress, Seoul, Korea, July 2008.
Craig, J. J. (2004). Introduction to Robotics: Mechanics and Control, Prentice–Hall, 2004.
Contemporary Control Systems (2005). Modification of a Contemporary Controls ARCNET
card to control a Mitsubishi Heavy Industries, Inc. PA10 robot arm. Online technical
document: www.ccontrols.com/pdf/PA10 procedure.pdf
Denavit, J. & Hartenberg, E. (1955). A kinematic notation for lower–pair mechanisms based
on matrices. Journal of Applied Mechanics. Vol. 77, 1955, 215-221.
Higuchi, M., Kawamura, T.; Kaikogi, T.; Murata, T. & Kawaguchi, M. (2003) Mitsubishi clean
room robot. Mitsubishi Heavy Industries, Ltd., Technical Review, Vol. 40, No. 5, 2003.
Jamisola, R. S.; Maciejewski, A. A. & Roberts, R. G. (2004). Failure–tolerant path planning for
the PA-10 robot operating among obstacles. Proceedings of IEEE International Confer-
ence on Robotics and Automation, New Orleans, LA, April 2004.
Kelly, R. & Moreno, J. (2005). Manipulator motion control in operational space using joint
velocity inner loops. Automatica, Vol. 41, 2005, 1423-1432.
Kelly, R.; Santibáñez, V. & Loría, A. (2005). Control of Robot Manipulators in Joint Space,
Springer–Verlag, London, 2005.
Kennedy, C. & Desai, J. P. (2003). Force feedback using vision. Proceedings of IEEE International
Conference on Advanced Robotics, Coimbra, Portugal, 2003.
Khalil, H. (2005). Nonlinear Systems, Prentice Hall, New York, 2005.
Khatib, O. (1987). A unified approach for motion and force control of robot manipulators. IEEE
Journal on Robotics and Automation, Vol. 3, No. 1, 1987, 43-52.
Mitsubishi Heavy Industries (2002a). Instruction manual for installation, maintenance &
safety. General Purpose Robot PA10 series, document 91-10023, 2002.
Mitsubishi Heavy Industries (2002b). Instruction manual for servo driver. General Purpose
Robot PA10 series, document SKC-GC20004, 2002.
Nakamura, Y. Advanced Robotics: Redundancy and Optimization, Addison-Wesley, 1991.
Oonishi, K. (1999). The open manipulator system of the MHIPA-10 robot. Proceedings of Inter-
national Symposium on Robotics, Tokio, Japan, October 1999.
Pholsiri, C. (2004). Task decision making and control of robotic manipulators. Ph.D. Thesis,
The University of Texas at Austin, Austin, TX, 2004.
Qu, Z. & Dorsey, J. (1991). Robust tracking control of robots by a linear feedback law. IEEE
Transactions on Automatic Control, Vol. 36, No. 9, 1991, 1081-1084.
Ramírez, C. (2008). Dynamic modeling and torque–mode control of the Mitsubishi PA10-7CE
robot. Master’s Thesis (in Spanish). Instituto Tecnológico de la Laguna, Torreón, Mex-
ico, December 2008.
Ramírez, C. & Campa, R. (2008). Development of a system for real–time control of the Mit-
subishi PA10 robot (in Spanish). Proceedings of 2008 Mexican Congress on Robotics
(COMRob08), Mexico City, Mexico, September 2008.

www.intechopen.com
442 Advances in Robot Manipulators

Sciavicco, L. & Siciliano, B. (2000). Modelling and Control of Robot Manipulators, Springer–Verlag,
London, 2000.
Whitney, D. E. (1969). Resolved motion rate control of manipulators and human prostheses.
IEEE Transactions on Man-Machine Systems, Vol. 10, No. 2, June 1969, 47-53.

www.intechopen.com
Advances in Robot Manipulators
Edited by Ernest Hall

ISBN 978-953-307-070-4
Hard cover, 678 pages
Publisher InTech
Published online 01, April, 2010
Published in print edition April, 2010

The purpose of this volume is to encourage and inspire the continual invention of robot manipulators for
science and the good of humanity. The concepts of artificial intelligence combined with the engineering and
technology of feedback control, have great potential for new, useful and exciting machines. The concept of
eclecticism for the design, development, simulation and implementation of a real time controller for an
intelligent, vision guided robots is now being explored. The dream of an eclectic perceptual, creative controller
that can select its own tasks and perform autonomous operations with reliability and dependability is starting to
evolve. We have not yet reached this stage but a careful study of the contents will start one on the exciting
journey that could lead to many inventions and successful solutions.

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

Ricardo Campa, Cesar Ramirez, Karla Camarillo, Victor Santibanez and Israel Soto (2010). Motion Control of
Industrial Robots in Operational Space: Analysis and Experiments with the PA10 Arm, Advances in Robot
Manipulators, Ernest Hall (Ed.), ISBN: 978-953-307-070-4, InTech, Available from:
http://www.intechopen.com/books/advances-in-robot-manipulators/motion-control-of-industrial-robots-in-
operational-space-analysis-and-experiments-with-the-pa10-arm

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

You might also like