J. Software Engineering & Applications, 2010, 3: 436-445
doi:10.4236/jsea.2010.35049 Published Online May 2010 (http://www.SciRP.org/journal/jsea)
Copyright © 2010 SciRes. JSEA
Implementation of Hierarchical and Distributed
Control for Discrete Event Robotic
Manufacturing Systems
Gen’ichi Yasuda
Nagasaki Institute of Applied Science, Nagasaki, Japan.
Email: YASUDA_Genichi@NiAS.ac.jp
Received January 6th, 2010; revised January 22nd, 2010; accepted January 25th, 2010.
ABSTRACT
The large scale and complex manufacturing systems have a hierarchical structure where a system is composed several
lines with some stations and each station also have several machines and so on. In such a hierarchical structure, the
controllers are geographically distributed according to their physical structure. So it is desirable to realize the
hierarchical and distributed control. In this paper, a methodology is presented using Petri nets for hierarchical and
distributed control. The Petri net representation of discrete event manufacturing processes is decomposed and distributed
into the machine controllers, which are coordinated through communication between the coordinator and machine
controllers so that the decomposed transitions fire at the same time. Implementation of a hierarchical and distributed
control system is described for an example robotic manufacturing system. The demonstrations show that the proposed
system can be used as an effective tool for consistent modeling and control of large and complex manufacturing systems.
Keywords: Implementation, Robotic Manufacturing Systems, Hierarchical and Distributed Control, Discrete Event
Systems, Petri Nets
1. Introduction
Because of robot’s flexibility, industrial robots have been
introduced into industry to automate various operations
without significant redesign. This flexibility is derived
from the generality of the robot’s physical structure, con-
trol and reprogrammability, but it can only be exploited if
the robot can be programmed easily. In some cases, the
lack of adequate programming tools makes some tasks
impossible to be performed. In other cases, the cost of
programming may be a significant fraction of the total
cost of an application. Further, it is quite obvious that a
single robot cannot perform effective tasks in an industrial
environment, unless it is provided with some additional
equipment. It is usually required to integrate the robot into
the manufacturing system, which includes NC machine
tools, belt conveyors, and other special purpose machines.
Further, the robot often must interact with such machines,
other robots or operators.
These external processes are executing in parallel and
asynchronously. It is not possible to predict exactly when
events of interest to the robot program may occur. The
signal lines are supported by most robot systems to coor-
dinate multiple robots and machines, but this is a very
limited form of communication between processes. So-
phisticated tasks require efficient means for coordination
and for sharing the state of the system between processes.
The programming system should provide a mechanism for
specifying the behavior of systems more complex than a
single robot. Existing robot programming systems are
based on the view of a robot system as a single robot
weakly linked to other machines. Many machines may be
cooperating during a task. The interactions between them
may be highly dynamic. No existing robot programming
system adequately deals with all of these interactions. No
existing computer language is adequate to deal with this
kind of parallelism and real-time constraints.
The overall structure of the working area in a large and
complex manufacturing system consists of one or more
lines, each line consists of one or more stations, and each
station (shop or cell) consists of one or more machines
such as robots and intelligent machine tools. Inside of a
cell, machines execute cooperation tasks such as machining,
assembling and storing. Inside of a shop, cells cooperate
mutually and execute more complicated tasks. Further-
more each machine consists of several motion elements.
Implementation of Hierarchical and Distributed Control for Discrete Event Robotic Manufacturing Systems
Copyright © 2010 SciRes. JSEA
437
A task executed by a robot or an intelligent machine
tool can be seen as some connection of more detailed
subtasks. For example, transferring an object from a start
position to a goal position is a sequence of the following
subtasks; moving the hand to the start position, grasping
the object, moving to the goal position, and putting it on
the specified place. Thus the manufacturing system han-
dles complicated tasks by dividing a task hierarchically in
this structure, which is expected to be effective in man-
aging cooperation tasks executed by great many machines
or robots.
One of the effective methods to describe and control
such systems is the Petri net which is a modeling tool for
asynchronous and concurrent discrete event systems [1].
Conventional Petri net based control systems were im-
plemented based on an overall system model. The de-
scription capability of the Petri net is very high; never-
theless, in case of manufacturing systems, the network
model becomes complicated and it lacks for the readabil-
ity and comprehensibility. Since in the large and complex
systems, the controllers are geographically distributed
according to their physical (hardware) structure, it is de-
sirable to realize the hierarchical and distributed control.
The hierarchical and distributed control for large and
complex discrete event manufacturing systems has not
been implemented so far [2-4]. A Petri net model includes
control algorithms, and is used to control the manufac-
turing process by coincidence of the behavior of the real
system with the Petri net model. Thus, if it can be realized
by Petri nets, the modeling, simulation and control of
large and complex discrete event manufacturing systems
can be consistently realized by Petri nets [5-6]. In this
paper, the author presents a methodology by extended
Petri nets for hierarchical and distributed control of large
and complex robotic manufacturing systems, to construct
the control system where the cooperation of each con-
troller is implemented so that the aggregated behavior of
the distributed system is the same as that of the original
system and the task specification is completely satisfied.
2. Discrete Event Modeling of Robotic
Manufacturing Systems using Petri Nets
A manufacturing process is characterized by the flow of
workpieces or parts, which pass in ordered form through
subsystems and receive appropriate operations. Each
subsystem executes manufacturing operations, that is,
physical transformations such as machining, assembling,
or transfer operations such as loading and unloading.
From the viewpoint of discrete event process control, an
overall manufacturing process can be decomposed into a
set of distinct activities (or events) and conditions mutu-
ally interrelated in a complex form. An activity is a single
operation of a manufacturing process executed by a sub-
system. A condition is a state in the process such as ma-
chine operation mode.
For example, a simple robot operation example, where
the robot waits until a workpiece appears and then handles
the workpiece and sends it out for the next operation, can
be modeled as follows:
condition the robot is waiting
event a workpiece arrives
condition the workpiece has arrived and is waiting
event the robot starts the handling
condition the robot is handling the workpiece
event the robot finishes the handling
condition the handling has been completed
event the workpiece is sent for other operation
The above example illustrates a system where events
and conditions are mutually connected. These systems are
known as event-condition systems. Events simultaneously
represent the end of the preceding condition and the be-
ginning of the succeeding condition. Event-condition
systems exhibit the following features:
1) Asynchronism
The system is essentially asynchronous. Events always
occur when their conditions are satisfied.
2) Ordering
Before and after one condition there are always events,
and each event is defined by preconditions and post con-
ditions.
3) Parallelism
In one system two or more conditions can be held si-
multaneously and for this, events that do not interact may
occur independently.
4) Conflict
One condition can be a precondition of various events
and depending on which event is occurring, different
conditions hold.
Because of these features, the following phenomena
can occur in the event-condition system:
1) Deadlock occurs when the system enters into a state
that is not possible for any event to occur.
2) Bumping occurs when despite the holding of a con-
dition, the preceding event occurs. This can result in the
multiple holding of that condition. When the system is
free of this phenomenon, the system is called safe.
To represent discrete event manufacturing systems a
modeling technique was derived from Petri nets [7-8].
Considering not only the modeling of the systems but also
the actual manufacturing system control, the guarantee of
safeness and the additional capability of input/output
signals from/to the machines are required. The extended
Petri net consists of the following six elements: 1) Place; 2)
Transition; 3) Directed arc; 4) Token; 5) Gate arc; 6)
Output signal arc.
A place represents a condition of a system element or
action. A transition represents an event of the system. A
directed arc connects a place to a transition, and its direc-
tion shows the input and output relation between them.
Places and transitions are alternately connected using
Implementation of Hierarchical and Distributed Control for Discrete Event Robotic Manufacturing Systems
Copyright © 2010 SciRes. JSEA
438
directed arcs. The number of directed arcs connected with
places or transitions is not restricted. A token is placed in a
place to indicate that the condition corresponding to the
place is holding.
A gate arc connects a transition with a signal source,
and depending on the signal, it either permits or inhibits
the occurrence of the event which corresponds to the
connected transition. Gate arcs are classified as permis-
sive or inhibitive, and internal or external. An output
signal arc sends the signal from a place to an external
machine. A transition is enabled if and only if it satisfies
all the following conditions:
1) It does not have any output place filled with a token.
2) It does not have any empty input place.
3) It does not have any internal permissive arc signaling
0.
4) It does not have any internal inhibitive arc signaling 1.
An enabled transition may fire when it does not have
any external permissive arc signaling 0 nor any external
inhibitive arc signaling 1. The firing of a transition re-
moves tokens from all its input places and put a token in
each output place connected to it. The assignment of to-
kens into the places of a Petri net is called marking and it
represents the system state. In any initial marking, there
must not exist more than one token in a place. According
to these rules, the number of tokens in a place never ex-
ceeds one, thus, the Petri net is essentially a safe graph.
If a place has two or more input transitions or output
transitions, these transitions may be in conflict for firing.
When two or more transitions are enabled only one tran-
sition should fire using some arbitration rule. By the rep-
resentation of the activity contents and control strategies
in detail, features of discrete event manufacturing systems
such as ordering, parallelism, asynchronism, concurrency
and conflict can be concretely described through the ex-
tended Petri net.
3. Design of Hierarchical and Distributed
Control
The overall procedure for the design and implementation
of hierarchical and distributed control is summarized as
shown in Figure 1. The basic procedures of modeling
and decomposition of robotic manufacturing systems are
shown. A global, conceptual Petri net model is first cho-
sen which describes the aggregate manufacturing process.
At the conceptual level each task specification is repre-
sented as a place of the Petri net as shown, where the
activity of each equipment is also represented as a place.
Based on the hierarchical approach, the Petri net is
translated into detailed subnets by stepwise refinements
from the highest system control level to the lowest ma-
chine control level. At each step of detailed specification,
some parts of the Petri net, transitions or places, are sub-
stituted by a subnet in a manner, which maintains the
structural properties.
Start
Petri net modelling at the conceptual level
based on the task specification
Detailed Petri net representation of
the manufacturing processes
Decomposition of the Petri net and its
assignment to the machine controllers
Transformation of the Petri net in each controller
to the loadable data structure
Simulation experiment of the hierarchical and
distributed control system
Is the task specification satisfied?
End
YES
NO
Figure 1. Flow chart of Petri net based implementation of
hierarchical and distributed control system
It is natural to implement a hierarchical and distributed
control system, where one controller is allocated to each
control layer or block. For the manufacturing system, an
example structure of hierarchical and distributed control
is composed of one station controller and three machine
controllers as shown in Figure 2, although each robot
may be controlled by one robot controller. The detailed
Petri net is decomposed into subnets, which are executed
by each machine controller.
In the decomposition procedure, a transition may be
divided and distributed into different machine controllers
as shown in Figure 3. The machine controllers should be
coordinated so that these transitions fire in union. De-
composed transitions are called global transitions, and
other transitions are called local transitions.
Decomposed transitions must function in union, that is,
the aggregate behavior of decomposed subnets should be
the same as that of the original Petri net. By the Petri net
model, the state of the discrete event system is repre-
sented as the marking of tokens, and firing of any transi-
tion brings about change to the next state. So the firing
condition and state (marking) change before decomposi-
tion should be the same as those after decomposition.
The firability condition and external gate condition of a
transition j before decomposition are described as follows:
Implementation of Hierarchical and Distributed Control for Discrete Event Robotic Manufacturing Systems
Copyright © 2010 SciRes. JSEA
439


R
r
II
rj
Q
q
IP
qj
N
n
O
nj
M
m
I
mjj
kgkg
kpkpkt
1
,
1
,
1
,
1
,
)()(
)()()(



(1)

V
v
EI
vj
U
u
EP
uj
E
jkgkgkg
1
,
1
,)()()(

 (2)
where,
M
: input place set of transition
j
;
)(
,kpI
mj : state of input placemof transitionj at time
sequence k;
N: output place set of transitionj;
)(
,kpO
nj : state of output placenof transition
j
at time
sequence k;
Q: internal permissive gate signal set of transition
j
;
)(
,kg IP
qj : internal permissive gate signal variableqof
transition j at time sequence k;
R
: internal inhibitive gate signal set of transitionj;
)(
,kg II
rj : internal inhibitive gate signal variable
r
of
transition
j
at time sequence k;
U: external permissive gate signal set of transition
j
;
)(
,kg EP
uj : external permissive gate signal variable u
of transition
j
at time sequence k;
V: external inhibitive gate signal set of transition
j
;
Station controller
Robot
controller
MC
controller
Conveyor
controller
Machining
Center1 Conveyor2
Robot Machining
Center2
Conveyor1
Figure 2. Example structure of distributed control system
t1 t2
t11 t21 t12 t22t3 t4
decomposition
Station
controller
Machine
controller
t11,t21,t12,t22: global transition
t3,t4: local transition
Figure 3. Decomposition of transition
)(
,kg EI
vj : external inhibitive gate signal variablevof
transition jat time sequence k;
The state (marking) change, that is, the addition or
removal of a token of a place, is described as follows:
))()(()()1( ,, kgktkpkpE
jj
I
mj
I
mj  (3)
))()(()()1(,, kgktkpkp E
jj
O
nj
O
nj  (4)
If transition
j
is divided into
s
transitions 1j,2j, , ,s
j
,
the firability condition of a transition after decomposition
is described as follows:


Rsub
r
II
rjsub
Qsub
q
IP
qjsub
Nsub
n
O
njsub
Msub
m
I
mjsubjsub
kgkg
kpkpkt
1
,
1
,
1
,
1
,
)()(
)()()(



(5)

Vsub
v
EI
vjsub
Usub
u
EP
ujsub
E
jsub kgkgkg
1
,
1
,)()()(

 (6)
From Equation (1) and Equation (5),
S
sub
jsubjktkt
1
)()(
(7)
From Equation (2) and Equation (6),
)()(
1
kgkg
S
sub
E
jsub
E
j
(8)
where,
S: total number of subnets
Msub : input place set of transitionjsub of subnet
sub ;
)(
,kpI
mjsub : state of input placemof transitionjsubof
subnet sub at time sequence k;
Nsub : output place set of transitionjsub of subnet
sub ;
)(
,kpO
njsub : state of output placenof transitionjsub of
subnet subat time sequence k;
Qsub : internal permissive gate signal set of transi-
tion jsub of subnetsub ;
Rsub : internal inhibitive gate signal set of transi-
tion jsub of subnet sub ;
Usub : external permissive gate signal set of transi-
tion jsub of subnet sub ;
Vsub : external permissive gate signal set of transi-
tion jsub of subnet sub ;
Implementation of Hierarchical and Distributed Control for Discrete Event Robotic Manufacturing Systems
Copyright © 2010 SciRes. JSEA
440
The addition or removal of a token of a place con-
nected to a decomposed transition is described as fol-
lows:
))()(()()1( ,, kgktkpkp E
jj
I
mjsub
I
mjsub  (9)
))()(()()1( ,, kgktkpkp E
jj
O
njsub
O
njsub  (10)
Consequently it is proved that the firability condition
of the original transition is equal to AND operation of
firability conditions of decomposed transitions. If and
only if all of the decomposed transitions are enabled,
then the global transitions are enabled. To exploit the
above results, the coordinator program has been intro-
duced to coordinate the decomposed subnets so that the
aggregate behavior of decomposed subnets is the same as
that of the original Petri net.
There may exist a place which has plural input transi-
tions and/or plural output transitions. This place is called
a conflict place. The transitions connected to a conflict
place are in conflict when some of them are enabled at
the same time. In this case, only one of them fires and the
others become disabled. The choice for firing is done
arbitrarily using an arbiter program.
In case that a transition in conflict with other transi-
tions is decomposed as shown in Figure 4, these transi-
tions should be coordinated by the station controller. If
arbitration of the transitions is performed independently
in separate subnets, the results may be inconsistent with
the original rule of arbitration. Therefore the transitions
should be arbitrated together as a group. On the other
hand, arbitration of local transitions in conflict is per-
formed by local machine controllers.
The Petri net based control structure with introduction
of coordinator is shown in Figure 5. The control soft-
ware is distributed into the station controller and machine
controllers. The station controller is composed of the
Petri net based controller and the coordinator. The con-
ceptual Petri net model is allocated to the Petri net based
controller for management of the overall system. For
cooperative or exclusive tasks between robots, global
transitions at the station controller are used to communi-
cate the status of the robots. The detailed Petri net mod-
els are allocated to the Petri net based controllers in the
machine controllers. Each machine controller directly
monitors and controls the sensors and actuators of its
machine.
The control of the overall system is achieved by coor-
dinating these Petri net based controllers. System coor-
dination is performed through communication between
the coordinator in the station controller and the Petri net
based controllers in the machine controllers as the fol-
lowing steps.
1) When each machine controller receives the start
signal from the coordinator, it tests the firability of all
decomposition
t1
t2
t3
t1
t21
t22
t3
t21,t22: global transition
t1,t3: local transition
Figure 4. Decomposition of transition in conflict
Station
controller
Mac hi ne
controller
Global model
Machine 1 model
Machine 1 Machine N
Machine N model
Coordinator
Petri net engine
Petri net engine Petri net engine
Firability test result of
global transitions in
machine 1 model
Determination of firing
global transitions
Firability test result of
global transitions in
machine N model
Figure 5. Petri net based control structure with coordinator
transitions in its own Petri net, and sends the information
on the global transitions and the end signal to the coor-
dinator.
2) The coordinator tests the firability of the global
transitions, arbitrates conflicts among global and local
transitions, and sends the names of firing global transi-
tions and the end signal to the machine controllers.
3) Each machine controller arbitrates conflicts among
local transitions using the information from the coordi-
nator, generates a new marking, and sends the end signal
to the coordinator.
4) When the coordinator receives the end signal from
all the machine controllers, it sends the output command
to the machine controllers.
5) Each machine controller outputs the control signals
to its actuators.
Multilevel hierarchical and distributed control for
large and complex manufacturing systems can be con-
structed such that the control system structure corre-
sponds to the hierarchical and distributed structure of the
general manufacturing system. The coordination mecha-
Implementation of Hierarchical and Distributed Control for Discrete Event Robotic Manufacturing Systems
Copyright © 2010 SciRes. JSEA
441
nism is implemented in each layer repeatedly as shown in
Figure 6. The overall system is consistently controlled,
such that a coordinator in a layer coordinates one-level
lower Petri net based controllers and is coordinated by
the one-level upper coordinator.
The details of coordination in a two-level control sys-
tem composed of a global controller and several local
controllers have been implemented as shown in Figure 7.
4. Implementation of Control System
4.1 Example of Workstation Task
The basic procedures of modeling and decomposition of
robotic manufacturing systems are shown through a sim-
ple example. The example robotic manufacturing system
is composed of two input conveyors, two machining
centers, one handling robot, and one output conveyor as
shown in Figure 8.
System
controller
Line
controller
Station
controller
Machine
controll e r
: Coordinator
: Petri net based controller
Figure 6. Hierarchical and distributed control structure for
overall manufacturing system
Holding of external gates
Firability test of all transitions
Firability test of global transitions
Arbitration of conflicts concerning global transitions
Determination of firing global transitions
Arbitration of conflicts among local transitions
Generation of a new marking
Reception of end signal from its local controllers
Output of control signals to its actuators
Start
Local coordinator Petri net based
controller
from
coordinator
to coordinator
Holding of external gate
s
Firability test of all transition
Firability test of global transitions
Arbitration of conflicts concerning global transitions
Determination of firing global transitions
Arbitration of conflicts among local transition
s
Generation of a new marking
Reception of end signal from the global controller
and all local coordinators
End
Sta r t
Global coordinator Petri net based
controller
to subsystems
from
subsystems
Figure 7. Flowchart of coordination in two-level control system
Implementation of Hierarchical and Distributed Control for Discrete Event Robotic Manufacturing Systems
Copyright © 2010 SciRes. JSEA
442
CV2
CV1
MC1 MC2
CV3
Robot
A B
A B
A
B
A B B
Figure 8. Example of robotic manufacturing system
The task specification of each equipment with the
names of subtasks is as follows.
1) The conveyor CV1 carries a workpiece of type A
into the workcell (CIN_A).
2) The conveyor CV2 carries a workpiece of type B
into the workcell (CIN_B).
3) The robot loads the workpiece of type A into the
machining center MC1 (LDA_MC1).
4) The robot loads the workpiece of type B into the
machining center MC1 (LDB_MC1).
5) The robot loads the workpiece of type B into the
machining center MC2 (LDB_MC2).
6) The machining centers process the workpieces each
(PR_MC1, PR_MC2).
7) The robot unloads the processed workpiece from
the machining center MC1 and carries them to the con-
veyor CV3 (UNLD_MC1).
8) The robot unloads the processed workpiece from
the machining center MC2 and carries them to the con-
veyor CV3 (UNLD_MC2).
9) The conveyor CV3 carries the workpiece away
(COUT).
4.2 Petri Net Based Modeling
From the viewpoint of the flow of workpieces, the task
specification is summarized by Petri nets as shown in
Figure 9.
LDA_MC1 PR_MC1 UNLD_MC1
CIN_A COUT
LDB_MC1 PR_MC1
UNLD_MC1
CIN_B COUT
LDB_MC2 PR_MC2
UNLD_MC2
CIN_B COUT
Figure 9. Petri net representation of the task specification of
the example system
A global, conceptual Petri net model is first defined
which describes the aggregate manufacturing process. At
the conceptual level each task specification is represented
as a place of the Petri net as shown in Figure 10, where
the activity of each equipment is also represented as a
place. Activities of the conveyor CV2, the machining
center MC1 and the robot should be arbitrated based on
the global Petri net model, because the places have two
or more input/output transitions.
Based on the hierarchical approach, Petri nets are
translated into detailed subnets by stepwise refinements
from the highest system control level to the lowest ma-
chine control level [6]. At each step of detailed specifica-
tion, some places of the Petri net are substituted by a
subnet in a manner, which maintains the structural prop-
erties. Figure 11 shows the detailed Petri net representa-
tion of subtasks: loading, processing and unloading in
Figure 10.
The transitions among associated machines in the de-
tailed Petri net representations imply the cooperative
control structure in the overall system. For example,
loading a workpiece of type A necessitates the coopera-
tive or synchronized activities among the conveyor CV1,
the machining center MC1, and the robot. First, “for-
ward” operation to carry a workpiece is performed by the
CV1
CV2 CV
3
MC2
MC1
LDB_MC1
LDA_MC1
PR_MC1
PR_MC2 UNLD_MC2
UNLD_MC1
LDB_MC2
CIN_A
CIN_B
COUT
1
2
3
4 5
6
7
8
9
10
11
12
13
LDA_MC1
LDB_MC1
LDB_MC2
UNLD_MC1
UNLD_MC2
Robot
2 3
7 9
8 10
4 5
11 12
Figure 10. Petri net representation of the example system at
the conceptual level
Implementation of Hierarchical and Distributed Control for Discrete Event Robotic Manufacturing Systems
Copyright © 2010 SciRes. JSEA
443
Forward Waiting Fixing
Grasp Moving
Waiting
Put on Moving Waiting
(CV1)
(Robot)
(MC1)
2
3
(a) Loading A to MC1 (LDA_MC1)
Forward Waiting Fixing
Grasp Moving
Waiting
Put on Moving Waiting
(CV2)
(Robot)
(MC1 or 2)
7
8
9
10
(b).Loading B into MC1 or MC2 (LDB_MC1, LDB_MC2)
Backward Positioning Machining Forward Unfix ing
3,9
10
4
11
(c) Processing (PR_MC1, PR_MC2)
Waiting
Grasp Moving
Waiting
Put on Moving
(MC1 or 2)
(Robot)
(CV3)
4
11
5
12
(d) Unloading A or B (UNLD_MC1, UNLD_MC2)
Figure 11. Detailed Petri net representation of subtasks
conveyor CV1. At the end of “forward” operation, when
the robot is free, the “loading” operation is started. The
conveyor CV1 starts waiting, the robot starts moving to
grasp the workpiece, and the machining center starts
moving forward to get the workpiece from the robot.
After holding the workpiece, the robot starts moving to
put it on the machining center and the conveyor CV1 is
free. After putting on, the machining center starts fixing
the workpiece, while the robot is waiting. After fixing the
workpiece, the “loading” operation is finished.
4.3 Control System Design and Experiments
For the manufacturing system, an example structure of
hierarchical and distributed control is composed of one
station controller and three machine controllers (Figure
2). The Petri net executed in each machine controller is
shown in Figure 12, simply by extracting the specified
sequences of subtasks in the detailed Petri nets. For the
implementation of the Petri net based control algorithm,
Waiting
Put on
Put on
Grasp
Grasp
(Loading A into MC1)
(Unloading from MC1)
Moving
Moving
Moving
Moving
Waiting
Put on Grasp
(Loading B into MC1)
Moving Moving
Waiting
Put on Grasp
(Loading B into MC2)
Moving Moving
Put on
Grasp
(Unloading from MC2)
Moving Moving
21 211 212 213 214 31
71 711 712 713
714 91
81 811 812 813
814 101
41
111
411
1111 1112 1113
413
412 51
121
(a) Robot controller
Processing
Fixing Waiting
Waiting (B)
Forward
(MC1: Fixing and processing A or B)
(MC2: Fixing and processing B)
Processing
Fixing
Waiting
Waiting (A)
Forward
22
82
221 222 32
42 421
821 822 102 112
1121
Fixing
Waiting (B)
Forward
72 92
721 722
(b) MC controller
Forward Waiting
Forward
Waiting
Forward
(CV1: Carrying A to workcell; MC1)
(CV2: Carrying B to workcell; MC1 or MC2)
(CV3: Carrying out from MC1 or MC2)
23
73
231
731
43
53
301
302
303
Waiting
Waiting
Waiting
732
74
44
304
(c) Conveyor controller
Figure 12. Petri net representation of machine controllers
( : global transition)
Implementation of Hierarchical and Distributed Control for Discrete Event Robotic Manufacturing Systems
Copyright © 2010 SciRes. JSEA
444
a transition of a Petri net model is defined using the
names of its input places and output places; for example,
t1-1=p1-1, -p1-11, where the transition no.1 (t1-1) of the
subsystem no.1 is connected to the input place no.1 and
the output place no.11. Using the names of transitions,
global transitions are defined; for example, G1=t1-1, t2-1,
t3-1 indicates that the global transition G1 is composed
of the transition no.1of the subsystem no.1 (Robot con-
troller), the transition no.1 of the subsystem no.2 (MC
controller), and the transition no.1 of the subsystem no.3
(Conveyor controller). Then, the global transitions with
comments of the example control system are as follows.
G1= t1-21, t2-22, t3-23 (start of loading A from CV1);
G2= t1-212, t3-231 (end of grasp A on CV1);
G3= t1-214, t2-222 (end of put A on MC1);
G4= t1-31, t2-32 (end of loading A into MC1);
G5= t1-71, t2-72, t3-73 (start of loading B from CV2);
G6= t1-712, t3-731 (end of grasp B on CV2);
G7= t1-714, t2-722 (end of put B on MC1);
G8= t1-91, t2-92 (end of loading B into MC1);
G9= t1-81, t2-82, t3-74 (start of loading B from CV2);
G10= t1-812, t3-731 (end of grasp B on CV2);
G11= t1-814, t2-822 (end of put B on MC2);
G12= t1-101, t2-102 (end of loading B into MC2);
G13= t1-41, t2-42, t3-303(start of unloading from MC1);
G14= t1-412, t2-421 (end of grasp on MC1);
G15= t1-51, t3-43 (end of put on CV3);
G16= t1-111, t2-112, t3-304 (start of unloading from MC2);
G17= t1-1112, t2-1121 (end of grasp on MC2);
G18= t1-121, t3-44 (end of put on CV3);
The hierarchical and distributed control system has
been realized using a set of PCs. Each machine controller
is implemented on a dedicated PC. The station controller
is implemented on another PC. Communications among
the controllers are performed using serial communication
interfaces. A Petri net model includes control algorithms,
and is used to control the manufacturing process by coin-
cidence of the behavior of the real system with the Petri
net model.
The names of global transitions and their conflict rela-
tions are loaded into the coordinator in the station con-
troller. The connection structure of a decomposed Petri
net model and conflict relations among local transitions
are loaded into the Petri net based controller in a machine
controller. By executing the coordinator and Petri net
based controllers algorithms based on loaded information,
simulation experiments have been performed. The Petri
net simulators in the machine controllers initiate the
execution of the subtasks attached to the fired transitions
through the serial interface to the robot or other external
machine. When a task ends its activity, it informs the
simulator to proceed with the next activations by the ex-
ternal permissive gate arc. A machine controller controls
one or more machines or robots using multithreaded pro-
gramming [9]. Experimental results show that the de-
composed transitions fire at the same time as the original
transition of the detailed Petri net of the whole system
task. Firing transitions and marking of tokens can be di-
rectly observed on the display at each time sequence us-
ing the simulator as shown in Figure 13 [10].
Figure 13. View of Petri net simulator at the station controller
Implementation of Hierarchical and Distributed Control for Discrete Event Robotic Manufacturing Systems
Copyright © 2010 SciRes. JSEA
445
5. Conclusions
A methodology to construct hierarchical and distributed
control systems, which correspond to the structure of
manufacturing systems, has been presented. The overall
control structure of an example robotic manufacturing
system was implemented using a communication net-
work of PCs, where each machine controller is realized
on a dedicated PC. The Petri net based control software
is distributed into the station controller and machine
controllers; the station controller executes the conceptual
Petri net, and the machine controllers execute decom-
posed subnets. The controllers are arranged according to
the hierarchical and distributed nature of the man-
ufacturing system. The control software does not use the
overall system model, and the decomposed Petri net
model in each machine controller is not so large and
easily manageable. Machine controllers are coordinated
such that decomposed transitions fire at the same time
and the task specification is completely satisfied. The
Petri net model includes the control algorithm; control is
executed in order that the behaviour of the Petri net
model is in correspondence with that of the real system.
Thus modeling, simulation and control of large and
complex manufacturing systems can be performed
consistently using Petri nets. The experimental control
system uses conventional PCs with serial interfaces, but
the performance of the control system can be improved
using dual port shared memory and high-speed serial
interfaces for communication between controllers.
REFERENCES
[1] W. Reisig, “Petri Nets,” Springer-Verlag, Berlin, 1985.
[2] M. Silva, “Petri Nets and Flexible Manufacturing,” In G.
Rozenberg, Ed., Advances in Petri Nets 1989, Lecture
Notes in Computer Science, Springer-Verlag, Vol. 424,
1990, pp. 374-417.
[3] A. D. Desrochers and R. Y. Al-Jaar, “Applications of
Petri Nets in Manufacturing Systems: Modeling, Control
and Performance Analysis,” IEEE Press, 1995.
[4] E. J. Lee, A. Togueni, and N. Dangoumau, “A Petri Net
Based Decentralized Synthesis Approach for the Control
of Flexible Manufacturing Systems,” Proceedings of the
IMACS Multiconference Computational Engineering in
Systems Applications, Lille, 2006.
[5] G. Bruno, “Model-based Software Engineering,” Chap-
man & Hall, 1995.
[6] V. O. Pinci and R. M. Shapiro, “An Integrated Software
Development Methodology Based on Hierarchical Col-
ored Petri Nets,” In G. Rozenberg, Ed., Advances in Petri
Nets 1991, Lecture Notes in Computer Science, Springer
Verlag, Vol. 524, 1991, pp. 227-252.
[7] K. Hasegawa, K. Takahashi and P. E. Miyagi, “Applica-
tion of the Mark Flow Graph to Represent Discrete Event
Production Systems and System Control,” Transactions
of the SICE, Vol. 24, No. 1, 1988, pp. 69-75.
[8] P. E. Miyagi, K. Hasegawa and K. Takahashi, “A Pro-
gramming Language for Discrete Event Production Sys-
tems Based on Production Flow Schema and Mark Flow
Graph,” Transactions of the SICE, Vol. 24, No. 2, 1988,
pp. 183-190.
[9] G. Yasuda, “Distributed Control of Multiple Cooperating
Robot Agents Using Multithreaded Programming,” Pro-
ceedings of the 16th International Conference on Produc-
tion Research, Prague, 2001.
[10] G.Yasuda, “Implementation of Distributed Cooperative
Control for Industrial Robot Systems Using Petri Nets,”
Preprints of the 9th IFAC Symposium on Robot Control,
Gifu, 2009, pp. 433-438.