Spatial Kinematic Chains Analysis Synthesis Optimization
Spatial Kinematic Chains Analysis Synthesis Optimization
Spatial
Kinematic Chains
Analysis - Synthesis - Optimization
With 67 Figures
This work is subject to copyright. All rights are reserved, whether the whole or part ofthe matenal is concerned,
specIfically those oftranslation, reprinting, re·use of illustrations, broadcasting, reproductIOn by photocopying
machine or similiar means. and storage in data banks.
Under § 54 of the German Copyright Law where COPIeS are made for other than private use,a fee is payable to
'Verwertungsgesellschaft Wort" Munich.
The use of registered names, trademarks, etc. in this pubhcahon does not Imply, even in the absence of a
specific statement, that such names are exempt from the relevant protective laws and regulations and therefore
free for general use.
2061/3020 - 543210
ForelVord
The author committed himself to the writing of this book soon after he
started teaching a graduate course on linkage analysis and synthesis at
the Universidad Nacional Aut6noma de Mexico (UNAM) , in 1973. At that
time he found that a great deal of knowledge on the subject, that had
already been accumulated, was rather widespread and not as yet fully
systematised. One exception was the work of B. Roth, of Stanford
University, which already showed outstanding unity, though appearing
only in the form of scientific papers in different journals. Moreover,
the rate at which new results were presented either in specialised
journals or at conferences allover the world, made necessary a recording
of the most relevant contributions.
On the other hand, some methods of linkage synthesis, like the one of
Denavit and Hartenberg (See Ch. 4), were finding a wide acceptance. It
was the impression of the author, however, that the rationale behind
that method was being left aside by many a researcher. Surprisingly,
he found that virtually everybody was taking for granted, without giving
the least explanation, that the matrix product, pertaining to a coordinate
transformation from axes labelled 1 to those labelled n, should follow an
order that is the inverse of the usual one. That is to say, whereas the
logical representation of a coordinate transformation from axes 1 to 3,
passing through those labelled 2, demands that the individual matrices
~12 and !23 be multiplied in the order !23~12' the application of the
method of Denavit and Hartenberg demands that they be placed in the
inverse order, i.e. !12!23. It is explained in Chapter 4 why this is so,
making use of results derived in Chapter 1. In this respect, the author
departs from the common practice. In fact, while the transformations
involving an affine transformation, i.e. a coordinate transformation, are
usually represented by 4 x 4 matrices containing information about both
the rotation and the translation, the author separates them into a matrix
containing the rotation of axes and a vector containing their translation.
The reason why this is done is far more than a matter of taste. As a
matter of fact, it is not always necessary to carry out operations on both
VI
All wrough, the author has attempted to establish the rationale behind the
methods of analysis, synthesis and optimisation of linkages. In this
respect, Chapter 2 is crucial. In fact, it lays the foundations of
the kinematics of rigid bodies in an axiomatic way, thus attempting to
follow the trend of rational mechanics lead by Truesdell l • This Chapter
in turn, is based upon Chapter 1, which outlines the facts of linear
algebra, of extrema of functions and of numerical methods of solving
algebraic linear and nonlinear systems, that are resorted to throughout
the book. Regarding the numerical solution of equations, all possible
cases are handled, i.e. algorithms are outlined that solve the said
system, whether linear or nonlinear, when this is either underdetermined,
determined or overdetermined. Flow diagrams illustrating the said
algorithms and computer subprograms implementing them are included.
Back to the first paragraph, whereas early in the seventies the need to
write a book on the theory and applications of the kinematics of mechanical
systems was dramatic, presently this need has been fulfilled to a great
extent by the publishing of some books in the last years. Within these, one
2
that must be mentioned in the first place is that by Bottema and Roth , then
the one by Duffy3 and that by Suh and Radcliffe 4 , just to mention a couple of the
recently published contributions to the specialised literature in the
English language. The author, nevertheless, has continued with the publication
of this book because it is his feeling that he has contributed with a new
point of view of the subject from the very foundations of the theory to the
methods for application to the analysis and synthesis of mechanisms. This
contribution was given a unified treatment, thus allowing the applications
to be based upon the fundamentals of the theory laid down in the first two
chapters.
Although this book evolved from the work done by the author in the course of
the last eight years at the Graduate Division of the Faculty of Engineering-
UNAM, a substantial part of it was completed during a sabbatical leave spent
by him at the Laboratory of Machine Tools of the Aachen Institute of Technology,
in 1979, under a research fellowship of the Alexander von Humboldt Foundation,
to whom deep thanks are due.
The book could have not been completed without the encouragement received
from several colleagues, among whom special thanks go to Profs. Bernard Roth
of Stanford University, GUnther Dittrich of Aachen Institute of Technology,
Hiram Albala of Technion-Israel Institute of Technology and Justo Nieto of
Valencia (Spain) Polytechnic University. The support given by Prof. Manfred
Weck of the Laboratory of Machine Tools, Aachen, during the sabbatical leave
of /the author is very highly acknowledged. The discussiowheld with Dr. Jacques
M. Herve, Head of the Laboratory of Industrial Mechanics- Central School of
Arts and Manufactures of Paris, France, contributed highly to the completion
of Chapter 3.
The students of the author who, to a great extent are responsible for the
writing of this book, are herewith deeply thanked. Special thanks are due
to the former graduate students of the author, Messrs. Carlos Lopez, Candido
Palacios and Angel Rojas, who are responsible for a great deal of the computer
programming included here. Mrs. Carmen Gonzalez Cruz and Miss Angelina Arellano
typed the first versions of this work, whereas Mrs. Juana Olvera did the final
draft. Their patience and very professional work is highly acknowledged.
Last, but by no means least, the support of the administration of the Faculty
of Engineering-UNAM, and particularly of its Graduate Division, deserves a
very special mention. Indeed, it provided the author with all the means
required to complete this task.
To extend on more names of persons or institutions who somehow contributed
to the completion of this book would give rise to an endless list, for which
reason the author apologises for unavoidable omissions that he is forced to
make.
Jorge Angeles
Contents
1. MATHEMATICAL PRELIMINARIES
1.0 Introduction 1
1.1 Vector space, linear dependence and basis
of a vector space 1
1.2 Linear transformation and its matrix representation 3
1.3 Range and null space of a linear transformation 7
1.4 Eigenvalues and eigenvectors of a linear
transformation 7
1. 5 Change of basis 9
1.6 Diagonalization of matrices 12
1.7 Bilinear forms and sign definition of matrices 14
1.8 Norms, isometries, orthogonal and unitary matrices 20
1.9 properties of unitary and orthogonal matrices 21
1.10 Stationary points of scalar functions of a
vector argument 22
1.]1 Linear algebraic systems 25
1.12 Numerical solution of linear algebraic systems 29
1.13 Numerical solution of nonlinear algebraic systems 39
References 56
2.1 Introduction 57
2.2 Motion of a rigid body 57
2.3 The TheQrem of Euler and the revolute matrix 61
2.4 Groups of rotations 76
2.5 Rodrigues' formula and the cartesian
decomposition of the rotation matrix 80
2.6 General motion of a rigid body and Chasles'
Theorem 85
2.7 Velocity of a point of a rigid body rotating
about a fixed point 119
219
5. SYNTHESIS OF LINKAGES
5.1 Introduction 219
5.2 Synthesis for function generation 219
5.3 Mechanism synthesis for rigid-body guidance 246
5.4 A different approach to the synthesis problem
for rigid-body guidance 270
5.5 Linkage synthesis for path generation 284
5.6 Epilogue 291
References 292
XI
chapter. These results find a wide application within the realm of analysis,
provided; however a reference list is given at the end of the chapter, where
a) To each pair {~, ¥} of vectors from the set, there corresponds one
(and only one) vector, denoted ~ + ¥, also from V, called "the addition
~
-
+ (y + z) = (x + y) + z
_... -
iii) There exists in V a unique vector Q, called "the zero of V",
x + 0 = x
in V, such that
there corresponds one vector a~ EV, called "the product of the scalar
a(Sx) = (as)x
holds
1x =x
c) The product of a scalar times a vector is distributive, i.e.
i) a(x + y) ax + ay
ii) (a + S)x ax + Sx
vector space. To prove this, define two such triads, namely (x 1 'Y1,z1) and
(x 2 'Y2,z2) and show that their addition is also one such triad and it is
less than or equal to n, for 0 ~t ~1, constitute a vector space over the
Example 1.1.3 The set of tetrads of the form (x,y,z,1) do not constitute
Given the set of vectors {~1'~2' ••• '~n} c V and the set of scalars
The said set of vectors is linearly independent (to i.) if c equals zero
implies that all a's are zero as well. Otherwise, the set is said to be
Example 1.1.4 The set containing only one nonzero vector, {x},is t.i.
Example 1.1.5 The set containing only two vectors, one of which is the
A set of vectors B = {x 1 ,x 2 , ••• ,xn }cv is a basis for V if and only if:
ii) B spans V
All bases of a given space V contain the same number of vectors. Thus, if
of V (abreviated: n=dim V)
lying parallel to the X and Y coordinate axes span the vectors in the X-Y
plane, but do not span the vectors in the physical three-dimensional space.
Exercise 1.1.1 Prove that the set B given above is a basis for V if and
the elements of B.
also be denoted as
v = T(u) (1.2.3a)
Space rf1 over which 1: is defined is called the "domain" of T, whereas the
subspace of ~ containing vectors y for which eq. (1.2.3a) holds is called
of V
- -
u under T" , or, simply, the "image of y" if t is selfunderstood.
sional Euclidean space onto a two-dimensional space (the plane). The domain
of l' in this case is the physical 3-dimensional space, while its range is
If 1', as defined in (1.2.1), is such that all of V contains y's such that
that, for all distinct ~1 and ~2' ~(~1) and ~(~2) are also distinct, ! is
said to be one-to-one. If T is onto and one-to-one, it is said to be
invertible.
space onto a plane, say, the X-Y plane. Thus, v = p(u) is such that the
vector with components (x, y, z), is mapped into the vector with components
(x, y, 0).
i) Is P a linear transformation?
(1.2.5)
like those appearing in (1.2.5) are required. These scalars can be arranged
(1.2.6)
6
where the brackets enclosing ~ are meant to denote a matrix, i.e. an array
of numbers, rather than an abstract linear transformation.
[~] is called "The matrix of L referred to Bu and Bv" This result is
respectively. Clearly,
R(i) i
R(j) j
R(k) =-k
o 0
o o (1.2.7)
o o -1
Not~ce that, in this case, U V and so, it is not necessary to use two
least one u € U such that v = L(~), as pointed out in Sect. 4.2., is called
"the range of L" and is represented as R(L), i.e. R(L) = (v=L(u): u E: U).
~
The set of vectors ~O € U for which ~(~o) = 0 € V is called '~he null space
It is a simple matter to show that R(L) and N(L) are subspaces of V and U,
respectively*.
The dimensions of dom(L), R(L) and N(L) are not independent, but they are
thus R(~) is the X-Y plane, N(P) is the Z axis, hence of dimension 1. The
holds.
Exercise 1.3.1 Describe the range and the null space of the reflection of
IExample 1.2.1 and verify that eq. (1.3.1) holds true.
independent with v, but if it happens that a nonzero vector v and its image
L(v) AV (1.4.1)
* The proof of this statement can be found in any of the books listed in
the reference at the end of this chapter.
8
Av AV (1.4.2)
or else
(A - AI)v = 0 (1.4.3)
where I is the identity matrix, i.e. the matrix with the unity on its
diagonal and zeros elsewhere. Equation (1.4.3) states that the eigenvectors
of Ltor of A, clearly) lie in the null space of A - AI. One trivial vector
v satisfying (1.4.3) is, of course, 0, but since in this context 0 has been
vanishes, Le.
case peA) has one complex root, say Al, then Al is also a root of peA), Il
being the complex conjugate of Al. Of course, one or several roots could
subspace is called the "spectral space" of Ai' and its dimension is called
9
I
Exercise 1.4.1 Show that the geometric mUltiplicity of a particular eigen-
here. The reader can find a proof in any of the books listed at the end of
the chapter.
(1.5.1)
could arise naturally is: Given the representations (Y)B and (~)B of v
Let (A)
_ B be the matrix relating both Band C, referred to B, i.e.
all a 12 ... a ln
a 21 a 22 a 2n
anI a n2 a
nn
and
~1 all~1+a21~2+···+anl~n
~2 a12~1+a22~2+···+an2~n
v = LV ~ La .. S . (1.5.5)
j )i ~)-)
-
v ;= a .. v!S.
~) )-~
(1.5.6)
v. Ct •• v ~ (1.5.7)
~ ~) )
1. e.
or, equivalently,
(1.5.8)
(1.5.9)
(1.5.10)
(1.5.10) ,
(~-l)B (~)B
(1.5.11)
or, equivalently,
(1.5.12)
Relationships (1.5.8) and (1.5.12) are the answers to the question posed at
the beginning of this Section. The right hand side of (1.5.12) is a similar-
Exercise 1.5.2 The trace of a matrix is defined as the sum of the elements
on its diagonal. Show that the trace of a matrix remains invariant under
Tr(~~N .
12
(1.6.1)
Q = (e ,e , ... ,e ) (1.6.2)
-1 -2 -n
(1.6.4)
since the set {~i} has been assumed to be i.i., 9 is non-singular; hence
from (1.6.4)
-1
~=g ~g (1.6.5 )
which states that the diagonal matrix containing the eigenvalues of a matrix
and its eigenvectors are mutually orthogonal. If this is the case and the
T
e.e. (1.6.6b)
-~-~
* Some square matrices have less than n i.i eigenvectors, but these are
not considered here.
13
vector). The whole set of equations (1.6.6), for all i and all j can then
be written as
T
QQ =I (1.6.7)
where I is the matrix with unity on its diagonal and zeros elsewhere. Eq.
via a similarity transformation, the columns of whose matrix are the eigenvec-
tors of ~
eigenvalues {Ai}~. These values are found from the following procedure:
-
(A - A,I)e,=O
~- -~ - (1.6.8)
This equation states that the set {~1}~ lies in the null space of ~ - Ai!. For
this matrix to have nonzero vectors in its null space, its determinant should
vanish, i.e.
-
det(A-A,I)=P(A,)=O
~- ~
(1.6.9)
whose left hand side is its characteristic polynomial, which was introduced
in section 1.4. This equation thus contains n roots, some of which could
be repeated.
P (6J = Q (1.6.10)
(SLT) if aij=O, for j~. On the other hand, this matrix is said to be
ii) Show that an nxn SLT matrix A staisfies the following indentity:
-1 n k-1 k-1
(I+A) =E(-1) A
- - 1 -
The inverse of I+A appears very often in the solution of linear algebraic
Given that the space of matrices does not constitute an ordered set (as is
the case for the real, rational or integer sets), it is not possible to
some definitions are needed. Let u and ~ c U, U being a vector space defined
(1.7.la)
~(a~,y)=a~(~,y) (1.7.lc)
The foregoing properties of conjugate bilinear forms suggest that one possible
Let (1.7.2)
If, in (1.7.2), y =~, the bilinear form becomes the quadratic form
It will be shown that the bilinear form (1.7.2) defines a scalar product
i) It is Hermitian symmetric:
(1 .7. 4b)
(1. 7 .4c)
o (1.7.4g)
From definition (1.7.2) and properties (1.7.1), it follows that all that
form is positive definite or not clearly depends entirely on its matrix and
A square nxn matrix is said to be positive definite if (and only if), the
and only vanishes for the zero vector. A positive definite matrix ~ is
THEOREM 1.7.1 Anlj .6qWVle mcttJu:x .u dec.ompoMble ..[nto :the .6um 06 a HeJorr.i;Uan
and a .6k.e.w HlVcmi;Uan paJLt (;th-U .u c.alled :the CalLtv.,..[an dec.omp0.6..[:t..[on 06
:the mcttJu:x)
Clearly the first term of the right hand side is Hermitian and the second
THEOREM 1.7.2 The qu.a.dJta.;t..[c. 601tm a..6.60cUa.:ted w..t:th a ma.:tJL£x ~ .u /teal ..[6 and
only ..[6 ~ .u HlVcmi;Uan. I:t.u ..[mag..[na.Jt1j ..[.6 and only ..[6 ~ .u .6k.e.w HeJorr.i;Uan.
Proof.
and
17
Since
then
Im {l/J(~)}=Q
l/J(~)=g*~*~=-~*~~
and
Since
then
What Theorem 1.7.2 states is very important, namely that Hermitian matrices
are good candidates for defining a scalar product for a vector space, since
whether this form turns out to be positive definite as well. Though this is
not true for any Hermitian matrix, it is (obviouly!) so for positive definite.
of a positive definite matrix must, in the first place, be real, and since,
for the quadratic form associated with a matrix to be real, the matrix must
THEOREM 1.7.3 A matJUx .iA P0.6,[tive. de.f,i.rUi:e. (.6 emide.f,i.rUi:e.) -in and only
-in ffi uge.l1vttfue..6 Me. all Mal. and glte.ateJt.:than (M e.qual. ;to) zeJt.o.
diagonal are its eigenvalues, which are real and greater than (or equal to)
A= (1.7.10)
A
n
where
(1.7.11)
where the components of ~ (with respect to the basis formed with the
(1.7.12)
u
n
19
(1.7.13)
th
Now, assume u is such that all but its k-- component vanish; in this case,
(1.7.13) reduces to
from which
A >(»0
k -
and, since Ak can be any of the eigenvalues of ~, the proof of this part is
done. The proof of the "if" part is obvious and is left as an exercise for
the reader.
Exercise 1.7.2 Show that, if the eigenvalues of a square matrix are all
real and greater than (or equal to) zero, the matrix is positive definite
(semidefinite) •
In dealing with vector spaces over the real field, the arising inner product
thus making it possible to define a "geometry" for then, the cosine of the
cos (u,v)
- - Ip(~,~)p(y,y)
20
For vector spaces over the complex field, such an angle cannot be defined,
from y into a real number, represented by I Iyl I, such that this norm
ii) is linear homogeneous, i.e., for some a £ F (the field over which V is
defined) ,
II a,: II = I a II I': II
lal being the modulus (or the absolute value, in case a is real) of a.
II u+v
..... .... II < II u
.... II + II v... II
Example 1.8.1 Let vi be the ith component of a vector y of a space over the
-
Ilvll=maxlv.1
1<i<n ~
(1.8.1)
Norm (1.8.1) is easy and fast to compute, and hence it is widely used in
axes being used. The Euclidean norm has the advantage that it is invariant.
n-l additions and one square root computation. In order to proceed further,
(1.8.3)
inverse, i. e . ,
(1.8.4)
If P is defined over the complex field and meets condition (1.8.4), then
and sufficient that!'.' satisfies (1.8.4), Le., show that under the similarity
transformation
-1
~=!'.'~, D= ~¥, ~=!'.'~
Some important facts about unitary and orthogonal matrices are discussed in
this section. Notice that all results concerning unitary matrices apply to
orthogonal matrices, for the latter are a special case of the former.
Proof: Let g be an nxn unitary matrix. Let A be one of its eigenvalues and
Ue = Ae (1.9.1)
(1.9.2) ,
A5:e*e (1.9.3)
from which
2
I AI = 1,q.e.d.
COIWUaJuj 1.9.1 16 an Yl.XYI. urU;taJuj ma.tltix i.J:, 06 odd oftdeJt (L e. YI. i.J:, odd),
.then. U hct6 at .e.ect6.t oYl.e ftea..t ugen.vafue, wfU.c.h i.J:, U.theJt + 1 Oft -1,
IExercise 1.9.1 Prove Corollary 1.9.1
neighborhood around some ~O. The stationary points of this function are
for any ~ in the neighborhood of ~O' i.e., for any ~ such that
where R is the residual, which contains terms of third and higher orders.
From eq. (1.10.2) it can be concluded that the linear pant of ~~ vanishes
at a stationary point, which makes clear why such poin~are called stationary.
depends on ~~, then !O is a saddle point for reasons which are brought up
in the following. Eq. (1.10.2) shows that the sign of ~~ depends entirely
matrix is only sufficient, but not necessary, for it is based on Eq. (1.10.2),
the M.id po.int to c.OYL.6tUu1:.e a. .6a.dd.e.e po.int, .it .i.6 .6u66.ic..ient that the
c.oMe6pond.ing He6.6.ia.n ma.tJUx M.gn-.indeMnUe at th.i.6 .6ta.t.i.OYl1Vl.Ij po.int.
at a saddle point, the resemblance lying in the fact that, at its stationary
point, the sign of the curvature of the surface is different for each
1.10.1 for which, when seen from, the X-axis, its stationary point (the
none of these.
~(z) = zT~z+bTz+c.
ha.6 a. un.ique ex.:tJr.emum at xo=-} ~-1 Q, .i6 6- 1 ex.i.6t.6. Th.i.6 .i.6 a. max.imwn
which is a saddle point. Its Hessian matrix, however, vanishes at this point.
. 2 4h ..
Example 1.1 O .3 Th e funct10n x 1 + x 2 as a m1n1mum at (0,0). At this
general, m ~ n. Equation
Ax=b (1.11.1)
solutions to it for ~=~1 and ~=~2' and a and a are scalars, then a~1+S~2 is
equal to, greater than or less than n. These are discussed next:
by
-1
x=A b
ii) m>n. In this case the number of equations is greater than that of
x 1=3 (1.11.1b)
where m=2 and n=1. If x 1 =5, the first equation is satisfied but the
second one is not. If, on the other hand, x 1=3, the second equation
is satisfied, but the first one is not. However, a system with m>n could
have a solution, which could even be unique if, out of the m equations
following system
x 1 -x 2 =3 ( 1 . 11 .2b)
3x 1 +x 2 =13 (1.11.2c)
x 1=4,x 2 =1 (1.11.3)
In general, however, for m>n it is not possible to satisfy all the equations
them with the minimum possible error. Assume that ~O does not satisfy all
the equations of a mxn system, with m>n, but satisfies the system with the
(1.11.5)
The latter quadratic form has an extremum where ~'(~O) vanishes. The
(1.11.7)
If A is of full rank, i.e., if rank {~)=n, then ~T~, a nxn matrix, is also
of rank n (1.4), Le. ATA is invertible and so, from eq. (1.11.5),
iii) m<n. In this case the number of equations is less than that of unknowns.
x+y=3 (1.11.9)
in which m=1 and n=2, admits infinitely many solutions, namely all points
y=x+3 (1.11.10)
x+y+z=1 (1.11.11a)
x+y-z=l (1.11.11b)
with m=2 and n=3. This system admits an infinity of solutions, provided
* i.e. if b € R{~)
28
A=
( I )T x= (1.11.12)
lA 1: A2 ; '
IE"
m n-m
)1
A x +A x =b (1.11.13)
-1-1 _2_2 -
-1
In the latter equation, in rank (A 1 ) m, Al exists and a solution to (1.11.13:
is
(1.11.14)
where ~1 is unique, as was stated for the case m=n, and ~2 is a vector lying
in the null space of ~2. Clearly, there are as many linearly independent
space of ~2.
(1.11.15)
subject to
Ax=b (1.11.16)
vector whose components are called Lagrange multipliers. Define, then, the
~(~) has an extremum where its gradient ~'(~l vanishes. The condition is
T
~' (~)=2~+~ ~=~ (1.11.18)
from which
29
X =- l.,.
~ ~
T,
..
(1 11 19)
_ ~T~=~ (1.11.20)
where
is another pseudo-inverse of ~.
it yields the control taking a system from a known initial state to a desired
final one while spending the minimum amount of energy. In Kinematics it finds
Exercise 1.11.2 Show that the image of the error (1.11.4) is perpendicular
Consider the system (1.11.1) for all three cases discussed in section 1.11.
of them fall into one o~ two categories, namely, a) direct methods and
In the first step the matrix of the system, ~, is factored into the
A = LU (1.12.1)
contains the singular values of A on its diagonal, and all its elements
below the main diagonal are zero. The singular values of a matrix A are
T
the nonnegative square roots of the eigenvalues of ~~. These are real
and if this product turns out to be zero, sends a message to the user
If ~ is not singular, the user calls the SOLVE subprogram, which computes
!,<yx=!;> (1 • 12.2)
can be written as
The flow diagram of the whole program appears in Fig 1.12.1 and the
ii) m>n. Next, the numerical solution of the overdetermined linear system
minimizes the Euclidean norm of the error ~O-~. This is done by appli-
CALL DECaMP
A L U
CALL SOLVE
U ~ = y
-1
Y L b
-1
x U Y
SUBROUTINE DECOMPCN,NDIM,A.IP)
REAL ACNDIM.NDIM),T
INTEGER IPCNDIM)
C
C MATRIX TRIANGULARIZATION BY GAUSSIAN ELIMINATION
C
C INPUT
C N = ORDER OF MATRIX
C NDIM = DECLARED DIMENSION OF ARRAY A. IN THE MAIN PROGRAM
C A MATRIX TO BE TRIANGULARIZED
C
C OUTPUT :
C ACI,J), I.LE.J • UPPER TRIANGULAR FACTOR. U
C ACI,J), I.GT.J -MULTIPLIERS - LOWER TRIANGULAR FACTOR, I-L
C IPCK), K.LT.N =INDEX OF K-TH PIVOT ROW
C IPCN) = C-l)**CNUMBER OF INTERCHANGES) OR O.
C USE 'SOLVE' TO OBTAIN SOLUTION OF LINEAR SISTEM
C DETERMCA) - IPCN)*AC1,1)*AC2,2)* ••• *ACN.N)
C IF IPCN)=O, A IS SINGULAR, 'SOLVE' WILL DIVIDE DY ZERO
C INTERCHANGES FINISHED IN U, ONLY PARTLY IN L
C
IPCN)-1
DO 60 K-1,N
IFCK.EQ.N) GO TO 50
KP1=Kt1
M=K
DO 10 I=KP1,N
IFCABSCACI,K».GT.ABSCACM,K») M-I
10 CONTINUE
IPCK)=M
IFCM.NE.K) IPCN)=-IPCN)
T=ACM,K)
ACM,K)=ACK,K)
A(K,K)-T
IF(T.EQ.O) GO TO 50
DO 20 I-KP1,N
20 A(I,K)--ACI,K)/T
DO 40 J-KP1,N
T=A(M,J)
A(M,J)-ACK,J)
A(K,J)=T
IF(T.EQ.O.) GO TO 40
DO 30 I=KP1,N
30 A(I,J)-ACI,J)tACI,K)*T
40 CONTINUE
50 IF(A(K,K).EQ.O.) IPCN)=O
60 CONTINUE
RETURN
END
SUBROUTINE SOI.,l.)E(N,NDIM"A.,,!'{,IP)
REAL A(NDIM.NDIM).BCNDIM).T
INTEGEI::: IP(NDIM)
c
C SOLUTION OF LINEAR SYSTEM. AtX = D
C
C INPUT t
C N ORDER OF MATRIX.
C NDIM DECLARED DIMENSIUN OF ARRAY A. IN 1HC MAIN PROGRAM
C A TRIANGULARIZED MATRIX ODTAINED rR8M 'DCCOMr'
C B RIGHT HAND SIDE VECTOR
C IP PIVOT VECTOR OBTAINED FROM 'DECOMP'
C DO NOT USE 'SOLVE' IF 'DECOMP' HAS SET IP(N)=O
c
C OUTPUT
c B SOLUTION VECTOR. X
C
IF(N.EQ.l) GO TO 90
NM1='N-'l
DO 70 1,,=0:1. ,NMl
1,,1"'1'''1',+:1.
M='IP(I\)
T""B(M)
B(M)"-B(I\)
B(K)"'T'
DO 70 I'''KP:I.,1\1
70 B(I'=B(I)+A(I.K)*T
DO BO I\H'"'l,NM:I.
I\M:I. '''N'-KB
K""I"M:I. +1
B(I\)=BCKI/ACK,I\)
T''' .... B(K)
DO BO 1''''1.I''Ml
BO B(Il-B(I)+A(I.I\)*T
90 B(1)-B(1)/AC1,l)
RETURN
END
u ~+Cl=1 (1.12.5b)
a ClU 1 (1.12.5c)
1 T
uu (1.12.5b)
~ -I- -a--
transforms ~ into -Cl~1' and reflects any other vector b about a hyperplane
perpendicular to ~.
(1.12.6b)
(1.12.6c)
(1.12.6d)
then ~k~ is a vector whose first k-1 components are identical to those of
~,
.
~ts
kth
- component is -Cl k and its remaining m-k components are all zero.
~kY =v - y~
where
of the ith column of ~i-1~ , while leaving its i-1 components unchanged and
. . .th . . .
sett~ng ~ts ~- component equal to -Cl i , for ~=1, ••• ,n. By appl~cat~on of
(1.12.7)
36
where ~1 is nxn and upper triangular, whereas ~; is the (m-n)xn zero matrix
and b ' is of dimension m-n and dLfferentfrom zero. Once the system is in
-2
upper triangular form, it is a simple matter to find the values of the
a* x =b*
nn n n
x is obtained as
n
b*
n
x
n a*
nn
Proceeding similarly with the (n-2)nd, ••. ,2nd and 1st equations, the n
T T
det(!+~ )=1+~ ~
37
SUBROUTINE HECOMPCMDIM,M,N,A,U)
INTEGER MDIM,M,N
REAL ACMDIM,N),UCM)
REAL ALPHA,BETA,GAMMA,SQRT
C
r HOUSEHOLDER REDUCTION OF RECTANGULAR MATRIX TO UPPER
C TRIANGULAR FORM. USE WITH HOL.VE FOR LEAST-SQUARE
C SOLUTIONS OF OVERDETERMINED SYSTEMS.
C
j"' MDIM"" DECLARED ROW DIMENSION OF A
C M NUMBER OF ROWS OF A
C N NUMBER OF COLUMNS OF A
C A M-BY-N MATRIX WITH M.>.N
C INPUT :
("'
C OUTPUT:
C REDUCED MATRIX AND INFORMATION ABOUT REDUCTION
r' U M··-VECTOR
r INPUT :
c IGNOI:~ED
C OUTPUT:
C INFORMATION ABOUT REDUCTION
C
C FIND REFLECTION WHICH ZEROES ACI,K), 1= K+l, •••••••• ,M
C
DO 1'(':= :I., N
<'>
ALPHA'''' (). 0
DO :I. 1:=' I~,M
U(l):=, A(J,IO
ALPHA= ALPHA+UCI)*UCI)
:I. CONTINUE
ALPHA= SQRTCALPHA)
IF(U(I'().LT.O.O) ALPHA= -ALPHA
UCI'()= UCI'(,tALPHA
BETA= ALPHA*UCI'()
A(I'(, I'():= ····ALPHA
IF(BETA.EQ.O.O.OR.I'(.EQ.N) GO TO 6
("'
C APPLY REFLECTION TO REMAINING COLUMNS OF A
I'(P:I.= 1'(+:1.
DO 4 ,J,", I~Pl. N
GAMMA:::: 0.0
DO 2 I"" 1'(, M
GAMMA= GAMMAtU(I)*ACI,j)
2 CON"fINUE
GAMMA= GAMMA/BETA
DO :3 1= I'(,M
ACI,j)= ACI,j'-GAMMA*UCI)
3 CONTINUE
4 CONTINUE
<'> CDNTINUE
I~ETURN
c
("' TRIANGULAR RESULT STORED IN ACI,,J), I.LE.,J
C VECTORS DEFINING REFLECTIONS STORED IN U AND REST or A
END
SUBROUTINF HOLVF(MD[M.M,N.A,U,BI
INTEGER MDIM,M,N
REAL AIMDIM,N).UCM),BCMI
REAL BETA,GAMMA.T
c
f'
C LE:AST-·S!:lUARE nOI .. llT ION OF Cl'J[I·::"CIETEI:~M ::: NFl.! ~:)Y~·)TEM~:;
C FIND X THAT MINIMIZEn NORMCA*X·· Dl
C
C MDIM,M,N.A.U. 1:~EmJI..Tn FF:UM HE:"Cmll"·'
C B'" M···VECTCm
C INPUT :
C RIGHT HAND nlDE
C OUTPUT:
("' F U(BT N CUMPONENTB '" THE BOL.IJT HHi. )(
C LABT M-N COMPONENTS- TRANSfORMED RESIDUAL
C DIVISION BY ZERO 1MPL:I:I:::O A NOT OF FULL. r(AtW
C
f' APPLY REFLECTIONS TO B
C
C'
DO 3 I\'~ i.N
T'-" ACI\,I\)
m::TA'" ... l.I 11\) )~A (K .1\)
AII\.I\)", l')(IO
G(,,11MA'" O. ()
DO 1 :I> K,M
GAMMA- GAMMAtAII,K)*D(I)
:1. CONTINUE
GAMMA= GAMMA/BETA
[10 2 I '" I". M
BII)a B(1)-GAMMA*AI1,I\)
2 CONTINUE
A(I\,IO'" T
:5 CONTINUE
C
C BACI\ SUBSTITUTION
C
DO ~j KB'" 1.N
1\'"' N+:I. ···KB
B(I\)= BCI\)/A(K,KI
IFIK.EQ.1) GO TO 5
KMl=' K-1
DO 4 :I> 1,KMl.
BII)= BCII-AII.K)*B(K)
4 CONTINUE
5 CONTINUE
RETURN
END
reflection, i.e. show that ~ is orthogonal and the value of its determinant
iii) m<n: NOW, the linear system of equations ~=~ is studied when the
AAT,,=b (1.12.9)
x-0 =A
T (1.12.10)
- "-
For several reasons, nonlinear systems are more difficult to deal with than
equations and unknowns, there is no guarantee that the nonlinear system has
solution at all.
------~----------~~~~----------~----
-4 -1
__-x
2 2
x + y (b)
has no solution, for the hyperbola (a) does not intersect the circle (b),
x3 =;% , Y3 =A
x 4 =;% , Y4
11
which are the four points where the hyperbola (c) intersects the circle
~n~) = Q (1.13.1)
where f and ~ are m- and n- dimensional vectors. For example, system (a),
2 2
x1 + x2 - 1 0 (b ' )
Here f1 and f2 are the components of the 2-dimensional vectors f and x 1 and
42
components of the 2-dimensional vector x. Next, the three cases, m=n, m>n
(1.13.1)
so, only linear terms could be retained in (1.13.2) and, of course, t(~O+6~)
(1.13.3)
In the above equation t' (~o) is the value of the gradient of t(~), f' (~) ,at
(1.13.4)
(1.13.5)
Of course, ~ need not actually be inverted, for 6~ can be obtained via the
(1.13.6)
~1 = ~o + 6x
In general, at the kth iteration, the new value ~k+1 is computed from the
formula
~k+1
x-k - (1.13.7)
43
where € is the said tolerance. On the other hand, it can also happen that
at iteration k, the norm of the increment becomes smaller than the tolerance.
first that the norm of the correction does not become too small before
proceeding further, and stop the procedure if both I It(~k) I I and I I~~kl I
are small enough, in which case, convergence is reached.
If only II ~~k II goes below the imposed tolerance, do not accept the corre-
either
or
quadratically, i.e. two digits are gained per iteration during the aproxi-
mation to the solution. It can happen, however, that the procedure does
thus giving rise to strong oscillations and, possibly, divergence. One way
the whole computed increment 6~k' use a fraction of it, i.e. at the kth
iteration, for i=0,1, ..• , max, instead of using formula (1.13.7) to compute
(1.13.9)
The algoritlnn is summarized in the flow chart of Fig 1.13.3 and implemented
to satisfy all the equations. vJhat can be done, however, is to find that
To find the minimizing ~O' define first which norm of f(~) is desired to
minimize. One norm which has several advantages is the Euclidean norm,
problem. The problem is then to find the minimum of the scalar function
(1.13.10)
it must first reach a stationary point, i.e. its gradient must vanish. Thus,
T
- (x) f (x)
CP' (x) = 2 J
-
(1.13.11)
matrix
45
Yes Procedure
converged
DFDX
computes the Jacobian J at
DECOMP
LU -decomposes the Jacobian
J
Yes Jacobian is
'>---------1... sing u 1 a r
- - ...
t.x=-J-1f
Yes No
No
k=O Procedure convergence
2
-- -
x ....x+t.x converged
computes at current
value of x and stores if
in f ne~l
Procedure
converged
Yes Yes
No
Yes convergence
No con-
vergence
No con-
vergence
Note:
E tolerance imposed on f
e tolerance imposed on ~
SUBROUTINE NRDAMP(X.FUN.DFDX,P.TOLX.TOLF,DAMP,N,ITER,MAX,KMAX)
REAL X(1).P(1).DF(12.12),DELTA(12),F(12)
INTEGER IP(12)
C THIS SUBROUTINE FINDS THE ROOTS OF A NONLINEAR ALGEBRAIC SYSTEM OF
CORDER N, VIA NEWTON-RAPHSON METHOD(ISAACSON E. AND KELLER H. B.
C ANALYSIS OF NUMERICAL METHODS, JOHN WILEY AND SONS. INC •• NEW YORK
C 1966,PP. 85-123)WITH DAMPING. SUBROUTINE PARAMETERS
C X N-VECTOR OF UNKNOWS.
C FUN EXTERNAL SUBROUTINE WHICH COMPUTES VECTOR F, CONTAINING
C THE FUNTIONS WHOSE ROOTS ARE OBTAINED.
C DFDX EXTERNAL SUBROUTINE WHICH COMPUTES THE JACOBIAN MATRIX
C OF VECTOR F WHIT RESPECT TO X.
C P AN AUXILIAR VECTOR OF SUITABLE DIMENSION. IT CONTAINS
C THE PARAMETERS THAT EACH PROBLEM MAY REQUIERE.
C TOLX POSITIVE SCALAR, THE TOLERANCE IMPOSED ON THE APPROXIMA-
C TION TO X.
C TOLF POSITIVE SCALAR, THE TOLERANCE IMPOSED ON THE APPROXIMA-
C TION TO F.
C DAMP -THE DAMPING VALUE. PROVIDED BY THE USER SUCH THAT
C O.LT.DAMP.LT.l •
C ITER -NUMBER OF ITERATION BEING EXECUTED.
C MAX -MAXIMUM NUMBER OF ALLOWED ITERATIONS.
C KMAX -MAXIMUM NUMBER OF ALLOWED DAMPINGS PER ITERATION. IT IS
C PROVIDED BY THE USER.
C FUN AND DFDX ARE SUPPLIED BY THE USER.
C SUBROUTINES "DECOMP" AND "SOLVE" SOLVE THE NTH, ORDER LINEAR
C ALGEBRAIC SYSTEM DF(X)*DELTA-F(X), DELTA BEING THE CORRECTION TO
C THE K-TH ITERATION. THE METHOD USED IS THE LU DECOMPOSITION (MOLER
C C.B. MATRIX COMPUTATIONS WITH FORTRAN AND PAGING. COMMUNICATIONS OF
C THE A.C.M., VOLUME 15, NUMBER 4, APRIL 1972).
C
KONT-1
ITER-O
CALL FUN(X,F,P,N)
FNOR1-FNORM(F,N)
IF(FNOR1.LE.TOLF) GO TO 4
1 CALL DFDX(X,DF,P,N)
CALL DECOMP(N,N,DF,IP)
K-O
C
C IF THE JACOBIAN MATRIX IS SINGULAR, THE SUBROUTINE RETURNS TO THE
C MAIN PROGRAM,. OTHERWISE, IT PROCEEDS FURTHER.
C
IF(IP(N).EQ.O) GO TO 14
CALL SOLVE (N,N,DF,F,IP)
DO 2 I-1,N
2 DELTA(I)-F(I)
DELNOR-FNORM(DELTA,N)
IF(DELNOR.LT.TOLX) GO TO 4
DO 3 I-i,N
3 X(I)-X(I)-DELTA(I)
GO TO 5
t
4 FNOR2=FNORI
GO TO 6
5 CALL FUNCX,F,P,N)
KONT=KONTtl
FNOR2=FNORMCF,N)
6 IFCFNOR2.LE.TOLF) GO TO 11
C
C TESTING THE NORM OF THE FUNCTION. IF THIS DOES NOT DICREASE
C THEN DAMPING IS INTRODUCED.
C
IFCFNOR2.LT.FNOR1) GO TO 10
IFCK.EO.KMAX) GO TO 16
K=Ktl
DO 8 I=I,N
IFCK.GE.2) GO TO 7
DELTACI)=(DAMP-l.)*DELTACI)
GO TO 8
7 DELTA(I)=DAMP*DELTA(I)
8 CONTINUE
DELNOR=FNORM(DELTA,N)
IFCDELNOR.LE.TOLX) GO TO 16
DO 9 I=I,N
9 X(I)-X(I)-DELTACI)
GO TO 5
10 IFCITER.GT.MAX) GO TO 16
ITER-ITERtl
FNOR1=FNOR2
GO TO 1
11 WRITEC6,110) ITER,FNOR2,KONT
12 DO 13 I=I,N
13 WRITE(6,120) I,X(I)
RETURN
14 WRITEC6,130) ITER,KONT
GO TO 12
16 WRITE(6,140) ITER,FNOR2,KONT
GO TO 12
110 FORMAT(5X,'AT ITERATION NUMBER ',13,' THE NORM OF THE FUNCTION IS"
-,E20.6/5X,'THE FUNCTION WAS EVALUATED ",13," TIMES"/
-5X,'PROCEDURE CONVERGED, THE SOLUTION BEING t ' / )
120 FORMATC5X,"XC',I3,')=',E20.6)
130 FORMATC5X,'AT ITERATION NUMBER ',J3,"THE JACOBIAN MATRIX'
-' IS SINGULAR.'/5X,'THE FUNCTION WAS EVALUATED ",13," TIMES"f
-5X,'THE CURRENT VALUE OF X IS :',/)
140 FORMAT(10X,'PROCEDURE DIVERGES AT ITERATION NUMBER ',I3fl0X,
-'THE NORM OF THE FUNCTION IS ·,E20.6fl0X,
-'THE FUNCTION WAS EVALUATED ',13,· TIMES"fl0X,
-'THE CURRENT VALUE OF X IS :'f)
END
•
Fig. 1.13.4 Listing of SUBROUTINE NRDAMP (Continued).
49
In order to compute the value of x that zeroes the gradient (1.13.11) proceed
(1.13.12)
in eq. (1.13.12) and as trying to set the whole expression equal to zero,
which minimizes the quadratic norm of the error J(x )~x + f(x ). This value
-0 - --0
is given by the expression (1.11.8) as
and stop the procedure when II~~kl I becomes smaller than a prescribed
vanishes, unless (JTJ )-1 becomes infinity, this means that ~T! vanishes.
But if this product vanishes, then from eq. (1.13.11), the gradient ~'(~)
compute it from
(1 . 13. 14 )
The algorithm is illustrated with the flow diagram of Fig 1.13.5 and
can be expected to exist. out of these solutions, however, one can choose
that with a minimum norra, thus converting the problem into a nonlinear
(1.13. 15a)
One way to find the minimizing ~O' of problem (1.13.15) is via the method
NRDAHP.
guess S
Q)
.j.J
til
>.
til
u
OM
FUN ttJ
computes E at ~o .Q
Q)
10-<
tJI
.-l
ttJ
10-<
ttJ
Q)
C
OM
DFDX .-l
C
computes the Jacobian matrix 0
C
J at the current value of x
'0
Q)
C
OM
S
10-<
Q)
.j.J
HECOMP Q)
'0
triangularizes the Jacobian 10-<
Q)
matrix J :>
0
c
ttJ
0
HOLVE .j.J
Q)
.j.J
::l
FUN §<
0
computes at the current u
value of 0
.j.J
S
ttJ
10-<
tJI
ttJ
OM
'0
~
0
.-l
Ii-<
Ll)
".;
tJI
OM
Ii-<
52
SUBROUTINF NRDAMCeX.FUN.DFDX.P.TOL.DAMP.N,M,ITER.MAX,KMAXl
REAL X(2),F(3).DF(3,2),P,U(3),DELTA(3).FNORM1.FNORM2.
DELNOI:(
c
DF
f" ··· ...
...
TOL
·· ""
Df.1MP
·(10 ::~
ITEF(
·· ...
MAX
·· ::::
I,MAX
·(0:':::
I TEI,('"'O
CALI... FUN(X.F.F'.M.N)
1 ITER=ITERtl
IFIITER.GT.MAX) GO TO 10
C
C FORMS L.INEAR L.EAST SQUARE PROBL.EM
FNORM1-FNORM(F.M)
CAL.L. DFDXIX,DF,F',M,N)
CAL.L. HECOMPIM,M,N,DF,U)
CAL.L. HOL.VEIM,M,N,DF,U,F)
c
C COMPUTES CORRECTION BETWEEN TWO SUCCESSIVE ITERATIONS
DO 2 I-I,M
DELTACI)=FCI)
2 CONTINUE
DELNOR=FNORMCDELTA,N)
IFCDELNOR.LT.TOL) GO TO 8
K-l
c
C IF DELNOR IS STILL LARGE. PERFORMS CORRECTION TO VECTOR X
3 DO 4 I-I.N
X(l)-X(I)-DELTACI)
4 CONTINUE
CALL FUN(X,F,P,M,N)
FNORM2=FNORMCF,M)
C
r TESTING THE NORM OF THE FUNCTION F AT CURRENT VALUE OF X. IF THIS
C DOES NOT DECREASE, THEN DAMPING IS INTRODUCED.
IFCFNORM2.LT.TOL) GO TO 8
IFCFNORM2.LT.FNORM1) GO TO 1
IFCK.GT.KMAX) GO TO 7
DO 6 I-l,N
IFCK.GE.2) GO TO 5
DELTACI)=(DAMP-l.)*DELTACI)
GO TO 6
5 DELTACI)-DAMP*DELTACI)
6 CONTINUE
K=Kt1
GO TO 3
7 WRITEC6,101)DAMP
C
C AT THIS ITERATION THE NORM OF THE FUNCTION CANNOT BE DECREASED
C AFTER KMAX DAMPINGS, DAMP IS SET EQUAL TO -1 AND THE SUBROUTINE
C RETURNS TO THE MAIN PROGRAM.
DAMP=-l.
RETURN
8 WRITEC6,102)FNORM2,ITER,K
DO 9 I=1,N
WRITEC6,103) I,XCI)
9 CONTINUE
RETURN
10 WRITEC6,104)ITER
RETURN
101 FORMATC5X,"DAMP =",Fl0.5,5X,"NO CONVERGENCE WITH THIS DAMPING",
" VALUE"/)
102 FORMAT(/SX,"CONVERGENCE REACHED. NORM OF THE FUNCTION :",
F15.6115X,"NUMBER OF ITERATIONS :",I3,5X,"NUMBER or ",
"DAMPINGS AT THE LEAST ITERATION :",I3115X,"THE SOLUTION"
," IS :"/)
103 FORMAT(5X,2HX(I2,3H)= F15.5/)
104 FORMAT(10X,"NO CONVERGENCE WITH",I3," ITERATIONS"/)
END
states: minima yield a stable equilibrium state, whereas maxima and saddle
Example 1.13.3 Find the point closest to all three curves of Fig 1.13.7.
These curves are the parabola(P), the circle (e) and the hyperbola(H) with
From Fig 1.13.7 it is clear that no single pair (x,y) satisfies all three
that minimize the quadratic norm of the error of the said equations.
These can be found with the aid of SUBROUTINE NRDAMe. A program was
written that calls NRDAMe, HEeOMP and HOLVE to find the least-square
solution to eqs. (P), (e) and (H). The found solutions were:
which are shown in Fig 1.13.7. These points have symmetrical locations,
as expected, and lie almost on the circle at abount equal distances from
First
------+_--------------~----------~*-_+--~~--------_4~--------------+_---------x1
REF ERE N C E S
1.1 Lang S., Linear Algebra, Addison-Wesley Publishing Co., Menlo park,
1970, pp. 39 and 40.
1.8 Brand L., Advanced Calculus, John Wiley and Sons, Inc., N. York, 1955,
pp. 147-197.
1.9 Luenberger, D.G., Optimization by Vector Space Methods, John Wiley and
Sons, Inc., N. York, 1969, pp. 8, 49-52
1.10 Varga, R.S., Matrix Iterative Analysis, Prentice Hall, Inc., Englewood
Cliffs, 1962, pp. 56-160
1.11 Forsythe, G.E. and C.B. Moler, Computer Solution of Linear Algebraic
Systems, Prentice Hall, Inc., Englewood Cliffs, 1967, pp. 27-33
any physically possible motion, the distance between any pair of its points
exist in nature, as neither do the elastic body nor the perfect fluid. The
theorems related to rigid-body motions are rigorously proved and the founda
tions for the analysis of the motion of systems of coupled rigid bodies
(linkages) are laid down. ~he main results in this chapter are the theorems
pied by a rigid body, and let ~ be the position vector of a point of that
(2.2.1)
such that, for any pair ~1 and ~2' mapped by N into '{1 and '{2' respectively,
one has
(2.2.2)
The symbol 11.1 I denotes the Euclidean norm* of the space under consider-
ation.
preserves the angle between any two lines of a body. Indeed, let ~1' ~2
and ~3 be three noncollinear points of a rigid body. Let M map these points
Thus,
(2.2.4)
and
(2.2.5)
(2.2.6)
which states that the angle (See Section 1.7) between vectors x 3 -x 1 and
x 2 -x 1 remains unchanged.
The foregoing mapping N is, in general, nonlinear, but there exists a class
In fact, let 0 be a point of a rigid body which remains fixed under Q, its
position vector being the zero vector 0 of the space under study (this can
always be rearranged since one has the freedom to place the origin of
I Ix.
-1
II = I IQ(x.)
- -1
I I, i = 1, 2 (2.2.7)
'rhen
where the rigidity condition has been applied, i.e. the condition that
states that, under a rigid_body motion, any two points of the body remain
of constancy of the angle between any two lines of the rigid body (eq.
(2.2.6» ,
11~112=11~1112+11~2112+2(~'1'~2)+11~1112+11~2112+2(~1'~2)
-2(~1+~2'~1)-2(~1+~2'~2)=
=211~1112+211~2112+4(~1'~2)-(211~1112+211~) 12+4(~1'~2»)
=0
e=O
On the other hand, since 9 preserves the angle between any pair of lines
of a rigid body, for any given real number 0.>0, Q(x) and Q(o.x) are paral-
.... - ........
leI, i.e. linearly dependent (for ~ and o.~ are parallel as well). Hence,
Ct =a
and
(2.2.12)
* This proof is due to Prof. G.S. Sidhu, Institute for Applied Mathematics
and Systems Research, U. of Mexico (IIMAS-UNAM)
61
space, the ith column of the matrix g is formed from the coefficients of
y QX
then
Hence
T T T T
Y y=x Q QX x x, for any x
Hence, clearly
THEOREM 2.2.2 A tUg..i.d-body motion le.av..trLg on.e. po..i.rt-t 6..txe.d M lte.plte6 e.rt-te.d
In the previous sections it was shown that the motion of a rigid body which
matrix. In view of Sect. 1.9 there are two classes of orthogonal matrices,
Z2"~------------~
relationship
(2.3.1)
y =z
-2 -1
where ~1' ~2' etc. represent unit vectors along the XlI X 2 , etc. axes,
o 0
o o -1 (2.3.2)
o o
det Q=+1
NOw,
(2.3.3)
Hence,
-1 o o
o o
o 0
and so,
det Q = -1
Qe ;= e
Qae = ae
Hence all points of the rigid body located along a line parallel to ~
passing through the fixed point 0, remain fixed under the rotation Q. Hence,
06 w po..tnt6 6..txed, .:then .:theJte ew:U a line pM/.)..tng .:tlvwugh .:the Mxed
po..tn.:t, /.)uc.h .:that aU 06 .:the po..tnt6 on .:that line Jtema-<-n Mxed dutUng .:the
cU6plac.ement. Th..t/.l line..[/.) c.aUed ".:the aw 06 Jto.:ta.:t..ton" and .:the angle 06
ftO.:ta.:t..ton ..[/.) meMu.Jted on a plane peJtpe.nd--Lc.uf.aJt .:to .:the. aw.
angle of rotation and a vector, the direction of the axis of rotation"'. f'rom
is obtained as follows:
basis B= {~1'~2'~3} such that, say ~3' is parallel to the axis of rotation;
would then rotate the vectors through an angle e. Let~; and ~; be the
* These parameters are also called "the invariants" of the revolute, for
they remain unchanged under different choices of coordinate axes.
65
b
- 1
Then
(2.3.4)
b'=b
-3 -3
cos e -sin e 0
o 0
Due to its simple and illuminating form, it seems justified to call matrix
,, b ) (2.3.6)
~2 , -3
66
where
~j = (b1j,b2j,b3j)T, j ~ 1,2,3
b.
-) b ~J-
.. a1+b2.a2+b3.a3
)- )-
the canonical form can be obtained from the following similarity transforma
tion
(2.3.7)
Tr(@)B=1+2COse
from which
e = cos -1 {-2(Tr
1 (Q) -1)} (2.3.8)
- B
one can compute the rotation angle without transforming the revolute matrix
Eg. (2.3.8), however, yields the angle of rotation through the cos function,
which is even, i.e. cos (-x) = cos (x); hence, the said formula does not
Theorem 2.3.2. The proof of this theorem needs some background, which is
P
P'
and
~ --+
OQ '" r - QP
Hence
=r
~ ~
r' - QP + QP t (2.3.9)
Let QP" be a line contained in plane PP'Q, at right angles with line PQ and
~
of length equal to that of QP. Thus, vector QP' can be expressed as a linear
-+ ~
combination of vectors QP and Q)?". But
~
QP" = e x r (2.3.10)
68
whereas
--->- --->-
QP - e x QP"~ ~x (~ x ~ (2.3.11)
--->-
which can readily be proved. Besides, QP' can be expressed as
--->- --->- --->-
QP' = QP cos8+QP" sin8
But
~ x (~ x E) = (~ • E) ~ - (~ • ~):- (ee-1)
.............
.r
... (2.3.14)
e x r = 1 . e x r = 1 x e . r (2.3.15)
where the dot and the point have been exchanged, what is possible to do
Q.~ (2.3.16)
2.2. That is
(2.3.17)
THEOREM 2.3.2 Let a ~g~d body undeAgo a p~e ~otation about a 6~xed
po~nt 0 and let 1 and l' be the ~~ and the Oinai pO-6J;t.ion vee.tOM
06 a po~nt 06 the body (meM~ed 6Mm 0) not ly~ng on the aU-!> 06 Mtation
69
FuJLtheJtmoJte iet e aYld ~ be .the aYlBie 06 Jr..o:ta:ti.OYl (:tYld .the u.n.a vec:toJr..
poin;ti.Ylg iYl .the d..i.Jr..ec:t..i.oYl 06 .the Jr..o:ta:ti.OYl. TheYl
.6gYl (1~' .~) =.6gYl (e)
Proof.
Thus,
rxr , .e = r 2 .. 2 (
s1n6s1n E'~
)
sgn(fxf'·~)=sgn(sin6)
But
sgn(sin6)=sgn(B)
Finally, then
sgn(fxf'·~)=sgn(6),q.e.d (2.3.18)
angle -6.
Exercise 2.3.2 Let ~ and ~' be the initial and the final position vectors
is Q. Show that the displacement p'-Qp lies in the null space of Q-I.
70
EXerCise 2.3.3 Show that the trace of a matrix is invariant under similar
!ity transformations.
Exercise 2.3.4 Show that a revolute matrix Q has two complex conjugate
eigenvalues, A and A(A = complex conjugate of A).
1
Re{A} "2 (TrQ-1)
was shown how to obtain its invariants when the matrix is known.
The inverse problem is discussed next: Given the axis and the angle of
coordinate axes.
It is apparent that the most convenient basis (or coordinate axes) for
representing the revolute matrix is the one for which this takes on its
with the given revolute axis, and ~1 and ~2 are any pair of orthonormal
let
71
2 2
Q .!. -2 2
3
-1 -2 2
solution:
2 2 -2 -1
2 2 -2
-1 -2 2 2 2
9 o o
1
9" o 9 o I
o o 9
2 1 1 2
2 3" 3 2 3 1 3 3
det ~-3 -2 +-
2 3 -2 3 2 1
3 3 3 "3 3"
24 2 22 4 11 4
- 3 (g + g) + 3"{g + g) - 3"{g - g) + 1
~: ~,
i.e.
2 2 e1 e1
l-2 2 e2 e2
3
-1 -2 2 e3 e3
Hence
-e 1 + e2 + 2e 3 0
-2e 1 - e 2 + e3 0
-e 1 -2e 2 e3 0
from which
e1 e3
e2 -e
3
and so
~
=Hh· 13
Setting 11:11=1, it follows that e 3 = , and
3
e~ = 133 [-~1 1
Thus, the axis of rotation is parallel to the vector e given above.
Tr ~ (2+2+2) =1 + 2 cosS
-1 1
Thus S = cos (2) = -60 0
90° about an axis having three equal direction cosines with respect to
the X,Y,Z axes. The matrix should be expressed with respect to these
axes.
Solution:
Let
o.+a+y=O,
222
0. +13 +y =1.
It is apparent that one component can be freely chosen. Let, for example,
0. = 0
Hence,
a + y= 0
a2+ y
2
=
from which
~1=%[ ~ 1 -12
~2 can be obtained now very easily from the fact that ~1'~2 and ~3 consti-
With respect to this basis, then, from eq. (2.3.5) the rotation matrix
o -1 o
o o
o 0
0 -16/3 13/3
With (g)B in its canonical form, the revolute matrix Q, expressed with
1- /3
1-/3
1-/3 1+ /3
x + y + z + 1 =0
is rotated through 60 o about an axis passing through the point (-1, -1, -1)
75
and 0 are mapped into C, B, 0, and A, respectively, find the axis and the
What are the other rotations similar to the previous one, i.e., which map
All these rotations, together with the identity rotation (the one leaving
of the tetrahedron.
12 1 1
Exercise 2.3.7 Given an axis A whose direction cosines are ( 2 ' 2 ' 2)'
with respect to a set of coordinate axes XYZ, what is the matrix represen-
an angle 21T/n?
ever k is the smallest integer for which the kth power of A becomes the
identity matrix. Explain why the matrix obtained in Exercise 2.3.8 should
be idempotent of index n.
2 2 2
x z
2" + L + 2"=
a b2 c
Notice that in the above definition it is not required that the group be
commutative, i.e. that aob=bOa for all a,b£g. commutative groups are a
a group (Why?)
i) an icosahedron?
iv) a sphere?
It is clear, from the above discussion, that the set of all orthogonal
angles (2.2)
with respect to the X1 ' Y1 , Z1 axes, of the rotation that carries vertices
A and B of the cube into A' and B', respectively, while leaving vertex
o fixed. A' and B' lie in,the Y1Z1 plane and points A', 0 and D, are
collinear, as are B', F and E.
B'
r- - - - - - - -J--------~
I I
I I
: I
I G I
I
I
I //
_J.._ ---Y-- / 0
/
/
/
/
B
solution:
Let (Q12)1 be the matrix representing the rotation of axes labelled 1 into
those labelled 2(referred to axes 1). Then, letting ~i' ¥i and ~i be unit
0 0 -1
(Q12)1= 0 0
0 0
Next, rotate axes labelled 2 into axes labelled 3. Call this rotation
923. This rotation would leave axis Xl fixed whereas it would carry axis
~23~1 ~1
~23~1 ~1
and so,
~[:
0 0
0 -1
(Q,,) 1 /
0
Let ~13 be the rotation meant to be obtained. Its matrix can be computed
then as
o 0-1
-1 o o
o o
which could also have been obtained by noticing that
~3 -y_1
~3
axis with direction cosines -a,a,a. Although in this example the rotation
method.
Exercise 2.4.3 Determine the axis and the angle of the rotation carrying
Iaxes X,y,Z into axes s,n,~, as shown in Fig. 2.4.2
80
Exercise 2.4.4 The cube appearing in Fig 2.4.' is rotated through 45° about
e about an axis parallel to the unit vector ~ passing through the origin
(2.5.1)
(2.5.3)
where
2 2 2
u uv uw v +w -uv -uw
2 2 2
R uv v vw T -uv u +w -vw (2.5.5a)
2 2 2
uw vw w -uw -vw u +v
and
o -w v
P w o -u (2.5.5b)
-v u o
u 2 ii + uvij + uwik +
--
+ uv~~ " + V 2 J'J' + vwJ'k
__ +
1 = ii + jj + kk (2.5.7)
Hence
+ ujjxi+vjjxj + wjjx~ +
But
and
i x j j x i k i x k k x i -j (2.5.l0a)
j x k k x j i (2.5.10b)
Thus
x e =- w~2 + vik
+ wji -ujk
-
--
vki + ukj
-- (2.5.11)
2
u uv uw 0 -w v
2
(::::) uv v vw , (1x~) w 0 -u (2.5.12)
2
uw vw w -v u 0
and
2 2
v +w -uv -uw
2 2
(~ - ee) -uv u +w -vw (2.5.13)
2 2
-uw -vw u +v
Indeed, from eqs. (2.5.5a) and (2.5.5b), it is clear that matrices Rand
i.e. eq. (2.5.4) can be regarded as the cartesian decomposition (see Section
given by eq. (2.5.3) and taking definition (2.5.5b) and eg. (2.5.14) into
83
-e 1sin6 (2.5.15a)
2 (q23- q 32)
e 2 sin6 (2.5.15b)
2 (q13- q 31)
1 (2.5.15c)
-e 3 sin6
2 (q12- q 21)
follows directly.
Exercise 2.5.2 Use eq. (2.5.16) to dete~ine the sign of 6 for the rotation
matrix of Example 2.3.1 and verify the result thus obtained with the one
obtained previously.
I
Exercise 2.5.3 (Euler's angles). A rigid body can attain an arbitrary
axes Xo ' Yo and Zo to the body in the reference configuration and rotate
the body through an angle ¢ about zO' thus carrying the axes into Xl' Yl
and zl (=zo), respectively. Next, rotate the body through an angle 6 about
axis Y1 , thus carrying the axes into X2 ' Y2 and z2' respectively. Finally,
84
rotate the body through an angle $ about Z2 so that the axes coincide with
to carry axis Zl(=ZO) into Z3(=Z2)' Show that the revolute carrying the body
sacej>
sasej> (2.5.16)
-sac$ sas$ ca
a = cos ~
cos 2" 2 cos a2 (2.5.17)
85
In the previous sections only the motion of a rigid body about a fixed point
was discussed. There are rigid-body motions, however, with no fixed point.
Consider a motion under which one point is displaced from A to A' and another
This motion can take place in any of three different ways, namely i) any
pair of points A,R of the body undergo a displacement to A', R', respectively
in such a way that line A' R' is parallel to line AR; this motion is referred
to as pure translation; ii) a line of the body remains fixed, in which case,
pure rotation; iii) no point of the body remains fixed under the motion, in
without any rotation. Hence, the lines connecting any pair of points in 1
unchanged. Thus, letting e,e', ;-,;-' and r" be the position vectors of
~1I-2-'=!"-e (2.6.1)
Next, to take the body into its final configuration, 2, a rigid-body rotation
Thus,
(2.6.2)
!'=e'+g(;--e) (2.6.3)
which is an expression for the final position R' of any point R of the rigid
body in terms of: i) its initial position,!, ii) the initial and the
final position of any other point A, and iii) the rotation Q accompanying
the motion. The above expression could have also been obtained considering
ration I' in which all lines connecting any pair of points are parallel to
the corresponding lines in 2 and, since the motion is rigid, the segments
thus defined are of equal lengths; then, perform a pure translation from
defined by the initial and final positions of anyone of its points and
Exercise 2.6.1 Obtain eq. (2.6.3) by performing first a rotation and then
a translation.
The main result in this section is Chasles'Theorem, which states that, given
any rigid-body motion,it can always be obtained as the rotation about a line
to the axis of rotation. Moreover, the displacements of all points of the body
along the screw axis are of minimum magnitude. The displacement vector of
a point is defined as the vector between the final and the initial positions
=a'-Qa+(Q-I)r
... ... ... - (2.6.3a)
From eq. (2.6.3) notice that ~ is a linear function of one single variable,
The theorem is now proved via the minimization of q,(!). This function has
one extremum at the point fO where q,'(fo)=~. The derivative q,'(=) is next
au
ar = 12- I (2.6.5a)
and
It = 2u (2.6.5b)
llu -
(2.6.6a)
(2.6.6b)
the set of points of the rigid body having a displacement vector parallel
from which ~O cannot be solved for, since (g-!) , and hence (9-~)T(g_~),iS
results can be derived from it. Indeed, given a point RO' with position
eO '" Eo + ~~
whe~e ~ is the unit vecto~ pa~allel to the axis of rotation of Q.
on the ~ight-hand side of the latter equation vanishes, the latter equation
thus ~educing to
of ~otation of Q.
From Exercise 2.6.1, if Q~I, the ~ank of Q-I is exactly 2. Therefore, two
~:o = c (2.6.7)
Section 1.11)
(2.6.8)
axis" and is totally determined by the axis of rotation, which gives its
direction, and the point ~O whose position vector, ~o' is given by eq.
(2.6.8). The name "screw" comes from the fact that the body moves as if
it were fastened to the bolt of a screw whose axis were the screw axis.
Other facts motivating the name of the screw axis will be shown later.
follows: As was pointed out from eq. (2.6.6), the minimum-norm displa-
must satisfy
, _ e
~0-~0-tan2 ~x ~O+~O
(' ) (2.6.10)
which, together with eq. (2.5.3) for vectors a and a', denoting the
cot~x(~'-~)=~x(~x(~'+~»)-2~X(~X~0)
=~x(~x(~'+~»)-2(~·~0)~+2(~·~)~0 (2.6.14)
5J .~=o
and so, substituting this vector into eq. (2.6.14) and solving for ~O in
(2.6.15)
summarized next.
"G-Lve.n an alLbWta.!ty cUb piac.e.me.n.t 06 a tUg-Ld body, .theJr.e. e.xM.tf.> a f., e..t 06
po-i.n.tf.> 06 .the. body, c.onf.>.t-i.tut-Lng a Une., f.,uc.h .that aU po-Ln.tf.> on .that
Une. undeJr.go a cUbpf.ac.e.me.n.t paJta..Ue.f. .to .the. Une., wh-Lc.h .[f., 06 min-i.mum
Euc.Ude.an nOIlm"
A property of the screw axis is established in the next theorem.
Proof:
u =s'-QS+(Q-I)p (2.6.16)
-P - -- - - ~
92
The projection of u onto the screw axis is computed now by obtaining the
-p
scalar product of u times uS' From eq. (2.6.16) this becomes
-p -
T T T T
~p~s=(~'-g~) ~s+P (g-~) ~S (2.6.17)
where the second term on the right hand side vanishes because, as already
s h own, ~S
. .
1S an e1genvector of 9 and 9.
T Thus, eq. (2.6.17) becomes
From the above expression it follows that the projection of u onto the
-p
screw axis has lenght II ~s II, q. e. d
Using the same notation as above, the final position vector of a point of
expressed as
(2.6.18)
where the two terms of the right hand side are orthogonal.
Hence it is clear that the displacement of any point of the rigid body is
ii) One point of the screw axis, RO' whose position vector is !:O
(2.6.20)
as i{ it were welded to the bolt of a screw whose axis where L and whose
(2.6.21)
For this reason, the pair (L,Q), which completely determines a rigid-body
as "screw motions". It was shown in section 2.3 how to obtain the matrix
Q, given a rigid-body motion with a fixed point. vectors ~O and ~S' which
define L, are obtained from eqs. (2.6.15) or, alternatively, from eq. (2.6.7)
a plane; thus it follows that the motion of any three noncollinear points
of a rigid body determine the motion of the body. In other words, knowing
the initial and the final positions of three noncollinear points of a rigid
body, one can determine the axis, the displacement and the rotation of the
any motion are coplanar. The converse, however, is not true, for three
Let A,B, C be three noncollinear points of a rigid body, and ~,~,~ their
u =u +(Q-I) (a-s)
-A -S - - - -
u =u +(Q-I) (b-s)
-B -S - - --
Subtracting the third equation from the first and the second ones, and
(Q-I) (a-c) =0
and
(Q-I) ':':--c)=O
Hence both a-c and b-c E N(Q-I)*, i.e. e-2 and ~-2 lie in the same one-dimen
* N (!> and R ('!') denote the nu':'l space and the range of '!', as defined in
section 1.3
95
for the two latter equations to hold is that 9=!, i.e. the motion contains
mu:
~l The motion iA a pUlte IlOmilon
ill The motion iA geneJta1., bu,t ~he po~~ Me eo~necvc.
Proof:
(Sufficiency)
i) If the motion is a pure rotation and the origin of coordinates is
u=(Q-I)r
- -
i.e. ~ER(9-~). Since N(Q-I) is of dimension 1, namely the axis of
ii) Let A,B and C be the given three collinear points of the rigid body
position vectors. Hence, vectors c-a and b-a are linearly dependent
(iL1)
.!lc=.£I.'+,9(p-.£I.)-p
=~'_~+~+(,9-}) (~-~)-~
_A+a (Q-1)
=u _ _ (b-a)
__ (ii.2)
thus making evident that the three involved displacements are coplanar.
u =u +(Q-1) (a-s)
_A -S - - --
Since A, Band C lie in a plane parallel to the screw axis, vectors ~-~,
or
rearrangement of terms,
u =u -a (0-1) (a-b)
-C -A ~ - --
But, from the above expressions for ~A and ~B'
97
u ;:(1-a)u +auB
-c -l\-
(Necessi ty)
det(u ,u ,u )=0
-A -B -C
u
_B =u _ _ (b-a)
_A +(Q-I) __
u =u +(Q-I) (c-a)
-C -A - - --
Hence, the above condition, rega·rding 1;he vanishing of the determinant, can be
where
e and ~ being the angle of rotation and the unit vector parallel to the
The double product thus can vanish if anyone Of the following conditions
is met:
i) e.u =0
- -A
98
which, from Corollary 2.6.1, states that the body undergoes a pure
rotation
ii) 0=0
ii.1 ) 1-cosB=0
Theorem 2.6.3)
ii.2.al ~,~-~ and S-~ are coplanar, i.e. points A, and C lie in a
ii.2.b) (~-e)x(S-e)=O
the proof.
COJr.OUMY 2.6.3 M.6ume. a JUgid body undeJtgoe..6 an aJl.bi:tJtaJl.y motion and c.hoo.6e.
any ~hJr.e.e. nonc.oUine.aJl. poi~ 06 ~he. body, A,B and C. L~ng ~A' ~B and ~C
be. ~he. ~hJr.e.e. lte..6uLUng di.6 piac.e.me.~, ~he.n ~he. .:two d..i.66eJte.nc.e. ve.do!t.6 ~A -~C
and ~B-~C aJl.e. paJl.aUe..t i6 and onty i6 ~he. poi~ Ue. in a piane. paJr.aUe..t ~o
~e. .6c.!tw aw fi6 ~e. motion ..i..6 ge.neJtai. 16 ~he. motion ..i..6 a pUlte. Ito~a.tion,
be. paJr.aUe..t and d..i.66eJte.~, un.f.e..6.6 ~e. body undeJtgoe..6 a pUlte. Ito~on
99
Exercise 2.6.6 Prove Corollary 2.6.4. Hint: Use eq. (2.6.19) and the fact
pcvta.ilei., :then eit:hell. il t:he cU.6plac.emen.t6 Me identic.al. and bei.ong :to poinU
lying on a line paJLai.i.ei. :to :the .6C1tW ax..U tOlt:to :the ax..U 06 lto:to.;Uon, i6
t:he mo.t.i.on i.A one 06 pUlte lLO:to.;Uonl, olt ill t:he cU.6pi.a.c.ement6 Me di66e11.en:t,
in whic.h C.M e t:he mo.t.i.on i.A a pUlte lLO:ta..t.i.on and t:he .6a.id two poinU Ue on
a line in:teJL6 ec.:ting t:he ax..U 06 Ito:ta..t.i.o n.
Jtigid body mo.t.i.on be de6ined by UB=SUA , Q and ~C=Q, S being a nonzeJLO .6C.a.i.M.
The motion i.A :then a pUlte lLO:ta:tion and ,{;fA ax..U i.A paJLai.i.ei. :to vec.:tolt
~-~-S (~-~J.
The procedure enabling one to compute the screw parameters can now be
established. This is based upon the "tree-diagram" shown in Fig 2.6.2, which
relationships amongst them, all of which are shown in that figure. A set of
of points amongst which the distances are preserved. Even if the distances
7g~egiven
1. No vector vanishes 2. One vector, and 3. Two vectors, and 4. All three vectors
only one, vanishes only two, vanish. vanish.
Apply formula 1 Motion is a zero-
displacement pure
/~ translation.
1. vectors are 2. vectors are 1. the remaining 2. The remaining
coplanar noncoplanar. two are parallel. two are nonparallel.
l~formula2 Apply formula 1 Apply formula 2
Fig.2.6.2. Tree diagram showing the different possib)(j relationships amongst the displacements of three
noncollinear points defining a rigid-body motion.
101
In order to define a reflection, four points are needed. The three displac~
1.1. The given vectors are coplanar, which in turn comprises the
following
CASE 2. One vector, and only one, vanishes. This, in turn comprises the
following subcases.
CASE 4. All three vectors vanish. The motion is a pure displacement with
zero displacement.
defined arising from the given one,that falls either in case 2.1 or in
case 2.2, as will be shown next. Case 4 is of course trivial and thus
i.e. the angle of rotation, e, the position vector of the point on the screw
axis lying closest to the origin, r o' and the slide displacement, s, defined
hand, except for e= 180 0 , in which case fO cannot be computed using the
then the matJt..[x d~c.JUb..i.ng the ItOtation ..i.nvolved ..i.n the new motion -fA
Proof:
(2.6.22)
side of eq. (2.6.22) and subtracting it from the same side does not alter
u = a'-a + Q(c-a)-(c-a)
-c - - - - - --
which can readily be rewritten as
u = u + (Q-I) (c-a)
-C -A - - --
* The notation introduced in Theorem 2.6.3 still holds.
103
or, alternatively, as
(2.6.23a)
Similarly,
(2.6.23b)
and
u'= u -u
~B ~B ~C
= (Q-I) (b-c)
~ - --
or, since u~ has been defined as zero,
u' (2.6.24a)
-A
u' (2.6.24b)
-B
which are expressions formally identical to eqs. (2.6.23a and b), with
~A' ~B and ~c exchanged for ~i' ~B and ~C' vectors e, P and ~ and matrix
proof.
Since eqs. (2.6.23a and b) are valid regardless of whether any involved
displacement vanishes, one can apply them to the case at hand, i.e. for
104
and the proof follows by introducing the argument resorted to for proving
Theorem 2.6.5.
As an application of the foregoing results, one can compute ~ for the motion
Next, the computation of g for Case 2 is discussed. Since this contains two
CASE 2.1: One vector, and only one, vanishes, the remaining two being
(2.6.27)
(2.6.28)
CASE 2.2: One vector, and only one, vanishes, the remaining two being
w u x u (2.6.29)
-A -B
From the foregoing results, then follows that Cases 1.1.1.2 and 3 give rise
105
to a new motion falling into case 2.1. Cases 1.1.2 and 1.2 lead to motions
falling into case 2.2. Cases 1.1.1.1 and 4 are pure translations, their
corresponding screw parameters thus being very simple to compute. Indeed,
the direction ~ of the screw axis for Case 1.1.1.1 is that of the given
identical displacements, the angle of rotation is zerQ, the slide displac~
ment is the magnitude of the given displacements and the point of the
screw axis lying closest to the origin can be arbitrarily defined as the
origin itself, since all points of the body possess identical displacements.
Once ~ is known, e can be computed directly as the angular displacement of
a line of the rigid body undergoing a pure rotation, either falling in case
2.1 or in case 2.2. In fact, considering either of these two cases, and
referring to Fig 2.6.3, the orthogonal projections of points A and A' (the
displaced position of point A) on the axis of rotation, L, coincide at A".
According to that figure, then
->- ->-
-1 AliA AliA' (2.6.31)
e cos
I
A
A'
where
a-c- ~-=). ee (2.6.32a)
106
and
(2.6.32b)
Notice, however, that eq. (2.6.31) does not provide the sign of e with
-->- -->-
sgn(e) = sgn (A"A'~ A"A'.!) (2.6.32c)
with e and e known, the position vector of the point on the screw axis
(2.6.15), except if e =0, TI,in which case the cotangent function appearing
either in case 1.1.1.1 or in case 4. Thus the only case that still has to
point 06 the .6cJtew axM and let A be an Mb-dJuvty point 06 the body ou:t.6ide
the .6C/1.ew axM. MO/z.eoveJL, let ~,q.'~S and ~A be the /z.ef.>pecUve pO.6i.tion and
di.6plac.ement vectoM 06 tho.6e poiit.t.6. Then, a .6ec.ond point on the .6cJtew
Q_(~- + ~u -s)
2-A -
= a+ ~ -s
- 2-A-
(2.6.33)
Thus, all that need be proved is eq. (2.6.33). This follows from the fact
U
(2.6.34)
-A
107
Now, (Q-;);) (~-:) lies naturally in the range of (Q-~) (by definition) and
hence is perpendicular to its null space, i.e., to ~S. Then, if (~-!l (e-~)
- - - - - - - --
Q(Q-I) (a-s)=-(Q-Il(a-s) (2.6.35)
= ~u + 9(~-~)
2-S_ - -
+ ~(Q-I)la-s»)=
2 - --
1 1
= ~S + Q (~-~) + 28 (g-!) (~-~l
By virtue of eq. (2.6.35) the latter equation becomes
1 1 1
g(~ + ~A-~)= ~S + g(~-:)- 2(g-~) (~-:)
Adding and subtracting a-s to the left-hand side of the latter equation
leads to
Q(a + ~
2A
-s)= ~ +
2S
a-s + (Q-I) (a-s)- ~(Q-I) (a-s)
_ 2_
1
Now, if vector e+ ~A is located on the screw axis, the point of that
axis lying closest to the origin, RO' is the one whose position vector is
To complete the computation of the screw parameters, only the slide dis-
(2.6.37)
108
considering all possible particular cases that could arise within this
context.
Example 2.6.1 Determine the screw parameters of the motion under which the
~----~------ H
F F-----+------<
o
,,
,,
y
II
I
,,
F:'-- - -
x
B'
"
A'
Following the foregoing algorithm, the motion is first classified under one
of the different cases appearing in Fig 2.6.2. To this end, choose the
;=- 2.e.~, tL
"- -H
i.e. no displacement vanishes and two are parallel. Hence, the said
u'
-B
h - f - (e-f) = h - e
on the screw axis, B", and then computing vectors B"B and B"e', following
thus obtaining
B"B = f(_i j- ~)
3 --
eq. (2.6.32c) as
110
sgn(e)
-1 -4
2
=sgn (det .t 13 o -1
9
-1
Hence,
e 60 0
The position vector Eo of the point on the screw axis lying closest to the
and
EXCHGE, CROSS and SCAL, listings of which appear in Figs 2.6.6, 2.6.7 and
2.6.8.
of the axis of this screw as well as its pitch. If the operation is to take
fraction?
111
SUBROUTINE SCREW(AIN,BIN,CIN,AFIN,BFIN,CFIN,E,RHO,THETA,DISPL)
c
c THIS SUBROUTINE COMPUTES THE SCREW-PARAMETERS OF A RIGID BODY MOTION.
c
c
C INPUT:
C THE X, Y AND Z-COORDINATES OF THREE NONCOLLINEAR POINTS OF THE
C RIGID BODY IN BOTH ITS INITIAL (AIN.BIN,CIN 3-DIMENSIONAL VECTORS)
'"<., AND FINAL (AFIN,BFIN,CFIN 3-DIMENSIONAL VECTORS) CONFIGURATIONS.
C
C OUTPUT:
C 1. THE DIRECTION E, OF THE SCREW AXIS, A 3-DIMENSIONAL VECTOR.
(; 2. THE LOCATION RHO OF THE POINT ON THE SCREW AXIS LYING CLOSEST
C TO THE ORIGIN.
C 3. THE ANGLE OF ROTATION (SIGN WITH RESPECT TO E INCLUDED), THETA.
C 4. THE SCALAR DISPLACEMENT DISPL, ALONG E (SIGN WITH RESPECT TO
C E INCLUDED).
C
C SUBSIDIARY SUBROUTINES:
C
C CROSS(A,B,C) COMPUTES THE CROSS PRODUCT OF VECTORS A AND B, IN THIS
C ORDER, AND STORES THE PRODUCT IN VECTOR C.
C SCAL<A,B,S) COMPUTES THE SCALAR PRODUCT OF VECTORS A AND BAND
C STORES THE PRODUCT IN THE SCALAR S.
C EXCHGE(A,B) EXCHANGES FIELDS A AND B.
C
C 3-DIMENSIONAL VECTORS A, B, C ARE AUXILIARY FIELDS.
C
REAL AIN(3),BIN(3),CIN(3),AFIN(3),BFIN(3),CFIN(3),UA(J),UB(3)
,UC(3),A(3),B(3),C(3),E(3),RHOC3)
LOGICAL LO(3)
COMMON ZERO
c
C COLLINEARITY OF GIVEN POINTS IS VERIFIED. WHEN POINTS ARE COLLINEAR,
C ZERO IS SET EQUAL TO -1 AND SUBROUTINE RETURNS TO MAIN PROGRAM.
DO 10 1=1,3
LO(I)=.FALSE.
ACI)=AINCI)-CINCI)
10 B(I)=BIN(I)-CIN(I)
CALL CROSSCA,B,C)
CALL SCALCC,C,S)
S::SQRTCS)
IFeS-ZERO) 20,20,30
20 ZERO=-l.
WRITE(6,1000)
RETUf(N
C
C DONE
C COMPABILITY IS VERIFIED. IF THIS IS NOT MET, THEN ZERO IS SET EQUAL
C TO -2, -3, OR -4, DEPENDING UPON WHETHER DISTANCE AC, BC, OR AB DOES
C NOT REMAIN CONSTANT THROUGHOUT THE MOTION.
30 DO 40 1=1,3
C(I)=AFINCI)-CFIN(I)
40 CONTINUE
t
CALL SCAL(A,A,Sl)
Sl=SORT(Sl)
CALL SCAL(C,C,S2)
S2=SURT(S2)
IF(ABS(Sl-S2).LE.ZERO) GO TO 50
ZERO=-2.
WRITE(6,1010)
RETURN
50 DO 60 1=1,3
C(I)=BFIN(I)-CFINCI)
60 CONTINUE
CALL SCAL(B,B,S1)
CALL SCAL(C,C,S2)
Sl-SURT(Sl)
S2=SORT(S2)
IF(ABSCS1-S2).LE.ZERO) GO TO 70
ZERO=-3
WRITE(6.1020)
RETURN
70 DO 80 1=1,3
ACI)=AIN(I)-BIN(I)
80 B(I)=AFIN(I)-BFINCI)
CALL SCAL(A,A,Sl)
CALL SCAL(B.B,S2)
Sl=SORT(Sl)
S2-S0RT(S2)
IF(ABSCS1-S2).LE.ZERO) GO TO 90
ZERO=-4.
WRITE(6.1030)
RETURN
C
C DONE
C DISPLACEMENT VECTORS ARE COMPUTED
90 DO 100 1=1,3
UA(I)=AFIN(I)-AINCI)
UB(I)=BFIN(I)-BIN(I)
100 UC(I)=CFIN(I)-CIN(I)
C
C DONE
C NUMBER Of VANISHING DISPLACEMENTS IS DETERMINED AND STORED IN NUZE.
C DISPLACEMENT MAGNITUDES ARE STORED TEMPORARILY IN E. IF NUZE.EQ.O
C THEN NUZE IS SET EOUAL TO 4.
CALL SCAL(UA,UA,E(l»
CALL SCAL(UB,UB,EC2»
CALL SCALCUC,UC,E(3»
NUZE=O
DO 110 1=1,3
E(I)=SORT(E(I»
IF(E(I).GT.ZERO) GO TO 110
NUZE=NUZE+l
LO(I)=.TRUE.
110 CONTINUE
t
C DONE
WRITEC6.1060) NUZE
IFCNUZE.EQ.0INUZE=4
C
EACH CASE CNUZE=I,2.3 AND 0) IS NOW INVESTIGATED.
GO TO(111.211.311.411) NUZE
L; DONE
C ONE-. lWO- AND THREE- VANISHING-DISPLACEMENT CASES WERE ALREADY
C DEALT WITH. NO-VANISHING-DISPLACEMENT CASE IS NEXT INVESTIGATED.
C FIRST IT IS INVESTIGATED WHETHER THE GIVEN VECTORS ARE
C COPLANAR AND, IF SO, WHETHER THEIR DIFFERENCES ARE PARALLEL.
C THE FORMULA EMPLOYED TO COMPUTE VECTOR E IS DECIDED UPON
C ACCORDINGLY.
111 CALL CROSS(UA.UB,C)
CALL SCAL(UC.C.S1)
C UA-UC AND UB-UC ARE STORED IN UA AND UB RESPECTIVELY.
DO 420 1'''1.3
UA(I)~UA(I)-UC(II
420 UB(I)=UB(II-UC(I)
CALL CROSS (UA.UB.C)
CALL SCAL(C.C.S2)
S2··"St:IIH ( S2 )
JUMP'-l
IF(ABS(Sl).LT.ZERO)JUMP~JUMF+l
IF(S2.LT.ZERO)JUMP~JUMP+l
GO TO (421,422.423),JUMP
421 WRITE(6,1090)
GO TO (JOO
422 WRITE(6.1100)
GO TO 600
c
L IF VECTORS ARE COPLANAR AND DIFFERENCES ARE PARALLEL, INVESTIGATES
C WHE1HER MOTION IS A PURE TRANSLATION.
423 CALL SCALCUA.UA.UAUA)
CALL SCAL(UB,UB.UBUB)
UAUA,,"SQRT ( UAUA )
UElUB""Smn ( UIllJB)
IF(UAUA.LE.ZERO.AND.UBUB.LE.ZERO)GO TO 900
WFUTE(6.1110)
c
C COMPUTES VECTOR E. FIRST THE SCALAR FACTOR BETA RELATING
C PARALLEL VECTORS UA AND UB IS COMPUTED. VECTOR E IS STORED
C TEMPORARILY IN C.
509 CALL SCAL(UA.UA,UAMAG)
CALL SCAL(UB.UB.UBMAG)
CALL SCALCUA,UB.UAUB)
·8
UAMAG~SQRT(UAMAG)
UBMAG=SQRT(UBMAG)
IFCUAMAG.LE.ZERO) WRITEC6,1120)
BETA=UBMAG/UAMAG
IFCUAUB.LE.O)BETA=-BETA
DO 510 1-1,3
510 ECI)=BINCI)-CINCI)-BETA*CAINCI)-CINCI»
GO TO 605
600 CALI CROSSCUA,UB,E)
605 CALL SCALCE,E,EE)
EE=SORTCEE)
DO 610 1-1,3
610 ECI)-ECI)/EE
C
C DONE
C lHE ANGLE OF ROTATION IS COMPUTED.AUXILIARY VECTORS A AND B
C ARE INTRODUCED.
DO 710 1=1,3
ACI)=AINCI)-CINCI)
CCI)=AINCI)+UACI)
710 BCI)=CCI)-CINCI)
CALL SCALCA,E,APROY)
CALL SCALCB,E.BPROY)
DO 720 1=1.3
ACI)=ACI)-APROY*ECI)
720 BCI)mBCI)-BPROY*ECI)
CALL SCALCA,B,AB)
CALL SCALCA,A,AA)
THETA=ARCOSCAB/AA)
CALL CROSSCA,B,C)
CALL SCALCC,E,CE)
IFCCE.lE.O)THETA=-THETA
C
r DONE
C COMPUTATION OF RHO AND DISPl.
COTH=COSCTHETA)
DIF=l+COSH
DIF=ABSCDIF)
IFCDIF.LE.ZERO) GO TO 830
DO 810 1=1,3
UACI)=AFINCI)-AINCI)
810 CCI)=AFINCI)+AINCI)
CAll CROSSCE,C,A)
CALL CROSSCE.A,B)
CALL CROSSCE,UA,RHO)
DO 820 1=1,3
RHOCI)=COTANCTHETA/2.)*RHOCI)
820 RHOCI)-CRHOCI)-BCI»/2.
GO TO 840
830 DO 850 1-1,3
850 RHOCI)-AINCI)+UA(I)*0.5
CAll SCAlCRHO,E,S)
DO 860 1=1,3
860 RHOCI)=RHOCI)-S*ECI)
REAL A(3),B(3).C(3)
DO 10 K=1.3
C(K)=O.
DO 10 L=1,3
DO 10 M=1,3
N=(L-K)*(M-L)*CK-M)
CCK)=C(K)-N*A(l)*B(M)/2.
10 CONTINUE
RETURN
END
Exercise 2.6.9 (Taken from (2.7» Let ~,~,~' and r' be the position vectors
of the initial and the displaced positions of points A and R of a rigid body
:'=~'+~(~-~>
Q being the rotation of the screw. Show that the set of points of the body
that, under the given motion remain equidistant from a fixed point P, lie
in a plane.
Exercise 2.6.10 The rectangular plate shown in Fig 2.6.10 is displaced from
a B,
~~=--~:....-------- ..... Y
x
C2 (in the x-z plane)
In the previous sections the motion of a rigid body when moving between
the following ones, the motion of a rigid body between two infinitesimally-
Let yet) be the image of vector ~ under a pure rotation Q(!). Clearly,
120
y(t)=Q(t)x (2.7.1)
y(t)=Q(t)x (2.7.2)
not practical to compute the velocity of the said point, for it requires
yields
• • T
v(t)=y(t)=Q(t)Q (t)y(t) (2.7.3)
- -
which is an expression for the velocity of a point of a rigid body moving
about a fixed point, in terms of the current position vector of the moving
point. The matrix poduct, Q(t)QT(t), called the angular velocity* of the
- -
v(t)=n(t)y(t)
-
(2.7.4a)
where
I
Exercise 2.7.1 Show that, if Q(t) is orthogonal, then Q(t)QT(t) is skew
symmetric.
Exercise 2.7.2 Show that the velocity of a point of a rigid body moving
called also the angular velocity of the rigid body. Using cartesian vector
~(t)=~(t)x~(t) (2.7.5)
where the components w1. of w and ~ .. of ~ are related by W.=-E .. k~.k' the
- 1) - 1 1) )
Since ~(t) is skew symmetric and 3x3, it has one zero eigenvalue, as is
shown below. Furthermore, its other two eigenvalues are complex (and
cose -sine
°
(Q(t»)= sine cose
° (2.7.6)
sine
°
-sine -cose
°
(Q(t»)= cose -sine
°e (2.7.7)
° ° °
From the above expressions,
° -1
°
Q(t)QT(t)
° °e (2.7.8)
° ° °
which makes evident that all vectors of the form (~) = (o,o,a)T, a being
A1 = i,A 2 =- i (2.7.9)
of dimension 1, i.e. a line. All the points lying on that line have zero
velocity, the line thus being called "the instantaneous axis of rotation"
example of a rigid body rotating about a fixed point, its apex; its
rotating on a plane in such a way that the contact point remains fixed;
the instant axis of rotation of the sphere is thus the diameter passing
revolution, without slipping, in such a way that both appices are coincident.
iangle of rotation.
123
0 ccp scps6 ~
(..u)
~ 0
= 0 scp ccps6 e (2.7. 9a)
0 c6 1jJ
or, alternatively, as
s6s1jJ c1jJ 0 ~
c1jJ 0 n 1jJ
In what follows it will be shown that the angular velocity, as opposed to the
individual matrices, but as their product. If the rigid body, however, rotates
about certain given axes, the matrix of the overall angular velocity is the
sum of the individual matrices of angular velocities about those axes. Math-
ematically this difference can be stated as: Whereas rotation matrices form
about a given axis of rotation LO' which exists by virtue of Euler's Theorem.
Furthermore, let ~Ol be the rotation matrix carrying the body from configur~
corresponding rotation matrix being ~12' From the results of Section 2.4,
(2.7.11)
But usually g12 is not readily described in reference frame 0, but in that
(2.7.12)
(2.7.13)
The overall angular velocity of the body, ~, is then
(2.7.15)
(2.7.16a)
or, alternatively,
(2.7.16b)
(2.7.16c)
axes provided with a clock (2.8,p.26). Assume a point Po' located by vector
The latter s~stem constitutes a ~ixed observer, whereas the first, a moving
one.
respect to the moving one will be indexed with letter M. Let ~ be the
position vector of P in the moving observer and Q the rot~tion dyadic from
Hence,
(2.8.1 )
(2.8.2)
(2.8.3)
then
(2.8.4)
(~O)F +(~)F(~)F+(~)F(~)M =
where the first two terms of the right hand side represent the velocity of
P as if it were one point of the rigid body defined by the moving observer*
and the last term is the velocity of P as measured by the moving observer.
Matrix (Q)
_ F transfers the description of yelocity(i)
_ M to the fixed
observer. Thus, eq. (2.8.5) states that the velocity of point P equals
Given any two points, P 1 and P 2, moving with velocities Y, and Y2'
respectively, 'the relative velocity of P 2 with respect to P 1 is defined
as
v =v-v (2.8.6)
-2/1 -2 -1
velocity ~2' with respect to body 1, moving with angular velocity ~1' is
defined as
Q =Q-Q (2.8.7)
-2/1 -2 -1
or, alternatively,
(2.8.7)
Let a rigid body B undergo the most general motion, i.e., in general, no
Thus, the relative velocity, y-yp,of any other point R(located by ~ ) with
respect to P, is given by
for Y-Yp is the velocity that R would have if P were fixed. From eq.
(2.9.1) ,
(2.9.2)
127
point, ~, the angular velocity Q and the position vector of R with respect
to p.
Given two rigid bodies in motion, body 1 rolls without slipping with
respect to body 2 if, and only if, there exists a set of points on both
and 2 such that the relative velocity of points on that set is zero.
of points, whose position vector is given by ~, for which v=O. But for
v =-Q(x-x) (2.9.3)
-p - - -p
which states that ~p is in the range (see section 1.3) of~. However, it
was shown in Section 2.8 that the null space of Q if of dimension 1; hence
the null space of Q, body B is said to slide on body C, which is the case
are power losses due to the involved sliding and, since the dissipated
two mechanical elements under consideration should take place along points
or, for short, the instantaneous axis . Indeed, let the sliding velocity
'av T
CP' (x)=2(~5J v (2.9.4a)
0_ -
dy
(2.9.4b)
dx
Exercise 2.9.1 Show that the gradient of ¢(~) is twice the left hand side
I
of eq. (2.9.5).
Since rl has one zero eigenvalue (and only one), eq. (2.9.5) states that
(2.9.6)
eq. (2.9.6) does not yield a unique vector ~O for, if any vector a~ (in
the null space of rl) is added to ~O' the velocity YN of the new point, is
given by
through one point ~O' in the direction of ~, this line being the instanta-
129
neous screw axis of the motion under study. The particular point Po on the
screw axis, located by ~O' is chosen such that ~O be normal to the screw
This vector can be found in a similar way as vector :0 of eq. (2.6.8) was
Ax =b (2.9.7)
--0 -
where A is a 2x3 matrix and b is a two-dimensional vector. Hence, the
x =AT(AAT)-lb (2.9.8)
-0 - -- -
An alternative way of finding ~O is now presented, expressing eq (2.9.5)
~x~p+~x(~X(:o-:p»)=~
or, expanding the double cross product*,
~xvp+(~. (Eo-Ep»)~_~2(Eo-Ep)=Q
vector of all those satifying eq. (2.9.9), then i t can be obtained from
Chasles'.
eompo.6e.d 06 a velocity ~o artd a .6pirt about art axi.6 pana1~el :to ~O . The.
poin..t.6 who.6e. veloei:ty iI.> ~O M.e. ioeate.d Ort a lirte. paJtllif.el :to ~O' eaUe.d
the. axi.6 06 :the. irtMantane.otM .6CJte.w and ~Q iI.> 06 minimum magrtilude.. The.
.6 CJtW axil.> pa4.6 e..6 :tM01Lg h point Po whO'-> e. PO.6itio rt ve.c;tOft iI.> give.rt e.i:theJt
Proof:
Dot multiplying both sides of the above equation times ~(a vector parallel
~.~=~p.~+~~(~-~p).~
But the second term of the right hand side clearly vanishes. Hence
v.w=v .w q.e.d.
- - -P -
By virtue of the latter result, the projection of the velocities of all
the points of a rigid body in motion along the screw axis is given by
I I~ol I , which is called the sliding. The pitch of the instant aneous
screw is given by
(2.9.11 )
131
YO = (YA·~h (2.9.12)
follows.
THEOREM 2.9.3 The d-i.66etten.c.e ve&o/t 06 ;the ve1..oUtie1l 06 an.y :two po~
06 a JUg-i.d body un.dettgo-i./1.g an. aJtbftJtaJty motion. .u, pettpen.d-i.c.ui.aJt ;to ;the
ax.i6 06 ;the ..i.n6;tan.;tan.eou.6 ~c.Jte.w.
132
Proof
which makes clear that d lies in the range (See Section 1.3 of ~,
thereby being normal to the null space of g, i.e., normal to the screw
axis. Alternately this result can be proved resorting to Gibbs' notation.
~ = !!!x(e- a )
and hence
-
d.w= wx(b-a).w
...... ...
which vanishes because the double product at the right hand side contains
Let YA, YB and Yc be the respective velocities of points A,B and c. Referr-
~A=YP+g(~-~)
YB=Yp+g(!?-I;l)
~c:p+~(:-~)
~A-~c=~(~-~)=9
~B-~c=g(~-~)=9
133
which implies that both ~-~ and b-c lie the null space of ~. This space,
A, Band Care noncollinear, vectors ~-~ and b-c are linearly independent
(Sufficiency)
v = ~r
which states that v lies in the range (See Section 1.3) of ~ , which
ii) Let A, Band C be three collinear points of the rigid body and let ~, b
v_A=v_P +~(a-p)
__ _
vc=v +~(c-p)
- _P - - -
134
Since the points are collinear, their position vectors are related by
v_c =v
_p +n(a-p)+n(c-a)
_ _ _ _ _ _
v =v +an(b-a)
-c -A - - -
But
n(b-a)=v -v
- - - -B-A
Hence, the expression for ~c is transformed into
or, equivalently,
thereby proving the linear dependence of ~A' ~B and ~c. Hence these
iii) The velocities of the three given points, A,B and C, are referred to
the screw axis. On the other hand, the fact that A, Band C lie in
following relationship
or, equivalently,
135
Yc=Yl?+~(:-,p)=
=yp+~(~-,p)-a~(~-~)+B~p
whose two first terms can be readily identified as YA' its fourth term
v =v -an(b-a)
-c -A - - -
But
n(b-a)=v -v
- - - -B-A
Thus, the latter expression for v
-c is transformed into
which shows the linear dependence of the three given velocity vectors,
(Necessity)
Assuming that the velocities YA, YB and YC of three given points A,B and
YB=YA+~(!?-~)
YC=YA+g(~-~)
which is equivalent to
n(b-a)xn(c-a).v =0
- - - - - - -A
Introducing Gibbs' notation, and expanding the resulting expression,
i) w.v
- -A
=0
which implies, under Corollary 2.9.1, that the motion is a pure
rotation
which indicates that vectors W' !:'>-e and 9-e are coplanar, q.e.d.
A direct consequence of the foregoing result is the following
Co~ollany 2.9.2 A6~ume a ~g~d body und~ motion and ehoo~e any t~ee
More results connected with the present discussion are the following
137
COItoUalUj 2.9.3 The. ve1.oc);Uu, 06 any two po.i.YLt6 06 a JUg.i.d body c.annot
be. paJtaU.e1. and cU66eJte.n.t, unl.u,.6 the. body undeJtgou, a. pUlte. JLO.ta.tion
COlLoUaJr.y 2.9.4. 16 .the. ve1.oc);Uu, 06 any two po.i.YLt6 06 a JUg.i.d body Me.
pcvta.Ue1., .the.n e.UheJt.i.) the. ve1.oc);Uu, Me. .i.de.n:U.c.al and be1.ong to po.i.YLt6
ly.i.ng on a Une. pa.lLalle1. to the. ax.i.6 06 the. .i.n.stan.ta.ne.oU.6 .6c.ILe£IJ oIL ill
.thO.6e. ve1.oc);Ue..6 Me. cU66eJte.n.t, .i.n wh.i.c.h C.Me. .the. motion .i..6 a pUlte. JLO.ta.lion
and .the. po.i.nt6 Ue. on a 1bIe. .i.n.te.M e.c.ling .the. ax.i.6 06 ILO.ta.lio n.
the.n the. body undeJtgoe..6 a pUlte. 1L0.ta.lion and ffi ax.i.6 pM.6e..6 thILough C and
.i..6 pa.JLa.lle1.to ve.c..tOIL ~-£--6(~-£.), ~,~ and £. being the. pO.6ilion ve.c..tOM 06
A, Band C, lLe..6pe.c.live1.y.
The computation of the parameters of the instantaneous screw is next dealt
with. These parameters are: i) the angular velocity ~, ii) the position
vector of the point of the instantaneous screw lying closest to the origin,
r , and iii) the sliding velocity, v, i.e. the orthogonal projection of the
-0
velocity field on the screw axis.
established. This is based upon the tree diagram appearing in Fig. 2.9.1.
This diagram is equal to that of Fig 2.6.2, except that instead of containing
in the "branches" of that tree appear in Fig 2.9.1. It is assumed that the
given points are noncollinear and that the three velocity vectors are
velocities of two points of a rigid body on the line joining these points
are identical.
Three velocity vectors of !ll
correspondinq three noncollinear
7ig~re given
1. No vector vanishes 2. One vector, and 3. Two vectors, and 4. All three vectors vanish.
only one, vanishes only two, vanish. Motion is a zero-velocity
Apply formula 1 pure translation
\~'mUla2
1. Both differences 2. At least one
vanish. difference
Motion is a does not vanish.
pure translation Apply formula 1
Fig 2.9.1. Tree diagram showing the different possible relationships amongst the velocities of three
noncollinear points defining a rigid-body motion.
139
however, a new motion can be defined arising from the given one, that falls
either in case 2.1 or in case 2.2, as will be shown next. Case 4, being
trivial, need not be further discussed. In either case, 2.1 or 2.2, a parti£
THEOREM '2. 9.6. Given a JUgid -Oody molion de.6.i.ned by .the ve.1.ocU..i.v.. 06 .thJr.ee
M!.>ign.i.ng new veloc.dy vec..tOM ~A' ':!B and ':!C .to poin.t6 A, Band C, lLv..pec.-
.then .the angu1aJz. veloc.dy 06 .the new molion .i.I.> identic.a! .to .the given one.
Proof:
v YC + ~ (e-S:) (2.9.13a)
-A
v
-B !'C + f!(e-c:) (2.9.13b)
Hence,
and
and recalling the definitions of ~i' ~~ and ~c' the latter equations
140
become, then,
v' (2.9.14a)
~A
v' (2.9.j4b)
~B
which are expressions analogous to those of eqs. (2.9.13a and b), except
that Y~' Y~ and Y~ have been placed instead of YA , YB and YC ' respectively.
~ , ~, e and c remain, however, thereby completing the proof.
nonc.oLUneaJt pO~nX6, -6u.c.h ~h~ :two on ~h~e, and on1..y :two, va~h, deMne
deMne
~A =- ~C' ~B =- ~C' ~C = Q
~hen ~he angLLtaJt vetoc.ily 06 ~he. new mo~on ~ ~de~c.a£ ;to ;th~ On ;the
g~ve.n one.
Proof:
Since eqs. (2.9.13a and b) are valid regardless of whether any involved
velocity vanishes, one can apply them to the case at hand, i.e. for
Q Yc + ~ Cf>-S:) (2.9.15b)
Hence,
and
-v ~C
= 0 + r2(b-c)
~ ~ ~ ~
Recalling the definition of v~, v~ and v~, the latter equations become
v'
~A
(2.9.16a)
141
~B = ~~ + g{~-~) (2.9.16b)
and the proof follows by introducing the argument ~esorted to for proving
As an application of the foregoing results one can compute ~ for the given
motion by first defining motions leading to case 2 of Fig 2.9.1. Next the
CASE 2.1 One vector, and only one, vanishes, the remaining ones being
parallel. Let
(2.9.17)
(2.9.18)
v w x (a-c) (2.9.19)
-A - --
Upon substitution of ~ as given in (2.9), eq. (2.9.19) is
transformed into
YA a(b-c)x(a-c)
and hence
(2.9.10)
CASE 2.2 One vector, and only one, vanishes, the remaining ones being non-
parallel. Let
(2.9.21)
(2.9.22)
and hence
142
v xv
~B ~A
~ (V • (a-c)
~B ~ ~
w-(v .w) (a-c))
~ ~B ~ ~ ~
(2.9.22)
where the scalar product YB ' ~ vanishes, due to the fact that the
(2.9.23)
v~B . (a-c)=
~ ~
wx(b-c).
~ ~ ~
(a-c)
~ ~
which vanishes only if the given points lie in a plane parallel to the
Once ~ is known, the position vector, ~O' of the point on the axis of the
(2.9.24)
appears in Fig 2.9.2. This subroutine uses EXCHGE, CROSS and SCAL as
S
SUBROUTINE INSCRUCA,B.C.VA,VB,VC,RHO,SPIN,SPEED)
r
C THIS SUBROUTINE COMPUTES THE PARAMETERS OF THE INSTANTANEOUS
e SCREW OF A RIGID-BODY MOTION.
e INPUT:
C THE X,Y AND Z COORDINATES OF THREE NONCOLINEAR POINTS,
e A,B AND C OF A RIGID BODY AND THEIR CORRESPONDING
e VELOCITIES. VA,VB AND VC. FIELDS A.B,C,VA.VB AND VC ARE
e THREE DIMENSIONAL, THEIR ELEMENTS BEING THE X,Y AND Z
e COMPONENTS OF THE CARTESIAN VECTORS STORED IN THEM.
e OUTPUT:
C 1.- THE POSITION VECTOR RHO OF THE POINT ON THE INSTANTANEOUS
e -SCREW AXIS LYING CLOSEST TO THE ORIGIN.
e 2.- THE SPIN. THIS VARIABLE IS LABELED 'SPIN",
e 3.- THE SLIDING SPEED. I,E THE PROJECTION OF THE VELOCITY FIELD
C ON THE AXIS OF THE INSTANTANEOUS SCREW. THIS VARIABLE IS
r LABELED ·SPEED".
C SUBSIDIARY SUBROUTINES:
r EXeHGECA,B) -EXCHANGES FIELDS A AND B.
C CROSSCU.V.W)-COMPUTES THE CROSS PRODUCT OF VECTOR U TIMES
C VECTOR V, IN THIS ORDER. AND STORES THE PRODUCT
r IN VECTOR W.
C SCALCU.V,S) -COMPUTES THE SCALAR PRODUCT OF VECTORS U AND
C V AND STORES THE PRODUCT IN THE SCALAR S,
C
REAL A(3).B(3),CC3),VA(3),VBC3),VCC3),RHOC3),SPINC3).AUC3),BUCl),
CU(3)
LOGICAL LO(3)
COMMON ZERO
C
C IT IS VERIFIED WHETHER THE GIVEN POINTS ARE COLLINEAR. IF
C THEY ARE, ZERO IS SET EQUAL TO -1 AND SUBROUTINE RETURNS
C TO MAIN PROGRAM. DIFFERENCE VECTORS ARE TEMPORARILY STORED
C IN THE SPIN AND RHO FIELDS.
C
DO 10 1=1,3
SPINCI)=ACI)-C(I)
10 RHOCI)=BCI)-CCI)
CALL CROSS(SPIN,RHO,CU)
CALL SCALCCU,CU,S)
S=SQRfCS)
IFCS.GT.ZERO) GO TO 30
ZERO=-l
WRITEC6,1000)
RETURN
C
C DONE
C COMPATIBILITY IS VERIFIED. IF THIS IS NOT MET, ZERO IS
C SET EQUAL TO -2.,-3.,-4., DEPENDING UPON WHETHER DISTANCE
r AC, BC OR AB HAS A NONZERO TIME RATE OF CHANGE.
C
*
Fig. 2.9.2 Listing of SUBROUTINE INSCRU (first part)
1~
$
30 CALL SCALeVA,SPIN,SA)
CALL SCALeVC,SPIN,SC)
IFeABSeSA-SC).LE.ZERO) GO TO 40
ZERO=-2.
WRITEe6.1010)
RETURN
40 CALL SCALeVB,RHO,SB)
CALL SCALeVC,RHO,SC)
IFeABS(SB-SC).LE.ZERO) GO TO 50
ZERO=-3.
WRITEe6.1020)
RETURN
50 DO 60 1=1.3
60 AUeI)=BeI)-AeI)
CALL SCALeVA,AU,SA)
CALL SCALeVB,AU,SB)
IFeABS(SA-SB).LE.ZERO) GO TO 70
ZERO=-4.
WRITE(6.1030)
RETURN
C
C DONE
C NUMBER OF VANISHING-VELOCITY VECTORS IS DETERMINED AND
C STORED IN NUZE. DISPLACEMENT MAGNITUDES ARE TEMPORARILY
r STORED IN AU. IF NUZE.EQ.O, THEN NUZE IS SET EQUAL TO 4.
r
70 CALL SCALeVA,VA,AU(l»
CALL SCALeVB,VB,AU(2»
CALL SCALevc,vc.AU(3»
NUZE=O
DO 80 1=1.3
Loel'=.FALSE.
AUCI)=SQRT(AUCI»
IFCAUCI).GT.ZERO) GO TO 80
NUZE=NUZE+l
LoeI'=.TRUE.
80 CONTINUE
WRITEC6.1040lNUZE
IFCNUZE.EQ.O) NUZE=4
r
C DONE
C EACH CASE CNUZE=I,2,3,0) IS NOW INVESTIGATED. PARALLELISM AND
C EQUALITY OF VECTORS ARE THEN VERIFIED.
C
GO TO(100,200,300.400l,NUZE
c
C IF ONE, AND ONLY ONE VELOCITY VECTOR VANISHES, THE
C SUBROUTINE INVESTIGATES WHETHER THE REMAINING ONES ARE
C PARALLEL OR NOT.
C
*
Fig. 2.9.2 Listing of SUBROUTINE INSCRU (second part)
145
$
100 DO 101 1=1,3
IFeLOeI» IN=I
101 CONTINUE
GO TO CI10,120,130),IN
110 CALL EXCHGEeVA,VC)
SALL EXCHGECA,C)
GO TO 130
120 CALL EXCHGEeVB,VC)
CALL EXCHGECB,C)
130 CALL CRosseVA,VB,AU)
CALL SCALCAU,AU,S)
S=SQRT(S)
DO 140 1=1,3
AU(I)=VA(I)
BU(I)=VBCI)
140 RHO(I)=B(I)-CCI)
r
C THE FORMULA TO COMPUTE THE DIRECTION OF THE SCREW AXIS IS
C CHOSEN DEPENDING UPON WHETHER THE TWO NONVANISHING VECTORS
C ARE PARALLEL OR NOT.
C
IF(S.GT.ZERO) GO TO 150
WRITE(6,1050)
GO TO 500
150 WRITE(6,1060)
GO oro 600
c
C IF EXACTLY TWO VECTORS VANISH, IN IS SET EQUAL TO 1,2 OR 3
e DEPENDING UPON WHETHER VA,VB OR ve, RESPECTIVELY, IS THE
C NONVANISHING VECTOR.
C
200 DO 202 1=1,3
IFCLO(I» GO TO 202
IN=I
202 CONTINUE
C
C ALL VECTORS ARE RELABELLED SO THAT THE NONVANISHING
C VELOCITY VECTOR IS STORED IN VC.
e
GO TO(210,220,230),IN
210 CALL EXCHGEeA,C)
CALL EXCHGECVA,VC)
GO TO 230
220 CALL EXCHGE(B,C)
CALL EXCHGEeVB,VC)
r
C VA-VC AND VB-VC ARE STORED IN AU AND BU RESPECTIVELY.
C
230 DO 240 1=1,3
AUeI)=VAeI)-VCeI)
*
Fig. 2.9.2 Listing of SUBROUTINE INSCRU (third part)
1~
240 •
BUeI)=VBeI)-VCCI)
GO TO 500
C
r IF ALL THREE VELOCITIES VANISH. A MESSAGE IS WRITTEN AND INSCRU
C RETURNS TO THE MAIN PROGRAM.
C
300 WRITE(6.1070)
ZERO=-5
RETURN
C
C DONE
C ONE, TWO AND THREE-VANISHING-VELOCITY CASES WERE AI_READY DEALT
C WITH. NO-VANISHING DISPLACEMENT CASE IS NOW INVESTIGATED. FIRST
C IT IS INVESTIGATED WHETHER THE GIVEN VECTORS ARE COPLANAR AND
C IF SO, WHETHER THEIR DIFFERENCES ARE PARALLEL.
C
400 CALL CROSS(VA,VB.CU)
CALL SCALevc.CU,S11
C
C VA-VC AND VB-VC ARE STORED IN AU AND BU RESPECTIVELY.
C
DO 402 1=1,3
AUeI)=VAeI)-VCCI)
402 BU(II=VBeII-VCCI)
CALL CROSS(AU,BU,CU)
CALL SCALeCU,CU,S2)
S2=SQRTCS2)
IND=l
IFCABSCS1).LT.ZERO)IND=IND+l
IFCS2.LT.ZEROIIND=IND+l
GO TO (410,420,4301,IND
410 WRITEC6,1080)
GO TO 600
420 WRITE(6,1090)
GO TO 600
C
C IF VECTORS ARE COPLANAR AND DIFERENCES ARE PARALLEL, INVESTIGATES
C WHETHER THE MOTION IS A PURE TRANSLATION.
C
430 CALL SCALCAU,AU,VA2)
CALL SCALeBU,BU,VB2)
VA2=SQRTeVA2)
VB2=SQRT(VB2)
IFeVA2.LE.ZERO.AND.VB2.LE.ZERO) GO TO 700
WRITE(6,1100)
c
C COMPUTES VECTOR SPIN. FIRST THE SCALAR FACTOR ALFA IS COMPUTED.
C
500 DO 502 1=1,3
RHOeI)=B(I)-CeI)
*
Fig. 2.9.2 Listing of SUBROUTINE INSCRU (fourth part)
147
502 •
SPINCI)=ACI)-CCI)
CALL SCALCAU,AU,VA2)
CALL CROSSCRHO,SPIN,CU)
CALL SCALCCU,CU,ABC)
VA2=SQRTCVA2)
ABC=SQRT(ABC)
ALFA=VA2/ABC
CALL SCALCAU,CU,SG)
IFCSG.LT.O)ALFA=-ALFA
c
C DONE
C THE SCALAR FACTOR BETA IS COMPUTED
C
CALL SCALCBU,BU,SB)
CALL SCALCAU,AU,SA)
CALL SCAL(AU,BU,SAB)
SB=SQRT(SB)
SA=SQRT(SA)
BETA-SB/SA
IFCSAB.LT.O)BETA=-BETA
c
C DONE
c
DO 504 1=1,3
SPINCI)=RHOCI)-BETA*SPIN(I)
504 SPINCI)=SPIN(I)*ALFA
C
C DONE
C RHO AND SPIN ARE NEXT COMPUTED
C
GO TO 610
600 CALL CROSSCAU,BU,CU)
CALL SCALCAU,RHO,DEN)
DO 602 1=1,3
602 SPINCI)=CUCI)/DEN
610 CALL SCAL(SPIN,SPIN,W2)
CALL SCALCSPIN,A,COFW)
CALL CROSSCSPIN,VA,RHO)
DO 612 1-1,3
612 RHOCI)=ACI)t(RHO(I)-COFW*SPINCI»/W2
CALL SCALCVA,SPIN,SPEED)
W2=SQRTCW2)
SPEED-SPEED/W2
c
C DONE
C
RETURN
700 WRITEC6,1110)CVACI),I=I,3)
ZERO=-6
RETURN
*
Fig. 2.9.2 Listing of SUBROUTINE INSCRU (fifth part)
148
~~
lOOO FORMAT(5X,'POINTS ARE COLINEAR. MOTION IS UNDEFINED'I)
1010 FORMAT(5X,'MOTION IS NOT RIGID. LENGTH AC DOES NOT REMAIN',
, CONSH~NT' I)
:1.020 FORMAT(5X,'MOTION IS NOT RIGID. LENGTH BC DOES NOT REMAIN',
, CONSTANT'/)
l03() FORMAT(5X,'M0110N IS NOT RIGID. LENGTH AB DOES NOT REMAIN',
, CONSTANT'/)
:1.040 FORMAT(SX,'NUMBER OF VANISHING VELOCITIES IS :',15/)
:l.0~)() FORMAT(5X,'VELOCITIES ARE PARALLEL'/)
lO/,O FORMAT(5X,'VELOCITIES ARE NONPARALLEL'I)
lO/v FORMAT(5X,'NO MOTION. ALL THREE VELOCITY VECTORS ARE ZERO'I)
lOBO FORMAT(5X, 'VELOCITIES ARE NONCOPLANAR'I)
:1.0'10 FORMAT(5X, 'VELOCITIES ARE COPLANAR AND DIFFERENCES ARE NON',
'PAF~ALl.. El. ' I)
:1.1.00 FORMAT(5X,'VEl.OCITIES ARE COPLANAR AND DIFERENCES ARE "
'PARAl.LEl.'I)
:1.110 FORMAT(5X,'MOTION IS PURE TRANSl.ATION'/5X,'THE VEl.OCITIES
'HAVE THE FOLLOWING X-,Y- AND Z- COORDINATES:'I
3(5X,F12.5)1)
END
*
Fig. 2.9.2 Listing of SUBROUTINE INSCRU (sixth and last part)
149
Some results concerning the velocity field in a rigid body in motion are
now obtained, the main result of this section being the Aronhold-Kennedy
THEOREM 2. 10.1 The. ve.loc.J.;U.e.f., 06 :two po-in-t6 06 a lLig-id body have. -ide.n;t[c.a£
c.ompone.n-t6 a£ong the. t£ne. c.onne.c.t-ing them.
Proof:
Let a and 9 be the position vectors of two points, A and B, of a rigid body
(1')-a) • (b-a) =0
or, alternatively,
(2.10.2)
in such a way that vertex C remains on the Z-axis, while vertex A remains
on the X-axis and side AB remains on the X-Y plane. Vertex C has a velocity
~c=-5~zm/sec.
iii) Locate the instant aneous screw axis of the motion of the plate, and
."..~B~_ _ _.....~y
/te6uLUng ~htee in6.taM .6C1tW a.Xe6 ha.ve one COJrnlon noJtma.l iMeMec:ti.ng all
~htee a.Xe6.
Proof:
Referring to Fig 2.10.2 let SB and Sc be the instant aneous screw axes of bodies
SC' joining both axes. It will be shown that the third instant screw axis,
v~p-~ , v~PB and v~pc be the velocities of each of these points. Furthermore,
B*
~B
.. - W
-B
Fig. 2.10.2 Instantaneous screws of two bodies in
motion with respect to a third one.
Thus,
Y=YpB-YpC=
= (YB+gB;)-(YC+gc(;-£»)= (2.10.3) *
=YB/C+gB/C!+gc£
It is next shown that, if P is a point of the relative instant aneous screw axis
SB/C' then it lies on the line defined by points B* and C*. This is done
(2.10. Sa)
one obtains
from which,
two shafts required to be coupled. These axes are shown in Fig 2.10.3.
153
z .....- - - d - - -........;j
iL
2
In order to have the most efficient coupling, it is required that this takes
From Theorem 2.10.2, that set of points constitutes line L 3 , normal to the
from the minimum condition on the relative velocity magnitude. Let ~Ql
154
and v 2 be the velocities of points Q1 and Q2, with respect to the fixed
-Q
axes X, Y, Z.
Thus,
v =aw e (2.10.7a)
-Q1 1-z
v = (d-a)w e (2.10.7b)
-Q2 2_x
W2=mw1 (2.10.8)
Next the quadratic form ¢ (a), obtained squaring the relative velocity
magnitude, is minimized.
¢(a)=(v -v ). (v -v )=
-Q2 -Q1 -Q2 -Q1
¢' 2( 2
(a)=w 1 -2m (d-a)+2a)=0 (2.10.10)
Thus
cosa.~--- (2.10.12)
summarizing, the pitch surface (on 1) is a ruled surface whose elements are
lines a distance a form the X axis, making an angle a with this axis.
155
COlloUMy 2. 10. 2 G..Lve.n thlle.e. Jt..tg..Ld bod..tel.> ..Ln moUo n, A, Band C, :the.Jte. e.w:tJ.,
an ..L/U):tan:ta.ne.ow., aw 06 pWte. Ilo:ta:t..ton (..L . a.p.Il . ) 06 B wilh Ilel.>pe.c.:t to C
..L6, and only ..L6, the.Jte. e.wt La'l.>.p.ll. 06 both Band C w..t:th Ilel.>pe.c.:t to A
and :thel.>e. ..Ln:teJL6e.c.:t, :the. ..L. a.p.ll. 06 B wilh Ilel.>pe.c.t to C paM..Lng thllough
the. I.>a..td ..Ln:teJL6e.c.:t..ton. FWt:the.JtmOlle., aU thlle.e. axel.> Me. c.opi.a.nM.
IExercise 2.10 . 4 Prove Corollary 2.10.2.
the shaft rotates about its axis, S rolls on R at both of its poi nts of
Determine b
R C
* Taken from: Kane, T.R.,
Dynamics,
Dr. Thomas Kane 8
8 - _ - + _J '-----L-_ __
817 Lathrop Drive
Stanford, CA - 94305
156
Solution:
From Corollary 2.10.2, if all C, Sand R move with pure rolling rel~tive
motion, then the i.a's.p.r. all coincide at one common point. Clearly, the
contact point (between C and S), whereas the i.a.p.r. of C with respect to
through o.
Now, two points of this axis are already known, namely, the two points of
I'" b
I
----''i~. r...,
Fig 2.10.5 Instantaneous axes of pure rotation of
bodies C, Sand R of Fig 2.10.4.
From Fig 2.10.5 it is clear that axis SSR makes a 45° angle with axis SCR.
plane geometry,
157
(2.10.13)
-2
OT (2.10.14)
But
and
Hence,
-2
OT 2r 2 (1+sin6)+2br(1+sin6-cos6)+2b 2 (2.10.16)
Also,
I2b (2.10.17a)
OP 2 (2.10.17b)
yields
r(1+sin6)+b(sin6-cos6)=0
from which,
COlLoilaJLtj 2. J 0.3 (ThJr.e.e. c.e.n;te.IL The.OILem). In. pi.an.e. motion. :the. :thJr.e.e. ~1U;tan.~
ne.oU6 axe;., (ce.n;teJL6 bl ;tw c.on;te.x:t) 06 :thlLe.e. ~g~d bo~e.6 ~n. motion. Ue. on. a
Un.e. (2. 10)
It was shown in Section 2.7 that the velocity of a point of a rigid body
~(t)=~(t)y(t) (2.11.1)
158
The acceleration a(~) of the said point is now obtained differentiating both
~(t)=9(t)K(t)+~(t)~(t)
acceleration , ~2(t)y(~), the former being tangential and the latter being
I_Ex_e_r_c_i_s_e_2_._1_1_._1 Show that ~ (t)I tt) and ~2 (t)y (t) are, respectively,
There is one implicit fact in the above result, namely, in the square matrix
vector space, one scalar product (See Section 1.7) can be defined as Tr(AB T ),
In this context, matrices 9(t) and 9 2 (t) are orthogonal, i.e., its scalar
product vanishes.
• 2
IExercise 2.11.2 Show that Tr(~9 )=0
(2.11.3)
Consider now the most general case of rigid-body motion, in which none of
(2.12.1)
where yp(t) and v (t) are the position vector and the velocity, both known,
- -p
of a given point p of the rigid body. The acceleration of a general point,
(2.12.2)
(2.12.3)
(2.12.4)
which, except for the term ~p(t), is identical to eq. (2.11.2), with
to P is clearly given as
component.
~ (y)=a Ta t2.j2.6)
160
( oa JT
_ = 2 - Cly-a
<P' (y) (2.12.7)
(2.12.8)
(2.12.9)
• 2
i.e. the minimum-magnitude acceleration is in the null space of rl+rl .
If both ~ and S/ have the same null space, then that minimum-magnitude
acceleration lies in that space. Since both ~ and rl are skew symmetric,
vectors w and ~ lying in their null space, can be defined in such a way
(2.12.10)
Hence it becomes clear that for ~ and rl to have the same null space, ~ and
(prove it) and hence, for rl and rl 2 to have the same null space, ~ and W
should be parallel. A simple case for which Q and rl 2 have the same null
space is that for which the rotation axis, ~, has a constant direction.
rle=O (2.12.11)
for all time t. Differentiating the latter expresion with respect to time
yields
But, since the magnitude of e is unity and its direction is constant, e=O
(2.12.12)
161
or
(2.12.13)
2
which has a unique solution if ~ and ~ do not have a common null space,
for then, the sum of them becomes of full rank, i.e. in that case
• 2
rank(~+~ )=3, and hence this sum is nonsigular. In this case, then, one
single point of the body, located by the position vector ~O' has a zero
vector is given as
• 2-1
Y =y - W+rl) a (2.12.14)
_0 _p - - -p
rotate freely about .axis EE', this axis being normal to the plane of
motion of OA. A rigid wheel is coupled to OA at A in such a way that the wheel
can rotate freely about axis FF' passing though A; this axis is perpendicular
to both OA and EE'. If OA rotates at a constant rate p and the wheel rotates
about FF' at a constant rate q, show that the point of the disk on OA, a
2
d=
--L-
2 2 b
P +q
~p
,
,,
COR,I,OLIS' THEORE~T
In Section 2.18 it was shown that the velocity (v)* of a moving point,
-'F
(2.13.11
where Q and ~ are the rotation and the angular velocity matrices, respec-
The accelaration, (~)F' of the moving point, in the fixed observer, is now
(2.13.2)
where
(2.13.3)
But
(2.13.4)
Hence
(2.13.5)
But
and, similarly,
* All vectors and matrices appearing in this section are functions of time,
but for simplicity the argument (t) has been dropped.
164
and hence,
substituting the two latter expressions into eq. (2.13.6) one obtains
2 ~
observer. The first two terms of eq. (2.13.7) are identical to the right
hand side of eq. (2.12.4) with y-y substituted for ~; hence, the two said
- -p -
coincident with the moving point under study, at a particular time. The
third term stands for the acceleration of the moving point, as measured by
the moving observer, and the fourth term is an acceleration term arising
from the rotation of the moving observer, as is apparent from eq. (2.13.7);
Hint: Two points, B2 and B3, coincide at B. Find the acceleration of B3 via
.JU-_ _ 4
REF ERE N C E S
2.1 Euler L., "Du movement de rotation des corps solides autour d'un
axe variable", Memoirs de l'.Academie de Sciences de Berlin (15),
1759, pp. 210-240
2.3. Rodrigues 0., "Des lois geometriques qui regissent les deplacements
d'un systeme solide dans l'espace, et de la variation des coordonnees
provenant de ces deplacements consideres independamment des causes
qui peuvent les produire", Journal de Mathematiques Pures et .Appliquees,
vol. 5, 1st Series, 1840, pp. 380-440
2.4 Bisshop K.E., "Rodrigues' formula and the screw matrix" Journal of
Engineering for Industry, Trans • .ASME, Series B, vol. 91, February
1969.
2.9 Kane T.R., Dynamics, Holt, Rinehart and Winston, Inc., N. York, 1968,
p. 66.
2.12 Coriolis G., "Memoire sur les equations du mouvement relatif des
systbmes des corps", J. Ecole Poly technique, 15, cahier 24, 1835,
pp. 142-154.
3. Generalities on Lower-Pair Kinematic Chains
3.1 INTRODUCTION
Closed kinematic chains are referred to as linkages, whereas open ones are
called manipulators. Linkages have been the main object of study within the
modern Theory of Machines and Mechanisms for over a century [3. 1J ' though
it seems that linka~es appeared in the 13th century. They are comprised
within a wider class of mechanical devices known as mechanisms. A widely
accepted definition of mechanism is [3. 2J: "an assemblage of rigid or
resistant bodies connected together for the purpose of transforming motion".
elements are rigid bodies, the pair can oe either one ot two kinds: il lower
pair or ii) upper pair. A lower pair exists when one element is coupled to
the other via a wrapping action and contact takes place along a surface. If
contact takes place along a line or a point, the resulting coupling is
referred to as an upper pair.
All possible lower pairs can be put into one of six different types, namely,
i) Revolute (R), ii) Prismatic (P), iii) Screw (H), iv) Cylindric (C),
v) Spheric (S) and vi) planar (E), physical models of which are shown in
Fig 3.4.1, their kinematic models appearing in Fig 3.4.2.
The revolute pair only allows rotation about one axis, therefore imposing
five constraints: prevention of translation along three directions and of
rotation about two axes.
The prismatic pair only allows translation along one direction, also imposing
five constraints: prevention of translation along two directions and of
rotation about three axes.
The screw pair allows translation along one direction and rotation about
the same direction, both being related. Thus, five constraints are also
169
On the other hand, the set of relative motions allowed by the prismatic
pair is that of tran~lations along a direction parallel to the unit vector
e, which clearly constitute a subgroup. This is in turn a subgroup of the
group of pure translations, i.e. along three non coplanar directions. The
subgroup associated with the prismatic pair is thus characterised by the
unit vector e and is hence represented by g (e).
P -
170
x
y
b) Prismatic
a) Revolute
z
2
c) Screw d) Cylindric
e) Spheric f) Planar
b) Prismatic
)
~
e=px
c) Screw
/.Je
d) Cylindric
f) planar
e) Spheric
The screw pair allows a relative motion of a rotation about an axis passing
through point A and parallel to the unit vector .,..
e l plus a translation along
a direction parallel to vector e. Both the rotation and the translation are
not independent, however, for they are related by the pitch p of the screw.
The corresponding subgroup, hence, is characterised by point A, the pitch p
and vector =, its representation thus being gH(A,P'~)'
The spherical pair defines a set of relative motions that constitutes the
subgroup of rotations about a given point A. Hence, this subgroup is
characterised by point A, its representation being gS(A). Clearly
The planar pair defines a set of relative motions that constitute the
subgroup of motions lying in a plane perpendicular to the unit vector e.
Hence, its representation is 9E (:).Clearly
The reader can verify that all of the foregoing defined sets actually
constitute subgroups, by recalling the definitions introduced in Section
2.4.
9 H (A,q,~)C9c(A,:).
They will become clearer in the following discussion, which requires some
previous definitions.
sented as
Subgroups of gr that are not associated with one of the lower pairs already
defined are the following:
The ~den.t{;tlj .tIta.n.6 fiolUn<Lti.on 1.., leaving all points of space unchanged. One
can think of two links coupled by a pair corresponding to 1.. if the coupling
is rigid.
:1 and ~2'
and :2'
where each L(k,k+1) is actually the pair connecting bodies k and k+1.
Since to each liaison L(k,k+1)there
, corresponds a kinematic lower pair,and
each of these 1S associated with a subgroup, def1'n1't1'on
(3.4.1) must be
actually interpreted as a product of subgroups, ,
1.e. as
175
associated kinematic
Group dimension lower pair
1.. 0 rigid
9 R (A,e)
_ 1 revolute (R)
9 H (A,p,e)
_ 1 screw (H)
gT(:1':2) 2 none
9 X (e)
_ 4 none
gr 6 none
176
{L ( 1 , i) } = {L ( 1 , 2) } • {L (2 , 3) }. ... {L (i -1 , i) }
The product of any two subgroups of Table 3.4.1 is a subset of gr endowed with
the properties of the two given subgroups. Thus, the product of gp(~) and
gR(A,~) is gC(A,~), a subgroup of that table. In general, however, that product
need not be in turn a subgroup.
Example 3.4.1. Assuming L (1,2), L (2,3) and L C3, 4) are identical to revolute
pairs of parallel axes, then {L(1,2)}.{L(2,3)}.{L(3,4)}equals gE(~)' ~
being parallel to the given revolute axes.
If links i,j and k of a kinematic chain are coupled so that i and j are
coupled through L(i,j) and j and k, through L(j,k), the arising liaison
L(i,k) can be obtained, according to Section 6.4, as
The dimension of the composed liaison is related to that of the single ones
as
dim {L (i, k) }=dim {L (i, j) }+dim {L (j, k) }-dim {(Li, j) } fl{L (j ,k) } (3.5.2)
If the groups {L(i,j)}and{L(j,k)} are such that their only common transfor-
mation is the identity, they are said to be independent. One then has
{L (i, j) } fl {L (j , k) } =--t
177
e A
.........- - --o-------.-------r---Hl-f-H+---
i
j
In that chain,
Hence
dim {L(.i,k)}=2+1-1=2
The foregoing example makes it clear that it may happen that the dimension
of a kinematic chain composed of n links, dim {L(1,n)},does not equal the
n-1
sum of the dimensions of its liaisons, E {L(.i,i+1)}. This difference is,
1
therefore, an integer m that can be different from O. One then has
n-1
m _ E dim {L(i, i+1)} - dim {L(l,n)} (3.5.3)
1
178
n
F=d(n-j)-L r i (3.5.4)
1
F F - m
a
Example 3.5.2. Consider the HHHRRH linkage of Fig 3.5.2, whose 4 screws
have distinct pitches.
2----~
~~==~~L-~~6
o C
First of all, it will be decided whether the linkage contains passive or idle
degrees of freedom. To this end, only the liaison L(1,5) will be investigated,
for it is clear that L(5,6) and L(6,1) are independent, i.e.
{L(5,6)} {L6,1)}=i
L ( 1 , 5) = L ( 1 ,3). L ( 3, 5)
where
L ( 1 ,3) =L ( 1 ,2) • L (2 , 3)
Now,
and
Also,
L(3,5)=L(3,4) .L(4,5)
where
and
{L (4, 5) }=g R (B, u
_')
{L(3,5)}=g (B,u')
c -
NOW,
181
dim 9 (B-u'l=l
R N
Thus,
dim {L (1,5) }=3
4
However
Edim {L (i, i+1) }=4
1
Thus
m 4 - 3
thereby showing that the liaison L(1,5) contains one passive degree of
freedom. Moreover, the liaison l(5,1) cannot contain extra passive degrees
of freedom. Thus, the linkage contains one passive degree of freedom. In
order to find the degree of freedom of the linkage, the group 9 of minimum
dimension d, containing the subgroups of all pairs is now determined. This
is done analysing the open chain l(1,6).
182
Furthermore, fi=1 for each pair of the linkage. Hence, r i =4-1=3, for each
pair. Substituting these values into formula (3.5.4), one has
F=4(6-1)-6x3=2
F = 2 - 1 =1
a
In this linkage the directions 0, 0' and Oil of the prismatic pairs were
chosen coplanar. Hence, all links translate, without rotating, in the
plane defined by these directions. Hence, g=gT':1':2) ,as given in Table
3.4.1. Here, vectors ~1'~2 are parallel to the aforementioned plane.
Thus,
dim 9 =2
Furthermore, f i =1,for i=1,2,3 and hence, r i =1, for i=1,2,3. The degree of
183
Moreover, since all pairs generate independent groups, the linkage contains no
idle degrees of freedom and hence, F=l is its actual degree of freedom.
yu'
This linkage is exceptional and thus, its degree of freedom cannot be found
with the aid of formula (3.5.4). The said degree of freedom is still 1, for the
rotational degrees of freedom introduced by the cylindrical pairs are not
active. In fact, if A, Band C denote arbitrary points lying on the axes of the
pairs associated with vectors g, g' and g", respectively, one has
gR(A,~) figT(~'~') ,£
gR(B,g')fi gT(g,g') ,£
(Cu")fig(uu')
g R'~ T ~,~ ,£
i.e. each rotation is independent of the plane translation generated by the
translations along vectors g and y'.
184
-+r!:---t-I_ 2---111111 1 2
x
y 1
c) RHRRR linkage with the axes d) RRHHR linkage with the axes
of pairs R12 , R23 and R34 of R12 , R23 ahd RS1 parallel.
being parallel, that of RS1
being perpendicular to them.
Broadly speaking, there are two kinds of problems in The Theory of Machines
and Mechanisms regarding lower-pair mechanisms or linkages, namely,
i) analysis
and
ii) synthesis
In the ~ourth c~se, the output can co~respond to the ~ctual mechanism if it
is ~ccessible fo~ m~s~ements or ,if it is not, then to its
physical model. An exqmple of the latter arises in the case of trying to
measure joint motions' in a living being, as: is recorded in [3.8J where
an experiment was made to me~sure rotations of the human subtalar and ankle-
joint complex through the rotations of its physical model, an RRRR spherical
linkage.
i) Function generation
ii) Rigid-body guidance
iii) Path generation
In any case, the term finite is associated with the synthesis problem if the
data are finitely separated. Otherwise, the synthesis problem is said to
be of an infinitesimal character, as would be the case when trying to
satisfy conditions imposed on velocities or on acelerations. The analysis
problem is discussed in Chapter 4, whereas the three synthesis problems,
both exact and approximate, are discussed in Chapters 5 and 6, respectively.
188
References
3.2 Hartenberg R.S. and Denavit J., Kinematic Synthesis of Linkages, Mc Graw-
Hill Book Co., New York, 1964, p. 28.
3.3. Synge J.L., "Classical Dynamics", in Fliigge S., editor, Handbuch der Physik,
Vol. 111/1, Springer-Verlag, Berlin, 1960, pp. 38-43.
3.4 Herve J. M., "Analyse structurelle des mecanismes par groupes de deplacements
Mechanism and Machine Theory, Vol. 13, 1978, pp. 437-450.
3.5 Bennet G.T.,"A new mechanism", Engineering, Vol. 76, 1903, pp. 777-778.
3.6 Hartenberg R.S. and Denavit J., op. cit., pp. 169-176.
3.8 Wright D.G., S.M. Desai and W.H. Henderson, "Action of the subtalar and
ankle-joint complex during the stance phase of walking", The J. of Bone
and Joint Surgery, Vol. 46-A, No 2, March 1964, pp. 361-382 and 464.
However, these are usually ad hoc methods and become cumbersome in many
instances. The main aim of this chapter is to establish the methods required
to obtain a (usually implicit) relationship between the input and the output
can be expressed as
(4.2.1 )
where e12 and ~12 are the translation vector and the rotation matrix, from
axes 1 to axes 2. Eq. (4.2.1) indicates the general form of an affine trans
(4.2.2)
defined as
(4.2.3)
(4.2.4)
(4.2.5)
(4.2.6)
Hence
(4.2.7)
(4.2.7a)
operator.
191
connecting the origin 01 to the origin 03 equals the sum Of that connecting
(4.2,8)
-
(x) 0= (Too)· 0 (x) 0
~ -~~ ~ - ~
(4 • 2 . 9 )
Clearly, its vector, ~ii' is the zero vector, and its matrix, ~ii' is the
group under the composition previously noted, all that remains to be estab-
-1
lished is the existence of an inverse transformation, !ij such that
and
(4.2.11)
Thus
and
(4.2.13b)
192
Hence
(4.2.14a)
and
(a-)1
.. ).) =- (Q .. ) ~ (a .. ) .
-1) 1 -1) 1
(4.2.14b)
Assuming that expressions similar to (4.2.7) and (4.2.8) hold for k trans-
formations, i t will be shown that they hold also for k+1, thereby obtaining
(4.2.15)
(4.2.16)
Then,
and
n-1
(a-1 n ) 1= 1: (a. . )
-1 1+1 1
(4.2.17)
1 '
and
(4.2.18)
which are useful relationships because they enable the analyst, first, to
and (Q)
~li 1
can be obtained from (4.2.18) with n=i. The method of Denavit
(4.2.19)
or, equivalently,
(4.2.20)
together with
(4.2.21)
(4.2.22)
if the pair is H or C.
iv) the direction of the normal to the plane of contact if the pair is E.
Only if the pair is spheric no single axis can be defined. In this case,
there is freedom to choose the axis of the pair and so, the analyst can
TO implement the MDH, number the links successively 1,2, ••• ,n. Then
a) Let Zl be the axis of the pair coupling the first link (the fixed one)
'94
with the second one (the driving or input link), in such a way that the
to Zi
f) Let u i be the angle between Zi and Zi+1' measured along the positive
direction of Xi + 1
g) Let 9i be the angle between Xi and xi +1 ' measured along the positive
direction of Z .•
~
(Q ..
-~,~+
1)"
.~
as is described next.
i) Apply the closure conditions (4.2.20) and (4.2.21) and from them obtain
The relationship between coordinate systems i and i+1 is shown in Fig 4.2.',
z. ~
~~------- Y.
~
\
\
\
X.
~
\
Xi+l
where Xi, Yi, zi are the original axes Xi' Y i , Zi after the said rotation,
z.
~
z~
~
...... ...... Y~
~
8.
~
Y.
~
\
\
Xi \
Xi (=Xi+l)
Fig 4.2.3 ~tation through an angle ei about axis Zi.
196
cosS..~
-sinS. 0
~
(Q-~~
.. ).=
f
~
sine.
~
cosS.
~
0 (4.2.23)
0 0
and Zi+l. Hence, Yi and Zi can be made coincident with Yi + 1 and Zi+1 by
o 0
o sina. cosa.
Z'. ~ ~
\ 1
U.
\ 1
U.
1
~~------~~------- y~
1
Xi (=Xi+l)
(4.2.25)
{~i,i+1},i. sine.
1.
cosS.cosa.
1. 1.
-cose.sina.
1. 1.
(4.2.26)
0 sina. cosa.
1. 1.
(4.2.27)
with
(4.2.28)
and
(a~;L,;L+;L
. . 1}.=(a.cos6.
;L
,a.sin6.;L;L
;L;L
,s.}T (4.2.30)
condition (4.2.19).
apply both closure conditions (4.2.20) and (4.2.21) arising from (4.2.19),
(or Hooke's) joint appears in Fig 4.2.6, where the DH notation has been
Since all coordinate axes involved in this linkage have a common origin,
appearing in the present analysis are constructed from the fact that, in
this case,
one obtains
Thus,
On the other hand, from (4.2.26) and noticing that, for i:=n, i+'=1,
0 sa. 4 ca. 4
(~14) 1:=(~41)!
Hence,
c8 4 sa 4 0
s8 4 s a. 4 -c 84sa.4 ca. 4
200
sin61sin82=cos84cos~4 (4.2.33b)
(4.2.34)
in Fig 4.2.7, where the DH notation has also been used. The parameters and
a, a1 a2 a2 a3 2:. a4 = -
'IT
2 2
8, -¢ 82 62 83 83 84 84
a, = a a2 b a3 0 a4 0
s, = c s2 = 0 s3 = 0 s4 -s
For the analysis of this linkage, only the closure condition of the trans la-
tion vectors will be needed. Since these vectors, as given by eq. (4.2.30),
c¢ s¢ca, -s¢sa,
0 sa, cal
C8 2 -s8 2 c a 2 s62s~2
s6 2 c6 2 c a 2 -c6 2 sa 2 (4.2.35bl
(223) 2=
0 sa 2 ca2
201
c6 3 0 -$6 3
(~34} 3 ;= s6 3 0 c6 3 (4.2,35cJ
0 -1 0
c6 4 0 s6 4
(9 41 }4 s6 4 0 -c6 4 (4.2.35dJ
0 0
and
The closure condition on the translation vectors requires that vectors (4.2.36)
(4.2.37)
(4.2.38a)
(4.2.39al
202
(4.2.39b)
system for the corresponding three unknownsa 1(t),6 2 (t) and s(t).
One method to solve the foregoing system is via the Newton-Raphson method,
can be reduced to
12 2 2 2
set) = asin~ + {b - c - a cos ~ (4.2.40)
A table of values for set) was obtained from a digital computer output, for
for a value of ~ constantly equal to 1500 rpm. Similar tables for velocity
Notice that eq. (4.2.40) could have also been obtained from the geometry
In more general instances, however, the geometry is not so simple and the
the output set), set) and sCt) out of eq. (4.2.40), analog computer methods
2 m \
\ ~
\ /
\ /
. 100 200 300 ¢ (degrees)
I /
\ \ I / /
\ \ /
\ I I
\
\ \/I /
\ 1 / s
\ I \ /
----s
\ ',- ./ / "'--/ ----s
s'
Besides these operations, the analog computer is also supplied with function
usually called "a realisation" of the model, because via that representation
set). However, due to the noise present in every physical system, and the
(4.7) .
A digital computer-oriented algorithm, based on an iterative procedure,
and curves cp vs. t, cp vs. t and cp vs. t, for the following values:
207
1
X-4 SIN- ) - sin- 1x x - j COS- 1) - cos- 1 x
Ixl ~ 1 Ixl ~ 1
;=:1 X )-XY
4.3 AN ALTERNATE METHOD OF ANALYSIS. Using the MDH one does not necessarily
obtain one single relationship for the input and the output variables, but
linkage variables which appear strongly coupled, as occurs with eqs. (4.2.39).
If the system is not very complicated, then it can happen that, after intro-
output relationship where the only variables appearing are the input and the
output. If it is not obvious how to obtain the said single relationship, then
Gupta (4.10) has presented a method which does not require all the apparatus
of the MDH and yields a single relationship between the input and the output.
link length or a link angle, throughout the linkage motion. The linkage is
of just four links*: the fixed link, the input link, the coupler link and the
output link. Let A be a point on the input axis; B, a point of the pair
connecting the input and the coupler links; C, a point of the pair connecting
the coupler and the output links; and D, a point of the output axis. Further-
more, let ~O' eO' SO' go and ~,e,S,g, denote the position vectors of the
uration, respectively.
Let also 9 and E be the rotation matrices carrying the input and the output
(4.3.1)
where, clearly
b (4.3.2a)
and
(4.3.2b)
Hence,
which yiels the desired input-output scalar equation which was to be obtained,
II a-0 + ()
1lf
(b-0 - a ) - d
-0 -0
- R (c - d )
- -0 -0
112 = lib- 0-- 0
c 112 (4.3.3)
Equation (4.3.3) contains only two unknowns, the input and the output angles,
thereby showing how one single scalar equation for these two variables can be
obtained. The next example illustrates how to apply this method to spherical
linkages.
The fact that the MDH introduces other variables besides the input and the
Let ~O' ~O' SO' go and ~,p,g,g be the position vectors of points A, B, C
tions. Thus,
(4.3.4)
and
c=Rc (4.3.5)
- --0
Clearly, ~=~O and g=gO· The cosine of a 3 in both the reference and the
current configurations is
(4.3.6a)
and
( cosa ) cur
3 = b Tc (4.3.6b)
and, since II~II = 11~011 and II~II lie-0 II, one obtains
T T
~ ~ = ~o~o (4.3.7)
or, substituting the relations (4.3.4) and (4.3.5) in the above equation,
(4.3.8)
z.1 ,z9
0 0 0 0
(Q)
_ 1. 0 cos1jJ -sin1jJ , (~)o
1 (4.3.9)
0 cos~
-sin~J
0 sin1jJ cos1jJ 0 sincp coscp
212
Hence,
cosa 2 COSCl 4
w
sina 2 sin O sina 4 sincpO
The transformation matrix carrying the i-axis into the o-axes, referred to
cosa 1 -sinal 0
o o
Z.
l
/,h ..-
......"'0 /
/ ).
- _}--BO
/
/ /
,/
--- -
Wo - -
X.
l
(bl
(al
T
The product b T needed in eq. (4,3.8) is next computed
-0 9~ ~o
T T
~o~ ~~o
;=
(g~o I ~ (4.3.12)
which yiedls
(4.3.13)
When eq. (4.3.13) is substituted into eq. (4.3.8) one obtaines the desired
input-output equation
(4.3.13a)
in which ~ and ¢ are measured from the reference values ~o and ¢o'
the plane of the axes of R12 and R41 , instead, then the latter equation
becomes
(4.3.14)
The input-output equation for the universal joint can now be obtained as
C01c~c¢+s~s¢ = 0 (4.3.15)
or
COl
-- + tan~ = 0
tan¢
linkages", i.e, Those whose links are all binary*; but problems arise when
The method of Denavit and Hartenberg, described in section 4.2, can also be
applied to open kinematic chains. An example is next described, showing the
applicati on o~ the method to the analysis of a 3-degree- of-freedom manipulator.
a =90 0 a =0 0 a =QO
1 ' 2 '3
(4.4.1)
(4.4.2a)
(4.4.2b)
(4.4.2c)
Since all vectors in eq. (4.4.1) should be described in the same reference
frame,a change of coordinates should be introduced, namely
(4.4.3a)
(4.4.36)
From eq. (4.2.26) and the particular orientations of the axes of rotations,
o -s8
2
o (4.4.4)
(4.4.5)
Finally, substituting expressions (4.4.2a) and (4.4.5) into eq. (4.4.1) and
recalling that [rJ 1=[x,y,z]T, one has
217
llS81c82+l2(~81c82c83-S81S82Se3)=y (4,4.6b)
lls82+l2(s82C83+c82C83)=Z (4.4.6cl
which are the sought relationships. These involve the angles of rotation of
each revolute pair, 8,,6 2 and 83 and the cartesian coordinates x,y,z, with
respect to frame X1-Y1-Z1' of the point which the manipulator is to position.
For a given manipulator, eqs. (4.4.6) allow to determine the set of values
the three angles of rotation should be given in order to take 04 form its
inital position, the one corresponding to 8,=8 2=8 3=0, i.e. ~cJ,=[ll+l2,0,OJT,
into a prescribed position [J;;J1=[x,y,z]T,
On the other hand, if the problem at hand is one of synthesis, i.e. if the
range of motions of point 04 is prescribed, the derived equations, (4.4.6), can
be used to determine the lengths lj and l2'
218
REF ERE N C E S
4.1 Beggs J.S., Advanced Mechanism, The Macmillan Company, N. York, 1966,
pp. 101-120 and 164-167.
4.3 Denavit J. and R.S. Hartenberg, "A Kinematic notation for lower-pair
mechanisms based on matrices", ASME. J. Appl. Mech., Ser. E., vol. 22,
June 1955
4.6 Timm R.F., "Analog simulation of rigid link mechanisms", ASME J. Eng.
for Ind., Ser. B, vol. 89, No.2, May 1967.
4.8 Uicker J. J., J. Denavit and R.S. Hartenberg, "An iterative method for
the displacement analysis of spatial mechanism", ASME. J. Appl. Mech.,
Ser. E, vol. 31, June 1964.
4.9 Sheth P. N. and J.J. Uicker, "A generalized symbolic notation for
mechanisms", ASME. J. Eng. for Ind., Ser. B, vol. 93, Feb. 1971.
i) funtion generation
errors. Chapter 6 deals with the problem where no p.xact solution can be
pointwise in the whole continuum of values of the input where the function
input values, the number of this set being equal to the number of indepen-
dent design parameters. Thus, the problem of linkage synthesis for function
220
"Given a function f=f(x i ) (i=1.2 •...• n). defined over a discrete set {xi}~'
given discrete set {x.}n of input values". The method to solve this problem
1 1
consits of two stages. namely
topology. and
The first stage is now discussed. In ch. 4 it was shown that the MDH** can
contain other variables than the input and the output. It was also shown
that an alternate method. less complex than that of Denavit and Hartenberg.
guarantees that only the input and the output variables will appear in the
mechanisms. Hence. either method can be applied in the first stage of this
problem. for single-loop linkages. The second stage is carried out by two
input-outout implicit function has been obtained, this function having the
general form
can be solved through eq. (5.2.1). However, the system (5.2.1) is, in
more, the system might have no solution at all. If the system has one or
shown in Section 1.13. This is the first approach to the solution of the
synthesis equations.
Let
q=q(p) (5.2.2)
Aq=b (5.2.3)
(5.2.3) has been obtained, this is introduced into eq. (5.2.2), which is
that the synthesis parameters appear in it very weakly coupled, then the
example.
222
Example 5.2.1 Given the RSSR linkage appearing in Fig 5.2.1, determine
input-output relationship
X.
l
Sl
0
/
/
I
/
/
a4
/ a4
/
/
0
Xo
B s4
whose X-axes coincide with the axes of R12 and R41 respectively, its Z-axes
being parallel to the common normal 01, and define their positive directions
from 0 to I. Finally, the Y-axes form with the previous ones right-hand
X.
l.
B o
Define:
a+b=c+d (5.2.4)
Hence,
- ... - ...
b=c+d-a (5.2.5)
and
(5.2.6)
Let ~j'~j and ~j(j=O,1,2, ..• ,n) be the values attained by vectors ~,~ and
eqs. (5.2.Sa and b) and mUltiplying termwise the resulting equations leads
to
(5.2.7)
(5.2.8a)
(5.2.8b)
(5.2.8c)
where the notation cx, sx has been introduced to represent cosx and sinx,
Furthermore,
(5.2.11a)
(5.2.11b)
Define S as the rotation matrix carrying axes labelled i into those labelled
o. Thus
cosa 4 sina 4 0
•
0
-sin().4 cosa4
0 0
225
and so f-sina.4simp 1
(~)i = (§)i(~)O = a3 l-Cosa.4Sin~ (5.2.13)
cos~
Other terms appearing in eg. (5.2.7), besides those of egs. (5.2.8), can now
2 + 2 2
IIgl12 s1 s4 + 2s,s4cosa. 4 + a 4 (5.2.14a)
cTd.
- -]
a1(s4sina.4sin~j+a4cos~j) (5.2.14b)
T
<:: a. a3(a4cos~j-s1sina.4sin~j) (5.2.14c)
-]
substituting expressions (5.2.8) and (5.2.14) into eg. (5.2.7) one obtains
+ 2a 1 (a4cos~j + s4sina.4sin~j)
- 2a3(a4cos~j - s1sina.4sin~j)
- 2a1a3(cosa.4sin~.sin~.+cos~.cos~.) (5.2.15)
J J J J
~j ~O + p.J (5.2.16a)
a 4 + s4sina.4ta~O
kl (5.2.16b)
a3
s4 si na. 4 -a4tan~O
k2 (5.2.16c)
a3
a4
k3 (5.2.16d)
a1cos~O
s1 sina. 4
k4 (5.2.16e)
a1cos~O
k5 tan~ (5.2.16f)
2 0 2 2 2 2 2
a - a +a +a +s +s +2s 1s4cosa.4
123 4 4
k6 (5.2.16g)
2a1a3cos~O
226
klCOSPj+k2sinpj+k3cOS~j+k4sinWj+
+k5(cos~jsinpj-cosa4sin~jcosPj)+
the nonlinear system (5.2.16) has to be solved for the said parameters.
The equations of this system, though nonlinear, are weakly coupled, for which
by it, the surplus of unknowns thus reducing to one. In fact, the solution
a factor 1/a 2 , i.e. setting a 2 = 1 does not alter the input-output relation-
ship, for this does not depend upon the absolute but upon the relative lengths
i 1 2 3 4 5 6
The arising linear system of equations was solved using subroutines DECOMP
Mohan Rao et al. (S.2) have extended Denavit and Hartenberg's idea up to
the zero location of the input dial, ~o ' as one additional unknown in the
k1C~.+k2s~.+k3c¢.+k4s¢.-k5(ca4c¢.s~.-c~.s¢.)-k6(s¢.c~.ca4-c¢.s~.)+
J J J J JJ JJ JJ JJ
+k7-k8(ca4c¢.c~.+s¢.s~.)=ca4s¢.s~.+c¢.c~.,j=1,2, ••• ,7 (5.2.20)
JJ JJ JJ JJ
where
s1sa4tan~0-a4
k1 (S.2.21a)
a 1 c¢0
a4tan~0+slsa4
k2 (5.2.21b)
a 1c¢0
a 4 +s 4 sa 4 tan¢0
k3 (S.2.21c)
a3c~0
s4sa4-a4tan¢0
k4 (5.2.21d)
a3c~0
k5 tan¢o (S.2.21e)
k6 tan~o (5.2.21f)
228
2 2 222
al-l+a3+a4+s1ts2+2s1s4ca4
k (5.2.21g)
7 2a 1 a 3 cq, OC1jJ0
(5.2.21h)
unknowns. However, the eight k i are not independent, for they are related
by
(5.2.22)
Thus, the synthesis equations comprise the seven equations (5.2.20) plus
k 1 c1jJ.+ k2S1jJ.+k3cq,.+k4sq,.-k5(ca4cq,.s1jJ.-c1jJ.sq,.)-k6(sq,.c1jJ.ca4-cq,.s1jJ.)+
J J J J JJ JJ JJ JJ
~=(kl,k2,···,k7)T
~=(bl,b2,···,b7)T
~=(cl,c2,···,c7)T
where
Ax=b+k c (S.2.20b)
-- ~ ~S-
iv) Solve for ~1 and ~2 from
~1=!:>~2=~
(5.2.23)
vi) Letting A1 and V1 be the 5th and 6th components of ~1' respectively,
(5.2.24)
(5.2.25)
viii) With one real value of k s ' obtain the values of k 1 ,k 2 , ..• ,k 7 from
eq. (5.2.23)
ix) The linkage parameters can now be obtained from eqs. (5.2.21) thus
klc~.+k s~.+k3c~.+k4s~.-k5c~.s~.-k6c~.s~.-k7s~.s~.+kS=C~'C~"
J2J J J JJ JJ JJ JJ
j=1,2, •.. ,S (5.2.27)
which can readily be solved via the LV algorithm. In the above system
(5.2.2Sa)
230
a4tan1jJO+s1aa4
k
2
= a,c~0(j+tan~otan1jJOca4
(S.2.28b)
a4+s4tan~Osa4
k
3
= a3c1jJ0(1+tan~otan1jJOca4)
(S.2.28c)
s4sa.4-a4tan~0
k
4
= a3c1jJo(1+tan~otan1jJOca4)
(S.2.28d)
tan~Oca4-tan1jJO
k
S
= (S.2.28e)
1+tan~otan1jJOca4
tan1jJOca4-tan~0
k
6
= 1+tan~otan1jJOca4
(S.2.28f)
ca4+tan~otan1jJo
k
7
= 1+tan~otan1jJOca4
(S.2.28g)
2 2 2 2 2 2
a,+a2+a3+a4+s,+s42s,s4c<X4
k8= (S.2.28h)
2a,a3c~Oc1jJo(1+tan~otan1jJOc<X4)
The obtention of the linkage parameters from eqs. (S.2.28) is not a simple
solve for the said parameters is also presented in (S.2). In the same paper,
the authors propose that the RSSR linkage synthesis can be extended up to
are introduced.
Since the RSSR linkage lends itself very suitably to be used as a function
of a free parameter. Referring to Fig S.2.3, this author writes the input-
(S.2.29)
231
,
B
"
D \
/"....
/'-1-/.
r~~
~N
1)J,
/ I "/7 C
/ CX4 ~a4 R I
0E 41 I
~I I
/ '
/ ~s :
/ J 1 --------...1
~>(
;,;r s
/'" ---\
R
12V o / 4
where
(5.2.30a)
(5.2.30b)
(5.2.30c)
Normalizing the linkage lengths with respect to s4' the following variables
are defined
a3 a2 a1 s1 a4
x 1= - x = - , A= - , e= - , s4=1
S' x 2=s (5.2.31)
' 3 s4 s4 s4
4 4
-2x1x3(sws~+ca4cwc~)=O (5.2.32)
Moreover, define
with
Subtracting f(~o'~o)=O from f(~j'~j)=O (j=1,2, ... ,n) leads to the following
where
(5.2.35a)
(5.2.35b)
F,=-s(a+~~,)s(S+~~,)+sasS (5.2.36f)
J J J
of ~~, and ~~, (j=1,2, ... ,n) are given. Hence, the determinant 8 is a
J J
function of a and S only. This determinant has, in fact, the following
form
8 (a.,B) (5.2.37)
233
The function o(a,S) vanishes along the curve S=S(a) defined over the plane
follows
a
a,
1
1.i) Estimate (or guess) a starting value of a, say aO, to begin the
iterative procedure
k
1.ii) From the current value a of the sought root, ai' of 0i' compute an
k+1
improved value of ai' say a as
k+1 k
a =a- (5.2.38)
If so, stop the procedure and accept the current value a k as the
Expression (5.2.38) greaty simplifies when the formula for the derivative
~
~
o (a)=o. (a)Tr fM- 1 (a)M' (a)
~ t~ ~
1) (5.2.39)
Where M is the matrix whose determinant is 0 and M' (a) is the matrix whose
k+1 k 1
(5.2.40)
a =a -Tr(~-1 (ak)M' (ak0"
-1 k k
M (a )M' (a )=N
~ ~ ~
MN=M' (5.2.41)
In eq. (5.2.41), let nand m' denote vectors identical to the pth
-p -p
columns of matrices ~ and ~', respectively. Hence, matrix N can be
which can be done via the LU decomposition algorithm. At this stage there
2.i) Subroutine DECaMP need only once be applied at the kth iteration for,
2.ii) Since A. and B. do not contain a explicitly, the first two columns
J J
of M' vanish. Therefore, ~1=~2=Q and subroutine SOLVE need be applied
any more, for precisely what one is seeking is that value of a, for a
zero.
Once the value a i that, for a given 8i makes the determinant vanish, has been
1.i. is repeated, except that a new starting value a O need not be guessed,
for a good estimate for a i + 1 is, of course, ai' provided 8 i and 8i + 1 are
sufficiently close to each other. This way, a set of discrete values {ai ,8 i },
tions (5.4).
236
in 1.i-1.iii. This subroutine was used to find the graph a vs. a arising from
t.<P3=75°, t.l/i3=-11.5°
Given one pair of values of the aforementioned set {a.,a.} and recalling that
~ ~
Gu=-f (5.2.43)
where G is the submatrix of ~ containing the first five rows and columns of
it, ~=(~1'~2' .•. '~5)T and ~=(~2/~3' ••• '~6)T. Vector ~ can be obtained
237
SUBROUTINE ZERDET(N,MAX,P,X,A,DERA,EPSIL)
DIMENSION P(1),A(N,N),DERA(N,N),IP(100),C(100)
C
C
C THIS SUBROUTINE FINDS THE VALUE OF X THAT ZEROES THE DETERMINANT
C OF MATRIX A(X), A BEING OF NXN AND X, A SCALAR.
C X = THE UNKNOWN.
C P ::: AN ARRAY WHOSE COMPONENTS ARE PARAMETERS APPEARING IN THE
C DETERMINANT. THE USER DEFIN.ES IT ACCORDINGLY.
C IP= A VECTOR DEFINED IN SUBROUTINE "DECOMP".
C C ::: AUXILIARY VECTOR USED TO COMPUTE THE TRACE.
C THE FOLLOWING SUBROUTINES ARE USED WiTHIN THIS SUBROTINE
C DECOMP AND SOLVE __ FIND THE SOLUTION OF A NXN NONSINGULAR LINEAR
C ALGEBRAIC SYSTEM. (MOLER C.B.,ALGORITHM 423
C LINEAR EQUATION SOLVER(F4), COMMUNICATIONS OF THE
C ACM, VOL. 15, NO.4, P. 2"74) +
C MATRIX ____________ COMPUTES THE ENTRIES OF MATRIX A. THE USER
C PROVIDES IT.
C DERMAT ____________ COMPUTES THE ENTRIES OF THE DERIVATIVE OF A
C WHIT RESPECT TO X. THE USER PROVIDES IT.
C IMPRIM ____________ PRINTS RESULTS.
C IMPRIM PRINTS THE MESSAGE "NO CONVERGENCE----------ERROR GROWS"
C AND RETURNS TO MAIN PROGRAM, WHEN THE ABSOLUTE VALUE OF THE
C CORRECTION TO THE UNKNOWN GROWS FROM ONE ITERATION TO THE NEXT ONE,
C THUS INDICATING THE POSSIBILITY OF DIVERGENCE. IN THIS CASE, THE
C FIRST PARAMETER OF IMPRIM IS SET EQUAL TO 1. IT PRINTS THE MESSAGE
C "NO CONVERGENCE" ALONE WHEN, EVEN IF THE VALUE OF THE DETERMINANT
C DECREASES, THIS VALUE DOES NOT MEET THE PRESCRIBED TOLERANCE, FOR
C THE ALLOWED NUMBER OF ITERATIONS. IN THE LATTER CASE THAT PARAMETER
C OF IMPRIM IS SET EQUAL TO 2 AND ZERDET RETURNS TO MAIN PROGRAM. IF
C CONVERGENCE IS REACHED, THE AFOREMENTIONED PARAMETER IS SET EQUAL
C TO 3.
C
C
C NEWTON-RAPHSON METHOD STARTS
C
ITER=O
C
C THE ENTRIES OF THE MATRIX ARE COMPUTED
1 CALL MATRIX(N,X,P,A)
CALL DECOMP(N,N,A,IP)
DET=1.0
DO 2 LM=l,N
2 DET=DET*A(LM,LM)
DET=DET*IP(N)
IF(IP(N).EQ.O) GO TO 8
C COMPUTING THE TRACE OF (A**(-i) )*DERA, WHERE DERA IS THE DERIVATIVE
C OF A WITH RESPECT TO X
:t
CALL DERMAT(N,X,P,DERA)
DO -4 I:::::I.,N
DO :-5 ....1:::::1. ,N
:-5 C(J)=D~RA(J.I)
CALL SOL'}ECN.N.A.r.IP)
-4 TRACE=TRACEtC(I)
("'
("' DETERMINES THE EVOLUTION OF TH[S ·fRACE
TRAINV=1.0/TRACE
IFCITER.ED.O) GO TO 5
IFCABS(XV-X).LT.EPSIL) GO TO 8
IFCABS(TRAINV).Gl.TRAVI) GO TO 6
~"j XV::::X
X::::X-TRAINV
I TEF~::'· I TEr.;:+ t
IFCITER.GE.MAX) GO TO 7
TRAVI=ABS(TR~INV)
GD TO :I.
6 CALL IMPRIM(l.ITER.X.DET,P)
1'~:ETUI'i:N
7 CALL IMPRIM(2.ITER,X.DET.P)
RETLmN
8 CALL IMPRIM(3.ITER,X.DEr,p)
F:ETUI'i:N
END
1T
from eq. (5.2.43) via the LU decomposition algotithm. With ~ known, the
tion into eqs. (5.2.35). The remaining length, x 2 , is readily obtained from
eq. (5.2.32) when, for convenience, the values of ~1 and ~1 are introduced
generator for up to seven precision points and ii) since infinitely many
combination rendering the best transmission angle can be used, thus allowing
for optimization.
equations the prescribed values of the input, the output and their derivatives
Example 5.2.2 Synthesis of the RSSR linkage for function generation with
prescribed dead-points.
in such a way that the return motion (under no load) be performed twice as
faster as the first half (under full load). The input link should be a crank,
Solution:
(5.2.44a)
k
5
=- (5.2.44b)
(5.2.45)
To meet the problem conditions, assume that the no-load motion is performed
during a 120° rotation of the input crank, the load motion being executed
during the remaining 240 0 rotation of the said crank. Thus, the following
(5.2.46a)
These conditions do not suffice for the present problem for, even if they
are met, the output linkage could rotate through an angle of 270° and not
(5.2.46c)
which arises from the assumption that, when the input link has rotated
through an angle of 60° (= </>3 - </>2 ) of the load motion (1/4 of this motion),
the output link has rotated through an angle of 22.5° (= lj!2 - 1/1 3 ) of the
five unknowns, therehy justifying the use of a synthesis equation of the form
For ~1=O, W1=O and ~1=O, with ¢1~O, which can then be dropped, eq. (5.2.47)
leads to
k 1 sCl. 4 =O (5.2.48b)
(5.2.48c)
(5.2.48d)
Solving for the five unknowns in the foregoing system (5.2.48), one obtains
/
1 213
1-c (1 + c + ---3 CCl. 4 (s-1)
)
--r
213
0tCl. 4
Putting the above expressions into a computer and computing them for
(in a given sense, e.g., the one with the best transmission angle) can be
selected.
Fig 5.2.1, the definition of vectors e,p,g and 9 following it, and eqs.
T
bTa (~+9-~) ~
cos)J=- - - =-
a 2a 3 a 2a 3
from which
a4c~-s1sa4s~+a1ca4s~s¢+a1c~c¢-a3
cos)J=- (5.2.49)
a2
The reason why the transmission angle is a measure of the force transmission
(Fig 5.2.1) through the coupler link AD by means of a force collinear with
line AD. If this force, F, is resolved into two components, one parallel
to line AB and the other perpendicular to it, the working component is that
nent is that parallel to AB and its value is FCOSll. Thus, for a "good"
input torque, M¢. An expression for the mechanical advantage is next obtained.
243
Disregarding the effect of friction forces for simplicity, the output power
(5.2.50)
m= (5.2.51)
k3sw-k4sa4cw-swc$+ca4c$sw
m= (5.2.52)
k1sa4c$+k2s$+cws$-ca4c$sw
Exercise 5.2.2. Using the results of Example 5.2.2, find the dimensions of
the linkage whose transmission angle lies between 40° and 140° (or between
Mobility analysis
a link with certain mobility conditions. These conditions refer to the range
For a ~iven position of the input link, i.e. for a given value of ~, the
being the unit normal to the plane of the circle, i.e. the vector paralel
-------__.
--
--
D
-
A
-~
...-
--..-"- ,;"""
/"
...- / "
"
/"
/"/
~...-
I'tt'
and no~ neeel>f.,aJ!.ily ~n :the plane 06 :the ~ete, :the pobLt6 on :the ~eum-
6eJtenee iy~ng :the etOf., el>~ and :the 6aJl.:thel>~ 6fLOm ~he po~nt, Q and P, /tel> pe~
Uveiy, have:the pfLOP~!f :thM linel> QV and PO afte peJtpendi-eui.aft ~o :the
tions of the circle with line lB. Line IB is in turn determined by the
center of the circle, B, and the intersection of the plane of the circle
245
with its perpendicular from D. Let l(~) and L(~) be the lenght of segments
DQ and DP, respectively. Hence, the condition fOr the input l~nk to be a
crank is that a 2 , the lenght of the coupler link, lie within the maximum
l <a <L .
max 2 m~n
time, but the most unified treatment is that of Tsai and Roth (5.11). The
rigid body through n successive configurations B. (j=1,2, ... ,n), all of them
J
being finitely separated, i.e. the screw motions relating one of these
two motions: one, given by a screw M.** carrying B from BO to B~, followed
-J J
by a second one, given bv a screw F., carriying B from B~ to B .. The axes
-J J J
of both screws M. and F. are lines M. and F., shown in Fig 5.3.1, where F.
-J -J J J J
is fixed in space, i.e. its position relative to BO does not change after
respective angles. The screw §J' resulting from the composition of M. and F.
-J -J
F.
J
has an axis S. passing through point A., its displacement being denoted by
J J
t. and its angle by 9 .• All three screws form what Roth calls a "screw
J J
triangle", Next, relationships among the screw displacements, angle and
In what follows, let m., f. and s. be unit vectors parallel to the axes
-J -J -J
of M., F. and S.. Moreover, let q., g ., and a. be the position vectors of
-J -J -J -J -J -J
points Qj , Gj and Aj , located on Mj , F j and Sj' respectively. For short,
the indices are dropped from the screw parameters in the following
derivations.
248
obtained (5.13,5.14)
e tan~+tanif+tan%ta~f~
ta~ (5.3.1)
a y
1-tan~an~.~
Multiplying both sides of the above equation times.~, the left hand side
(5.3.3)
does, i.e. if
y
(5.3.4)
ta~ (mxf). (fxs)
thus obtaining
e tan~~+tan%tant(~~)x~
tan~x~= (5.3.5)
1-tan%tan~. f
Multiplying both sides of the latter equation times .2 renders its left
(5.3.6)
does, i. e. if
249
a
ta~ = (~XID). (~f) (5.3.7)
follows:
(5.3.8)
(5.3.7), i.e. mUltiplying both sides of eq. (5.3.8) times x~.~, one finally
obtains
(5.3.9)
an axis passing through Q and parallel to m. After this screw motion the
250
position vecto~ of P is : ' . Next/ the rigid body undergoes one second screw
that of the equivalent screw S. Thus, applying eqs. (2.6.18) and (2.6.19),
(5.3.11)
rearrangement of terms,
(5.3.12)
Equating the right hand sides of (5.3.12) and (5.3.13), one obtains
from (5.13,p.5),
Q m=m+(1-cy)fx(fxm)+syfxm (5.3.15)*
_2- - - - - --
*cy=cosy, sy=siny
251
____ }.f / _
//'
", r' I
/'
/"
r"
252
(Q -I)
~2 - (q-g)=(1-cy)fx(~x(q-g»)+syfx(q-g)
~ _ _ _ _ _ __ (5.3.16)
(5.3.17)
~f·~+u(1-cy) (fX(fx~»)xf.~+uSY(f~)xf.~+
+(1-C9){~x(~x(e-g»)}xf·~+S9[~X(~-~»)Xf.~+
+(1-cY){fx(fx(q-g»)}xf·~+sy[!x(q-g»)x!.~=0 (5.3.19)
Define
(5.3.20)
2P1P2
sY~ (5.3.21)
P 1+P 2
(5.3.22)
(5.3.23)
253
where
(5.3.26)
(5.3.27)
(5.3.28)
(5.3.29)
where
But
2
2 2 II (IEX!)x(~~) II
cos (mxf,fxs)=1-sin (mxf,fxs)=l- 2 2 (5.3.32)
---- ---- II~~ II II ~x~ II
(5.3.33)
where
(5.3.34)
and, similarly,
(5.3.35)
Furthermore,
= I I (r:uc~. ~ )~ II
= (r:uc~ . ~) 211 ~ 112 = (r:uc~ •~) 2 (5.3.36)
2 2 2 2
P +p =(1- (m. f) ) (1- (s.f) ) (5.3.37)
1 2 - - - -
and, similarly
2 2 2 2
p +p =(1- (s.f) ) (1- (s.m) ) (5.3.38)
1 3 - - - -
255
Moreover,
(5.3.39)*
Each of the two terms in the brackets of expression (5.3.39) are next
expanded
Let
...fxs=a,sxf=b
.... .... .... .... ....
(5.3.40)
fxssxf=ab
(2-g)= -f 1 f 2 1_f 2
2 -f1 f 3
_f2 f 1_f 2
1 3 -f2 f 3 3
(5.3.42)
Hence
(5.3.44)
(5.3.45)
(5.3.46)
Similarly,
(5.3.47)
Substituting (5.3.37), (5.3.38), (5.3.46) and (5.3.47) into (5.3.30) and the
u I!,I. (~-~~)
"2;: 2 (g-q)+
2
(a-q) (5.3.48)
1- (Ill.!) 1- (!'i • Ill)
Tsai (5.11)
T
Multiplying eq. (5.3.14) times g2 one obtains
257
T T T
wf+~-tQ _1 -Q
_2 ~+(Q _2 ) (~-q)-(Q
_ _2 -I)
_ (q-g)=Q
__ (5.3.49)
Multiplying the latter equation times x~.~ and proceedin9 in a manner similar
to that leading to eq. (5.3.48) starting from eq. (5.3.15), one obtains
t- - --;. s-(s.m)m
1-(~.~)
(q-a)+
- -
~-(~.f}f
j-(s.f)
2' (q-a) (5.3.50)
T T T T
wQ_3-f+um-ts-(Q
- - _3 -I) _1 -Q_3 ) (q-g)=0
- (a-q)+(Q
- _ _ ~ - (5.3.51)
Finally, mUltiplying eq. (5.3.51) times xm.S and proceeding as before, one
obtains
w ~-(~.~)~ f-(f.m)m
"2 2 • (a-g)- 2 • (q-g) (5.3.52)
1-(!.~) 1-(!.~)
Equations (5.3.4), (5.3.7), (5.3.9), (5.3.48), (5.3.50) and (5.3.52) are the
i) They are useful to synthesise spatial linkages, but not plane ones,
ii) They enable the designer to synthesise dyads of any combination of the
six kinematic lower pairs introduced in Ch. 3, except for the planar
one. Notice, however, that since the axis of one of the two pairs of
258
the dyad is fixed and the other one is moving, the dyad is not symmetric,
for which reason the R-S dyad, for instance, is different from the S-R
dyad. Hence, the total number of dyads that can be designed with the
for the P-P one, are discussed in (5.11). As Roth and Tsai point out
in general a P-P dyad does not exist for an arbitrary rigid body
motion.
linear points of the rigid body, then the corresponding screws must
first be computed. This can be done with the computer subroutine SCREW,
regarding the design of an R-R dyad for rigid-body guidance. The synthesis
of this dyad has been studied extensively. It was first shown that the
problem has no more than 24 real solutions, whereas Suh (5.19) showed that
freedom 1*. Finally, Roth and Tsai (5.12) showed that this problem has only
AO (O,O,l) A1 (0,1,n
The two involved screws, §1 and §2' transporting the rigid body from
the aid of SUBROUTINE SCREW, the resulting parameters being those obtained
from the computer printout of the program that was written for this purpose.
0.707 0.250
0.000 0.500
0.000 -0.250
parameters are those obtained via SUBROUTINE SCREW. The synthesis equations
that are applied are eqs. (5.3.9), (5.3.48), (5.3.50) and (5.3.52), all of
and m yields two more equations, Finally, specifying the location of points
the problem to finding the unique positive real root of a cubic equation.
In the course of the description of their algorithm, they show that the
system admits exactly two real different solutions which, as Suh (5.19)
proved before, are bound to constitute a Bennett mechanism. Roth and Tsai
also show that spurious solutions to the said system also appear, which
following a different approach, that other spurious solutions can also appear,
point Q of the second solution identical to point G of the first one, thus
procedure as that proposed by Roth and Tsai. In fact, although the algorithm
(not necessarily a programmable one), the author could not see how to extend
rigid body through more than three different configurations, thus not allowing
for an exact solution, in which case the best approximation (See Section 6.3)
that vector g-q is perpendicular to both ! and ~. Thus, the synthesis equa-
tions reduce to
261
For i=1,2:
6i T T
F.=tan~2
1 _ (1-s.s.)m+det(f,m,s.)=O
_ _1_1 _ _ __ 1 (S.3.S3a)
(S.3.S3b)
IS.3.S3c)
T t.
F.1+6 =s.
_1 (g-q)-
_ _ ~O
2 (S.3.S3d)
T
F 9 =f_ -f-1=0 (S.3.S3e)
F =mTm-1=O (S.3.S3f)
10 - -
T
F =f (g-q)=O (S.3.S3g)
11 - - -
T
F 12=m
- (g-q)=O
__ (S.3.S3h)
The Jacobian matrix of the system, which is needed by NRDAMP, is now formed
For i=1,2:
ClF.
1
(S.3.S4a)
Clf
ClF.
1
(S.3.S4b)
Clm
ClF. ClF.
Clg
1 1
o (S.3.S4c)
Clq
C5.3.54e)
(5.3.54f)
dF i +4 dF i +4 T
-;;--g = 0, - , , - - =-(I-s,s,)m (5.3.54g)
" aq - -1_1 _
dF i +6 dFi+6 dF i +6 dF i +6
~= !?, a;;-- s, ,
= ~, a g - = -1 ""Tcl = -S,
-1
(5.3.54h)
(5.3.54j)
(5.3.54k)
(5.3.541)
Subroutines FUN and DFDX, required by NRDAMP, compute functions Fi (i=1, ••• 12)
and the Jacobian matrix. For this purpose, a vector x of twelve components
x i +6=gi,i=1,2,3
x i + 9=q1,i=1,2,3
For i=1,2,3,
for i=1,2,
VE(I,J), for I=1,2, ••. ,7 and J=1,2,3, is the Jth component of the Ith vector
MA(I,J ,K) , for I= i ,2, and J,K=1,2,3, is the (J,K)~ entry of the Ith matrix
-
I-S,S:= the ith matrix of the array.
-~-~
SUBROUTINE FUN(X.F,P,N)
REAL PROS,X(13),P(16),F(12),PROV(3),CROS(3,.V(3)
REAL MA(2,3.3,.VE(7.3)
COMMON/ONE/MA
COMMON IT WOlVE
CALL VECTORCP.X.VE)
DO 1 I:::: 1 .2
CALL MAVE(I.MA.2.VE,PROV)
CALL VEVE(l.VE.PROV.PROS)
FCI)=TAN(P(12tl)/2.'*PROS
CALL CROSSC2.X.I.P.CROS)
CALL VEVE(l.VE.CROS.PROSl
:I. F(I'=F(lltPROS
L'<!.
DO 2 ]><1. ,,2
DO 2 .J:::::I." ;;!.
L :::: L+:I.
CALL MAVEC.J.MA.L.VE,PROV)
CALL VEVECI,VE.PROV.PROSl
. .; F (I... ):: PI';~OS
DO 4 1:::::1..2
DO ::~ ....1 ,., 1 • :5
:5 V(.J'=P(3*(I-:l.'t.J)
CALL VEVE(7yVE,V.PROS)
4 F (1+6) '::PI:;:O~l···P (14+1) /2.
DO ~'j ...)::::1.3
r:: .
...J l,) (J) ::.,I)E ( 1yJ )
6 F(8+1)=PROS-l.
DO B 1::::1.::.
DO 7 J::::1. ::)
7 V(J)~VE(lyJ)
CALL VEVE(7yVEyVyPROS)
8 FC10+I)=PROS
HETUF;:N
END
SUBROUTINE DFDXeX,DF,p,N)
REAL X(13),p(16),PROVe3),V(3),CROSe3),
& DFC12,12),MA(2,3,3),VE(7,3)
COMMON/ONE/MA
COMMONITW()/VE
DO 1 I :"1,2
8G::::'-1 +
DO 1. ,./::::1,2
SG::,'--SG
,J.J::::3-~J
CALL MAVECI,MA,.JJ,VE,PROV)
CALL CROSSeJ.J,X,I,P,CR()S)
DO 1. K::::j.,3
1 DF(I,3*(J-1)tK)=TANCPCIt1.2)/2o'*PROV(K)tSG*CROS(K)
DO 2 I"": 1. , 2
DO 2 J::::7, 1.2
2 DFC I ,.J)::::O.
DO :3 1::::1,2
DO 3 ..1::::1,2
.1.1·:<3* e2-'~J)
DO 3 1-(:::: 1. ,3
DF(ItJtJ,JJtK)~O.
3 DFCItJt.J.JJtKt6)=O.
1...::::2
DO 6 1:::1,2
DO 6 J::::1.2
L:::l...t1
CALL MAVEeJ,MA.L.VE,PROV)
DO -1 K·:::1, 3
4 DF(L.Kt3*(I-1»=PROV(K)
CALL MAVEe.J.MA.I,VE,PROV)
DO ~:j K:::: 1.::5
5 DF(L,Kt3*CIt1»~-PROV(K)
6 CONTINUE
DO "7 1::::"7,8
DO "7 J::::1,6
7 DF(I • .J)~O.
!3G::::-'1o
!.lO B 1::::1,2
DO 8 .1::::1,2
SG::::-SG
DO 8 K::::1,3
8 DF(It6,6tKt3*(J-1»=SG*P(3*(I-1)tK)
DO 9 1:""9,12
DO 9 J:o:1,12
9 DF(l,J)::::O.
DO l.() I:::: 1 , 2
1.10 10 ..1::::1.3
10 DFCIt8,3*(I-1)tJ)=VE(I.J)tVE(I,J)
DO 11 1::::1,2
DO :t.1 J=1,::5
11 DF(1t10,Jt3*(I-l»=VE(7.J)
Sf:):":····l,
DO :1.2 ]>1.2
DO 12 J":l,2
SG::::--Sf:)
DO 12 1\::::1,3
12 DF(Itl0,3*CJt1)tK)=VE(I,K)*Sf:)
HETUH~~
END
SUBHOUTINE MAVE(I,MA,J,VE,PROV)
REAL MA(2,3,3),VE(7.3),PROV(3)
DO :I. K:::::I., 3
PI:;:OV (1\) ::::() v
DO :I. l..:::::1.,:3
<
.L PROV(K)=PROVCK)tMA(I.K,L)*VE(J,L)
f;:ETUI:~N
END
SUBROUTINE VEVECI,VE.V,PROS)
REAL PROS,VE(7,3),V(3)
PI:::O:::···:::() v
DC :I. J::·::\.,3
:I. PROS=PROStVE(I,J)*V(J)
RETLmN
END
SUBROUTINE CROSS(I.X,J,P,CROS)
REAL X(13),P(:l.6),CROS(3)
DO :I. 1-(:::::1.,:3
0-::0 ~:; ( 1\ )::. () •
DO :I. 1...::" 1 ,3
DO :I. M::::1, 3
N=(I...-K)*(M-I...)*(K-M)
:I. CHOS(K'=CROS(K)-N*X(3*(I-l'tl...l*P(3*(J-:l.)tMl/2.
RETUf~N
END
The two meaningful solutions that were obtained, using the Newton-Raphson
method, are
o ~1
0.0 9: 1 1.5 1.0
The conditions for the above linkage to constitute a Bennett mechanism (5.20)
, '"
sina
a
It can be readily proved that the linkage just designed satisfies the above
The algorithm of Roth and Tsai requires referring the problem to a particular
set of coordinate axes, in such a way that, letting ~,~,~ denote unit vectors
along new X,Y and Z axes, respectively, these vectors are defined as
k=s
- -1
of the common perpendicular to the axes of screws ~1 and ~2 with the axis
o o u o
o v o
where h is the distance between the axes of ~1 and ~2 times the sign of
s xs • (a2-a1l. The solution obtained using the data in the new coordinate
-1 -2 - -
axes must be then transformed into the original coordinates. This is done
(~)o=(~1)o+(~)o(2)n
where the transpose of the given matrix should be taken because the matrix
I Tsai
=E=x~e~r~c~i~s~e~=5~.=3~.~1 Check the solution given above to Example 5.3.1, applying
For dyads containing any combination of revolute and spherical pairs, this
rigid body (linkage 3). Then, from Fig 5.4.1, the next relationship
follows
r.+a.+b.=a
~J ~J ~J
+b
~o ~o
(5.4.1)
a.=Q.ao (5.4.2)
~J ~J ~
Q. being the rotation matrix of the screw carrying the rigid body from its
~J
.
re f erence to ~ts .th
J - con f·~gurat~on.
.
Y.
J
Introducing eq. (5.4.2) into eq. (5.4.1) and solving for Qj one obtains
b.=(I-Q.)ao+bO-r. (5.4.3)
~J ~ ~J ~ ~ ~J
(5.4.4)
Substituting eq. (5.4.3) into eq. (5.4.4) and squaring both sides of the
(5.4.5)
to solve for the unknowns eO and ~O. Since these unknowns contain 6 scalar
components, for exact synthesis the largest value that n can attain is 6,
and hence, with an S-S dyad, a rigid body can be conducted through 7 config-
5.4.1, if ~O happens to be specified in such a way that for the kth config-
(5.4.6)
to solve for ~O from this equation, for the matrix involved is singular, as
system of equations like the one "defining" ~O in eq. (5.4.6), two of the
and, properly speaking, does not actually define ~O. This vector can, however,
Exercise 5.4.2 Show that if r k is parallel to the axis of the screw carrying
the rigid body from its reference configuration to its kth configuration, then
If vector ~k is not on the null space of !-9k (Sect. 1.3), i.e., if it is not
as the length of vector ~o is made the shortest possible, the weight and
linkage with the smallest amount of material, driving it with the least
shown in Fig 5.4.1 is obtained, except that pair S12 is replaced by pair
equations (5.4.5) follow. Since this dyad can only rotate abount the axis
273
stated as
(5.4.7)
parameters (unknowns) in this case is again six, i.e. the three scalar
2n-1=6
Le.
7
n~
2
value
n----
7-m
2
III N
3 3
5 2
this case, this would allow one to prescribe one fourth configuration of the
rigid body under guidance. The presence of the said equations, however, does
equations (5.4.3) and (5.4.6), ~k=~O' for that k for which (5.4.6) holds,
from the discussions of the same problem appearing in (5.11) and (5.21),
where the authors show that the said rigid-body guidance problem leads to an
Synthesis of R-R dyads. Again the picture shown in Fig 5.4.1 relating the
reference-and the jth configurations for an S-S dyad, still holds for R-R
dyads, except that pairs S12 and S23 are replaced by R12 and R23 , respectively,
revolute pairs are connected by means of a link of axis parallel to the common
The perpendicularity of the axis of the link with the axis of R12 can be stated
as
U Tb .=0, J=
. 0 , 1 , ••• ,n (5.4.8)
- -J
275
Additionally, the perpendicularity of the said link axis with the axis of
vTb.=O,j=O", ..• ,n
- -J
or, introducing eg. (5.4.3), and the fact that
y.=Q.vo,j=O", ... ,n
J -J-
the latter perpendicularity condition appears as
where
From Fig 5.4.2, it is clear that vectors ~ and v belong to the same rigid
276
Equations (5.4.8) and (5.4.9), however, do not guarantee that these vectors
undergo a rigid body motion from the reference to the jth configuration, In
fact, a 180-degree rotation of vector v, about the link axis (vector b,)
-] -]
-thus producing a reflexion of the link- could not be detected from eq.
(5.4.9), for this would still hold after such a reflection. Hence, an a~di-
(5.4.10)
to compute the 12 unknown components of vectors ~O'~O'~ and YO. To match the
4n+4=12,i.e. n=2
Hence, by means of an R-R dyad, a rigid body can be guided throuqh 3 confi-
taining the unknown vectors from the 12 derived equations, find ~O from eq.
(5.4.6) such that its magnitude be a minimum. Hence, the number of unknowns
reduces to nine, but the number of equations to satisfy is nine, too, thus
In fact, find ~O from eq. (5.4.6) for ~j=~2; then the system of equations
is: eq. (5.4.5) for j=1; additional equations are eq. (5.4.9a)- next derived-
277
for j=0,1, eq. (5.4.10) for j=1,2 and the two eqs. (5.4.11). Eqs. (5.4.5)
condition between b. and v. -eq. (5.4.9)-, which can be stated as the per-
-J -J
pendicularity between ~j and YO' Le.
with r.=r 2 , then eqs. (5.4.5), (5.4.8) and (5.4.9a) are identically
-J -
satisfied for j=2.
Using the latter approach to the synthesis problem under study would yield
Example 5.4.1 Synthesis an R-R dyad to conduct a rigid body -to which axes
X.Y.Z. (i=0,1,2) are attached- tbrought the three positions shown in Fig
~ ~ ~
5.4.3
I
I
X1
,
I
Z1 I
~X2
Fig 5.4.3 Rigid-body guidance throught three configurations.
278
Solution:
In what follows all vectors and matrices are referred to X.Y.Z. axes.
~ ~ ~
o o o o
-1 o o (5.4.12)
o o o
minimum
Let the unknown vectors ~O'~ and ~O have the following components:
b 01 u1 vOl
b = b 02 , u= u 2 , v = v 02 (5.4.16)
-0 -0
b 03 u3 v03
279
5
9 (5.4.17a)
Vectors ~1 and ~2 are computed from eq. (5.4.3), from which it can readily
be checked that ~2=~O' thereby satisfying eq. (5.4.5) for j=2 identically.
(5.4.17b)
(5.4.17c)
(5.4.17d)
(5.4.17e)
(5.4.17f)
(5.4.17g)
where v. was computed performing the product Q.v O • Finally, eqs. (5.4.11)
-J -J-
take on the form
(5.4.17h)
(5.4.17i)
The solutions to eqs. (5.4.17) provide the different possible dyads that guide
the rigid body through the different configurations shown in Fig 5.4.2. This
refer to the foregoing equations, only the letter attached to each is mentioned,
for shortness.
(a' )
(b' )
(c' )
First solution:
(d' )
u 2 =O (e' )
U =+ 1
1 -
(f' )
In what follows, this solution is developed taking only the plus sign of eq.
(g' )
(h' )
Solving for v 01 and v 02 in (g') and (h'), in terms of v03 and substituting
2
6v 03 =1
281
from which
(i' )
and
(j' )
(k' )
(1' )
(m' )
(n')
(p' )
16/6
Second solution:
(a")
282
From (h') and (a") it is possible to solve for VOl and v03 in terms of v 02 '
v 01 =-3v 02 (b")
1 (c")
Vo 32"'0 2
Substitution of (b") and (c") into (i) yields
(d")
Hence
6141
v 01 =--"4T (e" )
141
v03= -:IT (f")
Substituting (d"), (e") and (f") into eqs. (f) and (g) leads to
(g")
(h")
from which one can solve for u 1 and u 2 in terms of u 3 ' thus obtaining
(i")
(j" )
(k" )
Hence,
151470
(1" )
u1 470
141470
u2 = 470 (m")
Substituting (k"), (1") and (m") into eq. (b) one obtains
(n")
283
(p" )
b 01 =0 (q" )
1
b 02 - 2 b 03 (r")
(s")
(t")
b =
-0
:/18], U= 15 a,yO= (5.4.19)
5/9 J 14
where
Both dyads defined by ~O as given by (5.4.13) and both expressions for PO'
In conclusion, regarding R-R dyad synthesis, it has been shown how to obtain
an optimal dyad for a problem usually known to have only two real solutions,
5.5 LINKAGE SYNTHESIS FOR PATH GENE~TION. This ~roblem can be stated as:
links attains successively the specified positions RO' R 1 .•• ,Rn ". This
rigid body does not define the body motion (its orientation thus remains
r .=rO+w. f+u .Q2 .m+ (Q3' -I) (r o- q ) + (Q2 . -I) (q-g) ,j=1 ,2, ... ,n (5.5.1)
-J - J- J- J- - J - - - - J - --
where rO,r. (j=1, ... ,n) are the position vectors of points RO,R.(j=1, ... ,n),
- -J J
respectively. Other variables indexed with j are parameters of the involved
screws -defined in Section 5.3- relating the jth configuration of the rigid
that vectors ~,~,~ and g are not indexed, this being due to the fact that
they remain the same throughout the rigid-body motion, except when dealing
Differently from what occurs with the rigid-body guidance problem, in this
case the dyads, constituting the linkage intended to design, are not
fact, since in this case the rigid-body rotations involved are not specified,
w"f,u"m,q, and g change from one dyad to the other, the s, vectors are
J - J - - -J
common. The synthesis procedure is illustr~ted with one example.
of the S-S dyad. This is due to the fact that the synthesis equations for
both dyads are coupled via the s, vectors. In performing the R-R dyad
-J
synthesis, the different variables have the following meanings (See Fig
5.3.1 and its description): u, and w, are the displacements associated with
J J
the fixed and the moving R pairs of the dyad, respectively. Hence, they
vanish.
f and m are unit vectors pointing in the direction of the axes of the fixed
and the moving R pairs of the dyad. s, is the unit vector pointing in the
-J
direction of the axis of the screw carrying the body from its reference- to
,
ltS ,th f' ,
J-- con 19uratlon.
g and q are position vectors of points located along the axes of the screws
where, clearly
whereas the specific locations of points G and Q along the screw axes are
expressed as
T T
(q-g) f=O, (q-g) m=O (5.5.4)
(5.5.2) (one for each direction of the physical space)+ n+2 equations
The synthesis of the S-S dyad is formulated in the following way: Referring
to Fig 5.5.1, let S12 and S23 be the spherical pairs of the dyad under
cons~' d '
erat~on. Let BO an d B j b e t h e re f erence- an d t h e J--
.th con f'~gurat~ons
.
Q through a rotation of axis m. and angle a. (it will be seen next that
- J J
neither m. nor a. appear explicitly in the resulting synthesis equations for
- J J
this dyad). Let B~ be the configuration of B after this rotation. Next,
J
fixing B. to the dyad, rotate the whole assembly as one single rigid body
J
about point G through an axis f. and an angle Y., B. being the final
-J J J
configuration of the rigid body.
Since in this case also u.=w.=O, and ~O can be equated to 0, eq. (5.5.1)
-J J
takes on the form
Q2 . =Q 2 . (f . , Y . ) , y . =y . (f . , m. , s . )
- J - J -J J J J -J -J -J
Q3 . =Q 3 . (s . ,8 . ) , e .=8 . (f . , m . , s . )
- J - ) -J J J J -J -J -J
287
y.
J
(5.5.2)-(5.5.4), which is made clear because the latter vectors are not
cal to those appearing in eqs. (5.5.5); hence they do not add extra unknowns
11£.11=1,
-]
Ilm.II=1,
-]
j=1,2, ... ,n (5.5.6)
Since the S-S dyad can rotate about axis GQ without changing either
configuration B' or B., i t can be assumed that the axes of rotation, given by
j ]
unit vectors fj and ~j' are both perpendicular to axis GQ, i.e.
288
T
(q-g) f.=O, j=1,2, .•. ,n (5.5.7)
- - -J
T
(q-g) m.=O, j=1,2, •.• ,n (5.5.8)
- - -J
Thus, the synthesis of the S-S dyad adds the following unknowns to the
overall linkage synthesis problem: f., m. (j=l, .•• ,n), q and g, i.e. 6n+6
-J -J --
additional unknowns (Vectors s. are not counted as new unknowns, since these
-J
were already taken into account when discussing the synthesis of the R-R
Remarks on the formulation of the RRSS linkage synthesis problem for path
generation.
via eqs. (5.5.4) and (5.5.9), with the values of !, ~ (or !j and ~j)
and s .•
-J
ii) The problem, as just stated for 8-point synthesis, leads to a system
say, the X-Y plane, thus diminishing the number of unknowns (one
component of the ~ and of the ~ vectors is thus zero). This way, the
about twice that of Suh's. Thus, it might seem more advantageous to use
synthesis problem.-
Referring to Figs 5.4.1 and 5.4.2, the synthesis equations are next written.
configurations, belonging to the R-R dyad, from those belonging to the S-S
dyad, the latter are starred. The synthesis equations for the R-R dyad are
(5.5.9)
T
Calling !j the unit vector parallel to the axis of ~j and (aj,Sj'Y j ) its
2
0 -Y j Sj a. 0..13. a j Yj
] ] ]
P.=
-] Yj 0 -a.
]
, R.=
-]
0..13.
] ]
S~] SjY j (S. S. 11)
-13.
]
a.
]
0 a j Yj SjY j Y~ I
-
U Tb
-]
.=0, ]=
. 1, ••• ,n (S.S.12)
T
-
vob.=O, j=l, ... ,n
-]
(S.S.13)
T T . 1 2 (S. S. 14)
~ !j=~ !O' ]= , , ••• ,n
(S. S.17)
readily concluded that the linkage thus synthesised can trace a spatial
path passing through 8 prescribed points, which result coincides with that
of Suh's Via the latter approach, however, the number of equations and
291
unknowns (for 8-point synthesis) is 46, a number still greater than that
of Suh's, yet smaller than that obtained using Roth and Tsai's equations.
5.6. EPILOGUE. The subject of linkage synthesis is far more extense than
has been presented here. Topics that were not covered are, amongst others,
linkage synthesis for rigid-body guidance and for path generation with
REFERENCES
5.2 Mohan Rao A.V., G.N. Sandor, D. Kohli and A.H. Soni, "Closed form
synthesis of spatial function generating mechanisms for the maximum
number of precision points", Journal of Engineering for Industry,
Trans. ASME, Series B, vol. 95, Aug. 1973, pp. 725-736.
5.3 Luck K., "Computersynthese des viergliedrigen raumlichen
Koppelgetriebes vom Typ RSSR", Mechanism and Machine Theory, vol. 11,
1976, pp. 213-225
.. 0
5.4 Bjorck A. and G. Dahlquist, Numerical Methods, Prentice-Hall, Inc.,
Englewood Cliffs, 1974, pp. 131-136.
5.5 Suh C.H. and C.W. Radcliffe, "Synthesis of spherical linkages with
use of the displacement matrix", Journal of Engineering for Industry,
Trans. ASME, Series B, vol. 89, 1967, pp. 215-222
5.9 Chen P. and B. Roth, "A unified theory for the finitely and
infinitesimally separated position problems of kinematic synthesis",
Journal of Engineering for Industry, Trans. ASME, Series B, vol. 91,
1969, pp. 203-208
5.10 Chen P. and B. Roth, "Design equations for the finitely and
infinitesimally separated position synthesis of binary links and
combined chains", Journal of Enginnering for Industry, Trans. ASME,
Series B, vol. 91, 1969, pp. 209-219
5.11 Tsai L.W. and B. Roth, "Design of dyads with helical, cylindrical,
spherical and prismatic joints", Mechanism and Machine Theory,
vol. 7, 1972, pp. 85-102
5.12 Tsai L.W. and B. Roth, "A note on the design of revolute-revolute
cranks", Mechanism and Machine Theory, vol. 8, 1973, pp. 23-31
5.14 Bisshopp K.E., "Rodrigues' Formula and the screw matrix", Journal
of Engineering for Industry, Trans. ASME, Series B., vol. 91, 1969,
pp. 179-185.
5.15 Ericksen J.L."Tensor Fields ': in F1ugge S., ed. Handbuch der Physik,
vol. 111/1, Springer-Verlag, Berlin, 1960, pp. 794-796.
5.16 Suh C.H. and C.W. Radcliffe "Synthesis of plane linkages with use of
the displacement matrix", Journal of Engineering for Industry, Trans.
ASME, Series B, vol. 89, 1967, pp. 206-214
5.19 Suh C.H., "On the duality in the existence of R-R links for three
positions", Journal of Engineering for Industry, Trans. ASME,
Series B, vol. 91, 1969, 129-134.
5.20 Bennett G.T., "A new mechanism", Engineering, vol. 76, 1903, pp.
777-778
5.23 Suh C.H. and C.W. Radcliffe, Kinematics and Mechanisms Design,
John Wiley & Sons, Inc., N. York, 1978, pp. 201-202.
6. An Introduction to the Optimal Synthesis of Linkages
6.1 INTRODUCTION. The problems of linkage synthesis outlined in Ch. 5 lead
Section 1.13, these systems can admit multiple solutions or none. The said
solutions satisfy all the equations exactly, if roundoff errors are disregarded,
which is done in this case for the numerical accuracy of the solution will be
taken for granted in the current discussion. The resulting solutions, however,
were not evaluated as to the "quality" of the linkage they produced, once
this quality is defined. The quality under consideration could be the overall
size of the linkage Cthis size could be in turn defined as the sum of the
lengths of all the links, for example), its minimum mechanical advantage or
Ch. 5 are:
available, thus making it possible for the designer to select the best
two possibilities can arise, namely, either the designer has absolute
6.2 THE OPT~MISAT~ON PROBLEM. The most general optimisation problem can be
stated as {ollows:
"Given a vector space V and a subset n of it, find the vector ~.e:n such that
a (also given) {unctional f defined over V, attains its optimal value at x*"
The problem thus defined has not yet been solved in all its generality, but
solutions have been found to some special cases of it, many of which are
To begin with, the kind of problems that usually arise in the realm of
i.e. the problems that will be handled in this context contain a finite
vector space whose elements are continuous functions of one real variable
(time) with some special properties that will not be listed here, for they
or inequality algebraic relations (in the case of Banach spaces, the said
form: .
296
ol?timise f=f(!9
(6,2,1)
subject to
--
g()C)=O
and
--
h. (x) >0
~
i=1, ••. ,p (6.2.2)
h i b· h .th
e~ng t e : j . - component of vector h. A similar symbology is used to
respectively.
The modern approach to the linkage optimisation problem places it within the
of this paper the author states: " ••• the synthesis of mechanisms thus ceases
The foregoing approach will be followed in this chapter. In the first place
5.2 that the synthesis of the RSSR linkage for function generation leads to
it was shown that a rigid body can be guided through up to three successive
in twelve unknowns. Further on, in Section 5.5 it was shown that, by means of
an RRSS linkage, a spatial path can be traced that passes through up to eight
over more than eight points, or ii) an RR dyad that carries a rigid body
through more than three configurations, or iii) an RRSS linkage that traces
a spatial path passing through more than eight points. In all these cases
cases.
The overdetermined arising problem does not have a solution in the "usual"
sense, i.e. in the sense of satisfying the equations exactly. ~s was dis-
cussed in Section 1.11 for linear systems and in Section 1.13 for nonlinear
ones, a solution vector ~O is sought that yields the minimum error (in the
approximation to the said equations), in this instance. The most common way
of measuring such error is through the Euclidean norm of the vector whose
and the System of equations is ~(~)=O (~-~=Q in the linear case), then
(6.3.la)
or
(6.3.1b)
(6.3.2), of course.
tion of the optimal correction at each stage, via the solution of a linear
Fig. 1.13.2, combipes HECOMP and HOLVE to solye the nonlinear least-square
problem {6.3.21.
The least-square problem arising in linkage syntheses has been already dealt
with in the litterature. Suh and Mecklenburg (6.S} solved such problem by
fixed all the variables but one, at each time. More on direct search methods
Example 6.3.1. Synthesise an RSSR linkage so that its input ~ and its output
Solution:
Use is made of eq. (5.2.18) and definitions (5.2.19), thus obtaining a system
~=b (6.3.3)
Subroutines HECOMP and HOLVE were used to obtain the least-square solution
~O' i.e. the six values k 1 , ••• ,k6 that approximate the 19 equations (6.3.3)
with the minimum error, in the sense of the Euclidean norm. The optimal
6.3.3
300
The error obtained with Powell's method, reported in (6.5) , as well as that
obtained with Householder reflections, are shown in Table 6.3.4. The overall
1 2
e = / -E ((p'~-<p~*)
n 1. 1.
where <Pi and <Pi* are the generated and the specified values of the output
The specified configurations are shown in Table 6.3.5. The synthesis equations
are those derived in Appendix 4, namely, eqs. (A.4.6) which are next rewritten
as
with i:::f.:"1
in Table 6.3.5.
which turned out to have two different solutions, one for each side of the
linkage, thus enabling the designer to construct the whole linkage. The two
"fABLE 6.:3.2
MATRIX A VECTOR II
TAB.LE 6.3.3.
TABLE 6.3.4.
0.0000 0.0142
2 -0.0012 0.0010
3 -0.0306 -0.0351
4 0.0233 0.0159
5 -0.0268 -0.0345
6 0.0326 0.0260
7 0.0160 0.0108
8 0.0383 0.0344
9 0.0152 0.0120
10 -0.0379 -0.0411
11 -0.0064 -0.0096
12 0.0227 0.0193
13 -0.0422 -0.0450
14 -0.0002 -0.0015
15 0.0355 0.0343
16 0.0106 0.0132
17 -0.0002 0.0014
18 -0.0125 -0.0197
19 0.0298 0.0041
AO (5.124,2.255) ~0(1.444,~6.705)
BO (0.549,-0.703) BO (6.371,-9.315)
Thus, the linkage is composed of one fixed link with input and output links
hinged to it at each of both points B shown in Table 6.3.6. The coupler link
is hinged to the input and output links at each of both points AO also shown
in that table.
304
Since the problem is overdetermined, the solutions obtained do not zero each
quartic in these complex numbers. Thus, ~ has units of lenght raised to the
This way, the error of the first solution resulted to be 38.74%, whereas
that of the second one, 60.77%. More examples considering different numbers
three already specified in Example S.3.1. All four positions are the
following:
The synthesis equations are those of Example S.3.1, eqs. (S.3.S3a) to (S.3.S3h),
except that eqs. (S.3.S3a) to (S.3.S3d) are now written for i=1,2,3, thus
305
already obtained in that example. The third one, corresponding to the fourth
configuration, was also obtained via SUBROUTINE SCREW. All three screws are
then
[ 0.707]
= -0.707 , e1 = 0.250
[".250] , t1 - 0.707, 8 1 - 70.529°
~1
0.000 0.500
[ 0.000] [_0,250]
~2 = -0.707 , e2= 1.000 , t2 - 0.707, 8 2 - 109.471°
0.707 1.000
0.577] [ 0.000]
§3 = [ 0.577, ~3= 0.000 , t3 = 0.000, 8 3 - 120.000°
0.577 0.000
Damping, however, proved to lead to divergence in this case, for which reason
e =
with hi defined as a normalised Fi ' which is in turn defined in eqs. (5.3.53),
i.e.
For i=1,2,3,
306
SUBROUTINE NLLseX,FUN,DFDX,P,TOL,N,M,ITER,MAX)
REAL XeN),FeM),DFeM,N),pel).ueM),DELTACM)
C
C THIS PROGRAM OBTAINS THE LEAST SQUARE SOLUTION TO THE NONLINEAR
C SYSTEM FeX)- o. WHERE F AND X ARE M-AND N-DIMENSIONAL VECTORS. M
C BEING GREATER THAN N. THE PROCEDURE IS ITERATIVE. AND AT EACH
C ITERATION FINDS THE LEAST SQUARE SOLUTION TO THE LINEAR SYSTEM
C DF*DELTA= -F. WHERE DF IS THE JACOBIAN M X N MATRIX OF THE ORIGINAL
C SYSTEM, COMPUTED AT THE CURRENT VALUE OF X. THE LINEAR LEAST SQUARE
C SOLUTION AT EACH ITERATION IS FOUND VIA HOUSEHOLDER REFLECTIONS C
(" BJOERCK A. AND G. DAHLQUIST. NUMERICAL METHODS, PRENTICE HALL.
C ENGLEWOOD CLIFFS. N.J •• 1974. PP. ~Oj-206, 443-444).
C PAI~AMETEI:;:S :
C X •• '" N--IHMENSIONAL VECTOF< OF UNI<':NmJNS.
C F •• - M-DIMENSIONAL VECTOR OF FUNCTIONS WHOSE EUCLIDEAN NORM
C IS TO BE MINIMIZED.
C DF •• = M X N JACOBIAN MATRIX OF F WITH RESPECT TO X.
C P .,= VECTOR OF PARAMETERS APPEARING IN FUN AND/OR DFDX. ITS
C DIMENSION VARIES FROM PROBLEM TO PROBLEM.
C TOL •• = A REAL POSITIVE ·SMALL' VARIABLE DENOTING THE IMPOSED
C TOLERANCE. 11 IS SUPPLIED BY THE USER.
C ITER •• = AN INTEGER VARIABLE DENOTING THE NUMBER OF THE CURRENT
C ITERATION.
f' MAX •• = AN INTEGER VARIABLE DENOTING THE MAXIMUM NUMBER OF
C ALLOWED ITERATIONS.
C SUBSIDIARY SUBROUTINES :
C
r HECOMP "" TRIANGULARIZES A RECTANGULAR MATRIX BY HOUSEHOLDER
C REFLECTIONS CMOLER C. B•• MATRIX EIGENVALUE AND LEAST-
C SQUARE COMPUTATIONS. COMPUTER SCIENCE DEPARTAMENT,
C STANFORD UNIVERSITY. MARCH. 1973.)
C HOLVE SOLVES TRIANGULARIZED SYSTEM BY BACK-SUBSTITUTION CMOLER
C C. B •• (!P. CIT.)
C FUN COMPUTES F.
C DFDX COMPUTES DF.
C FNORM COMPUTES THE MAXIMUM NORM OF A VEcrOR.
C
C
I TEF<'''O
1 I TEF:'" I TER+:l
CALL FUNex.F.p,M.N)
FNOF("FNClRM CF • M)
IFCITER.GT.MAX) GO TO 5
c:
c FORMS LINEAR LEAST SQUARE PROBLEM
CALL DFDxeX,DF,p,M,N)
CALL HECOMPeM,M.N.DF,U)
CALL HOLVECM,M,N.DF.U.F)
C
t
6' T T (6.3.7a)
h. tan~ f (I-s.s.)m+det(f,m s.)
1 2 - - -1-1 - - - -1
T T
~ (~-~i~i) (~i-2) (6.3.7b)
(6.3.7c)
Ila.-qll
-1 _
T
2s. (g.-q.)-t.
-1 _1 _:). 1 , i f t.i 0
1
t.
1
h. = (6.3.7d)
1+q
2~i(g·-q·)
_1 _1
, i f t. 0
1
Ilgi-qi II
fT f _ (6.3.7e)
h13
T
IE IE (6.3.7f)
h14
T
~ (g-q)
(6.3.7g)
h'5
Ilg-qll
T
IE (g-~)
(6.3.7h)
h'6
Ilg-qll
The computer program written to solve the foregoing problem led to three
since the given equations are not zeroed, ! and ~ fail to be unit vectors,
which is at any rate irrelevant, because they are meant to indicate only
the directions of the axes of the involved revolute pairs. Moreover, the
three different RRRR spatial mechanisms arising from the three different
3 configurations, a second dyad of a different type (&~, SR, CC, for instance)
-
m 0.310
0.898
0.858
0.229
-0.520
-0.503
are the opposite of those presented in Section 6.3, i.e. problems that will
linear, then a unique solution exists whose norm is a global minimum and
can be found via the Moore-Penrose (See section 1.11) pseudo-inverse matrix
of the system. If the said system is nonlinear, then all local minima can be
arise rarely in mechanism synthesis, that is to say, although (as was shown
appear directly in the synthesis equations linearly. Hence, only the non-
linear case will be discussed in this Section and the solution procedure
Example 6.4.1. Synthesise an R-R dyad that guides a rigid body through the
first two configurations shown in Fig 5.4.3. Since the general number of
equations for this problem is 4n+4 (See Section 5.4), and for two configur~
tions n=l, the resulting number of equations is 8, but the number of unknowns
Solution:
o 0
o -1 (6.4.1)
o
where components are referred to the XOYOZO coordinate frame.
u= (6.4.2)
~O
(6.4.3a)
(6.4.3b)
311
(6.4.3c)
(6.4.3d)
(6.4.3e)
U1v03-u2v02+u3v01=U1v01+u2v02+u3v03 (6.4.3f)
a Oi ' b Oi ' u i ' v Oi (i=l, 2, 3). The objective function that is now introduced,
8-dimensional vector whose components are the left-hand sides of eqs. (6.4.3)
when all the right-hand sides are set equal to zero, the non-zero terms
having been transfered to the left hand side, of course. Let ~ be a 12-dimen
It=2.1
dX - dX
(6.4.6)
is u detennined system whose roots can be found via the method of Newton-
Raphson.
Example 6.4.2 Synthesise a plane RRRR linkage that generates the input-output
values appearing in Table 6.4.1 and possessing the best transmision over the
input output
30 45
2 150 60
3 270 90
Solution:
The first step towards the solution is to define an objetive function whose
specifying that the linkage generate the three pairs of values appearing in
Table 6.4.1, and ii) a less precisely defined condition stating only that
the linkage have the best possible transmission throughout the interval
k,-k2coS~+k3cOSW+cos{~-W)=O (6.4.7)
where 2 2 2
a 3 - a 2 - a4
k, = , k2 (6.4.8)
2a 2a 4
unkowns k" k2 and k 3 • The problem at hand, this way, will have exactly one
its transmission is good or bad, nothing else can be done about it. Nevertheless,
in no part of the problem has it been required that the input and the output
angles be measured from the line defined by the axes of the pairs R'2 and
R4 ,. One can, therefore, measure those angles from lines R'2L and R4 ,M,
respectively, making angles of a and S with line R'2R4'. This way, two
proper selection, to obtain the linkage that not only generates the pairs of
values of Table 6.4.1, but also does it with the best transmission. What is
that the transmission of a linkage, i.e. its ratio of output torque to input
its best value for ~ ~ 90° or 270°, whereas its worst, for ~ = 0° or 180°.
is measuring how much ~ deviates either from 90° or from 270°. Of course,
the smaller this deviation is, the better the transmission of the linkage will be.
mean square (r.m.s.) value of cos~, over the interval of interest, i.e.
l/J 3
z ~l/J fl/J
1
cos2~dl/J (6.4.9)
where
(6.4.10)
and
2 2 2 2
2a1a2cos(l/J+a)-a1-a2+a3+a4
cos~= (6.4.11)
2a 3a 4
rr (6.4.12a)
k2k 3 ' a 4
where
(6.4.12b)
k 2_ 2_k 2+k 2k 2
3;r: 2 2 3
B ;=; <-6.4.14)
2klr
(6.4.15)
2k3 (k 2+k 1k 3 )
N
(6.4.16)
+ rll1jJ r
where
(6.4.17)
where ~ =(a,e}T is the decision vector. Now, since z does not depend directly
(6.4.19)
Clearly,
~~ = ~ n; -~~ z} (6.4.20)
and*
* c =cos , s - sin
316
2k 3
6~ (s(1/I3+o.)- s(1/I1+o.»)+ 2(k2+ k 1k 3)k3
aN (6.4.21a)
ak = 2
2k3
61/1 (s (1/13+0.) - s (1/I1+o.))+ 2 (k2+k1 k 3)
a - 4k 33 {21 + 1
461/1 (
sin2C1/I3+o.)-sin2(1/I1+o.) ) }+
(6.4.21b)
2k2 k 3
or
ak 2k1k3+2k2+2k2k~ (6.4.22)
2
2k1k2+2k3+2k2k3
3 times, once for each pair of input-output values. This leads to the linear
system of equations
A k b (6.4.23)
where
-c (cj>1+S) c(1/I1+0.) -c 1 C1
and
-c 4 3 -1/13-0:+8) -c;
k .. = m .• b or k "" Mb (6.4.25)
~ ~J j
317
where the usual index convention holds, i.e. a sum over repeated indices
follows, with
(6.4.26a)
c.~- 1 C.~+ l- c ~+
. 1C~~1
.
{6.4.26b)
q
(tm 1i 1 a m1 · a
-~- = - - - (c. c. -c. c. )- --~ ~ {6.4.29a)
ox. q ax. ~-1 ~+1 ~+1 ~ .. 1 q ax.
J J, J
{6.4.29c)
a c . 1- c J,+
-,,-(c.
oX 1 ~- l ~+ . l e ~-
. 1)"'- c.~- 1 5 ~+
. l+ c ~+1
. S.J,-1 {6. 4. 29d)
~
Xl
=- 5 {c -c )-5 (c -c )-5 {c -c )
1 2 3 2 3 1 3 1 2
{6.4.2~f)
..L..{c·+
a X 1-c. 1)=-(5·+ 1 -$'· 1)
;l
{6.4.29h)
1 ~- ~ ~-
318
(6,4,29;i.)
(6.4.29j)
a
a;-(c i +1-c i _ 1 ) =- (si+1- 8 i_1) (6.4.29k)
2
Substituting expressions (~.4.29d-k) into (6.4.29a-c), one obtains
a m1i , m'i
~= q (-ci_'~i+j+ci+'~i_l)+ -q- (s,(c2-C3)+s2(c3-c,)+s3(c1-c2}) (6.4.30a)
am'i 1 m,"
aX
2
=q (-si_'Ci+l+si+1Ci_11+ q~ (C 1 (S2-S3)+C2(S3-S,)+C3(S1-S2)} (6.4.30b)
(6.4.30c)
(6.4.30d)
(6.4.30e)
(6.4.30f)
aM am
it
(a; ~) ij= --ax.- bl (6.4.3')
- J
In order to compute the zeros of g, the Newton-Raphson method is applied.
(6.4.32)
ag og ak
(6.4.33)
a~ = als. a~
3'9
where
(6,4,34)
But
(6,4.35)
(6.4.36)
ar( dz)TJ}
ak ak
(6.4.38)
r 2k 2 6k 2
( S(W 3+a >-S(w +a
3 2k3 3
1 » + b
M
a2N
( s(W 3+a )-s(w,+a) )
4k3
2k3 2 + 2k, (6.4.39)
ak 2 = tow
c d e
b :: 2k2+4klk3
6k 2
c:: to~ (sin(w3+a )-sin(w,+a»)+2k 2+4k,k 3
4k3
d :: tow (sinlw3+a)-sin(w,+a»)+2k,
e _
320
0 2k3 2k2
ak 2
2k2 2k1+4k2 k 3 2+2k~
This subprogram was applied to solve the problem at hand, the results obtain-
ed being:
x*
r.m.s. value of cos~ is 0.3289. The linkage thus obtained was analysed with
the aid of a program written ad hoc and the mean value of ~ was obtained,
The class of optimisation problems discussed in Section 6.3 does not include
to. The penalty function methods introduced herewith will be discussed only
linkage synthesis. For example, if the RRRR plane linkage shown in Fig 6.4.1
applied at link 2, then this link should be ~ crank, i.e. it should be able
to rotate through a 360 0 angle. The conditions under which link 2 is a crank
These are
{6.S.1al
322
~ <~<~ (6.5.2)
a-- b
between 40° and 140°, in order to ensure a "good" force transmission. This
class of problems then, is of the general form (6.2.1), where the inequalities
(6.7). Fox and Gupta in this paper classify the different methods of solution
to this problem as; i) penaly function methods and ii) ~ methods. Penalty
function methods are dealt with in this section, whereas direct methods are
The idea behind penalty function methods is to approach the optimal solution
the optimum is approached within the feasible region or from outside of it.
not be taken into account here (These can be thought of as having already
been used to solve for the corresponding set of variables, thus dealing only
where all rk's are positive and observe a decreasing order, i.e.
and
This way, when trying to minimize ¢(~), the penalty term in Wk is positive
the feasible region if hi (~) is redefined as zero when the given constraints
(6.5.5) are violated. The solution to the original constrained problem, ~*,
is thus found as
x* lim ~(rk)
r k -+ 0
By allowing
(6.5.6)
by Fiacco and McCormick (6.10). If i values Xj (rk ), j ;= 1, ••• ,n; k;=1, ••. , i
The question of how to assign r 1 is dealt with by specifying that the penalty
(6,5.9)
x being the initial guess, lying of course within the feasible region. The
~O
where all rk's are again positive and observe now an increasing order, i.e.
This way, whenever vector ~ leaves the feasible region, the penalty function
increases, thus forcing the solution to apProach this region. Notice that,
Both interior and exterior penalty functions are shown in Fig 6.5.1, for
unconstr~ined problem, fOr each value of r. In this respect, there are three
possibilities;
i) The objetive function and the penalty term have first and second
a x
b
a b x
A: Constrained minimum
a) Interior penalty function B: Uhconstrained minimum b) Exterior penalty function
C.: Successive minima of
~ unconstrained problems
method requires the computation of the Jacobian matrix of the system, i.e.
procedure can then be carried out with the aid of subroutines NRDAMr, DECaMP
Case ii) Since no second derivatives, or at least not all of them, are
One can resort, however, to gradient methods, i.e. methods that require only
first derivatives, like the one of Fletcher and Reeves(6.11). This procedure
points,
d)
e)
has been found; if it does not, then repeat the procedure starting at
step c.
327
three stages: first, the order of magnitude of the distance between the
maximum x i + 1 and the previous one, ~i' is estimated; next, bounds for this
Case iii) In this case the most suitable method to solve the problem is
that of Powell (6.12) • The procedure is based upon searches along a set
said algorithm, then, may require more than n iterations to find the minimum
of a quadratic function.
a quadratic function.
The application of the penalty function method is next illustrated with two
simple examples.
1 < x < 2
0.1, r3 = 0.01
329
00
X- AXIS
wI (x) = 2x - r k (_ _1 -2 - 1 2) = 0
(x-1) (x-2)
Proceeding to solve the foregoing equation via the method of Newton-Raphson,
which clearly show the trend towards the minimizing value x* = 1.0 of the
parabola as
thus obtaining
i.e.
Let
Xl (r 11 0.7941, x 2 (r 1 ) 0.4704
Xl (r 2 ) 0.7140, x 2 (r 2 ) 0.3703
Xl (r 3 ) 0.6836, x 2 (r 3 ) ~ 0.3434
The obtained optimising values were then fit to a parabola for each component,
as follows
of
-
X*
'
a linear system of equations was obtained, whose roots were found
to be
Thus,
Xl Al 0.6687
x2 A2 0.3317
as can be verified from the condition that, at the minimum, the gradient of
2 2
the ellipses x 1 + 2x 2 = constan~must be normal to the line x 1 + x 2 = 1,
penalty function method, due to Fiacco and McCormick, has been published
Direct methods are those that handle inequalities as given, i.e. without
penalty function methods. There are several methods of this kind, but the
other hand, considers nonlinear constraints as such, but also requires first
method, however, does not require '-. '1:her linearity nor differentiability
at all and hence, results attractive when dealing with nonlinear problems
(for maximizing problems, simply change the sign of the objetive function),
(6.6.1)
where
To find the direction ~k' assume that the inequality constraints are linear,
Ax+b> 0 (6.6.2)
~ being an mxn matrix (m<n). There are two possibilities, namely, either
within this region, then ~k is just taken as the gradient of the objective
function, Le.
region, then some, say m' , of the m inequalities (6.6.2) become equations.
If the new value ~+1 is not going to violate the constraints (6.6.1), then
(6.6.4)
(6.6.4) is to be satisfied for all its components, then the search direction
Ae >0 (6.6.5)
--k -
to use a linear norm for it, instead of the Euclidean one, i.e. let
where e ik is the ith component of vector ~k. In order to turn the finding
of variable is introduced
(6.6.7)
Max (V~k)T(~k-t)
subject to
and
335
where the 2n involved inequality constraints arise from eq. (6.6.6). The
can arise two possibilities: the first one is that the optimising sk
difficulty is present; the other possibility appears when ~k+1 happens to fall
not hold any longer for all its components. Assuming that m' of the m
inequalities (6.6.4) are violated for the previously found optimising sk'
then there exist sik values smaller than sk (i=1, ••• ,m') for which the
a, ,x 'k+b,
1.J J 1.
(6.6.9)
aije jk
The gradient projection method, developed by Rosen (6.18, 19), performs the
search (for the optimum) initially along the boundaries of the feasible
the following:
2. Calculate the projection of the gradient onto the plane tangent to the
Let d~
ds
be the directional derivative of ~ along direction ~,
--
thus
(6.6.11)
dg T
--=-
ds
(Vg) e=O
-
(6.6.12)
e T e=1 (6.6.13)
(6.6.14)
yield
~dV~+VgA-2A
d~ _-
e=O
0--
(6.6.15)
from which
V~~+V~
e (6.6.16)
2A
o
337
(6.6.18)
which follows from the substitution of eq. (6.6.15) into eq. (6.6.12).
Hence, ~ is given as
e = (6.6.19)
constraint boundary is found. Let x' be the intersection of the line going
-p
than ~(~p)' one iteration is completed and the procedure is restarted. If,
search along the line connecting x and x'. Call x 1 the sought optimising
-p -p -p+
value, and return to step 1 with x 1 being set equal to x •
-p+ ~
all the same sign or some are zero, thus complying with the Kuhn-Tucker
If not all components of A bear the same sign, then some of these components
are deleted from it, keeping only those Ai (i=1,2, .•• ,q<r) with the same sign.
Next, drop the r-q components of g(~), i.e. those corresponding to the A'S
with a sign different from those of the A'S that have been kept. Then restart
the procedure at step 2. The PROJG program (6.13, pp. 399-411) implements
Rosen's algorithm.
338
The complex method, that is described next ,is due to Box (6.21) . Before
in two and three dimensions are the triangle and the tetrahedron, respec-
exist some techniques to define these vertices in such a way that they
quarantee that all of them fall into the said region, but they are
rejecting those that fall outside of the feasible region until the complex
is completed.
x
-c
(6.6.20)
x'=x -Q (x -x ) (6.6.21)
-w -c -w-c
where a is a real positive number whose value is recommended by Box to
be taken as 1.3
5. Two possibilities can arise at this stage: either ~~ lies within the
If x" again happens to lie outli\ide of the feasible region, a new value is
-w
again defined as the middle point between *c and~; , until the said new
value falls within the feasible region. Once the ~ejected vertex has been
that the regenerated feasible vertex is again the worst one. This situation
would slow down the convergence of the method. Box's algorithm takes account
Box's algorithm has been implemented in some computer programs, for instance the
one appearing in (6.13, pp. 368-385) and the OPTIM package (6.22,23). Two examples
Example 6.6.1 (Synthesis of an RRRR plane linkage for function generation with
except that now one constraint is introduced, namely that the input link be a
crank, the output one being left free to be either a crank or a rocker. Moreover,
Solution:
where cos~ is given as in (6.4.11). The decision variables are a and 8 (see
with
N and D (6.6.24)
The constraints guaranteeing that the input link is a crank are now derived.
shown in that figure to be possible, triangle R23 R34 R41 should exist. For
(i)
(ii)
system (6.4.23), it could well happen that some k i turned out to be negative,
which means angles ¢ and ~ of Fig 6.4.1 should be measured not referring
to the positions of lines R12 R23 and R41 R34 , respectively, but to lines
R12 R23 and R41 R34 ' where R23 and R34 are the symmetric points with respect
to R12 and R41 , respectively, of points R23 and R34 . Thus, in inverting
relations (6.4.8), care should be taken in order to obtain all ai'S positive.
(iii)
341
Squaring both sides of inequalities (i) and (ii) and rearranging terms lead ,
respectively, to
(iv)
(v)
Now, since
-1 ~ coslj!~ + (vi)
(vii)
and
(viii)
respectively. Hence, inequalities (vii) and (viii) are the sought constraints.
These are introduced into the OPTIM program, together with the constraints
since OPTIM requires that the decision variables be bounded from above and
from below.
OPTIM also requires that one vertex of the initial (feasible) complex be
supplied.
(x)
342
the intial complex. Since it sets the number of such vertices equal to 2n,
Table 6.6.1 .
Vertex No. 2 3 4
The values of the objetive function at each vertex are shown in Table 6.6.2
Vertex No. 1 2 3 4
following:
343
a = 103.30° S= 198.83°
The minimum value attained by the objective function was z=0.1008. The
The foregoing linkage was analysed for a whole revolution of its input
crank. Its transmission angle attained a mean value of 90°. Its cosine
appearing in Fig 5.2.1, which is here reproduced in Fig 6.6.1 for quick
Z.
1
X.
1
Solution:
The input-output synthesis equation for the given linkage was written down
as eq. (5.2.15). The input is now measured from a given reference line
axis Xi. The output angle is measured, in turn, from a given reference line
(6.6.26)
¢(degrees) ~(degrees)
30 45
45 60
60 90
90 60
150 30
The objective function defined in (6.4.9), where the integral would range
from 0 to 2n, is not valid here, because a value of 90° (or 270°) of the
transmission angle, does not guarantee a good torque ratio. In fact, due
to the 3-dimensionality of the linkage, it could happen that, even though
the transmission angle attains values close to 90°, the force transmitted
to the output link by the coupler link has a very large component parallel
to the output axis Xo. Hence, a more direct approach to the problem is
proposed, i.e. maximize a measure of the mechanical advantage. Now, this
measure should be positive definite, i.e. a norm of this function. The
maximal norm, max lvi, of the mechanical advantage is ruled out, because
it could happen that no matter how low this value is within the interval
345
quadratic norm is used. In order to cope with this problem, the integral
z = _21T
1 J21T 1 2
(-) d1jJ
V
(6.6.27)
o
where the integrand never becomes infinity. In fact, if friction is
v = d1jJ
M -1
- 1jJ (6.6.27a)
Thus, the inverse of the mechanical advantage becomes infinity only for
Introducing the results of Exercise 5.2.4, the conditions under which the
where land L are the smallest and the largest values of the length of
the coupler link, to guarantee mobility of the linkage for a given value of the
where
r =
and
346
(U 1/ 2+ -1/2 du 2t dt 0 (6.6.30)
a3)u d~ + d~ =
where
u = (6.6.30a)
and
(6.6.30b)
. 2 2
Squaring both sides of eqs. (6.6.30), substituting Sln ~ by 1-cos ~ and
(6.6.31)
(6.6.32a)
(6.6.32b)
(6.6.32c)
(6.6.32d)
(6.6.32e)
(6.6.32f)
(6.6.32g)
(6.6.32h)
(6.6.32i)
347
Squaring both sides of eq. (6.6.31) and simplifying the resulting expression
leads to
8
l: o (6.6.33)
i=O
where
2 2
bO-cO (6.6.34a)
(6.6.34c)
(6.6.34d)
(6.6.34e)
(6.6.34f)
(6.6.34g)
(6.6.34h)
(6.6.34i)
The real roots of eq. (6.6.33) provide the global maximum of ! and the
global minimum of L. These values are then substituted into relation {6.6.27}
to prove the feasibility of the linkage, i.e. the full rotatability of its
input link.
The synthesis procedure is next outlined. Since Table 6.6.2 contains five
contains 8 unknowns, namely k i (i=1,2, ••. ,8). Hence, the designer can choose
freely three of these unknowns. These are not arbitrarily chosen, however.
one can readily notice that kS' k6 and k7 contain only the angles a 4 , ~o
and W00 Thus, these angles are henceforth chosen as the decision variables.
Once these are defined, kS,k6 and k7 are uniquely determined. The remaining
6.6.2 into eq. (6.6.26). Thus, one obtains the linear system
~~ !? (6.6.3S)
where
T
x (k1 ,k2,k3,k4,kS)T, b (b 1 ,b 2 , b 3 , b 4 , b S) (6.6.36a)
-
with
cW 1 sW 1 c~l s~l
cW 2 SW 2 c~2 s~2
cW 4 SW 4 c~4 s~4
sW(k1-k6s~-c~)+cW(kSc~+k7s~-k2)
v (6.6.37)
s~(kSsW+cW-k3)+c~(k4-k6cW-k7s~)
as
-1 ~
W = 2tan (-B ~ IB~-AC) (6.6.3S)
(6.6.39a)
349
c {k3-1)c4>-{k4-k6)s4>+k8+k1 (6.6.39c)
The OPTIM package, refered to in Example 6.6.1, was used also to solve the
present problem. This requires that the decision variables be bounded from
below and from above. In this problem, these variables are then bounded as
(6.6.40)
OPTIM requires that the user provides one vertex of the inicial feasible
(6.6.41 )
vertex is identical to that corresponding to the first one. They are distinct
out that all dimensions are shown normalised with respect to a 4 , for which
The values of the objective function at each vertex are shown in Table
6.6.3.
Vertex No. 1 2 3 4 5 6
Objective
function z 1.6680 1.6684 0.1261 2.6544 0.5692 0.2962
350
lenghth) :
s4 =- 8.3149 (6.6.43)
The OPTIM package automatically generates the other vertices of the initial
complex. It sets the number of such vertices equal to 2n which, for this
first vertex" of the complex, the remaining ones appearing in Table 6.6.4.
Vertex No.: 2 3 4 5 6
The minimum value attained by the objective function was z=O.0587. Hence,
The complex method has already been successfully applied to the optimal
generation (6.25).
352
REFERENCES
6.1 Athans M. and P.L. Falb, Optimal Control, McGraw-Hill Book Co., N.York,
1966.
6.12 Powell M. J. D., "An efficient method for finding the minimum of a
function of several variables without calculating derivatives",
Computer Journal, vol. 7, No.4, 1964, pp. 155-162
6.13 Kuester J.L. and J.H. Mize, Optimization Techniques with Fortran,
McGraw-Hill Book Co., 1973, pp. 412-463
6.15 Suh C.-H. and C.W. R~dcliffe, K~nematics and Mechanisms Design, John
Wilex and Sons, Inc., N. York, 1978, ~V. 221-235
6.18 Rosen J.B., "The gradient projection method for nonlinear programming,
Part I, Linear constraints", Journal of the SIAM, vol. 8, 1960, pp
6.19 Rosen J.B., "The gradient projection method for nonlinear programming,
Part II, Non-Linear constraints", Journal of the SIAM, vol. 9, 1961,
pp. 514-532.
6.20 Beveridge G.S.G. and R.S. Schechter, Optimization: Theory and Practice,
McGraw-Hill Book Co., N. York, 1970, pp. 469-472
6.21 Box M. J., "A new method of constrained optimization and a comparison
with other methods", Computer Journal, vol. 8, 1965, pp. 42-52
6.23 Murray M.A., E. Chicurel, L.B., Evans, F. Lara, A. Guarda and J.F.
Albarran, Aplicaciones de Computacion a la Ingenierla, Limusa, Mexico
City, 1975.
6.24 Rojas A., Slntesis de Mecanismos RSSR generadores de funcion con ventaja
mecan~ca optima, Master's project, Division de Estudios de Posgrado,
Facultad de Ingenierla, UNAM, Mexico City, 1981.
6.25 Dukkipati R.V., Sankar S. and Osman M.O.M., "On the use of complex
method of constrained optimization in linkage synthesis", Proceedings
of the V World Congress on the Theory of Machines and Mechanisms,
Montreal, July 8-13, 1979, pV' 382-387.
Appendix!
ALGEBRA OF DYADICS
Let U and V be m- and n- dimens~onal vector spaces over the same field F.
Let U={u ,u 2 , ••. ,u } and v={v 1 ,v , ••. ,v } be bases for each of these
-1 - -m - _2 -n
spaces. The tensor product of U and V, in this order, is a space W repre-
Each of or, in general, any expression of the form w=aab, where e£U
~.av.
~ -] -- -
and b£V is refered to as a dyadic. From the above definition, then any
of W, i.e. as
(A1.1)
of numbers (of the field over which the corresponding vector space is
basis, dyadics are also expressed as arrays (in this case, two-dimensional)
(A 1.2)
Hence, dyadics or second-rank tensors, as they are also referred to, are
dyadics. For instance, given two dyadics, p and q, both of W, they are
dot multiplication of a dyadic ~~ times the same vector c where the components
represented as
~e·~=(e·~)~
result is a new vector whose value equals that of the left vector of the
dyadic times the dot product of its right vector and the vector mUltiplying
the dyadic. Similarly, the left dot mUltiplication of a dyadic times a vector
is defined as
~.~I:=(c.a)b
space, in the foregoing discussion, define the right- and the left- cross
Given two dyadics, ~~ and ~~, both of the same space W, their product is
- --
E=ab.dc=(b.d)ac
tensor products of one vector space times itself. The trace of such a dyadic
Tr(ab)=a.b.=a.b
-- 1 1 - -
Exercise A1.2 Show that the vector of a nonzero 3x3 dyadic vanishes if
I
the dyadic is self-conjugate
Exercise A1.3 Define a suitable inner product of dyadic that allows you
to define the angle between two dyadics. Hence show that self-conjugate
In just the same way as dyadics were defined, n-adics can be defined as
the tensor product of n vector spaces. The study of such algebraic entities
falls into the realm of multilinear algebra. The topic is widely discussed
in reference A1.1
REFERENCES
A1.1 Bowen R.M. and C.C. Wang, Introduction to Vectors and Tensors, vol. I,
Proof:
at da 1n
f' (t)=df = ~ da H + ~ da 2i + +---- (A2.2)
dt aa 1i dt aa 2i dt aa 1n dt
By means of the index notation then, the right hand side of eq. (A2.1) can
be simplified as
at da"
f' (t)= - - dt F (A2.3)
aa ..
J~
then
at· T
f' (t)= Tr{(aa.)~ (t) }, q.e.d. (A2.6)
Proof:
'
Expan d 1ng d th co 1 umn,
et A'1n terms 0 f t h e co f actors 0 f"1ts 1--
(A2.7)
does not imply sum, as it usually does in the contex of the index notation.
Without having to resort to the index notation, the right hand side of
eq. (A2.7) can be written in the compact form (i refers to any particular row)
CldetA
---=
Cla
c
ij ij
Letting ~ be the matrix whose (i,j) entry is c,' eq. (A2.9) can be written
1J
in the form
CldetA
~=c (A2.10)
-1
A (A2. 11)
detA
then
-1 T
C= (detA) (A ) (A2.12)
-1 T
~ = (detA) (A ) , q.e.d. (A2.13)
THEOREM A'Z. 3 Let ~ be. an nxn maVU.x 6u.nc;Uon 06 a. .6c.ai.a1t altgume.nt :to
The. deM.va;t,[ve. 06 d~ wilh Jtupe.et :to :t i.A given a..6
359
the proof of Theorem A2.3 follows directly from Theorems A.2.1. and A.2.2,
COMPUTATION OF EijkEtmn
E={~1'~2'~3}. Thus,
Eijk=det ~ (A3.1)
where the brackets contain 3x3 matrices whose rows are the components of
'ijk'lmn=det :~::]det[:i::]
Since transposing a matrix does not alter the value of its determinant,
Now, introducing the fact that the product of the determinants of two
-d {r.T:
EijkEtmn- et l~ ,J,
.T:kT)[-~:-
_~ __
]}=
=det iTm
.T
~ ~
.T .T
~ n J n
361
REFERENCES
In Fig A4.1 let A and B be the circular and center points of Burmester
theory (A4.1),i.e. all positions AO,A 1 , ... ,An of point A lie on a circle
centered at B. Let r, (j=1, •.• ,n) denote the complex number corresponding
J
to point Rj in the complex plane. Complex numbers aO,bO,aj,b j are defined
(M.1 )
Hence
(M.2)
363
But
. a'
a =e~ J a (A4.3)
j 0
. a'
b =(1-e~ J)a +b -r (A4.4)
j 0 0 j
(A4.7)
(A4.8)
A.a. 2 2
II (!_e- J J)aO+bo-r.11 =11!?oll , j=1, ... ,n (A4.9)
- - -J
The striking formal similitude between the plane and the space synthesis
and (A4.9)
REFERENCES
A4.1 Burmester R., Lehrbuch der Kinematik vol. 1, "Die ebene Bewegung",