Abstract
Three-dimensional assembly process planning is a precondition for achieving full product lifecycle management based on three-dimensional modelling. Information expression and management operations of fixture models are key to three-dimensional assembly process planning systems. To reasonably and efficiently achieve the goal of planning assembly processes with a fixture model, the application of a fixture information model to a three-dimensional assembly process planning system is investigated. First, to manage tooling information, a fixture information model is defined that consists of management information, display information, geometric information, assembly constraints and degrees of freedom. Then, based on the analysis of the degrees of freedom of components and the assembly constraint relationship, a method of solving assembly constraints based on degrees of freedom reasoning is proposed. Finally, by using the method of solving assembly positioning based on geometric constraints, the pose transformation and assembly positioning of parts are achieved. Through the development of a tooling function module, the three-dimensional assembly process planning system is improved. The feasibility of the above method is verified using part of a spacecraft as an example.
Keywords
Introduction
Assembly is the last step of the product manufacturing cycle. Assembly is directly related to the final functioning and quality of products, so assembly has always been considered highly important in the manufacturing field. Practice has proven that assembly in the modern manufacturing industry uses the most time of all manufacturing processes. According to a survey conducted by Boothroyd, 1 assembly accounts for 20% to 70% of the total production workload. In addition, because of the large proportion of manual labour required in assembly work, assembly time accounts for 40% to 60% of the total product manufacturing workload. The product assembly cycle is longer for products with highly complex features requiring discrete manufacturing in the aerospace field, such as spacecraft and aircraft. Therefore, the development of assembly technology is an important method of guaranteeing the quality and function of products, which is of great significance in improving the product quality and reducing the cost and time of the design cycle. 2
Complex products generally have a large number of components, complex assembly relationships, and require high assembly accuracy. To achieve more competitive product quality, the requirements of product assembly precision are becoming increasingly more strict. 3 Traditional two-dimensional (2D) assembly process specifications have difficulty meeting the manufacturing requirements, and using digital methods to improve the efficiency of assembly process planning and assembly quality is an important development direction. The traditional 2D assembly process mainly uses computers to conduct assembly process planning, simulation and optimisation. Many research institutions have conducted in-depth research, developed assembly process prototype systems and explored a variety of assembly process planning methods. For example, Washington State University has developed a virtual assembly design environment (VADE), 4 the first representative assembly process system in the world. However, most studies have focussed on the assembly process planning of present products. There has not been any systematic study of the application of product fixture in assembly process planning systems. As such, devices assist operators in completing assembly tasks; the fixture is also an important factor in the process of product assembly process planning and directly affects its accuracy and the reliability of assembly simulation verification. 5 Because of this condition, our team developed function modules of tooling based on a self-developed assembly process planning prototype system for three-dimensional (3D) models.6,7 We investigated the tooling part of product assembly process planning to enrich and improve the existing prototype system. The application of tooling model information in product assembly process planning was achieved, thus improving the efficiency of product assembly process planning.
The remainder of this article is structured as follows. The ‘Literature review’ section analyses related works. The ‘Fixture model in an assembly process system’ section introduces the structure of the fixture model and provides definitions related to our assembly process system. The ‘Assembly constraint solving and assembly positioning solving’ section presents our solutions for assembly constraint and assembly positioning. The ‘System application verification’ section describes module development and its implementation in our system. Finally, we conclude and outline future work in the ‘Conclusion and future work’ section.
Literature review
Our research on assembly tooling in assembly process planning unifies concepts from information model representation and assembly constraint location (including positioning and orienting). In this section, research related to these two areas of assembly tooling is described.
Assembly sequence planning
The essence of assembly sequence planning (ASP) is to find a reasonably feasible component sequence based on a given product assembly model, and ASP is a critical step of assembly planning in product digital manufacturing. It is a combinational optimisation problem with strong constraints. 8 The ASP problem of a product is essentially a combinatorial optimisation problem. As the number of components in a product increases, the number of assembly sequences (including feasible and infeasible) will increase exponentially.
In the traditional method of ASP, Bourjault 9 was the first to study ASP. He proposed the assembly precedence relations (APR) question and answer method, using the joint diagram to express the geometric model and assist to optimise the assembly sequence . He also proposed a priority relationship concept based on an assembly sequence, and the connection graph model was used to implement ASP, laying a foundation for the research of computer-aided ASP. Thomas L De Fazio and Daniel E Whitney 10 optimised Bourjault’s method and changed his question form, but they needed to initially ask the user about the assembly priority, so the efficiency was reduced when getting the assembly sequence precedence. This method is only suitable for the case of fewer components, and the requirements for knowledge quality are relatively high.
The disassembly method then appeared, and the disassembly method was an indirect method for ASP . In general, assembly and disassembly of components are mutually reversible processes. Baldwin 11 used disassembly to address assembly problems and used Cut-Sets to solve assembly association diagrams to generate all assembly cuts. Although this method is very systematic, there is a combination explosion problem of the assembly sequence when the number of components is too large. To solve this problem, some researchers use the Cut-Sets method and the AO* algorithm (AND/OR graph heuristic search algorithm) to search for and evaluate the optimal assembly sequence.12,13
De Mello and Sanderson proposed AND/OR graphs, by which the precedence of the parts can be exactly represented. Then, a few methodologies were developed for the AND/OR graph.14,15 After considering the assembly time and physical constraints, many related works have been performed. 16 These methods have reduced the time required to search assembly sequences and can provide complete and correct feasible sequences. However, the optimal solution cannot be obtained.
In addition, genetic algorithm (GA) has been implemented to address the problem that is the most common optimisation technique. Simulated annealing, ant colony algorithm (ACA) and particle swarm optimisation (PSO) techniques are most used next to GA. 17 Several other optimisation techniques also have been successful in solving ASP.18,19 The artificial intelligent methods have several limitations such as localised search and high computational time; hence, the resulting sequence is a near optimal assembly sequence but not the global optimised sequence. Besides these limitations, predicate considerations/assumptions slightly reduce the complexity of the problem but highly affect the search space and lead to higher time consumption and skilful user interventions.
All these methods are simple schemes and easy to use. However, there is still an issue that needs to be addressed. The tool constraint relationships have rarely been studied. In fact, because the assembly process tools are usually used, it is critical to add the analysis of the tool constraint relationship to the assembly model.
Li et al. were the first to consider the assembly resources. Cheng Hui et al. 20 combined the GA and the ACA, where the codes represent the assembly parts and assembly resources and chromosomes represent the assembly sequence. The iterative method was used to obtain the final assembly sequence, but the shortcomings of this method are that the interference of the assembly and assembly resources is not considered and the fitness function does not consider the feasibility of assembling the resource direction. Sun et al. 21 constructed the information matrix of assembly resource state and combined the weighting coefficients to form the fitness function by combining the assembly resource constraints, geometric feasibility of the assembly sequence, stability of the sub-assembly and number of assembly redirection. The effectiveness of the method is verified by GA. Although they consider the feasibility of the assembly direction, they do not get the assembly sequence of the assembly resources.
Information model representation of assembly tooling
The representation of an assembly tooling information model is part of assembly process planning. Assembly tooling plays an important role in guaranteeing the required location and orientation of sub-assemblies and parts. 22 Because assembly resources can identify and solve problems such as component assembly interference or unreasonable assembly sequence in advance, assembly tooling information models can be integrated into assembly process modelling. In virtual assembly or computer-aided assembly process planning, many researchers have investigated the representing and modelling of assembly tooling information.
In a self-developed VADE system, Washington State University 4 proposed models of hand-tool and tool-part interaction. These models were used to operate the tools and complete assembly tasks. Phong and Simmy 23 proposed a simple data model for assembly process planning and analysed the effect of assembly tools on assembly processes by defining their related parameters. Kang 24 proposed a solution which is used for assembly and disassembly tool management, positioning and simulating assembly processes. By introducing a point vector model, the features of tool positioning and operation could be represented, providing information support for assembly tool positioning. Hongmin et al. 25 proposed an interactive assembly tool planning based on an assembly semantic model. By using the assembly semantic processing method, such as recognition, solving and navigation, a series of methods, including assembly tool selection, orientation and manipulation, are proposed. However, the tool model library is not rich enough. Raju Bahubalendruni et al. 26 proposed a tool-based bounding box method to solve geometrical feasibility using a practically feasible optimal ASP. Assembly tools were classified into three main types based on their application in assembly development, namely, Pre tools, In tools and Post tools.
Because the assembly resources can improve the feasibility and efficiency of the assembly sequence in the actual assembly, there are large differences in the structure, materials and volume of the components to be assembled, and there are many types of tools required. Because assembly resources can be complicated, there are many attempts at creating a tool library, but a relatively complete tool library has not been established, and there is a distance from the actual application.
Assembly constraint location of assembly tooling
The constraint positioning process in assembly tooling is essentially a problem of geometric constraints. The specific process is to (1) determine the space target matrix according to the assembly tool geometric constraints, (2) adjust the spatial pose of the assembly tools and (3) achieve the rapid navigation and positioning of the assembly tools. To solve the geometric constraints between two rigid bodies, there are several representative methods that can be classified into four categories: numerical methods, symbolic algebra methods, rule-based methods and graph-based methods.27,28 In practical applications, several methods are often used in combination to achieve better results. The rule-based geometric constraint method can be used to adopt an inference mechanism to solve geometric constraints. In addition, this method does so by constructing constraint-solving rules, and is easy to implement and has good stability. The degree of freedom (DOF) analysis, one of the rule-based geometric constraint methods, plays a dominant role in the positioning of the 3D part assembly.
Qiao et al. 29 proposed an inference solving method based on DOF analysis. Through the intersection of the remaining DOF space and degrees of constraint (DOC) space, the DOF could be reduced. Then, the assembly positioning of parts is realised by implementing rotational and translational transformation in the remaining DOF space. The advantage of the rule-solving method is that it is easy to implement the solution. The disadvantage is that it is limited by the rules itself, the implementation efficiency is low and the constraint closed-loop problem cannot be handled. In terms of intelligent algorithms, Wei and Xiaogang 30 adopted a PSO algorithm based on geese to solve the geometric constraint problem. The constraint equations of geometric constraint problems are transformed into optimisation models, and the problem of constraint solving is translated into an optimisation problem. Cao et al. 31 proposed a quantum GA that combines GA and quantum theory using the double-strand quantum chromosome structure to achieve the crossover operation of the GA using quantum gate transformation. The comparison of non-linear equations and geometric constraints with other methods shows that the algorithm for solving geometric constraint problems has better accuracy and solving rate. The problem with intelligent algorithms is that they require multiple inputs and are limited by knowledge.
Zhang et al. 32 proposed an assembly constraint hierarchical model and dynamically built the constraints of a virtual assembly system based on DOF analysis. All operating objects can be reasonably located by constraint navigation technology in the virtual environment. This method can guide the movement process according to the constraints that the components satisfy but does not meet the intention of the designer in the process of solving for the actual amount of rotation. Hongmin et al. 25 proposed an interactive assembly tool orientation based on assembly semantic reasoning and collection detection. The orientation makes the assembly orientation process visual and more efficient than that based on geometric reasoning, and can support interactive assembly tool manipulation simulation and can easily solve the operation space reasoning.
The literature review shows that there are many studies and applications on solving assembly constraints and positioning components and tools in virtual assembly processes. However, the application of fixtures is less well studied and applied to assembly constraints in assembly process design and simulation. At the same time, there are few systematic and in-depth studies on information models of assembly fixture from the aspect of assembly fixture positioning and movement navigation. At present, commercial computer aided design (CAD) systems such as NX UG, Creo Parametric (previously Pro/Engineer Wildfire) and SolidWorks have relatively complete modules for assembly positioning and geometric constraint solving. However, these systems use assembly constraint methods based on points, edges and faces, which differ from the assembly constraint solutions used in virtual assembly and assembly process design. Therefore, in the self-developed 3D assembly process design software AMT Processor,7,33 the representation of assembly fixture information model, algorithm of solving spatial pose and assembly positioning solving of assembly fixture based on the DOF reasoning are systematically expounded in the next section.
Fixture model in an assembly process system
Expression of the fixture information model
In assembly process planning systems, a conversion interface is used to read 3D model process files designed by 3D CAD software. The interface then extracts valid information from the files and adds other necessary information before generating a fixture information model. This is the method of generating an assembly tooling information model. Fixture models include management information, display information, geometry information, assembly constraints and DOF information, as shown in Figure 1. What needs to be explained is that the geometric model includes a series of geometric elements such as points, lines and surfaces. Geometric surfaces are the main assembly features. Therefore, the geometric elements involved in the constraint are various types of geometric surfaces, including planes, cylinders and cones. When an assembly constraint is imposed on a geometric model, geometric constraints are actually imposed on each of the geometric surfaces involved in the assembly.

Expression of the fixture information model.
Management information
Fixture management information includes data such as identification number (ID), name and type. The ID represents the unique number of the fixture, the name is the name of the fixture and the type is the type of fixture according to its usage scope, such as common fixture, special fixture and standard fixture.
Display information
Fixture display information consists of local coordinates and a geometric model. Local coordinates represent the local coordinate system where the parts are located, while the geometric model represents the patch display information of the parts in the model view area, which is also the solving object and carrier of assembly constraints. A geometric model of the part provides the information necessary for assembly. The part’s geometric model can be expressed as
where
Geometric information
Geometric information consists of pose information and a surface list. Pose information describes the position and orientation of components in terms of a global coordinate system. The surface list represents the part’s geometric surface list. The assembly of parts is usually achieved by using a constraint relationship between geometric surfaces. Therefore, geometric elements can be expressed as
where
Assembly constraints
Assembly constraints consist of a set of geometric constraints. Geometric constraints are constraint relationships imposed on the geometrical surfaces of the parts. Geometric constraints are the core objects of constraint solving and are the basis of component positioning. They are also used to determine the assembly relationships between components. Therefore, it is crucial to describe the geometric constraint information to facilitate constraint solving. Geometric elements are the direct carriers of geometric constraints, the geometric model corresponds to a list of geometric elements, the part’s geometric model is an indirect carrier of geometric constraints, and geometric models and geometric elements are the basic elements of constraint information. When applying constraints to geometric elements, recording the constraint type is necessary. Therefore, geometric constraints can be expressed as
where
DOF information
The characteristic parameter is a parameterised expression of the DOF category and describes the freedom space (FS) of the components. The DOF information can be expressed as
where
Geometric models and the geometric elements of parts
Design files usually contain the method of generating part features and precise geometric and topological information to meet the design needs of users. In the fixture module, the main purpose of part geometric models is to provide data to display the part in the model view area, display the assembly relationships of the components in the view area and associate precise geometric elements. Therefore, the part geometric model does not need to contain all of the information in the design files. Instead, the information can be obtained by performing patch processing on solid geometric data and filtering the feature generation method and other information through the conversion interface, greatly saving system memory and improving system operation efficiency.
The essence of part assembly is to impose constraints on the geometric elements and adjust the pose of the part model according to the constraint relationships to achieve assembly. Therefore, in the fixture module, the main role of the geometric elements is to participate in geometric constraint solving as elements of geometric constraints according to the constraint relationship. There are mainly point–line, point–surface, line–line, line–surface and surface–surface constraints between geometric elements. Geometric surfaces are the main assembly features in physical entities. Therefore, in the fixture module, the geometric elements involved in the constraint include various types of geometric surfaces, mainly including planes, cylinders and cones. This article focuses on the geometric constraints between geometric surfaces. Unless special instructions are given, geometric elements only represent the geometric surfaces. Common constraints between geometric surfaces include (1) constraints between two planes, (2) constraints between a plane and cylinder, (3) constraints between two cylindrical surfaces, (4) constraints between cylindrical and conical surfaces and (5) constraints between two conical surfaces.
In the model view area, constraint elements are chosen to apply constraints. Geometric model information in the view area is not accurate and cannot be used for assembly constraint solving. Therefore, to obtain accurate geometric data, it is necessary to make the geometric elements correspond to the information of the geometric model. The relationship between the geometric model and the geometric elements is shown in Figure 2.

Diagram of the relationship between the geometric model and geometric elements.
Assembly constraints and geometric constraints
Common types of geometric constraints include (1) coincidence, (2) parallelism, (3) verticality, (4) tangency, (5) coaxiality, (6) distance and (7) angle. A set of geometric constraints on the components forms the assembly constraints. The geometric constraints are the basic units of the part assembly constraints, assembly constraints and geometric constraints, as shown in Figure 3.

Diagram of the relationship between assembly constraints and geometric constraints.
Expression of the shape and position of fixture geometric elements
In the fixture module, the assembly of the fixture is achieved through changes to the poses of the parts to be assembled. Such changes are achieved by the geometric element constraints on the two parts. To facilitate constraint solving, the geometric elements can be expressed by using characteristic parameters. For example, a plane can be expressed as the centre of a surface and its normal vector, while a cylindrical surface can be expressed as the vector of an axis, a point on the axis and the radius of the circle. Table 1 shows expressions of the shape and position parameters of common geometric surfaces in the local coordinate system.
Expressions of shape and position parameters of common geometric surfaces.
Assembly constraint solving and assembly positioning solving
Assembly constraint solving based on DOF inference
The assembly constraints between two parts appear as geometric constraints between the geometric elements of the two parts. Assembly constraint solving must satisfy the new geometric constraint relationship without violating the original one. The assembly constraint can be solved by recording, analysing and reasoning the DOF information of the part according to the geometric constraint relationship.
Relationship between DOF and constraints
Without constraints, the DOF of each part can be decomposed into three degrees of rotational freedom (DRF) and three degrees of translational freedom (DTF). The FS is the entire 3D space. When the part is constrained, the DOF of the part is limited, and the process of satisfying constraints is a process of decreasing the DOF of the part. Constraints and DOF are a pair of contradictions interacting with each other. When adding constraints, the DOF of the part decreases. When the constraints are eliminated, the DOF of the parts increases.
To facilitate the analysis of DOF, the relationship between the remaining degrees of freedom (RDF) and the constraints, and the relationship between the remaining freedom space (RFS) and constraint space (CS) are expressed as follows:
1. Relationship between RDF and DOC: This relationship can be expressed as
where
2. Relationship between RFS and CS: This relationship can be expressed as
where
DOF analysis
The purpose of DOF analysis is to obtain the RDF of the part and the RFS under the constraints so as to facilitate geometric constraint solving. The process is as follows. (1) The RDF of a part is obtained before the new geometric constraint is imposed (when the part is unconstrained, the RDF is 6, which is in the completely free state). (2) The new constraint is applied through the analysis of the constraint relationship. The restriction is judged so the constraint bears on the DTF and DRF. (3) The RDF is calculated to obtain the RFS. Thus, geometric constraint solving is based on DOF analysis, and the satisfaction of the constraint relationship can be obtained through recording, analysing and reasoning the part DOF.
Analysis of the constraint relationship is a precondition for DOF analysis. In order to obtain the DC of each constraint relationship and the corresponding RDF, common types of constraint relationships needed to be analysed. According to Euler’s theorem, the motion of any part can be decomposed into rotation around an axis and translational in a direction. When movement is limited, there are four types of rotational part movement: non-rotation, rotation around a direction, rotation around a fixed point and free rotation. In addition, there are four types of translational movement: non-translation, translational in a direction, translational in a plane and free translation. According to part movement characteristics, the DOF expression of components is as presented in Figure 4, and common types of constraints and DOF analysis are shown in Table 2.

DOF expression of components.
Common types of constraints and DOF analysis.
DOF: degree of freedom; DTC: degree of translational constraint; DRC: degree of rotational constraint; RDTF: remaining degrees of translational freedom; RDRF: remaining degrees of rotational freedom.
Shape and position expression of FS
Based on the DOF analysis, the relationships between the type and DC and the RDF are described, and the type of DOF of the part under the constrained condition is obtained. However, this is not enough to support the realisation of system functions. To facilitate system implementation, the RFS of the part needs to be mathematically described according to the types of DOF.
In general, the DRF and the DTF are described separately as follows.
1. RDTF
The DTF can be expressed as
where
2. RDRF
The DRF can be expressed as
where
Shape and position expressions of translational FS.
FS: freedom space; DOF: degree of freedom.
Shape and position expression of rotational FS.
FS: freedom space; DOF: degree of freedom.
For specific constraints, mathematical methods are used to describe the RFS. There are two types of geometric constraint relationships, one is distance and the other is angel. Among them, constraints of distance type refer to distance constraint relationships between two planes, such as coincidence and distance. Constraints of angel type refer to an angle constraint relationship between two planes, such as parallelism, verticality and angle.
1. Distance constraints
For distance constraints, as shown in Figure 5(a), the distance between Surface A-1 on Part A (to be mounted) and Surface B-1 (on the reference Part B) is
where
The remaining freedom translational space can be expressed as
where
2. Angle constraints
For angle constraints, as shown in Figure 5(b), the angle between Surface C-1 on Part C (to be mounted) and Surface D-1 (on the reference Part D) is
In the formula,
In the formula,
3. Coaxiality constraints
For coaxiality constraints, as shown in Figure 5(c), Surface E-1 on Part E (to be mounted) and rotational Surface F-1 (on the reference Part F) are coaxial;
where
The remaining translational FS can be expressed as
where
4. Verticality constraints
For verticality constraints, as shown in Figure 5(d), Surface G-1 on Part G (to be mounted) and rotational Surface H-1 (on the reference Part H) is vertical;
where
The remaining translational FS can be expressed as
where

Shape and positional expressions of FS.
DOF reasoning
When a part is assembled, its position and orientation are determined by solving the assembly constraints. According to the above, the assembly constraints are usually composed of a combination of multiple geometric constraints. In order to solve the assembly constraints, the DOF of the parts must be inferred according to the geometric constraints. That is, in the case that the original constraints are not broken and the new constraints are met, the DOF of the part is updated. Because of the independence of translational constraints and rotational constraints, DOF reasoning can be divided into translational DOF reasoning and rotational DOF reasoning.
DTF reasoning
The
1. Current RDTF
Assuming that the current RDTF of the part to be mounted is
2. The newly imposed translational constraint.
Assuming that the degree of the newly introduced translational constraint of the part to be installed is 1, the characteristic parameters of the remaining translational FS are (
Afterwards, through the enumeration method, the reasoning criteria of the DTF are given, as shown in Table 5.
Reasoning criteria for the DTF.
DTF: degrees of translational freedom; RDTF: remaining degrees of translational freedom.
DRF reasoning
The reasoning for the RDRF of the part and the DRC can be expressed as
1. Current RDRF.
Assuming that the current RDRF of the part to be mounted is
2. Newly imposed rotation constraint.
Assuming that the newly introduced degrees of the rotational constraint of the part to be installed is 2, then the characteristic parameters of the RRFS are expressed as
Then, through the enumeration method, the reasoning criteria for the DRF are given, as shown in Table 6.
Reasoning criteria of DRF.
DRF: degrees of rotational freedom; RDRF: remaining degrees of rotational freedom.
Assembly positioning solving based on geometric constraints
The purpose of assembly positioning solving is to determine the pose of the parts according to the assembly constraints and to update their remaining DOF and the RFS. In the unconstrained state, the part is completely free and its pose in space is unlimited. In the constrained state, in order to satisfy the constraints, the parts of the space inevitably change in pose and the ultimate result is that the RFS is limited. The part’s movement can be decomposed into rotational movement and translational movement. Then, the geometric constraints on the part can also be expressed as limitations on the rotational movement and translational movement, that is, the DRF, DTF, rotational FS and translational FS of the part are restricted. The restricted space is removed from the part’s current RFS, and the RFS after applying the constraint is obtained.
The process of assembly positioning is as follows. First, the RFS of the part is obtained through the analysis and DOF determination of the part. Then, the pose transformation matrix is solved in the RFS according to the geometric constraints, including the rotational transformation matrix
If the geometric constraints meet the feasibility requirements, the pose transformation matrix
The process of assembly positioning solving is shown in Figure 6, and the specific steps are as follows:
When performing positioning solving of components, there are mainly two kinds of situations. One is an unconstrained state where the assembly positioning solving is in a completely free state. The other kind is assembly positioning solving in the constrained state.

The process of assembly positioning solving.
Completely free state
The previous section shows that geometric constraint positioning solving can be divided into two steps: (1) orientation solving, that is, rotational transformation matrix solving; and (2) positioning solving, that is, translational transformation matrix solving.
In the free state, the specific steps are as follows:
The following section takes the coaxiality constraints of a cylindrical surface as an example. Constraint positioning solving is analysed in the free state. As shown in Figure 7, there are two parts in space: part A is the part to be mounted and part B is the reference part.

The process of coaxiality constraint positioning.
In the figure,
1. Orientation solving
Positioning and orientation solving are required to calculate the rotational transformation matrix, so the cylindrical surfaces of parts A and B are parallel.
We first calculate the rotational transformation matrix to determine the rotational axis and rotation angle. Assuming that the rotational axis is
2. Positioning solving
The positioning solution is to calculate the translational transformation matrix on the basis of orientation solving, making the cylinder axes of parts A and B coincide.
Assuming that the translational vector is
Therefore, to summarise positioning and orientation solving, the pose transformation matrix of part A is
Constrained state
When the component to be installed is in a constrained state, the pose transformation matrix needs to be solved in the RFS of the component to achieve its assembly positioning.
In the constrained state, the specific steps are as follows:
The following section takes the constraints of surface–surface coincidence and surface–surface verticality as an example. The constraint positioning is analysed in the constrained state. As shown in Figure 8, there are two parts, A and B, in space. Part A is the part to be mounted, and part B is the reference part.

The positioning process of the verticality constraint under a coincidence constraint.
In the free state, the constraints of surface–surface coincidence (between planes A-1 and B-1) are applied on part A (to be mounted) and the reference part B. According to the free-state assembly and positioning solving method, we achieve coincidence between planes B-1 and A-1. At this time, the rest of part A (to be mounted) includes the degree of rotational freedom which is the normal vector
Under the coincidence constraint, the positioning solving of the verticality constraint is shown in Figure 9. The specific analysis process is as follows.
Supposing the unit normal vectors of planes A-2 and B-2 are
When the plane
When plane
When plane

Schematic diagram of positioning solving of the verticality constraint under the coincidence constraint.
System application verification
Module development and implementation process
Based on the software modules of ACIS and HOOPS, a prototype computer-aided process planning (CAPP) system was developed in our laboratory. The proposed method was implemented as a module for fixture management and fixture operation. By using this module, many tools have been managed and applied successfully. To demonstrate the basic point of this article, the process of fixture operations management was tested.
Fixture module
Fixture involves a variety of devices, which ensure that the assembly process can be properly implemented. These devices include fixtures, knives, measuring tools, auxiliary tools and inspection tools. This article focuses on assembly fixtures, which provide reliable positioning by applying external forces to the reference component. This facilitates the assembly of the components and improves assembly accuracy, efficiency and safety.
As shown in Figure 10, in fixture management, tooling extension, tooling deletion, tooling preview and tooling import are implemented. In the tooling application, ‘tooling modelling’, ‘tooling movement’, ‘tooling assembly’ and ‘tooling exit’ can be achieved. Of these, the most critical are tooling modelling and tooling assembly. The fixture is imported to build the fixture model. Then, the assembly of the fixture can be achieved by determining the relationship between the assembly constraints and positioning.

Fixture management and application.
Assembly positioning module
In the fixture module, assembly constraints are mainly achieved through four sub-modules: the fixture model, constraint definition, constraint and positioning solving module and constraint management module. The relationship between the modules and data flow is shown in Figure 11.

Relationship between sub-modules and data flow.
In the figure, the fixture model represents the component information model, which is the carrier of assembly constraints, including the 3D model information, spatial pose, assembly constraints and DOF information.
The constraint definition module provides an interactive method for defining geometric constraints. The definition process includes the selection of the constrained geometry elements and the constraint relationship types.
The roles of the constraints and positioning solving module are mainly as follows. According to the newly imposed geometric constraints and the current DOF state of components, we can adopt the relevant algorithms to determine the feasibility of the constraint, calculate the spatial pose transformation matrix of the component, adjust the spatial pose of the component and update the DOF information of the component.
The constraint management module manages all feasible geometric constraints and excludes contradictory and redundant ones. The constraint management module’s role is mainly to add, delete and modify geometric constraints and other operations and to interact with the fixture model of constraint information.
The process of implementing assembly positioning
The assembly of components proceeds according to changes in the positions of the components to be mounted relative to the reference component. The component to be assembled is a component that has not been assembled yet, and the reference component is an already-assembled component. Through the constraint relationship between the geometric elements of the components, the pose transformation matrix of the part to be mounted is solved (although a solution may not exist), thereby changing the spatial pose of the components to be mounted to satisfy the assembly relationship between components. The process of interactively adding constraints and implementing the assembly relationship is shown in Figure 12, and the specific steps for its implementation are as follows:

The process of interactively implementing an assembly relationship.
Examples
This article investigated a fixture module for an assembly process planning system based on 3D models. Part of a spacecraft was used as an example to demonstrate the realisation of fixture management, fixture modelling, fixture and product assembly, and generation and application of the assembly process and other functions.
Fixture management
Fixture management involves using the database to classify and manage fixture. Classified by the usage scope, fixture can include common fixtures, special fixtures and standard fixtures. Classified by function, jigs includes cutting tools, measuring tools, jigs and so on. Fixture extension, deletion, preview and import functions in the system were achieved.
1. Extension and deletion of fixture
When there is no suitable fixture in the fixture library, the system supports the importation of external fixture data. As shown in Figure 13, the ‘file open’ window is called to open the fixture. Then, according to the need, the fixture and corresponding categories to be added can be chosen, and the fixture is added to the tool library, as shown in Figure 14.
When you need to delete a tooling set from the fixture library, as shown in Figure 15, select the tooling in the fixture management tree and click the ‘Delete’ button. Before importing a selected tooling set into the system, preview it with the ActiveX control to get the correct one, as shown in Figure 16.
2. Importing fixture
The imported fixture files can be for part tooling or fixture. Commercial CAD fixture files (e.g. Pro/E files) can be opened in the system. After the fixture file is imported, the fixture model is built in the system and the fixture 3D model is displayed in the model view area, making the fixture compatible with the 3D model of the product. Meanwhile, the fixture structure is displayed in the Structure View, which can display or hide fixture components. In addition, fixture can also be moved and removed. Removing the fixture is done, as shown in Figure 17.

Import of tooling from outside the tooling library.

Fixture library extension.

Fixture deletion.

Fixture preview.

System fixture deletion.
Operation of fixture assembly
In the system, the general process of fixture assembly is as follows: (1) ‘create the fixture’ as the fixture of the current activity, (2) import the fixture components, (3) assemble the fixture and (4) after the assembly of the fixture is completed, the fixture acts as the fixture of the current activity and completes the assembly operation with the product.
1. Assembly of fixtures
As shown in Figure 18, first, the user selects the geometric surface of the fixture component as the constraint element. The benchmark component is the part which the first selected geometric surface belongs to,Select the component which the geometric surface belongs to after assembly. Then, the user selects the type of constraint relationship. The geometric surface type and the constraint type should match; otherwise, the constraint type is not applicable. Finally, if the constraint relationship is feasible, assembly positioning is achieved and a reverse constraint can also be imposed. Multiple geometric constraints on two parts are used to achieve their assembly.
2. Fixture and product assembly
The assembly of fixture and products is similar to the process of fixture part assembly. The only difference is that the product is a benchmark, while the fixture is a to-be-installed part. As shown in Figure 19, a coincidence constraint is completed between the affixing surfaces of the tooling part and the product part. The following shows the specific positioning solution process of coaxiality constraint of fixture parts and product parts.
In the constrained state, the specific steps are as follows:

Assembly of fixture parts.

Fixture and product assembly.
When there is over-constraint, not being assembled is prompted in the system, as shown in Figure 20.

Judgement of over-constraint.
Conclusion and future work
This article studies a fixture information model, methods of solving assembly constraint and assembly positioning. The fixture information model includes fixture management information, display information, geometric information, assembly constraints and DOF information, and related information is defined and expressed by the fixture information model to achieve management and assembly operations. A method of solving assembly constraints based on DOF reasoning is proposed. First, through the analysis of constraints, the relationship between DOF and constraints is determined. Second, mathematical expressions of DOF provide data for DOF reasoning. Finally, the rules for solving DOF reasoning are given. A method of assembly positioning based on geometric constraints is proposed. That is, the rotational transformation matrix and the translational transformation matrix are, respectively, solved according to the newly imposed geometric constraints without breaking the original constraints. This process achieves pose transformation that meets the newly imposed constraint relationship and updates the DOF information. Methods for solving the rotational transformation matrix and the translational transformation matrix in free and constrained states were described.
The work proposes the algorithm and implements them in our assembly process planning prototype system. The algorithm in commercial CAD is a design for assembly, while the algorithm in our system is a design for the assembly process. As a result, differing from commercial CAD, the product assembly undergoes an assembly process in our prototype CAPP system. Through many assembly practices, the assembly speed is at the same level as foreign commercial CAD. At present, we have a qualitative analysis of assembly performance and algorithm performance compared to commercial CAD. For detailed quantitative analysis of performance, more experiments will be performed.
In this article, the assembly constraints and assembly positioning solutions provided are for common geometric surfaces. They do not consider point and line geometry elements; hence, further study is needed to improve assembly positioning. Fixture research is still imperfect, as the assembly and disassembly operating characteristics of fixture and the specific impact of fixture on the assembly process need further study.
Footnotes
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: The authors acknowledge the financial support sponsored by the National Key Research and Development Program of China (grant no. 2018YFB1701301) and the Preliminary Research Program of Equipment Development Department of China (grant no. 61409 230103).
