Computers in Industry 46 (2001) 289±299
Holonic assembly system with Plug and Produce T. Araia, Y. Aiyamab,*, M. Sugia, J. Otaa a
Department of Precision Machinery Engineering, Graduate School of Engineering, The University of Tokyo, Tokyo 113-8656, Japan b Institute of Engineering Mechanics and Systems, University of Tsukuba, Tsukuba, Ibaraki 305-8573, Japan Received 24 March 2000; accepted 13 March 2001
Abstract An assembly system based on holonic concept has been newly installed. The system consists of three manipulators, one belt-conveyor and two warehouses. The system assembles several parts into a product. Its sequences are planned by negotiation among the assembly devices by means of contract net protocol. Thus, even though the parts are supplied at different warehouses, the system can generate a sequence of transportation automatically. Utilizing the characteristics of distributed autonomous systems, a new concept Plug and Produce is proposed. A device can be installed easily and then immediately start to work. This system has high robustness against the recon®guration and sudden changes of products. Experiments were made for two kinds of assembly tasks and veri®ed the ef®ciency of the system. # 2001 Elsevier Science B.V. All rights reserved. Keywords: Holonic system; Distributed autonomous system; Plug and Produce
1. Introduction Requirements of manufacturing systems have been greatly changed in this decade. Main subjects moved from high productivity, to high ¯exibility, then to environmental problems. As a countermeasure, distributed autonomous systems (DASs), multi-agent systems have been proposed by many researchers. Holonic systems that belong to DASs, utilize the concept of holon de®ned by Koestler [4]. It may have high fault-tolerance and universality. Most of the research, however, deals mainly with software algorithms and simulation. Implementation onto
*
Corresponding author. Tel.: 81-298-53-6180; fax: 81-298-53-5207. E-mail address:
[email protected] (Y. Aiyama).
practical assembly systems therefore is still very challenging. This paper deals with a holonic assembly system using three sets of manipulators and a conveyor. The system is designed to accommodate sudden changes and breakdowns of assembly devices by means of a new concept Plug and Produce. We mainly discuss how to construct hierarchy and how to implement Plug and Produce. In Section 2, the concept of a holonic system is discussed. Plug and Produce is de®ned in Section 3. The details of the holonic assembly system is studied in Section 4. The procedure of Plug and Produce is also de®ned. In Section 5, an assembly cell is installed using three manipulators. A product of three parts is assembled to check the procedure of the holonic system. In order to verify Plug and Produce, a robot is mounted during assembly operations. We conclude the paper in Section 6.
0166-3615/01/$ ± see front matter # 2001 Elsevier Science B.V. All rights reserved. PII: S 0 1 6 6 - 3 6 1 5 ( 0 1 ) 0 0 1 1 1 - 7
290
T. Arai et al. / Computers in Industry 46 (2001) 289±299
2. Holonic assembly systems 2.1. Architecture of manufacturing systems Architecture of manufacturing systems has been discussed in various views such as Iwata et al. [3]. Since both intelligence and autonomy of a manufacturing system are to be achieved, holonic systems in manufacturing have been studied. Holonic manufacturing systems are discussed comprehensively by Valckenaers et al. [7]. He compared holonic architecture, holarchy, to hierarchy and heterarchy, and the three are assessed according to six criteria. His benchmark was obtained ``through reallife testing on a physical testbed''. His architecture is designed to have functional division of scheduling. Ramos studied dynamic scheduling on the holonic system [6]. His architecture is similar to ours; it consists of task manager, task holon, and resource holon. We studied a prototype of holonic system and logical model of holons [1]. We insisted that dimensional ¯exibility of end effectors is also very important. Monostori proposed ``market mechanism'' for the coordination among holons [5]. The holonic systems proposed in the above-mentioned studies were mainly implemented on scheduling as multi-agent systems. 2.2. Flexibility of assembly systems Three different kinds of ¯exibility are required in assembly systems: 1. ¯exibility for geometrical change; 2. ¯exibility for sequential change; 3. ¯exibility for production quantity change. Type 1 is necessary against changes of size and shape of products. Introduction of industrial manipulators has made this ¯exibility increased greatly. But grippers and parts feeders still have small ¯exibility. Graspless manipulation, i.e. pushing, tumbling, and pivoting, is introduced in our system [2]. For Type 2, multi-agents have been introduced in order to accommodate the frequent change of orders. Assembly sequences are computed in real time at the assembly line. Many researchers realized that Type 3 turns very dif®cult. Recon®gurability of assembly systems seems a key issue for Type 3.
When a new subsystem such as manipulators and conveyors is mounted into an assembly system, the subsystem should be able to work instantaneously. This concept is similar to Plug and Play on personal computers and therefore is called as Plug and Produce. The concept enables a subsystem to be broken or suddenly dismounted. Thus, Plug and Produce can achieve ¯exibility (Type 3) and robustness during manufacturing. 3. Plug and Produce 3.1. Framework of the concept An assembly system often needs to change its con®guration of assembly devices such as inserting machines, robots, conveyers and parts feeders. Recon®guration of the system is required in such cases as (1) breakdown or replacement of a device; (2) change of a product, and so on. We focus on case (1) out of these two. When an assembly device is added (or removed, replaced), the recon®guration needs long start-up time in ordinary systems. This is partly because one device may affect the entire control system. To decrease the start-up time, the recon®guration of the entire system should be separated from that of the device. The interface of the devices onto the control system must be established as easily as possible. We call this concept Plug and Produce, which is similar to Plug and Play on personal computers. 3.2. Requirement for Plug and Produce An assembly system can be divided roughly into two subsystems; assembly devices and a management system. To implement Plug and Produce, we must consider requirements in each of these two subsystems. Each assembly device of Plug and Produce needs to inform its own capability to the management system such as its name, type, protocols as well as one of Plug and Play does. In addition to the information, the device has to inform its position in the world coordinate system, the size of workspace, and other physical and geometrical characteristics. The relationship of
T. Arai et al. / Computers in Industry 46 (2001) 289±299
neighborhood is inevitable to prevent collision especially among manipulators. Environmental information should be maintained by each device, not by single central database in the management system. This allows each assembly device to be recon®gured easily. In this way, holonic system makes its device obtain the information from surroundings and work autonomously. Next let us consider requirements of the management system for Plug and Produce. The system should work continuously during removal/addition of an assembly device. The system should be able to recognize the newly added device automatically. These characteristics are similar to Plug and Play. In addition, the task assignment, i.e. scheduling of the task, is important in the case of assembly systems. 4. Management of holonic assembly systems 4.1. Holarchy An assembly cell was newly implemented as a holonic system, which consists of two different kinds of layers as shown in Fig. 1. Execution layer is located at the lower level and represents the assembly devices. The holons on this layer exist statically and singlelayered because they correspond to actual existing devices. Management layer is the upper one for management of assembly processes. Inside the management layer, three kinds of layers exist; task layer, process layer and operation layer. Each component of the layers is a holon, among which an upper holon asks lower holons to execute an
Fig. 1. Holarchy of management and execution layer.
291
order and the lower holons reply by bids. The total layers construct a kind of hierarchy, called holarchy, in which holons can cooperate one another with negotiations among the holons on the same layer. Holarchy is different from hierarchy because hierarchy does not have any cooperation theoretically. We will show the detail of management holons and execution holons below. 4.2. Management holons Aims of management holons are: Management of assembly processes of a product: The management holons look after assembly processes according to a product database which describes how to assemble a product from parts. Assignment of devices to assembly process: According to the sequence of assembly, the holons ask assembly devices and make contracts with them. Here an assembly ``device'' means equipment such as manipulators, belt-conveyors, warehouses and soforth. To realize these two characteristics, three layers are introduced. Holons at each layer have different functions as follows: 1. Task holon: It manages the whole assembly process of a product. There exists only one task holon for the assembly of a product. It works as the top holon of the assembly holarchy. 2. Process holon: It manages one assemble process which takes part of the whole assemble process. A process holon is created by the task holon dynamically. The reason why process layer is introduced is that an assembly task consists of ®xed sequence determined by functional requirement of a product. 3. Operation holon: One assembly process may include a series of motion of devices. According to a request from a process holon, an operation holon makes a device move. We can consider two types of management holarchy other than the above-mentioned, as illustrated in Fig. 2. Only one management holon takes care of the whole execution as Fig. 2(a). This structure, however, is not ¯exible with program modularity or with parallel processing of execution. The other structure is that
292
T. Arai et al. / Computers in Industry 46 (2001) 289±299
device, and when it detects errors, it reports them to the upper holons. 4.4. How to construct a new holarchy Let us assemble a product called Product4, which consists of three pieces of parts as explained in Fig. 3. The real installation is shown in Fig. 4, where three robots (manipulators) are mounted. The assembly sequences of the products are illustrated as ``assembly trees'', i.e. precedence graphs in Fig. 3. In our system, the followings are assumed:
Fig. 2. Other types of holarchy: (a) centralized management holarchy; (b) management holarchy with multiple process layers.
management layers allow multiple process layers as Fig. 2(b). This has both advantages and disadvantages, recursively de®ned structure is simple but often causes too many layers. The meaningless complexity of the process layer discarded its introduction. In our proposed method, only task holon manages an assembly process of a product and predetermined sequence of assembly. On the other hand, assignment of parts and devices, which are not given at planning time, is made by operation holons. 4.3. Execution holons Execution holons exist statically and originally in order to control existing assembly devices such as manipulators, belt-conveyors and warehouses. Note that one device has usually its own execution holon, respectively, and the holon should be prepared by device makers. When a device is mounted onto a system, the existing execution holon attached to the device is also installed onto the holarchy. It bids for a request from an operation holon and negotiates the way of assembly with its upper holons. When it receives an order, it controls motions of the device and reports results. It observes conditions of the
Assembly information of the product is included in a task description. The position of each part and even its existence are not given at the beginning but must be examined as assembly goes on. This information is handled by execution holons. The ability of the assembly devices is set in execution holons, because the system can accept the change of devices. A holarchy, the top of which is a task holon ordered by a user, is constructed step-by-step from the top. In the case of Product4 in Fig. 3, each process holon corresponds to subassembly, respectively. Then in operation layers, each operation holon selects an execution holon, i.e. an assembly device by means of contract net protocol as described before. If an operation holon cannot obtain necessary device(s) because of contracts with another operation holon, the holon should wait until the devices become free and then contract with them. Let us check the detail of holarchy from the viewpoint of sequences. Fig. 5 illustrates a time chart of holons in the management layer. The top line indicates a task holon called Task1 of Product4. Here words in italic represent names of holons in Fig. 5. Task1 generates a process holon Proc.1. Then Proc.1 generates three operation holons: Ope:
movePart1, Ope:
movePart0, and Ope:
ins:. An operation holon Ope:
movePart0 ®rst wait, then make Robot3 move, then transfer the part by the belt-conveyer and soforth. Assembly operation such as insertion is executed at an appropriate point within a workspace of a manipulator. The operation can be described from the viewpoint of devices as illustrated in a grant chart Fig. 6. For
T. Arai et al. / Computers in Industry 46 (2001) 289±299
293
Fig. 3. Schematic view of holonic assembly cell.
instance, Robot1 used 5 s after the start of Task1 of Product4. Please note that the sequence illustrated in Fig. 6 is automatically planned. In order to check the robustness of automatic scheduling, an additional product Product12 is thrown into the holonic assembly system. A new task Task2 for Product12 is generated. Then the schedule of Task1 needs to change. Here automatic scheduling is veri®ed by the sudden interruption by a new task. 4.5. Procedure of removal and addition In Section 3.2, we considered what is necessary for an implementation of Plug and Produce, and in Section 4.1, the architecture of our system is described. In the proposed holarchy, requests by operation holons are broadcasted to all execution holons indiscriminately, thus the management layer needs to know neither the number of devices nor their types. The management layer, strictly speaking, operation holons
need to contact execution holons that are currently connected to the holarchy. The holarchy, therefore, can allow assembly devices to be added or removed easily in holarchy. However, we have various problems in a real world system. Let us understand a plug-in procedure of a robot into an assembly line. 1. Suspend: A user suspends some assembly devices for sake of safety in setting a new device. 2. Mount: The user mounts a new device, and starts its execution holon. 3. Calibrate: The user calibrates the device and teaches the range of workspace by manual operation. Then the execution holon can recognize con®guration of its own workspace and know the relation between its own coordinates and world coordinates. 4. Coordinate: The execution holon of the new device inquires other holons to know neighbors to itself, and to generate the transformation of the
294
T. Arai et al. / Computers in Industry 46 (2001) 289±299
Fig. 4. Overview of the holonic assembly cell.
Fig. 5. Time chart of holons in management layer: Product4.
T. Arai et al. / Computers in Industry 46 (2001) 289±299
295
Fig. 6. Time chart of holons in execution layer: Product4.
coordinates between each devices. The holon also decides relay points, where parts are transferred from one device to another. 5. Rearrange: The execution holon of the new device asks its neighboring holons to register it (as their new neighbor) in their own environmental information. 6. Resume: The user resumes devices which were suspended in the ®rst step. All the steps except step 3 can be performed automatically. Substantial labor for the user is, therefore, to set a device in place and to calibrate it. In the case of removal of an assembly device, calibration is not needed. The execution holon of the dismounted device needs to ask its neighbors to uninstall its own information. 5. Experimental implementation 5.1. Holonic assembly cell We made an assembly cell which has three manipulators, one bi-directional belt-conveyor and two warehouses as shown in Fig. 3. The size of the beltconveyor is 1.3 m as seen in Fig. 4. Each task in the cell is to assemble parts into a product. The parts are initially set in warehouses and assembled in
the cell, then the product is transferred back to a warehouse. All are controlled by three PCs which are connected by 10 Mbps Internet network. On the PCs, Linux runs. Each holon is implemented as a process on Linux. They are programmed in C with TCP/IP communication. A user interface is also realized by a shell on Linux. Each execution holon has a con®guration ®le containing (a) position and orientation of the coordinate system, (b) relay points to neighboring devices, and (c) data of objects stored in a buffer of each device. 5.2. Assembly tasks Let us assemble two kinds of products, Product4 and Product12. The structure of the products are illustrated in Fig. 3. In Warehouse1, there are two parts; Part1 for Product4 and Part10 for Product12. The rest of the parts necessary for assembling these two products are stored in Warehouse2. 1. Single task: As the ®rst example, we ordered a task holon Task1 to assemble Product4 as has been described in Section 4.4. The time chart of each holon is illustrated in Fig. 5. The total number of management holons is 11; 1 task holon, 3 process holons and 7 operation holons. Proc.3 is a process holon which carries Product4 to Warehouse2.
296
T. Arai et al. / Computers in Industry 46 (2001) 289±299
Fig. 5 also indicates the time when each management holon is created and killed. The time chart also shows when each operation holon controls the corresponding devices. Note that warehouses are not graphed since warehouses are controlled in a very short period. The time chart drawn from the viewpoint of the assembly devices is illustrated in Fig. 6. All the four devices work well in the cell. 2. Two tasks: In the second example, we ®rst ordered Product4, then after 52 s, we ordered Product12 via another PC. The result has been shown in Fig. 7. The vertical line at the 52 s indicates the timing of the request. Ongoing operation holons continue to work, and when the execution holon turns free, the new task can use it. At 58 s, Robot3 starts to transfer Part11 from Warehouse2 to the belt-conveyor. As shown in Fig. 7, the new task is executed with the old task in parallel. In this way, the installed assembly cell has suf®cient ¯exibility against sudden request of an additional task. Even though the two tasks can be executed simultaneously, the total period of simultaneous execution is relatively short in comparison to the entire assembly time. Thus, the ef®ciency of parallel processing seems low. This is partly because the system does no scheduling to reserve the devices and partly because the devices are connected linearly in the cell.
5.3. Plug in a new manipulator Next we implemented Plug and Produce, and demonstrated the additional installation of a manipulator to an assembly cell. In this experiment, the assembly cell initially consists of two shape manipulators (Robot2 and Robot3), one bi-directional belt-conveyor (BeltConv.), and one warehouse (Warehouse2). Please note that the number of devices is different from that of the previous experiments. Either Robot1 or Warehouse1 do not exist. The experiment is to add a new manipulator to this cell during operation. We had started the production of Product4. We suspended all the devices after 48 s. Then a new manipulator Robot1 was mounted to this cell, according to the procedure described in Section 4.5. Fig. 8 shows the time chart of management holons, and Fig. 9 shows the time chart of each execution holon. The ®rst vertical line at time 0 indicates the request of Product4, and the second vertical line at time 48 s indicates the start of mounting. The necessary time of the mounting was 308 s. When the suspended devices were restarted at 415 s, Robot1 bid the request and started to work. The losstime 308 s, mostly spent on manual calibration, is not so short. However, it is much shorter than that of ordinary assembly systems. To carry out the calibration of the newly mounted manipulators, we introduced square marks on the
Fig. 7. Time chart of holons in management layer: Product12 after Product4.
T. Arai et al. / Computers in Industry 46 (2001) 289±299
297
Fig. 8. Time chart of holons in management layer: Plug and Produce demonstration.
working table as shown in Fig. 10. The user moves the gripper of a new manipulator onto the rectangular marks, which is congruent with the tip of the gripper. The pose of the marks are known. After repeating the match at several different marks, the transformation matrix from the world coordinate system to the robot base coordinate system is generated by using the method of least squares. We usually use four marks in work space of a new robot. The relay point between Robot1 and Robot2 was created automatically.
Transportation of parts between Robot1 and Robot2 succeeded at the generated relay points. This indicates that obtained transformation matrix and offsets have accurate enough to assembly the product. 5.4. Evaluation of Plug and Produce In Section 3.2, we pointed out that Plug and Produce needs to adjust physical and geometrical characteristics.
Fig. 9. Time chart of holons in execution layer: Plug and Produce demonstration.
298
T. Arai et al. / Computers in Industry 46 (2001) 289±299
Fig. 10. Marks on the table and the hand of Robot1.
Calibration of the robot coordinate system is one of the most time-consuming adjustment. By introducing automatic calibration method, it turns much shorter time. Collision of work space would be also a great problem. It is theoretically true that collision can be avoided by means of real-time collision avoidance algorithms. But in practice we need to separate two manipulator as far as possible. It is not easy to de®ne ability of each assembly device, because assembly devices have various characteristics. Preparation of database on assembly devices seems the most urgent issue. Totally speaking, Plug and Produce is successful if we can achieve the following two issues: (1) automatic calibration of coordinate systems, and (2) database of assembly devices. 6. Conclusion In this paper, the architecture of a holonic assembly system is studied. Plug and Produce is proposed. A holonic assembly system is newly implemented with Plug and Produce concept, consisting of three manipulators, one belt-conveyor and two warehouses.
The system shows sufficient flexibility to accomplish the unexpected request of assembling the product. The system is flexible in removal, addition and reconfiguration of assembly devices. Holarchy with four layers was constructed and operated. The upper three layers divide a task. The lowest layer negotiates with holons in the higher layers and drives devices directly. Holons can be constructed and maintained automatically in each layer. We could succeed to implement a holonic assembly system in this paper. As a future work, we need to build in a scheduler of assembly devices. Acknowledgements This research has been supported in part by IMS program, Holonic Manufacturing System (HANDS). Authors thank sincerely the contribution by Fanuc, Hitachi, Kagawa University, Toshiba and Yaskawa. References [1] T. Arai, et al., Holonic storage: an assembly and storage cell by manipulation using environment, in: Proceedings of the 29th CIRP International Seminar on Manufacturing Systems, 1997, pp. 221±226.
T. Arai et al. / Computers in Industry 46 (2001) 289±299 [2] T. Arai, et al., Assembly by non-grasping manipulation, Annals of the CIRP 46/1 (1997) 905±910. [3] K. Iwata, et al., Manufacturing systems evolution: historical and structural aspects of manufacturing systems research, Flexible manufacturing systems past±present±future, Annals of the CIRP (1993) 113±127. [4] A. Koestler, The Ghost in the Machine, Arkana, 1967. [5] A. Markus, et al., A market approach to holonic manufacturing, Annals of the CIRP 45/1 (1996) 433±436. [6] C. Ramos, A holonic approach for task scheduling in manufacturing systems, in: Proceedings of the 1996 IEEE International Conference on Robotics and Automation, 1996, pp. 2511±2516. [7] P. Valckenaers, et al., Holonic manufacturing systems, Integrated Computer Aided Engineering, Vol. 4, Wiley, New York, 1997, pp. 191±201. M. Sugi was born in Tokyo, Japan in 1974. He received BE in mathematical engineering in 1998, ME in precision engineering in 2000, respectively, at the University of Tokyo, where he is currently a PhD candidate. He was nominated as one of the ®ve ®nalists for Kayamori Best Paper Award in 2001 International Conference on Robotics and Automation ICRA 2001. He is a member of Japan Society for Precision Engineering and the IEEE Robotics and Automation Society. J. Ota is an associate professor in Department of Precision Machinery Engineering, Graduate School of Engineering, the University of Tokyo. He received MS and DS degrees from the Faculty of Engineering, the University of Tokyo in 1989 and 1994, respectively. From 1989 to 1991, he joined Nippon Steel Cooperation. In
299
1991, he worked as a research associate of the University of Tokyo. In 1996, he became an associate professor at Graduate School of Engineering, the University of Tokyo. From 1996 to 1997, he was a visiting scholar at Stanford University. His research interests are multiple mobile robot system, environmental design for robot systems, human±robot interface, cooperative control of multiple robots. T. Arai graduated from the University of Tokyo in 1970 and obtained PhD in engineering from the same university. In 1987, he became a professor in Department of Precision Engineering, the University of Tokyo. He worked in Department of Arti®cial Intelligence as a visiting researcher from 1979 to 1981. His specialties are assembly and robotics, especially multiple mobile robots including legged robot league of robocup. He works in IMS programmes in Holonic Manufacturing System. He has contributed to robot software in ISO activity. He is an active member of CIRP, a member of IEEE, Robotics Society of Japan, Japan Society for Precision Engineering and Honorary President of Japan Association for Automation Advancement. Since 2000, he has been a director of Research into Artifacts, Center for Engineering, the University of Tokyo. Y. Aiyama was born in 1967 in Tokyo, Japan. He received ME and PhD in engineering from the Faculty of Engineering, the University of Tokyo in 1992 and in 1995, respectively. Since 1995, he was a research associate at the University of Tokyo. Since 1999, he has been an assistant professor at the Institute of Engineering Mechanics and Systems, University of Tsukuba. His research interests are human-like dexterous manipulation and cooperative transportation by multiple robots.