Professional Documents
Culture Documents
1983 - Luh - Conventional Controller For Industrial Robots
1983 - Luh - Conventional Controller For Industrial Robots
3, MAY/JUNE 1983
Abstract—Industrial robots are serial link manipulators whose dynamic The last row in H(t) is added for the convenience of future
characteristics are highly nonlinear. By controlling each link or joint computation using homogeneous transformation [3]. The
individually, employing the conventional technique to design linear feed
orientation may also be defined in terms of Euler angles
back controllers for the robot is possible. The gravitational force and force
interactions between joints are suppressed by precalculated feedforward with respect to the base coordinates. Initially, at / = i , let 0
are either approximated or their computational formulas are simplified. tively, as shown in Fig. 4(b). Any orientation [n(t) s(t)
a(t)] may be obtained by a rotation of γ rad, about z so 0
T H E N U M B E R of joints of industrial robots commer s ( / , ) so that a(t ) = a(t ) aligns with a(t\ and finally a
0 x
cially available today varies from three to seven. rotation of α rad about a(t) to obtain the required n{t)
Typically, they have six joints, giving six degrees of free and s{t). This is equivalent to rotating the [n(t ) s(t ) 0 0
end effector. Fig. 1 shows the commercially available nally, by a rad about z , then β rad about j , and finally γ
0 0
Cincinnati Milacron Model T3 and Unimation P U M A rad about z again. The relationship is thus
0
600. Fig. 2 shows a Stanford manipulator [1] which is also cos a cos β cos γ - sin a sin γ
an industrial robot existing among research institutes in the
«(/) = cos α cos β sin γ + sin a cos γ (2)
United States. Each joint of these robots is driven hydrauli-
- cos a sin β
cally, pneumatically, or electrically with a feedback control
loop. As an example, a block diagram for a joint control of — sin a cos β cos γ - cos a sin γ
the Stanford manipulator, which has a permanent magnet
5(0 = — sin a cos β sin γ + cos a cos γ (3)
motor drive [2], is shown in Fig. 3. It has an optical sin a sin β
encoder for positional feedback with a tachometer feed
back for damping. Thus an industrial robot is a positioning sin β cos γ
device in that each of its joints has a positional control «(0 sin β sin γ (4)
system. cos β
venience, a unit normal vector is defined SLS n(t) = s(t) X the displacement of the / t h joint with respect to its own
a(t) where X denotes the "cross product." Thus the state reference point. Then, for any given robot with known
of hand at time t in Cartesian coordinates can be repre geometrical dimensions,
sented by a four-by-four hand matrix
[p( y
t θ(0Τ=/[9„?2.···,?„], (5)
n(t) s(t) a{t) Pit)
H(t) where / ( · ) is a six-by-one vector-valued function. This
(1)
0 0 0 1
relation is known but almost always nonlinear which com
plicates the problem [4]. Since, in reality, one specifies
Manuscript received February 24, 1982; revised December 21, 1982.
[ρ(ί)' θ(/)'] in Cartesian coordinates and desires to de
This work was supported in part by the National Science Foundation
under Grant DAR (APR) 77-14533, in part by Division of Continuing termine the corresponding [q\,-—,q ] so that one mayn
Education, Florida Atlantic University, and in part by the School of command the joint actuators to comply with the specifica
Engineering, Oakland University, MI.
tion in Cartesian coordinates, the solution requires the
The author is with the School of Electrical Engineering, Purdue Univer
sity, West Lafayette, IN 47907. inverse vector function / ( · ) of η dimensions. This solu-
_ 1
(a) (b)
Fig. 1. Examples of industrial robots, (a) Cincinnati Milacron T3. (b) Unimation PUMA 600.
tion, if it can be found, may not be unique. F o r the wise, the controller must keep u p with path tracking. These
commercially available robots in operation, η is usually two problems will be analyzed in the following sections.
either five or six. The geometrical configuration of these
robots with proper definitions and ranges of q enables one
i
HI. POSITIONAL C O N T R O L OF A S I N G L E JOINT
to obtain a unique solution of (5) [4].
Knowing the transformation of position in Cartesian If no path constraints exist, the controllers only have to
and joint coordinates, one is ready to examine the follow make sure that the hand passes through all the specified
ing simple task. As shown in Fig. 5, the robot is required to corner points of the path. The input to the control system
go to the bolt magazine to fetch a bolt and place it on top is the desired Cartesian corner points of the path, which
of the bolt hole on the beam. Intuitively, one expects the may be a) numerically fed into the system, or b) furnished
robot hand to travel along the path of straightline seg through so-called "teaching by doing," i.e., corner points
ments, as indicated in Fig. 5, so that it will reach the bolt are recorded while the hand of the robot is led through
first and then arrive at the beam. The question is how these points manually by an operator. Then the coordi
would one control the joint actuators to accomplish the nates transformation takes place, which computes the cor
goal? Before one arrives at an answer, one may examine responding joint coordinates [q >- · ·, q ] of the specified
x n
the following possible specification. Must the hand follow corner points in Cartesian coordinates by means of / " ( ) !
the specified path? If the answer is no, then one has a —digitally for case a), or analogously for case b ) — a n d
simple point-to-point positional control problem. Other then positionally control the robot in joint coordinates
300 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. SMC-13, NO. 3, MAY/JUNE 1983
K
R
V ( s .) 1
Mi croco - i p u t e r j
Tachome te r
Opt i cal
Encode r
πβ S)
Q(t) \
BASE COORDINATES
p(t)
(a) (b)
Fig. 4. (a) Position and orientation vectors of hand, (b) Euler angles of
orientation.
from point to point. In practice, a positional servo is used B m damping coefficient at actuator side (oz · in
for each joint. If the robot is allowed to move only one s/rad),
joint at a time, alternatively, by locking all the other joints B ( damping coefficient at load side,
as suggested by Paul [5], then each of the joint controllers f
m average friction torque (oz · in),
is very simple. When the number of joints in simultaneous r g gravitational torque,
motion is more than one, force interactions among the rm generated torque at actuator shaft,
joints create couplings which complicate the control sys 17 internal load torque,
tem. These topics will be discussed as follows. 0 m angular displacement at actuator shaft (rad),
6 S angular displacement at load side.
A. Single Joint Controller Let
In the following discussion, the robot is considered to number of teeth of the gears at the actuator
have a rigid body structure. Refer to Fig. 6(a), the sche shaft and load shaft, respectively,
matic representation of an a c t u a t o r - g e a r - l o a d assembly pitch radii of the gears at the actuator shaft and
for a single joint, in which load shaft, respectively.
J a actuator inertia of one joint (oz · in · s / a d ) , 2 r
Then
J m manipulator (robot) inertia of the joint fixtures at
actuator side, η = r /r
m s = N /N
m s < 1 (6)
J t inertia of the manipulator link, is the gear ratio. As indicated in Fig. 6(b), the force F is
LUH: CONTROLLER DESIGN FOR INDUSTRIAL ROBOTS 301
so that
9 = e NJN
s m s = ne . m (12)
Κ= nb m (13)
9, = nS . m (14)
F r o m Fig. 6(a), it is seen that the internal load torque τ, is
required to overcome the link inertia effect J U and t s
r m - r ; - B j m = (J a + J )9 .
m m (16)
If we wish to express the torque relation at the actuator
shaft, first substitute (13) and (14) into (15), and then
combine the result with (9) to obtain
V = « Ui + M j . 2
(17)
Combining (16) and (17) yields
r=
m U + Λ, + " '/R + 2
(i^ + A^R, (18)
where J = (J + J + n J ) is the effective inertia and
ei{ a m
2
t
T
m/ n
= [U + m)/n
J 2
+ J ]9 t s + {BJn 1
+ B,)i>s9
(19)
which leads to
and R be the inductance in henries and resistance in ohms
T
/A = r
m/ s
r
= n
()
8 of the motor armature winding, respectively. Then by
applying the Kirchhoff s voltage law to the armature cir
or
cuit, one obtains
τ/ = /IT,. (9)
v(t)-v (t) h = Ldi(t)/dt + Ri(t), (21)
From Fig. 6(c), the pitch angle of one tooth is
which has an equivalent equation in frequency domain
em = 2it/N m (10) through a Laplace transformation
0 = 2v/N
s s (Π) V( )-K sQ„(s)-(U
S h + R)I(s), (22)
302 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. SMC-13, NO. 3, MAY/JUNE 1983
ARMATURE WINDING
where K is the conversion constant in V / r a d . Combine all
e
E(s)
ηΚ,Κ,
Fig. 7. Schematic diagram for electrical drive system. =
s[U s e((
2
+ {RJ e(( + LB )s eft + (RB ett + K,K„)]
where s is the complex frequency in r a d / s . The dc motor is (29)
operated in its linear range so that the generated torque is
which is obtained either from Fig. 8(a) or by combining
proportional to the armature current. The relation in the
(25) and (28) and the relation @ (s) = nQ (s).
frequency domain is s m
= (J** 2
+ B s)& (s).
ei{ m (24) Q (s)
d 1+ Q /E s
RJ e{{
V(s) 1
s2
+ (RB ei! + K,K )s/(RJ ) b e!i + K K,/{RJ )
e M '
= K,
s[LJ s
ett
2
+ (RJ ett + LB )s ett + (RB ef{ + K,K„)] (31)
(25)
It yields a second-order system which is theoretically al
which is the transfer function, or the feedforward gain, ways stable. T o increase the response time, one customarily
from the applied voltage to the dc motor (input), to the increases the system gain, such as increasing Κ and θ9
angular displacement of the motor shaft (output). injects some damping into the system to reinforce the effect
of back E M F by adding a negative feedback of the motor
T o construct a positional controller for the angular
shaft velocity. This can be done by either using a tachome
displacement of the load shaft, one must convert the dis
ter or computing the difference in angular displacements of
placement into electrical voltage to actuate the dc motor.
the shaft during a fixed time interval. The block diagram of
For a feedback (or closed-loop) controller, the actuating
the resulting controller is shown in Fig. 8(b) in which K
signal is the error at time t between the desired and the t
v{t) = K [e {t)
e d -e (t)],s (27) which has a Laplace transform
V{s)-K E(s)t
T h u s the revised open-loop and closed-loop transfer func
= K„[Q {s) d - Q {s)], s (28) tions can be obtained simply by replacing K by (K + h h
LUH: CONTROLLER DESIGN FOR INDUSTRIAL ROBOTS 303
° (s)
d _ E(s) Ks) Τ (s) θ (s)
Ls+R
V (s)
b
(a)
-r©
(b)
Centr i fuga1
F (s)
m T (s)L Τ (s) Contributi
0 (s)
K K)
x t in (30) and (31), respectively. Consequently, ters n, K,, K K , R, J , and B are either specified (by
n h ett ett
B (oz · in · s/rad)
2
6.1
0.008
0.01146
14.4
0.033
0.04297
ΘΑ*) m
Joint Minimum Value/No Load Maximum Value/No Load Maximum Value/Full Load
(number) (kg-m ) 2
(kg-m ) 2
(kg-m ) 2
so that
N o t e that the conversion constant K a n d amplifier gain 0
B. Determination of Κ and K
T h e measured ω a n d its corresponding / for the Stanford
θ x
6,(J) = nK K, 9 1
(36)
%{s) il/eir s2
+ [RB e{{ + K (K
r b + K K )]s/{RJ )
x t Qii + » K 9 Κ '
Thus the characteristic equation for the closed-loop con manipulator are listed as follows [1]:
troller is
Joint J / ω(= 2π/)
s1
+ [RB ci{ + Kj{K h + K K )]s/(RJ )
x t c(i
(number) (kg · m ) 2
(Hz) (rad/s)
+ nK K /(M<n)-0 ()
37 1 5 4 25.1327
9 r
2 5 6 37.6991
which is conventionally expressed as 3 7 20 125.6636
4 0.1 15 94.2477
5 0.1 15 94.2477
s2
+ 2ξω * + ω = 0,
η
2
(38) 6 0.04 20 125.6636
where ζ is the damping ratio and ω the undamped natural η
frequency. From (37) and (38), one obtains Paul [5] suggested that for a conservative design with a
safety factor 200 percent, one sets the u n d a m p e d natural
ω„ = ^K K,/(RJ ) e t{t > 0 (39) frequency ω to n o more than one-half of the structural
η
and
2ξω = [RB η ett + K,{K b + K K,)]/{RJ )
X M (40) jnKeKj/iRJ^) < co/V^/2 (46)
LUH: CONTROLLER DESIGN FOR INDUSTRIAL ROBOTS 305
which reduces to where E(s) is the Laplace transform of e(t). For a con
stant load, 7 = C . Since f = C , and r = C are also
{Ju )R/{4nKj).
2
(47) L L m f g g
Relation (47) establishes the upper bound of Κ \ the bound θ C /s. Consequently, (56) becomes
on K remains to be determined. For practical reasons, one
x
avoids the underdamped positional controller for the robot. E(s) = ({^ . + eff
2
[RB ett + K (K r b + K K )]s}X(s)
x (
Thus ζ > \, and from (41) one obtains + nR[C +C + nC ]/s)/Q(sl (57)
f g L
RB ei{ + Kj{K h + K K) x t > 2jnK K RJ e f ei{ > 0. (48) where X(s) replaces <d (s) to represent a generalized input d
command.
Again for conservative design, Κ at the right side of (48) θ
The steady-state error e may be determined by the use
is replaced by its upper bound which is given by (47) as ss
C. Steady-State Error for Joint Controller By (58), one obtains a steady-state position error
In the preceding section, the block diagram of the posi i>, = R(C +Csp f g + nC )/{K K,). L g (60)
tional controller for a single-joint robot was presented in Since Κ has an upper bound given by (47), the error may
θ
of the controller is not the same as given by (35), and it values of τ , / , and r in advance, it is possible to feed
7 m g
must be modified to include the additions. From Fig. 8(c), these quantities forward into the controller to anticipate
it is seen that the burden. Based on this idea, an anticipated gravitational
(y , 2
+ B s)<d = T (s) - F (s) - T (s) - nT (s). torque signal τ and a desired compensating torque signal
α
e f f ef{ m m m g L
(50) in Fig. 10(a) where T (s) and T (s) are Laplace transforms a d
The centrifugal contribution is not included in (50) but will of τ and r , respectively. With this arrangement, the error
α d
a d
e (s)
s = {nK K,Q (s) e d signal. For an input of a constant displacement X(s) =
@ (s) = C /s, the steady-state position error now becomes
d e
where s—>0
Q(s) = RJ s eSf
2
+ [RB „ + K,(K e h + Κ Κ,)]5 } + ηΚ Κ,.
θ
-K,K [T (s) R a + T (s)])/(K K,).d e (62)
(54) If T (s)= a RT (s)/(Κ,
g Κ ) and R
T,(s)+T (s) d
Γ ι F m (s) T (s) T (s
+ L + g ) +
S0 e (s)
s
J ,rS+B
ef τ
V l t
K K
(a)
I +
V )
s
v (.)'
d
κ
θ
R B
eff + K
l V l t ( K K )
+ nK,K R
(b)
(c)
Centrifugal T
a ( ^ s + T
d^ ^ s
Compensation
/ τ - - ϊ , c = ab
P r o c e s s i n g time-domain
s ignals d i g i t a l l y .
R
« .ff |(V l t
B +K K K )
nK,K R
/ \ « / \ ^ / \ Centrifugal
I R F (s)+T (s) T (s)
m L + g + contribution
X(s) S0 e (s)
s
eft
r 1
Ξ LJ
(d)
X(s)
(e) (f)
Fig. 10. Controller with anticipated burden and feedforward compensation.
LUH: CONTROLLER DESIGN FOR INDUSTRIAL ROBOTS 307
contribution is therefore none. Thus no feedforward com -nK,K limsV (s)}/(nK K,) R d e + e . ssp (69)
pensation is required for the centrifugal term as far as the
positional steady-state error is concerned. Consequently, the first term of e s s v vanishes if
V (s)
d = s{C /s )[RB v
2
et( + K,{K h + K K )]/{nK,K ),
x t R
on the conveyer. In this case the input signal of the desired (71)
position 0 (t) must be updated very frequently, say every
d
which can be obtained directly from the input terminal of
1 / 6 0 s, to synchronize the moving conveyer. In essence, the
the controller [5] as indicated in Fig. 10(c). Since x(t) is a
input is a ramp signal C t with a constant slope so that v
ramp input C t, or X(s) = C /S , then dx/dt is the con 2
X(s) = C /S . 0
2 v v
Applying the final value theorem to (61), with X(s) = tive input signals. These arrangements will automatically
CJs , one obtains the steady-state velocity error
2
take care of the steady-state error in the original positional
control mode. When the controller leaves the conveyer
essw = [RBa + K (K r b + K K )]C /(nK K )
x t O 9 t + e s s p . following mode and enters the positional control mode,
x(t) is a step input Q , or X(s) = Q (s) = C /s. Then
(65) d e
tially, the centrifugal term affects the path along which the D[0 (t)]
s where D is a proportional constant and θ is the
2
5
robot travels. Its feedforward compensation, however, will velocity of the robot link. The value of the velocity can be
be discussed later. Now, since the controller requires ξ > 1 measured at the output shaft by means of a tachometer.
to avoid underdamping, (48) holds so that (65) becomes The value of parameter D depends on the geometrical
configuration of the robot and will be discussed in detail in
e ssv > 2CjRJ ,/(nK K,) et e + e s s p . (66) the section on the multiple-joint controller. Once D is
determined, r (t) can be obtained at the output terminal.
c
««ν > 4 ( ς , / ω ) / ^ / 7 + e (67) factor of R/{K K ) must be included to cancel the exist
X R
ssp
stant slope of the ramp signal, is fed to the controller at the T o minimize the traveling time of the robot, one often
same place where r and r are injected. This is indicated in
a d
desires to accelerate it from one desired velocity to the
Fig. 10(b) where V (s)\s the Laplace transform of v . As a
d d
other in the shortest possible time. To do so, one usually
308 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. SMC-13, NO. 3, MAY/JUNE 1983
uses the constant maximum possible acceleration. In this [*(*,.) - χ(/,._,)]/(/,· - /,·_!> and that of d x/dt 2 2
by
mode, x(t) is a parabolic input signal C t /2 so that a
2
theorem, (61) yields the steady-state acceleration error - [*(/,·_,) " *(ί,·- )]/('/-1 "
2 2)}/('/ - '/-ΐ)·
(80)
^ssa = ( { ^ e f f + [RB + K,{K„ + K,k,)]/s)C
These arrangements also automatically handle the errors of
M a
N o t e that the contribution from the centrifugal term is double impulse, and sX(s) = Q , s X(s) = sQ so that the 2
again not included in (72), which should b e taken care of compensations for both the velocity error and acceleration
as described in the preceding section. error vanish. When the controller is in the conveyer follow
If a feedforward signal v is provided as indicated before d ing mode, x(t) is a ramp signal C t a n d X(s) = C /s . v v
2
and the controller is connected as shown in Fig. 10(c), then Then dx/dt is a step input C , d x/dt = C 8(t); or sX(s)
0
2 2
v
e ssa = RJ C /(nK K,) e{i a e +e . ssp (75) since A (s) is a positive feedforward signal.
d
For a conservatively designed controller with co„ < u /2, r D. Effect of Feedforward Compensation
(47) holds so that (75) becomes
An investigation was performed at the Carnegie-Mellon
University o n feedforward compensation of gravity force,
(76)
friction torque, a n d centrifugal contribution for a direct-
This establishes the lower bound for the steady-state accel drive arm [8]. The arm is a mechanical manipulator with
eration error. As before, to reduce the error, additional six revolute joints in which the shafts of articulated joints
feedforward signal a must b e fed to the controller at the are directly coupled to the rotors of torque motors. Physi
d
same point where v is applied, as shown in Fig. 10(e) with cally, no gears or transmission mechanisms are between the
d
A (s) being the Laplace transform of a . With this addi motors and the output shafts. Consequently, the mechani
d d
tion, (68) reduces to cal system has small friction, high stiffness, and n o back
lash. When fully stretched, the a r m of the manipulator
measures 1.7 m long. The maximum payload is 6 kg.
E(s) = [RJ s X(s) eff
2
- nKjK A (s) R d
Usually, the friction torque f is difficult to compensate
m
1 Second
joints (or η links), one obtains [5], [7], [10]:
η η
7-1 7-1
Di s p l a c e m e n t
(in Degrees)
D„ = Σ *[υΜν,ι)'] (83)
ρ = max (/, j)
Ay* = Σ tr[U J (U y]
pjk p pi (84)
p = max(/, j , k)
D
i = Σ m g'U f
p pi p (85)
p=i
and where
tr trace operator,
(·)' transpose of ( · ) ,
η· input generalized force for joint /,
m p mass of link /?,
Displacement
(in Degrees)
rp vector describing the center of mass of link ρ with
respect to /?th coordinate system,
g [0,0,9.8 m / s , 0 ] , gravitational acceleration vector
2
1,2,·.·,,!, (81) -1 0 0
dt\dq,l dq{
0 0 0
where 0 0 0
0 0 0
qt generalized coordinates,
if joint j is rotational,
L £ι>· · ·> Rn)> Lagrangian, 07 = (88)
r( generalized forcing function. 0 0 0 0"
0 0 0 0
The generalized coordinate q represents the displacement
t
0 0 0 1
θ of joint /'. The Lagrangian is also defined as
5
0 0 0 0.
L = (kinetic energy of the system) \ if joint j is translational,
- (potential energy of the system). four-by-four matrix which transforms any vector
By applying the Lagrangian equation to a robot with η expressed in the fcth coordinate system to the
310 ieee transactions on systems, man, and cybernetics, vol. smc-13, no. 3, may/june 1983
Fig. 12. Complete controller for Joint /' of robot having η joints.
same vector expressed in the yth coordinate sys respectively. Again, these torque terms must be fed forward
tem, in the controller for joint / to compensate the physical
qk generalized coordinate (i.e., joint displacement). interactions between joints as shown in Fig. 12. This figure
depicts the complete block diagram of the controller for
B. Coupling Between Joints and Compensation joint / of an industrial robot, i = 1 , 2 , · · · , « . T o implement
these η controllers, the values of the feedforward elements
For each joint i, the required torque or force is divided
D D , and D must be computed for the specific robot,
into five groups as shown in (82). The first group repre
iJ9 ijk t
controller for joint /, as shown in Fig. 12, to compensate complicated and time consuming. T o illustrate the diffi
the interaction between joints. The second term in (82) culty, (82) is expanded for a six-joint robot, η = 6, as
represents the inertia torque of the actuator of joint i which follows:
has already been included in the / - t e r m as outlined in the
eff τ, = D qiX x + Dqi2 2 + ··· + Dq i6 6 + Jq
ai t
D u = mk x
2
22
+ m 2 [ k l u s 2
e 2 + k\ cH
33 2 + r (2y 2 2 + r )\ 2
+ m [k]3 2 2 s e 2
2 + k\ c Q
33
2
2 + r (lz 3 3 + r ).Y 0
3
2
2 + r] 2
2
+m {{k A
2
u [s e (2s e - 2
2
2
A \ ) + s % ] + {k (\ 2
A72 + c 0 2
2 + s % )
+ {k 2
3 3 [ s 2
e 2 { \ - 2 s 2
e 4 ) - s 2
e 4 ] + r 2
s 2
e 2 + r 2
- 2y r s e 4 3
2
2 + 2z (r jtf + r 3 j0 2 c0 2 c0 4 )}
4 2 4
-hm {i(-/c| 5 M + /; 5 22
2
+ /c 2
3 3 )[(*0 *0 2 5 " €θ 3θ €θ ) 2 4 5
2
+ c 0 c 2
4
2
0 ] 5
+ H*511 - *S22 + ^ Χ * ^ + C 2
^ )
+ 2z |7 (.s 0 c0
5 3
2
2 5 + se se ce s0 ) -
2 4 4 5 r c0 *0 ]}
2 4 5
+ [/- c0 *0 50
6 2 4 5 + (r c0 6 5 + r 3 ) ^ ] 2
+ (r c0 50 6 4 5 - r ) 2
2
+ 2z [r (s 0 c 0
6 6
2
2
2
5 + c 0 s 0
2
4
2
5 + c e s e s e
2
2
2
4
2
5 + 2sd ce se se ce )
2 2 4 5 s
+ r (s0 c0 s0 s0
3 2 2 4 5 + s 0 c0 ) -
2
2 5 r c0 .y0 ]}
2 4 5
written as or
"βι' a' a R
3
R
\2
b R R R
= R(z,y) (95) 2] 22
(100)
c C
3 R 3 2 R
.1 .1.
1 .0 0 0
Likewise,
where
1 0 0 0 R u = cos β cos γ
0 cos a -sinα 0
R(x,a) = R l2 = - cos β sin γ
0 sin α cos α 0
R = sin β
0 0 0 1. l3
~2
a 'a' respectively, along the x, >>, and ζ axes. Then
b b
a a
c , (97)
2
4
«3 R
\2 *13
C
2
b _ 2\ R R b
+
R
3
.1 .1
22 2 3
<y
.1.
R
32 /?33 c
or
1 .1 .0 . . 0 0 0 1 1.
a
2 cos β cos γ - cos β sin γ sin β a (102)
b2 sin γ cos γ 0 b Let
— sin β cos γ sin β sin γ cos β c
1 0 0
.1 0 0 0 1.
0 1 0 ty
(98) (103)
0 0 1 tz
Thus (97) and (98) show that coordinates (jc', y\ z') is first 0 0 0 1
rotated γ rad about the ζ axis and then rotated β rad,
about the y axis. If it is further rotated a radians about the denote the previously mentioned linear translation, Then
χ axis, one will have the four-by-four matrix in (102) may be written as
h b R l2
t
= R{x,a) = R(x,a)R(y,fi)R(z,y)
x
C
2 c R 2X R 2 2 R 23
<y
(104)
A .1 .1 Λ 33
R
32 tz
(99) 0 0 0 1
LUH: CONTROLLER DESIGN FOR INDUSTRIAL ROBOTS 313
reference to base coordinates can be represented by The matrix in (109) is the variational operator with respect
to the base coordinates. If the variation is referred to the
«,, «12 «.3 /?th joint's own coordinates, then it must be premultiplied
z**p Zp
x
l
1
R 2i «23 '? by a four-by-four transformation matrix
0 0 1 R t.
«31 3 2 «33 r,° = ( ! ? ) - ' (no)
0 0 0 1
which transforms any vectors or coordinate frames with
(106)
reference to base coordinates (jt , y , z ) to the pth joint 0 0 0
Now if T£ is perturbed by a small translation and coordinates (x , y , z ). Thus the perturbation on the pth
p p p
rotation with respect to the base coordinates, then t «- x joint coordinate frame with reference to its own coordi
δ χ , t <- S y, t <- δ ζ , a «- δ α, β <- δ /?, γ <- δ γ .
0 y 0 z 0 0 0 0 nates is
However, c o s ( £ a ) - 1, s i n ( 5 a ) = δ α , · · ·, δ αδ β — 0,
0
0 0 0 0 0
0 8
oy P
TP.
«Π «.2 «13 0
8
0p a 8
0p z
1 -δ α 0
(107) yv -y' i
δα 0 1 δ ζ 0
p P P
(112)
P* PV P! -z' l„
0
Z Z
0
Z
p
0 0 0 1
Then
x' {A Xx ) p p p x' (A Xy )
p p p x' (A X )
p p Zp x' [(A Xl )+d ]
p p p p
0 0 0 0
314 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. SMC-13, NO. 3, MAY/JUNE 1983
X
^ = Z
P =
~yp x X
P>' ' *' E T C
-' ( ] 1 3
) R E D U C E S T O link) ρ about the origin of the pth joint's coordinates, etc.
ο Λ x
'p(K P XI
+ d
p) D. Computation of Compensation for Gravity, Centrifugal,
ζ'Δ 0 -*;Δ, y;{b Xl p p + d) p and Coriolis Terms
y
P^P P P
o *;(δ, χ + From (85) and (86) one obtains
0 0 0 0
(114) (120)
ρ-·
Since 8 T£ is the perturbation on the pth joint coordinate
p
frame with reference to its own coordinates, then based on By some algebraic manipulation, [5] also shows that
the results in (109), it can be written as
0 z>, = r (i2i)
- ν
P=i
0 -δ α
Γ/
ρ
(115) where r is a vector describing the center of mass of link
1
- ν 0 V
p
d Tg/(dqjdq ),
2
k it is not able to simplify (84) for computa
V = * P \ tion. Conventionally, one often ignores the centrifugal and
δχ = χ;(δ, χ
ρ ι + </„)
ρ
Coriolis terms. The justification is that these two terms are
velocity dependent. When the robot starts to move from its
δ^ = .ν;(Δ, χ / , + <*,) initial location and approaches its goal location, the veloci
ties are usually low, and hence the contributions from these
ν = ;(Δ, χ + (Π6)
Σ
two terms are insignificant. Once it picks up velocity, the
Equations (115) and (116) serve as the basis for numerical robot is traveling in the space, and normally the traveled
computation because of their reduced form. Now, if the path is not of importance. Should the path be important,
perturbation on t h e p t h joint coordinate frame is expressed such as avoiding collision with obstacles, then these two
with reference to the j th joint coordinates (x y z ), then J9 j9 y
terms may not be ignored. They must be computed either
it has a form by (84) or by using the N e w t o n - E u l e r formulation ap
proach [13], which is a computational scheme. This scheme
8jTP=Tf{8 TP). p (117) has been proven to be computationally efficient [14]—[16].
Also, Bejczy [7], [11] used the geometric/numeric approach
to show that for the last four joints of the Stanford-JPL
As a limit,
manipulator, which has six joints (n = 6), the following
terms are identically zero:
d
-^d =Tf{8 Tf).
qj p (118)
^333 ^334 ^335 ^336 ^344 ^345 ^346 ^356 ^366
Through a lengthy algebraic manipulation, [5] shows that Ai33 Ai34 Ai35 A*36 ^ 4 4 4 ^ 4 4 6 ^ 4 5 5 ^ 4 6 6
(with the condition that all the cross inertia terms are
^ 5 3 3 ^ 5 3 4 ^ 5 3 5 ^ 5 3 6 ^ 5 5 5 ^ 5 5 6 ^566
ignored since they are relatively insignificant by experi
ments [5], [7]) ^ 6 3 3 ^ 6 3 4 ^ 6 3 5 ^636 ^ 6 4 4 ^ 6 6 6 ·
for each of the CPU's, was developed by Luh and Lin [17]. loop must be added to each controller. Alternatively, one
When the computational task is reduced and the computa may take advantage of the associated digital computer to
tional time is shortened, having a real-time controller for compute the required joint torques which would yield
the robot is feasible. appropriate velocities at fixed accelerations. The computa
tion requires the knowledge of the dynamical equation of
VI. PATH T R A C K I N G B Y R O B O T W I T H M U L T I P L E the robot. Since the robot is a nonlinear mechanism with
JOINTS
couplings among its joints, as shown in Section V-A on
Lagrangian formulation, the computation is time consum
Refer to the questions raised at the end of Section II. If ing.
the robot is required to travel along a prescribed path, the A possible way to avoid the storage of numerous pre-
controller must keep up with path tracking. With posi computed points of joint trajectories or the computation of
tional controllers the path tracking can be accomplished by these points on-line is to determine the functional represen
dividing the Cartesian path into a number of segments. tation of η joint trajectories. However, the transformation /
Each endpoint of the segments is transformed into joint in (5) is pointwise. Since no transformation of a function is
coordinates, and then the positional control is applied from known, the curve fitting procedure may be adopted as
point to point in joint coordinates. A number of facts follows [20]-[22]. The corner points of the Cartesian path
related to this approach should be mentioned. By transfor are first transformed into joint coordinates. A cubic func
ming all the endpoints of segments of Cartesian paths, one tion is assigned to each segment between every two adjac
essentially constructs η corresponding trajectories in joint ent joint coordinate points. The adjacent cubic functions
coordinates, one for each of the η joints. If these segments are then splined together with the continuity conditions of
[dp(t)' ί/β(ί)Ί y short, the increments of joint
a r e v e r
desired velocity and, if required, desired acceleration. Curve
displacement dq between adjacent points are very small, so
( fitting is done by using a large number of points on the
that sin dq - dq and cos dq - 1. Thus the transformation
i t { Cartesian path after they are transformed into joint coordi
/ ( · ) defined by (5) becomes a differential transformation nates and applying the least square error fit to obtain the
which is usually linear. This transformation is the Jacobian coefficients of the spline function. Thus one needs to store
matrix of the displacement, which contains trigonometric only the coefficients. The points on the joint trajectories
functions of the joint displacement with respect to the joint can be obtained by a simple computation when needed.
coordinates before the differential increment takes place
[18]. Analytically, the solution dq in terms of dp and dti
t
VII. E F F E C T O F F E E D F O R W A R D C O M P E N S A T I O N ON
can be obtained simply by inverting the Jacobian matrix.
A M U L T I P L E - JOINT ROBOT
Although it is sometimes possible, it is usually difficult
since the Jacobian is quite complicated. Numerical solution In the same report of Carnegie-Mellon University [8]
is also possible but usually requires long computing time. referred to earlier, the investigation on the feedforward
Moreover, the Jacobian matrix becomes singular when the compensation of gravity force, friction torque, centrifugal,
robot reaches a degenerate position at which the solution and Coriolis contributions for a direct-drive arm was ex
dq is not unique (i.e., more than one value of dq yields a
l t tended to two joints. A comparison of the joint trajectories
same dp and </θ.) An alternative method proven to work for two joints of the direct-drive arm is shown in Fig. 16,
successfully is to differentiate the solution of (5) directly which is reproduced from [8]. A noticeable interaction is
[18]. This is possible since for a given robot with fixed seen between these two joints when no feedforward com
dimensions, the transformation / is known. Using this pensation is applied. A close coincidence is also seen
approach, one must set dq to zero if it is physically
l between output and input commands for both joints when
impossible due to constraints, or if it is undetermined. It the full dynamic compensation is implemented.
usually results in a simpler expression [18].
The desired Cartesian corner points of the path may be
VIII. CONCLUSION
fed into the control system either numerically or through
the teaching by doing procedure. The intermediate points For industrial robots whose assignments are limited to
of the small segments of the path are usually specified, or usual tasks involving mainly synchronization, controllers
interpolated by the computer-controller, or sampled and can be designed by conventional methods based on two
recorded through teaching by doing. factors: damping factor and structural resonant frequency.
When the robot is controlled from point to point using For a single-joint controller, it is possible to reduce the
the positional controller, it has a natural tendency to stop steady-state position error and to eliminate the velocity
at each point. This undesirable phenomenon may be and acceleration errors by feedforward compensations. For
eliminated by specifying a nonzero velocity at each Carte multiple-joint controllers, further feedforward compensa
sian point, which can be transformed into the correspond tion is necessary to encounter the force interactions
ing nonzero joint velocities by a Jacobian matrix of the between joints. However, this introduces computational
velocity. The joint velocities are often referred to as the difficulties so that methods of approximation, simplifica
"resolved rate" [19]. For implementation a velocity control tion, or parallel computation are needed.
316 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. SMC-13, NO. 3, MAY/JUNE 1983
NOTE:
I Second
30 h
4J C «-
υ — cd
ω ο 4)
- 30