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

Authors: Tao Xiong; Liping Chen; Jianwan Ding; Yizhong Wu; Wenjie Hou
Journal: Mathematical Problems in Engineering
 (2016)

---

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


---

## Body

## 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 [1–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–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–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–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 [4–29], 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–13, 23–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–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

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


## 1.1. Organization of the Paper

Section2 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(1)
T
=
ω
x
ω
y
ω
z
;
υ
x
υ
y
υ
z
.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.Figure 1
Twist.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, andplanar joint. In this section, we use s to characterize the allowed motions of each kinematic joint and show their corresponding twist matrices.


#### 2.2.1. Prismatic Joint

Thedegrees of freedom (dof) of aprismatic joint (P) is one. We use the unit vector P
.
v
=
v
x
,
v
y
,
v
z to characterize the allowed translation. See ‎Figure 2.Figure 2
Prismatic joint.Thus,P
.
s has the form(2)
P
.
s
=
P
.
v
.The twist matrix representation ofP is given by(3)
T
P
=
0
;
P
.
s
.We use0 instead of 0
,
0
,
0 unless otherwise stated.


#### 2.2.2. Revolute Joint

The dof of arevolute joint (R) is one. We use R
.
L to characterize the axis of R. The unit vector of R
.
L is characterized by R
.
v
=
(
v
x
,
v
y
,
v
z
). R
.
P
=
(
P
x
,
P
y
,
P
z
) is a single point on theR
.
L. See ‎Figure 3.Figure 3
Revolute joint.Thus,R
.
L has the form(4)
R
.
L
=
R
.
P
+
a
·
R
.
v
,where a is a real number. R
.
s has the form(5)
R
.
s
=
R
.
P
×
R
.
v
.Then, the twist matrix representation ofR is given by(6)
T
R
=
R
.
v
;
R
.
s
.


#### 2.2.3. Helical Joint

The dof of ahelical joint (H) is one. We use H
.
L to characterize the axis of H. The unit vector of H
.
L is characterized by H
.
v
=
(
v
x
,
v
y
,
v
z
). H
.
P
=
(
P
x
,
P
y
,
P
z
) is a single point on the H
.
L. See ‎Figure 4.Figure 4
Helical joint.Thus,H
.
L has the form(7)
H
.
L
=
H
.
P
+
a
·
H
.
v
,where a is a real number. H
.
s has the form(8)
H
.
s
=
H
.
P
×
H
.
v
+
H
.
p
·
H
.
v
,where H
.
p is the pitch of H. Then, the twist matrix representation of H is given by(9)
T
H
=
H
.
v
;
H
.
s
.


#### 2.2.4. Cylindrical Joint

The dof of acylindrical joint (C) is two. We use C
.
L to characterize the axis of C. The unit vector of C
.
L is characterized by C
.
v
=
(
v
x
,
v
y
,
v
z
). C
.
P
=
(
P
x
,
P
y
,
P
z
) is a single point on the C
.
L. See ‎Figure 5.Figure 5
Cylindrical joint.Thus,C
.
L has the form(10)
C
.
L
=
C
.
P
+
a
·
C
.
v
,where a is a real number. C
.
s has two components, as shown in (11)
C
.
s
1
=
C
.
P
×
C
.
v
,
C
.
s
2
=
C
.
v
.Therefore, the twist matrix representation ofC is given by(12)
T
C
=
C
.
v
;
C
.
s
1
0
;
C
.
s
2
.


#### 2.2.5. Spherical Joint

The dof of aspherical joint (S) is three. We use S
.
P
=
(
P
x
,
P
y
,
P
z
) to characterize the central point of S and define v
1
=
(
1
,
0
,
0
), v
2
=
(
0
,
1
,
0
), and v
3
=
(
0
,
0
,
1
). See ‎Figure 6.Figure 6
Spherical joint.Thus,S
.
s has three components, as shown in (13)
S
.
s
1
=
S
.
P
×
v
1
=
0
,
P
z
,
-
P
y
,
S
.
s
2
=
S
.
P
×
v
2
=
-
P
z
,
0
,
P
x
,
S
.
s
3
=
S
.
P
×
v
3
=
P
y
,
-
P
x
,
0
.Then, the twist matrix representation ofS is given by(14)
T
S
=
v
1
;
S
.
s
1
v
2
;
S
.
s
2
v
3
;
S
.
s
3
.


#### 2.2.6. Planar Joint

The dof of aplanar joint (E) is three. The vectors E
.
v
1
=
(
v
x
1
,
v
y
1
,
v
z
1
) and E
.
v
2
=
(
v
x
2
,
v
y
2
,
v
z
2
) are orthogonal in the planar surface, and the unit vector E
.
n is the outer normal vector. E
.
P
=
(
P
x
,
P
y
,
P
z
) is a single point on the surface. See ‎Figure 7.Figure 7
Planar joint.Thus,E
.
s has three components, as shown in (15)
E
.
s
1
=
E
.
v
1
,
E
.
s
2
=
E
.
v
2
,
E
.
s
3
=
E
.
P
×
E
.
n
.Then, the twist matrix representation ofE is given by(16)
T
E
=
0
;
E
.
s
1
0
;
E
.
s
2
E
.
n
;
E
.
s
3
.


## 2.1. Twist

A twist [32, 33] takes the form(1)
T
=
ω
x
ω
y
ω
z
;
υ
x
υ
y
υ
z
.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.Figure 1
Twist.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, andplanar joint. In this section, we use s to characterize the allowed motions of each kinematic joint and show their corresponding twist matrices.


### 2.2.1. Prismatic Joint

Thedegrees of freedom (dof) of aprismatic joint (P) is one. We use the unit vector P
.
v
=
v
x
,
v
y
,
v
z to characterize the allowed translation. See ‎Figure 2.Figure 2
Prismatic joint.Thus,P
.
s has the form(2)
P
.
s
=
P
.
v
.The twist matrix representation ofP is given by(3)
T
P
=
0
;
P
.
s
.We use0 instead of 0
,
0
,
0 unless otherwise stated.


### 2.2.2. Revolute Joint

The dof of arevolute joint (R) is one. We use R
.
L to characterize the axis of R. The unit vector of R
.
L is characterized by R
.
v
=
(
v
x
,
v
y
,
v
z
). R
.
P
=
(
P
x
,
P
y
,
P
z
) is a single point on theR
.
L. See ‎Figure 3.Figure 3
Revolute joint.Thus,R
.
L has the form(4)
R
.
L
=
R
.
P
+
a
·
R
.
v
,where a is a real number. R
.
s has the form(5)
R
.
s
=
R
.
P
×
R
.
v
.Then, the twist matrix representation ofR is given by(6)
T
R
=
R
.
v
;
R
.
s
.


### 2.2.3. Helical Joint

The dof of ahelical joint (H) is one. We use H
.
L to characterize the axis of H. The unit vector of H
.
L is characterized by H
.
v
=
(
v
x
,
v
y
,
v
z
). H
.
P
=
(
P
x
,
P
y
,
P
z
) is a single point on the H
.
L. See ‎Figure 4.Figure 4
Helical joint.Thus,H
.
L has the form(7)
H
.
L
=
H
.
P
+
a
·
H
.
v
,where a is a real number. H
.
s has the form(8)
H
.
s
=
H
.
P
×
H
.
v
+
H
.
p
·
H
.
v
,where H
.
p is the pitch of H. Then, the twist matrix representation of H is given by(9)
T
H
=
H
.
v
;
H
.
s
.


### 2.2.4. Cylindrical Joint

The dof of acylindrical joint (C) is two. We use C
.
L to characterize the axis of C. The unit vector of C
.
L is characterized by C
.
v
=
(
v
x
,
v
y
,
v
z
). C
.
P
=
(
P
x
,
P
y
,
P
z
) is a single point on the C
.
L. See ‎Figure 5.Figure 5
Cylindrical joint.Thus,C
.
L has the form(10)
C
.
L
=
C
.
P
+
a
·
C
.
v
,where a is a real number. C
.
s has two components, as shown in (11)
C
.
s
1
=
C
.
P
×
C
.
v
,
C
.
s
2
=
C
.
v
.Therefore, the twist matrix representation ofC is given by(12)
T
C
=
C
.
v
;
C
.
s
1
0
;
C
.
s
2
.


### 2.2.5. Spherical Joint

The dof of aspherical joint (S) is three. We use S
.
P
=
(
P
x
,
P
y
,
P
z
) to characterize the central point of S and define v
1
=
(
1
,
0
,
0
), v
2
=
(
0
,
1
,
0
), and v
3
=
(
0
,
0
,
1
). See ‎Figure 6.Figure 6
Spherical joint.Thus,S
.
s has three components, as shown in (13)
S
.
s
1
=
S
.
P
×
v
1
=
0
,
P
z
,
-
P
y
,
S
.
s
2
=
S
.
P
×
v
2
=
-
P
z
,
0
,
P
x
,
S
.
s
3
=
S
.
P
×
v
3
=
P
y
,
-
P
x
,
0
.Then, the twist matrix representation ofS is given by(14)
T
S
=
v
1
;
S
.
s
1
v
2
;
S
.
s
2
v
3
;
S
.
s
3
.


### 2.2.6. Planar Joint

The dof of aplanar joint (E) is three. The vectors E
.
v
1
=
(
v
x
1
,
v
y
1
,
v
z
1
) and E
.
v
2
=
(
v
x
2
,
v
y
2
,
v
z
2
) are orthogonal in the planar surface, and the unit vector E
.
n is the outer normal vector. E
.
P
=
(
P
x
,
P
y
,
P
z
) is a single point on the surface. See ‎Figure 7.Figure 7
Planar joint.Thus,E
.
s has three components, as shown in (15)
E
.
s
1
=
E
.
v
1
,
E
.
s
2
=
E
.
v
2
,
E
.
s
3
=
E
.
P
×
E
.
n
.Then, the twist matrix representation ofE is given by(16)
T
E
=
0
;
E
.
s
1
0
;
E
.
s
2
E
.
n
;
E
.
s
3
.


## 2.2.1. Prismatic Joint

Thedegrees of freedom (dof) of aprismatic joint (P) is one. We use the unit vector P
.
v
=
v
x
,
v
y
,
v
z to characterize the allowed translation. See ‎Figure 2.Figure 2
Prismatic joint.Thus,P
.
s has the form(2)
P
.
s
=
P
.
v
.The twist matrix representation ofP is given by(3)
T
P
=
0
;
P
.
s
.We use0 instead of 0
,
0
,
0 unless otherwise stated.


## 2.2.2. Revolute Joint

The dof of arevolute joint (R) is one. We use R
.
L to characterize the axis of R. The unit vector of R
.
L is characterized by R
.
v
=
(
v
x
,
v
y
,
v
z
). R
.
P
=
(
P
x
,
P
y
,
P
z
) is a single point on theR
.
L. See ‎Figure 3.Figure 3
Revolute joint.Thus,R
.
L has the form(4)
R
.
L
=
R
.
P
+
a
·
R
.
v
,where a is a real number. R
.
s has the form(5)
R
.
s
=
R
.
P
×
R
.
v
.Then, the twist matrix representation ofR is given by(6)
T
R
=
R
.
v
;
R
.
s
.


## 2.2.3. Helical Joint

The dof of ahelical joint (H) is one. We use H
.
L to characterize the axis of H. The unit vector of H
.
L is characterized by H
.
v
=
(
v
x
,
v
y
,
v
z
). H
.
P
=
(
P
x
,
P
y
,
P
z
) is a single point on the H
.
L. See ‎Figure 4.Figure 4
Helical joint.Thus,H
.
L has the form(7)
H
.
L
=
H
.
P
+
a
·
H
.
v
,where a is a real number. H
.
s has the form(8)
H
.
s
=
H
.
P
×
H
.
v
+
H
.
p
·
H
.
v
,where H
.
p is the pitch of H. Then, the twist matrix representation of H is given by(9)
T
H
=
H
.
v
;
H
.
s
.


## 2.2.4. Cylindrical Joint

The dof of acylindrical joint (C) is two. We use C
.
L to characterize the axis of C. The unit vector of C
.
L is characterized by C
.
v
=
(
v
x
,
v
y
,
v
z
). C
.
P
=
(
P
x
,
P
y
,
P
z
) is a single point on the C
.
L. See ‎Figure 5.Figure 5
Cylindrical joint.Thus,C
.
L has the form(10)
C
.
L
=
C
.
P
+
a
·
C
.
v
,where a is a real number. C
.
s has two components, as shown in (11)
C
.
s
1
=
C
.
P
×
C
.
v
,
C
.
s
2
=
C
.
v
.Therefore, the twist matrix representation ofC is given by(12)
T
C
=
C
.
v
;
C
.
s
1
0
;
C
.
s
2
.


## 2.2.5. Spherical Joint

The dof of aspherical joint (S) is three. We use S
.
P
=
(
P
x
,
P
y
,
P
z
) to characterize the central point of S and define v
1
=
(
1
,
0
,
0
), v
2
=
(
0
,
1
,
0
), and v
3
=
(
0
,
0
,
1
). See ‎Figure 6.Figure 6
Spherical joint.Thus,S
.
s has three components, as shown in (13)
S
.
s
1
=
S
.
P
×
v
1
=
0
,
P
z
,
-
P
y
,
S
.
s
2
=
S
.
P
×
v
2
=
-
P
z
,
0
,
P
x
,
S
.
s
3
=
S
.
P
×
v
3
=
P
y
,
-
P
x
,
0
.Then, the twist matrix representation ofS is given by(14)
T
S
=
v
1
;
S
.
s
1
v
2
;
S
.
s
2
v
3
;
S
.
s
3
.


## 2.2.6. Planar Joint

The dof of aplanar joint (E) is three. The vectors E
.
v
1
=
(
v
x
1
,
v
y
1
,
v
z
1
) and E
.
v
2
=
(
v
x
2
,
v
y
2
,
v
z
2
) are orthogonal in the planar surface, and the unit vector E
.
n is the outer normal vector. E
.
P
=
(
P
x
,
P
y
,
P
z
) is a single point on the surface. See ‎Figure 7.Figure 7
Planar joint.Thus,E
.
s has three components, as shown in (15)
E
.
s
1
=
E
.
v
1
,
E
.
s
2
=
E
.
v
2
,
E
.
s
3
=
E
.
P
×
E
.
n
.Then, the twist matrix representation ofE is given by(16)
T
E
=
0
;
E
.
s
1
0
;
E
.
s
2
E
.
n
;
E
.
s
3
.


## 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(17)
W
=
f
x
f
y
f
z
;
m
x
m
y
m
z
.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.Figure 8
Wrench.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 asalign andpoint 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 ascoaxial constraints andspherical constraints, usually have a highdegree 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 thedistance constraint[35], which can be divided into two categories: the orientation part and the position part.Consider a pair of rigid bodies, denoted as bodiesi and j in ‎Figure 9. Reference points P
i and P
j, reference frames f
i
-
g
i
-
h
i and f
j
-
g
j
-
h
j, and nonzero unit vectors a
i and a
j are fixed in bodies i and j, respectively. Vector d
i
j connects P
i and P
j between bodies. The basic constraints are often characterized by such elements.Figure 9
Vectors fixed in and between bodies.


#### 3.2.1. Dot-1 Constraint

Dot-1 constraint restricts the relative orientation of a pair of bodies; that is,(18)
Φ
d
1
a
i
,
a
j
,
C
1
≡
a
i
T
a
j
-
C
1
=
0
,
C
1
∈
-
1,1
,where doc
(
Φ
d
1
)
=
1 anddot-1 constraint is symmetric with regard to bodies i and j. Note thatdot-1 constraint would not be a basic constraint if C
1
=
±
1. This means that the vectors a
i and a
j are parallel in the same or opposite directions. In this case, doc
(
Φ
d
1
(
a
i
,
a
j
,
±
1
)
)
=
2.Writing the vectorsa
i and a
j in terms of their respective body reference transformation matrices A
i and A
j and body-fixed constant vectors a
i
′ and a
j
′, where a
i
=
A
i
a
i
′ and a
j
=
A
j
a
j
′, (18) has the form(19)
Φ
d
1
a
i
,
a
j
,
C
1
≡
a
i
′
T
A
i
T
A
j
a
j
′
-
C
1
=
0
,
C
1
∈
-
1,1
,where the transformation matrices A
i and A
j in (19) depend on the orientation generalized coordinates of bodies i and j, respectively.As a result, the wrench representation fordot-1 constraint should also freeze the relative orientation of the vectors a
i and a
j. Therefore, the wrench matrix is given by(20)
W
d
1
=
0
;
a
i
×
a
j
.If we use the body reference transformation matrices, (20) has the form(21)
W
d
1
=
0
;
a
i
′
T
A
i
T
×
A
j
a
j
′
.


#### 3.2.2. Dot-2 Constraint

Dot-2 constraint restricts the relative position of a pair of bodies; that is,(22)
Φ
d
2
a
i
,
d
i
j
,
C
2
≡
a
i
T
d
i
j
-
C
2
=
0
,
d
i
j
≠
0
,where doc
(
Φ
d
2
)
=
1, the same as that withdot-1 constraint, althoughdot-2 constraint is not symmetric with regard to bodies i and j. Analytically, it is important to recall thatdot-2 constraint breaks down if d
i
j
=
0. Write the vector d
i
j as(23)
d
i
j
=
r
j
+
A
j
s
j
′
P
-
r
i
-
A
i
s
i
′
P
.Equation (22) becomes(24)
Φ
d
2
a
i
,
d
i
j
,
C
2
≡
a
i
′
T
A
i
T
r
j
+
A
j
s
j
′
P
-
r
i
-
A
i
s
i
′
P
-
C
2
=
0
.As a result, the wrench representation fordot-2 constraint must freeze the relative translation along the vector a
i. Therefore, the wrench matrix is given by(25)
W
d
2
=
a
i
;
0
.Equation (25) also has the form(26)
W
d
2
=
A
i
a
i
′
;
0
.


#### 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,(27)
Φ
s
P
i
,
P
j
,
C
3
≡
d
i
j
T
d
i
j
-
C
3
·
C
3
=
0
,where doc
(
Φ
s
) would be different depending on whether C
3 is zero. Therefore, we have(28)
doc
Φ
s
=
1
if
C
3
≠
0
,
doc
Φ
s
=
3
if
C
3
=
0
.As a result, the wrench representation for thedistance constraint should have two types of expressions, as shown in (29) and (30):(29)
W
s
=
d
i
j
;
0
if
C
3
≠
0
,where the wrench representation for thedistance constraint should freeze the relative translation along the vector d
i
j if C
3
≠
0. However, if C
3
=
0, the wrench representation has the form(30)
W
s
=
1
0
0
;
0
0
1
0
;
0
0
0
1
;
0
if
C
3
=
0
,where the wrench, which is illustrated in (30), freezes all the relative translations along the axes x, y, and z.


### 3.3. Wrench Representations of Geometry Constraints

To introduce geometry constraints, we give‎Figure 10.Figure 10
Instance of geometry constraints.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 B
1 and B
2, respectively. Vector d
12 connects P
1 and P
2 between the cylinders.The reference pointP
1 has the form(31)
P
1
=
P
x
1
,
P
y
1
,
P
z
1
.The central axisL
1 has the form(32)
L
1
=
P
1
+
a
·
h
1
,where a is a real number. The planar surface F
1 has the form(33)
F
1
=
P
1
+
b
·
f
1
+
c
·
g
1
,where b and c 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, andpoint 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 useC
o
i
L
L
(
L
1
,
L
2
) to denote thecoaxial constraint of axes L
1 and L
2, as shown in ‎Figure 11.Figure 11
Coaxial constraint.The doc ofC
o
i
L
L
(
L
1
,
L
2
) is four, which restricts two relative orientations and two relative translations. In other words, it comprises twodot-1 constraints and twodot-2 constraints, as shown in (34)
Φ
1
d
1
h
1
,
f
2
,
0
,
Φ
2
d
1
h
1
,
g
2
,
0
,
Φ
3
d
2
f
1
,
d
12
,
0
,
Φ
4
d
2
g
1
,
d
12
,
0
.Then, the wrench matrix ofC
o
i
L
L
(
L
1
,
L
2
) is given by(35)
W
C
o
i
L
L
L
1
,
L
2
=
0
;
h
1
×
f
2
0
;
h
1
×
g
2
f
1
;
0
g
1
;
0
.The corresponding kinematic joint ofcoaxial constraint iscylindrical joint.


#### 3.3.2. Coplanar Constraint

We useC
o
i
F
F
(
F
1
,
F
2
) to denote thecoplanar constraint of planar surfaces F
1 and F
2, as shown in ‎Figure 12.Figure 12
Coplanar constraint.The doc ofC
o
i
F
F
(
F
1
,
F
2
) is three, which restricts two relative orientations and one relative translation. In other words, it comprises twodot-1 constraints and onedot-2 constraint, as shown in (36)
Φ
1
d
1
h
1
,
f
2
,
0
,
Φ
2
d
1
h
1
,
g
2
,
0
,
Φ
3
d
2
h
1
,
d
12
,
0
.Then, the wrench matrix ofC
o
i
F
F
(
F
1
,
F
2
) is given by(37)
W
C
o
i
F
F
F
1
,
F
2
=
0
;
h
1
×
f
2
0
;
h
1
×
g
2
h
1
;
0
.The corresponding kinematic joint ofcoplanar constraint isplanar joint.


#### 3.3.3. Spherical Constraint

We useC
o
i
P
P
(
P
1
,
P
2
) to denote thespherical constraint of two points P
1 and P
2, as shown in ‎Figure 13.Figure 13
Spherical constraint.The doc ofC
o
i
P
P
(
P
1
,
P
2
) is three, which restricts three relative translations in three unrelated directions. In other words, it comprises onedistance constraint, which has C
3
=
0 in Section 3.2.3, as shown in (38)
Φ
s
P
i
,
P
j
,
0
.Then, the wrench matrix ofC
o
i
P
P
(
P
1
,
P
2
) is given by(39)
W
C
o
i
P
P
P
1
,
P
2
=
1
0
0
;
0
0
1
0
;
0
0
0
1
;
0
.The corresponding kinematic joint ofspherical constraint isspherical joint.


#### 3.3.4. Align Constraint

Align constraint (P
a
r
F
F) is used to make two planar surfaces F
1 and F
2 parallel, as shown in ‎Figure 14.Figure 14
Align constraint.The doc ofP
a
r
F
F
(
F
1
,
F
2
) is two, which restricts two relative orientations. In other words, it comprises twodot-1 constraints, as shown in (40)
Φ
1
d
1
h
1
,
f
2
,
0
,
Φ
2
d
1
h
1
,
g
2
,
0
.Then, the wrench matrix ofP
a
r
F
F
(
F
1
,
F
2
) is given by(41)
W
P
a
r
F
F
F
1
,
F
2
=
0
;
h
1
×
f
2
0
;
h
1
×
g
2
.We cannot find a corresponding kinematic joint foralign constraint among the common kinematic joints.


#### 3.3.5. Distance between Line and Surface

We useD
i
s
L
F
(
L
1
,
F
2
,
D
) to denote the axis L
1 and the surface F
2 that maintain a certain distance D, as shown in ‎Figure 15.Figure 15
Distance between line and surface.The doc ofD
i
s
L
F
(
L
1
,
F
2
,
D
) is two, which restricts one relative orientation and one relative translation. In other words, it comprises onedot-1 constraint and onedot-2 constraint, as shown in (42)
Φ
1
d
1
h
1
,
h
2
,
0
,
Φ
2
d
2
h
2
,
d
12
,
D
.Then, the wrench matrix ofD
i
s
L
F
(
L
1
,
F
2
,
D
) is given by(43)
W
D
i
s
L
F
L
1
,
F
2
,
D
=
0
;
h
1
×
h
2
h
2
;
0
.We also cannot find a corresponding kinematic joint fordistance between line and surface among the common kinematic joints.


#### 3.3.6. Point on Line

We useC
o
i
P
L
(
P
1
,
L
2
) to denote the point P
1 on line L
2, as shown in ‎Figure 16.Figure 16
Point on line.The doc ofC
o
i
P
L
(
P
1
,
L
2
) is two, which restricts two relative translations. In other words, it comprises twodot-2 constraints, as shown in (44)
Φ
1
d
2
f
2
,
d
12
,
0
,
Φ
2
d
2
g
2
,
d
12
,
0
.Then, the wrench matrix ofC
o
i
P
L
(
P
1
,
L
2
) is given by(45)
W
D
i
s
L
F
L
1
,
F
2
,
D
=
f
2
;
0
g
2
;
0
.We still cannot find a corresponding kinematic joint forpoint on line among the common kinematic joints.


## 3.1. Wrench

A wrench [32, 33] takes the form(17)
W
=
f
x
f
y
f
z
;
m
x
m
y
m
z
.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.Figure 8
Wrench.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 asalign andpoint 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 ascoaxial constraints andspherical constraints, usually have a highdegree 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 thedistance constraint[35], which can be divided into two categories: the orientation part and the position part.Consider a pair of rigid bodies, denoted as bodiesi and j in ‎Figure 9. Reference points P
i and P
j, reference frames f
i
-
g
i
-
h
i and f
j
-
g
j
-
h
j, and nonzero unit vectors a
i and a
j are fixed in bodies i and j, respectively. Vector d
i
j connects P
i and P
j between bodies. The basic constraints are often characterized by such elements.Figure 9
Vectors fixed in and between bodies.


### 3.2.1. Dot-1 Constraint

Dot-1 constraint restricts the relative orientation of a pair of bodies; that is,(18)
Φ
d
1
a
i
,
a
j
,
C
1
≡
a
i
T
a
j
-
C
1
=
0
,
C
1
∈
-
1,1
,where doc
(
Φ
d
1
)
=
1 anddot-1 constraint is symmetric with regard to bodies i and j. Note thatdot-1 constraint would not be a basic constraint if C
1
=
±
1. This means that the vectors a
i and a
j are parallel in the same or opposite directions. In this case, doc
(
Φ
d
1
(
a
i
,
a
j
,
±
1
)
)
=
2.Writing the vectorsa
i and a
j in terms of their respective body reference transformation matrices A
i and A
j and body-fixed constant vectors a
i
′ and a
j
′, where a
i
=
A
i
a
i
′ and a
j
=
A
j
a
j
′, (18) has the form(19)
Φ
d
1
a
i
,
a
j
,
C
1
≡
a
i
′
T
A
i
T
A
j
a
j
′
-
C
1
=
0
,
C
1
∈
-
1,1
,where the transformation matrices A
i and A
j in (19) depend on the orientation generalized coordinates of bodies i and j, respectively.As a result, the wrench representation fordot-1 constraint should also freeze the relative orientation of the vectors a
i and a
j. Therefore, the wrench matrix is given by(20)
W
d
1
=
0
;
a
i
×
a
j
.If we use the body reference transformation matrices, (20) has the form(21)
W
d
1
=
0
;
a
i
′
T
A
i
T
×
A
j
a
j
′
.


### 3.2.2. Dot-2 Constraint

Dot-2 constraint restricts the relative position of a pair of bodies; that is,(22)
Φ
d
2
a
i
,
d
i
j
,
C
2
≡
a
i
T
d
i
j
-
C
2
=
0
,
d
i
j
≠
0
,where doc
(
Φ
d
2
)
=
1, the same as that withdot-1 constraint, althoughdot-2 constraint is not symmetric with regard to bodies i and j. Analytically, it is important to recall thatdot-2 constraint breaks down if d
i
j
=
0. Write the vector d
i
j as(23)
d
i
j
=
r
j
+
A
j
s
j
′
P
-
r
i
-
A
i
s
i
′
P
.Equation (22) becomes(24)
Φ
d
2
a
i
,
d
i
j
,
C
2
≡
a
i
′
T
A
i
T
r
j
+
A
j
s
j
′
P
-
r
i
-
A
i
s
i
′
P
-
C
2
=
0
.As a result, the wrench representation fordot-2 constraint must freeze the relative translation along the vector a
i. Therefore, the wrench matrix is given by(25)
W
d
2
=
a
i
;
0
.Equation (25) also has the form(26)
W
d
2
=
A
i
a
i
′
;
0
.


### 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,(27)
Φ
s
P
i
,
P
j
,
C
3
≡
d
i
j
T
d
i
j
-
C
3
·
C
3
=
0
,where doc
(
Φ
s
) would be different depending on whether C
3 is zero. Therefore, we have(28)
doc
Φ
s
=
1
if
C
3
≠
0
,
doc
Φ
s
=
3
if
C
3
=
0
.As a result, the wrench representation for thedistance constraint should have two types of expressions, as shown in (29) and (30):(29)
W
s
=
d
i
j
;
0
if
C
3
≠
0
,where the wrench representation for thedistance constraint should freeze the relative translation along the vector d
i
j if C
3
≠
0. However, if C
3
=
0, the wrench representation has the form(30)
W
s
=
1
0
0
;
0
0
1
0
;
0
0
0
1
;
0
if
C
3
=
0
,where the wrench, which is illustrated in (30), freezes all the relative translations along the axes x, y, and z.


## 3.2.1. Dot-1 Constraint

Dot-1 constraint restricts the relative orientation of a pair of bodies; that is,(18)
Φ
d
1
a
i
,
a
j
,
C
1
≡
a
i
T
a
j
-
C
1
=
0
,
C
1
∈
-
1,1
,where doc
(
Φ
d
1
)
=
1 anddot-1 constraint is symmetric with regard to bodies i and j. Note thatdot-1 constraint would not be a basic constraint if C
1
=
±
1. This means that the vectors a
i and a
j are parallel in the same or opposite directions. In this case, doc
(
Φ
d
1
(
a
i
,
a
j
,
±
1
)
)
=
2.Writing the vectorsa
i and a
j in terms of their respective body reference transformation matrices A
i and A
j and body-fixed constant vectors a
i
′ and a
j
′, where a
i
=
A
i
a
i
′ and a
j
=
A
j
a
j
′, (18) has the form(19)
Φ
d
1
a
i
,
a
j
,
C
1
≡
a
i
′
T
A
i
T
A
j
a
j
′
-
C
1
=
0
,
C
1
∈
-
1,1
,where the transformation matrices A
i and A
j in (19) depend on the orientation generalized coordinates of bodies i and j, respectively.As a result, the wrench representation fordot-1 constraint should also freeze the relative orientation of the vectors a
i and a
j. Therefore, the wrench matrix is given by(20)
W
d
1
=
0
;
a
i
×
a
j
.If we use the body reference transformation matrices, (20) has the form(21)
W
d
1
=
0
;
a
i
′
T
A
i
T
×
A
j
a
j
′
.


## 3.2.2. Dot-2 Constraint

Dot-2 constraint restricts the relative position of a pair of bodies; that is,(22)
Φ
d
2
a
i
,
d
i
j
,
C
2
≡
a
i
T
d
i
j
-
C
2
=
0
,
d
i
j
≠
0
,where doc
(
Φ
d
2
)
=
1, the same as that withdot-1 constraint, althoughdot-2 constraint is not symmetric with regard to bodies i and j. Analytically, it is important to recall thatdot-2 constraint breaks down if d
i
j
=
0. Write the vector d
i
j as(23)
d
i
j
=
r
j
+
A
j
s
j
′
P
-
r
i
-
A
i
s
i
′
P
.Equation (22) becomes(24)
Φ
d
2
a
i
,
d
i
j
,
C
2
≡
a
i
′
T
A
i
T
r
j
+
A
j
s
j
′
P
-
r
i
-
A
i
s
i
′
P
-
C
2
=
0
.As a result, the wrench representation fordot-2 constraint must freeze the relative translation along the vector a
i. Therefore, the wrench matrix is given by(25)
W
d
2
=
a
i
;
0
.Equation (25) also has the form(26)
W
d
2
=
A
i
a
i
′
;
0
.


## 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,(27)
Φ
s
P
i
,
P
j
,
C
3
≡
d
i
j
T
d
i
j
-
C
3
·
C
3
=
0
,where doc
(
Φ
s
) would be different depending on whether C
3 is zero. Therefore, we have(28)
doc
Φ
s
=
1
if
C
3
≠
0
,
doc
Φ
s
=
3
if
C
3
=
0
.As a result, the wrench representation for thedistance constraint should have two types of expressions, as shown in (29) and (30):(29)
W
s
=
d
i
j
;
0
if
C
3
≠
0
,where the wrench representation for thedistance constraint should freeze the relative translation along the vector d
i
j if C
3
≠
0. However, if C
3
=
0, the wrench representation has the form(30)
W
s
=
1
0
0
;
0
0
1
0
;
0
0
0
1
;
0
if
C
3
=
0
,where the wrench, which is illustrated in (30), freezes all the relative translations along the axes x, y, and z.


## 3.3. Wrench Representations of Geometry Constraints

To introduce geometry constraints, we give‎Figure 10.Figure 10
Instance of geometry constraints.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 B
1 and B
2, respectively. Vector d
12 connects P
1 and P
2 between the cylinders.The reference pointP
1 has the form(31)
P
1
=
P
x
1
,
P
y
1
,
P
z
1
.The central axisL
1 has the form(32)
L
1
=
P
1
+
a
·
h
1
,where a is a real number. The planar surface F
1 has the form(33)
F
1
=
P
1
+
b
·
f
1
+
c
·
g
1
,where b and c 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, andpoint 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 useC
o
i
L
L
(
L
1
,
L
2
) to denote thecoaxial constraint of axes L
1 and L
2, as shown in ‎Figure 11.Figure 11
Coaxial constraint.The doc ofC
o
i
L
L
(
L
1
,
L
2
) is four, which restricts two relative orientations and two relative translations. In other words, it comprises twodot-1 constraints and twodot-2 constraints, as shown in (34)
Φ
1
d
1
h
1
,
f
2
,
0
,
Φ
2
d
1
h
1
,
g
2
,
0
,
Φ
3
d
2
f
1
,
d
12
,
0
,
Φ
4
d
2
g
1
,
d
12
,
0
.Then, the wrench matrix ofC
o
i
L
L
(
L
1
,
L
2
) is given by(35)
W
C
o
i
L
L
L
1
,
L
2
=
0
;
h
1
×
f
2
0
;
h
1
×
g
2
f
1
;
0
g
1
;
0
.The corresponding kinematic joint ofcoaxial constraint iscylindrical joint.


### 3.3.2. Coplanar Constraint

We useC
o
i
F
F
(
F
1
,
F
2
) to denote thecoplanar constraint of planar surfaces F
1 and F
2, as shown in ‎Figure 12.Figure 12
Coplanar constraint.The doc ofC
o
i
F
F
(
F
1
,
F
2
) is three, which restricts two relative orientations and one relative translation. In other words, it comprises twodot-1 constraints and onedot-2 constraint, as shown in (36)
Φ
1
d
1
h
1
,
f
2
,
0
,
Φ
2
d
1
h
1
,
g
2
,
0
,
Φ
3
d
2
h
1
,
d
12
,
0
.Then, the wrench matrix ofC
o
i
F
F
(
F
1
,
F
2
) is given by(37)
W
C
o
i
F
F
F
1
,
F
2
=
0
;
h
1
×
f
2
0
;
h
1
×
g
2
h
1
;
0
.The corresponding kinematic joint ofcoplanar constraint isplanar joint.


### 3.3.3. Spherical Constraint

We useC
o
i
P
P
(
P
1
,
P
2
) to denote thespherical constraint of two points P
1 and P
2, as shown in ‎Figure 13.Figure 13
Spherical constraint.The doc ofC
o
i
P
P
(
P
1
,
P
2
) is three, which restricts three relative translations in three unrelated directions. In other words, it comprises onedistance constraint, which has C
3
=
0 in Section 3.2.3, as shown in (38)
Φ
s
P
i
,
P
j
,
0
.Then, the wrench matrix ofC
o
i
P
P
(
P
1
,
P
2
) is given by(39)
W
C
o
i
P
P
P
1
,
P
2
=
1
0
0
;
0
0
1
0
;
0
0
0
1
;
0
.The corresponding kinematic joint ofspherical constraint isspherical joint.


### 3.3.4. Align Constraint

Align constraint (P
a
r
F
F) is used to make two planar surfaces F
1 and F
2 parallel, as shown in ‎Figure 14.Figure 14
Align constraint.The doc ofP
a
r
F
F
(
F
1
,
F
2
) is two, which restricts two relative orientations. In other words, it comprises twodot-1 constraints, as shown in (40)
Φ
1
d
1
h
1
,
f
2
,
0
,
Φ
2
d
1
h
1
,
g
2
,
0
.Then, the wrench matrix ofP
a
r
F
F
(
F
1
,
F
2
) is given by(41)
W
P
a
r
F
F
F
1
,
F
2
=
0
;
h
1
×
f
2
0
;
h
1
×
g
2
.We cannot find a corresponding kinematic joint foralign constraint among the common kinematic joints.


### 3.3.5. Distance between Line and Surface

We useD
i
s
L
F
(
L
1
,
F
2
,
D
) to denote the axis L
1 and the surface F
2 that maintain a certain distance D, as shown in ‎Figure 15.Figure 15
Distance between line and surface.The doc ofD
i
s
L
F
(
L
1
,
F
2
,
D
) is two, which restricts one relative orientation and one relative translation. In other words, it comprises onedot-1 constraint and onedot-2 constraint, as shown in (42)
Φ
1
d
1
h
1
,
h
2
,
0
,
Φ
2
d
2
h
2
,
d
12
,
D
.Then, the wrench matrix ofD
i
s
L
F
(
L
1
,
F
2
,
D
) is given by(43)
W
D
i
s
L
F
L
1
,
F
2
,
D
=
0
;
h
1
×
h
2
h
2
;
0
.We also cannot find a corresponding kinematic joint fordistance between line and surface among the common kinematic joints.


### 3.3.6. Point on Line

We useC
o
i
P
L
(
P
1
,
L
2
) to denote the point P
1 on line L
2, as shown in ‎Figure 16.Figure 16
Point on line.The doc ofC
o
i
P
L
(
P
1
,
L
2
) is two, which restricts two relative translations. In other words, it comprises twodot-2 constraints, as shown in (44)
Φ
1
d
2
f
2
,
d
12
,
0
,
Φ
2
d
2
g
2
,
d
12
,
0
.Then, the wrench matrix ofC
o
i
P
L
(
P
1
,
L
2
) is given by(45)
W
D
i
s
L
F
L
1
,
F
2
,
D
=
f
2
;
0
g
2
;
0
.We still cannot find a corresponding kinematic joint forpoint on line among the common kinematic joints.


## 3.3.1. Coaxial Constraint

We useC
o
i
L
L
(
L
1
,
L
2
) to denote thecoaxial constraint of axes L
1 and L
2, as shown in ‎Figure 11.Figure 11
Coaxial constraint.The doc ofC
o
i
L
L
(
L
1
,
L
2
) is four, which restricts two relative orientations and two relative translations. In other words, it comprises twodot-1 constraints and twodot-2 constraints, as shown in (34)
Φ
1
d
1
h
1
,
f
2
,
0
,
Φ
2
d
1
h
1
,
g
2
,
0
,
Φ
3
d
2
f
1
,
d
12
,
0
,
Φ
4
d
2
g
1
,
d
12
,
0
.Then, the wrench matrix ofC
o
i
L
L
(
L
1
,
L
2
) is given by(35)
W
C
o
i
L
L
L
1
,
L
2
=
0
;
h
1
×
f
2
0
;
h
1
×
g
2
f
1
;
0
g
1
;
0
.The corresponding kinematic joint ofcoaxial constraint iscylindrical joint.


## 3.3.2. Coplanar Constraint

We useC
o
i
F
F
(
F
1
,
F
2
) to denote thecoplanar constraint of planar surfaces F
1 and F
2, as shown in ‎Figure 12.Figure 12
Coplanar constraint.The doc ofC
o
i
F
F
(
F
1
,
F
2
) is three, which restricts two relative orientations and one relative translation. In other words, it comprises twodot-1 constraints and onedot-2 constraint, as shown in (36)
Φ
1
d
1
h
1
,
f
2
,
0
,
Φ
2
d
1
h
1
,
g
2
,
0
,
Φ
3
d
2
h
1
,
d
12
,
0
.Then, the wrench matrix ofC
o
i
F
F
(
F
1
,
F
2
) is given by(37)
W
C
o
i
F
F
F
1
,
F
2
=
0
;
h
1
×
f
2
0
;
h
1
×
g
2
h
1
;
0
.The corresponding kinematic joint ofcoplanar constraint isplanar joint.


## 3.3.3. Spherical Constraint

We useC
o
i
P
P
(
P
1
,
P
2
) to denote thespherical constraint of two points P
1 and P
2, as shown in ‎Figure 13.Figure 13
Spherical constraint.The doc ofC
o
i
P
P
(
P
1
,
P
2
) is three, which restricts three relative translations in three unrelated directions. In other words, it comprises onedistance constraint, which has C
3
=
0 in Section 3.2.3, as shown in (38)
Φ
s
P
i
,
P
j
,
0
.Then, the wrench matrix ofC
o
i
P
P
(
P
1
,
P
2
) is given by(39)
W
C
o
i
P
P
P
1
,
P
2
=
1
0
0
;
0
0
1
0
;
0
0
0
1
;
0
.The corresponding kinematic joint ofspherical constraint isspherical joint.


## 3.3.4. Align Constraint

Align constraint (P
a
r
F
F) is used to make two planar surfaces F
1 and F
2 parallel, as shown in ‎Figure 14.Figure 14
Align constraint.The doc ofP
a
r
F
F
(
F
1
,
F
2
) is two, which restricts two relative orientations. In other words, it comprises twodot-1 constraints, as shown in (40)
Φ
1
d
1
h
1
,
f
2
,
0
,
Φ
2
d
1
h
1
,
g
2
,
0
.Then, the wrench matrix ofP
a
r
F
F
(
F
1
,
F
2
) is given by(41)
W
P
a
r
F
F
F
1
,
F
2
=
0
;
h
1
×
f
2
0
;
h
1
×
g
2
.We cannot find a corresponding kinematic joint foralign constraint among the common kinematic joints.


## 3.3.5. Distance between Line and Surface

We useD
i
s
L
F
(
L
1
,
F
2
,
D
) to denote the axis L
1 and the surface F
2 that maintain a certain distance D, as shown in ‎Figure 15.Figure 15
Distance between line and surface.The doc ofD
i
s
L
F
(
L
1
,
F
2
,
D
) is two, which restricts one relative orientation and one relative translation. In other words, it comprises onedot-1 constraint and onedot-2 constraint, as shown in (42)
Φ
1
d
1
h
1
,
h
2
,
0
,
Φ
2
d
2
h
2
,
d
12
,
D
.Then, the wrench matrix ofD
i
s
L
F
(
L
1
,
F
2
,
D
) is given by(43)
W
D
i
s
L
F
L
1
,
F
2
,
D
=
0
;
h
1
×
h
2
h
2
;
0
.We also cannot find a corresponding kinematic joint fordistance between line and surface among the common kinematic joints.


## 3.3.6. Point on Line

We useC
o
i
P
L
(
P
1
,
L
2
) to denote the point P
1 on line L
2, as shown in ‎Figure 16.Figure 16
Point on line.The doc ofC
o
i
P
L
(
P
1
,
L
2
) is two, which restricts two relative translations. In other words, it comprises twodot-2 constraints, as shown in (44)
Φ
1
d
2
f
2
,
d
12
,
0
,
Φ
2
d
2
g
2
,
d
12
,
0
.Then, the wrench matrix ofC
o
i
P
L
(
P
1
,
L
2
) is given by(45)
W
D
i
s
L
F
L
1
,
F
2
,
D
=
f
2
;
0
g
2
;
0
.We still cannot find a corresponding kinematic joint forpoint 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 thatA is a part in a 3D assembly model restricted by parts B
1
,
B
2
,
…
,
B
n. The twist space of A is the space of screws reciprocal to the wrenches of contact acting upon it. The space of wrenches acting upon A is the union of all the individual wrenches acting upon it from the parts B
i. These individual wrenches are to be considered as acting alone. Algorithm 1 provides the twist space of A, denoted by T
A.Algorithm 1:Function twist space.
BEGIN
FOReach part B
i, which restrict A.
Convert all the geometry constraints between Aand B
i into basic components C
A
j, j
=
1
,
…
,
l.
Determine the wrenches W
A
k, k
=
1
,
…
,
m acting upon Athrough C
A
j. We have mnot less than l.
Collect all the wrenches W
A
k  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
T
A
=
Reciprocal(
P).
ENDTheR
e
c
i
p
r
o
c
a
l
(
P
) in Algorithm 1 means to exchange the first triplet and the second triplet of P. For example, if P
=
a
,
b
,
c
;
d
,
e
,
f, then we have R
e
c
i
p
r
o
c
a
l
(
P
)
=
d
,
e
,
f
;
a
,
b
,
c. 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 B
i. That is, the algorithm is of the order O
(
n
).


### 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 twistT
1 and a wrench W
1 thatisequal to zero is given by(46)
T
1
∘
W
1
=
T
1.1
-
3
·
W
2.4
-
6
+
T
1.4
-
6
·
W
2.1
-
3
=
0
;
0
.Mathematically, because reciprocity imposes the relationT
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.


### 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 arevolute joint
R
12 with two links: B
1 and B
2. The constraints used are C
o
i
L
L
(
A
1
,
A
2
) and C
o
i
F
F
(
F
1
,
F
2
). See ‎Figure 17.Figure 17
Redundant constraint.Alsodof
(
R
12
)
=
1. This means that doc
(
B
1
,
B
2
)
=
5. However, we have doc
(
C
o
i
L
L
(
A
1
,
A
2
)
)
=
4 and doc
(
C
o
i
F
F
(
F
1
,
F
2
)
)
=
3. In other words, the dimension of the orthogonal wrench space, which comprises W
C
o
i
L
L
(
A
1
,
A
2
) and W
C
o
i
F
F
(
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.


## 4.1. Algorithm

We assume thatA is a part in a 3D assembly model restricted by parts B
1
,
B
2
,
…
,
B
n. The twist space of A is the space of screws reciprocal to the wrenches of contact acting upon it. The space of wrenches acting upon A is the union of all the individual wrenches acting upon it from the parts B
i. These individual wrenches are to be considered as acting alone. Algorithm 1 provides the twist space of A, denoted by T
A.Algorithm 1:Function twist space.
BEGIN
FOReach part B
i, which restrict A.
Convert all the geometry constraints between Aand B
i into basic components C
A
j, j
=
1
,
…
,
l.
Determine the wrenches W
A
k, k
=
1
,
…
,
m acting upon Athrough C
A
j. We have mnot less than l.
Collect all the wrenches W
A
k  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
T
A
=
Reciprocal(
P).
ENDTheR
e
c
i
p
r
o
c
a
l
(
P
) in Algorithm 1 means to exchange the first triplet and the second triplet of P. For example, if P
=
a
,
b
,
c
;
d
,
e
,
f, then we have R
e
c
i
p
r
o
c
a
l
(
P
)
=
d
,
e
,
f
;
a
,
b
,
c. 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 B
i. That is, the algorithm is of the order O
(
n
).


## 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 twistT
1 and a wrench W
1 thatisequal to zero is given by(46)
T
1
∘
W
1
=
T
1.1
-
3
·
W
2.4
-
6
+
T
1.4
-
6
·
W
2.1
-
3
=
0
;
0
.Mathematically, because reciprocity imposes the relationT
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.


## 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 arevolute joint
R
12 with two links: B
1 and B
2. The constraints used are C
o
i
L
L
(
A
1
,
A
2
) and C
o
i
F
F
(
F
1
,
F
2
). See ‎Figure 17.Figure 17
Redundant constraint.Alsodof
(
R
12
)
=
1. This means that doc
(
B
1
,
B
2
)
=
5. However, we have doc
(
C
o
i
L
L
(
A
1
,
A
2
)
)
=
4 and doc
(
C
o
i
F
F
(
F
1
,
F
2
)
)
=
3. In other words, the dimension of the orthogonal wrench space, which comprises W
C
o
i
L
L
(
A
1
,
A
2
) and W
C
o
i
F
F
(
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.


## 5. Examples

In each of the examples below, different types of kinematic joints are recognized.Example 1 (planar joint).
‎Figure 18 shows aplanar joint consisting of two parts, B
1 and B
2, and acoplanar constraint: C
o
i
F
F
(
F
1
,
F
2
).
Following the process outlined in Section3.3.2, we find, based on the definition of thecoplanar constraint, that the wrench matrix is(47)
W
C
o
i
F
F
F
1
,
F
2
=
0
;
h
1
×
f
2
0
;
h
1
×
g
2
h
1
;
0
,where W
C
o
i
F
F
(
F
1
,
F
2
) is already an orthogonal matrix. Then, the orthogonal complement matrix P
C
o
i
F
F
(
F
1
,
F
2
) is(48)
P
C
o
i
F
F
F
1
,
F
2
=
f
1
;
0
g
1
;
0
0
;
h
1
.
Therefore, the twist matrixT
12 between B
1 and B
2 has the following form:(49)
T
12
=
R
e
c
i
p
r
o
c
a
l
P
C
o
i
F
F
F
1
,
F
2
=
0
;
f
1
0
;
g
1
h
1
;
0
,where T
12 represents the motion of aplanar joint, which is illustrated in Section 2.2.6. Moreover, the recognition process of acylindrical joint orspherical joint is approximately the same as that of theplanar joint.Figure 18
Recognition of planar joint.Example 2 (prismatic joint).
‎Figure 19 shows aprismatic joint consisting of two parts, B
1 and B
2, and twocoplanar constraints: C
o
i
F
F
(
F
1
,
F
2
) and C
o
i
F
F
(
F
1
′
,
F
2
′
).
Following the process outlined in Example1, we find that the wrench matrices between B
1 and B
2 are(50)
W
C
o
i
F
F
F
1
,
F
2
=
0
;
h
1
×
f
2
0
;
h
1
×
g
2
h
1
;
0
,
W
C
o
i
F
F
F
1
′
,
F
2
′
=
0
;
h
1
′
×
f
2
′
0
;
h
1
′
×
g
2
′
h
1
′
;
0
,where W
12
=
W
C
o
i
F
F
(
F
1
,
F
2
)
∪
W
C
o
i
F
F
(
F
1
′
,
F
2
′
). The orthogonal matrix Q
12 of W
12 is(51)
Q
12
=
0
;
h
1
×
f
2
0
;
h
1
×
g
2
0
;
h
1
′
×
g
2
′
h
1
;
0
h
1
′
;
0
.
The orthogonal complement matrixP
12 of Q
12 is(52)
P
12
=
g
1
;
0
.
Therefore, the twist matrixT
12 between B
1 and B
2 has the following form:(53)
T
12
=
R
e
c
i
p
r
o
c
a
l
P
12
=
0
;
g
1
,where T
12 represents the motion of aprismatic joint, which is shown in Section 2.2.1. Moreover, the recognition process of arevolute joint is approximately the same as that of theprismatic joint.Figure 19
Recognition of 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,B
0, B
1, B
2, B
3, B
4, B
5, B
6, B
7, B
8, B
9, B
10, and B
11, 12coplanar constraints, C
o
i
F
F
(
B
0
,
B
2
), C
o
i
F
F
(
B
0
,
B
1
), C
o
i
F
F
(
B
1
,
B
3
), C
o
i
F
F
(
B
1
,
B
5
), C
o
i
F
F
(
B
1
,
B
4
), C
o
i
F
F
(
B
4
,
B
6
), C
o
i
F
F
(
B
4
,
B
11
), C
o
i
F
F
(
B
4
,
B
7
), C
o
i
F
F
(
B
4
,
B
8
), C
o
i
F
F
(
B
9
,
B
10
), C
o
i
F
F
(
B
7
,
B
10
), and C
o
i
F
F
(
B
10
,
B
11
), and 15coaxial constraints, C
o
i
L
L
(
B
0
,
B
2
), C
o
i
L
L
(
B
0
,
B
1
), C
o
i
L
L
(
B
1
,
B
3
), C
o
i
L
L
(
B
2
,
B
3
), C
o
i
L
L
(
B
1
,
B
5
), C
o
i
L
L
(
B
1
,
B
4
), C
o
i
L
L
(
B
4
,
B
6
), C
o
i
L
L
(
B
5
,
B
6
), C
o
i
L
L
(
B
4
,
B
11
), C
o
i
L
L
(
B
4
,
B
7
), C
o
i
L
L
(
B
4
,
B
8
), C
o
i
L
L
(
B
8
,
B
9
), C
o
i
L
L
(
B
9
,
B
10
), C
o
i
L
L
(
B
7
,
B
10
), and C
o
i
L
L
(
B
10
,
B
11
). See ‎Figure 21.
Here, we present the processes of recognition amongB
1, B
2, and B
3, as shown in ‎Figure 22. The geometry constraint between B
2 and B
3 is C
o
i
L
L
(
B
2
,
B
3
). Following the process outlined in Section 3.3.1, we find, based on the definition of thecoaxial constraint, that the wrench matrix is(54)
W
C
o
i
L
L
B
2
,
B
3
=
0
;
h
2
×
f
3
0
;
h
2
×
g
3
f
2
;
0
g
2
;
0
.
The orthogonal complement matrix is(55)
P
C
o
i
L
L
B
2
,
B
3
=
0
;
h
2
h
2
;
0
.
Then, the twist matrixT
23 between B
2 and B
3 has the following form:(56)
T
23
=
R
e
c
i
p
r
o
c
a
l
P
C
o
i
L
L
B
2
,
B
3
=
h
2
;
0
0
;
h
2
.
The geometry constraints betweenB
1 and B
3 are C
o
i
L
L
(
B
1
,
B
3
) and C
o
i
F
F
(
B
1
,
B
3
). Thus, the wrench matrices between B
1 and B
3 are(57)
W
C
o
i
L
L
B
1
,
B
3
=
0
;
h
3
′
×
f
1
′
0
;
h
3
′
×
g
1
′
f
3
′
;
0
g
3
′
;
0
,
W
C
o
i
F
F
B
1
,
B
3
=
0
;
h
3
′
×
f
1
′
0
;
h
3
′
×
g
1
′
h
3
′
;
0
,where W
13
=
W
C
o
i
L
L
(
B
1
,
B
3
)
∪
W
C
o
i
F
F
(
B
1
,
B
3
). The orthogonal matrix Q
13 of W
13 is given by(58)
Q
13
=
0
;
h
3
′
×
f
1
′
0
;
h
3
′
×
g
1
′
f
3
′
;
0
g
3
′
;
0
h
3
′
;
0
.
Then, the orthogonal complement matrixP
13 of Q
13 is(59)
P
13
=
0
;
h
3
′
.
Therefore, the twist matrixT
13 between B
1 and B
3 is(60)
T
13
=
R
e
c
i
p
r
o
c
a
l
P
13
=
h
3
′
;
0
.
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 Algorithm1, we obtain the screw system, as shown in ‎Figure 23.
As mentioned in [4–29], we can perform some different types of kinematic analyses using the screw system, such as determining the degrees of freedom of B
1 and B
4; that is,(61)
T
B
1
=
T
0
1
∩
T
0
2
∪
T
2
3
∪
T
1
3
,
T
B
4
=
T
B
1
∪
T
1
4
∩
T
B
1
∪
T
1
5
∪
T
5
6
∪
T
4
6
,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 B
1 are equal to the dimension of the orthogonal twist space of B
1, denoted by T
B
1. In the same way, we can obtain the degrees of freedom of B
4 and any part in the hydraulic grab.
According to Sections2.2.2 and 2.2.4, the kinematic joints between B
2 and B
3 and B
1 and B
3 are thecylindrical joint andrevolute 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.Figure 20
Hydraulic grab.Figure 21
The constraint graph of a hydraulic grab.Figure 22
PartsB
1, B
2, and B
3 in a hydraulic grab.Figure 23
The screw system of a hydraulic grab.Figure 24
The kinematic joint model of a hydraulic grab.


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



---

*Source: 1761968-2016-04-20.xml*