2011_P_IROS_A Fast Distributed Auction and Consensus Process Using Parallel Task Allocation and Execution
2011_P_IROS_A Fast Distributed Auction and Consensus Process Using Parallel Task Allocation and Execution
Abstract—In a multi-robot system, the coordination and centralised algorithm for the configuration and dynamic
cooperation among the robots determine the effectiveness of reconfiguration of different functionalities available in the
task execution. Different centralised and distributed task system to execute task. Tang et al., [7] proposed the
allocation algorithms have been proposed by researchers. ASyMTRe (Automated Synthesis of Multi-Robot Task
Recently consensus based task allocation has been extensively
researched because of its robustness in handling large teams of
Solutions through Software Reconfiguration). Similar to the
robots. We propose a new auction and consensus based approach of Lundh et al., ASyMTRe can detect and
algorithm for fast task allocation in parallel with task execution. interconnect different software components for sharing
The performance of the proposed algorithm under different information and control depending on the environment.
conditions is analyzed and compared with other distributed Although centralised approaches are capable of getting
consensus algorithms. globally optimal solutions, they come with high sensing and
Index Terms — multi-robot multi-task allocation, consensus
communication requirements. In order to obtain a solution,
based, distributed task allocation
the controller needs access to complete information from the
I. INTRODUCTION environment, requiring wide area sensing facilities and
communication facilities from sensors and robots. Having
T ASK allocation in a multi-robot multi-task scenario has
become an important research problem, as robotics
research shifts focus [1] from single robot to multi-robot
only one controller, and hence a single point of failure, is a
big drawback of centralised approaches. As the size of
systems increases and the mobility of the components is a
systems. The complexity of the multi-robot system has been required feature, centralised approaches are less favoured.
increasing in terms of the number of robots and the In distributed approaches, different controllers allocate
heterogeneity of the robots and tasks [2]. Proper cooperation tasks based on the local information and consensus on the
and coordination among the members of the group are allocation among these controllers is reached by sharing
required for efficient performance of tasks. Gerkey et al., [2] information. The distributed controlling points should reach
have given a taxonomy of the possible scenarios in a multi- consensus on a conflict free solution before starting
robot multi-task allocation problem, based on the executing plans. Distributed approaches are more robust than
cooperative requirements of tasks and task handling centralised approaches because there is no single point of
capabilities of the robots. Early research in the area of multi- failure. Market based approaches have been successfully
robot multi-task allocation [3],[4] approached the problem implemented in different domains such as robot soccer,
from a multiple Traveling Salesmen Problem (mTSP) mapping and exploration [8] and have been used by different
viewpoint. The multi-robot task allocation problem is NP- researchers for distributed task allocation. Tang et al., [9]
hard [5] and hence obtaining a globally optimal solution is proposed ASyMTRe-D, a distributed version of ASyMTRe.
computationally intensive. As a trade-off between execution The performance of ASyMTRe-D compared to that of
time and solution optimality, most algorithms provide sub- original ASyMTRe is poor because of the creation of
optimal solutions. redundant plans by different robots and lack of consensus
Different approaches for task allocation in a multi-robot among these robots. The ASyMTRe-D was extended in [10]
system have been proposed. These approaches can be by incorporating a market based auction process for task
broadly classified as either centralised or distributed allocation of single robot tasks. The Consensus Based
algorithms. The centralised approaches make use of a central Bundle Algorithm (CBBA) and Consensus Based Auction
controller to allocate tasks to the robots depending on the Algorithm (CBAA) proposed by Choi et al., [11] have
environmental conditions. Lundh et al., [6] proposed a attracted a lot of research interest in consensus based
distributed task allocation [12]-[16]. Both CBAA and CBBA
Manuscript received March 28, 2011. This work was supported by rely on market based auction principles followed by a
University of Ulster's Vice Chancellor’s Research Scholarship scheme. distributed consensus process for task allocation. In CBAA,
Das et al., are with the Intelligent Systems Research Centre, University a task can be allocated to at most one agent whereas in
of Ulster, Magee Campus, Londonderry BT48 7JL, Northern Ireland,
United Kingdom. (phone: +44-028-71375320; fax: +44-028-71375443; CBBA, a bundle of tasks are allocated to each robot in the
email: [email protected], {sa.coleman, tm.mcginnity, order in which maximum reward will be obtained from the
l.behera}@ulster.ac.uk).
4717
and robots are assumed to be in an environment without any biddable tasks, the task ji max is selected using the following
obstacles and the robots move in straight lines to the task criteria.
location. ji max arg max j vi, j , j J - (7)
A. Task Bidding where arg max j is the function which gives the value of j
In this phase each robot independently bids for a task (the
corresponding to the maximum value of vi , j .
one providing maximum reward) from the qualifying tasks.
All robots are aware of all the active available tasks. For a The bidding process works as follows:
task to be considered in the bidding process, it must be (a) Initial bid: This phase is when none of the robots have
active, must not been previously allocated and the value of been allocated any tasks and they initiate the bidding
the calculated bid must be greater than any current bid on process. In the proposed algorithm at this phase each robot
that task by any robot. The earlier mentioned vectors ( B, A bids to secure only one task and the robots wait until they
and E ) are referred to and modified during this process. reach consensus on the current bids.
The bid value vi , j for task t j by robot ri is calculated as (b) Later bids: If at least one task is allocated to a robot, it
can bid in advance for the next task with the current position
j
vi, j di ( pi ) * C j - (4) and the path distance through the currently executed task
location satisfying the equations (1), (5), (6) and (7). These
where j is the discount factor associated with the task to
bids are continuously updated as the robots are moving
introduce a reward reduction corresponding to the delay in towards the current task location and the resultant distance to
reaching the task location after the bid has been made. the next task is getting reduced. During this phase the robots
d i j ( pi ) is the distance the robot ri has to travel to reach the can reach full or partial consensus on the bid, so that it can
be easily allocated once the current task is completed.
task t j from its current position p i . C j is the absolute
Once the robot successfully identifies its potential next
reward associated with the task. task and bids for it, it moves the next phase, namely the
The bid value vector Bi of the robot ri is the set communication and consensus process.
{ bi, j , i I , j J } of winning bids of all the tasks as B. Communication and Consensus
known by robot ri . Tasks which have a bid by any robot will The second phase in the proposed algorithm is the
have a non-negative bid value. The vector Ai of robot ri is communication and consensus process where the robots
sends their task vectors to other connected robots and
the set { ai, j , i I , j J } of indices of robots which won
receives other robots’ task vectors in order to clear the
the respective tasks known to ri . The execution status vector possible conflicts in bids. This process is necessary as the
E i is the set { ei, j , i I , j J } containing the execution bidding takes place by each robot considering only the
locally available information. The task vectors (task bid
status of the tasks known to ri . A value of -1 indicates no value, task allocation and task execution status vectors) are
winning bid in the case of the task bid value vector, no updated during the consensus process, which follows the
winning robot in case of task allocation vector and the task communication phase. Based on the values which one robot
unallocated status in case of task execution status vector. The receives from the neighbour robot the possible actions are
other possible values in the task bid value vector are non 1. Update : Update values in task vectors ( B, A and E )
negative bids by the robots for the tasks and in the task corresponding to the task, using the data
allocation vector are the robot indices. Within the task from the neighbour
execution vector, -2 denotes task completion status and -3
2. Leave : No action needs to be taken. Leave without
denotes task allocated but not completed status.
modifying any value in the task vectors.
For a robot to be able to bid for a task it must satisfy
3. Reset : Reset the values in the task vectors ( B, A
equation (1). Equation (1) ensures that the robot has not
and E ) corresponding to the task with
already been allocated its maximum number of tasks. For a
default values.
task to be biddable, the following conditions must be
satisfied. 4. Release : Release the task by adjusting the internal bid
tracking.
vi, j bi, j - (5)
Assuming robot ri receives the task vectors from robot
ei, j 1 - (6) rk , the consensus process can be subdivided into two
Equation (5) ensures the bid by the robot ri for task t j is options, one for the task which has been bid by ri and the
greater than the current bid for the task by any other robot other for all other tasks.
and equation (6) ensures that the task is currently not (a) Bid task: In this process, the task which is currently bid
allocated to any other robot. For any non negative value of by the robot ri , alone is checked with the task vectors from
bi , j there will be an ai , j which is the index of the robot neighbour robot rk . The consensus rules are captured in
with the current maximum bid for task t j . Among the Table 1.
4718
(b) Unbid tasks: In this process, all the tasks which are not Although CBBA gives better results than iterative CBAA
bid for by the robot ri are updated by comparing with task in terms of the total distance travelled by all robots, the
vectors from neighbour robot rk . The consensus rules for concept of diminishing marginal gain for the task reward is a
restriction which may not be applicable in all real cases.
this are captured in Table 2.
Finding task execution order by checking reward from the
As the proposed algorithm considers bid task and other
task at all these locations is computationally intensive and
tasks separately, robots detect and rebid for a new task
increases the time taken to reach consensus. For these
quickly. Updating the environment information from the
reasons iterative CBAA was selected over CBBA for
other robots is carried out regularly to improve decisions
comparison with the proposed algorithm. Results of iterative
during the bidding process.
CBAA and the proposed algorithm have been compared in
TABLE 1 CONSENSUS RULES FOR BID TASK
the following subsections.
Receiver Sender Receiver's Actions
ei , j ek , j
-1 -3 Release and Update
-2 Release and Update
-1 if (bi,j<bk,j): Update
C. Task Allocation
Once a consensus has been reached by robots regarding
the current bids, the robot will be assigned the task, after
which no other robot will be allowed to bid for that task. A
value of -3 is used for task allocation status while the task is
allocated and is being executed by the allocated robot. A
value of -2 is used for task completion status.
D. Task Execution
The tasks are considered to be point tasks. The traversal of
the robot from the position of robot at the time of allocation
of task to the task location is considered to be the task
execution phase. Obstacles in the path and dynamic tasks
were not considered in this work. The robots move along
straight lines. During the execution of a task, the robot will
actively participate in task bidding to reach consensus on the
next task as early as possible. Only after the completion of
the currently allocated task will the next task be allocated.
4719
A. Case 1: All Robots and Tasks Active Initially Figure 2 shows the comparison of the average execution
Figure 1 shows the comparison of average distance time of both the iterative CBAA and the proposed method.
travelled per robots (with at least one task allocated to it) for The improvement in the execution time increases as the
both the iterative CBAA and the proposed algorithm. The number of robots and tasks increases. The proposed
proposed algorithm performs better than the iterative CBAA algorithm performs faster than the iterative CBAA because
in most cases. By reducing the average distance traveled, the of the parallel task execution and bidding, whereas iterative
rewards from the tasks are maximised along with maximum CBAA waits for the bundle creation before starting the
utilisation of available robots. As the proposed algorithm execution.
allocates tasks as soon as the current task is finished, the B. Case 2: Dynamic Environment – Introducing New Tasks
chances of being allocated a relatively close task (in terms of
Consider a scenario where new tasks enter the
distance) is high compared with the iterative CBAA.
environment: the proposed algorithm can readily
accommodate the new tasks into the bidding and consensus
processes. As task allocation occurs in parallel to task
execution in the proposed approach, new tasks can be readily
added to the list of unallocated tasks. However, in the case
of the iterative CBAA, the time at which a new task is
introduced influences the performance of the algorithm. If
the system has not already allocated all tasks to the available
robots, the new task can be considered in the bidding of
remaining tasks. Whereas if a new task is introduced during
execution of the allocated tasks, for the new task to be
included either another bidding and consensus process will
be carried out without changing the current allocation or the
current allocation can be completely removed and a new
bidding process conducted and consensus reached. As seen
from Figure 2, as the number of robots and tasks increase,
the robots take more time to reach consensus. In such a
situation recalculating the task bundles for each robot by
running the CBAA to accommodate the newly introduced
task requires many iterations.
4720
group of new tasks ( N ~t = 10, 20, .., 80) were added to the [2] B. P. Gerkey and M. J. Mataric´. "A formal analysis and taxonomy of
task allocation in multi-robot systems". International Journal of
environment at a single instance of time (t=2 seconds) and in Robotics Research, Volume 23(9), pp. 939-954, September 2004.
the second test case new tasks were added in separate groups [3] A. Sipahioglu, A. Yazici, O. Parlaktuna, and U. Gurel, "Real-time
tour construction for a mobile robot in a dynamic environment",
( N ~tm = 10) at multiple instances of time at regular intervals
Robotics and Autonomous Systems, Vol. 56(4), 30 April 2008, pp.
(2 seconds). The introduction of the new tasks was carried 289-295.
out before the robots complete execution of initially [4] J.C. Cardema, P.K.C. Wang, and G. Rodriguez,“Optimal Path
Planning of Mobile Robots for Sample Collection”, Journal of
allocated tasks. Figure 3 (a) compares the average distance Robotic Systems, Vol. 21(10), 2004, pp. 559-580.
and Figure 3 (b) compares the execution time in the first test [5] D. Bertsimas and R. Weismantel. Optimization over Integers.
case. Figure 4 (a) compares the average distance and Figure Dynamic Ideas, Belmont, Massachusetts, 2005
4 (b) compares the execution time for the second test case. In [6] R. Lundh, L. Karlsson, and A. Saffiotti. "Autonomous Functional
Configuration of a Network Robot System". Robotics and
both cases the proposed algorithm performs better than the Autonomous Systems Vol. 56(10), pp.819-830, 2008.
iterative CBAA. As the task allocation is carried out [7] F. Tang, and L. E. Parker, "ASyMTRe: Automated Synthesis of
dynamically during the task execution, the proposed Multi-Robot Task Solutions through Software Reconfiguration," In
algorithm performs better than iterative CBAA in these Proceedings of the 2005 IEEE International Conference on Robotics
and Automation, 2005. ICRA 2005., pp. 1501- 1508, 18-22 April
situations and the performance is improved further as the 2005.
number of newly activated tasks increases. [8] M. B. Dias, R. Zlot, N. Kalra, and A. Stentz, "Market-Based
Multirobot Coordination: A Survey and Analysis," Proceedings of the
IEEE , vol.94(7), pp.1257-1270, July 2006.
[9] F. Tang and L. E. Parker, "A Complete Methodology for Generating
Multi-Robot Task Solutions using ASyMTRe-D and Market-Based
Task Allocation", In Proceedings of IEEE International Conference on
Robotics and Automation (ICRA), April 2007.
[10] F. Tang and L. E. Parker, "Distributed multi-robot coalitions through
ASyMTRe-D," In Proceedings of IEEE/RSJ International Conference
on Intelligent Robots and Systems, 2005. (IROS 2005)., pp. 2606-
2613, 2-6 Aug. 2005.
[11] H. L. Choi, L. Brunet, and J. P. How, "Consensus-Based
Decentralized Auctions for Robust Task Allocation,"IEEE
Transactions on Robotics, vol.25(4), pp.912-926, Aug. 2009.
[12] L. F. Bertuccelli, H. L. Choi, P. Cho, and J. P. How. "Real-time
Multi-UAV Task Assignment in Dynamic and Uncertain
Environments", In Proceedings of AIAA Guidance Navigation and
Control Conference, Chicago, IL, 2009.
[13] S. Ponda, J. Redding, H. L. Choi, J. P. How, M. Vavrina, and J. Vian,
"Decentralized planning for complex missions with dynamic
Fig. 4. Performance if iterative CBAA and proposed algorithm communication constraints," In Proceedings of American Control
when new tasks added in groups of 10 (a) Average distance per Conference (ACC) 2010, pp.3998-4003, June 30 2010-July 2 2010
robot (b) Total execution time [14] T. Mercker, D. W. Casbeer, P. T. Millet,and M. R. Akella , "An
extension of consensus-based auction algorithms for decentralized,
time-constrained task assignment," In Proceedings of American
V. CONCLUSION & FUTURE WORK Control Conference (ACC) 2010, pp.6324-6329, June 30 2010-July 2
In this paper we have proposed a fast and highly scalable 2010
[15] H. L. Choi, A. K. Whitten, and J. P. How, "Decentralized task
algorithm for task allocation in multi-robot multi-task
allocation for heterogeneous teams with cooperation constraints," In
scenarios such as foraging, warehousing, surveillance and Proceedings of American Control Conference (ACC) 2010, pp.3057-
disaster management. The algorithm makes use of a 3062, June 30 2010-July 2 2010
distributed bidding and consensus process to allocate the [16] L. Johnson, S. Ponda, H.L. Choi, and J.P. How, "Improving the
Efficiency of a Decentralized Tasking Algorithm for UAV Teams
tasks. The performance of the algorithm has been compared with Asynchronous Communications", In Proceedings of AIAA
with an existing distributed consensus based task allocation Guidance, Navigation, and Control Conference, August 2010,
algorithm for static and dynamic cases. The proposed Toronto, Canada.
algorithm can easily adjust to dynamic environmental
conditions and performs better than the other distributed
consensus based algorithm, especially in dynamic situations.
In future dynamic tasks, prioritised tasks, heterogeneous
robots and tasks, and tasks requiring cooperation from
multiple robots will be addressed.
REFERENCES
[1] A. Sanfeliu, N. Hagita, and A. Saffiotti, "Network robot systems", In
Proceedings of Robotics and Autonomous Systems, Vol. 56(10),
2008, pp. 793-797.
4721