Department of Computer Science, University of Georgia, Athens, GA 30602, USA
(Corresponding author email: ramviyas@uga.edu)
Message Expiration-Based Distributed Multi-Robot Task Management
Abstract
Distributed task assignment for multiple agents raises fundamental and novel control theory and robotics problems. A new challenge is the development of distributed algorithms that dynamically assign tasks to multiple agents, not relying on prior assignment information. This work presents a distributed method for multi-robot task management based on a message expiration-based validation approach. Our approach handles the conflicts caused by a disconnection in the distributed multi-robot system by using distance-based and timestamp-based measurements to validate the task allocation for each robot. Simulation experiments in the Robotarium simulator platform have verified the validity of the proposed approach.
keywords:
Distributed System, Multi-Robot, Task Allocation, Message Expiration1 Introduction
Since the early 1990s, the problem of task allocation in multi-robot systems has received significant, and increasing interest in the research community [1]. As researchers design, build and use cooperative multi-robot systems, they invariably encounter the question: ”Which robot should execute which task?” This question must be answered, even for relatively simple multi-robot systems, and the importance of task allocation grows with the complexity, size, and capability of the system under study. Even in the simplest case of homogeneous robots with fixed, identical roles, intelligent allocation of tasks is required for good system performance, if only to minimize physical interference.
Recent advances in communication and computation have given rise to distributed control of multiagent systems which, compared to conventional centralized control, provide increased efficiency, performance, and scalability as well as robustness due to its ability to adjust to agent failures or dynamically changing environments [2, 3, 4]. Inspired by these appealing properties of distributed control, we propose a distributed and online solution to the multiagent dynamic task allocation problem, where the assignment of robots to tasks may need to be continuously adjusted depending on changes in the task environment.
This paper focuses on multi-robot task management to achieve high performance and efficiency in sample foraging tasks with multiple homogeneous (swarm) robots. Additionally, we are dealing with a distributed multi-robot system instead of a centralized multi-robot system to improve the scalability of the proposed method.
Most multi-robot task allocation algorithms focus on the efficiency of task accomplishment based on strict assumptions. The assumptions include that the energy level of the robot will not be a problem or that the communication of the robots is always stable. However, in practice, there are many constraints on the robots, especially for the swarm that they are designed in a small shape, which leads to poor communication signals and limited battery [5]. Similarly, swarm robots cannot have a sufficient battery to finish multiple tasks without recharging due to physical constraints. With an excellent recharging algorithm, the swarm robots can work on their jobs automatically. On the other hand, heterogeneity in the robot’s capability such as their max speed, energy level, variations on functional intelligence, etc. can also impact the task performance [6].
Yang et al. [7, 8] introduced a novel framework for cooperation between heterogeneous multi-robot systems for dynamic task assignments and automated planning. It combines robot perception, communication, planning, and execution in MRS, which considers individual robots’ needs and action plans and emphasizes the complex relationships created through communication between the robots. Specifically, they proposed Robot’s Needs Hierarchy to model the robot’s motivation and offer priority-based task management. In [9], the authors presented a distributed energy management task allocation strategy for multi-robot systems involved in goods transportation, considering energy management in the task allocation. Authors in [10] presented a control barrier function-based framework for long-term autonomy of multi-robot systems with limited charging resources.
Motivated by these two demands on energy and communication for swarm robots, we propose a novel distributed algorithm that can handle the disconnectivity and the recharging problem and achieve continuous performance in repetitive tasks. Specifically, this paper presents a multi-robot task management algorithm integrative of energy-awareness and connectivity-awareness focused on distributed tasks by introducing a new expiration-based validation mechanism to avoid conflicts in task allocation.
2 PROBLEM FORMULATION
Let us denote as the multi-robot systems including Robots. For each robot , it will have its neighbors, such as . What is more, for each robot , it will have its own task schedule including other robots information, denoted as .
The problem is to synchronize the task schedule over each robot with the following constraints: the connectivity may vary due to the sensing range. Because of the unstable connectivity, one robot may not be able to synchronize with all other robots.
(1) |
3 Proposed Methodology
The proposed task management algorithm involves three main components: 1) task receipt handler; 2) robot task scheduler; 3) robot task controller.
3.1 Task Receipt
A task receipt is a message containing the status information of a robot. The content includes:
-
•
Task type: Currently, there are 7 task types, including IDLE, GO_TO_PICK, GO_TO_COLLECTION, GO_TO_RECHARGE, RECHARGING,
WAIT_FOR_RECHARGING, DEAD. -
•
Task location: The coordinates of the current task
-
•
Robot id: The robot id for this message
-
•
Previous task location: The coordinates of the previous one task, only useful when the current task is GO_TO_COLLECTION
-
•
Timestamp: Current global timestamp
-
•
Priority: Useful for validation of this message
-
•
Distance to task location: The Euclidean distance to the current task
3.2 Robot Task Scheduler
In the RobotStatusManager, there is a Task Controller to control the task schedule stored in every robot. The task schedule stores the information about itself and all other robots. The information about other robots may be outdated due to disconnectivity.
3.3 Robot Task Controller
A TaskController is used for managing all task receipts of one robot. The number of task receipts should be the same as the number of robots. A fully functional TaskController should return the status of every task in the environment for future purposes, such as task assignments.
3.3.1 Check Connectivity
Since in our setting, every robot has the same sensing range. The robot can communicate with its neighbors only when its neighbors are in its sensing range. It is very important for the robot to determine whether its neighbors are connected or not. In order to achieve this, we define an algorithm named Check Connectivity. The procedure is illustrated in Algorithm 1.
3.3.2 Check Expiration
In order to avoid the scenario that one robot was broadcast with all other robots in the beginning, and it got disconnected in the rest simulation. In that case, the robot will never take a movement, instead of waiting for reconnected forever. Therefore, we introduce a mechanism called expiration. The task receipts saved in each robot task schedule will have an expiration. Once the task receipts is expired, the robot task schedule will assign an idle task receipt to the targeted robot. Here is a difference in the task receipt assigned after expiration that the priority will assign to 0 instead of 1. Priority 1 means that this task receipt is assigned by its real owner. Priority 0 means that the task receipt is assigned after expiration, and its real owner does not assign it. Here, the owner means that the robot with the robot ID in the task receipt.
Here is an example. Assume that there are two robots, robot A and robot B, in our simulation. The expiration threshold is 400, and there is only one treasure location. Robot A and robot B are initialized close enough to make sure they are connected. Robot A is assigned to take the treasure, and Robot B is assigned idle at timestamp 0. Due to the connectivity, robot A and robot B have the same task schedule, in which robot A is recorded to take the treasure and robot B is recorded to be idle. Then robot A goes to fetch the treasure, and robot A and robot B get disconnected in the rest simulation. At timestamp 401, robot B will update the status of robot A in its task schedule with idle due to the expiration of robot A’s task receipt. What’s more, since the task receipt of robot A in robot B’s TaskController is updated by robot B, the priority of this task receipt is 0. Algorithm 2 depicts the procedure to fix the expiration.
3.3.3 Check Validation
This function is designed to handle the conflicts caused by the disconnectivity of each pair of robots.
The setting of the environment causes the first set of conflicts, the conflicts happen when two or more robots are assigned the same treasure, and they are to go to pick the treasure. In this case, the robot closest to the treasure will keep the task, and the rest robots will re-assign an idle task.
The second set of conflicts is all the rest of the possible conflicts. We can use timestamp and priority to handle this set of conflicts. When conflicts happen, we first check the priority of both task receipts. The task receipt with lower priority will be replaced by the task receipt with higher priority. If two task receipts have the same priority, the task receipts with the latest timestamp with replacing the other task receipt. Table 1 demonstrates the measurements to handle the conflicts. Algorithm 3 conveys the procedure to handle the conflicts.
The below table (Table 1) presents how the validation is conducted between two robots for two different tasks (Pick treasure and go to collection).
Robot A Action | Robot B Action | Measurement for validation |
---|---|---|
Pick | Pick | Distance |
Pick | Collection | Timestamp and priority |
Collection | Collection | Timestamp and priority |
Pick | Idle | Timestamp and priority |
… | … | Timestamp and priority |
4 Simulation Experiments
To verify the effectiveness of the proposed approach, we used the simulator version of the Robotarium platform [11], which is a multi-robot testbed. In our simulations, the following parameters are used.
-
•
N=5 number of robots.
-
•
T=5 fixed treasure locations.
-
•
R=2 fixed recharger stations at the top right and top left of the workspace.
-
•
C=1 one fixed collection point at the bottom left of the workspace.
-
•
I=10000 iterations for simulation
-
•
Starting position of the robots = random within the workspace.
-
•
Distance clearance threshold = 0.1m (to decide if a robot has reached a location or not).
-
•
All distances are expressed in the Euclidean norm, and time is expressed as iterations.
-
•
Disable the collision avoidance and barrier function in Robotarium.
Fig. 1 shows an example of the simulation environment. The line between two robots represents they are connected. The black dots represent treasure, recharge station, and collection point.

Assumption: Every task location has an unlimited amount of treasure available. When a robot is at the task location, it is assumed that it picked up the treasure (if it does not have one already). When a robot reaches a collection point, then it is assumed that it dropped the treasure (if it already had one with it).
Definition of Task completion: A task is said to be complete when a robot reaches any of the task locations, and it had then dropped that treasure at the collection point.
Energy model: A robot will lose energy based on the following energy consumption model [12]:
(2) |
where represents the coefficient for the static energy consumption due to onboard computing and sensors of the robot for example, represents the coefficient for the dynamic power consumption by the robot due to movement (e.g, velocity-based motor power to move to a specific distance), and represents the coefficient for the energy spent in picking up the treasure (e.g., manipulation effort).
Similarly, a robot will gain energy if it is at the recharging station with the following model:
(3) |
where represents the rate at which the battery can be recharged. We use the following values: .
Performance Metric | Experiment 1 | Experiment 2 | Experiment 3 | Experiment 4 | Experiment 5 | Experiment 6 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Mean | Std | Mean | Std | Mean | Std | Mean | Std | Mean | Std | Mean | Std | |
Travel Distance (m) | 223.71 | 2.41 | 227.35 | 2.36 | 225.96 | 2.44 | 222.07 | 2.05 | 197.4 | 3.83 | 182.44 | 8.77 |
Go to recharge time (s) | 5009.15 | 157.74 | 5019.25 | 174.24 | 4969.88 | 176.16 | 5061.1 | 163.69 | 4482.45 | 125.65 | 4642.31 | 173.24 |
Wait for recharge time (s) | 1785.4 | 360.20 | 1848.2 | 343.65 | 1825.3 | 300.58 | 1820.55 | 206.96 | 1420.9 | 310.76 | 1476.73 | 395.65 |
Recharge time (s) | 8517.9 | 245.76 | 8606.0 | 186.35 | 8502.45 | 163.33 | 8567.35 | 159.22 | 8048.4 | 188.27 | 7979.42 | 210.46 |
Treasure completion (#) | 97.55 | 1.74 | 95.65 | 1.71 | 96.42 | 1.57 | 95.75 | 1.54 | 78.0 | 1.67 | 71.42 | 3.67 |
4.1 Experiments conducted
We conducted the following six experiment cases (each with 20 trials) to verify the proposed approach.
-
Experiment 1: T=5, Enable expiration, sensing range = 0.5
-
Experiment 2: T=5, Enable expiration, sensing range = 5
-
Experiment 3: T=5, Disable expiration, sensing range = 0.5
-
Experiment 4: T=5, Disable expiration, sensing range = 5
-
Experiment 5: T=2, Enable expiration, sensing range = 0.5
-
Experiment 6: T=2, Disable expiration, sensing range = 0.5
While the first four experiments analyze the performance variations due to the sensing range and expiration mechanism, the last two experiments analyze the impact of expiration on a tighter resource constraint on the number of treasure locations. The performance metrics in our simulations are the following: distance traveled collectively by the robots, time spent in going to recharge, time spent in waiting for recharge, time spent during recharging, and the number of treasures picked up.
4.2 Results and Discussion
Table 2 presents the results for all the six experiment cases. It presents the mean and standard deviation (std) for each performance metric for 20 trials in each case. The expiration mechanism is enabled in Experiments 1, 2, and 5. It can be seen that for a smaller sensing range, s=0.5, enabling expiration improved the performance in terms of efficiency (less distance traveled) and performance (more treasures collected) for both T=2 and T=5 cases. However, when the sensing range is too high (s=5), there was no difference in the metrics due to the expiration mechanism. While the results show promising value to the proposed approach, more in-depth analyses need to be conducted to integrate our task management approach with collision avoidance strategy and with the existing methods from the literature on energy-aware task allocation algorithms.
5 Conclusion
We proposed a novel expiration-validation-based approach for multi-robot task management of persistent tasks without conflicts on an energy-constrained swarm robotics system. The proposed expiration mechanism improved the performance when the sensing range of the robots was small.
References
- [1] A. Khamis, A. Hussein, and A. Elmogy, “Multi-robot task allocation: A review of the state-of-the-art,” Cooperative Robots and Sensor Networks 2015, pp. 31–51, 2015.
- [2] L. Pitonakova, R. Crowder, and S. Bullock, “Information exchange design patterns for robot swarm foraging and their application in robot control algorithms,” Frontiers in Robotics and AI, vol. 5, 04 2018.
- [3] N. Michael, M. M. Zavlanos, V. Kumar, and G. J. Pappas, “Distributed multi-robot task assignment and formation control,” in 2008 IEEE International Conference on Robotics and Automation. IEEE, 2008, pp. 128–133.
- [4] R. Firoozi, L. Ferranti, X. Zhang, S. Nejadnik, and F. Borrelli, “A distributed multi-robot coordination algorithm for navigation in tight environments,” arXiv preprint arXiv:2006.11492, 2020.
- [5] R. Parasuraman, P. Pagala, K. Kershaw, and M. Ferre, “Energy management module for mobile robots in hostile environments,” in Conference Towards Autonomous Robotic Systems. Springer, 2012, pp. 430–431.
- [6] S. S. OV, R. Parasuraman, and R. Pidaparti, “Impact of heterogeneity in multi-robot systems on collective behaviors studied using a search and rescue problem,” in 2020 IEEE International Symposium on Safety, Security, and Rescue Robotics (SSRR). IEEE, 2020, pp. 290–297.
- [7] Q. Yang and R. Parasuraman, “Needs-driven heterogeneous multi-robot cooperation in rescue missions,” in 2020 IEEE International Symposium on Safety, Security, and Rescue Robotics (SSRR). IEEE, 2020, pp. 252–259.
- [8] Q. Yang, Z. Luo, W. Song, and R. Parasuraman, “Self-reactive planning of multi-robots with dynamic task assignments,” in 2019 International Symposium on Multi-Robot and Multi-Agent Systems (MRS). IEEE, 2019, pp. 89–91.
- [9] A. Djenadi and B. Mendil, “Energy-aware task allocation strategy for multi robot system,” International Journal of Modelling and Simulation, pp. 1–15, 2021.
- [10] H. Fouad and G. Beltrame, “Energy autonomy for resource-constrained multi robot missions,” in 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2020, pp. 7006–7013.
- [11] D. Pickem, L. Wang, P. Glotfelter, Y. Diaz-Mercado, M. Mote, A. Ames, E. Feron, and M. Egerstedt, “Safe, remote-access swarm robotics research on the robotarium,” 04 2016.
- [12] R. Parasuraman, K. Kershaw, P. Pagala, and M. Ferre, “Model based on-line energy prediction system for semi-autonomous mobile robots,” in 2014 5th International Conference on Intelligent Systems, Modelling and Simulation. IEEE, 2014, pp. 411–416.