Robotics and Computer Integrated Manufacturing 16 (2000) 225}239
Intelligent planning of Grafcet charts L. Castillo*, J. Fdez-Olivares, A. GonzaH lez Departamento de Ciencias de la Computacio& n e Inteligencia Artixcial, E.T.S. Ingeniern& a Informa& tica, Universidad de Granada, 18071 Granada, Spain
Abstract Manufacturing systems are entering a new age in which the demands of a market in continuous change impose their conditions on production processes. In this new generation, both the response capability to these demands and a reliable production process are aspects that are receiving most attention and study. One of the stages that can most a!ect these terms of reliability and time response is the development of the control program which drives the operation of the manufacturing system, although this subject has received little attention in the literature. This work provides a new e!ort in this direction and presents MACHINE, an arti"cial intelligence planner able to automatically obtain Grafcet charts for manufacturing systems. 2000 Elsevier Science Ltd. All rights reserved. Keywords: Intelligent manufacturing systems; Arti"cial intelligence planning; Control programs; Grafcet charts
1. Introduction Manufacturing systems are entering a new age in which the demands of a market in continuous change impose their conditions on production processes, from the design to the operation and maintenance of manufacturing systems. In this new generation, both the response capability to these demands and a reliable production process are two of the aspects that are receiving most attention and study. International forums such as research and development programs [1] or special interest groups [2,3] are being deployed to study and provide solutions in this direction, looking for fast and sound manufacturing processes. These issues are receiving special attention from the arti"cial intelligence research community arising in a new, rich and rapidly expanding research area covering most of the aspects of manufacturing systems, such as intelligent product and process design, production planning and scheduling or systems engineering and architectures [4]. However, little attention has been devoted to the subject of the implementation of the control program which drives the operation of a manufacturing system.
* Corresponding author. Tel.: #34-958-24-4258; fax: #34-958-243317. E-mail addresses:
[email protected] (L. Castillo),
[email protected] (J. Fdez-Olivares),
[email protected] (A. GonzaH lez).
This can be a very di$cult, and sometimes, painful problem during the life-cycle of a manufacturing system which can become a bottleneck in the achievement of the goals of reliability and low time response: E It is usually developed by hand by specialised control engineers. This means that it is a slow and expensive process, which is always subject to human error. E It is hardly adaptable to the life-cycle of the manufacturing system. When the manufacturing system layout or control speci"cations change, new control programs must be rewritten in order to take these changes into account. This rewriting process must be very careful because the quality of the control program may decrease or, even, new errors may appear due to interactions with previously written pieces of the program. Only very recently, this problem has been approached by means of arti"cial intelligence planning techniques [5}7]. The strong similarity between the process of planning and the process of programming, and also between the concept of plan and the one of algorithm, make these techniques actually suited for the automation of the design of control programs simply by using the "nal plans of action as control program skeletons. The aforementioned drawbacks of a design process by hand are overcome by the use of these knowledge-based techniques, providing an additional e!ort for achieving lower time response and higher reliability:
0736-5845/00/$ - see front matter 2000 Elsevier Science Ltd. All rights reserved. PII: S 0 7 3 6 - 5 8 4 5 ( 9 9 ) 0 0 0 5 9 - 9
226
L. Castillo et al. / Robotics and Computer Integrated Manufacturing 16 (2000) 225}239
E When the knowledge used by these techniques is correct, the use of arti"cial intelligence planning techniques guarantees that "nal plans will also be correct and, therefore, free of human errors. E Due to the growing speed of modern computers, the time taken to obtain plans is very low, allowing for a considerable decrease in cost and duration of the design phase of control programs. E They allow for an easy adaptation to the life-cycle of manufacturing systems because if something changes in a manufacturing system, then now plans are completely rewritten from scratch in order to take these changes into account, avoiding a revision process by hand. In this sense, this work presents MACHINE, a threelevel system, based on arti"cial intelligence planning techniques which, starting from a knowledge representation of a manufacturing system in terms of : E a high-level description of the manufacturing system layout and start up state of devices, E a description of raw products, and E a manufacturing problem, speci"ed as an ordered sequence of transformations on raw products, i.e., a control recipe at phase level [8], is able to automatically design the "nal control program, expressed as a Grafcet chart [9], tailored for this problem, this layout and these raw products. Section 2 reviews previous works in the literature around the subject of automatic programming in manufacturing systems. Section 3 presents MACHINE, a three-level knowledge-based system in which the top level de"nes a knowledge representation of a manufacturing system, the intermediate level (the `intelligenta level) builds the control program skeleton and the lower level translates this skeleton into a Grafcet chart. Section 4 presents a case study involving several manufacturing problems which are solved by MACHINE, specially two real size manufacturing systems. Finally in Section 5 some conclusions and future directions are drawn.
2. Related work In the late 1960s, the subject of automatic programming was studied under the general topic of automated program synthesis [10}12] and the techniques used were, mainly, theorem proving techniques, but however, very little advance seems to have been made since then. Perhaps, the problem the of automatic building of programs is too hard to be faced from a general viewpoint and research should have been focused on more speci"c domains. In this sense, the domain of manufacturing systems is becoming an area of growing interest for researchers from the "eld of arti"cial intelligence planning
systems providing a more constrained domain of study. Historically, one of the most appealing applications of arti"cial intelligence planning techniques in the literature has been its application to machining procedures of discrete parts, what is known as computer-aided process planning (CAPP) [13]. There has been a great deal of work around this issue [14 }19] including many complementary techniques such as machine learning techniques, hierarchical representations and procedures or nonlinear planning techniques, but it must be recognised that, in practice, these systems generally focus on components or pieces of the overall manufacturing process [20] without taking into account some of the operations usually needed to build a whole control program. For these reasons, a greater e!ort is being demanded for developing alternative approaches able to consider a whole manufacturing system, not only a piece of it [13]. In this direction, the work reported in [21] presented a system able to obtain Grafcet charts for manufacturing systems by means of search techniques and a knowledge base which contains pieces or skeletons of previously developed control programs. However, the entire process must be supervised by a human operator, and, therefore, the system is not completely autonomous. Other integral approaches have also been developed as [22], applied to assembly operations, or as in [23] under the general name of operation procedure synthesis in chemical domains (an extensive review of this issue can be found in [24]), but the level of detail of "nal plans of actions is insu$cient since they may lack some actions which can be essential for the execution of the control programs. These problems, i.e., an integral approach with a su$cient level of detail in the results, were initially addressed in [25,26] where authors present a new planning system, called MACHINE, able to automatically obtain more complete plans, containing all of the actions that could be essential during the execution of the control program, and it is continued in this work, in which authors present an extension of this system able to translate these control sequences into a reliable and lower level representation: a Grafcet chart that can be used to implement the "nal control program. This is explained in the next section.
3. A three-level knowledge-based system MACHINE is an arti"cial intelligence planning system whose model of action has been speci"cally designed to describe the transformations that take place in a manufacturing system and whose architecture is shown in Fig. 1. It works at three di!erent abstraction levels: the "rst one is a knowledge-based representation of a manufacturing problem as will be seen later, the second one represents a possible solution to this manufacturing
L. Castillo et al. / Robotics and Computer Integrated Manufacturing 16 (2000) 225}239
Fig. 1. Three-level architecture of MACHINE.
Fig. 2. A simple manufacturing system.
227
228
L. Castillo et al. / Robotics and Computer Integrated Manufacturing 16 (2000) 225}239
problem expressed as a control program skeleton, that is, an ordered sequence of actions that must be executed and which is named as a control sequence, and the third level represents this program skeleton as a Grafcet chart. Let us look at these three levels in detail. 3.1. The top level The most important piece of the top level, which is used to describe a manufacturing problem, is the model
of action of MACHINE. This model of action [27] is a sort of speci"cation language, based on the "rst-order predicate calculus, which has been designed as an extension of STRIPS [28]. It is a structured representation of the actions that take place in the manufacturing domain, their requirements and their consequences in the environment. By means of this model of action a knowledge base is built which contains the description of every type of device that may be found in a manufacturing system: it is a library of devices.
Fig. 3. A control sequence which solves the manufacturing problem stated in Example 2.
Fig. 4. Algorithm for translating a control sequence into a Grafcet chart.
L. Castillo et al. / Robotics and Computer Integrated Manufacturing 16 (2000) 225}239
3.1.1. The library of devices This knowledge base must be created and maintained by a control engineer (whose main task is to provide the necessary knowledge to describe the operation of every device) and a knowledge engineer (whose main task is to structure that knowledge in terms of the model of action of MACHINE). In this sense, every device is represented as an agent connected to other agents and able to carry out a set of actions. The description of an agent has several components and the most important ones are these: Name. The identi"cation of the agent. Variables. They represent a set of objects related to the operation of the agents: raw materials, connection points, etc. Actions. This consists of a description of every action that the agent is able to carry out. Every action of every agent is composed of the following components. Name. An identi"cation of the action.
Fig. 5. The "nal Grafcet chart for the manufacturing problem of Example 2.
229
Requirements. They are facts that must be satis"ed, i.e., they must be true, for a correct execution of the action. They are divided into three di!erent kinds of requirements: Table 1 Logic formulae of transition conditions for the Grafcet in Fig. 5 CT1
CT2 CT3 CT4 CT5 CT6 CT7 CT8 CT9 CT10 CT11 CT12 CT13
(STATE C1 OFF) (LOCATION BLOCK P1) (FREE BLOCK P1) (STATE C2 OFF) (STATE DRILL STOP) (STATE DRILL UP) (STATE BELT OFF) (STATE BELT ON) (LOCATION BLOCK STORAGE) (FREE BLOCK STORAGE) (STATE DRILL DOWN) (HAS-HOLE BLOCK) (STATE DRILL UP) (STATE BELT OFF) (STATE DRILL DRILLING) (STATE C2 ON) (BLOCKED BLOCK P2) (STATE C1 ON) (LOCATION BLOCK P2) (FREE BLOCK P2) (STATE C1 OFF) (STATE C2 OFF) (FREE BLOCK P2) (STATE DRILL STOP) TRUE TRUE
Fig. 6. Case 1. A batch system.
230
L. Castillo et al. / Robotics and Computer Integrated Manufacturing 16 (2000) 225}239
Fig. 7. Grafcet chart for case 1.
Previous. They must be true before the action starts. They act as a kind of preconditioning of the action. Simultaneous. They must be true during the execution of the action. They are used to avoid any type of harmful interaction during the execution of the action, in such a way that every action which could interfere with it executes either before or later, but never simultaneously. Later. They must be true after the action. They are used to leave every device in a safe state every time they are used to carry out an operation. Hence, these requirements are a kind of invariant that must be true before, during and after the action. E4ects. They are the consequences in environment of the execution of the action. They are divided into two di!erent e!ects. Addition. They are new facts that become true. Deletion. They are old facts that were true but become false. Hence, the facts included in the deletion e!ects are also included in the previous requirements.
Fig. 8. Grafcet chart for case 2.
L. Castillo et al. / Robotics and Computer Integrated Manufacturing 16 (2000) 225}239
231
Fig. 9. Case 3. A discrete manufacturing system.
Example 1. Let us consider the small system shown in Fig. 2. It is composed of two pistons, a mobile drill and a belt. Its operation is clear: piston C1 pushes the block into the drill base, then C2 grasps it, the drill makes a hole, the block is released and the belt carries the block into the STORAGE. In this example, every device is represented as an agent, but in particular, the drill can be represented as an agent able to carry out the following four actions: turn on, turn o!, go down, go up. Let us consider the action of going down. Its representation would be as follows: Name: DRILL-DOWN Requirements Previous. The drill must be up.
This is a literal description. Actually, it is a "rst-order logic representation which uses a structure based on the LISP programming language and where every stated fact is represented as a simple literal.
Simultaneous. The drill must be on and the object must be grasped at the base of the drill. Later. The drill must be up again. E4ects Addition. The drill will be down and the object will have a hole. Suppresion. The drill is no longer up. As can be seen, the key aspect of this knowledge base is the knowledge representation and structure of the operation of every device. The role of the control engineer is very important, but the role of the knowledge engineer is essential since, as noted in [20], the techniques used to avoid the existing gap between theory and practice in manufacturing domains tend to be knowledge intensive in order to de"ne a sound start point in the search of solutions. Another important feature of this knowledge base is its reusability. It is parameterised for many known types of devices (valves, pumps, belts, mixers, etc.) and, once
232
L. Castillo et al. / Robotics and Computer Integrated Manufacturing 16 (2000) 225}239
E The initial state. That is, a description, by means of the "rst-order predicate calculus, of the start up state of both devices and raw products. E The goal of the manufacturing problem. That is, the recipe [8] of the manufactured product. It is an ordered sequence of transformations, de"ned on the formerly represented system, that must be made on the raw products mentioned above. Example 2. In Example 1, the system layout would be represented by means of an agent for every piston, the drill and the belt, respectively, extracted from the library of devices. The raw products are very simple: there is a block next to piston C1. And "nally, the goal is also very simple: the block must have a hole and it must be into STORAGE. In real life, these manufacturing problems are solved by control engineers, who have a similar knowledgebased representation, by designing a control program which would coordinate the operation of the devices of the manufacturing system to meet the goal speci"ed in the recipe and, so, to obtain the desired manufactured product. In this work, the role of the control engineer is played by the intermediate level of MACHINE, that is, a planning system which contains the `intelligencea needed to solve these problems and automatically design a skeleton of the control program starting from the knowledge-based description of a manufacturing problem. 3.2. The intermediate level
Fig. 10. Grafcet chart for case 3.
de"ned, it can be used for the representation of a manufacturing problem and reused again as new manufacturing problems are faced. 3.1.2. Manufacturing problems A manufacturing problem consists in carrying out an ordered set of transformation operations on raw products in order to obtain manufactured products. These problems are represented in MACHINE by three components: E The domain. It is the manufacturing system layout represented by means of the aforementioned model of action. Every device in the manufacturing system is translated into an agent by instantiating its corresponding type in the library of devices.
The most important piece of the intermediate level is the planning algorithm which is described in detail in [26,29]. It is a partial order planner [30] which follows a basic means end analysis in order to "nd an ordered sequence of actions of the agents that meet the goal of the manufacturing problem starting from the initial state described in the problem. This is called a control sequence and may be represented as a pair S"1A,(2 where A is a set of actions and ( an order relation de"ned on it. The representation of agents and actions in the manufacturing problem allows for an easy reasoning process. If the goal is a transformation which must be solved and this transformation is an e!ect of an action, then include that action in the control sequence to achieve this transformation, but, in order to do that, all of the requirements of the action, must also be solved by other actions. Every time an action solves a requirement of another action, this requirement is protected and the planner
A strict order relation and not necessarily a total order relation.
L. Castillo et al. / Robotics and Computer Integrated Manufacturing 16 (2000) 225}239
233
Fig. 11. Case 4. A reactor-based batch system.
guarantees that none of the actions in the sequence, neither now nor in the future, will produce a mutual contradiction with respect to this achieved transformation. This protection mechanism is usually known as a causal link [26,30,31]. The causal link protection mechanism is the most important means to guarantee that, not only all of the requirements of the actions in a control sequence have been satis"ed, but also that none of the actions contradicts the requirements of other actions. If a contradiction between an action and a causal link is detected (this is called a threat) then it is solved by reordering the action and the causal link, giving priority to the causal link or to the action, respectively, in such a way that the contradiction disappears [26]. This process is repeated following a best "rst search process [6] until there are no pending transformations or requirements to be solved. The "nal result of the planning algorithm is a control sequence S"1A,(2, that is, an ordered sequence of actions of the agents of the manufacturing problem which achieves the goal. Example 3. Let us consider again the manufacturing problem presented in Example 2. The control sequence designed by MACHINE for solving this problem is shown in Fig. 3. This control sequence has been automatically designed by MACHINE in 5.85 s.
Running on a Pentium II under Linux operating system.
A control sequence is not actually a control program, but it may be considered as a skeleton of the control program since it contains all the knowledge necessary to translate it into a lower level representation. In fact, a control sequence has several of the most important features that control programs are expected to have: E Discrete state space, that is, the states of the system are represented in a logic or symbolic form instead of a numeric form. E Event driven, that is, its evolution can be described by means of a sequence of discrete events. Every event may be considered as the execution of an action in the control sequence, which produces a perfectly known set of qualitative changes in the environment represented as the e!ects of the action. E Asynchronous operation. Events do not appear related to an exact notion of time, instead, they take place following a relative order between them: the order speci"ed in the control sequence. E Parallelism, that is, several actions may execute simultaneously. MACHINE builds parallel sequences whenever it is possible and the actions in parallel branches do not interfere, in other cases, actions will be in sequence. For example, once piston C1 has been extended, and therefore, the block is pushed into the base of DRILL, then it is retracted again and C2 is extended, both simultaneously. On the other hand, since C2 must be grasping the block during the drilling process, it cannot be retracted until DRILL is up because, in that case it will produce a violation of a simultaneous requirement.
234
L. Castillo et al. / Robotics and Computer Integrated Manufacturing 16 (2000) 225}239
Fig. 12. Grafcet chart for case 4.
E Nondeterminism, that is, from a starting state, there can be several di!erent, but valid, evolutions. In this case, actions in parallel branches execute independently of each other and they can follow di!erent evolutions.
As can be seen, a control sequence has two dummy actions called START and END, respectively. These actions are used to delimit the control sequence, but, in addition, action START is used to generate the start up state of both raw products and devices in the following
L. Castillo et al. / Robotics and Computer Integrated Manufacturing 16 (2000) 225}239
235
Fig. 13. Case 5. A real-world manufacturing system.
way. This initial state consists of a set of facts that describes what is true at the beginning of the problem, then this set of facts is `codeda as the e!ects of the action START. As said before, a control sequence is not a control program. It is rather a high-level representation of such programs, but it contains all the knowledge needed to build a real control program, i.e., the representation of every action, its requirements and e!ects. The next section shows how to translate these control sequences into a lower-level representation exploiting these sources of knowledge. 3.3. The lower level The algorithm for translating a control sequence into a Grafcet chart is very important since it allows to represent a control sequence, and all of the knowledge embedded in it, as a formalism which could be directly employed by a control engineer. It builds up a Grafcet chart in the following terms: E Every stage contains only one action of the sequence, and the order relation between the stages is induced by the order relation in the control sequence. The action in every stage could be represented as an output signal to the corresponding device. E Transition conditions after a stage are built by means of the addition e!ects of every action meaning that the action has achieved all of its e!ects and that the execution of the chart may continue with the following
stage(s). Every literal could be represented as a logical variable which can be implemented either as an input of the control system (when the information provided by the variable comes from a sensor in the manufacturing system) or as an internal or timed variable of such a control system. E Additional stages, containing a dummy waiting action, are included in the chart at the end of parallel branches in order to synchronise the end of these branches. The algorithm for translating a control sequence S"1A,(2 into a Grafcet chart is shown in Fig. 4. Example 4. Finally, the Grafcet chart for the example presented in the beginning is the one shown in Fig. 5. A detailed description of transition conditions is shown in Table 1. The "rst action can be considered as an initialisation action which de"nes the start up knowledge, as can be seen in the description of condition CT1. Next, two parallel branches have been designed by MACHINE in order to push and grasp the block and, at once, to turn on the drill. Once the block is grasped (CT7), the drill goes down and up again, making the hole, and then, only when piston C2 has retracted (CT10), the belt carries the block into the storage. When the block is into storage (CT2) the belt is stopped and the program ends. As can be seen, this detailed Grafcet chart could be directly implemented in most control systems.
236
L. Castillo et al. / Robotics and Computer Integrated Manufacturing 16 (2000) 225}239
Fig. 14. Grafcet chart for case 5.
L. Castillo et al. / Robotics and Computer Integrated Manufacturing 16 (2000) 225}239
237
Table 2 Logic formulae of transition conditions for the Grafcet in Fig. 14 CT1
CT2 CT3 CT4 CT5 CT6 CT7 CT8 CT9 CT10 CT11 CT12 CT13 CT14 CT15 CT16 CT17 CT18 CT19 CT20 CT21 CT22 CT23 CT24 CT25 CT26 CT27 CT28 CT29 CT30 CT31 CT32 CT33 CT34 CT35 CT36 CT37 CT38 CT39 CT40 CT41 CT42 CT43 CT44
(STATE MP OFF) (STATE MV OFF) (STATE MV2 OFF) (STATE EP OFF) (STATEEV OFF) (STATE MIX1 OFF) (STATE HEAT1 OFF) (STATE SV OFF) (STATE ST1 OFF) (STATE ST2 OFF) (STATE V1 OFF) (STATE B1 OFF) (STATE V2 OFF) (STATE HEAT2 OFF) (STATE MIX2 OFF) (STATE AV OFF) (STATE AP OFF) (STATE ASI OFF) (STATE AS2 OFF) (STATE BELT1 OFF) (STATE VB2 OFF) (STATE BP OFF) (STATE BOTTLER OFF) (STATE BELT2 OFF) (CONTAINS MILK MILK-TANK) (TEMP MILK LOW) (CONTAINS ENZYME ENZYMETANK) (CONTAINS FLOUR ADDITIVE1) (CONTAINS COCOA ADDITIVE1) (STATE BOTTLER ON) (BOTTLED MILK) (STATE AP ON) (ADDED MILK COCOA) (FLOW COCOA RTANK TANK2) (FLOWIING COCOA RTANK TANK2 AP) (STATE AP OFF) (STATE BOTTLER OFF) (STATE AV ON) (OPEN-FLOW COCOA TRANK TANK2) (OPENING-FLOW COCOA RTANK TANK2 AV) (STATE MIX2 ON) (MIX MILK TANK2) (MIXING MILK MIX2) (STATE B1 ON) (CONTAINS MILK TANK2) (FLOW MILK TANK1 TANK2) (FLOWING MILK TANK1 TANK2 B1) (STATE HEAT1 ON) (TEMP MILK HIGH) (STATE HEAT1 OFF) (STATE B1 OFF) (STATE MIX2 OFF) (STATE AV OFF) (STATE ST1 ON) (OPEN-FLOW STEAM BOILER HEAT1) (OPENING-FLOW STEAM BOILER HEAT1 ST1) (STATE MIX1 ON) (MIX MILK TANK1) (MIXING MILK MIX1) (STATE MP ON) (CONTAINS MILK TANK1) (FLOW MILK MILK-TANK TANK1) (FLOWING MILK MILK-TANK TANK1 MP) (STATE MP OFF) (STATE MIX1 OFF) (STATE ST1 OFF) (STATE MV ON) (OPEN-FLOW MILK MILK-TANK TANK1) (OPENING-FLOW MILK MILK-TANK TANK1 MV2) (STATE MV2 OFF) (STATE V2 ON) (OPEN-FLOW MILK TANK1 TANK2) (OPENING-FLOW MILK TANK1 TANK2 V2) (STATE V2 OFF) (STATE MV ON) (OPEN-FLOW MILK MILK-TANK P1) (OPENING-FLOW MILK MILK-TANK P1 MV) (STATE MV OFF) (STATE SV ON) (OPEN-FLOW STEAM BOILER P2) (OPENING-FLOW STEAM BOILER P2 5V) (STATE SV OFF) (STATE BELT2 ON) (CONTAINS BOTTLES BOTTLER) (FLOW BOTTLES BOTTLES-STORAGE BOTTLER) (FLOWING BOTTLES BOTTLES-STORAGE BOTTLER BELT2) (STATE BELT1 ON) (CONTAINS COCOA RTANK) (FLOW COCOA ADDITIVE1 RTANK) (FLOWING COCOA ADDITIVE1 RTANK BELT1) (STATE V1 ON) (OPEN-FLOW MILK TANK B1) (OPENING-FLOW MILK TANK1 B1 V1) (STATE V1 OFF) (STATE BELT1 OFF) (STATE BP ON) (CONTAINS MILK BOTTLER) (FLOW MILK TANK2 BOTTLER) (FLOWING MILK TANK2 BOTTLER BP) (STATE BP OFF) (STATE AS1 ON) (OPEN-FLOW COCOA ADDITIVE1 BELT1) (OPENING-FLOW COCOA ADDITIVE1 BELT1 AS1) (STATE AS1 OFF) (STATE BELT2 OFF) (STATE VB2 ON) (OPEN-FLOW MILK TANK2 BOTTLER) (OPENING-FLOW MILK TANK2 BOTTLER VB2) (STATE VB2 OFF) TRUE TRUE TRUE TRUE TRUE
4. A case study This section shows the performance of MACHINE in "ve selected examples including batch and discrete manufacturing and two real-world examples (case 4 and 5). All of the devices which appear in these problems
have been instantiated from the library of devices of MACHINE. The "nal Grafcet chart is shown in all of the cases but, since a detailed description of every transition condition in a chart would be di$cult to show due to its excessive length, only a detailed table of transitions conditions is shown for case 5. Although some charts seem
238
L. Castillo et al. / Robotics and Computer Integrated Manufacturing 16 (2000) 225}239
quite complex, the facts that control sequences are free of harmful interactions between their actions (because of the causal link protection mechanism) and that Grafcet charts have been built on the basis of these control sequences, guarantee that Grafcet charts are also free of harmful interactions between their stages. 4.1. Case 1: A transportation problem The layout of the manufacturing system is shown in Fig. 6. The problem to be solved is the transportation of WATER and ACID to TANK3 and TANK4, respectively. In this case, this is an easy transportation problem which can be carried out in parallel, as can be seen in the Grafcet chart shown in Fig. 7. MACHINE obtains this chart in 26 s. 4.2. Case 2: Another transportation problem This problem is de"ned on the same manufacturing system as that shown in Fig. 6. However, now the problem is more di$cult since WATER must be carried into TANK4 and ACID into TANK3. As can be seen, this transportation problem cannot be solved in parallel, since it would produce an undesired mixing of products. MACHINE solves the problem in 255 s and it designs the Grafcet chart shown in Fig. 8 in which the transportation of both products is carried out sequentially. 4.3. Case 3: A discrete manufacturing problem The layout of the system is shown in Fig. 9. The problem to be solved consists of the following steps: 1. 2. 3. 4. 5.
Drill PIECE-1 (initially in IN-BUF1). Mill PIECE-2 (initially in IN-BUF2). Carry both pieces into the assembling machine. Assembly. Carry the "nal piece to OUT-BUF.
This problem is solved by MACHINE in 187 s by means of the Grafcet chart shown in Fig. 10. The machining of PIECE-1 and PIECE-2 in parallel, the assembly and, "nally, the operation of the robot arm, are all shown in this "gure. 4.4. Case 4: A problem involving a reactor This problem is extracted from [32] and the layout of the system is shown in Fig. 11. In this batch problem there are three types of raw products: an ingredient A, stored in tank T-501, an ingredient B, stored in tank T-505 placed somewhere out of the system, and an ingredient C stored in tank T-504 also out of the system.
The manufacturing problem is de"ned by the following sequence of transformations: 1. STEP 1. Add ingredient B to ingredient A in reactor R-501. During this operation, the mixture must be in agitation. 2. STEP 2. Heat the mixture. 3. STEP 3. Add ingredient C to the mixture maintaining the agitation. During this mixing operation a residual gas is generated which must be evacuated through the scrubber S-501. Part of this gas is condensed and it precipitates at the bottom of S-501. Once the mixing operation ends, this residual liquid must be carried into the external tank T-503. 4. After the addition of ingredient C, the mixture must be cooled and carried into tank T-502. As can be seen, this problem de"nition is a control recipe speci"ed at phase level [8,32]. In this case, MACHINE solves the problem in 5477 s by designing the Grafcet chart shown in Fig. 12. 4.5. Case 5: A dairy products problem The system is shown in Fig. 13. This manufacturing system is inspired by a real problem, and it is composed of 24 di!erent interconnected agents (pumps, valves, mixers, heaters, belts, and a bottler). The design of a control program for such a system is di$cult, even for a control engineer, due to the number of agents and the total number of available actions. The goal in this case consists in adding an ingredient (initially contained in ADDITIVE-1) to the milk initially contained in MILK-TANK and then proceed to bottle the mixture. In this case, MACHINE obtains the Grafcet chart of Fig. 14 in 1836 s. A detailed description of transition conditions is shown in Table 2. These "ve problems show that MACHINE, a computer program based on arti"cial intelligence planning techniques, is able to automatically design Grafcet charts for real-size manufacturing problems and that these Grafcet charts are free of human errors (mainly due to the causal-link-based protection mechanism).
5. Some conclusions MACHINE is a three-level knowledge-based system which is able to recognise manufacturing problems described by means of its library of devices, which is able to automatically design a Grafcet chart which solves that manufacturing problem and which can be directly implemented in most control systems. This directly implies great advantages, specially in what new generation manufacturing systems are concerned about. Starting from a correct description of devices, the use of arti"cial intelligence planning techniques allows for an
L. Castillo et al. / Robotics and Computer Integrated Manufacturing 16 (2000) 225}239
autonomous process that obtains a Grafcet chart which is free of human design errors. MACHINE and the use of modern computers allows for a rapid prototyping process, that considerably reduces the cost and duration of the development phase of control programs allowing for a faster response time. If the layout of the manufacturing system changes or production needs are rede"ned, then new results can be completely and quickly redesigned to meet the new speci"cations. In addition, this avoids the need for a revision and rewriting of old control programs which could have again new human errors. However, although these advantages are very interesting, MACHINE must be, in fact, considered as a step forward in this direction and it still can be extended with some kind of arithmetic reasoning, or management of uncertainty for incorporating sensing information into the building of Grafcet charts with conditional branches. Since the results obtained are very good and, in fact, they could be directly applied in many cases achieving sound results and very fast, these topics will receive further study with the goal of achieving a full applicability of the results automatically obtained by MACHINE.
References [1] IMS. Intelligent Manufacturing Systems, an international research and development program. http://www.ims.org/, 1995. [2] AAAI. American Association for Arti"cial Intelligence, special interest group on manufacturing. http://sigman.cs.umn.edu/, 1996. [3] PLANET. European Network of Excellence in Arti"cial Intelligence Planning, technical coordination unit in intelligent manufacturing. http://odl.education.salford.ac.uk/dan/pims/home.html, 1998. [4] Luger G, editor. Arti"cial intelligence and manufacturing research planning workshop: state of the art and state of the practice. AAAI Press, 1998. [5] Allen JF, Hendler J, Tate A. Readings in planning. Los Altos, CA: Morgan-Kaufmann, 1990. [6] Nilsson NJ. Principles of arti"cial intelligence. Palo Alto, CA: Tioga, 1980. [7] Russell S, Norvig P. Arti"cial intelligence: a modern approach. Englewood cli!s, NJ: Prentice-Hall, 1995. [8] ANSI-ISA. Batch control Part 1: models and terminology (SP88). Instrument Society of America (ISA), 1995. [9] IEC. Preparation of function charts for control systems. Technical Report IEC-60848, International Electrotechnical Commission, 1988. [10] Green C. Application of theorem proving to problem solving. IJCAI, 1969. p. 741}7. [11] Manna Z, Waldinger RJ. Knowledge and reasoning in program synthesis. Artif Intell 1975;6:175}208.
239
[12] Waldinger RJ, Constructing programs automatically using theorem proving. PhD Thesis, Carnegie-Mellon University, 1969. [13] Maropoulos PG. Review of research in tooling technology, process modelling and process planning. Part II: process planning. Comput Integrated Manuf Systems 1995;8:13}20. [14] Chang H, Lu W, Liu X. Intelligent case retrieval and modi"cation for machining process planning of axisymmetric parts. AAAI Special Interest Group in Manufacturing Workshop: Arti"cial Intelligence and Manufacturing, State of the Art and State of the Practice. AAAI Press, 1998. p. 55}62. [15] Descotte Y, Latombe JC. GARI: a problem solver that plans how to machine mechanical parts. IJCAI 1981. p. 766}72. [16] Gil Y. A speci"cation of manufacturing processes for planning. Technical Report CMU-CS-91-179, Carnegie Mellon University, 1991. [17] Nau D, Gupta SK, Regli WC. AI planning versus manufacturing-operation planning: a case study. IJCAI-95, 1995. p. 1670}6. [18] Park SC, Gervasio MT, Shaw MJ, DeJong GF. Explanationbased learning for intelligent process planning. IEEE Trans Systems Man Cybernet 1993;23(6):1597}616. [19] Tsatsoulis C, Kashyap RL. Case-based reasoning and learning in manufacturing with the TOLTEC planner. IEEE Trans Systems Man Cybernet 1993;23:1010}23. [20] Participants of the Workshop. AAAI Special Interest Group in Manufacturing Workshop: Arti"cial Intelligence and Manufacturing, State of the Art and State of the Practice. Discussion track, 1998. [21] Mizutani H, Nakayama Y, Ito S, Namioka Y, Matsudaira T. Automatic programming for sequence control. In: Scott AC, Kahr P, editors. Innovative applications of arti"cial intelligence. AAAI Press, 1991. p. 315}31. [22] Klein I, Jonsson P, Backstrom C. E$cient planning for a miniature assembly line. Artif Intell Engng 1998;13(1):69}81. [23] Aylett R, Soutter J, Petley G, Chung P. AI planning in a chemical plant domain. European Conference on Arti"cial Intelligence, 1998. [24] Soutter J. An integrated architecture for operating procedure synthesis. PhD Thesis, Loughborough University, 1996. [25] Castillo L, GonzaH lez A. A nonlinear planner for solving sequential control problems in manufacturing systems. In: Coelho H, editor. Progress in arti"cial intelligence, Lecture Notes in Arti"cial Intelligence. Berlin, Springer, 1998. [26] Castillo L, Fdez-Olivares J, GonzaH lez A. Automatic generation of control sequences for manufacturing systems based on nonlinear planning techniques. Artif Intell Engng 1999, to appear. [27] Castillo L, GonzaH lez A. MACHINE: a model of action for multiagent domains. European Conference on Planning ECP-97, 1997. Electronically available at http://decsai.ugr.es/&1cv. [28] Fikes RE, Nilsson NJ. STRIPS: a new approach to the application of theorem proving to problem solving. Artif Intell 1971;2:189}208. [29] Castillo L, Development and application of nonlinear planning techniques for control programming in manufacturing systems (in spanish). PhD Thesis, Universidad de Granada, 1998. Electronically available at http://decsai.ugr.es/&1cv. [30] Weld D. An introduction to least commitment planning. AI Mag 1994;15(4). [31] McAllester D, Rosenblitt D. Systematic nonlinear planning. AAAI-91, 1991. p. 634}9. [32] Fisher T. Batch control systems: design, application and implementation. Instrument Society of America (ISA), 1990.