Abstract

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.

1. 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 [13].

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 [68] 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. [1517] 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 [2325] 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 [429], if the screw representations between any two parts of the assembly model are known, we can easily analyze the model’s kinematic functions. References [413, 2329] 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 [1422], 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.

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

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

2.2. 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 to characterize the allowed motions of each kinematic joint and show their corresponding twist matrices.

2.2.1. Prismatic Joint

The degrees of freedom (dof) of a prismatic joint () is one. We use the unit vector to characterize the allowed translation. See Figure 2.

Thus, has the form

The twist matrix representation of is given by

We use instead of unless otherwise stated.

2.2.2. Revolute Joint

The dof of a revolute joint () is one. We use to characterize the axis of . The unit vector of is characterized by . is a single point on the. See Figure 3.

Thus, has the formwhere is a real number. has the form

Then, the twist matrix representation of is given by

2.2.3. Helical Joint

The dof of a helical joint (H) is one. We use to characterize the axis of . The unit vector of is characterized by . is a single point on the . See Figure 4.

Thus, has the formwhere is a real number. has the formwhere 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 to characterize the axis of . The unit vector of is characterized by . is a single point on the . See Figure 5.

Thus, has the formwhere is a real number. 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 to characterize the central point of and define , , and . See Figure 6.

Thus, 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 and are orthogonal in the planar surface, and the unit vector is the outer normal vector. is a single point on the surface. See Figure 7.

Thus, has three components, as shown in

Then, the twist matrix representation of is given by

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

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

3.2. 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 and , reference frames and , and nonzero unit vectors and are fixed in bodies and , respectively. Vector connects and between bodies. The basic constraints are often characterized by such elements.

3.2.1. Dot-1 Constraint

Dot-1 constraint restricts the relative orientation of a pair of bodies; that is,where and dot-1 constraint is symmetric with regard to bodies and . Note that dot-1 constraint would not be a basic constraint if . This means that the vectors and are parallel in the same or opposite directions. In this case, .

Writing the vectors and in terms of their respective body reference transformation matrices and and body-fixed constant vectors and , where and , (18) has the formwhere the transformation matrices and 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 and . 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 , 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 . Write the vector as

Equation (22) becomes

As a result, the wrench representation for dot-2 constraint must freeze the relative translation along the vector . Therefore, the wrench matrix is given by

Equation (25) also 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 distance; that is,where would be different depending on whether 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 if . However, if , the wrench representation has the formwhere the wrench, which is illustrated in (30), freezes all the relative translations along the axes , , and .

3.3. Wrench Representations of Geometry Constraints

To introduce geometry constraints, we give Figure 10.

In Figure 10, reference points and , reference frames and , and central axes and are fixed in cylinders and , respectively. Vector connects and between the cylinders.

The reference point has the form

The central axis has the formwhere is a real number. The planar surface has the formwhere and are both real numbers. At the same time, the elements , , and 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.

3.3.1. Coaxial Constraint

We use to denote the coaxial constraint of axes and , as shown in Figure 11.

The doc of 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 is given by

The corresponding kinematic joint of coaxial constraint is cylindrical joint.

3.3.2. Coplanar Constraint

We use to denote the coplanar constraint of planar surfaces and , as shown in Figure 12.

The doc of 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 is given by

The corresponding kinematic joint of coplanar constraint is planar joint.

3.3.3. Spherical Constraint

We use to denote the spherical constraint of two points and , as shown in Figure 13.

The doc of is three, which restricts three relative translations in three unrelated directions. In other words, it comprises one distance constraint, which has in Section 3.2.3, as shown in

Then, the wrench matrix of is given by

The corresponding kinematic joint of spherical constraint is spherical joint.

3.3.4. Align Constraint

Align constraint () is used to make two planar surfaces and parallel, as shown in Figure 14.

The doc of is two, which restricts two relative orientations. In other words, it comprises two dot-1 constraints, as shown in

Then, the wrench matrix of is given by

We cannot find a corresponding kinematic joint for align constraint among the common kinematic joints.

3.3.5. Distance between Line and Surface

We use to denote the axis and the surface that maintain a certain distance , as shown in Figure 15.

The doc of 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 is given by

We also cannot find a corresponding kinematic joint for distance between line and surface among the common kinematic joints.

3.3.6. Point on Line

We use to denote the point on line , as shown in Figure 16.

The doc of is two, which restricts two relative translations. In other words, it comprises two dot-2 constraints, as shown in

Then, the wrench matrix of is given by

We still cannot find a corresponding kinematic joint for point on line among the common kinematic joints.

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

4.1. Algorithm

We assume that is a part in a 3D assembly model restricted by parts . 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 .

BEGIN
 FOR each part , which restrict A.
  Convert all the geometry constraints between A and into basic components , .
  Determine the wrenches , acting upon A through . We have m not less than l.
  Collect all the wrenches   into a matrix .
 END FOR
Compute the orthogonal matrix in terms of by Gram-Schmidt orthogonalization [31].
 IF Rank() = 6 THEN
  Return IMMOBILE”.
 ELSE
  Compute the orthogonal complement matrix   of   .
 END IF
.
END

The in Algorithm 1 means to exchange the first triplet and the second triplet of . For example, if , then we have . 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 .

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 product of a twist and a wrench thatisequal to zero is given by

Mathematically, because reciprocity imposes the relation , 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.

4.3. 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 with two links: and . The constraints used are and . See Figure 17.

Also . This means that . However, we have and . In other words, the dimension of the orthogonal wrench space, which comprises and , 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.

5. 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, and , 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 iswhere is already an orthogonal matrix. Then, the orthogonal complement matrix isTherefore, the twist matrix between and has the following form:where 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, and , and two coplanar constraints: and .
Following the process outlined in Example 1, we find that the wrench matrices between and arewhere . The orthogonal matrix of isThe orthogonal complement matrix of isTherefore, the twist matrix between and has the following form:where 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.
The hydraulic grab comprises 12 parts, , , , , , , , , , , , and , 12 coplanar constraints, , , , , , , , , , , , and , and 15 coaxial constraints, , , , , , , , , , , , , , , and . See Figure 21.
Here, we present the processes of recognition among , , and , as shown in Figure 22. The geometry constraint between and is . Following the process outlined in Section 3.3.1, we find, based on the definition of the coaxial constraint, that the wrench matrix isThe orthogonal complement matrix isThen, the twist matrix between and has the following form:The geometry constraints between and are and . Thus, the wrench matrices between and arewhere . The orthogonal matrix of is given byThen, the orthogonal complement matrix of isTherefore, the twist matrix between and isIn 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 [429], we can perform some different types of kinematic analyses using the screw system, such as determining the degrees of freedom of and ; 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 are equal to the dimension of the orthogonal twist space of , denoted by . In the same way, we can obtain the degrees of freedom of and any part in the hydraulic grab.
According to Sections 2.2.2 and 2.2.4, the kinematic joints between and and and 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.

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

Additional Points

(i)We provide a new method for converting any 3D assembly model into a screw system based on reciprocal screw theory.(ii)We describe the three basic components of geometric constraints in terms of wrench.(iii)We eliminate the redundant components of different geometry constraints that act upon the same part by the specific operation of a matrix space.(iv)We establish the maps between geometry constraints and kinematic joints as the reciprocal product of a twist and wrench, which is equal to zero.(v)We present several application examples.

Competing Interests

The authors declare that they have no competing interests.

Acknowledgments

The authors would like to thank the Ministry of Science and Technology of the People’s Republic of China (nos. 2011ZX02403-005, 2011CB706502, and 2013AA041301). This work is also supported by the National Natural Science Foundation of China (nos. 61370182 and 51175198).