HOW TO INVESTIGATE CONSTRAINTS AND MOTIONS IN ASSEMBLIES BY SCREW THEORY

Intelligent Computation in Manufacturing Engineering - 4
HOW TO INVESTIGATE CONSTRAINTS AND MOTIONS IN
ASSEMBLIES BY SCREW THEORY
S. Gerbino*, F. Arrichiello**
* Dept. of Industrial Engineering Design and Management (DPGI), Univ. of Naples, Federico II,
P.le Tecchio 80, 80125 Naples, Italy
** Dept. of Automation, Electromagnetism, Information Engineering and Industrial Mathematics
(DAEIMI), Univ. of Cassino, Via Di Biasio 43, 03043 Cassino (FR), Italy
Abstract
The use of the screw theory to do constraint analysis is described. Screw theory uses a matrix
representation to describe, for any mating features, the part's degrees of freedom (twist-matrix) and
the directions along which the constraint reacts (wrench-matrix). From these screw-matrices it is
possible to individuate the exact constraint conditions of parts into the assembly. Starting from the
basics of this theory, how to get screw parameters (constrained directions and degrees of freedom)
from screw-matrices is analyzed and how to make the constraint analysis for several serial and
parallel constraint configurations is described. Finally, a MATLAB algorithm to analyze possible
constraints and motions in assemblies with any complexity is presented.
Keywords:
Constraint Analysis, Kinematic Motion, Screw Theory, Assembly Feature
1 INTRODUCTION
In the design stage, motion and constraint analysis of all
the parts of the assembly is an important task to avoid fitup problems during the assembly process. The importance
of this kind of analysis is related not only to the kinematic
analysis of the object but, generally speaking, to the wide
considerations that it permits to do in the different design
stages and assembly analysis.
From a design point of view, the constraint analysis
permits to point out undesirable under-constraints or overconstraints.
Under-constraints, which occur when the mating parts
have some degrees of freedom (dofs), could generate
undesirable motions of some parts and bring to particular
configurations of the assembly that do not permit the
product to work correctly. The search for underconstraints, in the assembly process, has to be done not
only to evaluate the presence (required or not) of
kinematics but also to correctly plan assembly sequences
and to perform a suitable design of fixtures.
Over-constraints, which occur when more than one
constraint locks the same dof, could bring to different kind
of problems. At first, it could generate mechanical stresses
that could cause deformation or failure of parts. In the
second place, over-constraints do not let the
individualization of univocal tolerance chains (the real
tolerance chain depends on the real local contact that is
not definable a priori). Another kind of problems due to
over-constraints could be met during the robotic assembly
operations. In this case, over-constraints in the contact
between the manipulated object and the environment
make difficult the interpretation of the information from
force sensors.
In this paper, motion and constraint analysis will be dealt
with the aid of the screw theory.
Most significant related works will be outlined in the next
paragraph. In the third section, the fundamentals and the
properties of the screw theory will be shown. In the fourth
section, examples of screw-matrices and how to interpret
them will be illustrated. In the fifth paragraph, how to obtain
the screw-matrix when the parts are all connected in serial
or parallel way will be pointed out. In the sixth and in the
seventh sections, an algorithm to obtain the screwmatrices when the parts are connected in a generic way
will be described. Finally some considerations about overconstraints will be pointed out.
2 PREVIOUS RELATED WORKS
The application of Screw Theory to kinematic field started
with the studies of Waldron [1] and Davies [2].
In [3] different types of contact in robotic field were
characterized by screw theory.
Baker [4] developed screw system algebra to solve for the
mobility and degree of redundancy in both planar and
spatial mechanisms. 17 types of constraints spanning the
set of all possible constraint configurations were defined in
[5] for robot assembly. From this feature library, Konkar [6]
introduced screw system representation of assembly
mating features, and outlined the calculation of the
possible finite rigid body motions in simple mechanisms. In
[7] and [8] the screw theory was successfully applied both
for constraint and motion analysis. [9] extended the
Konkar's method to more complex assemblies. An
extended overview of the screw theory very recently
appeared in [10].
3 PROPERTIES AND DEFINITIONS
Screw theory, already known at the beginning of XX
century, is particularly suitable to the kinetostatic analysis
of a rigid body. This theory is based on the well-known
theorems of Chasle and Poinsot.
Chasle’s theorem: a motion of a rigid body can be
represented by a rotation of the body around an
instantaneous screw axis and a translation along the same
axis.
Poinsot’s theorem: any system of forces and moments
(generalized forces) acting on a rigid body can be uniquely
replaced by one force and one moment. This force will be
located along the same instantaneous screw axis around
which the moment acts.
Twist and Wrench, fundamental concepts of the screw
theory, will be introduced to describe motion and force.
A twist is a screw (see below), which describes to first
order the instantaneous motion of a rigid body. It is a
unified representation of the translational and rotational
velocity. The first triplet represents the angular velocity (ω)
of the body with respect to a global reference frame. The
second triplet represents the linear velocity (ν), in the
global reference frame, of the point of the body that is
instantaneously superimposed to the origin of the global
reference frame:
ν = r×ω;
T = [ωx ωy ωz vx vy vz].
For only linear motion, the first linear entries are zero,
while, if the rotation axis passes through the global
reference frame, the second triplet entries are zero.
A wrench is a screw, which describes the resultant force
and moment of force system acting on the rigid body. The
first triplet represents the resultant force in a global
reference frame, while the second triplet represents the
resultant moment of the force system about the origin of
the global frame.
mi = ri × fi ;
f =
fi ;
m=
mj ;
∑
i
∑
j
W = fx fy fz mx my mz  .
Due to the affinity between twist and wrench, the concept
of screw will be introduced.
A screw is an ordered set of two triplets and represents
indistinctly a twist or a wrench. This unified representation
can be realized thanks to the structural similitude of twists
and wrenches: the first triplet (angular velocity/force)
represents a linear vector (rotation axis direction/ force
acting line); the second triplet (linear velocity/moment)
represents a free vector. The only point associated to the
screw is that whose velocity is represented in the twist or
that to which the moment is evaluated.
A twist-matrix is a matrix representation of a set of n twists,
each one represented by a row of the matrix. The matrix
has dimension (n×6), while its image has dimension equal
to the matrix rank. From a physic point of view the matrix
image is the set of all the independent motions that the
body or the joint can support.
In the same way a wrench-matrix can be defined.
Reciprocity is the most useful property of the screw theory.
A twist T = [ω | ν] and a wrench W = [f | m] are reciprocal
if: m·ω + f·ν = 0, that is, the virtual work of the wrench
along the directions of the twist is null (mathematically
speaking, the twist-matrix is the complementary space of
the wrench-matrix).
If two constrained parts are rigid, if the surface contact is
frictionless, and if the contact between the parts does not
break, then twist and wrench associated to the constraint
are reciprocal. This property permits to move easily from
the twist-matrix image to the wrench-matrix image and vice
versa.
The calculation of the reciprocal of a screw-matrix consists
in two operations: (I) calculating the transpose matrix of
the null of the screw-matrix, (II) changing the first three
elements with the second three (flip operation). This
operation is necessary in order for the elements of the
resulting wrench to come out in the order [f | m]. The
resultant sum of the dimensions of both the screw-matrices
is equal to 6:
dim(screw) + dim(recip(screw)) = 6.
For a set of screw-matrices, two different operations can
be defined: union and intersection.
The union of a set of screw-matrices is the operation of
concatenation to make a matrix in which every screw is a
row:
 s1 
 
Union ( s1, s2 ,..., sn ) =  s2 
...
sn 
 
The intersection of a set of screws s1, s2, …, sn is the set of
screws common to all of them. From a mathematical point
of view, this operation has a complex resolution but this
problem can be avoid using the reciprocity property as
developed by Konkar:
 n

Intersection ( s1 ,s2 ,...,sn ) = reciprocal  reciprocal ( si ) 


 i =1

U
  reciprocal ( s1 )  


= reciprocal  reciprocal ( s2 )   .
...
  reciprocal ( s )  
n 

4
EXAMPLES AND INTERPRETATION OF A SCREWMATRIX
The screw theory lends itself to the description of the
instantaneous motion of a constrained rigid body and of
the force that it can exchange with the constraint. The
twist-matrix building process, relatively to a rigid body
constrained to a fixed body through a frictionless joint, will
be showed. Figure 1 depicts some elementary mating
joints. [11] [12]
Prismatic joint. A prismatic joint permits only a translation
along a specific direction of the space, leaving to the body
one degree of freedom. Its twist-matrix is made only by a
row in which the first triplet (angular velocity) is null, while
the second triplet represents the unit vector components of
the translation direction.
T = [0 0 0 a b c] or easily T = [ 0 | v ].
The wrench-matrix can be calculated using the reciprocity
property and it will have five rows (rank=5). Every row of
the wrench-matrix represents a vector of the base of the
reciprocal space of the twist. The easiest structure is
d e f 0 0 0 
g h i 0 0 0 
W = 0 0 0 1 0 0 
0 0 0 0 1 0 
0 0 0 0 0 1 
where vectors [a b c], [d e f] and [g h i] are mutually
orthogonal.
Rotational joint. A rotational joint permits only a rotation
around a specific axis in the space, leaving only one
rotational dof to the body.
Then, the twist-matrix is made only by a row. Supposing
that the vector r = [p1 p2 p3] represents a point of the
rotational axis and that ω = [a b c] represents the unit
vector of the axis, the twist matrix will be:
T=[ ω | v], where v = r × ω = [d e f ].
The corresponding wrench-matrix will be:
1
0
W = 0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
g
0
0 −d 
0 −e 
0 −f 
0 h
i f 
where [g 0 h], [0 i f] and [a b c] vectors are mutually
orthogonal.
Cylindrical joint. A cylindrical joint permits two
independent kinematical motions: a translation and a
rotation around the same axis. So this joint leaves two
independent dofs.
Then, the twist-matrix has two rows, one representing the
rotational motion, the other one representing the
translational motion. The translational axis is coincident
with the rotational one (ω) and the matrix is:
T = ω | v  , where v = r × ω, and r is the positional
 0 | ω 
vector of a point of the axis.
The wrench-matrix has a structure like:
W =  A B  , where the block A(2x3) is made of two vectors
 0 A
which are orthogonal each other and with ω; the block
B(2x3) has two columns with null elements; the block 0(2x3)
has all null elements.
Intelligent Computation in Manufacturing Engineering - 4
union of the set:
n
TSerial =
UTi .
i =1
Theorem 4: The resultant of the wrench transmitted to the
terminal part of a simple chain of n serial constraints is the
intersection of the set:
n
WSerial =
IWi .
i =1
Figure 1: Examples of assembly features.
4.1 Interpretation
The interpretation of a screw matrix is the process through
which, analyzing the matrix, one may find constraint
conditions and dofs out [13]. This interpretation becomes
necessary to evaluate the results of a motion or constraint
analysis process for a part or an assembly. To understand
the meaning of a screw-matrix, is necessary to analyze the
environment in which it is inserted. Is it a wrench or a
twist? Which is the reference system? Which part or
feature is the matrix associated to?
Once analyzed the context, it is possible to begin the
numerical analysis. The matrix has to be analyzed row by
row, after simplifying it with the rref (row-reduced echelon
form) operation (some elements are scaled to unity).
Moreover, if it has not a full rank, the rows which are linear
combination of others should be eliminated, thus the final
rows represent a minimal basis of the screw space.
For a twist-matrix each row represents one dof (rotational,
prismatic or helical). The resultant instantaneous
movement is a linear combination of all the dofs
represented by the rows. For wrench-matrices, equivalent
considerations can be done.
5 DIFFERENT COMBINATION OF CONSTRAINTS
An assembly is made up of several parts everyone of them
is constrained, through one or more assembly features, to
one or more parts. To carry out a kinetostatic analysis of
the assembly parts, to find a procedure that permits to
calculate the twist- or wrench-matrix for a generic
constraint structure is necessary. This procedure foresees
a correct combination of serial and parallel constraints
properties. So four theorems will be enunciated [6].
Theorem 1: The resultant of a set of n wrenches acting in
parallel on a body is the union of the set:
n
WParallel =
UWi .
i =1
Theorem 2: The resultant of a set of n twists acting
separately on a body through multiple constraints is the
intersection of the set:
n
TParallel =
ITi .
i =1
Theorem 3: The resultant motion, which the terminal part
of a simple chain of n serial constraints can perform, is the
The criteria for a generic structure of constraints derive
from these four theorems.
The different constraint conditions, that can occur, are
called over-constrained, under-constrained or properlyconstrained and have to be analyzed in the different screw
space directions.
A part is over-constrained along a direction of the screw
space if more than one constraint lock the same motion
along that direction.
A part is under-constrained along a direction if no
constraint locks the motion along that direction.
If the motion along a direction is locked only with the
minimum number of constraints the part is called properlyconstrained along that direction.
Several researchers ([7] [8] [14] [15]) have shown how to
analyze constraints when features or parts act in serial or
parallel way, as in Figure 2.
Y
Y
Z
Z
Z
X
X
X
f1
Y
Y
f2
Y
(a)
(b)
Figure 2: (a) Parallel assembly features and (b) serial
parts. For the chosen combination of features in (a), there
will be no motion and over-constraints along Z axis, and
around X and Y axes. Its resultant wrench-matrix is:
[0 0 0 –1 0 0; 0 0 0 0 –1 0; 0 0 1 0 0 0]).
Rarely an assembly is made up of only serial or parallel
constraints, so it is necessary to find out a procedure to
study assembly with generic structure of constraints. On
this topic, some studies have been done from different
researchers [6] [16], but several mistakes make the
proposed algorithms useful only for simple assemblies.
Some examples of serial and parallel features in over-,
under- and properly-constrained can be easily found in
literature (see [7] and [9])
In the following section an algorithm that can be used also
for complex assemblies will be presented.
6 ALGORITHM
On the basis of all the above considerations, in this work
the authors present an algorithm, implemented in
MATLAB® environment, to calculate the twist-matrix of a
generic part of an assembly with any complexity.
Using a feature-based approach, the assembly can be
considered as a set of parts linked by assembly features.
These features, on the basis of their different typology,
lock several dofs and can be characterized by their relative
twist- or wrench-matrices.
The first part of the algorithm consists in an appropriate
description of the assembly. The structure (or skeleton) of
the assembly can be described by a matrix representing
the Liaison Diagram (LD) [17] or the Datum Flow Chain
(DFC) [18] by the location of the features with respect to
the part co-ordinate frame, and by the twist-matrices of all
the assembly features.
The DFC is a directed acyclic graphical representation of
an assembly with nodes representing parts or fixtures and
arcs (with arrows) representing mates between them. A
DFC may be mathematically represented by a matrix in
which each row is related to one part, and each column is
related to an existing link between two mating parts. Each
element of the matrix can be 0 or 1 (+1 for constraining
part, and –1 for constrained part). The LD is similar to the
DFC but arcs are not oriented (no arrows). See [18] for
more detail on DFC.
Thus, in the program, the first step is to insert the DFC
matrix and the twist-matrices of all the mating features of
the assembly (opportunely chosen by a graphical
interface).
After inserting data, the algorithm starts the analysis.
The first elaboration regards the individualization of all the
paths linking the fixed parts to that one of which the twistmatrix calculation is of interest. This operation can be
realized analyzing and decomposing the DFC matrix to
calculate all the paths from two selected parts (Figure 3)
(the path decomposition can starts from LD; in the
algorithm the DFC is used to locate mating-features with
respect to one of the mating parts).
results made by six parts 0,1’,1’’,2,3,4 where 1’ and 1’’ are
geometrically superimposed, but can move independently
(Figure 4). The assumption loses the information that 1’
and 1’’ are the same part or, equally, that the parts have to
make the same movements. The link E is common to the
paths and it has to be considered during the computation.
4
2
4
4
3
2
3
3
B
1
2
C
A
D
1
1 1'
E
0
0
0
Figure 4: Assembly and Liaison Diagram.
This example shows how important is to distinguish
between links common or not to several paths.
The twist-matrix related to the combination of two paths
can be calculated by the union of the twist of the links
common to the paths with the twist calculated as the
intersection of the twist of the sub-paths without common
links.
4
1
3
4
4
2
1
1
3
3
2
Figure 5: Example of Liaison Diagram. Decomposition and
re-composition process.
2
4
1
1
2
3
2
4
4
4
1
3
2
3
2
Figure 3: Path search by using LD.
Once the paths have been find out, the algorithm has to
mathematically combine the twists of the paths or subpaths to correctly calculate the final twist-matrix.
Several algorithms in literature made mistakes calculating
twist-matrices for complex parts, using wrongly the
serial/parallel properties of screw-matrix. For example in
[6], from a mathematical point of view a wrong property
was supposed. Konkar supposed that the twist matrix
obtained as T=((TA∪TB)∩(TC∪TD))∪TE was equivalent to
T=(TA∪TB∪TE)∩(TC∪TD∪TE).
As shown by Shukla, with this assumption the twist-matrix
loses important information. In fact, when calculating the
twist-matrix of part 4 of the assembly shown in Figure 4,
considering part 0 fixed, Konkar’s algorithm fails. In this
example, the two paths linking parts 0 to 4 are {A,B,E} and
{C,D,E}. With the previous assumption, the assembly
Links common to all the paths are utilized to find the subgroups that need successive decompositions.
In the example shown in Figure 5, twist-matrix can be
calculated as the union of the twists of common links (bold
line) with the twists of the two sub-groups (each subgroup’s twist is the intersection of sub-paths’ twists).
When all the paths linking two parts are found out, all the
paths that include a same link are grouped. The twistmatrix of each group has to be separately calculated and
intersected with the twist-matrices of other groups.
The link/s common to the paths of the group has/have to
be considered as in the previous example and eventually.
If the common links are in the middle of some paths, they
separate the group in sub-groups. Each sub-group is
recursively decomposed until it is made only by one link.
Once all the sub-groups are decomposed, it is necessary
to operate correctly with unions and intersections. So
during the decomposition all the operations are registered.
The last operation is the correct re-composition. The
numerical calculation can start only after the end of all the
decompositions and it has to be executed starting from the
last levels of the decomposition.
The algorithm, which is applicable to any generic
assembly, works in a recursive way and, during the
decomposition, it needs a particular organization of the
Intelligent Computation in Manufacturing Engineering - 4
necessary information for successive decompositions and
for final re-compositions. This computational complexity is
necessary for assemblies with a branched link structure.
For practical realization, MATLAB’s multi-dimensional
structured arrays have been utilized. During each
decomposition level, all the paths, including parts, and the
operation to be executed at this level, as well as the
information about successive levels, are opportunely
registered.
These results show that parts one and two have some
dofs. Considering that the structure is planar, the only
movement locked is the instantaneous translation along Y
axis.
Example n°2
4
7 EXAMPLES
In this section two examples of assemblies analyzed with
the described algorithm will be shown.
3
5
Example n°1
2
6
1
11
4
Y
7
1 1
1
0
3
X
One
f3
Two
f1
f2
f4
Figure 8: Example n°2.
4
X
PCS2
PCS1
2
Three
GCS≡PCS3 Y
Figure 6: Example n°1.
The assembly depicted in Figure 8 is a planar structure of
six parts linked by rotational joints.
This example shows that algorithm works also for more
complex link structures.
The parts are linked as shown by the DFC in Figure 9.
0
The assembly shown in Figure 6 is made by three parts
mutually linked and with DFC shown in Figure 7.
6
1
1
a
a
b
2
c
3
b
c
1 1
0
1


2 − 1 1
0
3  0 − 1 − 1
5
2
3
4
01

1-1
20

30
40

50
60
0
0
0
0
1
0
1
-1
1
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0

0
-1

0
0

1
0
Figure 7: DFC and DFC-matrix of the example n°1.
Figure 9: DFC and DFC-matrix of the example n°2.
Each part position (and orientation) is described through
the Part Coordinate System (PCS) position, measured in a
Global Coordinate System (GCS). In the algorithm, each
Coordinate System is inserted as a vector of six elements,
three representing the origin position, three representing
the orientation in term of Euler angles XYZ (in degree).
PCS1 = (2 4 0 0 0 0 )
PCS2 = (2 1 0 0 0 0 )
PCS3 = (0 0 0 0 0 0 ).
Each feature is located with respect to the co-ordinate
system (PCS) of the part signed as 1 in the DFC.
In the example, feature f1 represents a pin-hole planar
joint (1dof; rotational joint), f2-f3-f4 represent pin-slot
planar joints (2 dofs: one rotation and one translation).
Their location in the relative PCS are:
f1 = (2 1 0 0 0 0)
f2 = (2 4 0 0 0 0)
f3 = (2 1 0 0 0 -90)
f4 = (2 7 0 0 0 0).
If the link between two parts is made by more than one
feature, as between parts one and two, the algorithm has
to calculate the resultant twist-matrix of the link.
Tw1-2 =[0 0 1 1 -2 0].
Once asked for fixed parts, the algorithm elaborates the
data and gives the results.
Considering fixed the part three, the twist-matrices of parts
one and two are:
T2 = 0 0 1 0 −4 0  ; T1 = 0 0 1 0 −4 0  .
0 0 0 1 0 0 
0 0 0 1 0 0 
The location of the PCSs are:
PCS0 = (0 0 0 0 0 0)
PCS1 = (0 .5 0 0 0 90)
PCS2 = (-.5 1.5 0 0 0 -45) PCS3 = (.5 1.5 0 0 0 45)
PCS4 = (0 2 0 0 0 0)
PCS5 = (-1 1 0 0 0 45)
PCS6 = (-.5 .5 0 0 0 -45).
Each link between two parts is made only by one feature,
localized with respect to the PCS of the parts signed as 1
in the DFC.
f1-2= (.5 0 0 0 0 0)
f0-1= (0 0 0 0 0 0)
f1-3= (.5 0 0 0 0 0)
f2-4= ( − 2 2 0 0 0 0 0)
f3-4= ( 2 2 0 0 0 0 0)
f0-6= (0 0 0 0 0 0)
f6-5= ( − 2 2 0 0 0 0 0) f5-2= ( 2 2 0 0 0 0 0).
Considering fixed the part zero, the twist matrices of some
parts are:
0 0 1 0 0 0 
0 0 1 0 0 0 
TW 3 = 
TW 5 = 


0
0
0
1
0
0
0 0 0 1 1 0 


TW 6 = 0 0 1 0 0 0  .
These results show that the part 6 can only rotate around
Z axis; part 3 can rotate around Z and translate along X,
but it cannot translate along Y; part 5 can rotate around Z
and translate along [1 1 0] direction, but it cannot translate
along [1 -1 0] direction. For parts with multiple dofs (i.e.
Part 3 and 5) all linear combinations of twist-matrix rows
are allowed.
8 OVER-CONSTRAINTS
The algorithm presented in the previous section permits to
calculate the twist matrix of a generic part for a generic
links structure. This matrix represents the underconstrained directions (along which the motion is allowed).
The over-constraints condition analysis is more complex.
These conditions can occur when two or more features (or
when two or more links chain) locking the same dof. The
over-constraint analysis among features of the link
between two parts is relatively easier because features act
in parallel. The problem consists only in the evaluation of if
the intersection among their wrench matrices are null sets
or not. Over-constraints can occur not only among all the
features of the link but also among a part of them. Thus,
the intersection has to be calculated among all the
possible combination of feature (Figure 10). Increasing the
number of features, this operation becomes more
computational complex.
A
B
D
C
Figure 10: Intersections among sets.
In [16] an algorithm to simplify these operations is
presented, even though it loses information about which
features present the non-null intersections.
To find over-constraints out in a link structure is extremely
complex. Over-constraints can occur in a circular path or in
a closed net path. Except for simpler cases in which link
chains can be considered as of sub-chains acting in
parallel (figure 11.A), the individuation of intersections
among paths is not yet resolvable (figure 11.B).
1
A
2
1
B
3
5
4
2
3
4
6
7
5
6
7
Figure 11: Link structures.
9 CONCLUSIONS
Screw theory provides a complete method for determining
the mathematically exact kinematic state of assemblies. It
can be used to analyze the state of motion and constraint
in assemblies joined by arbitrary combinations of assembly
features. Through both twist-matrix and wrench-matrix it is
possible to individuate the exact constraint conditions of
parts into the assembly. How to make the constraint
analysis for several serial and parallel constraint
configurations has been described, and a MATLAB
algorithm to analyze possible constraints and motions in
assemblies with any complexity has been presented.
Starting from the graphical representation of the assembly
described by a Datum Flow Chain, the search for all the
real paths existing between two any parts of the assembly,
and how to combine them to get the final twist-matrix has
been described. Some final considerations about the
applicability of such a method
assemblies has been finally outlined.
on
over-constraint
10 REFERENCES
[1] Waldron, K.J., 1966, The Constraint Analysis of
Mechanisms, Journal of Mechanisms, Vol. 1, pp.
101-114.
[2] Davies, T.H., 1981, Kirchoff's Circulation Law Applied
to Multi-Loop Kinematic Chains, Mechanism and
Machine Theory, Vol. 16, pp. 171-183.
[3] Mason, M.T., Salisbury, J.K., 1985, Robot Hands and
the Mechanics of Manipulation, MIT Press,
Cambridge, MA.
[4] Baker, J.E., 1980, Screw System Algebra Applied to
Special Linkage Configurations, Mechanism and
Machine Theory, Vo1. 15, pp. 255-265.
[5] Kim, M.G., Wu, C.H., 1994, Modeling of part mating
strategies for automating assembly operations for
robots, IEEE Transactions on Systems, Man, and
Cybernetics, vol. 24, no. 7, pp. 1065-1074.
[6] Konkar, R., 1993, Incremental kinematic analysis and
symbolic
synthesis
of
mechanisms,
Ph.D.
Dissertation, Stanford University, Stanford, CA
94305, USA.
[7] Adams, J., Whitney, D.E., 1999, Application of screw
theory to constraint analysis of assemblies of rigid
parts, Proceedings of the 1999 IEEE International
Symposium on Assembly and Task Planning
(ISATP), Port, Portugal July 1999.
[8] Adams, J., Gerbino, S., Whitney, D. E., 1999,
Application of screw theory to motion analysis of
assemblies of rigid parts, Proceedings of the 1999
IEEE International Symposium on Assembly and
Task Planning (ISATP), Port, Portugal July 1999.
[9] Shukla, G., Whitney, D.E., 2001, Systematic
evaluation of constraint properties of Datum Flow
Chain, IEEE ISATP, Fukuoka, Japan.
[10] Whitney D.E., 2004, Mechanical Assemblies: their
Design, Manufacture, and Role in Product
Development, Oxford University Press, New York.
[11] Smith, D., 2001, Constraint analysis of assemblies
using screw theory and tolerance sensitivities, Master
of Science Thesis, Dept of Mechanical Engineering,
Brigham Young University.
[12] Bruyninckx, H., 1995, Kinematic Models for Robot
Compliant Motion with Identification of Uncertainties,
Ph.D. Thesis, Dept of Mechanical Engineering,
Katholieke Universiteit Leuven, Belgium.
[13] Arrichiello, F., 2003, Il ruolo degli assemblaggi
meccanici nella progettazione e nelle operazioni
robotizzate, MS Thesis (in Italian) in Mechanical
Engineering, University of Naples, May 2003.
[14] Adams, J.D., 1998, Feature Based Analysis of
Selective Limited Motion in Assemblies, M.S. Thesis,
Mechanical Engineering. Cambridge, MIT, February.
[15] Whitney, D.E., Matripragada, R., Adams, J.D., Rhee,
S.J., 1999, Designing Assemblies, Research in
Engineering Design, 11: 229-253.
[16] Shukla, G., 2001, Augmenting Datum Flow Chain
Method to Support the Top-Down Design Process for
Mechanical Assemblies, MS Thesis, MIT Cambridge
MA, June 2001.
[17] Bourjault A., 1984, Contribution a une approche
méthodologique
de
l’assemblage
automatise:
élaboration automatique des sequnces opératoires.
Ph.D. Dissertation, Université de Franche-Comté.
[18] Matripragada, R., Whitney, D.E., 1998, The Datum
Flow Chain: A systematic approach to assembly
design and modeling. Research in Engineering
Design, 10: 150-165.