Available online at www.sciencedirect.com
ScienceDirect Procedia CIRP 50 (2016) 472 – 477
26th CIRP Design Conference
Automatic extraction of assembly component relationships for assembly model retrieval Katia Lupinettia,b,*, Franca Gianninia, Marina Montia, Jean-Philippe Pernotb a
Istituto di Matematica Applicata e Tecnologie Informatiche - Consiglio Nazionale delle Ricerche, Via De Marini 6, 16149, Italy b LSIS Laboratory UMR CNRS 7296 - Arts et Métiers ParisTech, 2 Cours des Arts et Métiers, 13617 Aix En Provence, France
* Corresponding author. Tel.:+39 010 64 75 570. E-mail address:
[email protected]
Abstract Even if during the Product Design Process, assembly models are described in terms of their constitutive components and associated relationships, only the position of each component is often stored within the Digital Mock-Up. Thus, the mating information are lost. However, these relationships are crucial for many applications, such as retrieval, assembly planning and finite element simulations. In this paper, we propose a method for the detection and use of the mating relationships for assembly model retrieval. The proposed approach detects and analyses the interferences between parts to compute their degree of freedom and kinematic pairs. To support the retrieval of assembly models, the extracted information are formalized and capitalized in a newly proposed hierarchical assembly model descriptor. Results of the application of the method are also provided to show the system capabilities. Moreover, considering that a same joint can be defined in multiple ways, this work provides also a method for retrieving assemblies in a dataset according to the part relationships and their class of equivalence. © 2016 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license © 2016 The Authors. Published by Elsevier B.V. (http://creativecommons.org/licenses/by-nc-nd/4.0/). Selection under and peer-review responsibility Lihui Wang. responsibility ofunder the organizing committeeof of Professor the 26th CIRP Design Conference Peer-review
Keywords: Contact analysis; Degree of freedom detection; Assembly model retrieval
1. Introduction The relationships between assembly components involve different types of information such as constraints, joints and interferences. All these data are significant from several point of views. For instance, virtual assembly systems use constraints (e.g. mate, mate-offset, align, align-offset, superposition, orientation, tangency) for locating and orienting the components in the right position [1]. Numerical simulation, like Finite Element Analysis (FEA), requires interface notions such as types and spatial position of contacts and type of overlapping surfaces [2]. Assembly interferences and geometrical constraints are also crucial to simplify complex assembly sequence planning identifying simpler subsequences [3]. For assembly retrieval process, joints are also
important key of search. Designers often seek models with the same relative motions between parts; this kind of search is useful for finding spare parts. Even if these data are fundamental in many domains, they sometimes are not available. For example, the exchange of assembly models between designers using different CAD systems may be critical when using proprietary file formats. The ISO 10303 STEP standard supports the representation and exchange of assembly models as well as the kinematic relationships between their components and their constraints; however, STEP files produced by most of the CAD systems does not include the latter ones. Moreover, during the Product Development Process (PDP), interference information may be not stored on purpose, because the simulation process simplifies assembly models removing negligible components and this suppression can produce loss of consistency in the constraint definitions [4].
2212-8271 © 2016 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/). Peer-review under responsibility of the organizing committee of the 26th CIRP Design Conference doi:10.1016/j.procir.2016.04.148
Katia Lupinetti et al. / Procedia CIRP 50 (2016) 472 – 477
In this context, starting from assemblies stored in STEP format without information on kinematic relationships and constraints, this paper addresses the way the assembly component relationships can be extracted to better support the assembly retrieval. The idea is to exploit interface relationships through a dedicated geometric reasoning. In particular, we propose a framework for the global/partial retrieval of assembly models according to different user requirements at different levels of details. The extracted data are then encoded in a multi-level assembly descriptor called Enriched Assembly Model (EAM) that is organized in four main levels: statistics, structure, interface and shape. This paper focuses on the interface layer, in particular on the automatic computation of different types of relationships that exist between assembly components. The interface layer represents the motions of a part with respect to another one. It encodes knowledge starting from part contacts and then rising to equivalent joint using four levels namely the contact, joint, synthesis and mechanism levels. The lowest level encodes all the faces involved in the contact between two parts and their corresponding degree of freedom (DOF). Here, contacts can be considered as constraints that limit the DOF according the involved geometric entities, i.e. points, curves or surfaces. The joint level, i.e. the second one, characterizes the resulting movement between two parts considering all their contacts. Then, the synthesis level groups support parts. In this layer, the collection of parts that form bearings, couplings, shaft or pattern of screws are considered as a unique mechanism for allowing a precise movement. The highest level corresponds to the assembly mechanism, i.e. the DOF of a part considering all the linked parts in the assembly. In this paper, the two lowest levels are described: contact and joint. Once the information extracted and stored within the socalled EAM, the assembly model retrieval can start. The use of a multi-level descriptor advantageously enables the detection of similarities according to various aspects. For instance, Fig. 1 shows two translation joints (i.e. same functionality) defined in two different ways involving different surfaces in contact. The two models are different both at the shape and at the contact levels but similar at the kinematic one. The proposed multi-level descriptor allows to capture and distinguish these configurations and can be very helpful when considering the retrieval of similar assembly models with respect to specific criteria (e.g. type of surfaces in contact).
(a)
(b)
Fig. 1. (a) Translation by cylindrical faces; (b) Translation by planar face
The rest of the paper is organized as follows. Section 2 provides an overview of the works related to the
473
characterization and extraction of assembly relationships with a particular focus on those techniques designed for assembly retrieval purposes. In section 3, the proposed Enriched Assembly Model (EAM) descriptor is introduced, while in section 4 the technical background and the reasoning techniques to extract the assembly relationships are introduced. Some results are presented in section 5 and section 6 ends the paper providing conclusions and highlighting future works. 2. Related work Several works exist for the extraction of assembly contacts in different application domains. In the assembly retrieval field, Chen et al. [5] used Degree Of Freedom (DOF), kinematic pair and geometric mating to enrich their assembly descriptor. However, they are able to extract all this information for some kinematic-pairs while other complicated kinematic-pairs have to be labeled manually. Yang et al. [1] proposed a simulation system for assembly process based on the constraint recognitions, confirmations and navigation. Constraint detection is handled in the recognition phase, while the other phases compute some transformation matrices to move the assembly components in virtual systems. The recognition phase detects six types of constraints considering geometric information of the involved elements and it is based on the equivalence between them and the DOF. However it requires user intervention to track the position and the orientation of the components. An automatic method to extract kinematic information from assembly models is developed by Park and Oh [6]. They assert that most of the assembly geometric models have just revolute and prismatic joints. Their procedure is divided in three main steps. First, it identifies the regions of contact using the collision detection of boxes and parallel computation to improve the speed of calculation. Focusing on revolute joints, the second step aims to identify the contact surface of the cylinder shape and the creation of the center axis. Last step decides the type of joint using collision detection. Even though their approach identifies joints automatically, the proposed scenario it too restricted. Swain et al. [7] have defined an extended liaison to integrate the information between the product model and the assembly process. This structure is able to identify the assembly process of riveting, welding, scree fastening, bolt fastening and gluing. The proposed procedure is able to extract the liaison details automatically from assembly models, but its main limit is the complexity of the algorithm. For finite element analysis, Shahwan et al. [4] described a qualitative reasoning process to detect component interfaces from assembly models. Their method is based on the definition of conventional and functional interfaces. Unfortunately, the geometric information intrinsically contained and available in the assembly model are not sufficient for the reasoning process and additional data formalized in other structures as ad-hoc ontologies are required.
474
Katia Lupinetti et al. / Procedia CIRP 50 (2016) 472 – 477
Kim et al. [8] presented ontology based reasoning techniques for representing and differentiating assembly joints that are similar from geometric and topological point of view. They gave definitions and theorems for characterizing assembly joints in mereotopological representation (a formal ontology that combines mereological and topological concepts) requiring various data as fastener attribute, screw/nut head and body; but it is not mentioned how this information are obtained from the assembly model. 3. Enriched assembly model When looking for an existing assembly in a database, and depending on the objectives of the retrieval, a designer may be interested in different assembly characteristics. Thus, to support assembly retrieval with different search keys at different LOD, we define a multi-level assembly descriptor, the so-called Enriched Assembly Model (EAM). The EAM has four information layers: statistics, structure, interface and shape (Fig. 2). The statistics layer contains values that roughly characterize and discern assembly models. Number of subassemblies, number of principal parts, number of fasteners, number of thin parts and number of patterns of a specific type (e.g. linear, rotational or reflective patterns) are attributes associated to the entire assembly as well as to each subassembly. On the other hand, for matching purpose, the parts in the assembly can be filtered according to the percentage of a specific type of surface or the number of maximal faces of a specific type of surface. Then, the number of a specific joint type or the number of elements in contact for a specific contact type is considered to differentiate the type of joint present in an assembly model. The structural layer encodes the hierarchical assembly structure as specified at the design stage. In this organization, the structure is represented as a tree where the root corresponds to the entire assembly model, the intermediate nodes are associated with the sub-assemblies and the leaves characterize the parts. Attributes to specify parts arrangement (regular patterns of repeated parts) are attached to the entire assembly and its sub-assemblies [9]. The interface layer is the main focus of this paper and it specifies the relationships among the parts in the assembly. It is divided in four levels. The lowest level, i.e. the contacts level, encodes all the faces involved in the contact between two parts and the degree of freedom between those faces. Joint level describes the motion(s) resulting from several contacts between two parts, while synthesis level gathers together collection of parts that belong to the same functionality group. The highest level, i.e. the mechanism level, characterizes the overall motion of a part when considering all the associated joints. The shape layer categorizes the shape of an assembly and its constitutive parts using several dedicated descriptors. Using several shape descriptors helps answering different assembly retrieval scenario, which can consider different shape characteristics. A complete EAM, i.e. with the four layers, is computed only for the models stored in the databases on which the search has to be performed. However, for what concerns the query, only those layers involved in the retrieval are
Fig. 2. Enriched assembly model layer
computed and exploited, thus reducing the complexity of the system. 4. Interface layer The interface layer aims at describing the relationships between two parts of an assembly model. Starting from the contacts involved between parts and then reasoning on the relative DOF, the relative motion of a part with respect to another one can be characterized. To formalize this knowledge, four levels are defined: contact, joint, synthesis and mechanism levels. The contacts level encodes all the faces involved in the contact between two parts and the degree of freedom between those faces. Joint level describes the motion(s) resulting from several contacts between two parts. Since the motion of a component in the assembly might be realized through different technologies (e.g. bearings, coupling and drive shaft), an additional level is introduced, the synthesis one. In this level, the parts which belong to the same equipment are grouped together thus creating a higher level of details. A further level is defined, the mechanism level, to define the overall motion of a part respect to the entire model. Fig. 3 shows an example of the structure of the interface layer. An assembly model is illustrated in Fig. 3(a) while Fig. 3(b) illustrates the four levels of the interface layer. The first row of Fig. 3(b) depicts the contacts through a graph structure, where the nodes identify the parts and the arcs represent the type of contacts. The portions of contacts, highlighted in red on Fig. 3(a), are formed by two planar and one cylindrical face, while the other junctions in the assembly involve only a cylindrical contact. For this reason, the graph representing the contact level has several arcs between some pairs of nodes. The second row of Fig. 3(b) corresponds to the joint level and represents the equivalent motion between two parts, thus the arc between nodes B and C supports an attribute value that indicates the rotation between the two corresponding parts of the assembly. The bar C and D are secondary parts and are inserted in the model to limit the final overall motion of B with respect to E, thus in the graph in the
475
Katia Lupinetti et al. / Procedia CIRP 50 (2016) 472 – 477
third row, they are grouped together in a new node that denotes their functionality. At the end, last row represents the mechanism of the assembly. In that graph subsidiary parts disappears and the attribute between B and E changes its value in a single translation, thus modifying the previously encoded rotation.
(a)
(b)
Fig. 3. (a) Assembly model example; (b) Its levels in the interface layer
4.1. Contacts and their equivalent joints Turner et al. [10] described the constraint relations between two parts. A contact between two parts involves different elements and each of them allows some movements (translation and/or rotation) along some axes. In general, two parts can share a portion of surface, a curve or just a point. Table 1 shows the DOF between the parts according to the type of contact ( and indicate respectively a rotation and ). a translation along the u axis being The aim of the contact level, i.e. the lowest one, is to encode the type of contacts between two parts and their DOF according to the scheme in Table 1. Two parts may share several contacts and in this case, the final resulting motion depends on all them. Thus, the joint level represents the kinematic link between two parts considering all their contacts. According to the mechanical analysis [11], the contacts between the parts form a parallel kinematic chain and their final DOF can be computed composing the kinematic tensor of all the contacts. Focusing on the arcs between nodes B and C in the first row of Fig. 3 (b), the two planar and the cylindrical contacts are represented by the kinematic tensor expressed in equation (1) and (2) respectively, where OB and OC
The following section describes the two lowest levels of the interface layer: contact and joint levels Table 1. DOF value according to the contact type.
Contact
Model
DOF
are points of parts B and C.
°° 0 T1/2 ® 0 ° w °¯ n
vu ½ °° vv ¾ ° 0 ° ¿OB
(1)
0 ° T1/2 ® 0 ° w ¯ n
0 0 vn
½ ° ¾ ° ¿OC
(2)
Point with normal
Straight line with axis and normal Circular arc with axis
Ball joint
Planar support with normal
Pivot rolling with axis
Slide rail with axis Pivot with axis
Since the contacts are arranged in a parallel scheme, the final kinematic tensor is expressed in the equation (3).
0 ° T1/2 ® 0 ° w ¯ n
0 0 0
½ ° ¾ ° ¿OB
(3)
This example shows that to lose a motion at the joint level, it is sufficient that a single contact does not allow it, otherwise to have a zero in the final kinematic tensor it is sufficient having a zero in same position in one kinematic tensor of the contacts. This is due to the fact that, considering parallel joints, all the kinematic tensors are equal when written at the same point. We use this zero-property to compute the joint between two parts in the next section.The joint level is useful for recognizing a similarity between assemblies at a higher level. For instance, a different number of ball bearings may be used to allow the rotation of a rotating part around a stationary one, but despite the number, their functionality is always the
476
Katia Lupinetti et al. / Procedia CIRP 50 (2016) 472 – 477
same. Therefore, when looking for assemblies with a specific behaviour between components the number of employed ball bearings is not important. Therefore, it might be better to consider the final motion than how it is realized. 4.2. Reasoning process The procedure to compute the interface layer takes in input the B-Rep model and it relies on the following hypotheses: i) ii) iii) iv)
Models include only rigid parts, i.e. seals are not present in the model; Models have no volumetric interferences, i.e. only contact and clearance are considered; Contacts do not change over time; Faces involved in the contact are associated to analytic surfaces.
in the contact can translate along v , where v n1 n2 iii) The non-regular intersection has different types of faces. In this case, the contacts between the parts form a parallel kinematic chain and their equivalent motion is computed using the zero-property previous mention. Thus, only the DOFs allowed by all the contacts are permitted also in the final motion. Table 2. DOF value according to the surface type.
Type Planar Cylindrical Conical Spherical Toroid
Parameters normal axis O origin axis O origin
DOF
, axis O origin
5. Results and discussions Condition i) applies to mechanical parts, i.e. the type of objects we are considering, and allows the use of the kinematic theory of rigid body, which neglects deformation. Condition ii) is generally true for product models ready to be manufactured and assembled, even if because of approximation errors, it is possible to find volumetric interferences in CAD assembly models. Therefore, at present, such configurations will produce a warning message to the user. We plan to develop methods that, analysing the intersecting volume, can deduce the most probable intended interface conditions between parts. The third condition implies that the relative motions of two parts do not add any new contact neither removes the old one; only the portion of the contact may change. In general this condition does not hold for all the types of objects, but it is realistic to assume that most of the mechanical objects do not modify the faces in contacts during their movements. In this work, we restrict the analysis of the contacts to analytic surfaces. The fourth condition is not too restrictive, since most of the mechanical objects are realized and connected to each other through combinations of these elements. To identify contact elements, i.e. set of faces, edges or vertices, for each pair of parts, our procedure computes their non-regular intersection exploiting the Application Programming Interface (API) provided by the adopted CAD modeller, i.e. SolidWorks in the present case. Our approach can also detect partial contacts, i.e. the contacts between parts can be only a portion of the entities (faces and edges) of the B-rep models of the parts. Then, to each face belonging to the non-regular intersection the DOF is assigned according to table 2 using the surface type associated to the face. To compute the motion derived from all the contacts, we have to distinguish the following cases: i) ii)
The non-regular intersection is made of only a face, then its DOF is the one specified in Table 2 The non-regular intersection has only planar faces. In this case, each planar face prevents a translation along its normal, thus between two or more planar faces – nonparallel or coplanar – only one translation is allowed. More precisely, let f1 and f2 be planar faces with
n1 and n2 normal
respectively, then the parts involved
The system development is based on the .NET platform and exploits the Application Programming Interface (API) of the CAD system SolidWorks. The assembly models considered in Fig. 4 have different contact faces and the profiles formed by the faces in contact are depicted in the second row. Our procedure computes the non-regular intersection between the two parts finding the portions of contacts. For each face in contact, in the graph representing the contact level, an arc is added between the corresponding nodes with proper attributes. At the joint level, our system computes the graph in the last row of Fig. 4 for both the models. The attribute of the single arc represents a translation, according to what we expected. These models are equivalent at the level of the joint but different at the contact one.
Interface profile
Contact level
Joint level Fig. 4. Computation of kinematic equivalence
The ability of recognizing the kinematic relationships between two parts has several application fields; one of them is the assembly retrieval. To this aim, we developed a plug-in of Solidworks to retrieve assembly models according to several criteria specified by the user. The developed system uses the EAM described in section 2. We encode the extracted information in a graph-based structure, thus the identification of a partial correspondence between two graphs may be solved by finding their maximum common sub graph (MCS). We transpose this problem in a maximum clique (MC)
Katia Lupinetti et al. / Procedia CIRP 50 (2016) 472 – 477
problem, solving it by the exploitation of a probabilistic technique matching [12]. Some results are illustrated in Fig. 5. The first model used as query for the retrieval is a landing gear and the query requests models similar at the joint level. While the second model is a flange and, in this case, the requests is for models similar at the contact level. The retrieved models are very similar at local level, while the global similarity is represented by a rough measure. Two models are locally similar if a portion of the query model is present in the compared model. In both the examples, the last retrieved models are indeed locally similar. The structure of the hydraulic cylinder (last retrieved model for the first example) has the same movement (rotations) of the tires in the query, while the radial pistons (last retrieved model for the second example) have the same contacts given by the patterns of screws and bolts as in the flange model. The rate for the ranking is the ratio between the number of matched parts and the number of parts in the query models. This value is not accurate – because it considers only a parameter – but it is an index of the global percentage of the query in the retrieved models. With this meaning, some retrieved landing gears have a low global measure, but it is due to some additional components for which the models diverge. In this sense, the models are rather different at the joint level but should be more similar at a higher level of detail.
477
computation are important but it is not an easy task and some existing tools often require major user interactions. . Starting from the basic contacts between two parts, we define a first class of equivalence able to describe the motion between the involved parts. The simple results of the landing gears show the importance of additional levels for the equivalence. In that frame, other landing gears have the same final motion but involving additional components, thus the global measure is low (in some cases it is less then 0.50). To retrieve them with a higher score, fasteners and auxiliary parts should be neglected considering only the final motion between the main parts. This objective is addressed by the other levels of equivalence, the synthesis and the mechanism ones which have not been detailed in this paper. In this way, the landing gears designed with different components will be retrieved with a higher measure at the mechanism level and lower measure at the joint level. Ongoing activities aim to improve the rules for the computation of the DOF of the contacts and for the identification of their equivalence concerning also the aspect ratio of the contact portions. For instance, a cylindrical contact with L >> r (where L and r are the cylinder length and radius respectively) could rotate along its axis, but it allows small rotations along other directions also. Another upgrading concerns the ability of recognizing if the kinematic system defined by two parts is isostatic or hyper-static. This kind of information is useful in simulation systems. References
Fig. 5. Similar models at the joint level and at contact level
6. Conclusion and future works The information concerning the relationships between the components of an assembly model are crucial in several domains. However, for different reasons, those information are not always available. Tools for their automatic
[1] Yang RD, Fan XM, Wu DL, Yan JQ. Virtual assembly technologies based on constraint and DOF analysis. Robotics and Computer-Integrated Manufacturing, 2007; 23 (4): 447-456. [2] Jourdes F, Bonneau GP, Hahmann S, Léon JC, Faure F. Computation of components’ interfaces in highly complex assemblies. Computer-Aided Design, 2014; 46:170-178. [3] Wang Y, Liu JH., Li LS. Assembly sequences merging based on assembly unit partitioning. The International Journal of Advanced Manufacturing Technology 2009; 45 (7-8): 808-820. [4] Shahwan H, Léon JC, Foucault G, Trlin M, Palombi O. Qualitative behavioral reasoning from components’ interfaces to components’ functions for DMU adaption to FE analyses. Computer-Aided Design, 2013; 45 (2): 383-394. [5] Chen X, Gao S, Guo S, Bai J. A flexible assembly retrieval approach for model reuse. Computer-Aided Design, 2012; 44 (6): 554-574. [6] Park SC., Oh JW. Kinetic Model Extraction from a Geometric Model. Computer-Aided Design and Applications 2015; 12(3): 338-343. [7] Swain AK, Sen D, Gurumoorthy B. Extended liaison as an interface between product and process model in assembly. Robotics and ComputerIntegrated Manufacturing, 30 (5), October 2014, Pages 527-545. [8] Kim KY, Yang H, Kim DW. Mereotopological assembly joint information representation for collaborative product design. Robotics and Computer-Integrated Manufacturing, 2008; 24 (6): 744-754. [9] Lupinetti K, Chang L, Giannini F, Monti M, Pernot J P. Regular patterns of repeated elements in CAD assembly models retrieval. Computer-Aided Design and Applications, 2016 ed. Taylor & Francis, to appear. [10] Turner JU, Subramaniam S, Gupta S. Constraint representation and reduction in assembly modeling and analysis. Robotics and Automation, IEEE Transactions 1992; 8 (6): 741-750. [11] Pommier S, Berthaud Y. Mécanique générale. Dunod, 2010. ISBN 9782-10-051356-7. [12] Bomze IM, Budinich M, Pelillo M, Rossi C, Annealed replication: a new heuristic for the maximum clique problem. Discrete Applied Mathematics, 2002; 121 (1–3): 27-49.