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

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 machine 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.


Introduction
Currently, we can design a machine in terms of a top-down approach or a bottom-up approach in a CAD system.All parts of an assembly model are positioned using various geometry constraints so that they are in the correct relative positions and orientations.The 3D assembly models record the design parameters and some information that can be used for concept-level and detailed-level design.Its benefits are usually recognized only by those who design precision machines [1][2][3].
Any machine that consists of moving parts has to be designed to properly perform its kinematic functions.To analyze the kinematic property of assemblies, because of the lack of a kinematic description, many researchers have used screw theory.Applying screw theory to kinematics was first performed by Ball [4].Hunt [5] identified 22 cases of Ball's reciprocal screw systems.References [6][7][8] applied screw theory to determine the degrees of freedom of any body in a mechanism.Eddie Baker [9] analyzed many types of complex mechanisms based on [6].Mason and Salisbury [10] used screw theory to characterize the nature of contacts between robot gripper hands and objects.To analyze robotic multiple peg-in-hole, Fei and Zhao [11] described the contact forces by using the screw theory in three dimensions.Lee and Saitou [12] determined the dimensional integrity of robustness based on screw theory.Kim et al. [13] established a framework to estimate the reaction of constraints about a knee.
Assembly features encode geometric and functional relationships between parts that are widely used.Thus, many researchers perform kinematic analysis by using the assembly features.Konkar and Cutkosky [14] created screw system representations of assembly mating features.Adams et al. [15][16][17] used Konkar's algorithm and extended their work by defining extensible screw representations of some types of assembly features.Gerbino et al. [18,19] proposed an algorithm to decompose the liaison diagram representing an assembly into simple paths, to which the application of the 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.Celentano [20] improved the algorithm presented in [18] and developed a tool to analyze the motions and constraints of CAD mechanisms.Su et al. [21] presented a theory-based approach for the analysis and synthesis of flexible joints.Dixon and Shah [22] provided a mechanism for user-defined custom assembly features by using an interactive system.After that, twist and wrench matrices could be extracted from face pair relations and used in kinematic and structural analysis.
Geometry constraints between two parts in an assembly may be arbitrary combinations.References [23][24][25] analyzed the state of a constraint of an assembly, mechanism, or fixture to see if it is properly constrained or whether it contains unwanted overconstraints.Rusli et al. [26,27] addressed attachment-level design, in which decisions are made to establish the types, locations, and orientations of assembly features.Su et al. [28] analyzed the mobility of overconstrained linkages and compliant mechanisms.To provide a desired constrained motion for synthesizing a pattern of flexures, a new screw theory that addresses "line screws" and "line screw systems" was presented by Su and Tari [29].
According to , if the screw representations between any two parts of the assembly model are known, we can easily analyze the model's kinematic functions.References [4][5][6][7][8][9][10][11][12][13][23][24][25][26][27][28][29] manually model the corresponding screw system.Thus, it is time consuming when the machine is large and complex.On the other hand, to determine the screw system by using the methods proposed in [14][15][16][17][18][19][20][21][22], all of the screw 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, the screw system has to be rebuilt again and again, which has a great influence on the efficiency of the analysis procedure.
We hope to automatically and easily obtain the screw system of any assembly model.Thus, when we modify the assembly model during analysis-redesign-reanalysis cycles, the kinematic functions can be directly validated.For convenience, we adopt a graph of parts with twist among them to express the screw system.A screw system can be easily used for kinematic analysis, such as determining the degrees of freedom, estimating the reaction of constraints, and characterizing the nature of contacts between any two components.
In this paper, we propose a new method to automatically convert a 3D assembly model into a screw system based on reciprocal screw theory.The two fundamental concepts in the constraint-based approach, that is, freedom and constraint, can be represented mathematically by a twist and a wrench.Both the twist and kinematic joint represent motion; both the wrench and geometry constraint represent constraint.When a twist is given, we can obtain the corresponding wrench as the reciprocal product of a twist and wrench, which is equal to zero.Conversely, if we know a wrench, then the corresponding twist could be deduced as well.To avoid geometric reasoning, we model the three basic components of geometry constraints in terms of wrench.Thus, all common assembly constraints can be automatically deduced.For the redundant property of geometry constraints, the specific operation of a matrix space is applied.Finally, we achieve the graph of parts with kinematic joints among them with respect to an assembly model.
1.1.Organization of the Paper.Section 2 reviews the twist representations of common kinematic joints.Section 3 analyzes the basic components of geometry constraints and models these components in terms of wrench.Section 4 shows how to recognize the corresponding kinematic joints of assemblies restricted by arbitrary combinations of geometry constraints.Section 5 contains several examples.Section 6 presents our conclusions.

Screw Models of Kinematic Joints
To recognize the corresponding kinematic joints from geometry constraints, a mathematical model must be developed that can sufficiently and simultaneously describe the properties of kinematic joints and geometry constraints.This section shows how to define kinematic joints using twist.

Twist.
A twist [32,33] takes the form A twist is a screw that describes the instantaneous motion, to the first order, of a rigid body.This means that the motion described by a twist is allowed.The first triplet represents the angular velocity of the body with respect to a global reference frame.The second triplet represents the velocity, in the global reference frame, of that point on the body or its extension, which is instantaneously located at the origin of the global frame.Therefore, the unique line associated with the first triplet is the axis of rotation, and the unique point associated with the second triplet is the point on the body or its extension, which is, at that instant, located at the origin of the global reference frame.See Figure 1.
The ISA in Figure 1 is the axis introduced in Chasles Theorem.Both the twist and kinematic joint represent motion.Therefore, we can use a twist to characterize a component of the kinematic joint between two parts.Afterwards, the kinematic joint can be transformed into a corresponding twist matrix.

Twist Representations of Kinematic Joints.
There are 6 types of kinematic joints in common: prismatic joint, revolute joint, helical joint, cylindrical joint, spherical joint, and planar joint.In this section, we use s to characterize the allowed motions of each kinematic joint and show their corresponding twist matrices.

Prismatic Joint.
The degrees of freedom (dof) of a prismatic joint () is one.We use the unit vector .v = (V  , V  ,V  ) to characterize the allowed translation.See Figure 2.
Thus, .s has the form The twist matrix representation of  is given by We use 0 instead of [0, 0, 0] unless otherwise stated.

Revolute Joint.
The dof of a revolute joint () is one.We use .L to characterize the axis of .The unit vector of .L is characterized by .v = (V  , V  , V  )..P = (  ,   ,   ) is a single point on the .L. See Figure 3. Thus, .L has the form where  is a real number..s has the form .s = .P × .v.
Then, the twist matrix representation of  is given by where  is a real number..s has the form where . is the pitch of .Then, the twist matrix representation of  is given by 2.2.4.Cylindrical Joint.The dof of a cylindrical joint () is two.We use .L to characterize the axis of .The unit vector of .L is characterized by .v = (V  , V  , V  )..P = (  ,   ,   ) is a single point on the .L. See Figure 5. Thus, .L has the form where  is a real number..s has two components, as shown in Therefore, the twist matrix representation of  is given by 2.2.5.Spherical Joint.The dof of a spherical joint () is three.We use .P = (  ,   ,   ) to characterize the central point of  and define v 1 = (1, 0, 0), v 2 = (0, 1, 0), and v 3 = (0, 0, 1).See Figure 6.Thus, .s has three components, as shown in Then, the twist matrix representation of  is given by 2.2.6.Planar Joint.The dof of a planar joint () is three.The vectors ) are orthogonal in the planar surface, and the unit vector .n is the outer normal vector..P = (  ,   ,   ) is a single point on the surface.See Figure 7. Thus, .s has three components, as shown in Then, the twist matrix representation of  is given by

Reciprocal Screw Models of Geometric Constraints
To transform arbitrary combinations of geometric constraints between two parts into the corresponding kinematic joint, we should use the same mathematical model with kinematic joints or a model that can be easily transformed into a twist.This section shows how to define geometry constraints using wrench.

Wrench.
A wrench [32,33] takes the form A wrench is also a screw and describes the resultant force and moment of a force system acting on a rigid body.Any set of forces and couples applied to a body can be reduced to a set comprising a single force acting along a specific line in space and a pure couple acting in a plane perpendicular to that line.This means that the motion described by a wrench  is forbidden.The first triplet describes the resultant force in a global reference frame.The second triplet represents the resultant moment of the force system about the origin of the global frame.See Figure 8.
Both a wrench and geometry constraint are structural constraints.Therefore, we can use a wrench to characterize a component of the geometry constraints between two parts.Afterwards, the geometry constraints can be transformed into a corresponding wrench matrix.

Basic Components of Geometric Constraints.
When we describe a part in space, the orientation and position should be specified [34].The orientation cannot be described in absolute terms.An orientation is given by a rotation from some known reference orientation.The amount of rotation is known as an angular displacement.In other words, describing an orientation is mathematically equivalent to describing an angular displacement.In the same way, when we specify the position of a part, we cannot do so in absolute terms; we must always do so within the context of a specific reference frame.Therefore, specifying a position is actually the same as specifying an amount of translation from a given reference point (usually the origin of some coordinate system).
In practice, there are many geometry constraints, such as align and point on line.We can use one or arbitrary combinations of geometric constraints to restrict the relative orientation and position between two parts.As we know, common geometry constraints, such as coaxial constraints and spherical constraints, usually have a high degree of constraint (doc).However, these geometry constraints are all combined by the three different types of basic constraints: dot-1 constraint, dot-2 constraint, and the distance constraint [35], which can be divided into two categories: the orientation part and the position part.
Consider a pair of rigid bodies, denoted as bodies  and  in Figure 9. Reference points P  and P  , reference frames f  -g  -h  and f  -g  -h  , and nonzero unit vectors a  and a  are fixed in bodies  and , respectively.Vector P  and P  between bodies.The basic constraints are often characterized by such elements.

Dot-1
Constraint.Dot-1 constraint restricts the relative orientation of a pair of bodies; that is, where doc(Φ 1 ) = 1 and dot-1 constraint is symmetric with regard to bodies  and .Note that dot-1 constraint would not be a basic constraint if  1 = ±1.This means that the vectors a  and a  are parallel in the same or opposite directions.In this case, doc(Φ 1 (a  , a  , ±1)) = 2.
Writing the vectors a  and a  in terms of their respective body reference transformation matrices A  and A  and bodyfixed constant vectors a   and a   , where a  = A  a   and a  = A  a   , (18) has the form where the transformation matrices A  and A  in (19) depend on the orientation generalized coordinates of bodies  and , respectively.As a result, the wrench representation for dot-1 constraint should also freeze the relative orientation of the vectors a  and a  .Therefore, the wrench matrix is given by If we use the body reference transformation matrices, (20) has the form 3.2.2.Dot-2 Constraint.Dot-2 constraint restricts the relative position of a pair of bodies; that is, where doc(Φ 2 ) = 1, the same as that with dot-1 constraint, although dot-2 constraint is not symmetric with regard to bodies  and .Analytically, it is important to recall that dot-2 constraint breaks down if d  = 0. Write the vector d  as Equation ( 22) becomes As a result, the wrench representation for dot-2 constraint must freeze the relative translation along the vector a  .Therefore, the wrench matrix is given by Equation ( 25) also has the form

Distance Constraint.
In practice, we often require a pair of points on two bodies to coincide or maintain a determined distance; that is, where doc(Φ  ) would be different depending on whether  3 is zero.Therefore, we have As a result, the wrench representation for the distance constraint should have two types of expressions, as shown in (29) and (30): where the wrench representation for the distance constraint should freeze the relative translation along the vector d  if  3 ̸ = 0.However, if  3 = 0, the wrench representation has the form where the wrench, which is illustrated in (30), freezes all the relative translations along the axes , , and .

Wrench Representations of Geometry Constraints.
To introduce geometry constraints, we give Figure 10.In Figure 10, reference points P 1 and P 2 , reference frames f 1 -g 1 -h 1 and f 2 -g 2 -h 2 , and central axes L 1 and L 2 are fixed in cylinders  1 and  2 , respectively.Vector d 12 connects P 1 and P 2 between the cylinders.
Figure 10: Instance of geometry constraints.
The reference point P 1 has the form The central axis L 1 has the form where  is a real number.The planar surface F 1 has the form where  and  are both real numbers.At the same time, the elements P 2 , L 2 , and F 2 have the same forms.The following geometry constraints are often characterized by such elements.
We can divide all different types of geometry constraints, which have more than one doc, into six categories: coaxial constraint, coplanar constraint, spherical constraint, align constraint, distance between line and surface, and point on line.We have modeled the three basic components of geometry constraints in terms of wrench.Thus, the wrench models of these six types of geometry constraints can be automatically deduced.

Coaxial Constraint.
We use (L 1 , L 2 ) to denote the coaxial constraint of axes L 1 and L 2 , as shown in Figure 11.
The doc of (L 1 , L 2 ) is four, which restricts two relative orientations and two relative translations.In other words, it comprises two dot-1 constraints and two dot-2 constraints, as shown in Then, the wrench matrix of (L 1 , L 2 ) is given by Figure 11: Coaxial constraint.The corresponding kinematic joint of coaxial constraint is cylindrical joint.

Coplanar Constraint.
We use (F 1 , F 2 ) to denote the coplanar constraint of planar surfaces F 1 and F 2 , as shown in Figure 12.
The doc of (F 1 , F 2 ) is three, which restricts two relative orientations and one relative translation.In other words, it comprises two dot-1 constraints and one dot-2 constraint, as shown in Then, the wrench matrix of (F 1 , F 2 ) is given by The corresponding kinematic joint of coplanar constraint is planar joint.

Spherical Constraint.
We use (P 1 , P 2 ) to denote the spherical constraint of two points P 1 and P 2 , as shown in Figure 13.
The doc of (P 1 , P 2 ) is three, which restricts three relative translations in three unrelated directions.In other words, it comprises one distance constraint, which has  3 = 0 in Section 3.2.3, as shown in Then, the wrench matrix of (P 1 , P 2 ) is given by The corresponding kinematic joint of spherical constraint is spherical joint.

Align Constraint. Align constraint (𝑃𝑎𝑟𝐹𝐹
) is used to make two planar surfaces F 1 and F 2 parallel, as shown in Figure 14.
The doc of (F 1 , F 2 ) is two, which restricts two relative orientations.In other words, it comprises two dot-1 constraints, as shown in Then, the wrench matrix of (F 1 , F 2 ) is given by We cannot find a corresponding kinematic joint for align constraint among the common kinematic joints.

Distance between Line and Surface.
We use (L 1 , F 2 , ) to denote the axis L 1 and the surface F 2 that maintain a certain distance , as shown in Figure 15.
The doc of (L 1 , F 2 , ) is two, which restricts one relative orientation and one relative translation.In other words, it comprises one dot-1 constraint and one dot-2 constraint, as shown in Then, the wrench matrix of (L 1 , F 2 , ) is given by We also cannot find a corresponding kinematic joint for distance between line and surface among the common kinematic joints.

Point on Line.
We use (P 1 , L 2 ) to denote the point P 1 on line L 2 , as shown in Figure 16.
The doc of (P 1 , L 2 ) is two, which restricts two relative translations.In other words, it comprises two dot-2 constraints, as shown in Then, the wrench matrix of (P 1 , L 2 ) is given by We still cannot find a corresponding kinematic joint for point on line among the common kinematic joints.
Figure 16: Point on line.

Recognition of 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 defines the range of wrenches that can be exerted upon a body and the space of screws that defines the range of twists that the body can perform without breaking any contacts in the joints of the mechanism are mutually reciprocal screw spaces.When we know the wrenches acting upon a body, we can determine the motions it can perform.Conversely, if we know the motions a body is capable of performing, then the constraints that are exerted upon it can also be deduced.

Algorithm.
We assume that  is a part in a 3D assembly model restricted by parts  1 ,  2 , . . .,   .The twist space of  is the space of screws reciprocal to the wrenches of contact acting upon it.The space of wrenches acting upon  is the union of all the individual wrenches acting upon it from the parts   .These individual wrenches are to be considered as acting alone.Algorithm 1 provides the twist space of , denoted by T  .The (P) in Algorithm 1 means to exchange the first triplet and the second triplet of P. For example, if P = [, , ; , , ], then we have (P) = [, , ; , , ].The recursive nature of the procedure requires the computation of the wrench space and twist space of each component.This proves to be computationally expensive because wrench space and twist space are defined in terms of the reciprocal of one another.The operation of deriving reciprocal screws involves computing the null space of matrices.The speed of the algorithm is linearly related to the number of   .That is, the algorithm is of the order (). .We have m 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].

ELSE
Compute the orthogonal complement matrix P of Q.

END IF T A = Reciprocal(P). END
Algorithm 1: Function twist space.
product of a twist T 1 and a wrench W 1 thatisequal to zero is given by Mathematically, because reciprocity imposes the relation T 1 ∘ W 1 , we can compute one of these quantities if the other is known.This allows us to compute the twists that a body may execute while in contact with other bodies without breaking the contacts.

Redundant Constraint.
When more than one geometry constraint acts upon the same part, because some components of these constraints may be redundant, the resultant motion is the logical intersection of the individual wrench matrix that defines each constraint, for example, when we model a revolute joint  12 with two links:  1 and  2 .The constraints used are (A 1 , A 2 ) and (F 1 , F 2 ).See Figure 17.
Also dof( 12 ) = 1.This means that doc( 1 ,  2 ) = 5.However, we have doc((A 1 , A 2 )) = 4 and doc((F 1 , F 2 )) = 3.In other words, the dimension of the orthogonal wrench space, which comprises W (A 1 ,A 2 ) and W (F 1 ,F 2 ) , 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 perform under the action of each wrench acting alone.Thus, we can eliminate the redundant components of different geometry constraints that act upon the same part by using Gram-Schmidt orthogonalization in Algorithm 1.

Examples
In each of the examples below, different types of kinematic joints are recognized.
Example 1 (planar joint).Figure 18 shows a planar joint consisting of two parts,  1 and  2 , and a coplanar constraint: Following the process outlined in Section 3.3.2,we find, based on the definition of the coplanar constraint, that the wrench matrix is where W (F 1 ,F 2 ) is already an orthogonal matrix.Then, the orthogonal complement matrix P (F 1 ,F 2 ) is Therefore, the twist matrix T 12 between  1 and  2 has the following form: where T 12 represents the motion of a planar joint, which is illustrated in Section 2.2.6.Moreover, the recognition process of a cylindrical joint or spherical joint is approximately the same as that of the planar joint.
Example 2 (prismatic joint).Figure 19 shows a prismatic joint consisting of two parts,  1 and  2 , and two coplanar constraints: (F 1 , F 2 ) and (F  1 , F  2 ).Following the process outlined in Example 1, we find that the wrench matrices between  1 and  2 are where The orthogonal complement matrix P 12 of Q 12 is Therefore, the twist matrix T 12 between  1 and  2 has the following form: where T 12 represents the motion of a prismatic joint, which is shown in Section 2.2.1.Moreover, the recognition process of a revolute joint is approximately the same as that of the prismatic joint.
Example 3 (hydraulic grab).Here, we present a project example.A hydraulic grab with three degrees of freedom in Cartesian coordinates is illustrated in Figure 20.
Here, we present the processes of recognition among  1 ,  2 , and  3 , as shown in Figure 22.The geometry constraint between  2 and  3 is ( 2 ,  3 ).Following the process   outlined in Section 3.3.1,we find, based on the definition of the coaxial constraint, that the wrench matrix is The orthogonal complement matrix is Then, the twist matrix T 23 between  2 and  3 has the following form: The geometry constraints between  1 and  3 are ( 1 ,  3 ) and ( 1 ,  3 ).Thus, the wrench matrices between  1 and  3 are where ) .The orthogonal matrix Q 13 of W 13 is given by Then, the orthogonal complement matrix P 13 of Q 13 is Therefore, the twist matrix T 13 between  1 and  3 is In this paper, we propose a new method to automatically convert a 3D assembly model into a screw system based 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 Figure 23.
As mentioned in , we can perform some different types of kinematic analyses using the screw system, such as determining the degrees of freedom of  1 and  4 ; that is, , where the resultant of the motions that the end-effector of a purely serial chain may perform due to the action of each joint acting alone is the union of that set and the resultant of the set of twists allowed separately by multiple contacts upon a body is the intersection of the individual twists.Thus, the degrees of freedom of  1 are equal to the dimension of the orthogonal twist space of  1 , denoted by T  1 .In the same way, we can obtain the degrees of freedom of  4 and any part in the hydraulic grab.According to Sections 2.2.2 and 2.2.4, the kinematic joints between  2 and  3 and  1 and  3 are the cylindrical joint and revolute joint.As a result, we can obtain the kinematic joint model.See Figure 24.If the corresponding kinematic joint between any two parts cannot be recognized, we can easily analyze the model's geometry constraints.

Conclusions
This paper investigates a method for determining the kinematic joints of assemblies restricted by arbitrary combinations of geometry constraints using reciprocal screw theory.We achieve the process of recognition in terms of the basic components of geometry constraints and kinematic joints.We describe the three basic components of geometric constraints in terms of wrench.At the same time, the specific operation of a matrix space is applied to eliminate the redundant components between different geometry constraints that act upon the same part.A user of this method can automatically and easily convert any assembly model into a screw system in any CAD system.Afterwards, the screw system can be easily used for validating kinematic functions, analyzing over-or underconstrained assembly configurations, and so on.

Figure 9 :
Figure 9: Vectors fixed in and between bodies.

Figure 15 :
Figure 15: Distance between line and surface.

4. 2 .
Reciprocal Product.According to reciprocal screw theory, two screws (a twist and a wrench) are said to be mutually reciprocal if their reciprocal product is zero.The reciprocal BEGIN FOR each part B i , which restrict A. Convert all the geometry constraints between A and B i into basic components    ,  = 1, . . ., .Determine the wrenches W   ,  = 1, . . .,  acting upon A through C

Figure 21 :
Figure 21: The constraint graph of a hydraulic grab.

Figure 23 :Figure 24 :
Figure 23: The screw system of a hydraulic grab.