SOL
VING THE FEEDER ASSIGNMENT ON A REVOLVER-HEAD
GANTRY MACHINE
Py
¨
otti
¨
al
¨
a Sami, Knuutila Timo
Department of Information Technology, University of Turku, FI-20014 Turun yliopisto, Finland
Johnsson Mika
Valor Computerized Systems (Finland) Oy, Ruukinkatu 2, 20540 Turku, Finland
Nevalainen Olli S.
Department of Information Technology, University of Turku, FI-20014 Turun yliopisto, Finland
Keywords:
Printed circuit boards, Electronics assembly, Multi-spindle placement machines, Revolver-head, Nozzle,
Gantry machines, Optimization, Production control.
Abstract:
Revolver-head gantry machines are nowadays very popular because of their flexibility, accuracy and high
enough placement speed. In the optimization of this machine type the selection of nozzles into the placement
head, the order of the component reels in feeder slots, and the pick-up and placement sequences have to be
considered.
In this article, it is assumed that the selection of nozzles and the pick-up and placement sequences are fixed and
the feeder assigment is to be solved. The problem statement is formed by analysing the operation properties
of a real placement machine. Contrarily to previous literature dealing with this problem, in this work each
component can be picked up only by a certain type of nozzle. Finally, four algorithms for solving the problem
are proposed and tested. In the experimental tests with realistic data the algorithms performed equally.
1 INTRODUCTION
Electronic devices having at least one printed circuit
board (PCB) inside have become more common in
the last 20 years. The PCBs are used not only in the
consumer electronics but also for example in cars and
as parts of other bigger products. It is typical that a
great number of PCBs of the same type are produced
in batches and their manufacturing is done in assem-
bly lines which normally comprise of multiple place-
ment machines.
Research on optimisation problems of placement
machines dates to late 80’s (Ball and Magazine, 1988;
Leip
¨
al
¨
a and Nevalainen, 1989) and it has continued
actively through years to these days. There are cur-
rently several different types of placement machines
in use. They all have their own technical properties
and are suitable for different types of assembly tasks,
see e.g. (Ayob and Kendall, 2008) for thorough re-
view of different machines, their features and occur-
ring problems in every machine context.
There is a lot of literature that concerns the optimi-
sation of the operations of different types of machines
except for revolver-head gantry machines. However,
this machine type is very popular in industry at the
moment. In particular, this deals with the feeder as-
signment and pick-up-and-place scheduling problems
of this machine type. One can find two main trends in
the literature on the subject. While there are methods
using an evolutionary approach and solving the feeder
assignment and plamecent sequence at the same time
(Ho and Ji, 2004; Kulak et al., 2007), the others ap-
proach these two problems using hierarchic methods,
see (Grunow et al., 2004; Lee et al., 1999; Sun et al.,
2004; Ho et al., 2007).
In this article, controlling of revolver-head gantry
machines is discussed. These machines are known
with several names: multi-spindle gantry place-
ment machines, a revolver-head gantry machines, a
revolver-head machines and collect-and-place ma-
chines. See (Ayob and Kendall, 2008) for an illustra-
tion of the parts of this machine type. Note, that the
placement head of the collect-and-place-machine can
also be organised in different way so that the place-
75
Pyöttiälä S., Knuutila T., Johnsson M. and Nevalainen O. (2009).
SOLVING THE FEEDER ASSIGNMENT ON A REVOLVER-HEAD GANTRY MACHINE.
In Proceedings of the 6th International Conference on Informatics in Control, Automation and Robotics - Intelligent Control Systems and Optimization,
pages 75-80
DOI: 10.5220/0002213000750080
Copyright
c
SciTePress
ment head is a linear array of spindles.
In the revolver-head gantry machine the PCB to
be manufactured is kept on the table at a fixed loca-
tion. The placement head of the machine moves in
the (x, y)-plane on the PCB and the feeder unit. The
placement head is also called revolver-head or even
an arm. It picks up the neccessary components from
the feeder unit that is located on the side (or sides) of
the machine and then mounts them on the PCB.
The placement head is moved by three step mo-
tors which run independently. The first one moves
the whole gantry on its rails (in x-direction). The sec-
ond motor moves the revolver-head on the gantry (in
y-direction) and the third motor is used to rotate the
revolver-head.
The revolver-head is equipped with multiple spin-
dles, typically 6-12. Each spindle can hold a noz-
zle which can grab a component. There are many
different types of component nozzles. Each compo-
nent type requires a compatible nozzle. The shape of
a component defines what type of nozzle should be
used for grabbing it. It is also possible that a certain
nozzle type is compatible with several different com-
ponent types.
The feeder unit is divided into a set of feeder slots
of fixed width (typically 8 mm). The slots are loaded
with component tapes in which the components are
stored one after the other. There are only components
of the same type in each tape. Usually, the dimen-
sions of the components are notably smaller than 8x8
mm and they fit a 8 mm tape. However, there are also
wider components which are supplied in wider tapes,
for example 16 mm. These tapes occupy more than
one feeder slots but their use is similar to that of nar-
row tapes.
At a high abstraction level, revolver-head gantry
machines operate in cycles of four phases:
1. pick-up-phase
2. travel onto the PCB -phase
3. placement-phase
4. travel onto the feeder -phase
While there are slight differences in the opera-
tion principles of different machines, we consider a
case, where the design of the machine includes the
following details: In the first phase, the revolver-head
moves on the feeder unit and collects one component
after the other from the right feeder slots keeping the
component tapes. Between two pick-up events the
revolver-head has to rotate at least one step to get
an empty nozzle operable. It is also possible that the
revolver-head has to move in the x-direction (which is
parallel to the length of the feeder unit) onto a correct
feeder slot. The revolver can rotate while it is mov-
ing to the next pick-up location. In the pick-up-phase,
we suppose that the revolver never rotates more than
360
and it can leave one or more nozzles empty by
skipping them during the pick-ups.
After at least one component has been picked up
the placement head moves onto the PCB area. This
is called travel onto the PCB -phase. During this
movement, the revolver rotates so that the component
which was picked up first in the pick-up-phase can
be placed immediately after the head has reached the
placement location.
In the placement-phase, the collected components
are placed onto the PCB in their correct locations in
the same order as they were picked up. The rotation
limit of 360
concerns this phase, also. Finally, the
empty revolver-head is moved back onto the feeder
unit and rotated so that the suitable nozzle for the next
component to be picked up is operable again.
If for example 180 components have to be placed
on a single PCB the gantry machine with revolver
spindle count of 12 makes at least 15 tours described
above. However, this requires that all the nozzles are
loaded in every single tour. In practice, it is usually
impossible to get full loads because of component-
nozzle incompatibilities. If the next nozzle in the re-
volver is not compatible with the next component that
should be picked up, the revolver is rotated more than
one step forward.
There are placement machines that can change
nozzles automatically during the manufacturing pro-
cess but in many cases the change-process takes
too much time and it is therefore avoided. On the
otherhand, in some placement machines the nozzle
changes can be done only manually and the placement
process has to be stopped for doing that.
A setup operation (i.e. change of component tape
reels, conveyor belt adjustment etc.) of the placement
machine must be performed before the machine can
manufacture any new PCB types. At least the follow-
ing decicions have then to be made:
1. assign the component types into the slots of the
feeder unit,
2. define the set of component nozzles and their or-
der in the revolver-head, and
3. define the sequence and tours in which compo-
nents are picked up and placed.
It has been commonly assumed in previous liter-
ature that each nozzle can grab any type of compo-
nent exist, so there has not been a need to solve the
nozzle selection for the revolver-head. However, the
situation is often more complicated in practice. The
consideration of the nozzle-component compatibility
ICINCO 2009 - 6th International Conference on Informatics in Control, Automation and Robotics
76
is one of the aspects which tends to make the design
of the machine control more difficult. If it is assumed
(as it is often done) that every nozzle can pick up any
type of component in a single machine then we also
have to assume that there are (even for narrow compo-
nent types) multiple machines in the production line
and components are divided among them so that uni-
versal nozzle compatibility is achieved in every ma-
chine. Algorithms for deciding the nozzle selection of
the revolver are proposed in (Py
¨
otti
¨
al
¨
a et al., 2006).
The goal of this article is to find such a feeder
setup that minimizes the assembly cycle time (ACT)
of the single multi-spindle gantry machine. We sup-
pose that sequence of component placements and the
assignment of nozzles for the head are fixed. We thus
consider a subproblem of the total machine control
problem. It is assumed that a significant number of
PCBs of the same type are manufactured. This set of
PCBs is called a batch. Here, ACT is the time required
to manufacture a single PCB in the batch. Clearly,
minimizing ACT minimizes also the time requirement
of the whole batch.
We formulate the Optimal Feeder Assignment
problem (OFA) in Section 2. The formulation is then
used in four heuristics to solve the problem in Sec-
tion 3. In this formulation we omit the possibility
of duplicate compoment tapes in the feeder unit and
the delays caused by camera inspections. Further, we
suppose that the nozzle-to-arm assignment is fixed for
the whole PCB job and revolver rotations can be done
in parallel with the head movements. Results of the
heuristics are compared with a lower bound in Sec-
tion 4.
2 PROBLEM STATEMENT
2.1 Notation and Terminology
The discussion of the previous section leads to the fol-
lowing notation which can be used to describe the de-
termination of ACT.
the set of component types CT = {ct
1
, . . . , ct
m
}
the recipe of a PCB i.e. the set of components
and their locations C = {c
1
, . . . , c
n
}, where c
i
=
(t, (x
i
, y
i
)) such that t CT and (x
i
, y
i
) R
2
the set of nozzle types NT = {nt
1
, . . . , nt
l
}
for convenience, the location of a component on
the PCB is also given by function cl : C 7→ R
2
the type of component is given by function ct :
C 7→ CT
the location of the component of a certain type in
the feeder is given by function f l : CT 7→ R
2
the nozzle requirement of a certain component
type is given by function nt : CT 7→ NT
the nozzle sequence of the revolver-head i.e. an
arm is α = (n
1
, . . . , n
k
), where n
i
NT
distance (Chebychev) between two locations is
given by function d : R
2
× R
2
7→ R so that
d((x
1
, y
1
), (x
2
, y
2
)) = max(|x
1
x
2
|, |y
1
y
2
|)
time required by the revolver-head to travel a cer-
tain distance is given by function tt : R 7→ R
function re : C × α 7→ N gives the number of ro-
tation steps required to rotate the revolver-head so
that the next suitable empty nozzle can pick up a
certain component
function r f : C × α 7→ N gives the number of ro-
tation steps required to rotate the revolver-head so
that the next nozzle that holds a component can
place it
time required by the revolver-head to rotate cer-
tain steps forward is given by function rt : N 7→ R
pt is a constant time that a single pick-up or place-
ment takes
A permutation of PCB recipe C is called a job and
it determines an order in which the components can be
placed on the PCB. Each component of set C occurs
exactly once in a permutation. Often, we use sym-
bol W for a job and it can be partitioned into p sep-
arate subjobs such that W = W
1
·W
2
···W
p
. (The par-
titioning is discussed for example in (Knuutila et al.,
2007).)
Definition 1.1 Given arm α of size k and any par-
tition of job W
i
= (c
i
1
, c
i
2
, . . . , c
i
s
), where s k. We say
that α can pick up W
i
if and only if W
i
is a subsequence
of α.
Definition 1.2 Given arm α and job W = W
1
·
W
2
···W
p
. We say that α can execute W if and only
if α can pick up each W
i
.
2.2 Assembly Cycle Time
Suppose that job W of length n, arm α of size k and
functions as above in section 2.1 are given. Further,
let us assume that α can execute W in p separate pick-
up and placement tours and the revolver-head (arm) is
initially located at the park position (x
pp
, y
pp
). The
assembly cycle time can then be defined as follows
ACT (W, α) = cost
1
+
p1
i=2
µ
cost
i
+ cost
p
,
SOLVING THE FEEDER ASSIGNMENT ON A REVOLVER-HEAD GANTRY MACHINE
77
where cost
1
is the time consumed in travelling
from park position to the location of the feeder slot of
the first component type, cost
i
is the time that passes
in the ith tour of the process and cost
p
is the time of
the last tour and travel time from last placement loca-
tion to the park position. We denote by
cost
1
= tt(d((x
pp
, y
pp
), f l(ct(c
1
1
)))),
cost
i
= pt +
|W
i
|−1
j=1
(cost
pickup
i, j
) + cost
travel PCB
i
+ pt
+
|W
i
|−1
j=1
(cost
place
i, j
) + cost
travel f eeder
i
,
and
cost
p
= pt +
|W
p
|−1
j=1
(cost
pickup
p, j
) + cost
travel PCB
p
+ pt
+
|W
p
|−1
j=1
(cost
place
p, j
) +tt(d(cl(c
p
|W
p
|
), (x
pp
, y
pp
))),
furthermore,
cost
pickup
i, j
= max
Ã
tt
µ
d
µ
f l(ct(c
i
j
)), f l(ct(c
i
j+1
))
¶¶
,
rt
µ
re(c
i
j+1
, α)
!
+ pt,
cost
travel PCB
i
= tt(d( f l(ct(c
i
|W
i
|
)), cl(c
i
1
)),
cost
place
i, j
= max
Ã
tt
µ
d
µ
cl(c
i
j
), cl(c
i
j+1
)
¶¶
,
rt
µ
r f (c
i
j+1
, α)
!
+ pt,
and
cost
travel f eeder
i
= tt(d(cl(c
i
|W
i
|
), f l(ct(c
i+1
1
)).
Note, that revolver-head rotations and (x, y)-
travels are simultaneous operations and one has there-
fore considered which one of these takes longer time
(c.f. formulae for cost
pickup
i, j
and cost
place
i, j
).
We still summarize the assumptions relating the
operation principle of the placement machine.
Placement head may rotate at most 360
in a sin-
gle pick-up phase. This concerns also the place-
ment phase.
The nozzle setup of arm α has at least one nozzle
of each type that the executing of job W requires.
There can be multiple nozzles of the same type in
the arm.
Note, that in our model the number of nozzle
types required by W is 1 instead of being = 1.
(This makes a difference from earlier literature on
revolver-head gantry machines.)
Now, the main problem of this work can be stated
as
Optimal Feeder Assignment Problem (OFA).
Given recipe C, job W and its partition W = W
1
·
W
2
···W
p
, arm α of size k and functions as above (ex-
cept f l). Assign component types to feeder slots so
that ACT (W, α) is minimized.
3 SOLVING OFA
In this section four different strategies to solve the
OFA problem are proposed. The first strategy eval-
uates simply a set of random feeder assignments. In
the second strategy, the neighborhood of the compo-
nents on the PCB is analysed and the feeder assign-
ment rests on that analysis. This method has been
proposed before in (Grunow et al., 2004). The last
two strategies are based on the frequencies of the dif-
ferent component types in a PCB recipe. The four
methods are described in more detail in the following
subsections.
3.1 Random Sample Feeder Assignment
The random strategy (random) to decide the feeder
assignment is straightforward: a constant number (in
our case 10000) of suitable random feeder assign-
ments are formed and their ACTs are calculated. The
feeder assignment with the lowest ACT is the result of
the search process.
3.2 MST-based Feeder Assignment
Grunow et al. (Grunow et al., 2004) used a minimum
spanning tree (MST) for the analysis of the neigh-
bourhood of components on the PCB. Here, the same
idea is applied in algorithm mst.
At the beginning, a fully connected graph of all
component placement points on the PCB is formed
and the MST of this graph is solved. In the next phase
the number of the neighbours in the MST is calculated
for each component type. Then the different compo-
nent types are put in a priority queue using the num-
ber of the neighbours as a priority index. Finally, the
ICINCO 2009 - 6th International Conference on Informatics in Control, Automation and Robotics
78
component type with the highest priority index gets
the feeder slot which is at the center of the feeder unit.
The component type with the second highest index is
then put on the left side of the first one and the third
goes to the right side of the first. This dealing process
is iterated until all component types in the queue have
been assigned to some feeder slot.
3.3 Frequency-based Feeder
Assignment
In this method (freq), the frequencies of the compo-
nent types of the PCB recipe are calculated and used
as priority indices. The feeder slots are then occupied
in the same way as in 3.2.
3.4 Frequency-based Balanced Feeder
Assignment
Frequency based feeder assignment of subsection 3.3
may lead into a very unbalanced configuration if there
are big differences in the number of every second
component type. For example, the left half of the
feeder unit may feed a significant amount of the com-
ponents. This can be avoided if the next component
type in the priority queue is always assigned on the
side which has less components to feed at the mo-
ment. This heuristic (freq bal) implements the bal-
ancing property which leads to a more balanced out-
come in terms of feeded components. However, the
other parts of this method follow the heuristic of sub-
section 3.3 closely.
4 EXPERIMENTAL TESTS
In this section, the results of a set of numerical test
with the four heuristics of section 3 are discussed.
There are 43 different PCB recipes based on genuine
products but they differ from originals slightly. All of
them are parts of the actual PCBs because the original
PCBs were assembled in a production line of four dif-
ferent placement machines and this article concerns
the production control of a single machine. The mod-
ifications of the PCBs were done by deleting random
periods from the original recipies so that the require-
ments of different nozzles and the number of feeder
slots needed met the limits of a single gantry machine.
The characteristics of the test PCB-recipe set are
shown in Table 1. The technical properties of the
placement machine are presented in Table 2 and they
mainly follow those used in (Kulak et al., 2007).
Table 1: Dimensions and number of components and com-
ponent types in the tests with 43 PCBs.
min number of comp. on PCB 34
max number of comp. on PCB 199
smallest board size (mm) 125.5 x 127.8
largest board size (mm) 400 x 255.2
min number of comp. types on PCB 1
max number of comp. types on PCB 40
During the tests, the nozzle selection of the
revolver-head and the placement sequence were fixed.
The feeder assignment was then solved using the
heuristics and ACT was calculated for each of the so-
lutions. A theoretic lower bound (described below)
was also calculated using the written software.
The average values of ACTs of the 43 test cases
are shown for the heuristics in Table 3. The table also
shows an average ACT for the theoretic lower bound
(theoretic) in which the ACT has been calculated for
the case where all components are picked up from the
center of the feeder unit and placed onto a placement
point which is closest to the center slot of the feeder.
The ACTs for all 43 test cases are presented graphi-
cally in Figure 1. The figure shows that there is no
statistically significant difference (tested in Excel, t-
test) in the efficiency of the different heuristics.
However, the ACTs calculated from the results of
heuristics were clearly longer than the theoretic lower
bound yielded which was naturally expected.
Because the test results of the different methods
are equal it can be asked if the optimization of the
placement process of the revolver-head gantry ma-
chines should be focused more on the placement se-
quencing and on selecting a suitable combination of
nozzles into the revolver-head than on the feeder as-
signment.
Heuristics proposed in this article give a feasible
enough solution for the feeder assignment problem
and the placement sequence can be solved for a feeder
assignment which has been determined by OFA. (Of
course, it is also possible to solve these problems at
the same time, for example using genetic approach,
see (Kulak et al., 2007).) Even the trivial sampling
method (in section 3.1) that randomly generates dif-
ferent solutions produced as good results as the more
advanced heuristics. This encourages to think that be-
cause the rotation of the revolver takes time anyway
between two pick-ups, the order of the component
types in the feeder is not so critical when it comes
to ACT.
SOLVING THE FEEDER ASSIGNMENT ON A REVOLVER-HEAD GANTRY MACHINE
79
Table 2: Technical properties of the placement machine in
simulations.
velocity in x- and y-axis 800 mm/s
step rotate time 0.05 s
single component placement time 0.04 s
single component pick-up time 0.04 s
feeder slot sizes 8.0, 12.0, 16.0 mm
number of spindles 12
feeder slot capacity 40
Table 3: Average of ACTs for four heuristics and the value
of the theoretic lower bound.
theoretic 34.85
random 41.29
mst 41.46
freq 41.50
freq bal 41.43
5 CONCLUSIONS
In this article, the control of a revolver-head gantry
machine was discussed and its properties were de-
scribed. A mathematical model for the assembly cy-
cle time was given for the machine type and the op-
timal feeder assignment problem (OFA) was formu-
lated.
Four heuristics were proposed for solving OFA
of the revolver-head gantry machine. The heuristics
were tested and the test results were compared to each
other and a the theoretic lower bound. The heuristics
performed equally when tests were done with realistic
PCB assembly data. Since the different methods yield
different solutions to OFA and it still does not have a
significant affect on ACT, the other problems in the
0,00
10,00
20,00
30,00
40,00
50,00
60,00
70,00
80,00
test case PCB
ACT (seconds)
theoretic
random mst freq freq_bal
Figure 1: Assembly cycle times of heuristics and theoretic
lower bound for all 43 test PCB-recipies.
placement machine control context may be more im-
portant objects for optimization. For example, select-
ing a good nozzle combination into the revolver-head
and pick-up- and place-sequencing seems to be such
a problem.
REFERENCES
Ayob, M. and Kendall, G. (2008). A survey of surface
mount device placement machine optimisation: Ma-
chine classification. In European Journal of the Oper-
ational Research, vol. 186, pp. 893-914.
Ball, M. and Magazine, M. (1988). Sequencing of inser-
tions in printed circuit board assembly. In Operations
Research 36(2), pp. 192-201.
Grunow, M., G
¨
unther, H.-O., Schleusener, M., and Yilmaz,
I. (2004). Operations planning for collect-and-place
machines in pcb assembly. In Computers & Industrial
Engineering, Vol. 47, pp.409-429.
Ho, W. and Ji, P. (2004). A hybrid genetic algorithm for
component sequencing and feeder arrangement. In
Journal of Intelligent Manufacturing, 15, pp. 307-315.
Ho, W., Ji, P., and Wu, Y. (2007). A heuristic approach for
component scheduling on a high-speed pcb assembly
machine. In Production Planning & Control, Vol. 18,
No. 8, pp. 655-665.
Knuutila, T., Py
¨
otti
¨
al
¨
a, S., and Nevalainen, O. (2007). Mini-
mizing the arm movements of a multi-head gantry ma-
chine. In Proceedings of 4th International Conference
on Informatics in Control, Automation and Robotics
(ICINCO 2007).
Kulak, O., Yilmaz, I., and G
¨
unther, H.-O. (2007). Pcb as-
sembly scheduling for collect-and-place machines us-
ing genetic algorithms. In International Journal of
Production Research, Vol. 45, pp. 3949-3969 No. 17.
Lee, S., Lee, H., and Park, T. (1999). A hierarchical method
to improve the productivity of a multi-head surface
mounting machine. In Proc. of the IEEE International
conference on Robotics and Automation.
Leip
¨
al
¨
a, T. and Nevalainen, O. (1989). Optimization of the
movements of a component placement machine. In
European Journal of Operational Research, 38, pp.
167-177.
Py
¨
otti
¨
al
¨
a, S., Knuutila, T., and Nevalainen, O. (2006).
The selection of nozzles for minimizing the num-
ber of pick-ups on a multi-head placement machine.
In GTCM2006 Conference, Groningen, The Nether-
lands.
Sun, D.-S., Lee, T.-E., and Kim, K.-H. (2004). Component
allocation and feeder arrangement for a dual-gantry
multi-head surface mounting placement tool. In In-
ternational Journal of Production Economics 95 pp.
245-264.
ICINCO 2009 - 6th International Conference on Informatics in Control, Automation and Robotics
80