100% found this document useful (1 vote)
167 views11 pages

Part of A Standard Library, They Are Often Computed From A Series Expansion at

This document discusses manipulator kinematics and contains the following key points in 3 sentences: The major expense in calculating kinematics is evaluating transcendental functions like sine and cosine, which can be optimized through table lookups. The computation of orientation is redundant using rotation matrices, so it is better to compute only two columns and the third via cross product. The document contains exercises related to deriving kinematic equations for different robot configurations and optimizing computations.

Uploaded by

Pegaz P
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
167 views11 pages

Part of A Standard Library, They Are Often Computed From A Series Expansion at

This document discusses manipulator kinematics and contains the following key points in 3 sentences: The major expense in calculating kinematics is evaluating transcendental functions like sine and cosine, which can be optimized through table lookups. The computation of orientation is redundant using rotation matrices, so it is better to compute only two columns and the third via cross product. The document contains exercises related to deriving kinematic equations for different robot configurations and optimizing computations.

Uploaded by

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

92 Chapter 3 Manipulator kinematics

The major expense in calculating kinematics is often the calculation of the


transcendental functions (sine and cosine). When these functions are available as
part of a standard library, they are often computed from a series expansion at
the cost of many multiply times. At the expense of some required memory, many
manipulation systems employ table-lookup implementations of the transcendental
functions. Depending on the scheme, this reduces the amount of time required to
calculate a sine or cosine to two or three multiply times or less [6].
The computation of the kinematics as in (3.14) is redundant, in that nine
quantities are calculated to represent orientation. One means that usually reduces
computation is to calculate only two columns of the rotation matrix and then to
compute a cross product (requiring only six multiplications and three additions)
to compute the third column. Obviously, one chooses the two least complicated
columns to compute.

BIBLIOGRAPHY
[1] J. Denavit and R.S. Hartenberg, "A Kinematic Notation for Lower-Pair Mechanisms
Based on Matrices," Journal of Applied Mechanics, pp. 215—221, June 1955.
[2] J. "Kinematics," in The International Encyclopedia of Robotics, R. Dorf and
S. Nof, Editors, John C. Wiley and Sons, New York, 1988.
[3] J. Colson and N.D. Perreira, "Kinematic Arrangements Used in Industrial Robots,"
13th Industrial Robots Conference Proceedings, April 1983.
[4] T. Turner, J. Craig, and W. Gruver, "A Microprocessor Architecture for Advanced
Robot Control," 14th ISIR, Stockholm, Sweden, October 1984.
[5] W. Schiehien, "Computer Generation of Equations of Motion," in Computer Aided
Analysis and Optimization of Mechanical System Dynamics, E.J. Haug, Editor, Springer-
Verlag, Berlin & New York, 1984.
[61 C. Ruoff, "Fast Trigonometric Functions for Robot Control," Robotics Age, November
1981.

EXERCISES
3.1 [15] Compute the kinematics of the planar arm from Example 3.3.
3.2 [37] Imagine an arm like the PUMA 560, except that joint 3 is replaced with
a prismatic joint. Assume the prismatic joint slides along the direction of X1 in
Fig. 3.18; however, there is still an offset equivalent to d3 to be accounted for.
Make any additional assumptions needed. Derive the kinematic equations.
3.3 [25] The arm with three degrees of freedom shown in Fig. 3.29 is like the one in
Example 3.3, except that joint l's axis is not parallel to the other two. Instead,
there is a twist of 90 degrees in magnitude between axes 1 and 2. Derive link
parameters and the kinematic equations for Note that no 13 need be defined.
3.4 [22] The arm with three degrees of freedom shown in Fig. 3.30 has joints 1
and 2 perpendicular and joints 2 and 3 parallel. As pictured, all joints are at
their zero location. Note that the positive sense of the joint angle is indicated.
Assign link frames {0} through {3} for this arm—that is, sketch the arm, showing
the attachment of the frames. Then derive the transformation matrices
Exercises 93

02

L1

FIGURE 3.29: The 3R nonpianar arm (Exercise 3.3).

01

{T}

ZT
xs

FIGURE 3.30: Two views of a 3R manipulator (Exercise 3.4).

3.5 [26] Write a subroutine to compute the kinematics of a PUMA 560. Code for
speed, trying to minimize the number of multiplications as much as possible. Use
the procedure heading (or equivalent in C)
Procedure KIN(VAR theta: vec6; VAR wreib: frame);
Count a sine or cosine evaluation as costing 5 multiply times. Count additions
as costing 0.333 multiply times and assignment statements as 0.2 multiply times.
94 Chapter 3 Manipulator kinematics
Count a square-root computation as costing 4 multiply times. How many multiply
times do you need?
3.6 [2011 Write a subroutine to compute the kinematics of the cylindrical arm in
Example 3.4. Use the procedure heading (or equivalent in C)
Procedure KIN(VAR jointvar: vec3; VAR wreib: frames);
Count a sine or cosine evaluation as costing 5 multiply times. Count additions
as costing 0.333 multiply times and assignment statements as 0.2 multiply times.
Count a square-root computation as costing 4 multiply times. How many multiply
times do you need?
3.7 [22] Write a subroutine to compute the kinematics of the arm in Exercise 3.3. Use
the procedure heading (or equivalent in C)
Procedure KIN(VAR theta: vec3; VAR wreib: frame);
Count a sine or cosine evaluation as costing 5 multiply times. Count additions
as costing 0.333 multiply times and assignment statements as 0.2 multiply times.
Count a square-root computation as costing 4 multiply times. How many multiply
times do you need?
T, is not accurately known. Using force
3.8 [13] In Fig. 3.31, the location of the tool,
control, the robot feels around with the tool tip until it inserts it into the socket
(or Goal) at location T. Once in this "calibration" configuration (in which {G}
and {T) are coincident), the position of the robot, is figured out by reading
the joint angle sensors and computing the kinematics. Assuming T and T are
known, give the transform equation to compute the unknown tool frame, T.

{B }

FIGURE 3.31: Determination of the tool frame (Exercise 3.8).


Exercises 95

Tip

(a) (b)

FIGURE 3.32: Two-link arm with frame assignments (Exercise 3.9).

3.9 [11] For the two-link manipulator shown in Fig. 3.32(a), the link-transformation
matrices, and were constructed. Their product is
c91c02 —c91s92 11c01
s01c92 —s01s02 —c01 11s01
0T
2 — sO2 c02 0 0
0 0 0 1

The link-frame assignments used are indicated in Fig. 3.32(b). Note that frame
{0) is coincident with frame {1} when 01 = 0. The length of the second link is 12.
Find an expression for the vector 0 which locates the tip of the arm relative
to the {0} frame.
3.10 [39] Derive kinematic equations for the Yasukawa Motoman robot (see
Section 3.7) that compute the position and orientation of the wrist frame directly
from actuator values, rather than by first computing the joint angles. A solution
is possible that requires only 33 multiplications, two square roots, and six sine or
cosine evaluations.
3.11 [17] Figure 3.33 shows the schematic of a wrist which has three intersecting axes
that are not orthogonal. Assign link frames to this wrist (as if it were a 3-DOF
manipulator), and give the link parameters.
3.12 [08] Can an arbitrary rigid-body transformation always be expressed with four
parameters (a, a, d, 0) in the form of equation (3.6)?
3.13 [15] Show the attachment of link frames for the 5-DOF manipulator shown
schematically in Fig. 3.34.
3.14 [20] As was stated, the relative position of any two lines in space can be given
with two parameters, a and a, where a is the length of the common perpendicular
joining the two and a is the angle made by the two axes when projected onto
a plane normal to the common perpendicular. Given a line defined as passing
through point p with unit-vector direction th and a second passing through point
q with unit-vector direction ii, write expressions for a and a.
3.15 [15] Show the attachment of link frames for the 3-DOF manipulator shown
schematically in Fig. 3.35.
3.16 [15] Assign link frames to the RPR planar robot shown in Fig. 3.36, and give the
linkage parameters.
3.17 [15] Show the attachment of link frames on the three-link robot shown in Fig. 3.37.
96 Chapter 3 Manipulator kinematics

FIGURE 3.33: 3R nonorthogonal-axis robot (Exercise 3.11).

S
/\
/ \

FIGURE 3.34: Schematic of a 2RP2R manipulator (Exercise 3.13).

3.18 [15] Show the attachment of link frames on the three-link robot shown in Fig. 3.38.
3.19 [15] Show the attachment of link frames on the three-link robot shown in Fig. 3.39.
3.20 [15] Show the attachment of link frames on the three-link robot shown in Fig. 3.40.
3.21 [15] Show the attachment of link frames on the three-link robot shown in Fig. 3.41.
3.22 [18] Show the attachment of link frames on the P3R robot shown in Fig. 3.42.
Given your frame assignments, what are the signs of d2, d3, and a2?
Exercises 97

FIGURE 3.35: Schematic of a 3R manipulator (Exercise 3.15).

03

FIGURE 3.36:
4
RPR planar robot (Exercise 3.16).

d3

07

01

FIGURE 3.37: Three-link RRP manipulator (Exercise 3.17).


98 Chapter 3 Manipulator kinematics

--fl---

03

FIGURE 3.38: Three-link RRR manipulator (Exercise 3.18).

d7

FIGURE 3.39: Three-link RPP manipulator (Exercise 3.19).

03
d1

FIGURE 3.40: Three-link PRR manipulator (Exercise 3.20).


Programming exercise (Part 3) 99

d3

FIGURE 3.41: Three-link PPP manipulator (Exercise 3.21).

'I

FIGURE 3.42: Schematic of a P3R manipulator (Exercise 3.22).

PROGRAMMING EXERCISE (PART 3)


1. Write a subroutine to compute the kinematics of the planar 3R robot in Exam-
ple 3.3—that is, a routine with the joint angles' values as input, and a frame (the
wrist frame relative to the base frame) as output. Use the procedure heading (or
equivalent in C)
Proceduie KIN(VAR theta: vec3; VAR wreib: franie);
where "wreib" is the wrist frame relative to the base frame, The type "frame"
consists of a 2 x 2 rotation matrix and a 2 x 1 position vector. If desired, you may
represent the frame with a 3 x 3 homogeneous transform in which the third row is
[0 0 1]. (The manipulator data are 11 = 12 = 0.5 meters.)
128 Chapter 4 Inverse manipulator kinematics
is moderately expensive computationally, but the other solutions are found very
quickly by summing and differencing angles, subtracting jr, and so on.

BIBLIOGRAPHY
[1] B. Roth, J. Rastegar, and V. Scheinman, "On the Design of Computer Controlled
Manipulators," On the Theory and Practice of Robots and Manipulators, Vol. 1, First
CISM-IFToMM Symposium, September 1973, pp. 93—113.
[2] B. Roth, "Performance Evaluation of Manipulators from a Kinematic Viewpoint," Per-
formance Evaluation of Manipulators, National Bureau of Standards, special publication,
1975.
[3] D. Pieper and B. Roth, "The Kinematics of Manipulators Under Computer Control,"
Proceedings of the Second International Congress on Theory of Machines and Mechanisms,
Vol. 2, Zakopane, Poland, 1969, pp. 159—169.
[4] D. Pieper, "The Kinematics of Manipulators Under Computer Control," Unpublished
Ph.D. Thesis, Stanford University, 1968.
[5] R.P. Paul, B. Shimano, and G. Mayer, "Kinematic Control Equations for Simple Manip-
ulators," IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC-11, No. 6,
1981.
[6] L. Tsai and A. Morgan, "Solving the Kinematics of the Most General Six- and Five-
degree-of-freedom Manipulators by Continuation Methods," Paper 84-DET-20, ASME
Mechanisms Conference, Boston, October 7—10, 1984.
[7] C.S.G. Lee and M. Ziegler, "Geometric Approach in Solving Inverse Kinematics of
PUMA Robots," IEEE Transactions on Aerospace and Electronic Systems, Vol. AES-20,
No. 6, November 1984.
[8] W. Beyer, CRC Standard Mathematical Tables, 25th edition, CRC Press, Inc., Boca
Raton, FL, 1980.
[9] R. Burington, Handbook of Mathematical Tables and Formulas, 5th edition, McGraw-
Hill, New York, 1973.
[10] J. Hollerbach, "A Survey of Kinematic Calibration," in The Robotics Review, 0. Khatib,
J. Craig, and T. Lozano-Perez, Editors, MIT Press, Cambridge, MA, 1989.
[II] Y. Nakamura and H. Hanafusa, "Inverse Kinematic Solutions with Singularity Robust-
ness for Robot Manipulator Control," ASME Journal of Dynamic Systems, Measurement,
and Control, Vol. 108, 1986.
[12] D. Baker and C. Wampler, "On the Inverse Kinematics of Redundant Manipulators,"
International Journal of Robotics Research, Vol. 7, No. 2, 1988.
[13] L.W. Tsai, Robot Analysis: The Mechanics of Serial and Parallel Manipulators, Wiley,
New York, 1999.

EXERCISES
4.1 [15] Sketch the fingertip workspace of the three-link manipulator of Chapter 3,
Exercise 3.3 for the case = 15.0, 12 = 10.0, and 13 = 3.0.
4.2 [26] Derive the inverse kinematics of the three-link manipulator of Chapter 3,
Exercise 3.3.
4.3 [12] Sketch the fingertip workspace of the 3-DOF manipulator of Chapter 3,
Example 3.4.
Exercises 129

4.4 [24] Derive the inverse kinematics of the 3-DOF manipulator of Chapter 3,
Example 3.4.
4.5 [38] Write a Pascal (or C) subroutine that computes all possible solutions for the
PUMA 560 manipulator that lie within the following joint limits:

—170.0 <170.0,
—225.0 <45.0,
—250.0 <63 <75.0,
—135.0 <64 <135.0,
—100.0 <95 <100.0,
—180.0 <°6 <180.0.

Use the equations derived in Section 4.7 with these numerical values (in inches):

a2 = 17.0,

£13 = 0.8,
d3 = 4.9,
d4 = 17.0.

4.6 [15] Describe a simple algorithm for choosing the nearest solution from a set of
possible solutions.
4.7 [10] Make a list of factors that might affect the repeatability of a manipulator.
Make a second list of additional factors that affect the accuracy of a manipulator.
4.8 [12] Given a desired position and orientation of the hand of a three-link planar
rotary-jointed manipulator, there are two possible solutions. If we add one more
rotational joint (in such a way that the arm is still planar), how many solutions
are there?
4.9 [26] Figure 4.13 shows a two-link planar arm with rotary joints. For this arm, the
second link is half as long as the first—that is, ii = 212. The joint range limits in

L1

FIGURE 4.13: Two-link planar manipulator.


130 Chapter 4 Inverse manipulator kinematics
degrees are
0 <180,
—90 <180.
Sketch the approximate reachable workspace (an area) of the tip of link 2.
4.10 [23] Give an expression for the subspace of the manipulator of Chapter 3,
Example 3.4.
4.11 [24] A 2-DOF positioning table is used to orient parts for arc-welding. The
forward kinematics that locate the bed of the table (link 2) with respect to the
base (link 0) are
r c1c2 —c1s2 s1 12s1 +
OT_I S2 C2 0 0
2

s1s2 c1 12c1 + h1
LO 0 0 1

Given any unit direction fixed in the frame of the bed (link 2), give the
inverse-kinematic solution for 02 such that this vector is aligned with 02 (i.e.,
upward). Are there multiple solutions? Is there a singular condition for which a
unique solution cannot be obtained?
4.12 [22] In Fig. 4.14, two 3R mechanisms are pictured. In both cases, the three axes
intersect at a point (and, over all configurations, this point remains fixed in space).
The mechanism in Fig. 4.14(a) has link twists (as) of magnitude 90 degrees. The
mechanism in Fig. 4.14(b) has one twist of in magnitude and the other of 180—
in magnitude.
The mechanism in Fig. 4.14(a) can be seen to be in correspondence with Z—Y—Z
Euler angles, and therefore we know that it suffices to orient link 3 (with arrow
in figure) arbitrarily with respect to the link 0. Because 0 is not equal to 90
degrees, it turns out that the other mechanism cannot orient link 3 arbitrarily.

(a) (b)

FIGURE 4.14: Two 3R mechanisms (Exercise 4.12).

You might also like