the coalition for which it offers an auction. The coali-
tion leader maintains the coalition and keeps track of
the members’ conditions and their updated informa-
tion. After the execution of the task is completed, the
coalition ends. Each robot is allowed to take part in
only one coalition until it leaves the coalition. Coor-
dination between coalition members is implemented
through synchronization messages. We assume that
robots are not able to infer the state of others by obser-
vation; although such capabilities would only provide
more reliability (e.g. (Balch and Arkin, 1994)).
2.3 Precautions
To deal with the uncertainties that may arise due to
message losses, each robot keeps track of the models
of the known tasks and the other robots in its world
knowledge. The current statuses of the known tasks
are represented in finite state machines (FSM). The
state transitions are initiated either by own motiva-
tions or incoming information from the other robots.
There are eight task states in each FSM. Initially all
tasks are in free state, meaning that none of the ro-
bots is executing/auctioning and they are not achieved
yet. Then, according to the status of the task, the state
can be specified as: auctioned, selected, ready for ex-
ecution, awarded, being executed by own/others, or
achieved. When messages are received from the other
robots, the task and robot models are updated accord-
ingly. In some cases a new message may imply a con-
flict with the robot’s current model of the task state.
In this case, the appropriate precaution routines are
activated to either correct the model, or initiate a re-
covery. Recovery operations may include warning the
other robots or changing the task states and dynami-
cally switching among tasks if profitable. Such incon-
sistencies usually arise when robots are not accurately
informed about the tasks that are completed, under ex-
ecution, or under auction. It is assumed that robots are
trusted and benevolent.
To keep consistency, each robot executing a task
is responsible for broadcasting an execution message,
informing others that the task is under execution and
the robot is alive. Thus, robots are informed about
the task and they assume that the task is under exe-
cution for a period of time. If a robot does not re-
ceive any messages related to a task for a certain pe-
riod of time, the task is assumed to be free. Robot
failures are detected by checking the latest commu-
nication information with the robot. When parallel
auctions for the same task are detected, the robot with
the minimum cost value continues the auction negoti-
ation processes. After receiving an auction message,
a robot checks the validity of the auction by consider-
ing the task information before sending its bid value.
If the robots get an auction offer for a task that has
hard dependencies, then it assumes that these depen-
dent tasks are also achieved and the own world knowl-
edge is updated respectively. Similar update actions
are carried out when execution, cancellation messages
are received.
For synchronized coordination, the coalition leader
sends synchronization messages to all coalition mem-
bers. These messages are also used for recognizing
failures. The leader also receives the updated cost in-
formation in execution messages from the members.
If the messages cannot be received during a prede-
fined time period, the existence of a problem is as-
sumed and the coalition execution is ended.
2.4 Dynamic Task Allocation
Each robot updates its world knowledge according to
the incoming messages. Before selection of an ac-
tion, each robot should perform some routine tasks
for different roles. Auctioneers perform the negotia-
tion processes. Leaders and members of the coalitions
carry out synchronization actions that ensure the si-
multaneous execution of tasks synchronously. Next,
considering the updated world knowledge and the sit-
uations of the processes for different roles, each robot
determines a rough schedule where tasks for which it
meets the capability requirements are considered and
several constraints are taken into consideration. Then,
it generates a prioritized list of tasks, from which it
selects the most suitable and precedence feasible one
and takes an action accordingly. This approach is
known as List Scheduling (Graham, 1966) and shown
to be 2−(1/m) OP T for makespan minimization ob-
jective on tasks with precedence constraints (m is the
number of machines/robots). Different priority rules
may be used. Here in this work, we use Least Flexible
Job First (LFJ) rule in a precendence feasible manner.
The selected action may be participation to a coali-
tion or becoming an auctioneer auctioning for a free
task. The dynamic action selection algorithm (Al-
gorithm 1) is performed if the robot is free or re-
leased. The releasing mechanism provides a way to
switch tasks effectively if another advantageous situa-
tion arises. Decision on releasing a robot from a coali-
tion can only be made by the coalition leader. This
restriction prevents the system from frequent switch-
ing and contributes to the achievement of tasks which
require simultaneous execution.
2.5 Cost/Bid Evaluation
The main objective to achieve a global goal (e.g. min-
imization of total energy consumed or goal achieve-
ment time) determines how robots should perform
cost evaluation. Unless effective bid evaluation strate-
gies are designed, it is not possible to observe globally
optimal solutions for NP-Hard problems, and addi-
tional adjustments are required to change allocations
ICINCO 2006 - ROBOTICS AND AUTOMATION
198