Hindawi Publishing Corporation Mathematical Problems in Engineering Volume 2016, Article ID 1761968, 13 pages http://dx.doi.org/10.1155/2016/1761968

Research Article Recognition of Kinematic Joints of 3D Assembly Models Based on Reciprocal Screw Theory

Tao Xiong,1 Liping Chen,1 Jianwan Ding,1 Yizhong Wu,1 and Wenjie Hou2

1 National Engineering Research Center of CAD Software Information Technology, School of Mechanical Science and Engineering, Huazhong University of Science and Technology, Wuhan 430074, China 2Eaton (China) Investments Co. Ltd., Shanghai 200335, China

Correspondence should be addressed to Jianwan Ding; [email protected]

Received 17 February 2016; Accepted 17 March 2016

Academic Editor: Chaudry Masood Khalique

Copyright © 2016 Tao Xiong et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reciprocal screw theory is used to recognize the kinematic joints of assemblies restricted by arbitrary combinations of geometry constraints. Kinematic analysis is common for reaching a satisfactory design. If a is large and the incidence of redesign frequent is high, then it becomes imperative to have fast analysis-redesign-reanalysis cycles. This work addresses this problem by providing recognition technology for converting a 3D assembly model into a kinematic joint model, which is represented by a graph of parts with kinematic joints among them. The three basic components of the geometric constraints are described in terms of wrench, and it is thus easy to model each common assembly constraint. At the same time, several different types of kinematic joints in practice are presented in terms of twist. For the reciprocal product of a twist and wrench, which is equal to zero, the geometry constraints can be converted into the corresponding kinematic joints as a result. To eliminate completely the redundant components of different geometry constraints that act upon the same part, the specific operation of a matrix space is applied.This ability is useful in supporting the kinematic design of properly constrained assemblies in CAD systems.

1. Introduction in a mechanism. Eddie Baker [9] analyzed many types of complex mechanisms based on [6]. Mason and Salisbury Currently, we can design a machine in terms of a top-down [10] used screw theory to characterize the nature of contacts approach or a bottom-up approach in a CAD system. All between robot gripper hands and objects. To analyze robotic parts of an assembly model are positioned using various multiple peg-in-hole, Fei and Zhao [11] described the contact geometry constraints so that they are in the correct relative forces by using the screw theory in three dimensions. Lee positions and orientations. The 3D assembly models record and Saitou [12] determined the dimensional integrity of the design parameters and some information that can be robustness based on screw theory. Kim et al. [13] established used for concept-level and detailed-level design. Its benefits a framework to estimate the reaction of constraints about a are usually recognized only by those who design precision knee. [1–3]. Assembly features encode geometric and functional rela- Any machine that consists of moving parts has to be tionships between parts that are widely used. Thus, many designed to properly perform its kinematic functions. To researchers perform kinematic analysis by using the assembly analyze the kinematic property of assemblies, because of the features. Konkar and Cutkosky [14] created screw system lack of a kinematic description, many researchers have used representations of assembly mating features. Adams et al. screw theory. Applying screw theory to kinematics was first [15–17] used Konkar’s algorithm and extended their work performed by Ball [4]. Hunt [5] identified 22 cases of Ball’s by defining extensible screw representations of some types reciprocal screw systems. References [6–8] applied screw of assembly features. Gerbino et al. [18, 19] proposed an theory to determine the degrees of freedom of any body algorithm to decompose the liaison diagram representing an 2 Mathematical Problems in Engineering assembly into simple paths, to which the application of the z A twist union or intersection algorithms may be easily applied. They also highlighted the complexity behind the analysis of overconstraints with respect to the motion analysis. Celen- tano[20]improvedthealgorithmpresentedin[18]and o developed a tool to analyze the motions and constraints of 𝜔A CAD mechanisms. Su et al. [21] presented a theory-based approach for the analysis and synthesis of flexible joints. Instantaneous Dixon and Shah [22] provided a mechanism for user-defined 𝜔A screw axis (ISA) custom assembly features by using an interactive system. y After that, twist and wrench matrices could be extracted o from face pair relations and used in kinematic and structural analysis. Geometry constraints between two parts in an assembly x may be arbitrary combinations. References [23–25] analyzed Figure 1: Twist. the state of a constraint of an assembly, mechanism, or fixture toseeifitisproperlyconstrainedorwhetheritcontains unwanted overconstraints. Rusli et al. [26, 27] addressed geometry constraints in terms of wrench. Thus, all common attachment-level design, in which decisions are made to assembly constraints can be automatically deduced. For the establish the types, locations, and orientations of assembly redundant property of geometry constraints, the specific features. Su et al. [28] analyzed the mobility of overcon- operation of a matrix space is applied. Finally, we achieve the strained linkages and compliant mechanisms. To provide graph of parts with kinematic joints among them with respect a desired constrained motion for synthesizing a pattern of to an assembly model. flexures, a new screw theory that addresses “line screws” and “line screw systems” was presented by Su and Tari [29]. 1.1. Organization of the Paper. Section 2 reviews the twist rep- According to [4–29], if the screw representations between resentations of common kinematic joints. Section 3 analyzes anytwopartsoftheassemblymodelareknown,wecaneasily the basic components of geometry constraints and models analyze the model’s kinematic functions. References [4–13, these components in terms of wrench. Section 4 shows how 23–29] manually model the corresponding screw system. to recognize the corresponding kinematic joints of assemblies Thus, it is time consuming when the machine is large and restricted by arbitrary combinations of geometry constraints. complex. On the other hand, to determine the screw system Section 5 contains several examples. Section 6 presents our by using the methods proposed in [14–22], all of the screw conclusions. representations of different features that may be used first have to be modeled. This is awkward and resembles geometric reasoning [30]. If the incidence of redesign frequency is high, 2. Screw Models of Kinematic Joints the screw system has to be rebuilt again and again, which has a great influence on the efficiency of the analysis procedure. To recognize the corresponding kinematic joints from geom- We hope to automatically and easily obtain the screw etry constraints, a mathematical model must be developed system of any assembly model. Thus, when we modify the that can sufficiently and simultaneously describe the proper- assembly model during analysis-redesign-reanalysis cycles, ties of kinematic joints and geometry constraints. This section the kinematic functions can be directly validated. For con- shows how to define kinematic joints using twist. venience,weadoptagraphofpartswithtwistamong them to express the screw system. A screw system can be 2.1. Twist. A twist [32, 33] takes the form easily used for kinematic analysis, such as determining the T =[𝜔𝑥𝜔𝑦𝜔𝑧;𝜐𝑥𝜐𝑦𝜐𝑧]. (1) degrees of freedom, estimating the reaction of constraints, and characterizing the nature of contacts between any two A twist is a screw that describes the instantaneous motion, components. to the first order, of a rigid body. This means that the motion In this paper, we propose a new method to automatically described by a twist is allowed. The first triplet represents convert a 3D assembly model into a screw system based on the angular velocity of the body with respect to a global reciprocal screw theory. The two fundamental concepts in the reference frame. The second triplet represents the velocity, in constraint-based approach, that is, freedom and constraint, the global reference frame, of that point on the body or its can be represented mathematically by a twist and a wrench. extension, which is instantaneously located at the origin of Both the twist and kinematic joint represent motion; both theglobalframe.Therefore,theuniquelineassociatedwith the wrench and geometry constraint represent constraint. the first triplet is the axis of rotation, and the unique point When a twist is given, we can obtain the corresponding associated with the second triplet is the point on the body or wrench as the reciprocal product of a twist and wrench, its extension, which is, at that instant, located at the origin of which is equal to zero. Conversely, if we know a wrench, then the global reference frame. See Figure 1. the corresponding twist could be deduced as well. To avoid The ISA in Figure 1 is the axis introduced in Chasles The- geometricreasoning,wemodelthethreebasiccomponentsof orem. Both the twist and kinematic joint represent motion. Mathematical Problems in Engineering 3

R.P

ISA

ISA R.L P. v

P. v

Figure 2: Prismatic joint.

Therefore,wecanuseatwisttocharacterizeacomponent Figure 3: . of the kinematic joint between two parts. Afterwards, the kinematic joint can be transformed into a corresponding twist matrix. H.L

2.2. Twist Representations of Kinematic Joints. There are 6 types of kinematic joints in common: prismatic joint, H.v revolute joint, helical joint, , spherical joint, and planar joint.Inthissection,weuses to characterize the allowed motions of each kinematic joint and show their ISA corresponding twist matrices.

2.2.1. Prismatic Joint. The degrees of freedom (dof) of a pris- 𝑃 𝑃. =(V , V ,V ) H.p matic joint ( )isone.Weusetheunitvector v 𝑥 𝑦 𝑧 H. to characterize the allowed translation. See Figure 2. P Thus, 𝑃.s has the form Figure 4: Helical joint.

𝑃.s =𝑃.v. (2) 2.2.3. Helical Joint. The dof of a helical joint (H)isone.We The twist matrix representation of 𝑃 is given by use 𝐻.L to characterize the axis of 𝐻.Theunitvectorof𝐻.L is characterized by 𝐻.v =(V𝑥, V𝑦, V𝑧). 𝐻.P =(𝑃𝑥,𝑃𝑦,𝑃𝑧) is a 𝑃 T =[0;𝑃.s]. (3) single point on the 𝐻.L.SeeFigure4. Thus, 𝐻.L has the form We use 0 instead of [0, 0, 0] unless otherwise stated. 𝐻.L =𝐻.P +𝑎⋅𝐻.v, (7) 2.2.2. Revolute Joint. The dof of a revolute joint (𝑅)isone.We where 𝑎 is a real number. 𝐻.s has the form use 𝑅.L to characterize the axis of 𝑅.Theunitvectorof𝑅.L 𝐻.s =𝐻.P ×𝐻.v +𝐻.𝑝⋅𝐻.v, is characterized by 𝑅.v =(V𝑥, V𝑦, V𝑧). 𝑅.P =(𝑃𝑥,𝑃𝑦,𝑃𝑧) is a (8) 𝑅. single point on the L.SeeFigure3. where 𝐻.𝑝 is the pitch of 𝐻.Then,thetwistmatrixrepresen- 𝑅. Thus, L has the form tation of 𝐻 is given by 𝐻 𝑅.L =𝑅.P +𝑎⋅𝑅.v, (4) T =[𝐻.v;𝐻.s]. (9) 𝑎 𝑅. where is a real number. s has the form 2.2.4. Cylindrical Joint. Thedofofacylindrical joint (𝐶)is two. We use 𝐶.L to characterize the axis of 𝐶.Theunitvector 𝑅.s =𝑅.P ×𝑅.v. (5) of 𝐶.L is characterized by 𝐶.v =(V𝑥, V𝑦, V𝑧). 𝐶.P =(𝑃𝑥,𝑃𝑦,𝑃𝑧) 𝐶. 𝑅 is a single point on the L. See Figure 5. Then, the twist matrix representation of is given by Thus, 𝐶.L has the form 𝑅 T =[𝑅.v;𝑅.s]. (6) 𝐶.L =𝐶.P +𝑎⋅𝐶.v, (10) 4 Mathematical Problems in Engineering

C.L

E.n E. ISA v2 C.v E.v1

ISA E.P

Figure 7: Planar joint.

C.P Then, the twist matrix representation of 𝑆 is given by Figure 5: Cylindrical joint. v1;𝑆.s1 𝑆 [ ] T = [v2;𝑆.s2] . (14)

[v3;𝑆.s3]

2.2.6. Planar Joint. Thedofofaplanar joint (𝐸)isthree.The v3 vectors 𝐸.v1 =(v𝑥1, v𝑦1, v𝑧1) and 𝐸.v2 =(v𝑥2, v𝑦2, v𝑧2) are ISA orthogonal in the planar surface, and the unit vector 𝐸.n is v2 the outer normal vector. 𝐸.P =(𝑃𝑥,𝑃𝑦,𝑃𝑧) is a single point v1 on the surface. See Figure 7. Thus, 𝐸.s has three components, as shown in S.P

𝐸.s1 =𝐸.v1,

𝐸.s2 =𝐸.v2, (15)

𝐸.s3 =𝐸.P ×𝐸.n. Figure 6: Spherical joint. Then, the twist matrix representation of 𝐸 is given by

0;𝐸.s1 where 𝑎 is a real number. 𝐶.s hastwocomponents,asshown 𝐸 [ ] = [ ;𝐸.] . in T 0 s2 (16) [𝐸.n;𝐸.s3] 𝐶.s1 =𝐶.P ×𝐶.v, (11) 𝐶.s2 =𝐶.v. 3. Reciprocal Screw Models of Geometric Constraints 𝐶 Therefore, the twist matrix representation of is given by Totransform arbitrary combinations of geometric constraints between two parts into the corresponding kinematic joint, 𝐶. ;𝐶. 𝐶 v s1 we should use the same mathematical model with kinematic T =[ ]. (12) 0;𝐶.s2 joints or a model that can be easily transformed into a twist. This section shows how to define geometry constraints using wrench. 2.2.5. Spherical Joint. The dof of a spherical joint (𝑆)isthree. We use 𝑆.P =(𝑃𝑥,𝑃𝑦,𝑃𝑧) to characterize the central point of 3.1. Wrench. Awrench[32,33]takestheform 𝑆 and define v1 = (1, 0, 0), v2 = (0, 1, 0),andv3 = (0, 0, 1).See Figure 6. W =[𝑓𝑥𝑓𝑦𝑓𝑧;𝑚𝑥𝑚𝑦𝑚𝑧]. (17) Thus, 𝑆.s hasthreecomponents,asshownin A wrench is also a screw and describes the resultant force 𝑆.s1 =𝑆.P × v1 = (0, 𝑃𝑧,−𝑃𝑦), andmomentofaforcesystemactingonarigidbody.Any set of forces and couples applied to a body can be reduced to 𝑆.s2 =𝑆.P × v2 =(−𝑃𝑧,0,𝑃𝑥), (13) a set comprising a single force acting along a specific line in spaceandapurecoupleactinginaplaneperpendicularto 𝑆.s3 =𝑆.P × v3 =(𝑃𝑦,−𝑃𝑥,0). that line. This means that the motion described by a wrench Mathematical Problems in Engineering 5

z i M z ai Instantaneous screw axis (ISA) Fr Pi j hi dij P si Pj gi aj Fi F3 hj P sj f i gj F1 F2 Force system fj ri ri rj Mr y

Fr Line of action of Fr y o x

Figure 9: Vectors fixed in and between bodies. x

Figure 8: Wrench. P𝑖 and P𝑗 between bodies. The basic constraints are often characterized by such elements. is forbidden. The first triplet describes the resultant force in a global reference frame. The second triplet represents the 3.2.1. Dot-1 Constraint. Dot-1 constraint restricts the relative resultant moment of the force system about the origin of the orientation of a pair of bodies; that is, global frame. See Figure 8. Φ𝑑1 ( , ,𝐶 )≡ T −𝐶 =0, 𝐶 ∈ (−1, 1) , Both a wrench and geometry constraint are structural a𝑖 a𝑗 1 a𝑖 a𝑗 1 1 (18) constraints. Therefore, we can use a wrench to characterize (Φ𝑑1)=1 a component of the geometry constraints between two parts. where doc and dot-1 constraint is symmetric with 𝑖 𝑗 Afterwards, the geometry constraints can be transformed regard to bodies and .Notethatdot-1 constraint would not 𝐶 =±1 into a corresponding wrench matrix. be a basic constraint if 1 .Thismeansthatthevectorsa𝑖 and a𝑗 are parallel in the same or opposite directions. In this (Φ𝑑1( , ,±1))=2 3.2. Basic Components of Geometric Constraints. When we case, doc a𝑖 a𝑗 . describe a part in space, the orientation and position should Writing the vectors a𝑖 and a𝑗 in terms of their respective be specified [34]. The orientation cannot be described in body reference transformation matrices A𝑖 and A𝑗 and body- 󸀠 󸀠 = 󸀠 = absolute terms. An orientation is given by a rotation from fixed constant vectors a𝑖 and a𝑗,wherea𝑖 A𝑖a𝑖 and a𝑗 󸀠 some known reference orientation. The amount of rotation is A𝑗a𝑗,(18)hastheform known as an angular displacement. In other words, describ- ing an orientation is mathematically equivalent to describing 𝑑1 󸀠T T 󸀠 Φ (a𝑖, a𝑗,𝐶1)≡a𝑖 A𝑖 A𝑗a𝑗 −𝐶1 =0, an angular displacement. In the same way, when we specify (19) thepositionofapart,wecannotdosoinabsoluteterms;we 𝐶1 ∈ (−1, 1) , must always do so within the context of a specific reference frame. Therefore, specifying a position is actually the same as where the transformation matrices A𝑖 and A𝑗 in (19) depend specifying an amount of translation from a given reference on the orientation generalized coordinates of bodies 𝑖 and 𝑗, point (usually the origin of some coordinate system). respectively. In practice, there are many geometry constraints, such As a result, the wrench representation for dot-1 constraint as align and point on line. We can use one or arbitrary should also freeze the relative orientation of the vectors a𝑖 and combinations of geometric constraints to restrict the relative a𝑗. Therefore, the wrench matrix is given by orientation and position between two parts. As we know, 𝑑1 common geometry constraints, such as coaxial constraints W =(0; a𝑖 × a𝑗). (20) and spherical constraints,usuallyhaveahighdegree of constraint (doc). However, these geometry constraints are all If we use the body reference transformation matrices, (20) combined by the three different types of basic constraints: has the form dot-1 constraint, dot-2 constraint,andthedistance constraint T 𝑑1 =( ;(󸀠 T)×( 󸀠 )) . [35], which can be divided into two categories: the orientation W 0 a𝑖 A𝑖 A𝑗a𝑗 (21) part and the position part. Consider a pair of rigid bodies, denoted as bodies 𝑖 and 3.2.2. Dot-2 Constraint. Dot-2 constraint restricts the relative 𝑗 in Figure 9. Reference points P𝑖 and P𝑗, reference frames position of a pair of bodies; that is, f𝑖-g𝑖-h𝑖 and f𝑗-g𝑗-h𝑗, and nonzero unit vectors a𝑖 and a𝑗 𝑑2 T arefixedinbodies𝑖 and 𝑗, respectively. Vector d𝑖𝑗 connects Φ (a𝑖, d𝑖𝑗 ,𝐶2) ≡ a𝑖 d𝑖𝑗 −𝐶2 =0, d𝑖𝑗 ≠ 0, (22) 6 Mathematical Problems in Engineering

𝑑2 where doc(Φ )=1, the same as that with dot-1 constraint, L1 although dot-2 constraint is not symmetric with regard to bodies 𝑖 and 𝑗.Analytically,itisimportanttorecallthatdot-2 constraint breaks down if d𝑖𝑗 = 0. Write the vector d𝑖𝑗 as L2

󸀠 P 󸀠P d𝑖𝑗 = r𝑗 + A𝑗s𝑗 − r𝑖 − A𝑖s𝑖 . (23) B1

Equation (22) becomes h1 B2 𝑑2 󸀠T T 󸀠 P 󸀠P Φ (a𝑖, d𝑖𝑗 ,𝐶2)≡a A𝑖 (r𝑗 + A𝑗s − r𝑖 − A𝑖s ) 𝑖 𝑗 𝑖 F1 P1 (24) g1 h2 −𝐶2 =0. d12 P2 f1 As a result, the wrench representation for dot-2 constraint f2 g2 must freeze the relative translation along the vector a𝑖. F2 Therefore, the wrench matrix is given by Figure 10: Instance of geometry constraints. 𝑑2 W =(a𝑖; 0). (25)

Equation (25) also has the form The reference point P1 has the form 𝑑2 󸀠 =(𝑃 ,𝑃 ,𝑃 ). W =(A𝑖a𝑖 ; 0). (26) P1 𝑥1 𝑦1 𝑧1 (31)

The central axis L1 has the form 3.2.3. Distance Constraint. In practice, we often require a pair of points on two bodies to coincide or maintain a determined L1 = P1 +𝑎⋅h1, (32) distance; that is, where 𝑎 is a real number. The planar surface F1 has the form 𝑠 T Φ (𝑃𝑖,𝑃𝑗,𝐶3)≡d𝑖𝑗 d𝑖𝑗 −𝐶3 ⋅𝐶3 =0, (27) F1 = P1 +𝑏⋅f1 +𝑐⋅g1, (33) 𝑠 where doc(Φ ) would be different depending on whether 𝐶3 where 𝑏 and 𝑐 arebothrealnumbers.Atthesametime, is zero. Therefore, we have the elements P2, L2,andF2 havethesameforms.The (Φ𝑠)=1 𝐶 =0,̸ following geometry constraints are often characterized by doc if 3 such elements. (28) 𝑠 We can divide all different types of geometry constraints, doc (Φ )=3 if 𝐶3 =0. which have more than one doc, into six categories: coaxial As a result, the wrench representation for the distance constraint, coplanar constraint, spherical constraint, align con- constraint should have two types of expressions, as shown in straint, distance between line and surface,andpoint on line. (29) and (30): We have modeled the three basic components of geometry constraints in terms of wrench. Thus, the wrench models of 𝑠 W =[d𝑖𝑗 ; 0] if 𝐶3 =0,̸ (29) these six types of geometry constraints can be automatically deduced. where the wrench representation for the distance constraint should freeze the relative translation along the vector d𝑖𝑗 if 3.3.1. Coaxial Constraint. We use 𝐶𝑜𝑖𝐿𝐿(L1, L2) to denote the 𝐶3 =0̸ .However,if𝐶3 =0, the wrench representation has coaxial constraint of axes L1 and L2, as shown in Figure 11. the form The doc of 𝐶𝑜𝑖𝐿𝐿(L1, L2) is four, which restricts two 100;0 relative orientations and two relative translations. In other 𝑠 [ ] words, it comprises two dot-1 constraints and two dot-2 = [010; ] 𝐶 =0, W 0 if 3 (30) constraints,asshownin [001;0] 𝑑1 𝑑1 𝑑2 Φ1 (h1, f2,0),Φ2 (h1, g2,0),Φ3 (f1, d12,0), where the wrench, which is illustrated in (30), freezes all the (34) Φ 𝑑2 ( , ,0). relative translations along the axes 𝑥, 𝑦,and𝑧. 4 g1 d12

Then, the wrench matrix of 𝐶𝑜𝑖𝐿𝐿(L1, L2) is given by 3.3. Wrench Representations of Geometry Constraints. To ; × introduce geometry constraints, we give Figure 10. 0 h1 f2 [ ] In Figure 10, reference points P1 and P2, reference frames [ 0; h1 × g2] = [ ] . f1-g1-h1 and f2-g2-h2,andcentralaxesL1 and L2 are fixed in W𝐶𝑜𝑖𝐿𝐿(L1,L2) [ ] (35) [f1; 0 ] cylinders 𝐵1 and 𝐵2, respectively. Vector d12 connects P1 and P2 between the cylinders. [g1; 0 ] Mathematical Problems in Engineering 7

L1 CoiPP( , ) CoiLL( 1, 2) P1 P2 L L L1

B1

f1 P1 h1

F1 L2 B2 g1 B1

f2 P2 h2 h1 h2 B L2 2 F2 f2 P1 g2 g1 P2 Figure 11: Coaxial constraint. F1

f1 CoiFF( , ) F2 F1 F2 F2 h2 g2 P2 Figure 13: Spherical constraint. B2 g2 L1 f2 d12 B1 L1 ParFF(F1, F2) L2 B1 f1 h1 P1 f1 P1 h1 B2 F1

f2 P2 F1 g1 h2 g1 Figure 12: Coplanar constraint. L2 F2 g2

The corresponding kinematic joint of coaxial constraint is Figure 14: Align constraint. cylindrical joint.

The doc of 𝐶𝑜𝑖𝑃𝑃(P1, P2) is three, which restricts three 3.3.2. Coplanar Constraint. We use 𝐶𝑜𝑖𝐹𝐹(F1, F2) to denote relative translations in three unrelated directions. In other the coplanar constraint of planar surfaces F1 and F2,asshown 𝐶 =0 in Figure 12. words, it comprises one distance constraint,whichhas 3 in Section 3.2.3, as shown in The doc of 𝐶𝑜𝑖𝐹𝐹(F1, F2) is three, which restricts two 𝑠 relative orientations and one relative translation. In other Φ (𝑃𝑖,𝑃𝑗,0). (38) words, it comprises two dot-1 constraints and one dot-2 constraint,asshownin Then, the wrench matrix of 𝐶𝑜𝑖𝑃𝑃(P1, P2) is given by 100; Φ 𝑑1 ( , ,0),Φ 𝑑1 ( , ,0),Φ 𝑑2 ( , ,0). 0 1 h1 f2 2 h1 g2 3 h1 d12 (36) [ ] = [010; ] . W𝐶𝑜𝑖𝑃𝑃(P1,P2) 0 (39) Then, the wrench matrix of 𝐶𝑜𝑖𝐹𝐹(F1, F2) is given by [001;0] ; × 0 h1 f2 The corresponding kinematic joint of spherical constraint [ ] = [ ; × ] . is spherical joint. W𝐶𝑜𝑖𝐹𝐹(F1,F2) 0 h1 g2 (37)

[h1; 0 ] 3.3.4. Align Constraint. Align constraint (𝑃𝑎𝑟𝐹𝐹)isusedto The corresponding kinematic joint of coplanar constraint make two planar surfaces F1 and F2 parallel, as shown in is planar joint. Figure 14. The doc of 𝑃𝑎𝑟𝐹𝐹(F1, F2) is two, which restricts two 𝐶𝑜𝑖𝑃𝑃( , ) relative orientations. In other words, it comprises two dot-1 3.3.3. Spherical Constraint. We use P1 P2 to denote constraints,asshownin the spherical constraint of two points P1 and P2,asshownin 𝑑1 𝑑1 Figure 13. Φ1 (h1, f2,0),Φ2 (h1, g2,0). (40) 8 Mathematical Problems in Engineering

DisLF(L1, F2,D) CoiPL(P1, L2)

B B 1 h1 1 g1

h1 P1 B2 F1 P1 g1 f2 P2 L1 h2 f1 F1 f1 L2 B2 L1 F2

g2 f2 P2 h2 Figure 15: Distance between line and surface. L2 F2 g2 Then, the wrench matrix of 𝑃𝑎𝑟𝐹𝐹(F1, F2) is given by Figure 16: Point on line. 0; h1 × f2 =[ ]. W𝑃𝑎𝑟𝐹𝐹(F1,F2) (41) 0; h1 × g2 4. Recognition of Kinematic Joints We cannot find a corresponding kinematic joint for align constraint among the common kinematic joints. The key to recognizing kinematic joints in terms of geometry constraints is the reciprocity relation. We show how to define geometry constraints using wrench. The space of screws that 3.3.5. Distance between Line and Surface. We use 𝐷𝑖𝑠𝐿𝐹(L1, defines the range of wrenches that can be exerted upon a F2,𝐷)to denote the axis L1 and the surface F2 that maintain bodyandthespaceofscrewsthatdefinestherangeoftwists a certain distance 𝐷, as shown in Figure 15. that the body can perform without breaking any contacts in The doc of 𝐷𝑖𝑠𝐿𝐹(L1, F2,𝐷) is two, which restricts one the joints of the mechanism are mutually reciprocal screw relative orientation and one relative translation. In other spaces. When we know the wrenches acting upon a body, we words, it comprises one dot-1 constraint and one dot-2 can determine the motions it can perform. Conversely, if we constraint,asshownin know the motions a body is capable of performing, then the 𝑑1 𝑑2 Φ1 (h1, h2,0) ,Φ2 (h2, d12,𝐷) . (42) constraints that are exerted upon it can also be deduced. 𝐷𝑖𝑠𝐿𝐹( , ,𝐷) Then, the wrench matrix of L1 F2 is given by 4.1. Algorithm. We assume that 𝐴 is a part in a 3D assembly model restricted by parts 𝐵1,𝐵2,...,𝐵𝑛. The twist space of 𝐴 0; h1 × h2 =[ ]. is the space of screws reciprocal to the wrenches of contact W𝐷𝑖𝑠𝐿𝐹(L1,F2,𝐷) (43) h2; 0 acting upon it. The space of wrenches acting upon 𝐴 is the union of all the individual wrenches acting upon it from We also cannot find a corresponding kinematic joint the parts 𝐵𝑖. These individual wrenches are to be considered for distance between line and surface among the common as acting alone. Algorithm 1 provides the twist space of 𝐴, 𝐴 kinematic joints. denoted by T . The 𝑅𝑒𝑐𝑖𝑝𝑟𝑜𝑐𝑎𝑙(P) in Algorithm 1 means to exchange 𝐶𝑜𝑖𝑃𝐿( , ) 3.3.6. Point on Line. We use P1 L2 to denote the point thefirsttripletandthesecondtripletofP. For example, P1 on line L2, as shown in Figure 16. if P =[𝑎, 𝑏, 𝑐;] 𝑑,𝑒,𝑓 ,thenwehave𝑅𝑒𝑐𝑖𝑝𝑟𝑜𝑐𝑎𝑙(P)= 𝐶𝑜𝑖𝑃𝐿( , ) The doc of P1 L2 is two, which restricts two [𝑑, 𝑒, 𝑓;] 𝑎,𝑏,𝑐 . The recursive nature of the procedure relative translations. In other words, it comprises two dot-2 requires the computation of the wrench space and twist constraints,asshownin space of each component. This proves to be computationally 𝑑2 𝑑2 expensive because wrench space and twist space are defined Φ ( , ,0) ,Φ ( , ,0) . (44) 1 f2 d12 2 g2 d12 in terms of the reciprocal of one another. The operation of

Then, the wrench matrix of 𝐶𝑜𝑖𝑃𝐿(P1, L2) is given by deriving reciprocal screws involves computing the null space of matrices. The speed of the algorithm is linearly related to f2; 0 the number of 𝐵𝑖. That is, the algorithm is of the order 𝑂(𝑛). =[ ]. W𝐷𝑖𝑠𝐿𝐹(L1,F2,𝐷) (45) g2; 0 4.2. Reciprocal Product. According to reciprocal screw the- We still cannot find a corresponding kinematic joint for ory, two screws (a twist and a wrench) are said to be mutually point on line among the common kinematic joints. reciprocal if their reciprocal product is zero. The reciprocal Mathematical Problems in Engineering 9

BEGIN FOR each part Bi, which restrict A. 𝐶𝑗 𝑗= ,...,𝑙 Convert all the geometry constraints between A and Bi into basic components 𝐴, 1 . 𝑘 𝑗 Determine the wrenches W𝐴, 𝑘 = 1, ...,𝑚acting upon A through C𝐴.Wehavem not less than l. 𝑘 Collect all the wrenches W𝐴 into a matrix W. END FOR Compute the orthogonal matrix Q in terms of W by Gram-Schmidt orthogonalization [31]. IF Rank(Q)=6THEN Return “IMMOBILE”. ELSE Compute the orthogonal complement matrix P of Q. END IF TA =Reciprocal(P). END

Algorithm 1: Function twist space.

B1 f1 g1

B1 A1 g1 F1 f1 F1 h1 h2 B2 F2 f2 g2

B2

A2 F2 h2 Figure 18: Recognition of planar joint. g2 f2

Figure 17: Redundant constraint. W𝐶𝑜𝑖𝐹𝐹(F1,F2), is 5. Therefore, the motions that a body is capable of performing while under the action of multiple wrenches are the logical intersection of the motions it can product of a twist T1 and a wrench W1 thatisequaltozerois given by perform under the action of each wrench acting alone. Thus, we can eliminate the redundant components of different ∘ = ⋅ + ⋅ = [ ; ] . T1 W1 T1.1−3 W2.4−6 T1.4−6 W2.1−3 0 0 (46) geometry constraints that act upon the same part by using Mathematically, because reciprocity imposes the relation Gram-Schmidt orthogonalization in Algorithm 1. T1 ∘W1, we can compute one of these quantities if the other is known. This allows us to compute the twists that a body may 5. Examples execute while in contact with other bodies without breaking the contacts. In each of the examples below, different types of kinematic joints are recognized. 4.3. Redundant Constraint. When more than one geometry constraint acts upon the same part, because some compo- Example 1 (planar joint). Figure 18 shows a planar joint 𝐵 𝐵 nents of these constraints may be redundant, the resultant consisting of two parts, 1 and 2,andacoplanar constraint: 𝐶𝑜𝑖𝐹𝐹( , ) motion is the logical intersection of the individual wrench F1 F2 . matrix that defines each constraint, for example, when we Following the process outlined in Section 3.3.2, we find, model a revolute joint 𝑅12 with two links: 𝐵1 and 𝐵2.The basedonthedefinitionofthecoplanar constraint,thatthe constraints used are 𝐶𝑜𝑖𝐿𝐿(A1, A2) and 𝐶𝑜𝑖𝐹𝐹(F1, F2).See wrench matrix is Figure 17. ; × Also dof(𝑅12)=1.Thismeansthatdoc(𝐵1,𝐵2)=5.How- 0 h1 f2 (𝐶𝑜𝑖𝐿𝐿( , )) = 4 (𝐶𝑜𝑖𝐹𝐹( , [ ] ever,wehavedoc A1 A2 and doc F1 = [ ; × ] , W𝐶𝑜𝑖𝐹𝐹(F1,F2) [ 0 h1 g2] (47) F2)) = 3. In other words, the dimension of the orthog- ; onal wrench space, which comprises W𝐶𝑜𝑖𝐿𝐿(A1,A2) and [h1 0 ] 10 Mathematical Problems in Engineering

B6 B5 B8 B9 B B10 1 B4 B11 h1 g1 B 󳰀 B7 3 g1 f1 󳰀 h1 F1 󳰀 f 󳰀 B2 󳰀 1 g2 y F1 󳰀 g2 h2 󳰀 f2 󳰀 h2 F2 f2 x B0 B1 F2 Figure 20: Hydraulic grab. B2

Figure 19: Recognition of prismatic joint. = ∪ 󸀠 󸀠 where W12 W𝐶𝑜𝑖𝐹𝐹(F1,F2) W𝐶𝑜𝑖𝐹𝐹(F1,F2).Theorthogonal matrix Q12 of W12 is

0; h1 × f2 where W𝐶𝑜𝑖𝐹𝐹(F ,F ) is already an orthogonal matrix. Then, the [ ] 1 2 [ ] orthogonal complement matrix P𝐶𝑜𝑖𝐹𝐹(F ,F ) is [ 0; h1 × g2] 1 2 [ ] [ ] = [ ; 󸀠 × 󸀠 ] . Q12 [ 0 h1 g2] (51) f1; 0 [ ] [ ; ] [ ] [h1 0 ] P𝐶𝑜𝑖𝐹𝐹(F ,F ) = [g1; 0 ] . (48) 1 2 󸀠 [h1; 0 ] [ 0; h1]

The orthogonal complement matrix P12 of Q12 is Therefore, the twist matrix T12 between 𝐵1 and 𝐵2 has the = [ ; ] . following form: P12 g1 0 (52)

Therefore, the twist matrix T12 between 𝐵1 and 𝐵2 has the 0; f1 following form: [ ] T12 =𝑅𝑒𝑐𝑖𝑝𝑟𝑜𝑐𝑎𝑙(P𝐶𝑜𝑖𝐹𝐹(F ,F ))=[ 0; g1] , (49) 1 2 T12 =𝑅𝑒𝑐𝑖𝑝𝑟𝑜𝑐𝑎𝑙(P12)=[0; g1], (53) [h1; 0 ] where T12 represents the motion of a prismatic joint,which is shown in Section 2.2.1. Moreover, the recognition process where T12 represents the motion of a planar joint,whichis of a revolute joint is approximately the same as that of the illustrated in Section 2.2.6. Moreover, the recognition process prismatic joint. of a cylindrical joint or spherical joint is approximately the same as that of the planar joint. Example 3 (hydraulic grab). Here, we present a project example. A hydraulic grab with three degrees of freedom in Example 2 (prismatic joint). Figure 19 shows a prismatic Cartesian coordinates is illustrated in Figure 20. 𝐵 𝐵 joint consisting of two parts, 1 and 2,andtwocoplanar The hydraulic grab comprises 12 parts, 𝐵0, 𝐵1, 𝐵2, 𝐵3, 𝐶𝑜𝑖𝐹𝐹( , ) 𝐶𝑜𝑖𝐹𝐹( 󸀠 , 󸀠 ) constraints: F1 F2 and F1 F2 . 𝐵4, 𝐵5, 𝐵6, 𝐵7, 𝐵8, 𝐵9, 𝐵10,and𝐵11,12coplanar constraints, Following the process outlined in Example 1, we find that 𝐶𝑜𝑖𝐹𝐹(𝐵0,𝐵2), 𝐶𝑜𝑖𝐹𝐹(𝐵0,𝐵1), 𝐶𝑜𝑖𝐹𝐹(𝐵1,𝐵3), 𝐶𝑜𝑖𝐹𝐹(𝐵1,𝐵5), the wrench matrices between 𝐵1 and 𝐵2 are 𝐶𝑜𝑖𝐹𝐹(𝐵1,𝐵4), 𝐶𝑜𝑖𝐹𝐹(𝐵4,𝐵6), 𝐶𝑜𝑖𝐹𝐹(𝐵4,𝐵11), 𝐶𝑜𝑖𝐹𝐹(𝐵4, 𝐵7), 𝐶𝑜𝑖𝐹𝐹(𝐵4,𝐵8), 𝐶𝑜𝑖𝐹𝐹(𝐵9,𝐵10), 𝐶𝑜𝑖𝐹𝐹(𝐵7,𝐵10),and 𝐶𝑜𝑖𝐹𝐹(𝐵 ,𝐵 ) 𝐶𝑜𝑖𝐿𝐿(𝐵 ,𝐵 ) ; × 10 11 ,and15coaxial constraints, 0 2 , 0 h1 f2 𝐶𝑜𝑖𝐿𝐿(𝐵 ,𝐵 ) 𝐶𝑜𝑖𝐿𝐿(𝐵 ,𝐵 ) 𝐶𝑜𝑖𝐿𝐿(𝐵 ,𝐵 ) 𝐶𝑜𝑖𝐿𝐿(𝐵 ,𝐵 ) [ ] 0 1 , 1 3 , 2 3 , 1 5 , = [ ; × ] , 𝐶𝑜𝑖𝐿𝐿(𝐵 ,𝐵 ) 𝐶𝑜𝑖𝐿𝐿(𝐵 ,𝐵 ) 𝐶𝑜𝑖𝐿𝐿(𝐵 ,𝐵 ) 𝐶𝑜𝑖𝐿𝐿(𝐵 , W𝐶𝑜𝑖𝐹𝐹(F1,F2) 0 h1 g2 1 4 , 4 6 , 5 6 , 4 𝐵11), 𝐶𝑜𝑖𝐿𝐿(𝐵4,𝐵7), 𝐶𝑜𝑖𝐿𝐿(𝐵4,𝐵8), 𝐶𝑜𝑖𝐿𝐿(𝐵8,𝐵9), [h1; 0 ] 𝐶𝑜𝑖𝐿𝐿(𝐵9,𝐵10), 𝐶𝑜𝑖𝐿𝐿(𝐵7,𝐵10),and𝐶𝑜𝑖𝐿𝐿(𝐵10,𝐵11).See 󸀠 󸀠 (50) 0; h × f Figure 21. [ 1 2 ] [ 󸀠 󸀠 ] Here, we present the processes of recognition among 𝐵1, W𝐶𝑜𝑖𝐹𝐹(F󸀠 ,F󸀠 ) = [ 0; h1 × g2] , 1 2 𝐵2,and𝐵3, as shown in Figure 22. The geometry constraint 󸀠 𝐵 𝐵 𝐶𝑜𝑖𝐿𝐿(𝐵 ,𝐵 ) [h1; 0 ] between 2 and 3 is 2 3 .Followingtheprocess Mathematical Problems in Engineering 11

B B 6 5 The geometry constraints between 𝐵1 and 𝐵3 are 𝐶𝑜𝑖𝐿𝐿(𝐵1,𝐵3) and 𝐶𝑜𝑖𝐹𝐹(𝐵1,𝐵3).Thus,thewrenchmatrices between 𝐵1 and 𝐵3 are B B B B 11 4 1 0 󸀠 󸀠 0; h × f [ 3 1 ] [ 󸀠 󸀠 ] 0; h × g B [ 3 1] 7 B8 W𝐶𝑜𝑖𝐿𝐿(𝐵 ,𝐵 ) = [ ] , 1 3 [ 󸀠 ] [f3; 0 ] 󸀠 ; [g3 0 ] (57) B10 B9 B3 B2 󸀠 󸀠 0; h × f [ 3 1 ] CoiLL = [ ; 󸀠 × 󸀠 ] , CoiFF W𝐶𝑜𝑖𝐹𝐹(𝐵1,𝐵3) [ 0 h3 g1] 󸀠 ; Figure 21: The constraint graph of a hydraulic grab. [h3 0 ] = ∪ where W13 W𝐶𝑜𝑖𝐿𝐿(𝐵1,𝐵3) W𝐶𝑜𝑖𝐹𝐹(𝐵1,𝐵3).Theorthogonal matrix Q13 of W13 is given by

󳰀 󸀠 󸀠 f1 B 0; h × f 1 [ 3 1 ] 󳰀 󳰀 [ 󸀠 󸀠 ] f3 g1 [ 0; h3 × g1] [ ] [ 󸀠 ] 󳰀 Q13 = [f3; 0 ] . (58) g3 [ ] [ 󸀠 ] [g3; 0 ] h3 g3 󸀠 [h3; 0 ]

h2 g2 Then, the orthogonal complement matrix P13 of Q13 is B3 y 󸀠 B2 P13 =[0; h3]. (59)

𝐵 𝐵 x B0 Therefore, the twist matrix T13 between 1 and 3 is

Figure 22: Parts 𝐵1, 𝐵2,and𝐵3 in a hydraulic grab. 󸀠 T13 =𝑅𝑒𝑐𝑖𝑝𝑟𝑜𝑐𝑎𝑙(P13)=[h3; 0]. (60)

In this paper, we propose a new method to automatically outlined in Section 3.3.1, we find, based on the definition of convert a 3D assembly model into a screw system based the coaxial constraint,thatthewrenchmatrixis on reciprocal screw theory. According to the geometry constraints between any two parts in the hydraulic grab and Algorithm 1, we obtain the screw system, as shown in 0; h2 × f3 [ ] Figure 23. [ 0; h2 × g3] As mentioned in [4–29], we can perform some different = [ ] . W𝐶𝑜𝑖𝐿𝐿(𝐵2,𝐵3) [ ] (54) types of kinematic analyses using the screw system, such as [f2; 0 ] determining the degrees of freedom of 𝐵1 and 𝐵4;thatis, [g2; 0 ] = 1 ∩( 2 ∪ 3 ∪ 3), T𝐵1 T0 T0 T2 T1 The orthogonal complement matrix is (61) =( ∪ 4)∩( ∪ 5 ∪ 6 ∪ 6), T𝐵4 T𝐵1 T1 T𝐵1 T1 T5 T4

0; h2 P𝐶𝑜𝑖𝐿𝐿(𝐵 ,𝐵 ) =[ ]. (55) where the resultant of the motions that the end-effector of 2 3 ; h2 0 apurelyserialchainmayperformduetotheactionofeach joint acting alone is the union of that set and the resultant of Then, the twist matrix T23 between 𝐵2 and 𝐵3 has the thesetoftwistsallowedseparatelybymultiplecontactsupon following form: a body is the intersection of the individual twists. Thus, the degrees of freedom of 𝐵1 areequaltothedimensionofthe 𝐵 orthogonal twist space of 1, denoted by T𝐵1 .Inthesameway, h2; 0 =𝑅𝑒𝑐𝑖𝑝𝑟𝑜𝑐𝑎𝑙( )=[ ]. we can obtain the degrees of freedom of 𝐵4 and any part in the T23 P𝐶𝑜𝑖𝐿𝐿(𝐵2,𝐵3) (56) 0; h2 hydraulic grab. 12 Mathematical Problems in Engineering

6 B6 T5 B5 Additional Points

6 5 T4 T1 (i) We provide a new method for converting any 3D assembly model into a screw system based on recip- 11 4 1 B11 T4 B4 T1 B1 T0 B0 rocal screw theory.

7 8 (ii) We describe the three basic components of geometric T4 T 4 constraints in terms of wrench. 11 B B 3 2 T10 7 8 T1 T0 (iii) We eliminate the redundant components of different 10 9 geometry constraints that act upon the same part by T7 T8 the specific operation of a matrix space. B 10 B B 3 B 10 T9 9 3 T2 2 (iv) We establish the maps between geometry constraints and kinematic joints as the reciprocal product of a T: twist twist and wrench, which is equal to zero. Figure 23: The screw system of a hydraulic grab. (v) We present several application examples.

6 Competing Interests B6 C5 B5

6 5 The authors declare that they have no competing interests. R4 R1

R11 R4 R1 B11 4 B4 1 B1 0 B0 Acknowledgments R7 8 4 R4 The authors would like to thank the Ministry of Science R11 B 3 2 and Technology of the People’s Republic of China (nos. 10 7 B8 R1 R0 2011ZX02403-005, 2011CB706502, and 2013AA041301). This R10 9 7 C8 work is also supported by the National Natural Science 10 3 Foundation of China (nos. 61370182 and 51175198). B10 R9 B9 B3 C2 B2 R: revolute joint References C: cylindrical joint [1] A. H. Slocum, Precision Machine Design, Prentice Hall, New Figure 24: The kinematic joint model of a hydraulic grab. York, NY, USA, 1991. [2] M. Rajh, S. Glodez,ˇ J. Flaˇsker,K.Gotlih,andT.Kostanjevec, “Design and analysis of an fMRI compatible haptic robot,” According to Sections 2.2.2 and 2.2.4, the kinematic joints Robotics and Computer-Integrated Manufacturing,vol.27,no.2, between 𝐵2 and 𝐵3 and 𝐵1 and 𝐵3 are the cylindrical joint and pp. 267–275, 2011. revolute joint. As a result, we can obtain the kinematic joint [3] S. Awtar and G. Parmar, “Design of a large range XY nanoposi- model. See Figure 24. If the corresponding kinematic joint tioning system,” Journal of Mechanisms and Robotics,vol.5,no. between any two parts cannot be recognized, we can easily 2, Article ID 021008, 2013. analyze the model’s geometry constraints. [4]R.S.Ball,ATreatiseontheTheoryofScrews, Cambridge University Press, Cambridge, UK, 1998. [5] K. H. Hunt, Kinematic Geometry of Mechanisms,Clarendon 6. Conclusions Press, Oxford, UK, 1978. [6] K. J. Waldron, “The constraint analysis of mechanisms,” Journal This paper investigates a method for determining the kine- of Mechanisms,vol.1,no.2,pp.101–114,1966. matic joints of assemblies restricted by arbitrary combina- [7] R. Konkar, Incremental kinematic analysis and symbolic syn- tions of geometry constraints using reciprocal screw theory. thesis of mechanisms [Ph.D. dissertation], Stanford University, Stanford,Calif,USA,1993. Weachievetheprocessofrecognitionintermsofthe [8] J.-S. Zhao, Z.-J. Feng, and J.-X. Dong, “Computation of the basic components of geometry constraints and kinematic configuration degree of freedom of a spatial parallel mechanism joints. We describe the three basic components of geometric by using reciprocal screw theory,” Mechanism and Machine constraints in terms of wrench. At the same time, the specific Theory,vol.41,no.12,pp.1486–1504,2006. operation of a matrix space is applied to eliminate the redun- [9] J. Eddie Baker, “Screw system algebra applied to special dant components between different geometry constraints configurations,” Mechanism and Machine Theory,vol.15,no.4, that act upon the same part. A user of this method can auto- pp. 255–265, 1980. matically and easily convert any assembly model into a screw [10] M. T. Mason and J. K. Salisbury, Robot Hands and the Mechanics system in any CAD system. Afterwards, the screw system can of Manipulation, MIT Press, Cambridge, Mass, USA, 1985. be easily used for validating kinematic functions, analyzing [11] Y. Fei and X. Zhao, “Anassembly process modeling and analysis over- or underconstrained assembly configurations, and so for robotic multiple peg-in-hole,” Journal of Intelligent and on. Robotic Systems,vol.36,no.2,pp.175–189,2003. Mathematical Problems in Engineering 13

[12] B. Lee and K. Saitou, “Three-dimensional assembly synthesis for assembly,” Journal of Mechanical Design,vol.135,no.7,Article robust dimensional integrity based on screw theory,” Journal of ID 071007, pp. 1–11, 2013. Mechanical Design,vol.128,no.1,pp.243–251,2006. [28]H.J.Su,L.Zhou,andY.Zhang,“Mobilityanalysisandtype [13] W. Kim, A. P. Veloso, D. Araujo,´ V. Vleck, and F. Joao,˜ “An synthesis with screw theory: from rigid body linkages to informational framework to predict reaction of constraints compliant mechanisms,” Advances in Mechanisms, Robotics and using a reciprocally connected knee model,” Computer Methods Design Education and Research,vol.14,pp.67–81,2013. in Biomechanics and Biomedical Engineering,vol.18,no.1,pp. [29] H.-J. Su and H. Tari, “On line screw systems and their applica- 78–89, 2015. tion to flexure synthesis,” Journal of Mechanisms and Robotics, [14] R. Konkar and M. Cutkosky, “Incremental kinematic analysis of vol. 3, no. 1, Article ID 011009, 2011. mechanisms,” Journal of Mechanical Design, Transactions of the [30] D. C. Anderson and T. C. Chang, “Geometric reasoning in ASME,vol.117,no.4,pp.589–596,1995. feature-based design and process planning,” Computers and [15] J. D. Adams and D. E. Whitney, “Application of screw theory to Graphics,vol.14,no.2,pp.225–235,1990. constraint analysis of mechanical assemblies joined by features,” [31] J. Hefferon, Linear Algebra, 2014, http://joshua.smcvt.edu/linea- Journal of Mechanical Design, Transactions of the ASME,vol.123, ralgebra/. no. 1, pp. 26–32, 2001. [32] J. Phillips, Freedom in Machinery—Introducing Screw Theory, [16] J. D. Adams and S. Gerbino, “Application of screw theory to vol. 1, Cambridge University Press, Cambridge, UK, 2007. motion analysis of assemblies of rigid parts,” in Proceedings [33] Z. Huang, Q. Li, and H. Ding, “Basics of screw theory,”in Theory of the IEEE International Symposium on Assembly and Task of Parallel Mechanisms,vol.6,pp.1–16,Springer,Dordrecht,The Planning (ISATP ’99), pp. 75–80, Porto, Portugal, July 1999. Netherlands, 2013. [17] J. D. Adams, Feature-based analysis of selective limited motion in [34] F. Dunn and I. Parberry, 3D Math Primer for Graphics and Game assemblies [M.S. thesis], Mechanical Engineering Department, Development, CRC Press, Boca Raton, Fla, USA, 2nd edition, Massachusetts Institute of Technology, Cambridge, Mass, USA, 2011. 1998. [35] E. J. Haug, Computer Aided Kinematics and Dynamics of Mecha- [18] S. Gerbino and F. Arrichiello, “How to investigate constraints nical Systems,vol.1ofAllynandBaconSeriesinEngineering, and motions in assemblies by Screw Theory,” in Proceedings Basic Method, Boston, Mass, USA, 1989. of the CIRP International Seminar on Intelligent Computation in Manufacturing Engineering (CIRP ICME ’04), pp. 331–336, Sorrento,Italy,June-July2004. [19] P. Franciosa and S. Gerbino, “A CAD-based methodology for motion and constraint analysis according to screw theory,” in Proceedings of the ASME International Mechanical Engineering Congress and Exposition (IMECE ’09),Paperno.IMECE2009- 13159, pp. 287–296, Lake Buena Vista, Fla, USA, November 2009. [20] M. Celentano, Development of a CAD-based graphic environ- ment for motion and constraint analysis according to Screw Theory [M.S. thesis in Mechanical Engineering], University of Naples—Federico II, Naples, Italy, 2007. [21] H. J. Su, D. V. Dorozhkin, and J. M. Vance, “A screw theory approach for the conceptual design of flexible joints for com- pliant mechanisms,” Journal of Mechanisms and Robotics,vol.1, no.4,ArticleID041009,pp.1–8,2009. [22] A. Dixon and J. J. Shah, “Assembly feature tutor and recognition algorithms based on mating face Pairs,” Computer-Aided Design and Applications,vol.7,no.3,pp.319–333,2010. [23] D. E. Whitney, R. Mantripragada, J. D. Adams, and S. J. Rhee, “Designing assemblies,” Research in Engineering Design,vol.11, no. 4, pp. 229–253, 1999. [24] D. K. Smith, Constraint analysis of assemblies using screw theory and tolerance sensitivities [Master of Science], Department of Mechanical Engineering, Brigham Young University, 2001. [25] G. Shukla and D. E. Whitney, “The path method for analyzing mobility and constraint of mechanisms and assemblies,” IEEE Transactions on Automation Science and Engineering,vol.2,no. 2, pp. 184–192, 2005. [26] L. Rusli, A. Luscher, and J. Schmiedeler, “Analysis of constraint configurations in mechanical assembly via screw theory,” Jour- nalofMechanicalDesign,vol.134,no.2,ArticleID021006,pp. 1–12, 2012. [27] L. Rusli, A. Luscher, and J. Schmiedeler, “Optimization of constraint location, orientation, and quantity in mechanical Advances in Advances in Journal of Journal of Operations Research Decision Sciences Applied Mathematics Algebra Probability and Statistics Hindawi Publishing Corporation Hindawi Publishing Corporation Hindawi Publishing Corporation Hindawi Publishing Corporation Hindawi Publishing Corporation http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014

The Scientific International Journal of World Journal Differential Equations Hindawi Publishing Corporation Hindawi Publishing Corporation http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014

Submit your manuscripts at http://www.hindawi.com

International Journal of Advances in Combinatorics Mathematical Physics Hindawi Publishing Corporation Hindawi Publishing Corporation http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014

Journal of Journal of Mathematical Problems Abstract and Discrete Dynamics in Complex Analysis Mathematics in Engineering Applied Analysis Nature and Society Hindawi Publishing Corporation Hindawi Publishing Corporation Hindawi Publishing Corporation Hindawi Publishing Corporation Hindawi Publishing Corporation http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014

International Journal of Journal of Mathematics and Mathematical Discrete Mathematics Sciences

Journal of International Journal of Journal of Function Spaces Stochastic Analysis Optimization Hindawi Publishing Corporation Hindawi Publishing Corporation Volume 2014 Hindawi Publishing Corporation Hindawi Publishing Corporation Hindawi Publishing Corporation http://www.hindawi.com Volume 2014 http://www.hindawi.com http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014