A Spatial Queuing-Based Algorithm for Multi-Robot Task Allocation
Abstract
:1. Introduction
2. Related Work
3. Multi-Robot Task Allocation Using Spatial Queuing
- A task corresponds to a set of robots visiting the location of an object of interest and recording the object’s characteristics such as its magnetic signature on their sensors. For legibility, we have referred to each robot’s visit to the object’s location and taking its reading as the robot performing its portion of the task.
- Tasks are homogeneous, and the order of performing the tasks does not affect the outcome of performing the tasks.
- Robots can perform a task asynchronously by performing their portion of the task at different times.
- A task is considered to be complete when the desired number of robots have performed their portion of the task.
- Tasks can arrive dynamically: when a robot finds an object of interest (e.g., a potential landmine), it records the location of the object and broadcasts it to other robots in the system.
- Robot and task positions are initially shared between robots and assumed to be common knowledge.
- Finally, we assume that the time required to perform a task, e.g., to analyze a potential landmine with a robot’s sensor, is nominal as compared to the time required by robots to navigate between tasks.
- Inter-task transition matrix: Inter-task distances form the basis of our method, as the objective of the MRTA technique is to enable robots to find a suitable schedule or order of navigating between tasks, so that the total distance traveled by them is reduced. The inter-task distances are represented as a transition matrix. The transition matrix at time-step t is denoted by and given by the normalized inverse Euclidean distances between every task pair, as shown in Equation (1):Each entry of represents the probability of a robot to select task following , based on the distance between the tasks’ locations. Note that , and therefore, the diagonal elements of the matrix are zeros. The transition matrix values are calculated independently by all robots. Initially, the transition matrix is computed for all task pairs, but as time proceeds, each robot recalculates the matrix when it completes a task or when it receives information that a task has been completed by other robots. The transition probabilities of completed tasks are set to zero, and the probability values in are re-normalized. Figure 1a shows an example of initial transition matrix values for six tasks in a m environment.
- 2.
- Robot state vector: The state vector of a robot is comprised of the inverse Euclidean distances between the robot and each task in the environment. The state vector for robot i, at time-step t is given by:
- 3.
- Task proximity vector: The task proximity vector of a robot represents its preference for each task in the environment based on performing task first, followed by the remaining tasks. It is calculated as the product of the robot ’s state vector and the inter-task transition matrix. The task proximity vector for robot at time-step t, , is given by:
- 4.
- Robot spatial task queue: The spatial task queue of a robot denotes the order in which the robot plans to perform the tasks in the environment. It is calculated by removing all tasks from the task proximity vector that are either occupied or completed and sorting the remaining tasks in descending order based on their proximity vector values. The task queue for robot at time-step t, , is given by:
Algorithm 1 Spatial queuing multi-robot task allocation. |
1: Input: T = { : 1 ≤ i ≤ n } |
2: Build transition matrix M as shown in Equation 1 |
3: bid ← 0 |
4: while an eligible task remains do |
5: If I have not bid in this time-step then |
6: Calculate state vector as shown in Equation 2 |
7: Generate task proximity vector using Equation 3 |
8: Remove proximity vector entries for tasks completed by me or occupied by other robots |
9: Sort remaining proximity vector values in descending order and insert into queue Q |
10: if Q is empty then |
11: wait until task-performed signal received from another robot |
12: if a performed task is now complete then |
13: Rebuild transition matrix Mt |
14: end if |
15: else |
16: bid ← queue[head] ▹ = value of most preferred task |
17: sendBroadcast(BID, bid) |
18: end if |
19: else |
20: wait until competing bids received from all other robots |
21: if I am the highest bidder for my preferred task then |
22: if If task I have bid on is still available then |
23: sendBroadcast(ACCEPT, task) |
24: Execute task |
25: Rebuild transition matrix Mt |
26: else |
27: Move to next entry in queue |
28: if there is a task available in the queue then |
29: bid ← queue[head] |
30: sendBroadcast(BID, bid) |
31: else |
32: wait until task-performed signal received from any active robot |
33: bid ← 0 |
34: if a performed task is now complete then |
35: Rebuild transition matrix Mt |
36: end if |
37: end if |
38: end if |
39: end if |
40: end if |
41: end while |
4. Experimental Setup and Results
4.1. Algorithms Compared
- Hungarian algorithm (HA): The Hungarian algorithm (HA) [29], is a classic algorithm for task assignment under constraints. The algorithm takes as input the locations of the tasks and the initial locations of the robots and outputs a feasible assignment of tasks to robots that minimizes the distance traveled by each robot. The Hungarian algorithm is an offline algorithm, and it works with a static view of the environment; it does not take into account dynamic attributes, such as delays arising due to collision avoidance between robots or when tasks become temporarily unavailable due to ongoing operations by a robot. In our setting, because the number of tasks (number of tasks × demanded for each task = ) is greater than the number of robots (m), we applied the Hungarian algorithm iteratively for sets of tasks equal to the number of robots. In each iteration, a subset of m tasks, ordered by a task identifier, are allocated to m robots using the Hungarian method. In the final iteration, if there are less than m tasks remaining, dummy tasks are introduced to get the number of tasks passed to the Hungarian algorithm to m.
- Decentralized greedy algorithm (DG): In the decentralized greedy (DG) algorithm, each robot uses a contract net-like protocol [30] to select tasks. The information about task locations is common knowledge to all robots, but robots are not aware of each other’s locations. Each robot broadcasts a bid corresponding to the distance to its closest task and also receives bids from other robots for their respective closest tasks. If a robot has the lowest bid on a certain task, it selects to perform the task and broadcasts its selection to other robots. A robot that did not submit the lowest bid on a task then bids on its next closest task. The protocol continues until each task has been selected (visited) by the number of robots corresponding to the task’s demand. In the DG algorithm, all robots are either allocated to a task or, if all tasks are already selected by some robot, the remaining robots must sit idle and await the completion of some task, so that it may again submit a bid. The pseudo-code of the DG algorithm used in our simulations is shown in Algorithm 2.
- Repeated auctions algorithm (RA): The repeated auctions (RA) algorithm [25] treats groups of tasks in a time-extended manner with the condition that all tasks in one group must be satisfied or performed before allocating the next group of tasks. We have adapted the repeated auction algorithm, so that as tasks become available, new auctions begin immediately in order to allocate free tasks to idle robots. Our repeated auction algorithm works as follows: each robot determines the utility of every task by subtracting their private value of the task from the current maximum price of that task (set to zero initially). The private value of a robot for a task is simply the inverse Euclidean distance between the robot’s position and the location of the task. A bid is then formed by finding the difference of the two highest utilities, adding a small offset and adding this result to the current price. As this is a distributed model, each robot must track these prices individually via broadcast communication. If a robot is outbid, this process is repeated until the maximum utility value is negative, at which point the robot has nothing to gain and will remain idle and wait for the next auction. When a stable allocation is determined, a round of the auction terminates, and the winning robots proceed to perform their tasks. The pseudo-code for our RA algorithm is given in Algorithm 3.
4.2. Experimental Results
Algorithm 3 Repeated greedy auctions for online MRTA. |
1: Input: T = { : 1 ≤ i ≤ n } |
2: while an incomplete task exists do |
3: for all unoccupied tasks do |
4: Set value ← the inverse distance from my position and the task |
5: Set utility ← the difference between value and the task’s current price |
6: Store task IDs and utilities for the highest and second highest utility values |
7: end for |
8: if an available task was found then |
9: bid ← price + (highest - second + ϵ) ▹ ϵ is a small constant to ensure the bid price increases |
10: sendBroadcast(BID, highestID, bid) |
11: else |
12: wait until task-complete signal received |
13: end if |
14: wait until competing bids received |
15: if I am the high bidder then |
16: sendBroadcast(ACCEPT, highestID) |
17: Increment price by: highest - second + ϵ |
18: Execute highestID |
19: end if |
20: end while |
5. Communication Complexity
6. Conclusions and Future Work
Acknowledgments
Author Contributions
Conflicts of Interest
References
- Celik, G.; Modiano, E. Dynamic Vehicle Routing for Data Gathering in Wireless Networks. In Proceedings of the 49th Conference on Decision and Control, Atlanta, GA, USA, 15–17 December 2010; pp. 2372–2377.
- Gil Jones, E.; Dias, M.; Stentz, A. Learning-Enhanced Market-based Task Allocation for Oversubscribed Domains. In Proceedings of the 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems, San Diego, CA, USA, 29 October–2 November 2007; pp. 2308–2313.
- Gil Jones, E.; Dias, M.; Stentz, A. Time-Extended Multi-Robot Coordination for Domains with Intra-Path Constraints. Auton. Robots 2011, 30, 41–56. [Google Scholar] [CrossRef]
- Gerkey, B.; Mataric, M. Sold!: Auction Methods for Multirobot Coordination. IEEE Trans. Robot. Autom. 2002, 18, 758–768. [Google Scholar] [CrossRef]
- Lim, S.; Rus, D. Stochastic Motion Planning with Path Constraints and Application to Optimal Agent, Resource, and Route Planning. In Proceedings International Conference on Robotics and Automation, Saint Paul, MN, USA, 14–18 May 2012; pp. 4814–4821.
- Seow, K.; Dang, N.; Lee, D. A Collaborative Multiagent Taxi-Dispatch System. IEEE Trans. Autom. Sci. Eng. 2010, 7, 607–616. [Google Scholar] [CrossRef]
- Gil Jones, E.; Browning, B.; Dias, M.; Argall, B.; Veloso, M.; Stentz, A. Dynamically Formed Heterogeneous Robot Teams Performing Tightly-Coordinated Tasks. In Proceedings of the International Conference on Robotics and Automation, Orlando, FL, USA, 15–19 May 2006; pp. 570–575.
- Dasgupta, P. Multi-Robot Task Allocation for Performing Cooperative Foraging Tasks in an Initially Unknown Environment. Innovation in Defense Support Systems-2, Studies in Computational Intelligence 2011, 338, 5–20. [Google Scholar]
- Gerkey, B.; Mataric, M. A Formal Analysis and Taxonomy of Task Allocation in Multi Robot Systems. Int. J. Robot. Res. 2004, 23, 939–954. [Google Scholar] [CrossRef]
- Liu, L.; Shell, D. Multi-Level Partitioning and Distribution of the Assignment Problem for Large-Scale Multi-Robot Task Allocation. In Robotics: Science and Systems VII; MIT Press: Cambridge, MA, USA, 2011; pp. 26–33. [Google Scholar]
- Dias, M.B.; Zlot, R.; Kalra, N.; Stentz, A. Market-based multirobot coordination: A survey and analysis. Proc. IEEE Spec. Issue Multirobot Syst. 2006, 94, 1257–1270. [Google Scholar] [CrossRef]
- Bruer, L. From Markov Jump Processes to Spatial Queues; Springer: Dordrecht, The Netherlands, 2003. [Google Scholar]
- Munoz-Melendez, A.; Dasgupta, P.; Lenagh, W. A stochastic queuing model for multi-robot task allocation. In Proceedings of the 9th International Conference on Informatics in Control, Automation and Robotics (ICINCO), Rome, Italy, 28–31 July 2012; pp. 256–261.
- Ahmed, S.; Pongthawornkamol, T.; Nahrstedt, K.; Caesar, M.; Wang, G. Topology-aware optimal task allocation for publish/subscribe-based mission critical environment. In Proceedings of the IEEE Military Communications Conference (MILCOM), Boston, MA, USA, 18–21 October 2009; pp. 1–7.
- Ayorkor Korsah, G.; Stentz, A.; Bernardine Dias, M. A comprehensive taxonomy for multi-robot task allocation. Int. J. Robot. Res. 2013, 32, 1495–1512. [Google Scholar] [CrossRef]
- Zlot, R.; Stentz, A. Market-Based Multi-robot Coordination for Complex Tasks. Int. J. Robot. Res. 2006, 25, 73–101. [Google Scholar] [CrossRef]
- Li, X.; Sun, D.; Yang, J. Networked Architecture for Multi-Robot Task Reallocation in Dynamic Environment. In Proceedings of the 2009 IEEE International Conference on Robotics and Biomimetics (ROBIO), Guilin, China, 19–23 December 2009; pp. 33–38.
- Nanjanath, M.; Gini, M. Repeated auctions for robust task execution by a robot team. Robot. Auton. Syst. 2010, 58, 900–909. [Google Scholar] [CrossRef]
- Liu, L.; Shell, D. Assessing Optimal Assignment Under Uncertainty: An Interval-Based Approach. Int. J. Robot. Res. 2011, 30, 936–953. [Google Scholar] [CrossRef]
- Liu, L.; Shell, D. Tunable Routing Solutions for Multi-Robot Navigation via the Assignment Problem: A 3D Representation of the Matching Graph. In Proceedings of the International Conference on Robotics and Automation, Saint Paul, MN, USA, 14–18 May 2010; pp. 4800–4805.
- Liu, L.; Shell, D. A Distributable and Computation-flexible Assignment Algorithm: From Local Task Swapping to Global Optimality. In Robotics: Science and Aystems VIII; MIT Press: Cambridge, MA, USA, 2012; pp. 33–41. [Google Scholar]
- Sucan, I.; Kavraki, L. Accounting for Uncertainty in Simultaneous Task and Motion Planning Using Task Motion Multigraphs. In Proceedings of the International Conference on Robotics and Automation, Saint Paul, MN, USA, 14–18 May 2012; pp. 4822–4828.
- Pavone, M.; Smith, S.; Bullo, F.; Frazzoli, E. Dynamic Multi-Vehicle Routing with Multiple Classes of Demands. In Proceedings of the American Control Conference, St. Louis, MO, USA, 10-12 June 2009; pp. 604–609.
- Zhang, K.; Collins, E.; Barbu, A. An Efficient Stochastic Clustering Auction for Heterogeneous Robot Teams. In Proceedings of the International Conference on Robotics and Automation, Saint Paul, MN, USA, 14–18 May 2012; pp. 4806–4813.
- Luo, L.; Chakraborty, N.; Sycara, K. Competitive Analysis of Repeated Greedy Auction Algorithm for Online Multi-Robot Task Assignment. In Proceedings of the International Conference on Robotics and Automation, Saint Paul, MN, USA, 14–18 May 2012; pp. 4792–4799.
- Braitenberg, V. Vehicles: Experiments in synthetic psychology; MIT Press: Cambridge, MA, USA, 1984. [Google Scholar]
- Woosley, B.; Dasgupta, P. Multi-robot Task Allocation with Real-Time Path Planning. In Proceedings of the Twenty-Sixth International Florida Artificial Intelligence Research Society Conference (FLAIRS-26 Conference), St. Pete Beach, FL, USA, 22–24 May 2013; pp. 574–579.
- Murphy, R. Introduction to AI Robotics; The MIT Press: Cambridge, MA, USA, 2000. [Google Scholar]
- Kuhn, H. The Hungarian Method for the Assignment Problem. Naval Res. Logist. Q. 1955, 2, 83–97. [Google Scholar] [CrossRef]
- Smith, R. The Contract Net Protocol: High-Level Communication and Control in a Distributed Problem Solver. IEEE Trans. Comput. 1980, C-29, 1104–1113. [Google Scholar] [CrossRef]
- Van Mieghem, P. Performance Analysis of Complex Networks and Systems; Cambridge University Press: Cambridge, UK, 2014. [Google Scholar]
- Nisan, N.; Segal, I. Exponential communication inefficiency of demand queries. In Proceedings of the 10th Conference on Theoretical Aspects of Rationality and Knowledge (TARK ’05"), Singapore; pp. 158–164.
- Blumosen, L.; Nisan, N. On the computational power of demand queries. SIAM J. Compt. 2015, 39, 1372–1391. [Google Scholar] [CrossRef]
© 2015 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Lenagh, W.; Dasgupta, P.; Munoz-Melendez, A. A Spatial Queuing-Based Algorithm for Multi-Robot Task Allocation. Robotics 2015, 4, 316-340. https://doi.org/10.3390/robotics4030316
Lenagh W, Dasgupta P, Munoz-Melendez A. A Spatial Queuing-Based Algorithm for Multi-Robot Task Allocation. Robotics. 2015; 4(3):316-340. https://doi.org/10.3390/robotics4030316
Chicago/Turabian StyleLenagh, William, Prithviraj Dasgupta, and Angelica Munoz-Melendez. 2015. "A Spatial Queuing-Based Algorithm for Multi-Robot Task Allocation" Robotics 4, no. 3: 316-340. https://doi.org/10.3390/robotics4030316
APA StyleLenagh, W., Dasgupta, P., & Munoz-Melendez, A. (2015). A Spatial Queuing-Based Algorithm for Multi-Robot Task Allocation. Robotics, 4(3), 316-340. https://doi.org/10.3390/robotics4030316