of objects and carry them to a delivery point. The robots have different load capacities
(or skills) for each type of object. For exemple, one robot can have a high load capacity
for tasks of type 1 and very low for other kind of tasks. Unlike the classical foraging
task, multiple robots can cooperate to transport the same object. In this case we have to
decide how many robots and which ones do we need to transport each object according
to its priority, weight and type.
The rest of this paper is organized as follows: section 2 presents some relevant pre-
vious work; sections 3 and 4 describe our task allocation and motion coordination meth-
ods; section 5 shows the experiments carried out to validate the different approaches;
finally, section 6 exposes some conclusions and future work.
2 Related Work
Our task allocation mechanism is inspired in both the auction processes, that use ex-
plicit communication between robots, and response threshold systems. Classical auction
mechanism can only assign a robot to each task [3]. Other authors like L. Chamowicz in
[2] use an auction like system, similar to our method, but the number of robots assigned
to each task is predefined. Swarm systems [1] can use a response threshold mecha-
nisms where multiple robots can be assigned to each task. A disadvantage of this kind
of systems is the absence of knowledge about the other robots. Thus, a robot can de-
cide by itself to execute a task when other option could be better. Our task allocation
mechanism try to solve these two problems. On the other hand, to reduce the interfer-
ence effect we can use motion coordination strategies. Mataric explained in [8] some
potential advantages of flocking in classical foraging tasks, but no experimental results
were given. Finally, reference [4] demonstrated that during a classical foraging if the
number of robots that simultaneously could access to the delivery point is limited the
interference is also reduced.
3 Task Allocation
Our task allocation mechanism has been detailed in [5, 6]. In the following paragraphs it
is briefly presented just to clarify the main concepts that are used in the rest of the paper.
Moreover, this previous work has been extended to accept robots with multiple skills
and different types of tasks. Our mechanism modifies the classical auction methods to
select which robots, and very specially, how many of them are needed to execute a task.
In an initial stage, each robot is looking for a task. When a robot finds a new task, it will
try to lead it. There is only one leader for each task. If a robot is promoted to leader,
it will create, if necessary, a work group; that is, a set of robots that will cooperate to
execute this specific task. In that case, the leader must decide which the optimum group
size is and what robots will be part of the group. To take this decision the leader uses an
auction like mechanism. During this process only robots without any assigned task can
be selected and they bid using only their work capacity. This work capacity depends on
the type of the task that will be carried out. The leader selects the robots with the highest
work capacity, until the ratio between the weight of the object and the load capacities