PA10 Arm Control
PA10 Arm Control
21
0
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.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
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
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)
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 :
2.1.2 Dynamics
The dynamic model of a serial n–joint robot free of friction is written (Kelly et al., 2005):
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)
www.intechopen.com
Motion Control of Industrial Robots in Operational
Space: Analysis and Experiments with the PA10 Arm 421
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.
τ = 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 ξ =
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
www.intechopen.com
Motion Control of Industrial Robots in Operational
Space: Analysis and Experiments with the PA10 Arm 423
2k p λmin { M}
α≤ , (32)
λ2max { M} − λ2min { M}
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
where
www.intechopen.com
Motion Control of Industrial Robots in Operational
Space: Analysis and Experiments with the PA10 Arm 425
λ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
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.
www.intechopen.com
Motion Control of Industrial Robots in Operational
Space: Analysis and Experiments with the PA10 Arm 427
Level 1 Level 4
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
www.intechopen.com
428 Advances in Robot Manipulators
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.
Axis 6 (W1)
Axis 7 (W2)
Axis 5 (E2)
Axis 4 (E1)
Axis 3 (S3)
Axis 1 (S1)
Axis 2 (S2)
www.intechopen.com
430 Advances in Robot Manipulators
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:
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).
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.
+0 +1 +2 +3 +X +255
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.
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
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
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.
www.intechopen.com
Motion Control of Industrial Robots in Operational
Space: Analysis and Experiments with the PA10 Arm 435
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.
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
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.
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.
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
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
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):
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