Kinematics Simulationof Serial Manipulators

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

B.

Paul Kinematics Simulation


J. Rosa
Department of Mechanical Engineering of Serial Manipulators
and Applied Mechanics
University of Pennsylvania
Philadelphia, Pennsylvania 19104

Abstract must be weighed against the goals of the user. For


example, we may classify goals and methods roughly
This paper presents a systematic development for finding by how they answer the following questions:
position, velocity, and acceleration of one or more points of
interest on one or more links of a serial manipulator. The A. Is the kinematic state (position velocity, accel-
system of equations given is well suited for direct kinematics eration) to be found for the end link only?
and effectively supplies the influence coefficients or velocity B. Is the kinematic state to be found for all links?
Jacobians needed for a subsequent dynamics or kinetostatics C. Is only the manipulator Jacobian required?
simulation. An alternative to the Denavit-Hartenberg matri- D. Are the Jacobians for all links required?
ces is suggested, and a direct vector statics solution for actua- E. Are there multiple points of interest on several
torforces and torques is provided. It is shown that all veloci- links?
ties and accelerations (linear and angular) are simply
expressed in terms of certain so-called star matrices. By Different goals require different answers, as sug-
exploiting the skew symmetry of these matrices as well as gested in the following formulation of a few typical
sparseness properties wherever possible, it is shown that the goals (Y indicates &dquo;yes&dquo;; N indicates &dquo;no&dquo;; M indicates
arithmetic operation counts can be reduced significantly in &dquo;maybe&dquo;, depending on the algorithms used):
the calculations. The ideas presented here have been imple-
mented in a computer program that was used to partially
verify the practicality and efficiency of the techniques devel-
oped.

1. Introduction

Several approaches to the problem of kinematics anal-


ysis for manipulators have been described in the litera-
ture : e.g., Duffy (1980); R. P. Paul ( 1981 ); Thomas
and Tesar (1982); Coiffet (1983); R. P. Paul, Renaud,
and Stevenson (1984); Desa and Roth (1985); Lipkin
and Duffy (1985). These descriptions testify to the
wide variety of formulations that are possible (e.g., In this paper, we describe a method that is extremely
based on vectors, homogeneous coordinates, screw well suited to goals 1- 4 and is reasonably efficient for
calculus, tensor analysis, and combinations of these). goal 5.
Furthermore, it is known that the efficiency of any we believe that the technique described
In short,
such method is very sensitive to details of the analyti- below will be among the most efficient methods for
cal formulation and to the specific numerical imple- problems where there are one or more points of inter-
mentation thereof. Also, the efficiency of any method est on every link and where the determination of the
manipulator Jacobian only is not a primary goal. Even
for this secondary goal, we believe that our method
compares favorably with the best of those described in
a recent evaluation of six methods for computing the
manipulator Jacobian (Orin and Schrader 1984).

14
Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016
We will restrict our attention to serial link or serial dardization in the field of robotics since the publica-
manipulators in which there is one grounded joint tion of R. P. Paul ( 1 81), we have deviated from them
connecting the first link to the system base and a chain in the following ways:
of binary links in series, with either a revolute or pris-
matic joint at each end. Although the method can
1. Boldfaced lowercase letters represent geometric
three-vectors, and the corresponding uppercase
hardly be described as totally new, since it utilizes letters represent the associated extended vec-
many well-known concepts, the details of the develop-
ment are believed to contain several worthwhile and tors ; e.g., X [xt 1 ] t.
=

2. We indicate the frame of reference in which a


possibly new ideas. These include:
column vector is to be resolved by a right su-
1. Provision for multiple points of interest on any perscript as opposed to the left superscript that
link of the system; is now frequently used (Kane 1968; R. P. Paul ,

2. A thorough exploitation of skew symmetry in 19$1); i.e., xm is a column vector whose ele-
certain key matrices; ments are resolved in coordinate frame m.
3. A systematic presentation of all equations When m 0, the resolution is in a global refer-
=

required for position, velocity, and acceleration ence frame, also called the base frame.
determination, as well as angular velocity and 3. Matrices will generally be represented by bold-
angular acceleration for each link; faced uppercase letters: e.g., Rkand the mean-
4. Efficient computation of influence coefficient ing of associated subscripts or superscripts will
matrices (link Jacobians) needed for dynamics always be explained in context. We shall indi-
analysis; cate the elements of a matrix in the form R n)23
5. A direct vector calculation of actuator forces or Rn,23, which here denotes row 2, column 3.
needed for static loadings of the links;
6. A complete operation-count for various phases
All other notational devices and symbols will be
defined when first introduced.
of the computation;
7. Implementation in a computer program;
8. Description of an alternative to Denavit-Har-
2. Position Transformations
tenberg matrices.
We feel that the analysis is presented in a straight- For a kinematic analysis of manipulators, it is essential
forward, well-organized manner that does not require to utilize convenient
a method of expressing the coor-
a strong background in any recondite subject (beyond of
dinates any point in the system with respect to co-
elementary matrix operations) and that does not tax ordinate frames fixed in any link of the system. That
the reader’s ability to visualize complicated spatial is, if xm and xm+ are the position vectors of a point,
geometry. referred to coordinate frames embedded in links m
Although we have restricted our attention to ques- and m + 1 respectively, the relationship between the
tions of kinematics, except for a brief (essentially geo- two vectors is given by the rigid body transformation
metric) analysis of actuator forces and torques under
static loading, we have kept in mind the application of
our results to problems of dynamics (including inverse
kinetics and general statics). For reasons of space, we where R:+1 is an orthogonal matrix (the rotation ma-
have not pursued the question of dynamics farther, trix) determined by the angular orientation of the two
but the interested reader will see a clear path from the coordinate frames and pm+, 1 its the vector from the
results of this paper to a full dynamics analysis via the origin of frame m to that of frame m + 1 (Suh and
d’Alembert-Lagrange virtual work approach as de- Radcliffe 1978; Bottema and Roth 1979; R. P. Paul
scribed in B. Paul (1984) and Schaffa ( 1984). 1981).
Although we have tried to use those notational con- As suggested by Denavit and Hartenberg (1955), it
ventions that appear to be approaching a state of stan- is convenient to express Eq. (1) using homogeneous

15
Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016
Fig. 1. Denavit and Harten-
berg representation. R. P.
Paul’s notation.

coordinates in the form

where

is an extended vector (four-dimensional) representation


of the position vector xm, and

is a (4 X
4) transformation matrix.
For later use, we record the easily verified result that link mrelative to link m - 1 is angle 8m (for a revolute
the inverse of any matrix T of the form at axis z,,,- 1), or translation dm (for a prismatic joint at
axis z,,,- ). The linear off’set am is the length of the
common perpendicular from axis Z m-l to axis zm, and
axis xm is measured along this line. The angular offset
as is the angle made by axis zm relative to axis z,,,-,i
where R is orthonormal, is in the sense of a right-handed screw advancing along
axis x~. The axis ym is defined so as to make the axes
Xm, ym, and zm right-handed. When axes z~ and z,,,-i
intersect, either direction normal to their common
plane may be chosen for the positive direction of x,,,.
When the axes zm and z,,,-, coincide, any direction
The elements of T-,,depend upon the variable
normal to this common axis may be chosen for the
angles and displacements at the joints of the manipu- axis of Xm’
lator, upon certain parameters associated with the With these notational conventions, it may be shown
fixed geometry of each link, and upon the nature of
the kinematic pairs at the joints. In a serial manipula- (R. P. Paul 1981 ) that
tor, we may associate one degree of freedom with each
joint and label the corresponding joint variables with
the symbols q, , q2, ... qF, where F is the total
,

number of such simple joints and hence is the degree


of freedom of the manipulator.
Currently, the most commonly used method of
specifying the matrix T m+, is that introduced by Den- where
avit and Hartenberg (1955). It is important to recog-
nize that minor-but potentially confusing-
differences in notation occur in the various
adaptations of the Denavit and Hartenberg description
(identified henceforth by DH). The most important of
these differences pertain to indexing conventions. We original notational of Denavit and Hartenberg
In the
shall adopt the notation of R. P. Paul ( 1981 ) as illus- (195~) (which has usually been adopted by specialists
trated in Fig. 1. In this notation, the &dquo;displacement&dquo; of in kinematics), the axes x~, ym, and zm are defined as

16
Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016
Fig. 2. Modelling method of
B. Paul and R. Scha, ffa spe-
cialized to serial manipula-
tors.

described, but the index m is replaced by m - 1 in the


terms denoted above by 8m, Œm, am; and dm is re-
placed by S m-l .
The DH formulations described above are compact
and convenient for serial manipulators, but they have
their shortcomings. For example, the indexing scheme
would have to be modified when more than two links
are attached to any given link. Additional modifica-
tions would be needed for closed-loop systems. Var-
ious forms of such modifications have been described
by Sheth and Uicker ( 1971 ) and by B. Paul and R.
Schaffa (Schaffa 1984). This last mentioned formula-
tion has the advantage of eliminating the confusion
caused by the lack of uniqueness of the DH methods
when intersecting or coincident joint axes occur. The
modelling method of Paul and Schaffa, specialized to
serial manipulators, is illustrated in Fig. 2.
In this method, a typical link m may be envisioned
as a bricklike element with a local coordinate frame

(xm, Ym, zm) with unit base vectors (em,, em2, em3)
embedded at one corner O&dquo;, of the brick. The axis zm
(of a revolute or prismatic pair) coincides with vector
em3. The second joint axis z,,,, on link m passes Similar modelling is used to define the local struc-
through a point Q.. located in link m by the local ture of all links in the system. The links are assembled,
position vector as shown in Fig. 2, by aligning the base vectors em+,,3
and am,3 . The translation of link m + 1 relative to link
m is defined by the distance a m+ of point Qm+ from

At point Qm, a second set of orthogonal unit base point Qm. The rotation angle of link m + 1 relative to
link m is the angle em+1 between vectors e~+ i,i and
vectors (a .. 1, arn2, am3) are embedded in link m, with
the axis of Zm+1 aligned along the vector am3. The am,1 measured in the sense of a right-handed screw
direction of am, is chosen to suit the modeller’s conve- advancing along axis z~+i.
The transformation matrix relating the bases elm+1,,
nience. We call emi the primary basis for link m and
and a~j is simply
a,i the secondary basis.
Elements of the rotation matrix that relate these two
bases are formed from scalar products of the base
vectors, as follows:

and the corresponding (4 X 4) transformation matrix is This matrix may be thought of as the joint matrix
associated with joint m + 1.
From these definitions it follows that the point at
xm+l in link (or basis) m + I is located at x in link (or
basis) m such that
Note that all elements of K m are constants; i.e., they
do not change as a result of any joint motions.

17
Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016
Using this method, we see that the transformation In a system with F degrees of freedom, Tm will depend
matrix upon F time-varying generalized coordinates, qi.
Therefore

relating bodies m and m + 1 is the product of a con-


stant body matrix K- associated with link m and a
joint matrix Jn, associated with joint m + 1. Only where each element of the matrix
the joint matrix changes when motions occur. In a
recent publication (Litvin and Parenti Castelli 1985),
similar factoring of the T matrix into body and joint
matrices was utilized.
IfT~ is the transformation matrix relating the pri- is the partial derivative with respect to qk of the corre-
mary basis of link m with the globally fixed axes (x°,
y°, z°) of ground link O, then the corresponding matrix sponding element of matrix Tm.
The extended velocity vector is therefore found
TO, for link m + 1 is found recursively from TO, by from Eq. (18) to be

3. Velocity Analysis where

We wish to determine the velocity of point P~, which


is fixed in a moving body m. The extended position
vector of Pm in the global frame is given by Note: We may interpret Xmk as the (extended) ve-
locity vector of point Pm when ilk I and all other =

values of qr = 0. X£~ may also be interpreted as the


partial derivative of Xm with respect to qk- Since
When the superscript is omitted from a vector, as in V4 0, the fourth component of the vector Xmk also
Eq. (15), it is understood that the implied superscript vanishes, and we can recover v from V merely by de-
is zero. The homogeneous transformation relating the leting the last row in Eq. (21 ). Formally, we may write
two sets of coordinates is

where Tm « TOM I

The velocity V 0 (observed and resolved in the global where


frame) of point Pm is found by differentiating Eq. ( 16):

Since point Pm is fixed in the frame m, the compo-


nents of X m do not change with time; X m therefore is matrix that will merely strip the fourth row from
a
vanishes and any matrix with four rows.
The vectors X:nk(k = 1, F) may be assembled
... ,

into a partitioned matrix U m, of dimensions 3 X F,

18
Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016
defined by where the DH matrices Ak are each a function of a
single joint variable; i.e.,

Then the (globally observed and resolved) velocity v


of any point fixed in frame m is given, via Eq. (23), by Variable qk represents an angle Bk if there is a revolute
joint at axis Zk-1; or qk represents a distance dk if
there is a prismatic joint at axis zk_1. Therefore,
.

The columns of matrix Urn, which are the vectors


SX&dquo; Mi ., correspond to what Kane (1968) has called
&dquo;partial rates of change of position of Point Pm .&dquo; We
call U &dquo;’ the velocity Jacobian for points fixed toy
member m; i0s-the same matrix of influehcecoefi-
cients as that Utilized by B. Paul (1975, 1979) for
planar problems and in B. Paul (1984) for spatial
problems. In these references, it is seen that Eq. (26A)
proves most useful in applications to statics and dy-
namics. However, each point in frame m will have a
different U m matrix. If one wishes merely to compute Upon differentiating the expressions for A~ given by
the velocity for several different points fixed in frame Eq. (5), we find
m, it is more convenient to use Eq. (21 ) in the form

where
In thisform, one needs to compute the matrix within
parentheses only once for a given link m, regardless of
how many points of interest (xm) exist.

3.1. SPECIALIZATION TO SERIAL MANIPULATORS


(WITH R AND P JOINTS)
We now consider serial manipulators with only revo-
lute (R) or prismatic (P) joints. For such systems, we
may find the components of the velocity Jacobian U &dquo;’
from the DH representation or from the Paul-Schaffa Now we return to Eqs. (29A) and (29B) and express
representation (Eq. 14). For present purposes, we will Pmk in the form
use the more familiar DH representation.
From Eq. (2) it follows that the transformation re-
lating the global frame and frame m is given by

19
Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016
where Equation (39) is most convenient if we wish to find
the velocities of severalpoints in member m. How-
ever, for purposes of dynamics, we also wish to express
v in terms of the velocity Jacobian U -. Towards this

end, we express Eq. (37) in the form


Therefore

from which it follows that the velocity Jacobian for


where Q k is the result of the similarity transformation points on link m is
on Qk:

These Q * matrices play a central role in subsequent 3.2. ANGULAR VELOCITY


analyses and may be evaluated very efficiently, as
demonstrated in Section 6 of this paper. At thispoint, it is convenient to define the terms dual
The extended velocity vector V is given by Eq. (26B): matrix and dual vector.* For any vector g, we define a
skew symmetric matrix G called the dual matrix of g,
given by:

The summation may be limited to the range (1 ~


k % m) because P mk vanishes for k > m (see Eq. 29B).
Upon substitution of Eq. (35) into Eq. (26B, re-
peated), we find Similarly, the dual vector of any skew symmetric
matrix G is

We now introduce the differentiation operator Note that the operator Du produces a matrix (and
the operator du produces a vector) as implied by the
use of the leading characters D and d of the operator’s
symbol.
We will denote by w the angular velocity vector,
with respect to the global frame, of any link. The dual
which permits us to write Eq. (37) in the form

*
There is no widespread agreement on these names. We follow the
practice of Tensor Analysis (Synge and Schild 1952). In the older
Clearly, Dm operates upon the global position vector literature, a dual vector is sometimes called an axial vector. The
X of a point fixed in frame m and converts the posi- names dual vector and dual matrix are sometimes used to describe
tion vector into the velocity vector (globally observed generalizations of Clifford’s and Study’s concept of dual number
and resolved) of that point. (Brand 1947; Bottema and Roth 1979).

20
Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016
matrix of (J) is defined as the skew symmetric matrix already established skew symmetry of Q. Note that
when Dm is available, the angular velocity matrix
comes free of charge.
From Eq. (38A) we can also express the angular
velocity matrix of link m as

The relationship between the angular velocity matrix


g and the rotation matrix R = R~ for link m is given
by the well-known expression (Frazer et al. 1938; Bot-
tema and Roth 1979) We can therefore interpret am as a linear combina-
tion of angular velocities Q*^ contributed by links
1-m. The &dquo;strength&dquo; of the contribution from link k
is the joint velocity qk.
The angular velocity vector of link m follows from
which is called &dquo;Poisson’s equation&dquo; by Wittenburg Eq. (47A) in the form
(1977). We may express Q in terms of previously cal-
culated quantities by recalling that R is the principal
(3 X 3) submatrix (i.e., upper-left) of T = Tm, repre-
sentable as since

where superscripted caret (&dquo;) denotes the principal


a For purposes of dynamics, it is convenient to express
(3X 3) submatrix of thecorresponding (4 X 4) matrix. the angular velocity vector of link m in the form
From Eq. (19) we see that for link m

By partitioning Dm and Tm, we find


where wm is a (3 X F ) matrix. The column vectors of
matrix Wm constitute what Kane (1968) calls &dquo;partial
rates of change of the orientation of body m.&dquo; We call
W m the angular velocity Jacobian of body m. Its rela-
tionship to Euler’s angles is given in B. Paul (1984),
but it is readily calculated directly as follows from Eqs.
(48) and (38A):
Therefore,

’m = T2 = D2Rm
R~=t,,=D~ (46B)
and Eq. (43) leads to the conclusion that Comparing this to Eq. (50A), we see that

where the skew symmetry of D£ follows from the

21
Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016
Note that the terms Q*kii have all been calculated in
Here only the term Qk has not been previously calcu-
the process of finding Um, and are available here at
lated. To determine this matrix, we* write Eq. (36A) in
zerocomputational cost. the form
Equation (26A), v Umq, and Eq. (50A), cv
= =

W mq, may be combined into the single matrix expres-


sion
Therefore

where the partitioned matrix However, Q~ vanishes for revolute and prismatic
joints. See (Eqs. 31A and 31B). Therefore

is the Jacobian for member m. When m F, J F is =

From Eqs. ( 19), (35), and (38A), we find that


commonly called the manipulator Jacobian. A differ-
ent approach to finding the manipulator Jacobian is
given by R. P. Paul ( 1981 ), and a comparison of sev-
eral other methods for calculating its elements is given
by Orin and Schrader (1984). We emphasize here that Then from Eq. (58), we find
our main purpose is not merely to calculate J F, but to
calculate all member Jacobians J’, ... J F and the
,

kinematic state of points of interest on all links. The


efficiency of this procedure will be discussed in
Section 6. By virtue of Eq. (36A), we now find the very useful result

This matrix is best evaluated by partitioning as follows:


4. Acceleration Analysis
By differentiating the expression for V in Eq. (39), we
seethat the extended acceleration vector (globally
observed and resolved) of a point on link m is:

where the index (k - 1) is implied for D&dquo; and d and


index k is implied for Q *A and q *. On expansion, we
In this expression, only the matrix Dm has not been find the required submatrices of Q k to be
previously evaluated. To find this term we differentiate
Eqs. (38A) and (38B) and arrive at

22
Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016
or

The last equality in Eq. (63) states that Oz is skew


symmetric, an important fact that will be proved in
Section 6.
Now that the key matrix Q k has been found in
terms of previously calculated quantities, we can eval-
Alternatively, we can use Eqs. (47A), (47B), (38A),
uateDr, D2, ... , Dm recursively from Eqs. (55A) and (38B) to write the recursion formulas:
and (55B) and then find X from Eq. (54). This is rec-
ommended when there are multiple points of interest
per link and we do not care to find Jacobians directly.
However, in problems of dynamics, we do need
member Jacobians and wish to express the acceleration
of a point on link m in the form
Once again we see the central role played by the ma-
trices Qm&dquo;. Because of their crucial importance, we
shall refer to Q * and Q * as star matrices.
This is achieved by using Eqs. (54), (55A), and (55B)
to express the extended acceleration vector A in the
form
5. Static Joint Actuator Forces

For serial manipulators, the reaction forces and mo-


ments at the joints are statically determinate and may
It isreadily seen from this result that the three-vec- be calculated recursively from the outboard end in-
of acceleration, a SA, is given by Eq. (65), where
tor =
ward. To see this, consider Fig. 3. .

Um is the velocity Jacobian defined by Eq. (40) and The reactions exerted on link at its primary joint
axis are equipollent to a force F&dquo; and moment M~
acting at point On. Therefore, the reactions exerted on
link n at its secondary joint axis must be equipollent
to force - F n+1 and moment - Mn+1 acting at point
Qn . The applied system of forces is equipollent to a
moment M~ and force Fn acting at a given reference
point Cn on link n. The radius vectors Pn 0,,Qn and
=

rrn
=
O C are indicated in Fig. 3, as are unit vectors
. ANGULAR ACCELERATION Un and Un+ along the primary and secondary joint
axes of the link. If the link is in equilibrium, it follows
By differentiating Eq. (50A), we find the angular accel- by summing forces and moments that
eration for a point on link m to be

where W m is given by Eqs. (S 1 A) and (51 B), from In system with F links in series, the end link F has
a
which we also see that no secondary joint and we write

Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016


23
Fig. 3. Free-body diagram of Fig. 4. Free-body diagram of
link n. links 4 - 6 of a six-link ma-
nipulator.

Accordingly, we may use Eqs. (72) and (73_) to re-


_cursively evaluate FF, FF-I ... F, , and MF,
,

&iF- 1, - - - , M I -
If the joint at point On is a revolute, then the motor that for manipulator with
a F links, the reactions are
which drives this joint must provide the component of given explicitly by
Mn in the direction of the revolute axis u~. If we de-
note this motor torque (acting on link n at On) by T.
it follows that

Similarly, if a prismatic joint exists at 0,~, the actua-


torforce Pn (exerted on link n at On) is

Explicit (nonrecursive) expressions for the joint


reactions may be derived directly from Eqs. (72)-(74)
or by induction from Eqs. (77) and (78). These expres-
Before performing vector sums in any of the foregoing
sions follow directly from Fig. 4, which is a free-body equations, all vectors must be resolved in a common
coordinate frame, which we take to be the global
diagram of the last three links of a six-link manipulator. frame. Utilizing the notation of Section 2, we refer r,
By equating to zero the resultant force and moment and p~ to the global frame by matrix expressions
of the vectors shown in Fig. 4, it follows that the reac-
tion force and moment exerted on link 4 are equipol-
lent at point 04 to

Similar expressions could be used for the force and


moment vectors if they are specified in local coordi-
nates. However, Fi and Mi are most conveniently
By induction from this special case, it is readily shown specified directly in the global frame, in which case the

24
Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016
matrix form of Eq. (80) is Recalling the definition of the link Jacobian given
by Eq. (53), we can write

where the dual matrices our, and ds are defined by

For the special case where external forces act only


on the outermost link (Fn M~ 0, for n # F’), Eq.
= =

(89) reduces to

An alternative method of finding the joint actuator This special case, which assumes that only the end
forces is to use the principle of virtual work in the rate link is subjected to forces, is well known (R. P. Paul
form (B. Paul 1984, 1985): 1981 ), but the more general result (Eq. 89) will be
needed for most industrial robots, where the inboard
links have significant weight. The more general form is
also needed for dynamics analysis (both inverse and
direct), where the applied forces F&dquo; and M, include in-
where ertia forces. These inertia forces may be computed
from the kinematic relations given in this paper to-
Q, =
F, when Q, = d, (for prismatic joint), gether with information on inertia matrices (B. Paul
1984,1985).
Gr =
M, when q, =
8, (for revolute joint),
Yn =
velocity of point en on link n (see Fig. 3), 6. Computational Considerations
cr3&dquo; =
angular velocity of link n.
In this section we will follow the common practice of

Utilizing Eqs. (26A) and (50A), we find listing the number of multiplications (Mu) and addi-
tions (Ad) required for different phases of computa-
tion. It should be emphasized, however, that these
numbers, in themselves, do not necessarily constitute
criteria for overall efficiency of computation. For ex-
ample, one method may excel when the kinematic
For a serial manipulator, the joint velocities q, are state (position, velocity, and acceleration) is required
independent, hence for one point of interest on a specific link, whereas a
second method may excel when points of interest
occur on several links. The first method may be best
for the determination of a manipulator Jacobian,
whereas the second method would be preferred for an
where the algorithms for the velocity Jacobians Un inverse dynamics analysis (kinetostatics). In addition,
and angular velocity Jacobians W&dquo; have been given in a method that is efficient for velocity determination
Section 3. may be inefficient for velocity determination may be

Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016


25
Table 1. Summary of Operation Counts for Matrices T,, ... , TN .

inefficient for acceleration determination. For these [Example: Mu (V, II) incremental number of
=

reasons, we have developed formulas that give the multiplications needed for velocities by Method
operation counts for each phase of a kinematics analy- II].
sis(position, velocity, acceleration) and have segre-
gated the incremental operation count for multiple
points of interest on each member during each phase 6.1. POSITION DETERMINATION
of the analysis. Detailed derivations of the results
stated below are given in Rosa (1985).
The recursion relations for the position of points on
The following notation is used:
link m given by Eqs. (27) and (16) are
N =
link number of the outermost link with
points of interest on it.
nk =
number of points of interest on link k.
PNC = number of nongrounded prismatic joints
(excludes any prismatic joint attached to
ground [base] link).
c5GR =1 1 (0) if the grounded joint is revolute (pris-
matic). The number of arithmetic operations required is
6v 1 (0) if velocities are (are not) to be computed.
=
strongly influenced by the way one utilizes sparsity
’5A 1 (0) if accelerations are (are not) to be com-
=
properties (zero elements) of the matrices or any other
puted. special characteristics (e.g., unity elements, symmetry
or antisymmetry, etc.). For example, Table 1 shows
In addition, we shall distinguish between Method I,
which does not utilize sparseness and other special the operation counts for various procedures called cases.
In Case 1, Eq. (91 ) is applied directly, but in Case 2,
properties of certain matrices, and Method II, which it is recognized that the fourth row of the A matrices
does. The following notation is used to specify opera-
have a special character that can be utilized to avoid
tion counts:
many multiplications by zeros or ones, thereby result-
Op(S, M) =
incremental number of operations of ing in a dramatic reduction of operation counts.
type Op needed to compute state S by A further modest but significant reduction is possi-
method M, where ble (see Cases 3A-3C) if it is realized (Eq. 5) that
Op =
Mu (multiplications) or Ad (additions element A31 is always zero. In Case 3A, the A matrices
or subtractions). are multiplied from left to right. Case 3B represents a
S =
P (position) or V (velocity) or A (accel- slight improvement achieved by the technique of
eration). Renaud ( 1981 ), which breaks T. into two halves, e.g.
M =
I (sparseness, etc. ignored) II (sparse- (A 1 ... A3)(A4 A6). This idea may be devel-
...

ness, etc. used). oped further as shown in Case 3C, where the matrices

26
Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016
Table 2. Incremental Operation Counts for All Points of Interest

&dquo;

are factored into pairs, e.g. (A, 1 A2)(A3 A4) ... ; it is Case 1 represents the most straightforward and naive
only slightly better than Case 3B. It is obvious that implementation, but it is obviously grossly inefficient.
Methods 3A, 3B, and 3C are essentially equal in effi- The relations leading to Case 3A are very easily imple-
ciency. Case 3D (multiplying from right to left) does mented. The additional programming overhead to
not give Tk for k < N; it does give TN, but that is not realize the virtually negligible improvement of Cases
what we seek. 3B and 3C make those methods less desirable, and
By taking advantage of the special geometric features Case 3D will not be considered further here because
of a specific manipulator, it is possible to reduce oper- we desire to find all T, TN. Furthermore, we
...

ation counts dramatically. For example, most com- seek results that are valid for any value of ak. There-
mercially available manipulators have link twist angles fore, we will henceforth consider only implementation
of ak 0, or 90 degrees or - 90 degrees. This is not
=
of Cases I and 3A, which we shall designate as
surprising when one considers that with combinations Method I and Method II respectively.
of only these three choices, it is possible to design 486 Operation counts for position determination, in-
distinct six-axis serial manipulators. A study of opera- cluding the presence of multiple points of interest on
tion counts for the manipulator Jacobian (Orin and each link, are shown in Table 2. Note that the rotation
Schrader 1984) has focussed on such geometries. matrix for each link is merely the upper-left 3 X 3
When dealing with a specific manipulator, one may submatrix of each T matrix, so that rotational infor-
take further advantage of specific matrix properties mation is included free of charge in this so-called posi-
(especially zero and unity elements) associated with tion determination.
zero values of the parameters ak and dk of the DH For the particular case of a manipulator with
matrices to achieve very substantial further red~ctions
in operation counts. This approach is illustrated for
six revolute axes and one point of interest on each
link, the required operation counts are shown in
the configuration of a six-axis Puma type manipulator Table 3.
in R. P. Paul, Renaud, and Stevenson (1984). Although the savings for position determination are

Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016


27’
_
Table 3. Incremental Operation Counts for a Six-Link Manipulator with All Revolute Joints and One Point
of Interest per Link

substantial, the savings for velocity, acceleration, and Then, after utilizing Eqs. (4A) and (36A), we find
_
the overall problem are even more impressive.

6.2. VELOCITY DETERMINATION and

It will be assumed that all the matrices Tk required for


the position determination and the global position
vectors for all points of interest have been saved and From Eqs. (31 A) and (31B), we see that
are available for velocity determination. Then the
incremental operation counts required for velocity de-
termination are as shown in Table 2. The count is
based on the use of Eq. (39), which is best suited to Therefore the transpose of Qk&dquo; formed from Eq. (93) is
cases where there is more than one point of interest per
link. Some savings could be achieved by utilizing Eq.
(26A), when at most one point of interest exists on
each link. Table 3 shows that the incremental number
of multiplications in Method II can be approximately
one-ninth of those for Method I. This dramatic in-
That is, Qj§’ is skew symmetric and can be expressed
in terms of a dual vector c~ in the form
crease in efficiency is due not only to the deletion of
unnecessary multiplication by ones and zeros, but it is
also the result of utilizing the skew symmetry of sev-
eral key matrices that are used in the calculation. For
example, we can evaluate Qk very effectively by parti-
tioning it and other matrices as follows:
For the case of a revolute at joint k, Qk is given by Eq.

(31A), and from Eq. (96) one finds that the elements
of the dual vector Ck are:

Then, from Eq. (94) one finds

28
Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016
Method I is approximately five times higher than for
Method II (160 A730 N), and the addition count is
approximately six times greater (144 N/24 N). This
great improvement is due primarily to the exploitation
Similarly, for a prismatic joint k one utilizes Eq. (31 B) of special properties of the matrix Qr’ . As may be
and finds that seen from Eqs. (54),(55A), (55B), (67), (71A), and

(71 B), these star matrices play a crucial role in deter-


mining acceleration of points of interest and the angu-
lar acceleration of the links. We now prove that 0f’ is
skew symmetric and then develop expressions for its
three independent elements.
By exploiting the skew symmetry of Q,*~&dquo;, we can From Eq. (63) we recall that
reduce the number of operations significantly wherever
Q* or other matrices dependent on it enter the analy-
sis. For example, we may conclude that (Eqs. 38A and
38B) where the indices k and (k - 1) are implied for Q and
D respectively. Therefore

is likewise skew symmetric and that we need to,evalu- But it was proved in Section 3 that both Q*&dquo; and D&dquo;
ate only three of its nine elements.

are skew symmetric. Therefore


From these last results we see that for a revolute the
calculation of Qf requires only twelve multiplications
and six additions, whereas no multiplications or addi-
tions are needed for a prismatic joint. On the other
hand, had we merely evaluated Qf directly from Eq. Having demonstrated the skew symmetry of Q*&dquo;,
(36A) by successive multiplication of three matrices of we only need to find the three elements of its dual vector
dimension 4 X 4, we would have had to perform 128
multiplications and 96 additions. Efficiency in the
calculation of Qf pays handsome dividends in the sub-
sequent calculations of the equally important Dm ma-
trices (Eqs. 38A and 38B) and the Jacobian matrices
U m and W &dquo;’ (Eqs. 40, 51 A, and 51 B) when these are
required. The structure of the Q* matrices may be
further exploited in the determination of accelerations,
which we discuss next. where

,
6.3. ACCELERATION DETERMINATION

We will assume that all matrices required for the prior With this representation, only six multiplications
determination of position and velocity have been and three additions are needed to evaluate this crucial
computed and stored. The incremental operation matrix. The remaining calculations for a and il in
counts for determining acceleration are shown in terms of 4)k*^ are straightforward and give rise to the
Table 2. Note that the multiplication count for operation counts shown in Table 2.

29
Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016
6.4. COMBINED OPERATION COUNT of each link as a calculation-free by-product. An op-
tion in the procedure permits one to efficiently calcu-
The total operation count for the determination of late the influence coefficients needed for every link if a
position, velocity, and acceleration may be compactly dynamics analysis is to be performed.
represented by By recognizing and exploiting special properties of
certain star matrices, denoted by Q* and Q *, the
number of arithmetic operations required can be re-
duced by a factor of five or six (depending upon the
specific options chosen). It is shown that almost every
where the notation is as defined near the beginning of significant calculation relating to velocities or accelera-
this section. tions is simply expressed in terms of these star matri-
Table 3 shows typical results. ces and two closely related &dquo;differentiation matrices,&dquo;
D and D, which are themselves formed simply from
the star matrices. Examples of such simple relations
6.5. COMPUTER PROGRAM are given in the next paragraph.
Angular velocity matrix SZm of link m is the princi-
A FORTRAN program called SERMAN (SERial MA- pal 3 X 3 submatrix of Dm. The angular velocity Jaco-
Nipulator) implements many of the ideas we just dis- bian W m for link m consists exclusively of elements of
cussed. The program runs well on an IBM PC-XT QM, and the velocity Jacobian for the point X on link
with 512 Kbytes of RAM and 8087 Math Coprocessor. m consists of the row vectors Q k X of all links from m
At the time this paper was submitted for publication, inward. The linear velocity of that same point is sim-
SERMAN had not yet incorporated all of the effi- ply V DmX, and its acceleration is A DmX +
= =

ciency enhancements we described; these are now Dm V. These interpretations help explain why certain
being added to the program. At present, the position key matrices are skew symmetric-a property that is
calculations in SERMAN are represented by Case 2 in put to good use in the computations.
Table 1. Minor modifications of the program will We believe that the notation introduced helps in
convert it to the more desirable Case 3A. creating order and understanding from what could
Numerical studies have been done to verify the otherwise be considered a chaotic jumble of symbols.
-
correlation between operation counts and computer Furthermore, there is a corresponding reduction in
execution time. In most cases, the ratio of execution computer costs associated with the calculation
times was close to the ratio of total multiplications methods that parallel the given analysis.
required when computing position, velocity, and ac-
celeration for one point on each link of a six-revolute
Puma. No specific data has been presented here be-
view these trials
Acknowledgments
cause we tentative, and we expect
as
to show significant improvements after the program
Thanks are due to the National Science Foundation
has been revised to include all the enhancements de- for support of B. Paul.
scribed in this paper.

REFERENCES
7. Conclusions
Bottema, O., and Roth, B. 1979. Theoretical kinematics.
We have presented a systematic development of effi- Amsterdam: North-Holland Publishing Co.
cient procedures for finding position, velocity, and Brand, L. 1947. Vector and tensor analysis. New York:
acceleration of one or more points of interest on one Wiley, p. 63.
or more links of a serial manipulator. The method Coiffet, P. 1983. Robot technology, Vol. 1. Modelling and
provides the angular velocity and angular acceleration control. Englewood Cliffs, N.J.: Prentice-Hall.

30
Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016
Denavit, J., and Hartenberg, R. S. 1955. A kinematic nota- of mechanical system dynamics, ed. E. Haug. New York:
tion for lower pair mechanisms based on matrices. J. of Springer Verlag.
Applied Mechanics 22. Trans. ASME 77, Series E: 215- Paul, B. 1985. Machine Systems. In Mechanical Design and
221. Systems Handbook, ed. H. A. Rothbart. New York
Desa, S., and Roth, B. 1985. Mechanics: kinematics and McGraw-Hill.
dynamics. In Recent advances in robotics, eds. G. Beni and Paul, R. P. 1981. Robot manipulators: mathematics, pro-
S. J. Hackwood. New York: Wiley. igramming and control. Cambridge: MIT Press.
Duffy, J. 1980. Analysis of mechanisms and robot manipula- Paul, R. P., Renaud, M., and Stevenson, C. N. 1984. A
tors. New York: Wiley. systematic approach for obtaining the kinematics of recur-
Frazer, R. A., Duncan, W. J., and Collar, A. R. 1938. Ele- sive manipulators based on homogeneous transforma-
mentary matrices. Cambridge, England: Cambridge Uni- tions. First Int. Symp. on Robotics Res., eds. M. Brady and
versity Press. R. P. Paul. Cambridge: MIT Press.
Kane, T. R. 1968. Dynamics. New York: Holt. Renaud, M. 1981 (Tokyo). Geometric and kinematic models
Lipkin, H., and Duffy, J. 1985. A vector analysis of robot of a robot manipulator: calculation of the Jacobian matrix
manipulators. In Recent advances in robotics, eds. G. Beni and its inverse. Proc. 11th Int. Symp. Industr. Robots.
and S. J. Hackwood. New York: Wiley. Rosa, J. 1985. Kinematics of serial robots. Master’s Thesis,
Litvin, F., and Parenti Castelli, V. 1985. Configuration of University of Pennsylvania.
robot manipulators and their identification, and the exe- Suh, C. H., and Radcliffe, C. W. 1978. Kinematics and
cution of prescribed trajectories, Part 1: Basic concepts. mechanism design. New York: Wiley.
Trans. ASME, J. of Mechanisms, Transmissions, and Schaffa, R. B. 1984. Dynamic analysis of spatial mecha-
Automation in Design 107:170-178. nisms. Ph.D. Thesis, University of Pennsylvania.
Orin, D. E., and Schrader, W. W. 1984. Efficient computa- Sheth, P. N., and Uicker, J. J., Jr. 1971. A generalized sym-
ition of the Jacobian for robot manipulators. Int. J. of bolic notation for mechanisms. J. of Eng. for Industry,
Robotics Research 3(4):66-75. Trans. ASME, Series B, 93:102-112.
Paul, B. 1975. Analytical dynamics of mechanisms&mdash;a Synge, J. L., and Schild, A. 1952. Tensor analysis. Toronto:
computer oriented overview. Mechanisms and Machine University of Toronto Press, p. 247.
Theory 10:481-507. Thomas, M., and Tesar, D. 1982. Dynamic modeling of
Paul, B. 1979. Kinematics and dynamics of planar ma- serial manipulator arms. Trans ASME, J. of Dynamic Sys-
chinery. Englewood Cliffs, N.J.: Prentice-Hall. tems, Measurements and Control 104:218-228.
Paul, B. 1984. Computer oriented analytical dynamics of Wittenburg, J. 1977. Dynamics of systems of rigid bodies.
machinery. In Computer aided analysis and optimization Stuttgart: Teubner.

31
Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016

You might also like