Copyright © IFAC Algorithms and Architectures for Real-Time Control, Cancun, Mexico, 1998
A PROPOSAL TO INCREASE THE FLEXIBILITY OF MANUFACTURING CELL CONTROLLERS Jesus Sanchez, Maricela Quintana
Instituto Tecnol6gico y de Estudios Superiores de Monterrey Campus Estado de Mb:ico, Depto. de Ciencias Computacionales {jsanchez, mquintan} @camp~s. cem. itesm. mx
Abstract : In this paper we describe the software and architecture components of a parallel controller for flexible manufacturing cells. This controller, called PARDICO (PArallel and Distributed Intelligent COntroller), is a multitransputer machine with redundant RS232 interfaces and a reconfigurable topology. The software is composed of three layers: physical, data link/network and application. Each one of these layers, and their relationship with hardware, is described. The controller hardware and some of the software, is fully functional and has been tested in real manufacturing cells. The results show that parallel machines and lA techniques may greatly enhance flexibility in manufacturing cells. Copyright © 1998 IFAC Keywords: Parallel architectures, intelligent control, manufacturing systems.
1. INTRODUCTION A manufacturing cell is a set of robots and machines used to build products in industrial environments. A flexible manufacturing cell must have the following additional characteristics: • Planning flexibility: the ability to recognize plans in several formats . • Reconfigurability: the ability to change its configuration in order to manufacture new products. • Fault detection and isolation: the ability to function properly after the occurrence of faults . Several authors have proposed the use of parallel machines to build flexible manufacturing cell controllers (Sanchez , 1996; Sinha et al., 1996; Gray, 1996). In (Sanchez, 1996) we proposed the use of a parallel architecture called PAROIeO (PArallel and Distributed Intelligent COntroller) , to fulfill this goal. In this paper we show how this controller
*
Fig. 1. A manufacturing cell controlled by PARDICO can be built, and how it achieves the reconfigurability and fault tolerance properties needed for flexible manufacturing cells. In order to achieve greater flexibility, we propose a multi-agent architecture for the controller. In the literature there are alreadv several orooos-
Thi$ work is sUflflorted blJ ConaclJt-NSF Grant CO 16A.
59
als to use multi-agent systems for manufacturing cells. In (Parunak, 1987) the authors use multiagent communication techniques to coordinate a manufacturing cell. They have found that negotiation works well for systems with high volatility, a mesure of how likely a system changes during operation. In (Pancerella et al., 1995; Balasubramanian and Norrie, 1997) , the authors propose the use of an agent-based concurrent design environment to improve the part inspection and verification process in manufacturing cells. Finally, the AARIA (Autonomous Agents at Rock Island Arsenal) project (Parunak et al., 1997) pursues the goal of designing a manufacturing system whose performance and functionality supersedes that in current centrally controlled manufacturing systems, by using a group of individually agented manufacturing system .
!MS IlOO8 Cord
Fig. 2. PAROICO 's structure 2.1 Controller-cell interface
Most robots in today manufacturing cells have three kinds of interfaces with the external world : serial (RS232) , parallel (Centronics) or MAP (Token bus). We worked with robots having RS232 interfaces, so we had to develop a circuit (Alarcon et al. , 1996; Alarcon, 1997) to synchronize transputer link speed (20 megabits/s) with RS232 interface speed (20 kilobits/s).
Our proposal has the advantage of using a parallel and distributed controller to support realtime operation with a multi-agent approach . We show in figure 1 a schematic view of the proposed controller. It is a distributed system, because of the physical distribution of the elements in manufacturing cells. Being a distributed system , the controller has to deal with problems such as synchronization, communication delays, time shifts, etc . (Sanchez , 1996). The controller is also parallel: it is composed of several processors controlling each of the elements of a manufacturing cell, as shown in figure 2. There are two reasons why we chose to design a parallel controller: to implement fault tolerance, and to be able to support complex operations in real time. This article is organized as follows. In section 2 we show in detail how is built PAROICO, and how it is connected to the manufacturing cell. In section 3 we analyze its reconfiguration properties, and the control software running in this architecture is described partially in section 4. Finally, in section 5 we show some conclusions and we describe the planned future work .
Fig. 3. Interface switch This circuit, shown in figure 3, is composed of two chips COIl for serial-parallel conversion , and a micro controller MC8751. It allows any of two transputers to communicate with a manufacturing cell element in a half-duplex fashion , using a handshake protocol in the physical layer (see section 4.1) to synchronize the elements with different speeds. The micro controller software and hardware implement a 2 x 1 switch , so that we can have alternate paths between the manufacturing cell elements and the transputers.
2. CONTROLLER ARCHITECTURE The basic element of PAROICO is the transputer, a RISC-processor containing a CPU, a FPU, local memory and four high-speed links (Michel et al., 1995). Up to 10 transputers can be connected in an IMS B008 motherboard hosted by a PC, in a pipeline fashion as shown in figure 2. All transputers have two of their links connected via a reconfigurable 32 x 32 crossbar (IMS C004) , which allows the establishment of redundant communication paths, as we will show in section 3. Several transputer boards can be put inside one, or several pes if needed.
Our interface occupies a half-sized PC board, and costs 10 times less than a similar circuit provided by the transputer manufacturer, the SI0-232, although this one implements a 2 x 2 switch . These interfaces are described more in detail in (Alarcon. 1997: Salmeron. 1997). 60
2.2 Base topology
of a system to function properly after the occurrence of faults . The basic fault-tolerant technique is redundancy, i.e. the multiplicity of hardware and software elements. We will talk of software redundancy in section 4.3, and we already described the processor redundancy found in our base topology (see section 2.2) . In this section we will describe how we implement alternate paths between transputers and the elements of the manufacturing cell (path redundancy).
The topology of a parallel architecture is an important factor affecting the performance of the applications running on it. We followed these criteria to choose PAROICO's topology: • Application needs. The controller must communicate with every cell element and coordinate their actions. This implies some communication patterns that we will explain later (see section 4). • Hardware redundancy. We must provide a framework which enables us to implement fault tolerance techniques. • Board optimization. As a manufacturing cell has several elements and we need hardware redundancy, we must maximize the use of the space available in the circuit board. • Reconfigurability. The controller must be able to change its configuration to execute other plans or avoid faulty elements (see section 3).
-
r-
to PC
Tl ......
10
r-
,-
1-0. I>-<
1
11
2
,-
r-
......
121>-< T3
12 3
13.
I~
r-
r-
r-
I>-< _r- r. I>-<
I>-<
,.
r--
5
5 6
16
7
17
IMSCOO4
a
T5 -
a
I
Fig. 5. Complete topology The basis of our approach is to extend the base topology described in section 2.2, using the IMS C004 switch as shown in figure 5. Four alternate paths (bold lines) are established, so that every transputer has two links with its corresponding I/O interface (Salmeron, 1997) . A diagram showing all connections of this extended topology is shown in figure 7.
4. CONTROLLER SOFTWARE The controller software has been divided in three layers, following the OSI model for local networks: physical, data link/network, and application. The main purpose of these layers running in every transputer, is to establish and maintain communication between the elements in our parallel/distributed system (transputer and robots), in different abstraction levels. In the following sections we will explain in detail each of these layers.
Fig. 4. Base topology We show in figure 4 the base topology satisfying these criteria. It has two switches 2 x 2 built either using the interface described in section 2.1, or a SI0-232. These switches allow the transputers Tl .. . T4 to control four elements of the manufacturing cell . There are two links from every interface to transputers, so it can be accessed by either two of them for hardware redundancy. This topology has also several redundant paths enabling the controller to change its configuration, as we will explain in next section.
4.1 Physical layer
T5 is used as a monitor for the whole system, so it must be connected to every other transputer. This is not physically possible because the transputer has only four links, but it can be implemented by software, as we will see in section 4.2.
The physical layer is in charge of the transmission of bytes over physical links. Transputertransputer communication is implemented by hardware, whereas the micro controller MC8751 in the controller-cell interface (see section 2.1) contains the protocol between robots and transputers. This handshake protocol was designed to synchronize robots with transputers (Alarcon, 1997; Mota, 1997), and was validated (together with the data link/network protocol described later) using the formal verification system PROMELA fHolzmann. 1991 L
3. RECONFIGURATION PROPERTIES Flexible manufacturing cell controllers need to be reconfigurable, in order to adapt to changes in olannine: and faults. Fault tolemnce is the abilitv 61
o.ta LiIok I _ " ' La,...
A virtual link is a connection between transputers that uses several physical links, and it is implemented by routing messages through the network. We show in figure 7 the five virtual links used in our controller. Two of them are needed to implement the monitor process in Ts, which needs to communicate with every other process in the controller. The rest of them are needed to implement a logical crossbar between processes in the controller. This full interconnection is needed because of the requirements of the application layer, as we will explain later.
Aplieatio. La,...
CllI
nos
Fig. 6. Physical layer protocol
4.3 Application layer
We show in figure 6 the exchange of information (in only one way for clarity) between an RS232 source, the micro controller and the link adapter CO 11 . The protocol begins when a robot sends data serially to the microcontroller. After 8 bits are received, the data is presented in parallel to the link adapter, and a signal Ival is sent. The link adapter sends data serially to a transputer, and when it receives an acknowledge, a signal lack is sent to the microcontroller to finish communication . This protocol is very simple, allowing the transputer hardware and software to run at full speed (Alarc6n, 1997) .
Th~ application layer has two main functions : execution and supervision. The execution relies in a multiagent system, whereas the supervision is implemented by a monitor and recovery blocks. The main motivation for the use of an intelligent (multiagent) system to control the manufacturing cell, is to increase flexibility.
We show in figure 8 our agent 's structure. Each agent is responsible of controlling one of the elements in the manufacturing cell: a robot, a machine, etc. The agent has a control structure, responsible of plan execution and monitoring, as well as communication with other agents. It has also a knowledge base, which is used to make local decisions during execution.
4.2 Data Link/Network layer
The data link/network layer is responsible for the establishment and maintenance of communication between pairs of elements in the system, even if they are not directly connected.
Control structure
Agent knowledge
The data exchange between robots and transputers is handled by a point-to-point protocol detailed in (Mota, 1997). The transputer and its development software support well our requirements for transputer-transputer communications, because it handles the notion of virtual links. Fig. 8. Agent structure The detailed description of this system is beyond the scope of this paper, and can be consulted elsewhere (Sanchez et al., 1997; Castillo, 1996); we need only to know that all transputers must be able to communicate with every other one. This is implemented by the use of virtual links, as explained before.
- - VirtalHs
The supervision system is responsible for the implementation of software fault tolerance. PARDICO , uses the following procedures to implement fault tolerance (Sanchez, 1996; Sanchez et al., 1997) :
PII)'OicoIHs "'" dI_ c:homoIa - - PII)'OicoIHs ... c:NmoIs
vi....,
• An active monitor, running in transputer Ts , tests periodically hardware and software with validation and acceotance tests.
Fig. 7. Communication links
62
• There are alternate (redundant) paths between processors and robots , as described in section 3. • Each transputer runs several processes concurrently: if there is a faulty processor, another processor takes its job.
l-o Q)
......
='
>. 0 l-o
Main Data
Aux Data
Main Code
Aux Code
~8
= e:;
Q)
Alarcon, Jaime (1997). Diseiio e implementaci6n de una interfaz de comunicacion entre robots industriales y conmutadores a base de transputers. Tesis de Maestria en Ciencias Computacionales, ITESM-CEM. Balasubramanian, S. and Douglas Norrie (1997). A multi-agent intelligent design system integrating manufacturing and shop-floor control. http://ksi.cpsc.ucalgary. ca/DME/AnAgent.html, Department of Mechanical Engineering, University of Calgary. Castillo, Sergio Luis (1996). Diseiio de un sistema multiagentes para controlar una celda flexible de manufactura. Propuesta de Tesis de Maestria en Ciencias Computacionales, ITESM-CEM. Gr~y, P. (1996) . A flexible manufacturing cell designed with petri nets with transputer control. IEEE Publications on line. Holzmann, Gerard (1991). Design and validation of computer protocols. Prentice Hall Software Series. Michel, Francisco, Alejandro Ramirez , Rafael San Vicente and Jesus Sanchez (1995). Integracion de una celda de manufactura flexible utilizando tecnologia de transputers. Reporte tecnico ITESM/CEM/DGI-9512-C02. Mota, Sara (1997). Protocolos de comunicaci6n en el controlador de una celda flexible de manufactura. Tesis de Maestria en Ciencias Computacionales, ITESM-CEM. Mullender, Sape (1993). Distributed Systems. Ed. Addison Wesley. Pancerella, C., A.Hazelton and H.Frost (1995) . An autonomous agent for on-machine acceptance of machined components. Proceedings of modeling, simulation, and control technologies for manufacturing. SPIE's International Symposium on Intelligent Systems and Advanced Manufacturing pp. 25-26. Parunak, H. Van Dyke (1987) . Manufacturing experience with th contract net . In: Distributed Artificial Intelligence. Morgan Kaufman Ed. Parunak, H.V.D., A.D. Baker and S.J . Clark (1997). The aariaagent architecture:an example of requirements-driven agent-based system design. Proceeding of the First International Conference on Autonomous Agents (ICAA '97). Salmeron, Mirna (1997). Diseiio de una arquitectura reconfigurable basada en transputers. Tesis de Maestria en Ciencias Computacion ales, ITESM-CEM. Sanchez, Jesus (1996) . A flexible manufacturing cell distributed controller. 4th International Simposium on Applied Corporate Computing pp. 71-77. Sanchez , Jesus , Isaac Rudomin, Carlos Rodriguez and F. Ramos (1997) . Advanced communications technololrv in robotics and flexible man-
~
Microkemel Fig. 9. Recovery blocks in transputer memory Recovery blocks (Mullender, 1993) allow the controller to implement this last procedure. Each transputer in PARDICO controls a robot with a main or primary code, and has an auxiliary area where lies the recovery block of another transputer, as shown in figure 9. The primary version of a code is always used, unless it fails to pass an acceptance test performed by the monitor, or a timeout is detected. In the case of a processor fault, the auxiliary code located in another processor takes control of the corresponding manufacturing cell element .
5. CONCLUSIONS AND FUTURE WORK In this paper we have presented the hardware and part of the software of PARDICO, a parallel controller for flexible manufacturing cells. The hardware is fully functional and has been tested in real manufacturing cells at ITESM (Alarcon, 1997; Salmeron, 1997; Mota, 1997). Two layers of the controller software are already implemented, and work is in progress for the application layer. Our first experiences encourage us to continue using parallel architectures to enhance flexibility in manufacturing cells. Two areas are still under research : fault tolerance measurement in our architecture, and the design of the multiagent system.
6. REFERENCES Alarcon, J. , M. Rodriguez and S. Mota (1996) . Diseiio de una arquitectura reconfigurable basada en transputers. 20. Congreso nacional sobre electronica y comunicaciones. Colegio de lngenieria en Comunicaciones y Electronica. EXPO-CICE .96. 63