Professional Documents
Culture Documents
Kinematics Simulationof Serial Manipulators
Kinematics Simulationof Serial Manipulators
Kinematics Simulationof Serial Manipulators
1. Introduction
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. 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.
where
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
,
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.
(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
where Tm « TOM I
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.,
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.
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
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
’m = T2 = D2Rm
R~=t,,=D~ (46B)
and Eq. (43) leads to the conclusion that Comparing this to Eq. (50A), we see that
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
= =
where the partitioned matrix However, Q~ vanishes for revolute and prismatic
joints. See (Eqs. 31A and 31B). Therefore
22
Downloaded from ijr.sagepub.com at PENNSYLVANIA STATE UNIV on May 10, 2016
or
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
&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
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
(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
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
substantial, the savings for velocity, acceleration, and Then, after utilizing Eqs. (4A) and (36A), we find
_
the overall problem are even more impressive.
(31A), and from Eq. (96) one finds that the elements
of the dual vector Ck are:
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
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.
’
,
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—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