An Optimal Task Allocation Strategy
for Heterogeneous Multi-Robot Systems
For a team of heterogeneous robots executing multiple tasks, we propose a novel algorithm to optimally allocate tasks to robots while accounting for their different capabilities. Motivated by the need that robot teams have in many real-world applications of remaining operational for long periods of time, we allow each robot to choose tasks taking into account the energy consumed by executing them, besides the global specifications on the task allocation. The tasks are encoded as constraints in an energy minimization problem solved at each point in time by each robot. The prioritization of a task over others – effectively signifying the allocation of the task to that particular robot – occurs via the introduction of slack variables in the task constraints. Moreover, the suitabilities of certain robots towards certain tasks are also taken into account to generate a task allocation algorithm for a team of robots with heterogeneous capabilities. The efficacy of the developed approach is demonstrated both in simulation and on a team of real robots.
Multi-robot systems exhibit desirable reconfigurability and robustness properties, which make them suitable for executing a wide range of tasks . Indeed, the overall goal of their deployment often consists of executing more than one task . For example, the robots deployed in a disaster scenario might need to perform environment exploration, source-seeking, as well as object manipulation (see e.g. ). A natural question arising in this context is: which task should be assigned to which robot? In fact, task allocation is a widely studied topic in multi-robot systems, see e.g. the surveys [4, 5]. Different algorithms have been proposed, which account for factors such as resource or time constraints , limited energy availability for the robots , as well as communication topologies among the robots . Differently from typical task allocation algorithms, which result in each robot executing either one or a subset of the tasks, in this paper, we allow robots to execute all the tasks at the same time with different priorities. The task allocation is then effectively realized through a different task priority assignment among the robots. This paper focuses on a specific class of multi-robot tasks which can be encoded via a cost, that is function of the state of the system. The execution of the task is identified with the minimization of the cost, whose value is inversely proportional to the extent to which the task has been accomplished. Such a description of multi-robot tasks has been used to generate a wide variety of behaviors, such as environment surveillance and exploration, formation-constrained control and path following . Typically, the execution of multi-robot tasks such as the ones mentioned above might require the robots to operate in real world environments for extended periods of time. When designing a task allocation strategy, it is therefore desirable to impose survivability constraints , which would allow robots to operate in uncertain and changing environmental conditions for long periods of time under limited energy resources. Motivated by this idea, we develop an optimization-based task allocation strategy which is capable of explicitly taking into account the energy that the robots would spend to execute the assigned tasks. Moreover, in many applications, robots in a multi-robot team are seldom identical : they might be equipped with different sensory and actuation suites or differ from each other in the available energy (due to varying battery levels) and the extent of wear and tear in the hardware . Such heterogeneity among the robots affects their ability to perform different tasks, and an effective algorithm to allocate tasks among robots should take into account their suitability for each given task. We thus develop a task allocation algorithm which explicitly accounts for the heterogeneity in the suitability of robots for different tasks, as well as the survivability constraint mentioned above. In the context of long-term autonomy, offline optimal task allocation routines, although computationally not intensive for the robots, suffer from the fragility typical of optimal control strategies . Consequently, this paper presents a dynamic task allocation algorithm, formulated as an optimization problem which is efficient enough to be solved by the robots at each point in time. For a given robot, a particular way to ensure the execution of tasks while taking into account survivability considerations, is to solve the following optimization problem at each point in time:
where is the control effort expended by the robot, is its state, and denotes a constraint function which ensures the execution of task . Such a constraint-based formulation allows for higher flexibility and robustness when compared to purely cost-based optimization problems, especially in the context of long-term autonomy applications . In order to allow such an optimization problem to remain feasible during the execution of multiple tasks by the robots, each task constraint is augmented with a slack variable corresponding to the effectiveness of performing that task:
We illustrate that not only do the slack variables enable the feasibility of such an optimization program, they allow individual robots to prioritize tasks, i. e. perform some tasks more effectively than others. Such a task prioritization can be embedded by adding additional constraints on the slack variables pertaining to each task, written as . Here, is a matrix which can encode pairwise inequality constraints between the elements of the vector . We demonstrate that such a formulation allows individual robots to perform the tasks with varying levels of priority, while taking into account long-term survivability, heterogeneity in their capabilities, and global requirements on the desired task allocation. The outline of the paper is as follows. Section II discusses relevant results from the multi-robot task allocation literature and compares them with the approach we propose in this paper. Then, results from non-linear control theory and our previous work  are presented, which will be used throughout the paper. Section III formulates an optimization problem to compose multiple tasks as constraints within a single optimization problem. In Section IV, we allow the robots to prioritize certain tasks by imposing constraints on the effectiveness with which different tasks must be performed, leading to the development of the task allocation framework. In Section V, we show the results of the deployment of the task allocation algorithm on a team of robots. Section VI concludes the paper.
Ii Background and Related Work
Ii-a Literature Review
Task allocation is an extensively studied topic in the multi-robot systems literature (see, for instance, the survey and taxonomy papers [2, 4, 14] and the references within). Many different algorithms have been developed to allocate tasks to robots in a team, e. g. auction-based approaches [15, 16], distributed assignment algorithms  and stochastic methods . In addition to the development of efficient algorithms for task allocation, different strategies have been tailored for a number of application scenarios. For example, in  and , the dynamic and distributed aspects of the task allocation problem are considered, respectively. In , the authors consider a layered mechanism to perform task allocation in heterogeneous teams of robots. In , additional deadline constraints on the tasks that need to be performed are taken into account. In contrast to many task allocation approaches which assign one task at a time per robot, this paper studies a scenario where individual robots perform multiple tasks simultaneously with different priorities. We formulate this problem as a quadratic program (QP) which is solved at each point in time. Such a formulation has a lower computational complexity  when compared to other algorithms which assign multiple tasks to robots . We demonstrate that, solving the optimization problem at each instant in time leads to a dynamic task allocation algorithm which can adapt to changing allocation requirements. Furthermore, such an optimization framework allows us to encode the heterogeneity of robots and to develop a task allocation mechanism which minimizes the control effort expended by the robots. The next section introduces some concepts from non-linear control theory and from our previous work  which will be used throughout the paper.
Ii-B Constraint-Based Task Execution
Given a continuously differentiable function , define the safe set as its zero-superlevel set:
Let and denote the boundary and the interior of , respectively. The function is called a (zeroing) control barrier function (ZCBF) if the following condition is satisfied:
where is an extended class function , and and denote the Lie derivatives of in the directions and , respectively. The following theorem summarizes two important properties of ZCBFs.
Given a dynamical system in control affine form , where and denote the state and the input, respectively, and are locally Lipschitz, and a set defined by a continuously differentiable function as in (1), any Lipschitz continuous controller such that (2) holds renders the set forward invariant and asymptotically stable, i. e.,:
where denotes the state at time .
As our primary objective is the allocation of tasks among different robots, we abstract the motion of the robots using single integrator dynamics, assuming that we can manipulate their velocities directly. Moreover, as discussed in Section I, we consider tasks that can be encoded by means of a positive and continuously differentiable cost function . We are interested in synthesizing a control signal that allows the minimization of the cost . This can be achieved by solving, at each point in time, the minimization problem
where and are coupled through the single integrator dynamics . As explained in  and discussed in Section I, the constraint-driven control strategy has advantages in terms of robustness against unpredictable and changing environmental conditions – properties which are useful when considering long-duration autonomy. In , we show that solving (3) in order to synthesize is equivalent to solving the following constraint-based optimization problem, in the sense that they both achieve the goal of minimizing the cost :
where is the slack variable signifying the extent to which the task constraint can be violated, is an extended class function, and is a (zeroing) control barrier function. The zero-superlevel set of is , where the last equality holds because the cost is a non-negative function. In the particular case in which is strictly convex and , we have that . Then, Theorem 1 directly implies that , i. e. , as . For a proof of the general case, we refer to . In the next section, we introduce the idea of simultaneous execution of multiple tasks by each robot in a multi-robot team. This concept will be then used in Section IV in order to formulate an optimization problem which can be solved efficiently and through which the robots can automatically prioritize tasks according to their heterogeneous capabilities and global specifications on the task allocation.
Iii Constraint-Based Multi-Task Execution
Consider a team of mobile robots operating in a compact domain . The robots need to execute different tasks denoted as . Let the index set of the tasks be denoted as . As before, we assume that each task can be encoded as the minimization of a cost function , , and each robot is modeled as a single integrator, , .
Note that, as the tasks are identified with a cost function introduced in Section II-B, they do not explicitly depend on time, i. e. .
As defined in (4), the constraint-based optimization problem for a given robot performing tasks is given as,
where is a scaling constant, , , and signifies the maximum allowable value that each task constraint can be relaxed111Note that, since the robots move in a compact domain and , is bounded by , . Therefore, choosing guarantees the feasibility of the optimization problem.. For now, we assume that the cost can be computed by each robot . In Section IV, we will discuss how certain assumptions on the structure of the costs can lead to a decentralized solution to (5). The optimization problem presented in (5), is solved at each point in time to generate a control input for robot . The following proposition establishes the convergence of the sequence of solutions of the above optimization problem for all the robots.
Consider a team of robots that execute different tasks, robot implementing the control input at time , obtained by solving the optimization problem (5), where, besides being Lipschitz, is assumed to be continuously differentiable. The sequences of solutions of (5), , converge as . Specifically, converges to zero, and converges to the value .
Invoking the relation , the constraint corresponding to each robot in (5) at time can be rewritten in vectorized form as,
where , and is intended component-wise. For each robot solving the optimization problem presented in (5), the Lagrangian can be written as
From the KKT conditions , we obtain:
The complementary slackness condition gives us
By considering the dual problem, one can show that the following relation holds:
where is an identity matrix. In order to show the convergence of the sequences of solutions of the optimization problem, we proceed by defining a Lyapunov candidate function as
By the definition of , one has that
Owing to the structure of the matrices , (10) can be rearranged as follows:
being a identity matrix. Because of the symmetry and positive definiteness of the matrices , we can write the upper bound for in the following way:
where is the norm induced by the inner product . We can now apply LaSalle’s invariance principle  to show that the sequence of states of the robots at time converges to the set
We now present an illustrative example to highlight the effect that the slack variables have on the execution of multiple tasks simultaneously.
Consider the simplistic case where one robot, moving in a planar environment, has to perform three separate tasks simultaneously, where each task involves driving to a point in the environment. Thus, the robot is tasked with reaching three separate points , and simultaneously, depicted as blue dots in Fig. 1. The robot is represented by the gray triangle and its position and velocity are denoted by and , respectively. The robot implements the optimization program (5), with . Under the effect of the input , solution of (5), the robot is driven towards a point which is almost equidistant from the three goal points (Fig. (b)b).This example presents an impossible situation – the robot cannot be present at all three points at the same time. In fact, the purpose is to show how the robot can execute each task, while using the slack variables to relax the constraints for the tasks.
The components of encode the extent to which the corresponding task constraints are relaxed thus signifying the relative effectiveness with which one task is performed over another. We will see later how, by enforcing constraints on the elements of , we can allow the robots to prioritize between tasks, and ultimately lead to a mechanism to allocate tasks among robots.
Iv Optimal Task Allocation
The constraint-based optimization formulation introduced in the previous section, involved minimizing the control effort expended by a robot, subject to multiple task constraints. The introduction of slack variables allowed each robot to perform tasks with varying levels of effectiveness. However, in this formulation, robots might end up prioritizing some tasks over others simply as a function of the control effort required for each task. In realistic scenarios, some tasks might be more important than others and might require a higher level of attention from the robots. Consequently, the team might be required to divide itself among the tasks according to a global, system-level specification. This section develops an optimization framework which allows individual robots to execute multiple tasks while prioritizing some tasks over others. The first formulation does not take into account the heterogeneous capabilities of the robots. Following this, the problem is modified to take advantage of the robot heterogeneity. As discussed in Section I, task priorities can be introduced via additional constraints on the slack variables for each task. As an example, for a given robot , performing task with the highest priority would imply that
where, as introduced in (5), represents the extent to which robot can relax the task constraints corresponding to task . We now present an example to illustrate the effect that the priority constraints given by (11) can have on effectiveness with which a robot performs different tasks.
As in Example 4, a robot is tasked with going to three different points (, and in Fig. 2) of the environment in which it is deployed. However, differently from Example 4, we now impose additional constraints on the values of in order for task to have the highest priority. In particular, the constraints are the following:
In order to introduce global task allocation specifications, let denote the desired fraction of robots that need to perform task with highest priority. Then, denotes the global task specification for the team of robots. We would like the robots to achieve a trade-off between maximizing their long term operation in the environment and achieving the desired global task allocation. To this end, let denote the vector that indicates the priorities of the tasks for robot as follows:
By definition, at a given point in time, only one element of can be non-zero. Then, it follows that , where is the robot index set and is the -dimensional vector whose components are all equal to 1. Moreover, given the priority constraints in (11) and the definition of , we would like the following implication to hold,
where allows us to encode how the task priorities impact the relative effectiveness with which robots perform different tasks. For example, suppose task has the highest priority for robot , i. e. . Then, (13) implies that, larger the value of , the more effectively task will be executed compared to any other task . Let represent the vector containing the task priorities for the entire multi-robot system. Then, the task prioritization of the team at any given point in time is given by
where is the identity matrix. We propose the following optimization problem whose solution minimizes the difference between the current task prioritization of the multi-robot system , and the desired one , while at the same time, allowing the robots to minimize the consumed energy (proportional to ) subject to the task constraints (with slackness encoded by ):
In (14a), is a scaling constant allowing for a trade-off between meeting the global specifications and allowing individual robots to expend the least amount of energy possible. The constraint (14c) encodes the relation described in (13). We now present an extension of this problem formulation which incorporates the possibility that robots can have heterogeneous task capabilities.
Iv-a Task Allocation in Heterogeneous Robot Teams
As argued in Section I, a task allocation algorithm should consider the different capabilities of the robots when assigning task priorities to the robots. We now consider a scenario where different robots have varying suitabilities for different tasks, which we aim to encode into the optimization formulation presented in (14a)-(14f). To this end, let denote a specialization parameter corresponding to the suitability of robot for executing task . In other words, implies that robot is better suited to execute task over task (for example, this might be because robot is equipped with specialized sensors to perform task or has a higher battery level to match the requirements of the task). The specialization matrix can be then defined as follows:
Since is a diagonal matrix whose entries are all non-negative, we can define the seminorm by setting . Measuring the length of a vector using the seminorm corresponds to weighting each component of differently and proportionally to the corresponding entry in the matrix . Therefore, a natural extension of the optimization problem (14a)-(14f) to account for the heterogeneous capabilities of the robots is given by:
is the task prioritization of the multi-robot team and explicitly discounts the effect of robots which might prioritize a task without any suitability for it (indicated by a 0 entry in the specialization matrix). This is achieved by projecting the vector of priorities of robot in the column space of the corresponding specialization matrix , through the projector , where is the Moore-Penrose inverse of . This way, if robot has no suitability to perform task , its corresponding projection matrix will be:
Consequently, robot will not be counted in the evaluation of the -th component of the vector . This would mean that the -th components of the priority vectors of the other robots will have to make up for it in order to minimize the distance from the global task specification vector . In general, the column space of the matrix indicates the tasks that the multi-robot system has capabilities to execute. If has full column rank, the multi-robot system can execute all the tasks.
Iv-B QP Relaxation for Heterogeneous Task Allocation
As mentioned before, is a vector of binary variables in the optimization problem (16). Such a mixed integer quadratic programming (MIQP) significantly increases the complexity of the algorithm. Consequently, this section relaxes the MIQP problem presented in (16) and replaces it with a QP.The constraint (14c) encodes the relation given in (13), and illustrates how the components of , assuming the integer values 0 or 1, are used to impose constraints on the task priorities for robot . We now propose to relax the integer constraint and let . Thus, a value implies a relaxation on the constraint (13) whose effect is determined by the value of . The smaller the value of , the less constrained the value of . Thus, the current allocation can be reinterpreted as the relative priorities among the different tasks, with higher components implying that the corresponding task receives a higher priority overall. With this relaxation, the optimization problem (16) turns into the following QP:
This optimization program is executed at each time instant to calculate the control inputs of the robots. The size of the QP in terms of number of optimization variables and constraints grows as ( being the number of robots and the number of constraints), therefore it can be solved very efficiently using standard computational techniques . The following proposition provides guarantees on the execution of tasks for a multi-robot system solving the optimization problem presented in (17).
Consider a team of single-integrator robots performing different tasks . The specialization matrices , as defined in (15), indicate the abilities of the robots at performing different tasks. Let denote the desired allocation of tasks to robots. For a multi-robot system that solves the optimization problem presented in (17):
At least one task is executed at each point in time, i.e.,
If all task are accomplished, i.e.,
From the hypothesis, it follows that the inequality
does not constrain . Thus, solving (17) yields .
As a final example before showing the experimental results in Section V, we present the case of three robots that have to execute three different tasks (see Fig. 3). Each robot has a strong specialization towards executing only one task, in particular robot is highly specialized to execute . The specialization matrices are given by
Task consists in driving to point . The global specification vector is set to , namely there is equal need of executing tasks and and no need to execute task at all. By running the optimization problem (17), the robots move as shown by the red trajectories in Fig. (b)b. Robot 1 and 2, which can contribute to match the global specification , move towards points 1 and 2, respectively. Robot 3, whose ability of executing task 3 will not be reflected in any decrease of the first term of the cost in (17), moves very little when compared to the other robots. Fig. 4 shows the values of and (related to robot 1). As can be seen, is identically equal to 1, whereas and are identically zero indicating that the robot, owing to its specialization towards task , enforces constraints to perform task with a priority higher than and . For robot 1, the corresponding values of , and are reported in Fig. (b)b ().
Observation 8 (Distributed Implementation of Task Allocation Algorithm).
In order to solve the optimization problem (17) in a distributed fashion, two conditions have to be met:
the constraints (14b) encoding the tasks have to be decentralized
each robot has to be able to estimate the current task distribution .
With regards to condition (i), assume that the costs have the following structure:
i.e. they can be broken down into the sum of pairwise costs among each robot and its neighboring robots . In , the authors illustrate the various multi-robot tasks represented by such a cost, and demonstrate the decentralized nature of the control law obtained by performing a gradient-descent on this cost. Furthermore, in , we showed that in this case, the constraint-based task execution can be rendered decentralized provided that certain conditions on the extended class function gamma that appears in (14b) are satisfied. As far as condition (ii) stated above is concerned, every robot has to have access to , which encodes the allocation of the entire swarm. The value of can either be estimated indirectly, or computed using a distributed consensus protocol, e.g. . This process need not run synchronously with the task allocation and, therefore, if fast enough, can allow a distributed implementation of the optimization program (17).
The presented task allocation algorithm has been implemented on a team of real robots on the Robotarium, a remotely accessible swarm robotics test bed . The experimental setup consists in 10 differential-drive robots that move in a 2.5m1.5m rectangular domain and are asked to perform 2 tasks: environment surveillance and formation control. Task is realized by implementing the coverage control algorithm proposed in , whereas task consists in driving to specified locations in the domain. More in particular, as discussed in , the domain in which the robots move is partitioned into Voronoi cells corresponding to the robots. Robot is in charge of surveiling only its Voronoi cell . As shown in , the cost to minimize in order to execute this surveillance task is given by
where are locations in the workspace which constitute the formation. We consider two different scenarios to illustrate the salient features of the developed task allocation algorithm. In both the scenarios, the robots are assumed to be able to evaluate .
V-1 Case 1–Heterogeneous robots, two tasks
In this scenario, the robots are asked to perform all tasks: this is realized by setting . The robots are characterized by three different specialization matrices: for , for , and for .
Fig. 5 shows snapshots from the video of the experiment performed on the Robotarium. The thick gray lines indicate the boundaries of the Voronoi cells corresponding to the robots, whereas the centroids are depicted as gray squares. The red circles are the locations , of the fixed circle formation. The robots, initialized at random locations in the domain (Fig. (a)a), execute the control input calculated by solving the QP (17), until they reach the configuration shown in Fig. (d)d. At this point, the robots with (circled in red) are on top of the centroids of their Voronoi cells, while the robots with (circled in green) have reached their corresponding in the circle formation. For the robots whose (circled in blue), the task allocation obtained by solving the optimization program (17) resulted in one of them performing surveillance and the other performing formation control.
V-2 Case 2–Homogeneous robots, task switching
In this scenario, the robots have equal specialization matrices and equal suitabilities for all the tasks, i. e. ( being the identity matrix). The global specification vector is changed at a given point in time from to .
Similar to the previous case, in Fig. 6 there are four snapshots from the video of the Robotarium experiments. The robots drive from their initial positions (Fig. (a)a) to a centroidal Voronoi configuration (Fig. (b)b), i. e. a minimum of the cost . At this point, the global task specification is switched from (surveillance) to (formation control). From this time on, the solution of the optimization problem is such that the robots change priority to perform formation control and the input drives them to the locations indicated by the red dots (Fig. (c)c and (d)d). The experiments demonstrate how the constraint-based optimization formalism presented in this paper can allow robots to dynamically prioritize between different tasks taking into account the robot heterogeneity and global task allocation specifications. The QP in (17) can be efficiently solved to simultaneously obtain the choice of which task to execute with highest priority, encoded by the values of and , and the control input that leads to the actual execution of tasks.
In this paper, we presented a task allocation algorithm which optimally assigns task priorities to a team of robots with heterogeneous task capabilities. Using results from our previous work on constraint-based task execution, we allow robots to prioritize different tasks by adding relaxation variables in the constraints corresponding to the different tasks. This leads to a dynamic task allocation algorithm specially tailored for long-term autonomy applications which explicitly accounts for the heterogeneity in the robot capabilities as well as global specifications on the task allocation. The algorithm has been formulated as a quadratic program which can be quickly and efficiently solved by each robot. Its solution provides the robots both with the task priorities and the control inputs required to execute the prioritized tasks. Multiple robot experiments showcased the main features of the task allocation algorithm, such as its convergence properties and its efficient exploitation of robot heterogeneity.
-  G.-Z. Yang, J. Bellingham, P. E. Dupont, P. Fischer, L. Floridi, R. Full, N. Jacobstein, V. Kumar, M. McNutt, R. Merrifield et al., “The grand challenges of science robotics,” Science Robotics, vol. 3, no. 14, p. eaar7650, 2018.
-  A. Khamis, A. Hussein, and A. Elmogy, “Multi-robot task allocation: A review of the state-of-the-art,” in Cooperative Robots and Sensor Networks 2015. Springer, 2015, pp. 31–51.
-  P. Scerri, A. Farinelli, S. Okamoto, and M. Tambe, “Allocating tasks in extreme teams,” in Proceedings of the fourth international joint conference on Autonomous agents and multiagent systems. ACM, 2005, pp. 727–734.
-  B. P. Gerkey and M. J. Matarić, “A formal analysis and taxonomy of task allocation in multi-robot systems,” The International Journal of Robotics Research, vol. 23, no. 9, pp. 939–954, 2004.
-  M. B. Dias, R. Zlot, N. Kalra, and A. Stentz, “Market-based multirobot coordination: A survey and analysis,” Proceedings of the IEEE, vol. 94, no. 7, pp. 1257–1270, 2006.
-  L. Luo, N. Chakraborty, and K. Sycara, “Distributed algorithm design for multi-robot task assignment with deadlines for tasks,” in 2013 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2013, pp. 3007–3013.
-  D. Wu, G. Zeng, L. Meng, W. Zhou, and L. Li, “Gini coefficient-based task allocation for multi-robot systems with limited energy resources,” IEEE/CAA Journal of Automatica Sinica, vol. 5, no. 1, pp. 155–168, 2018.
-  H.-L. Choi, L. Brunet, and J. P. How, “Consensus-based decentralized auctions for robust task allocation,” IEEE transactions on robotics, vol. 25, no. 4, pp. 912–926, 2009.
-  J. Cortés and M. Egerstedt, “Coordinated control of multi-robot systems: A survey,” SICE Journal of Control, Measurement, and System Integration, vol. 10, no. 6, pp. 495–503, 2017.
-  M. Egerstedt, J. N. Pauli, G. Notomista, and S. Hutchinson, “Robot ecology: Constraint-based control design for long duration autonomy,” Annual Reviews in Control, 2018.
-  T. Balch and L. E. Parker, Robot teams: from diversity to polymorphism. AK Peters/CRC Press, 2002.
-  L. E. Parker, “Lifelong adaptation in heterogeneous multi-robot teams: Response to continual variation in individual robot performance,” Autonomous Robots, vol. 8, no. 3, pp. 239–267, 2000.
-  G. Notomista and M. Egerstedt, “Constraint-driven coordinated control of multi-robot systems,” arXiv preprint arXiv:1811.02465, 2018.
-  G. A. Korsah, A. Stentz, and M. B. Dias, “A comprehensive taxonomy for multi-robot task allocation,” The International Journal of Robotics Research, vol. 32, no. 12, pp. 1495–1512, 2013.
-  D. P. Bertsekas, “The auction algorithm for assignment and other network flow problems: A tutorial,” Interfaces, vol. 20, no. 4, pp. 133–149, 1990.
-  M. B. Dias, “Traderbots: A new paradigm for robust and efficient multirobot coordination in dynamic environments,” Robotics Institute, p. 153, 2004.
-  S. Giordani, M. Lujak, and F. Martinelli, “A distributed algorithm for the multi-robot task allocation problem,” in International Conference on Industrial, Engineering and Other Applications of Applied Intelligent Systems. Springer, 2010, pp. 721–730.
-  S. Berman, Á. Halász, M. A. Hsieh, and V. Kumar, “Optimized stochastic policies for task allocation in swarms of robots,” IEEE Transactions on Robotics, vol. 25, no. 4, pp. 927–937, 2009.
-  A. T. Tolmidis and L. Petrou, “Multi-objective optimization for dynamic task allocation in a multi-robot system,” Engineering Applications of Artificial Intelligence, vol. 26, no. 5-6, pp. 1458–1468, 2013.
-  T. Lemaire, R. Alami, S. Lacroix et al., “A distributed tasks allocation scheme in multi-uav context,” in ICRA, vol. 2004, 2004.
-  F. Tang and L. E. Parker, “A complete methodology for generating multi-robot task solutions using asymtre-d and market-based task allocation.” in ICRA, 2007, pp. 3351–3358.
-  S. Boyd and L. Vandenberghe, Convex optimization. Cambridge university press, 2004.
-  X. Xu, P. Tabuada, J. W. Grizzle, and A. D. Ames, “Robustness of control barrier functions for safety critical control,” IFAC-PapersOnLine, vol. 48, no. 27, pp. 54–61, 2015.
-  H. K. Khalil, Nonlinear control. Pearson New York, 2015.
-  W. Ren and R. W. Beard, Distributed consensus in multi-vehicle cooperative control. Springer, 2008.
-  D. Pickem, P. Glotfelter, L. Wang, M. Mote, A. Ames, E. Feron, and M. Egerstedt, “The robotarium: A remotely accessible swarm robotics research testbed,” in 2017 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2017, pp. 1699–1706.
-  J. Cortes, S. Martinez, T. Karatas, and F. Bullo, “Coverage control for mobile sensing networks,” IEEE Transactions on robotics and Automation, vol. 20, no. 2, pp. 243–255, 2004.