Copyright @ IFAC Management and Control of Production and Logistics, Grenoble, France, 2000
FEATURE-BASED ASSEMBLY MODEL FOR INTEGRATION IN COMPUTER-AIDED ASSEMBLY
Christian Mascle
Section fabrication, Depanement de mecanique, Ecole Polytechnique de Montreal c.P. 6079, Succ. Centre-Ville, Montreal, Quebec, H3C 3A7 Canada E-mail:
[email protected]
Abstract: This paper proposes a good approach for a computer-aided assembly (CAA) system, which makes use of software agent technology and deals with a representation of assembly features. The context of our work is the study of the engineering and manufacturing system based on the assembly features. The system never thinks like an assembly engineer, but makes it possible to support engineers in creative methodology, and producing new ideas better than the conventional CAA. Copyright@ 2000lFAC Key-words: Assembly features, IntelIigent Agent, ACIS, Databases, CAD. The review examined various assembly modelIing studies. Sodhi and Turner (1991) indicate the need to support a top-down and bottom-up design process for multiple abstract and geometric representations and for providing multiple functional viewpoints of the design. An alternate decision-based representation to support design exploration and optimisation during top-down design has been proposed by Kim and Szykman (1995) with an underlying hierarchical product structure. Henson et al. (1993) also related the functional specifications to the physical structure of the product using a hierarchical structure.
1. INTRODUCTION
The amount of available infonnation is so large that new problems have arisen, such as the amount of time needed for data retrieval. Production entreprises have realised that, as a result of this increasing complexity, it'11 be increasingly difficult to plan and co-ordinate alI structures and processes from a single point. As a consequence thereof and also as a solution thereto, manufacturing functions have become more and more decentralised. But part of identified knowledge exists in specific models or documents. The other part belongs to actors: each one has specific skilIs and knowledge, and is widely autonomous in the limit of the objectives and activities alIocated to him. In view of the distribution of functions; it is now interesting to find out what can be done in order to prevent the disruption of the existing relationship between the various segments. The solution is to establish processes, which guarantee the exchange of services between functional-autonomous units, as far as this might be required in order to achieve the proposed objective. In very many sectors of distributed action, the agent theory has proven to be a suitable aid. InteIligent agents have proved particularly helpful for us to retrieve data on assembly features from various databases. This study shows that the defmition of assembly features (AF), the starting point of any targeted objective, was consistently inadequate in completely supporting the various assembly stages.
Many representations have focused on capturing the mating constraints between components. Various detailed assembly representations have evolved including kinematic-based (Rajan and Nof, 1996), (Turner and Sabramanian, 1992), geometry-based (Anantha et aI., 1996), (Hoffrnan, 1989,1990), (MattikaIli and Khosla, 1990), (Ngoi and Tan, 1996), (Randall and Latombe, 1994), (Venuvinod, 1993), (Wang and Ozsoy, 1993) and feature-based (De Fazio et aI., 1993), (Delchambre, 1992), (Jabbour et aI., 1996a, 1996b, 1997, 1998), (Mascle et aI., 1997), (Shah and TadepalIi, 1992), (Van Holland and Bronsvoort, 1996). The kinematic-based representations capture the type of joint (revolute, prismatic, screw, cylindrical, spherical, planar, etc.), and the degrees of freedom associated with the joint. The geometry-based representations capture the lowlevel surface mating constraints such as against, fit,
419
features relative to each state by comparing its structure to that of the assembled state.
coplanar, rot, fix, etc. Pratt (1996) has developed a more generic geometric constraint representation for use in describing component as well as assembly constraints. Numerous representation schemes (Gui and Mantyla, 1994), (Henrioud and Bourjault, 1992), (Homem De Mello et aI., 1990), (Laperriere, 1991), (Lee and Chunsik, 1993), (Requicha and Whalen, 1991) describe the mating relationships between components either parts or subassemblies - in assembly using graph structures. In some of these works, some parts (such as elastic ring, screws, rivets, etc.) are considered as fasteners. This type of representations leads to the definition of a single type of liaison on these parts. In other cases, it can lead to confusion: Cl When the function of the part can be compared to that of a fastener. Cl When the assembly method of certain parts requires a special process even though the functionality of the part differs from that of a fastener. This is the case of the piston rings (1) and (2) on Figure l-(ieft) where the assembly method is similar to that of a snap ring. Cl When a part considered as a fastener has a different functionality. This is the case of the screw (1) on Figure 1-(right) following Wang and Ozsoy (1993) that is used as an axis of rotation.
Figure 1. Examples of various product The multi-agents system structure is described in Section 4. The object-oriented structure used in the system (Section 5) also allows the user to save and regenerate the structures of the various states. This allows, ftrstly, the application a posteriori of evaluation criteria of the generation of assembly sequences and, secondly, ensures an interface with a module that generates assembly resources in the case where this task is also defined a posteriori. To meet the objectives of using the proposed model, this study examined the various assembly stages and, for each stage, determined the type of features that must be generated by the system to assist the assembly planner. As mentioned earlier, non geometric features that are not directly supported by the solid modeler must be added during the product modeling stage. Figure 2 illustrates the role of SCAP as a support of the product modeling during the analysis of its assembly process. Such a role is provided through different functionalities which also lead to the generation of a multi-level product model based on the definition of models for different types of entities. As illustrated on Figure 2, these functionalities are related to three major tasks: Cl The definition of the hierarchical structure of the product which integrates the models of the components specified in their designated locations in the assembled state, Cl The modeling of liaisons at the level of contact sub-faces between parts in the assembled state. This task uses the topological and geometrical features of the parts and requires the user to specify the assembly process assigned to each pair of contact sub-faces, and Cl The recognition of component features pertaining to each state of the product. The system automatically deduces the features relative to an intermediate state by comparing its structure to the one of the assembled state.
The modeling approach that analyzes liaisons as the relations between components is also inadequate to support other activities related to the modeling approach, especially the dimensioning of the product (Ngoi and Tan, 1996), (Wang and Ozsoy, 1993) requiring that all contacts between mating features on parts be analyzed. Given the limits presented by the models cited, a system called SCAP (Systeme de Caracteristiques d'Assemblage de Produits - Product Assembly Features System) is used to support the various activities involved in assembly. Because of its more comprehensive approach, this system (Jabbour et aI., 1996a, 1996b, 1997, 1998), (Mascle et aI., 1997) both bridges the gap that exists in current CAD systems and prove valuable in the design of all-inclusive systems combining the various stages in the development of a product. It also differs from the studies mentioned above in two important aspects. First, as outlined in Section 2, the system is designed to let the user infer a complete set of technological and functional features that are not explicitly present in the geometric representation stemming from the solid modeler, but that are useful in supporting the product model. Second, it allows for product modeling at each step in the assembly process. The database structure defined in the SCAP system is based on a sequence structure (Section 3), which allows the user to integrate states into the product model and allows the system to automatically deduce
2. DETAILED ASSEMBLY MODELING In developing the SCAP system, however, the widest definition possible of assembly features was adopted (Jabbour et aI., 1998). To meet the objectives of this study, a hierarchical structure was first created ~n order to specify the features of individual parts m their designated locations in the assembled state.
420
topological data.The boundary representation model is appropriate for the determination of contact, grasping and positioning sub-faces; it is also very well suited for modeling liaisons. During the modeling stage, the user may also specify a set of non geometric data by means of four interactive modules that can be executed separately (Jabbour et aI., 1998). Liaisons are the most important features in a product because they are used to infer the assembly directions of parts and other features
Very high level languages for describing mechanical assembly require a representation of the geometric, the technological and the physical properties of a 3D objects. The B-Rep (Boundary Representation) model has proven to be especially advantageous in this context. For this reason we adopt a B-Rep model, which describes an object using all its faces, therefore creating the envelope, each face being limited by an edge loop. Two kinds of data can be observed: geometric data in the form of vertex coordinates, geometry of faces and equations of edges, and
CAD
Method engineer
CA
Product modeling
Definition of the hierarchical structure of the product
Support
U •
SCAP's { functionalities
-Base component selection, -Geometric consr ints
-Free sub-faces features (geometry, etc.), -Mounting conjugated features, -Component features
~
CAA
I
~
=Computer-Aided Assembly
Recognition of component features relative to states
-Accessibility, -Stability, -No. of reorientations. -Parallel assembly, -Grouping operations
'+ Evaluation of assembly sequences -cost
Assembly sequences
I
Modeling of liaisons at the level of contact sub-faces
-time Assembly stages
Figure 2. Role of SCAP in the assembly process.
mentioned above that play a major role in the generation and evaluation of assembly sequences.
In the SCAP system, processes are divided into two categories, according to the technique involved: I:J Processes leading to the creation of liaisons between parts because they involve thermal, chemical or mechanical energy (welding, glueing, tightening, keying, etc.), more explanations are in the precedent papers (Jabbour et aI., 1996a, 1996b, 1997, 1998), (Mascle et aI., 1997), and I:J Processes which cause a face to undergo some kind of processing, such as painting, cleaning, etc. I:J There are two groups of assembly processes: I:J The processes involving mechanical, electrical or mechanical energy without causing a deformation of the part or a change in position resulting from the prepositioning stage. This is the case for processes such as screwing, soldering, glueing and tightening. I:J The processes involving mechanical energy and causing a deformation of the part or a change in position resulting from the prepositioning stage. This is the case for processes such as crimping, riveting, c1ipsage, and attaching elastic rings (figure 4).
As mentioned in the introduction, in the SCAP system it is assumed that assembly operations consist of two stages. The first stage is referred to as the prepositioning stage and the second, the process stage, to differentiate between the state of parts before and after the application of a process (Jabbour et aI., 1998). The syntax for prepositioning, locking and functional liaisons between two sub-faces or two parts or subassembly and part used for the calculations is shown in figure 3. Various definitions was adopted to compute an assembly product (Jabbour et aI., 1998). The process of volume generation does not take into consideration the faces that are at the origin of the existence of a sub-face characterized by an assembly process that contributes to a deformation (such as crimping, c1ipsage, etc.). This same rule applies equally to each face declared to undergo a processing equivalent to an assembly process of the same type as those mentioned above.
421
3. AUTOMATIC GENERATION OF A NEW STATE
previously been made for the term "agent",to date, there has been no unanimous definition that has reached a majority consensus.
Figure 2 shows that the generation of assembly sequence is one of the stages supported by the SCAP system. To clearly illustrate the capability of the SCAP system to model a product at each stage in the assembly process, an interactive module was developed to allow the simulation of each stage, both for assembly and disassembly, with a procedure that automatically generates a new configuration of the product representing its state, according to user-stipulated specifications related to each assembly operation. These specifications concern the assembled or disassembled components, and the direction of assembly or disassembly of each component (Jabbour et aI., 1998). On the basis of the previous stage, the user may select any state of the product, schematize its structure (Figure 5) and examine the various features relative to that state. The user can also verify the accessibility to faces of the parts. To do so, the geometric shape, the position of the referential associated with the gripper and the assembly direction are used as input data. The system then checks for a possible collision between the gripper and other parts of the product. It can also examine the feasibility of a process such as welding, glueing, etc. The user can display the free parts of the faces (or free sub-faces) selected for grasping. For example, with respect to state (11), the system deduced on the piston subassembly the free subfaces. The validation for gripping was specified manually on the faces composing the external shell of each part of the subassembly.
Multi-agent is the general term given to a corollary that consists of several agents. That is, distributed agents solve problems collectively by making reciprocal actions, such as cooperating, balancing and compromising (Cavedon et al., 19%). In Engineering fields throughout the world, a number of recent attempts to apply such a system have proved successful (Zhang and Lukose, 19%). Here, we adapt the agent concept by using six basic characteristics: Autonomy, Social Ability, Reactivity, Pro-activeness, Openness and Growth. We define the agent as the mode of active-autonomy having the above characteristics (DeGuire, 1997). In order to certify the possibility and effectiveness of the multi-agent approach, a support system of structure process and ressources planning is introduced. This is based on the Database and Knowledge-base obtained externally. The multiagent structure that is proposed in this paper is following: each agent has its own knowledge and expertise that can be shared with other members. Thus, even though each agent has a very specific expertise, the society is able to perform complex tasks. A predetermined path is prescribed to the agent in order to get an answer; therefore, its autonomy is not total and the structure of the intentions to be solved are well known. In an advanced society however, we cannot predict which agent will have the desired expertise neither how this expertise will be provided. The facilitator agent is the pivot element of this structure; it deals with the expertise of each agent on its machine. The user agent acts as the interface between the user and the agents' society. The solutions agent receives the user's requests; then, it queries the facilitator to get the resources agent's address; with the latter, it checks if the resources used are able to manipulate the assembled component, taking into account the selected solutions. The assembly agent is then queried by the user agent for the time-dependent and economic availability of the resources.
Sub-face liaison: L"O!) x: f (face level)
Sub-face: SF(ij)
i: part number
y:
j: part sub-face number
=Functional = Prepositioning Pr = Process
{ F P
-c:
i : part number
k: sub-face number
Component liaison
(component L"j i-rest of product)
5. OBJECT-ORIENTED DATABASE STRUCTURE
LXy(ii)
(component i-corn ponent k )
x:
=component p = part SA =subassembly
{ C
{L
y: F P
A computer program developed on an HP700 workstation was used to build the model structure. It uses the ACIS solid modeler. It is produced as a library of ACIS modeler procedures written in the C++ language and is equipped with a graphic interface called 3D Tool Kit, which allows solid objects to be defined, handled and displayed. The objects themselves are stored using boundary representation. In order to create hislher own application, the user can use standard commands interpreted on 3D Tool Kit or develop a C'" code that accesses the ACIS library directly.
= Locking =Functional =Prepositioning
Figure3. Syntax of the equations. 4. MULTI-AGENTS SYSTEM STRUCTURE For the purpose of computer-aided assembly development, we adopted " Agent Skills". Subsequently, we define our concept of the " agent". Even though various definitions have
422
{ l '(")11.31
\- -_ ~b' Pseudo-matrlX relative to Ihe liaison process associated W Hh the sub-face
l'IP')t2,2f
l.,P,j(3.• j'
o 0 I1 '1J GO o1 0 0 [OOI1J o0 1 1 1 00 0
GOOOJ o0 1 1 o0 1 1
It/p'Ml,l!
[",OOj o o
l,/p,}{df
1
0 1 1 0 1 1
lrIP'HI1)
[OOOOJ 1111 1111
ltIP,)(2 1
L,(p'lcUT
[0 1 00 o0 1 1 o0 1 1
LIIPr )(21)
[OOOOJ 1111 1111
L'lP'Il1jf
LIIPrM2,2f
[ 'o 00 0 1 0J 1 o0 1 1
l'IP'II2.l1
L'f P'1l2,ij
Attachement of an elastic ring
Riveting
[
L,fP'HtlT
II' 00 1 I 1 0 1 IJ
•
00 1 I 00 I 1 1 0 00
o1
00 1 1 1 1
L'IPr)(UI
o 1 00
00 1 1 00 I 1 1 000
LrtPr)I"ij
10 11 00 1 1 10 11
[001 00 1 II o 1 00
l'IPrM2,i)
o1 1 I 00 1 1 o1 1 1
U
t""
L
tIP'HU)
00 I I 00 1 I
Crimping
o'000J 0 1 I o0 1
I
0100J o0 1 1 [ 00 1 1
C lipsage
Figure 4. Examples of processes from the second group an their PrPM. product, or the product itself, may be handled using the SCAP system. Therefore, a model is built to allow for a simulation of the main product's assembly process from the final assembly line to the sub-lines. Focusing on the capitalisation aspects, our model considers knowledge-based systems, which are dedicated to resolve specific problems. Our objective is to help actors, either to design or to manufacture, to identify and to resolve their problems making analogies with older experiences. 6. CONCLUSION The assembly model presented in this paper supports the design of a mechanical product, the automatic or aided determination of its sequences as well as the resources required for its mounting. The results obtained were encouraging. For the micro-engine tested (made of 15 parts involving 668 faces), it took the user approximately 30 minutes to interactively associate various non geometric features with the parts and their faces and identify the subassemblies. To model liaisons between components of the assembled state of a product, the system CPU took 112 seconds to automatically detect 36 contacts between faces, generate contact sub-faces, and model their liaisons. Once the features of the assembled state were determined, it took only seconds or even a fraction of a second to deduce the features relative to the intermediate states. The results clearly provethat we met the objective defined for the SCAP system. The model now needs to become part of the computer tools
Figure 5. Intermediate state (11) and free sub-faces on the piston subassembly. The user can also "extend ACIS", integrating other classes of objects that are not included in its node and creating customized commands on 3D Tool Kit. This model, built according to an object-oriented hierarchy, is deduced from the interaction of modules with themselves or with other classes of objects and attributes. The hierarchy is inferred from the set of concepts developed previously. Therefore, with each class of object, member functions are associated to return its own features. Each subassembly of the
423
Mascle, C, et all. (1997). Assembly features for mechanical product data. Proc. of the IEEE Int. Symposium on Assembly and Task Planning (ISATP'97). August 7-9, Marina Del Ray, CA, 218-223. Mattikalli, R., and Khosla, P. (1990). Subassembly identification and motion generation for assembly: a geometrical approach. Proc. of the IEEE Int. Con! on Syst. Eng., 399-403. Ngoi, B.K.A., and Tan, K.CK. (1996). Tolerance stack analysis for assembly. Journal of Eng. Manu!, Part B, 279-289. Pratt, M.J. (1996). Requirements analysis for an explicit constraints schema for STEP. Presented to the ISO TC1841SC4IWG3 N502. Rajan, V.N., and No£. S.Y. (1996). Minimal precedence constraints for integrated assembly and execution planning. IEEE Trans. on Robotics and Automation, 12(2), 175-186. Randall, H.W., and Latombe, J.-C (1994). Geometric reasonning about mechanical assembly. Art. Int~, 71, 371-396. Requicha, A.A.G., and Whalen, T.W. (1991). Representations for assemblies in computer-aided mechanical assembly planning, L. S. Homem de Mello and S. Lee Eds., Kluwer Academic Publishers, CA. Shah, J.J., and R. Tadepalli, R. (1992). Feature based assembly modelling. Computers in Engineering, I, 253260. Sodhi, R., and Turner, J.U. (1991). Representing tolerance and assembly information in a feature-based design environment. Proceedings of the 1991 ASME Design Automation Con!, 157-174. Turner, J.U., and Subramaniam (1992). Constraint representation and reduction in assembly modeling and analysis. IEEE Trans. on Robotics and Automation, 8(6), 741-750. Van Holland, W. and Bronsvoort (1996). Assembly features and sequence planning. Proc. of the 5th IFlP on Geometric Mod. in CAD. Venuvinod, P.K. (1993). Automated analysis of 3D polyhedral assemblies: assembly directions and sequences. Journal ofManufacturing Systems, 12(3), 246-252. Wang, N., and Ozsoy, T.M. (1993). Automatic generation of tolerance chains from mating relations represented in assembly models. Journal of Mechanical Design, 115, 757-76. Zhang, C, and Lukose, D. (1996). Multi-Agent Systems: Methodologies and Applications. Springer-Verlag.
designed to detennine planning sheets, grippers and fixtures as well as part of assembly stations and their manipulator. ACKNOWLEDGMENTS This work was supported by the Natural Sciences and Engineering Research Council of Canada. REFERENCES Anantha, R., et all (1996). Assembly modeling by geometric constraint satisfaction, Computer Aided-Design, 28(9), 707-722. Cavedon, L., et al. (Eds) (1996). Intelligent Agent Systems: Theoritical and Practical Issues. Springer-Verlag. Deguire, B., (1997). Etude des sytemes multi-agents pour la recherche de solutions d'assemblage. M. Se. A., Ecole Polytechnique de Montreal. De Fazio, T.L., et all., (1993). A prototype of feature-based design for assembly. J. of Mechanical Design, 115, 723734. Delchambre, A., (1992). An industrial prototype of knowledge-based assembly planner. Proc. of the IEEE Int. Con! on Robotics and Automation, 2404-2411. Gui, J.K., and Mantyla, M., (1994). Functional understanding of assembly modelling. Computer Aided Design, 26, 435-451. Henrioud, J.M., and Bourjault, A. (1992). Computer aided assembly process planning. Journal of Engineering Manu!, Part B, 206, 61-66. Henson, B.W., et all., (1993). Assembly representation within a product data framework. Proc. of the 19th ASME Design Aut. Con!. Albuquerque, NM, 195-205. Hoffman, R.L. (1990). Assembly planning for B-rep objects. Proc. ofRensselear's 2nd Int. conf on Cl. M. 314-319. Hoffman, R.L. (1989). Disassembly in a CSG domain. Proc. of the IEEE Int. Con! on Robotics and Automat. 210215. Homem De Mello, L.S., et al. (1990). Assembly sequence planning. AI Magazine, 11(1),62-81. Jabbour, T., et al. (l996a). Modelisation d'un mecanisme par entites d'assemblage. Proc. of the Symposium on Mechanics in Design, May 6-9, Toronto, 541-550. Jabbour, T., Mascle, C, and Maranzana, R. (1996b). Representation des caracteristiques d'assemblage d'un produit mecanique. Revue Int. de la CFAO et d'ln! Graphique. 5(11),545-566. Jabbour, T., Mascle, C, and Maranzana, R. (1998). A data base for the representation of assembly features in mechanical products. Int. J. of Comptutional Geometry & Applications, 8 (5&6), 483-508. Jabbour, T. (1997). Integration de modeles de caracteristiques a une modelisation geomerrique pour supporter I 'assemblage. These de doctorat, Ecole Polytechnique de Montreal. Kim, G.J., and Szykman S. (1995). Decision-based framework for exploring assembly configurations. CE95: Proc. of the 2nd Int. Con! on Concurrent Engineering, Res. and Appl., Mclean VA. Laperriere, L. (1991). Automatic generation of a robotic assembly sequence. Int. J. of Advanced Manufacturing Technology, 6(4), 299- 316. Lee, S., and Chunsik, Y. (1993). Subassembly stability and reorientation. Proc. of the IEEE Int. Con! on Robotics and Autom~, 521-526.
424