Knowledge intensive Petri net framework for concurrent intelligent design of automatic assembly systems

Knowledge intensive Petri net framework for concurrent intelligent design of automatic assembly systems

Robotics and Computer Integrated Manufacturing 17 (2001) 379–398 Knowledge intensive Petri net framework for concurrent intelligent design of automat...

1019KB Sizes 0 Downloads 42 Views

Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

Knowledge intensive Petri net framework for concurrent intelligent design of automatic assembly systems X.F. Zha*, H. Du, Y.E. Lim School of Mechanical and Production Engineering, Nanyang Technological University, 50 Nanyang Avenue, Nanyang 639798, Singapore Received 1 May 2000; received in revised form 1 February 2001; accepted 1 May 2001

Abstract The integration of design and planning of flexible assembly system has been recognized as a tool for achieving efficient assembly in a production environment that demands assembly with a high degree of flexibility. This paper proposes a concurrent intelligent approach and framework for the design of robotic flexible assembly systems. The principle of the proposed approach is based on the knowledge Petri net formalisms, incorporating Petri nets with more general problem-solving strategies in AI using knowledge-based system techniques. The complex assembly systems are modeled and analyzed by adopting a formal representation of the system dynamic behaviors through knowledge Petri net modeling from the specifications and the analysis of those models. A template is first defined for a knowledge Petri net model, and then the models for assembly system individuals are established in the form of instances of the template. The design of assembly systems is implemented through a knowledge Petri net-based function–behavior– structure model. The research results show that the proposed knowledge Petri net approach is applicable for design, simulation, analysis and evaluation, and even layout optimization of the flexible assembly system in an integrated intelligent environment. The integration of assembly design and planning process can help reduce the development time of assembly systems. r 2001 Elsevier Science Ltd. All rights reserved. Keywords: Knowledge-based system; Artificial intelligence; Design for assembly system; Assembly system modeling; Petri nets; Function–behavior– structure model; Integration; Robotic assembly

1. Introduction 1.1. Background A flexible assembly system (FAS) is a discrete event dynamic system that contains many discrete events such as part presentation, workpiece transfer, tool exchange, and part assembly. The flexibility is influenced by its capability of handling jobs of varying batch volume, products, assembly plans, and control adaptability. The design and planning of an assembly system leads to very difficult technical problems in which countless technological, functional and economical constraints with usually opposing goals must be considered [1]. The designer’s experience is a crucial portion of the information to be made available. Another part of the needed information is contained in the product design, and part of it is provided by suppliers of assembly *Corresponding author. E-mail address: [email protected] (X.F. Zha).

system components. Therefore, the integration of design and planning of flexible assembly system can reduce the manufacturing costs in product and process development. The complexity of design and planning processes makes necessary the use of computer aided tools to assist during the modeling of the system and in its simulation performance evaluation and analysis. In recent years, the development of an integrated intelligent approach for modeling, design and planning of flexible assembly system has been the focus of the FAS [2]. In the traditional assembly system design approaches, designers make the decisions at an early stage in the development cycle. The individual parts are then designed independently with little interaction, due to the lack of a unified representation, simulation, and synthesis framework. Modern mechanical systems and assemblies require a more flexible design strategy in which heterogeneous system components are designed in parallel using specialized models. The designer makes partitioning decisions after evaluating alternative structures with respect to function, performance, recurring

0736-5845/01/$ - see front matter r 2001 Elsevier Science Ltd. All rights reserved. PII: S 0 7 3 6 - 5 8 4 5 ( 0 1 ) 0 0 0 1 4 - X

380

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

development costs, reliability and maintenance, and even assembly plan programmability, etc. This strategy, called co-design in this paper, requires tools that support unified representation, heterogeneous models, simulation and synthesis. In practice, the design and planning processes of assembly systems should run in parallel and simultaneously with the analysis and possible redesign of both the product and the assembly process [42]. Therefore, a systematic method for the design of assembly system requires the concurrent integration of product-process-system design processes. In general, the design process of assembly systems can be divided into two steps. Within the first step the equipment has to be selected and arranged on the system. Therefore, various economic goals, generally mutually opposing, have to be considered and optimized simultaneously. In the second step, the planning result which is the assembly system layout has to be evaluated according to this multi-criterion’s system of goals. The design, planning and evaluation of assembly systems are very complex tasks. Heuristic methods for approximate solving of these problems are required. There have been many attempts focused on the development of knowledge-based design, planning and control tools for assembly systems. These knowledge-based methods or tools have been trying to solve the problems in modeling, analysis, and simulation of assembly systems using artificial intelligence representation techniques, such as frames and rules. Frames are used to represent domain objects and their relationships, but rules are used to represent objects’ behaviors. The obtained models are explicit, extensible, modifiable and autoexplicative. The use of a rule formalism allows an incremental approach to build up the system specifications. While its flexibility has been an important argument for the extensive use of this approach, it can lead to both an incomplete and inconsistent specification of the system behavior [3]. There are still left some specific dynamic aspects dealing with synchronization, concurrence, conflicts, deadlocks, etc., which are difficult to handle and verify. Although the graphic formalisms such as statechart, and modechart, extended state machines, and hierarchical multi-state abstract machine [4], for the precise executable specifications of behaviors of complex systems have received increasing attention in the literature, they have small possibilities to analyze system specifications formally. Petri nets, as an important analytical and modeling tool for the DEDS [5], have the capacity for the modeling and planning of FAS. The place, transition and token movement together provide the specification of resource constraints and graphical representation of serial and concurrent events for assembly systems. Petri net can overcome the problems stated above. However, the major difficulty with ordinary Petri nets is that industrial applications are likely to result in large

systems consisting of many places and transitions. Other shortcomings include the structural inflexibility, and the inability to identify individual tokens. In order to use Petri nets for modeling complex systems, several extensions to standard or ordinary Petri nets have been proposed with consideration of time, uncertainty, and knowledge information involved [6,7]. Petri nets possess the potentials to be integrated into an artificial intelligence (AI) framework. For unified knowledge representation using Petri net, a new extension of Petri net called knowledge Petri net was defined in [7], which incorporates the ordinary place/transition Petri net models into knowledge-based expert system through object-oriented programming techniques. The main motivation of this research is that the knowledge-based Petri nets are the perfect formalisms to specify both the system requirements and system architectures that must satisfy certain specified constraints. Moreover, the knowledge Petri net-based models and some results of Petri net theory allow us to experiment with specifications of requirements and architectures in an integrated intelligent environment. The aims of this paper is based on the knowledge Petri net formalisms to develop a concurrent intelligent design approach and framework for robotic flexible assembly system. The complex assembly systems are modeled by adopting a formal representation of the system dynamic behavior. The design of assembly systems is addressed by means of the knowledge Petri net formalisms from the specification and the analysis of those models. 1.2. Related work review From the literature review, there appears to be lack of useful methods to support the design and evaluation of assembly systems. This support is especially important when implementing assembly system design. There is also lack of work done on the application of artificial intelligence in assembly system layout/design [1] except in the aspects of assembly line balancing [8–11] and equipment selection [3,12–16]. The implementation of an advanced flexible assembly system has been seen as the solution to creating efficient assembly in a production environment that demands assembly with a high degree of flexibility. The technology for flexible automated assembly systems has been available for nearly a decade even though the acceptance and use in industry have been limited. Many research activities have been focused on the design of specific technologies (e.g. feeder, gripper, etc.), the determination of feasible technologies for the design of flexible assembly systems or the development of production, planning and control tools (e.g. scheduling and inventory control algorithms). For example, Boubekri and Nagaraj [12] developed an integrated approach for the selection and design of assembly systems. Offodile [3]

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

developed an expert system for the selection of robots to perform flexible assembly. Pham and Yeo [15] developed an expert system for the selection of feasible grippers for a given robot application. Browne et al. [16] designed a process planning system for the selection of robots, feeder and grippers for flexible assembly. A model for evolutionary implementation of efficient assembly systems was proposed by Rampersad [13,14]. The required research is to present a systematic and practical methodology and develop an expert system for recommending specific feeding and grasping technologies for every part of the product to be assembled and system layout. But very little has been reported on the design of flexible assembly systems and system layout. There have been many reports of Petri nets applications in the representation, analysis and control of FMS/FAS [17–22]. Petri nets have been used to model robotic or assembly processes so that a sequence of operations is generated based on the Petri net model. In [23], a plan generating tool for robotic applications using Pr/T nets [24,25] is described. This tool is based on modeling STRIPS-like rules by Pr/T nets and then the T-invariant method of the Pr/T nets is utilized to generate robot plans. However, this approach still stays in domain-independent formalism and the applications are limited to blocks world. On the other hand, many attempts have also been made to extend and modify conventional Petri nets to enhance their modeling power for assembly systems. This resulted in net variations such as colored Petri nets, control nets, timed Petri nets, and object Petri nets [6,26,27]. There is still an absence of a unified knowledge-based representational scheme in the existing approaches to handle the different facets of assembly logic, such as the more abstract assembly plans, the throughput measures (e.g. total assembly time), and lower control levels. To overcome the drawbacks of the usual Petri net-based approaches, the author proposed an integrated knowledge-based Petri net approach for intelligent flexible assembly planning, which incorporates an extension of the ordinary Petri nets into a knowledge-based (expert) system and integrates with an assembly sequence generation algorithm [2,28]. Simulation may be used to verify and visualize the execution of the assembly process and the effectiveness of all functions for an assembly system and assembly plans. Assembly system simulation includes numerical calculation and visualization of assembly process and line balancing, and the graphical simulation and animation of the assembly system, workplace layout, and the assembling operations. Petri nets and their extensions have been widely used for the modeling, planning and simulation of flexible manufacturing systems. They are suitable for the assembly task analysis, assembly processing modeling, planning and

381

simulation of all types of automatic and flexible (robot) assembly methods [2,7,29,30]. 1.3. Methodology for concurrent design of assembly systems The assembly system design process should run in parallel and simultaneously with the analysis and possible redesign of both the product and the assembly process. In general, both the local and global issues should be considered in the design of an assembly system [31]. The local issues are primarily technical, including the basic factors: capacity planning (e.g. required number of units/year), resource choice (e.g. assembly method selection, equipment choice), traditional part-mating, assembly sequence, task assignment, system layout, workstation design, material handling and work transport, part feeding and presentation, and line balancing. The global issues are primarily economical, and concern the management criteria on cost and productivity, interface to factory, failure modes, space requirements, labor needs, quality, economic analysis. Traditionally, assembly system design was focused only on meeting the local requirements of system. For a robotic assembly system, these requirements can be generally classified into system requirements, product requirements, and robot requirements. Recently, there are some efforts reported on the implementation of different aspects of concurrent engineering in product, process and manufacturing system design [32]. A multi-agent framework facilitating concurrent product design and planning that draws on design-team behavior in different domains was proposed in [33]. A concurrent engineering framework based on heterogeneous multi-agent planning environment for concurrent design, manufacturability analysis, process planning, routing and scheduling was reported in [34]. In [31], the author proposed an expert system for concurrent product design and assembly system planning based on an agent-based framework with concurrent integration of multiple cooperative knowledge sources and software. In this paper, based on our previous work in [2,7,28,31], a systematic co-design approach is proposed for concurrent intelligent design of automatic assembly system. The approach as shown in Fig. 1 is based on the knowledge Petri net formalisms, which implements the integration of product-process-system design procedures. The knowledge Petri net formalisms have been employed for mechanical systems and assemblies modeling and design, and process planning and design [2,7,28]. Therefore, the focus of this paper is on the knowledge Petri net formalisms for assembly system design. The proposed approach considers both the local and global requirements concurrently. Details will be discussed in the following sections.

382

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

Fig. 1. Concurrent product, process and assembly system design.

The organization of this paper is as follows. Section 2 gives the definition and description of knowledge based Petri net models; Section 3 discusses knowledge Petri net-based assembly system modeling and analysis; Section 4 presents a knowledge Petri net-based function–behavior–structure model for assembly system design; Section 5 is for discussing the design implementation strategy and process for robotic assembly system design; Section 6 deals with the assembly system design simulation and evaluation; Section 7 summarizes the research findings and suggests areas for future research work.

2. Knowledge intensive Petri net models By incorporating the ordinary place/transition Petri net model into a knowledge-based system through object-oriented programming techniques, a knowledge embedded Petri net model [2] can be defined as, KPN ¼ ðP; T; I; O; M0 ; KÞ; where, ðP; T; I; OÞ is a finite Petri net. K ¼ KP ,KT ; where, KP : P-KðPÞ is the mapping from place set P to place knowledge set KðPÞ: KT : T-KðTÞ is the mapping from transition set T to transition knowledge set KðTÞ: KðpÞ and KðtÞ are the sets of knowledge associated transition S with place pAP and S n tAT; i.e., KðPÞ ¼ m Kðp Þ and KðTÞ ¼ i i¼0 j¼0 Kðtj Þ respectively. P is a finite set of places which may be decomposed into two subsets: P ¼ NP ,CP ; consisting

of a set of normal places and/or a set of flow-control places ðPC Þ; respectively. T is a finite set of transitions which may be decomposed into two types: T ¼ NT ,TT ; consisting of a set of normal transitions and/ or a set of transferring function transitions, for instance, thresholding function, e.g., time delay ðTd Þ; respectively. Therefore, the KPN model can be regarded as a combination of two aspects: net graph and knowledge annotations. Similar to the ordinary P/T net graph, a KPN graph is a graphic representation of knowledgebased structure and visualizes the reasoning rules. The knowledge annotations are composed by the place knowledge annotations and the transition knowledge annotations, i.e., KðPÞ and KðTÞ: The place knowledge is the descriptive knowledge corresponding to the tokens and facts of the place. The transition knowledge is the rule knowledge corresponding to the state transitions and firing conditions (e.g. firing rules). There are some methods for knowledge representation in AI such as proposition logic, attributes list, semantic network, frame, and If-Then production rule, and object orientation, which can be used to represent the knowledge in KðPÞ and KðTÞ: A template for knowledge annotations in knowledge Petri nets can be defined based on object orientated knowledge representation [35]. A general problem can be expressed by a 3-element ðX; f ; RÞ; where, X is a set of the variables; f ð Þ are the attributes of variables, expressed by the functions f : X-Y; where Y is a multi-dimensional space;

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

R denotes the topologies on the set of the variables [36]. From the Petri net notation above, the correspondences between the knowledge Petri net and the general description of a problem can be described as follows: X2fP; Tg; R2fI; Og; f 2fKP ; KT ; M0 g: Thus, knowledge Petri net modeling can be considered to be equivalent to general problem solving strategies in AI. As such, the knowledge annotations of KPN enlarge the representation ranges and contents of its net graph. These knowledge annotations can be organized into a knowledge base and an inference engine, and KPN is therefore a knowledge-based expert system [35]. In practice, by knowledge Petri net modeling, it means that a knowledge Petri net model for a problem is first described as a kind of ‘‘template’’, and the model for the particular subproblems is then established as an instance of the template. Thus, various forms of knowledge Petri nets can actually be obtained by further extending or modifying the places or transitions of the knowledge Petri nets. For instance, the extensions of places and transitions in this research are for FAS modeling and analysis, function–behavior–structure-model-based design, and simulation and evaluation of FAS, which will be discussed below. The definitions and instantiation of these extended forms of knowledge Petri nets are derived using the object-oriented concepts and techniques.

3. FAS modeling and analysis with knowledge Petri nets It is known that the dynamic behaviors of FMS/FAS can be modeled by a Petri net [35,37,43–53]. During the assembly system development process, the description of FMS is completed by specifying the connections between resources, and merging behavioral rules between interconnected resources, synchronizing transitions from the Petri net viewpoint. Therefore, the procedures for concurrent modeling and analysis of assembly systems can be outlined as [35]: (i) model abstraction and specification for isolated entities; (ii) merging isolated entities to create a complete model; (iii) inclusion of job or operation priority rules (e.g. process plan constraints [17]); and (iv) model verification and validation. Following these steps, the designer can use the rule-Petri net integration approach [17] to creating the Petri nets for FAS. In this section, the so-called knowledge Petri net model for a FMS is developed. We will first discuss the high-level abstraction for FAS modeling, and then discuss how to generate and validate the knowledge Petri net models for FAS. 3.1. Hierarchical level abstraction for FAS Due to the complexity of system design processes there is a need for a mechanism and a technique, able to create a pertinent model and to validate a new design of

383

a system before implementing it. The mechanism for creating pertinent models of a system is multi-level abstraction. The main goal of higher level abstraction is to represent lower-level fundamental system concepts. To illustrate the abstraction for modeling, a flexible manufacturing system shown in Fig. 2a is taken as an example. From a high-level view, it can be seen as constructed from several concurrently operating modules, for example, machining cells MC1-MC3, assembly cells AC1-AC2, supply and shipping modules which are used to store materials and proceeded parts. In addition, a supervisory control must keep tracks of the cooperation of all modules in the manufacturing system. However, seen from a lower level view, each module is constructed from a number of basic components which can perform some specific functions, for example, robot, conveyor, as shown in Fig. 2b. Each module has a specialized digital controller for controlling the communication with the environment and to instruct the components of the module. Fig. 3 shows a typical structure configuration of a FAS which will be used as a case study in this research. The cell is composed by two machines for assembly station (AS) and buffer station (BS), a random-access input store (IS), a random-access output store (OS) and a robot (R) for palleting. During the technological process in the cell considered, a part waiting on conveyor CV1 is picked up by a robot and placed in the buffer station, assembly is performed by robot in the assembly station. After completion of the operation, the part is taken by robot and placed on conveyor CV2. When abstracting from the internal actions of a module, it is possible to determine its external behavior. At the high-level view, only the particular functions which perform the module and the information which enter or leave the module on this level are interested. But at the low-level view, the attention is only payed to the commands given for the lower-level modules to perform a number of their particular functions and the statusreports sent back. These two simple level views on a complex system expressed above, can be refined into multi-layered hierarchical models by using the modular/ compositional approach. 3.2. Generation of knowledge Petri net model for FAS As described above, it is essential to have a modular/ compositional approach for the Petri net-based modeling and analysis [55]: (i) A complex system model under the form of a huge Petri net graph is illegible and frequently cannot be analyzed; (ii) As the consequences of each constraint are analyzed, they have to be modeled independently. Thus, each synchronization constraint can be denoted by a clearly defined parameterized template. The overall model is then built by merging transitions in all Petri net templates.

384

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

Fig. 2. Hierarchical view of a manufacturing system.

Based on the analysis of FAS variables and the knowledge annotation template [35], each individual or class of assembly entities (products, machines, stores, transport devices, etc.) can be represented by objects in generating the FAS Petri net model. For example, the structural knowledge representation for dynamic object ‘‘machine’’ can be described as a frame [17]: {Object machine is-a: active manufacturing resource in-process: ;state attributes available-capacity: has-resources: resource-of: pending-operations: statistics: ; collected data

set-up: ;physical parameters start-time: average-processing-time: } In the definition, the object machine has relations locating that entity in the abstraction hierarchy within the system model. It has slots to store predicted information as values defined above. For example, the slot values, available-capacity and pending-operations, may be used by the scheduler; the information functioning statistics is saved for data collection; and the physical parameters such as set up and processing times and procedures may be described for process evaluation and/or control software testing. In addition, there are two special state slots, in-process and available-capacity are to store and indicate state information.

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

385

Fig. 3. Flexible assembly cell.

Thus, machine object can be incrementally specialized and then instantiated. For instance, if object A is defined as an instance of machine, B will inherit its attributes, relations, default values and methods. The values contained in the slots can make reference to other objects, for example, if slot in-process in A contains value P means that ‘‘part P is in process in machine A’’. Each state slot can be mapped into a distinct Petri net place using the rule-Petri net integration approach in [17] while generating the knowledge Petri nets. The knowledge in places is then determined by the objects stored in the state slots and specified by containing the slots to specific object classes. Working with discrete dynamic systems of a FAS, the system action rules which some states serve as preconditions are frequently used. The firing of the rule produces the transition of previous states to new different ones. To specify this behavior within the rules, the designer must explicitly specify the elimination of the facts, representing previous states from the knowledge base. Activity rules defining state transitions from system specifications are mapped into Petri net arcs and transitions. Left-hand side part of the rule represents enabling pre conditions and right-hand side part represents causal implications or post conditions. 3.3. Validation of knowledge Petri net model for FAS The generation of knowledge Petri net presented above constitutes the first step in the modeling or design process. Nevertheless, the use of generic objects can imply the generation of underconstrained models. The designer may be interested in the behavioral restriction of the manufacturing system, forcing the model to work following specific control policies. On the other hand, this modeling by refinement process becomes difficult

and unmanageable when the model reaches some complexity. Problems such as inconsistencies or redundancies, difficulties to understand and verify model behavior are likely to appear [17]. Using the defined knowledge Petri net, the basic knowledge is represented by object-orientated knowledge annotations. The designer can easily assemble or operate these knowledge by using both object orientation techniques and Petri net operations rules (addition/ substration, merging, decomposition, and refinement, modular/compositional). In this sense, the purpose of the knowledge Petri net modeling is also used to help the designer to check the knowledge base for existing and potential problems as it is being developed. The knowledge Petri net-based FAS system models, created by the designer, have an embedded Petri net which can be in turn represented in algebraic terms. This duplicity facilitates the combined use of AI system development tools and analytical methods to assist during the construction and validation of the knowledge-based system model. 3.4. Analysis of knowledge Petri net model for FAS The analysis for assembling system is based on the consideration of all possible states of a system, as well as of the transitions between them. Structural analysis can be used for a certain uncovering of structure- and function faults in quality, not only by means of results from simulation in quantity. Such faults may be: locks and jams; dead substructures; conflicts; oversized capacities; occurring of malfunctions and prohibited states; and desired function cannot be achieved. On the other hand, the general approach to behavior analysis is based on the performance analysis of the assembly cell under a set of constraints. The objective is the

386

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

characterization of the consequences of the main architectural choices with respect to efficiency and flexibility criteria. Conventional system development process is based on the use of different techniques for Table 1 Possible states of each entity in the cell Resources

Slot values

Explanations

IS

stored-jobs ¼ jobs

Identifies the jobs stored in IS

OS

stored-jobs ¼ jobs

Identifies the jobs stored in OS

AS,BS

available-capacity ¼ on; off

Capacity available in machines Jobs in-process in a machine

in-process

R

hand-empty ¼ on; off hand busy ¼ jobs

State of the robot’s hand Jobs in the robot hand

different steps of the system development. The approach to behavior analysis in this paper is characterized by using a unified knowledge Petri net technique for this goal. For example, based on Petri net models, the characteristics may be described and examined by the reachability graph analysis. Thus, locks, forbidden states, dead substructures and the maximum utilization of queues may be discovered. 3.5. Illustration for modeling and analysis of assembly systems To illustrate the procedures of knowledge Petri netbased modeling and analysis, the assembly cell shown in Fig. 3 is used as an example. The possible states of each entity included in the cell, can be defined and represented by state slots and values as shown in Table 1, where, on and off are represented by means of a binary state and jobs ¼ fset of job instancesg are the entities which flow through the net and they have relations with machines and products. Once the states and their values are defined, the behavior rules can be derived. Table 2 shows

Table 2 Sample rules used for modeling and analysis of the cell No.

Rule name

Rule display

1 2 3 4 5 6 7

AS-Load AS-Unload R-Hold R-Release IS-Leave OS-Leave AS-R-Load

8

AS-R-Unloadð0Þ

9

IS-R-Leaveð0Þ

10

IS-R-Leaveð1Þ

11

AS-R-Unloadð1Þ

12

AS-R-Unloadð2Þ

13

AS-R-Unloadð3Þ

...

...

(AS.available-capacity ¼ on) Then( AS.inprocess ¼ oobj >) (AS.inprocessoobj >) Then (AS.available-capacity ¼ on) (R.hand-empty ¼ on) Then (R.hand-empty ¼ oobj >) (R.hand-busy ¼ oobj >) Then (R.hand-empty ¼ on) (IS.stored-jobs ¼ oobj >) Then (...) (...) Then (OS.stored-jobs ¼ oobj >) (AS.available-capacity ¼ on) & (R.hand-busy ¼ oobj >) & (check oobj > machine ¼ omach >Þ & ðomach >¼ AS) Then (AS.inprocess ¼ oobj >) (R.hand-empty ¼ on) If (AS.inprocessoobj >Þ & ðcheckoobj > :netx-job ¼ onext >) & (R.hand-empty ¼ on) Then (AS.available-capacity ¼ on) (R.hand-busy ¼ onetx >) If (IS stored-jobs ¼ oobj >) & (check oobj > machine ¼ omach >) & (R.hand-empty ¼ on) Then (R.hand-busy ¼ oobj >) If (IS stored-jobs ¼ oobj >) & (check oobj > machine ¼ omach >) & (R.hand-empty ¼ on) & (R.permission ¼ omach >) Then (R.hand-busy ¼ oobj >) If (AS.inprocess ¼ oobj >) & (check oobj > next-job ¼ onext >) & (R.hand-empty ¼ on) Then (AS.available-capacity ¼ on) (R.hand-busy ¼ onext >) (R.permission ¼ AS) If (AS.inprocess ¼ oobj >) & (check oobj > next-job ¼ onext >) & (check onext > machine ¼ BS) & (R.hand-empty ¼ on) & (R.hand-empty ¼ on) Then (AS.available-capacity ¼ on) (R.hand-busy ¼ onext >) (R.permission ¼ AS) If (AS.inprocess ¼ oobj >) & (check oobj > next-job ¼ onext >) & (check onext > machineo >BS) & (R.permission ¼ BS) & (R.hand-empty ¼ on) Then (AS.available-capacity ¼ on) (R.hand-busy ¼ onext >) (R.permission ¼ AS) ... If If If If If If If

387

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

partial behavior rules for the robotic assembly cell [17]. Considering the transition rules, there are two possible transitions described for machine AS and/or BS, ASLoad and AS-Unload, as follows: (i) AS-Load loads a job to be processed in machine AS if that machine was previously available, and (ii) AS-Unload unloads a job from machine AS which becomes available. These rules are used for the isolated resources of AS and BS and would be translated into Petri net transitions. The procedure of adding to behavior rules for each entity is continued until the designer feels its description is complete. The robot is used to feed AS, which implies the synchronization between actions AS-Load from AS and R-Release from the robot. It means that preconditions in rule AS-Load must be further constrained with preconditions in rule R-Release. With this specifications, any job can be processed in particular machines by specifying such a kind of knowledge as an attribute of the jobs and then adding it to the new rule as a constraint. Suppose that the cell be used to assemble three parts o1 ; o2 and o3 : Based on the work in [2,28,40,54], a further detailed assembly task plans for the robot to assemble the product can be obtained. Assembling o1 has to perform an operation a in the cell, whereas assembling o2 performs an operation b in the cell. Two subsequence of operations to be carried out on part o3 is: c1 and then c2 : The operations a and c1 must be carried out by AS, while the operations b and c2 must be carried out in BS. The assembled product finishes with a stored operation c3 in OS. This formulates assembly constraints for the cell controller to control the assembly process. Introducing the assembly process constraints above, an additional attribute, next-job, in the job object, can be added to indicate the relation between one job in a product has a process plan represented by the three sequential jobs: c1 -c2 -c3 : This process can be

represented by means of three objects [17]:

fObject1 c1 is-a: job machine: AS product: o3 next-job: c2 }

f Object2 c2 is-a: job machine: BS product: o3 next-job: c3 g

fObject3 c3 is-a: job machine: OS product: o3 next-job:g

Therefore, the relation next-job can be used in the conditions of the behavioral rules. For example, in order to include process plan constraints we can modify rule AS-R-Unload by accessing to the information of the next job (see Table 2). The firing of the rule implies a change in the status of the machine and robot as happened with the previous rule, but also a part is advanced to the next job in its process plan. Fig. 4 shows a complete Petri net model structure for the above assembly cell. It illustrates the information flow among resources and provides a graphical representation of resource and process constraints and makes synchronization activities more explicit. Once the specification rules are introduced the analysis process for the above cell and model can be started. Through analysis, it is detected that the system has deadlocks. The designer must then establish the adequate control policy to avoid such deadlocks until no deadlock occurs any more [35].

4. Function–behavior–structure model for assembly systems The function–behavior–structure (FBS) model is widely used for the design of mechanical systems and

Fig. 4. Knowledge Petri net model with process constraints.

388

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

assemblies in [7,38]. In this section, the flexible automated assembly system is modeled and analyzed in terms of function–behavior–structure (architecture) (FBS) model using the knowledge Petri net models. 4.1. Functional model of assembly systems The function-oriented model describes the external behavior of a system. The specification of function model is based on the requirements analysis in the system development process. The building process is started with an incomplete description of the functionality of the assembly cell. Based on the work in [39], a tuple of assembly system functions can be defined for the system shown in Fig. 3, as SYS ¼ ðPF; IOF; RFÞ; where, PF stands for three basic production functions, PF ¼ fMove-Forward; Perform; Move-Back g; IOF stands for four input/output functions, IOF ¼ fRequest; BS-In; BS-Out; Answer g; and RF stands for three resources for functions, RF ¼ fRobot; AS; BSg: The interpreted function INF is defined from knowledge Petri nets into a tuple of system functions SYS, which maps to each transition with only one element of PF, and to each place with only one element of IOF or RF. Thus, an executable functional model is constructed. In this model, the following three different kinds of knowledge that the token can carry are declared to distinguish the performed parts: (i) a knowledge set Part ¼ fP1; P2; P3g that the interpreted function INF maps to three different parts; (ii) a knowledge set Mode ¼ fBT; AT; BP; APg that the interpreted function INF maps to the mode of parts, where, BT-Before Transport, AT-After Transport, BP- Before Perform, and AP-After Perform; and (iii) a knowledge set Token as an instance of the basic data type unit with only one element that the interpreted function INF maps to the state of resources. Fig. 5 is an instance of a functional model of the assembly cell, its tokens move like in any conventional Petri net.

Fig. 5. Functional model of the assembly cell.

4.2. Structure model of assembly systems The structure model of the assembly cell shows the configuration of the cell modules, the interconnection between the cell modules, and consider the real-time constraints [39]. It is derived from the functional model by applying design criteria that map the functional requirements into architectures. For the assembly cell in Fig. 3, two main modules of the cell, Robot R and AS machine, can be defined. Their KPN models can be built from functional model, technical restrictions, and timing constraints. Based on the functional model in Fig. 5, both transportation functions (Move-Forward, MoveBack) are accomplished by robot R. The operations can then be divided into F type and B type, respectively. The production function (Perform) is accomplished by one AS machine, which makes two different types of operations as O1 -O2 -O3 and O4 -O5 -O6 ; respectively. As such, a tuple of system functions can be defined as SYS0 ¼ ðR; AS; CÞ; where R ¼ fF1 ; F2 ; F3 ; B1 ; B2 ; B3 g and AS ¼ fO1 ; O2 ; O3 ; O4 ; O5 ; O6 ; Eg; and a set C ¼ fC1 ; C2 g is used to define the communication channels. Thus, the interpreted function INF maps each transition on only one element of R or AS, and each place on only one element of C. The structure model of the assembly cell is shown in Fig. 6. The hierarchy structure in Fig. 6a is depicted on the so-called hierarchy level, where all levels of the model appear as nodes and the dependencies are represented by arcs. But Fig. 6b and c represent the details of robot R and AS machine, respectively. 4.3. Behavior model and performance of assembly systems The behavior model for assembly systems is characterized by using the knowledge Petri net shown in Fig. 6. Each operation can take zero, one, or more time units. Given operations transitions, two different conditions can be introduced for firing the transitions, triggering conditions and lower/upper bound conditions. The triggering conditions are interpreted by a guard. The lower/upper bound conditions denoting lower/upper bound restrictions are of the form ðr; dÞ; where r is a non-negative integer denoting a delay, and d is a non-negative integer denoting deadline. If a lower/upper bound is specified as the condition for a transition, the transition can be taken after r time units and before d time units has elapsed since entering the transition. The deadline is determined by the difference between the time stamps of the tokens of output and input places of the transition. The time stamp of the token describes the earliest time at which the token can removed from the place. For example, the transition F1 has the triggering condition, denoted by guard [(F,BT)], which requires that the deadline for transition d is 0. On the other hand, the transition F2

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

389

Fig. 6. Structure model of the assembly cell.

has the lower/upper bound condition with delay r and deadline d time units. However, the performance of the system depends heavily on the product mix to be simultaneously assembled, an assignment of assembly tasks to assembly stations, a set of precedence relations among the tasks (i.e., assembly sequences) selected for the products, and on detailed assembly schedule for all products. Based on the knowledge Petri net model, all possible assembly plans for part or operation can be obtained, but only one is best or optimal in [28,40]. A lot of criteria such as time, cost, number of steps can be used to evaluate the assembly sequence. For simplicity, the total assembly time can be considered as an evaluation index for assembly sequence. For the assembly system, the technical and economic criteria are related. The expected system property is in accordance with the computed productivity index [40]. With reference to [13], the following concepts and variables can be defined: cell capacity Cap ; average cycle time per assembly Tac ; and availability A; which are related to the number of produced assemblies Ni ; the proportion vi of the total annual production volume taken by assembly variant i; operational time Top ; total available time Ttot ; system setup time Tsetup ; process

failure time Tpf ; system failure time Tsf ; jamming time Tjam ; composing failure time Tcf ; etc. The relationships between these variables are described as Ni ¼ Cap Avi ; Cap ¼ A¼

Ttot ; Tac

Top ; Ttot

ð1Þ ð2Þ ð3Þ

Top ¼ Ttot  Tsetup  Tpf  Tsf ;

ð4Þ

Tpf ¼ Tjam þ Tcf :

ð5Þ

The productivity index (PI) can be defined as follows [13]: PN p OP i¼1 Pvi Nai PI ¼ ¼ ; ð6Þ IP Cla þ Ccap þ Cma þ Cm where, OP is the system output, IP is the system input entailing the assembly costs which are made during 1 year to acquire a certain output, Pvi is the production value per acceptable assembly variant i; Nai is the number of acceptable assemblies of variant i which are produced annually, and Np is the number of products or assembly variants; Cla is the sum of labor costs, Ccap is

390

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

capital costs, Cma is material costs, and Cm is miscellaneous costs. The index number is a measure for the performance of a design alternative, and it plays a key role in the development and evaluation of alternative system structures. A design alternative is economically unprofitable if PI is smaller than 1. The system concept with highest PI ð> 1) is considered for further detailing. If the PI of all design alternatives is smaller than 1, the decision needs to be made for redesigning the conceptual system, or reviewing the chosen assembly method. In the following sections, the determination of various design alternatives with the aid of computer simulations will be discussed in detail.

5. Design implementation for robotic assembly systems The assembly system design implementation means the composition of a new assembly system based, in particular, on well-known modular components. It is a transformation from the specifications and function– structure models discussed above to a specific spatially defined model. The analytic–systematic Petri net methods for mechanical systems and assemblies modeling are characterized by thinking in functions [7]. They are applicable for the analysis and systematic description of a design problem, followed by the development of alternative solutions for subproblems. In this section, the approach proposed in [7] will be employed for the design of robotic assembly systems. 5.1. Functional analysis and decomposition Functional analysis starts with the development of a function structure of the system. The function structure describes the functions within the entire system and its components, and it displays their relationships. Based on the function–behavior–structure model discussed above, the function structure is therefore a model of the system to be developed, which indicates what subfunctions must be realized by the system components so that the system function can be fulfilled. The development of the system structure is characterized by the simultaneous analysis and optimization of the product and process design [40], in conjunction with the determination of the proper assembly strategy [13]. To clarify the synthesis process, an overview of the physical function structure of robotic assembly systems is given in Fig. 7. The other included subfunctions, such as ‘‘process control’’, ‘‘system programming’’, and ‘‘personnel safety’’, should be considered further in the detailing of the final system structure. In this research, the Petri net-based functional analysis and decomposition method is utilized to analyze and decompose the overall function for automatic assembly process so that

the relationships between subfunctions are derived. Fig. 8 shows a function decomposition process based on the Petri net representation. 5.2. Design prototypes for robotic assembly systems Before going more deeply into the composition of the various design alternatives, the system prototypes or components are first discussed. The morphological method can be used to find all possible solutions to a design problem. To this end, all theoretically possible system components are contemplated which can fulfill these subfunctions. The concrete system components per subfunction are shown on the so-called morphological chart [13]. The selection of the components depends heavily on the assembly strategies. The concrete components for building robotic assembly system are described briefly per subfunction as follows: *

*

*

*

*

Transport: index transfer, power-and-free transfer,transportation belts, robotic transport, and AGV transport, etc. Handling: industrial robots (SCARA, PUMA, X–Y– Z robot), gripper (fixed gripper, multi-functional gripper, multi-gripper, gripper/tool change system, finger change system and universal gripper) Feeding: circular vibratory feeder, multi-functional double-belt feeder, stack magazine, pallet, kit and feeding by a ribbon Checking: manual checking, vision checking and electrical measuring Composing (Mating): screw-driver, gripper, etc.

In the implementation of robotic design system, two libraries are established based on the work in [12,13]. One is the functional object library which stores the data of many subfunctions and their associated physical substructures (both prototypes and embodiments). The morphological chart in [13] is digitized and included in this library. The other is the physical phenomena library which explores the physical interactions or the causality between the sub-behaviors. By use of physical phenomena library, the unknown sub-functions or subbehaviors can be extracted from the known subfunctions or sub-behaviors. It also facilitates the process of function decomposition. By use of functional object library, the generation of alternative system structures can be reasoned out from the mapping of function to structure. 5.3. Generation of alternative system structures Similar to the product design process, a large number of new system structure alternatives can be created at the conceptual design stage, by ordering subfunctions and system components, in conjunction with the analysis and optimization of the earlier mentioned

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

391

Fig. 7. Functional structure of robotic assembly systems.

product and process variables, and on the basis of the production characteristics (such as batch sizes, number of product variant, production volumes) [40]. These system structures are developed by choosing one or more components per subfunction. The mapping from the function to structure method makes the development of alternative conceptual systems primarily a process of systematically and creatively combing standard and modular system components. After sub-structures or components are configured into overall function structure, the object-oriented featured parameters CAD system in RAPID Assembly can be used to finish the detailed system layout and design based on the relationships between sub-structures or components library discussed above, geometric entities, and feature information. To illustrate the design process, a micro optic lens assembly shown in Fig. 9, is assumed to be carried out on the flexible assembly cell in Fig. 3. The functional model and architecture model of this cell were shown in Figs. 5 and 6, respectively. Using the above design process, four system structures are obtained for micro optic lens assembly in small batches

and sub-batches (between 10 and 2000) and in production volumes which are common in robotic assembly [40]. A typical structure is shown in Fig. 10.

6. Simulation and evaluation for robotic assembly systems Due to the complexity of robotic assembly systems, the computer simulation is indispensable, which carries out the analysis of the system performance to allow assessment of the properties of the conceptual system design, that is, simulating the behavior of conceptualized assembly systems with the aid of computer. The simulation experiments aim primarily to determine the productivity index of the conceptualized assembly systems. This information is crucial for both comparison of the expected system properties with desired system properties, and in the selection of the most optimal system structure. In the development of the simulation model, the following steps can be distinguished: (i) defining the model of the assembly system and the

392

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

Fig. 8. Petri net function decomposition.

Fig. 9. Micro optic lens product assembly.

performance index; (ii) collecting the necessary data; (iii) designing and programming the model; (iv) validating the model; and (v) carrying out simulation experiments and interpreting the results. In this section, the developed system structures of the micro optic lens are used to illustrate the above steps [40].

6.1. Knowledge Petri net simulation model The designing and programming of the simulation model entail the definition of possible system states and the description of behavior model. In general, there are three types of descriptions which can be distinguished [13]: event, activity, and process. Event description is to describe all changes of the system states at the moments

Fig. 10. System structure for optic lens.

that certain events can take place. Activity description is to describe the activities (operations/actions) which can take place in the system, and the related conditions must be met to carry out the activity. Process description is on the description of the changes of system states on the

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

basis of both the activities which can be performed by the components of the same class, and the interactions with other components. To design and program the knowledge petri net based simulation model, the discrete simulation tool, POSES þ þ (an executable specification tool based on Pr/T nets) [41], is used. 6.1.1. Design of simulation model The simulation model is developed with the building blocks of POSES++, to quantify the performance index of robotic assembly cell. In practice, the system model can represent the following system functions: assembly planning and scheduling for process jobs, execution of assembly operations, and controlling the assembly cell [13]. The data for assembly planning and scheduling of process jobs include: frequency with which orders are added, number of orders, number of product variants per order, batch size, assembly sequence per batch and relative set-up times. The planning system generates control information on which product variants should be produced. It also retains information on the number of products produced and on the total amount of time during which the assembly system was unable to produce owing to failures and set-ups. This information is also required to calculate the productivity. The execution of assembly operations includes carrying out orders by performing the operations of feeding, handling, composing, checking, removing, special processes and adjusting. Controlling the assembly cell is to control and coordinate the assembly operations on the basis of input jobs. In general, the system model works as follows: through the assembly planning a decision is taken as to which product variants will be produced. Each product variant has a unique job number; this number is placed in knowledge base. The cell control takes it and starts the assembly process by sending tokens to the process entities. When an assembly operation has been completed, it sends a token back to the cell control. When all assembly operations have been completed, the cell control sends a token to the assembly planning. The token contains information on how many products have been assembled and how many are acceptable, as well as any failure times. The output of the model comprises the values of the defined performance indicators: cycle time, capacity, availability and productivity [13]. 6.1.2. Programming of simulation model Because POSE þ þ is a specification and simulation environment, the programming of the simulation model is restricted to write a number of specific modules. These modules contain a description of productivity model, the assembly planning, the assembly operations, the assembly structure, the assembly strategies, the cell control, failure generators for process failures and system failures, the movement algorithm of the robot

393

and synchronization in the use of various robot in the cell. The attribute values of the different component classes are included in [13]. To establish the values of the stochastic variables, use is made of algorithms available in POSES þ þ of probability distribution functions. The orders are supplied to the assembly system according to a fixed pattern via the assembly planning. Each order contains a set of attributes which is important for the quantification of the performance indicators. The cycle time of the cell is calculated in the model on the basis of the assembly operations performed. The handling movements of the robot are subdivided into the following types of motion: gross motion, interface motion and fine motion. The motion distances are determined by the position of the various cell components in relation to the robot basis. These distances influence to a great extent the cycle time of the robot. In order to establish automatically the gross motion time of the SCARA robot the empirically established motion algorithm of this robot has also been programmed in POSES++. The cycle time of the cell is also established by the composing time, the checking time, the gripper change time and the time required to open and close the gripper. The quantification of these times, as well as the set-up times and recovery times of failures, is based on real cases. 6.1.3. Validation of simulation model To ensure the validity of the simulation model, the model is validated before the simulation experiments are carried out. This can be done in two ways: (i) comparison of the behavior of certain permanent components in the model with existing system components; and (ii) modeling and simulation of similar robotic assembly systems with the same type of robot. The first way is possible because the various system structures are developed on the basis of standard and modular system components, whose behaviors are previously known. 6.2. Simulation experiments The system structures are simulated by means of the simulation model to permit assessment of the technical, economic and even ergonomic behaviors of these systems. For micro optic lens assembly, to acquire reliable values of the system performance, various simulation runs were performed, in which the input jobs for 4 system structures were kept identical. The simulation results in Table 3 contain the average of the separate runs and the distribution of the results. These results are based on three-shift operation and shown in Figs. 11 and 12. Fig. 11 shows the productivity of the various system structures; Fig. 12 shows the course of the productivity of the system structures, as a function of the batch size. The calculated value

394

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

Table 3 Performance index of the system structure System structure

Cycle time (s)

Availability

Cell capacity (assemblies=year)

Performance index

1 2 3 4 5*

120 80 121 84 79

0:9470:03 0:9170:04 0:9470:04 0:9670:03 0:9770:02

170,000 304,000 175,000 260,000 270,000

0:7870:03 1:0870:02 0:8170:03 1:1670:02 1:1970:02

Fig. 12. Productivity index as a function of the batch size. Fig. 11. Productivity index of the system structures.

of the productivity consists of the predicted (expected) property of the system structure concerned. This property is crucial for the choice of the one of the various design alternatives or the possible adjustments of the system design. 6.3. Assembly system evaluation The system evaluation is to evaluate the value of the system structures by comparing the expected system property with the computed productivity index. As shown in Table 3 and Fig. 11, the productivity index of the system structures 1 and 3 are smaller than 1, i.e., the output is lower than the input, which implies that these design alternatives are not cost-effective. System structure 2 has a lower PI than system structure 4, in spite of having the shortest cycle time (80 s) and the highest cell capacity (304,000 assemblies per year). This may be a result of the lower availability of system structure 2 owing to relatively long set-up times and process failure times, in relation to a higher capital consumption. The PI of system structure 4 is higher (1.15). The reason for this is the lower capital consumption, a relatively short cycle time, ample availability owing to minimum set-up times and jamming times, and a relatively high cell capacity. Fig. 12 shows how the PI increases with the batch size. The total annual set-up time decreases with the increasing batch size, so that there is less system downtime, and more power products can be assembled. The figure also shows that system

structure 4 with an average batch size of less than about 70 is not cost-effective. 6.4. Assembly system layout The system layout is to arrange the positions of concrete system components in the space within the assembly system. It involves the elaboration of the selected system structure, by which the location of and the relations between dimensioned concrete system components are specified in detail. The product assortment and the assembly strategy significantly influence the system layout. For example, the number of product variants has en effect on the set-up flexibility of the system, whereas the choice of system components which is related to the assembly strategy influences the space taken up in the system [13]. The computer simulation is also useful at this design stage for a further analysis of the system behavior, and hence optimization of the conceptual system layout with the aid of a graphic 3D robotic simulation system. With the discrete simulation, the following stages need to be passed through: (i) defining the model of the system layout; (ii) programming the robot and the entire peripheral equipment; (iii) carrying out simulation experiments; and (iv) optimizing the conceptual system layout. Most robotic simulation systems design the layout with CAD data consisting of 3D solid models of both the permanent system components and the products to be assembled. Modeling the kinematics of

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

395

Fig. 13. Discrete simulation and graphic 3D simulation of robotic assembly systems.

the robot and the control system are also needed for graphic animation. The programming of the robot and the entire peripheral equipment may involve graphic animation of the robot movements, with collision detection between robot and peripheral equipment, and also include analysis of the cycle time, reach of certain robot positions and working space of the robot. The optimization of the assembly structure, system cycle time, reach of the robot, safety of the personnel and the number of product would result in the final system layout. Fig. 13 shows the relationship between discrete simulation of the alternative system structures and graphic 3D simulation of the conceptual system layout. For the 3D simulation a number of robotic simulation systems are available, such as ROBCAD, ROBSIM, GRASP, SMART, etc. [13]. The system used in this paper is RAPID Assembly system, a self-developed 3D software package for rapid robot assembly prototyping, planning and control, which can be used for the design, planning and the off-line programming of robotic

systems. POSE þ þ is incorporated into RAPID Assembly [40]. The system layout of design alternative 1 is modeled in RAPID Assembly. The system components, including the SCARA robot and the robot grippers, are selected from a database within RAPID Assembly system. Fig. 14 shows the design model image of the conceptual system layout. In addition, the conceptual system layout is optimized by the application of RAPID Assembly system [40], with which the following improvements are made: (1) The gripper magazine is set up 10 cm lower, and a SCARA robot is selected, with an extended z-axis causing the investments to increase by $2500, to prevent collisions between the robot arm and this magazine. (2) The components and assembly loop and the fixture loop are placed closer together to reduce the cycle time; the distance between these two transport systems is reduced by 40 cm:

396

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

Fig. 14. Design model image of the conceptual system layout in RAPID Assembly system.

(3) The components and subassembly loop are provided with an extra feeding belt to reduce the delay time in the feeding of product parts, which has a positive influence on the cycle time. For the same reason, the fixture loop is narrowed by 30 cm; and the total costs of the transport systems are increased by $1100. These adjustments affect both the system inputs (e.g., capital consumption and miscellaneous costs) and the system outputs (e.g., production value of the volume acceptable assemblies). To quantify the improvement degree, the productivity index of the optimized system layout is determined with the aid of POSE þ þ; with the remaining simulation data stayed the same. The optimized performance indicator of the final system layout is given in Table 3 with star ð * Þ mark. The PI value of the final system layout is now 1.19, which has an improvement of 5.0%.

7. Discussion and summary To effectively carry out the design of assembly systems, an effective approach needs to be developed. However, due to the complexity of design process, various assumptions or simplifications have been introduced in the existing methods to obtain solutions

for the problem. The problem using the existing methods to design assembly system is that the unmanageable complexity could occur both in computation cost and storage. The complexity and limitations using the existing methods can be greatly alleviated with the observation as well as idea behind the work reported in this research. This paper presented a systematic and concurrent intelligent approach to the modeling, design, and planning of flexible robotic assembly systems. There are two major ideas employed in this approach. One is the use of knowledge Petri net to establish a number of place and transition template. Specific FASs can thus be derived by instantiation from this set of templates. The other is the use of function–behavior–structure model for design and evaluation of FASs. The knowledge Petri net is an enhancement of the conventional Petri nets by employing AI knowledge representation techniques including rule-based technique and frame. It allows the established behavior analysis techniques for Petri nets to be carried out. At the same time, the system complexity can be reduced since any FAS model which built upon a given set of place and transition template can be made more compact. Therefore, the knowledge Petri nets can build a unified, complete framework to represent multiview knowledge and to perform reasoning and learning.

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

Compared to the existing methods, the work essentially has an integrative nature, and the proposed knowledge-based function–behavior–structure design model and framework are more generic. They can be used as an alternative to reduce the computing cost and storage in the design of assembly system. The framework was implemented based on the knowledge Petri net models combined with POSES þ þ and the conventional procedural language. It has potentials that support all development stages including general design, detailed design, programming, simulation, validation and verification in a consistent and integrated manner. The developed integrated design environment is a 3D modeling, animation, and simulation package, allowing the user to intuitively and interactively build and animate 3D models. The examples show that the approach is feasible, and is an effective means to achieve concurrent design of FASs. The results obtained from this work are generic enough to be applicable for other types of FMS such as flexible machining centers, flexible assembly systems, semiconductor manufacturing systems, etc. However, the work presented in this paper is just a preliminary effort in the automatic assembly system design. A large amount of work to make the proposed approach and system practical use is desired to be done. One of the future efforts will be required to further the research on the mapping from function model to structure for the conceptual design of assembly system. In the meanwhile, the further development of the system is also required.

Acknowledgements The authors would like to thank Prof. Grier Lin, Prof. K.L. Mak, and Dr. W.L. Xu for their useful comments and suggestions which helped to improve the paper.

References [1] Nevis JL, Whitney DE. Concurrent design of products and processes: A strategy for the next generation in manufacturing. New York: McGraw-Hill, 1989. [2] Zha XF, Lim SYE, Fok SC. Integrated knowledge based Petri net intelligent flexible assembly planning. J Intell Manuf 1998;9(3):235–53. [3] Offodile OF. Knowledge base design for flexible assembly robots. Int J Prod Res 1991;29:317–28. [4] Esser R. An object-oriented Petri net approach to embedded system design. PhD dissertation, Swiss Federal Institute of Technology, Zurich, 1996. [5] Peterson JL. Petri nets theory and the modeling of systems. Englewood Cliffs, NJ: Prentice-Hall, 1981. [6] Jensen K. Colored Petri nets, basic concepts, analysis methods and practical use, Vol. 1. Berlin: Springer, 1992. [7] Zha XF, Du H. Mechanical systems and assemblies modeling using knowledge intensive Petri net formalisms. Artif Intell Eng Des Anal Manuf 2001;15(3):1–20.

397

[8] Dweiri F, Meier EA. Applications of fuzzy decision-making in facilities layout planning. Int J Prod Res 1996;34(11):3207–25. [9] Tsujimura Y, Gen M, Kubota E. Solving fuzzy assembly-line balancing problem with genetic algorithms. Comput Idl Engng 1995;29(1–4):543–7. [10] Su YY, Srihari K. Placement sequence identification using artificial neural networks in surface mount PCB assembly. Int J Adv Manuf Technol 1996;11:285–99. [11] Wellman MA. A genetic algorithm approach to optimisation of asynchronous automatic assembly systems. Int J Flexible Manuf Systems 1995;7:27–46. [12] Boubeki N, Nagaraj S. An integrated approach for the selection and design of assembly systems. Integrated Manuf Systems 1993;4(1):11–7. [13] Rampersad HK. Integrated and simultaneous design for robotic assembly. New York: Wiley, 1994. [14] Rampersad HK. A case study in the design of flexible assembly systems. Int J Flexible Manuf Systems 1995;7(3):255–86. [15] Pham DT, Yeo SH. Strategies for gripper design and selection in robotic assembly. Int J Prod Res 1991;29:305–16. [16] Browne J, Tierney K, Walsh M. A two stage assembly process tool for robot based flexible assembly system. Int J Prod Res 1991;29(2):247–66. [17] Muro-Medrano PR, Joaquin E, Jose LV. A rule-Petri net integrated approach for modeling and analysis of manufacturing systems. In: Gentina JC, Tzafestas SG. editors. Robotics and flexible manufacturing systems. Amsterdam: Elsevier Science Publishers (North-Holland), 1992. p. 349–58. [18] Alanche P. PSI: a Petri net based simulator for flexible manufacturing systems. In: Rozenberg G, editor. Advances in Petri Net, Lecture Notes in Computer Science, Vol. 188, NY: Springer, 1984. p. 1–14. [19] Alla H, Ladet P, Martinez J, Silva SM. Modeling and validation of complex systems by colored Petri nets application to a flexible manufacturing system. In: Rozenberg G, editor. Advances in Petri Net, Lecture Notes in Computer Science, Vol. 188. NY: Springer 1984. p. 15–31. [20] Cecil JA, Srihari K, Emerson CR. A review of Petri net applications in manufacturing. Int J Adv Manuf Technol 1992;7:168–77. [21] Zurawski R, Dillon ST. Modeling and verification of FMS using Petri Nets. Modern tools for manufacturing systems. Amsterdam: Elsevier, 1993. p. 161–237. [22] Moore KE, Gupta SM. Petri net models of flexible and automated manufacturing systems: a survey. Int J Prod Res 1996;34(11):3001–35. [23] Zhang D. Planning with Pr/T nets. Proceedings of IEEE International Conference on Robotics and Automation, Sacramento, CA, 1991. p. 769–75. [24] Genrich HJ, Lautenbach K. Systems modelling with high-level Petri nets. Theoret Comput Sci 1981;13:109–36. [25] Genrich HJ. Predicate/transition nets. Lecture Notes in Computer Science, No. 254. New York: Springer, 1987. p. 207–47. [26] Cao TH, Sanderson AC. Task sequence planning using fuzzy Petri nets. IEEE Trans Systems Man Cybern 1995;25(5):755–68. [27] Bastide R. Approaches in unifying Petri nets and the objectoriented approach. The Second workshop on object-oriented programming and models of concurrency within the 17th international Conference on Applications and Theory of Petri Nets, Osaka, June 24, 1996. [28] Zha XF, Lim SYE, Fok SC. Integrated knowledge-based assembly sequence planning. Int J Adv Manuf Technol 1998;14(1):50–64. [29] Zha XF, Lim SYE, Fok SC. Integrated intelligent design and assembly planning: a survey. Int J Adv Manuf Technol 1998;14(10):664–85.

398

X.F. Zha et al. / Robotics and Computer Integrated Manufacturing 17 (2001) 379–398

[30] Thomas JP, Nimal Nissanke, Keith D. Baker, A hierarchical Petri net framework for the representation and analysis of assembly. IEEE Trans Robotics Auto 1996; 12 (2):268–79. [31] Zha XF, Lim SYE, Fok SC. Development of expert system for concurrent product design and assembly planning. Int J Adv Manuf Technol 1999;15(3):153–62. [32] Stadzisz PC, Henrioud JM. An integrated approach for the design of multi-product assembly systems. Comput Ind 1998; 36:21–9. [33] Tan GW, Hayesc C, Shaw M. An intelligent agent framework for concurrent product design and planning. IEEE Trans Eng Manage 1996;43:297–306. [34] Balasubramanian S, Maturana FP, Norrie DH. Multi-agent planning and coordination for distributed concurrent engineering. Int J Cooperative Inform Systems 1996;5:153–79. [35] Zha XF, Li LL. A knowledge Petri net model for flexible manufacturing systems and its application for design and verification of FMS controller, Int J Comput Integrated Manuf 2001, in press. [36] Zhang Bo. Theory of general problem solving and its application. Tsing Hua University Press, 1990 (in Chinese). Beijing, China. [37] Sodhi RS, Zhou MC, Das S. Advances in manufacturing systems: design, modeling and analysis. Amsterdam: Elsevier, 1994. [38] Gui JK. Methodology for modelling complete product assemblies. PhD dissertation, Helsinki University of Technology, 1993. [39] Borusan A. Requirements on Petri net technique from point of view of system development process. In: Hartmut E, Wolfgang R, Herbert W, editors. In: Kick-Off-Workshop der DFG-Forschergruppe Petrinetz-Technologie, Vol. 73, July 1996. p. 1–9. [40] Zha XF. Knowledge intensive methodology for intelligent design and planning of assemblies. PhD thesis, Nanyang Technological University, Singapore, 1999. [41] POSE++ Software Tool, GPC Gesellschaft fr Prozeautomation & Consulting mbH, 1998. [42] Boothroyd G, Dewhurst P. Product Design for Assembly, 1989. [43] Coolahan JJE. et al., Timing requirements for time-driven systems using augmented Petri nets. IEEE Trans Software Eng 1983; Se-9 (5):603–16.

[44] Camurri A, Franchi P. An approach to the design and implementation of the hierarchical control system of FMS, combining structured knowledge representation formalisms and high-level Petri nets. In: Proceeding of 1990 IEEE International Conference on Robotics and Automation, Cincinnati, OH, 1990. p. 520–25. [45] Doo YL. Scheduling flexible manufacturing system using Petri nets and heuristic search. IEEE Trans Robotics Auto 1994; 10(2):123–32. [46] Giordana A. Modeling production rules by means of predicate transition networks. Inform Sci 1985;35:1–41. [47] Joaquin E, Javier M. Petri net as a specification language for manufacturing systems. In: Gentina JC, Tzafestas SG, editors. Robotics and flexible manufacturing systems. Amsterdam: Elsevier Science Publishers North-Holland, 1992. p.427–36. [48] Jeng MD. Modular synthesis of Petri nets for modeling flexible manufacturing system. Int J Flexible Manuf Systems 1995;7: 287–310. [49] Jeng MD. A review of synthesis technology for Petri nets with applications to automation manufacturing systems. IEEE Trans Systems Man Cybern 1993;23(1):301–12. [50] Murata T. Petri nets: properties, analysis and applications. Proc IEEE 1989;77(4):541–80. [51] Nagao Y, Ohta H, Urabe H, Matsubra S. Petri net based programming system for FMS. In: Gentina JC, Tzafestas SG. editors. Robotics and flexible manufacturing systems. Amsterdam: Elsevier Science Publishers (North-Holland) 1992. p. 295–304. [52] Tayfur A. Performance analysis of manufacturing systems. Berlin: Springer, 1996. [53] Valette R et al. Putting Petri nets to work for controlling flexible manufacturing systems. In: Proceedings of the IEEE International Symposium On Circuits and Systems, Kyoto, Japan, 1985. p. 929–32. [54] Zha XF, Lim SYE. Assembly/disassembly task planning and simulation using expert Petri nets. Int J Prod Res 2000;38(15): 3639–76. [55] Zhou MC. A top-down approach to systematic synthesis of Petri nets models for manufacturing systems. In: Proceedings of the IEEE on Robotics and Auto. Scottsdale, 1989. p. 534–9.