DeepAI
Log In Sign Up

Energy-Aware Multi-Robot Task Allocation in Persistent Tasks

The applicability of the swarm robots to perform foraging tasks is inspired by their compact size and cost. A considerable amount of energy is required to perform such tasks, especially if the tasks are continuous and/or repetitive. Real-world situations in which robots perform tasks continuously while staying alive (survivability) and maximizing production (performance) require energy awareness. This paper proposes an energy-conscious distributed task allocation algorithm to solve continuous tasks (e.g., unlimited foraging) for cooperative robots to achieve highly effective missions. We consider efficiency as a function of the energy consumed by the robot during exploration and collection when food is returned to the collection bin. Finally, the proposed energy-efficient algorithm minimizes the total transit time to the charging station and time consumed while recharging and maximizes the robot's lifetime to perform maximum tasks to enhance the overall efficiency of collaborative robots. We evaluated the proposed solution against a typical greedy benchmarking strategy (assigning the closest collection bin to the available robot and recharging the robot at maximum) for efficiency and performance in various scenarios. The proposed approach significantly improved performance and efficiency over the baseline approach.

READ FULL TEXT VIEW PDF

page 1

page 2

page 3

page 4

06/05/2019

Maximizing Energy Battery Efficiency in Swarm Robotics

Miniaturization and cost, two of the main attractive factors of swarm ro...
03/23/2021

Multi-Robot Task Allocation – Complexity and Approximation

Multi-robot task allocation is one of the most fundamental classes of pr...
05/12/2021

A Resilient and Energy-Aware Task Allocation Framework for Heterogeneous Multi-Robot Systems

In the context of heterogeneous multi-robot teams deployed for executing...
09/21/2022

Consensus-based Fast and Energy-Efficient Multi-Robot Task Allocation

In a multi-robot system, the appropriate allocation of the tasks to the ...
02/24/2021

Mobile Recharger Path Planning and Recharge Scheduling in a Multi-Robot Environment

In many multi-robot applications, mobile worker robots are often engaged...
05/08/2020

Multi-Robot Task Allocation and Scheduling Considering Cooperative Tasks and Precedence Constraints

In order to fully exploit the advantages inherent to cooperating heterog...
03/11/2020

The Application of Market-based Multi-Robot Task Allocation to Ambulance Dispatch

Multi-Robot Task Allocation (MRTA) is the problem of distributing a set ...

1 Introduction

The ability to coordinate and self-organize in swarm robots are the main features that draw inspiration from natural social systems such as ants colonies [lenka2018]. They allow a large group of artificial agents (robots) to achieve collective intelligence and efficiency that individual robots cannot achieve. In a swarm of robots, each robot builds knowledge of the local world through its limited perception. However, robots exploit direct and indirect communication to increase their efficiency, such as groups by sharing information and making decisions together [yang2019self].

One well-researched example is the application of swarms for foraging [winfield2009towards], which is a behavior commonly observed in social animals. This task is widely studied among robot swarms due to its importance as a metaphor for a wide range of robotic applications, including search and rescue and resource extraction (e.g., harvesting) [liu2007, campo2007efficient, yang2020needs].

Figure 1: Overview of the proposed energy-aware task allocation algorithm, with the robot state diagram.

In foraging, the robots search extensively so that resources are brought back to a central (”nest”) location [erusagounder2018]. When comparing foraging methods to determine which is best for a particular application, some desired functions are simplicity, scalability, decentralization, discovery, and parallelism. Systems with these attributes are much better equipped to handle applications with multipurpose in dynamic environments, such as disaster relief and survey [nauta2020].

In most previous works, the measure of performance was the time spent foraging, which does not cover the full cost required to complete the quest, as it ignores the actual energy used or stored and the time it takes to recharge a given robot. While teams of robots need to maintain optimized speed and efficiency, time is not the only measure of energy consumption [notomista2021]. Another measure is the remaining battery energy level in each robot [chen2019]. It is essential to maintain energy in the robot and efficiently deplete energy while feeding. Assuming an infinite source of energy for the robot, which can be billed at 100 battery level regardless of the actual amount of energy required, is not realistically possible [mayya2019, parasuraman2012energy]. Moreover, the robot team can also be heterogeneous, meaning the battery capacities and speed can vary within the system [ov2020impact, yang2020hierarchical].

It makes no sense to load a robot to its maximum capacity if it knows to have resources near the nest. This robot can use the rest of the energy needed to complete these simple tasks. Other robots which struggle to find resources in other areas will have to be careful about being recharged and not use energy more than their maximum capacity [zedadra2015]. Very few papers consider battery power when measuring energy efficiency, so when they try to translate algorithms to the real world, their algorithms suffer from this limitation.

Previous work (e.g., [campo2007efficient]) has focused only on measuring energy during feeding and has not taken into account the unused energy in each robot’s battery. Thus, the overall performance would be less efficient than an energy-aware swarm system. The most commonly used metrics for system cost are the search and retrieval times. Therefore, an additional indicator should include a measure of the remaining energy in each robot battery. No matter how well the foraging task performs, systems must be sensitive to energy because the ’income’ of foraging (i.e., how many items are collected in a certain quantity of time) should be greater than the cost to get it. The system cost can be calculated with respect to the energy consumption conditions of the swarm.

This paper proposes an energy-aware distributed task allocation algorithm to solve persistently occurring tasks (e.g., unlimited foraging) applied to cooperative robots with limited energy capacity. The algorithm aims to achieve high efficiency in foraging while keeping the robots alive without depletion of total energy and networking (data communication). We consider efficiency as a function of the energy consumed by the robots during exploration and collection when the food is returned to the collection bin. Our algorithm introduces energy-level thresholds for different tasks, including autonomous recharging, a communication mechanism between the robots to stay aware and networked, and a deadlock avoidance algorithm to avoid them colliding while keeping them from being stuck in a deadlock state in terms of task allocation.

We consider practical limitations on the resources, such as limited recharging stations and fewer robots available than the number of tasks. The novelty of the proposed algorithm can be summarized as follows:

  1. The proposed algorithm strives to find a balance between recharging and foraging tasks in a distributed manner.

  2. The algorithm also ensures that each robot only gets charged when necessary while allowing others to do the same. Ultimately, the energy-aware algorithm minimizes the sum of time to transit to the charging station and the time consumed during charging while maximizing the survival time of a robot to perform a maximum number of tasks to improve the overall efficiency.

  3. Additionally, we devise a deadlock avoidance strategy integrated into our algorithm by exploiting the randomization gain in the task allocation decision-making process to tackle the deadlock scenario, where robots may indefinitely wait to avoid collisions.

  4. Finally, the algorithm maintains connectivity between the robots to enable them to communicate effectively throughout the task deployment period, such that the overall system performance is enhanced.

An overview of the proposed solution is depicted in Fig. 1. The solution has been extensively analyzed with various agents and food sources using the Robotarium platform, a remotely accessible simulator-hardware integrated test-bed for swarm robotics research [pickem2016]. We have performed experiments to validate the algorithm in terms of its persistence, that is, how many tasks the robot can efficiently complete while remaining alive. We evaluated the proposed solution compared with a typical greedy-based reference strategy (which assigns the closest treasure to the available robot and recharges the robot to the maximum level when depleted) in terms of efficiency and performance in different scenarios. The efficiency function depends on the following parameters: the number of alive robots, total traveled distance, time spent on recharging, number and value of collected treasures, and connectivity maintenance.

The proposed approach has demonstrated a significant improvement in performance and efficiency than the greedy reference approach. The simulation results confirm the robustness and practicality of the proposed solution in persistent tasks. The rest of the paper is organized as follows. Sec. 2 introduces the problem statement and elaborates the algorithm, Sec. 3 describes the simulation setup, experimentation, and the results. In Sec. 4, we conclude the paper.

2 Proposed Approach

Problem Statement Given a set of robots , a set of treasures , a set of significance values associated to specific treasure, and a set of cost of treasure , the goal is to maximize the value (v) and minimize the cost (c) made by assigning a robot to treasure . Set of Robots where n = number of robots, set of Treasures , where k = number of treasures, significance values of treasures are predefined and fixed, i.e; , where is value of , Cost associated to each treasure is , where = battery consumption to pick treasure from its location and drop to the collection bin. Set of robots’ current battery status , where = robot’s battery level. Set of energy requirement to reach treasure , where = energy required to pick treasure by robot . The battery consumption as a cost of treasure () can be calculated as:

(1)

Treasure utility function will be calculated as:

(2)

where and and .

To solve this problem, we propose an auction-based energy-aware approach that takes care of each robot’s four critical aspects in a distributed manner: 1) recharge planning; 2) treasure task allocation; 3) deadlock avoidance; and 4) connectivity maintenance.

2.1 Recharging Planner

The intuition behind the energy-Aware solution is that the robots should not go to recharge until the last moment (e.e., before reaching a dangerous state where the battery may die and the robot will become useless). The algorithm solves how to predict the ’last moment’ and how to arrange the robots to recharge. Accordingly, we will set the following parameters to help us:

  • no-recharger: the number of recharge stations.

  • no-robot: the number of robots.

  • id: the id of a robot

  • current-energy-level: the battery level for each robot.

  • avg-task-energy: the average energy needed for one task.

  • avg-task-time: the average time for one task.

  • avg-recharge-time: the average time for recharging.

  • energy-threshold: the battery threshold for a robot before it must be recharged.

Algorithm 1 plan the recharging based on the following objective to minimize the time travel to capture treasure and return to the collection bin while keeping the robot alive subject to the battery constraint.

1:predict-episode = ceil(no-robot / no-recharger)
2:task-recharge-time-ratio = ceil(avg-recharge-time / avg-task-time)
3:predict-energy = list()
4:recharging-plan-robot-ids = set()
5:i=0
6:while  do
7:     predict-energy.append(current-energy-level - (i * task-recharge-time-ratio * avg-task-energy))
8:     i++
9:     for index in length(predict-energy)  do
10:         if  then
11:              if recahrging-station-available then
12:                  add the id of the robot with the lowest energy level to recharging-plan-robot-ids
13:              end if
14:         end if
15:     end for
16:end while
17:return recharging-plan-robot-ids
Algorithm 1 Energy-Aware Recharging Planner

While analyzing the energy-aware recharging planner, steps 6-9 in the algorithm will guarantee that the robot will never die, resulting in the maximum usage rate of the recharge stations. On the other hand, steps 9-12 in the algorithm will guarantee that the robots will never go to the recharge station until the last moment. The number of recharging will be minimum, leading to the minimum number of times the robot will travel to recharging stations.

2.2 Task Allocation

A robot can assume one of the four states at a time: 1) idle; 2) recharging 3) pickup treasure 4) going to recharge/treasure location. When a robot gets to idle state, it computes its utility function against each available treasure from the set . It then finds its suitability for a treasure by finding the maximum for a treasure . As we can only communicate to the neighboring robots from the set in the connected graph, each idle robot broadcasts its maximum utility against a treasure to all neighboring robots. Through which each idle robot at a specific time gets the maximum utility of robot for a treasure and achieves consensus in the task assignments until they reach no changes in their utility values.

Here, each robot then picks the treasure as: if , then robot assigns treasure else it repeats the previous step and excludes the treasure until it is assigned a treasure where number of idle robots and .

In the case of a disconnected robot (from the communication graph/network), computes its utility and assigns itself the treasure with the highest utility. There could be a possibility in which two robots are assigned to the same treasure if they were disconnected. Therefore, whenever this robot gets reconnected to the other robots (through the connectivity maintenance algorithm in Sec. 2.4), it recomputes its suitability to the treasure based on neighboring robots’ utilities. This whole process is explained in Algorithm 2, which assigns the task to an individual robot based on its energy level and availability of treasure.

1:while True do
2:     robot-recharging-ids = recharging-planner (Alg.  1)
3:     for  in  do
4:         if r in robot-recharging-ids then
5:               = recharging
6:         else if r is connected and idle then
7:              for t in treasures do
8:                  Compute as (Eq. 2)
9:              end for
10:              assign a treasure with maximum
11:         end if
12:     end for
13:end while
Algorithm 2 Energy-Aware Task Allocation

2.3 Deadlock Avoidance

The proposed approach also ensures the continuous movement of robots while avoiding collision by incorporating the deadlock avoidance technique. Due to the usage of Robotarium’s inbuilt collision avoidance algorithm that changes the robot’s trajectory to avoid collisions, the robots can be in a deadlock scenario without movement possibility. Here we provide a simple technique to solve the problem.

First, we need to identify whether a robot is in a deadlock scenario. The deadlock detection algorithm works so that if the distance between two robots is less than some distance threshold for a specified time, we will mark these two robots deadlocked. Second, once two robots are detected deadlocked, we will use the following deadlock avoidance algorithm to free them.

Suppose robots A and B are in a deadlock scenario. Robot A should move in the opposite direction of Robot B plus some random noise (alpha angle). Robot B should move in the opposite direction of Robot A plus some random noise (alpha angle). The random noise here is to avoid the exact opposite direction because, in the experiments, the exact opposite direction is not helpful to avoid the deadlock scenario. The reason behind it is the mechanism of the unicycle robot in the Robotarium platform [pickem2017robotarium].

2.4 Connectivity Maintenance

The objective of the integration of connectivity maintenance in this energy-aware task allocation algorithm is three-fold: 1) increase the graph connectivity so that more robots can communicate and share data at any given time; 2) keep the robots alive in terms of connectivity, and 3) maximize the number of foraging tasks completed by keeping a connected graph all the time.

The maintenance approach works in the following way. When the robot gets disconnected, after completing the currently assigned task, it moves closer to the robot at a minimum distance using its knowledge of the closest robot’s state before disconnection. The assumption is that once this robot reaches this new position, there is a guarantee of re-connection since the previously-closest robot would not have moved beyond its communication radius within this short interval of time. As soon as the robot gets reconnected, it can execute the next task through the auction mechanism in Alg. 2. The maximum priority is to keep the robots alive, both energetically and networking-wise, so they persistently execute the task, resulting in improved system efficiency and performance.

Performance Indices Baseline Proposed w/o deadlock avoidance Proposed w/ deadlock avoidance
Average number of alive robots (units) 3.6 4 4.8
Total distance traveled (m) 160.2 153.27 170.39
Go-To recharging time (sec) 3057.6 3523.4 4539.3
Recharging time (sec) 4060.7 6213.7 5226.16
Wait-For recharging time (sec) 67.98 66.2 52.12
Total number of treasures collected (units) 51.6 61.9 65.9
Total treasure value achieved (units) 251.6 292.1 357.9
Table 1: Performance comparison of the proposed approach with the baseline and without deadlock avoidance strategies.
Performance Indices Proposed w/o connectivity maintenance Proposed w/ connectivity maintenance
Average number of alive robots (units) 4 4.8
Total distance traveled (m) 213 166
Go-To recharging time (sec) 3214.2 4512.4
Recharging time (sec) 4162.2 5213.5
Wait-For recharging time (sec) 57.28 64.7
Total number of treasures collected (units) 61.4 63.5
Total treasure value achieved (units) 251.6 292.1
Table 2: Performance comparison of the proposed approach with and without connectivity maintenance.

3 Experimentation and Results

The efficiency and effectiveness of the proposed approach have been validated through extensive simulation experiments on the Robotarium platform, which is an open-source tool enabling quick validation of multi-robot algorithms. We have set up the Robotarium environment for five collaborating robots, five treasures at fixed positions, five collection bins, and two discrete recharging stations on the same testbed can be seen in Fig

1. We have implemented the below greedy-based baseline task allocation approach in comparison to our proposed approach.

Baseline We have used greedy task allocation as a baseline strategy which works in such a way that for all available robots, it assigns the task at the nearest location. In case of more than one robot is assigned for a task location, it assigns the robot with the shortest distance for this task. The same procedure is repeated until all available robots are assigned a unique task location. Moreover, if at least one robot is available, it can then repeat this procedure. This strategy sets the low battery threshold to 30% for every robot. When any robot with a battery level is below the threshold, it assigns that robot the available recharging station. If both recharging stations are taken, then it waits until one is available (while it waits that the robot is not available for task allocation). It also sets the maximum charging threshold to 60%, and When the robot energy reaches the threshold (after putting in a recharging station), that robot becomes available for task allocation. Once the task is assigned, the robot moves towards the task location and then approaches the collection point; once it is done with treasure collection, it makes this robot available for the next task.

Parameters To perform the experiments, we have set the following simulation parameters.

  • Number of robots: the number of robots that participate in each simulation.

  • Treasures: the number of treasures (in units) that a robot can transport at each time (robot capacity) and its value.

  • Simulation Space: include the dimension of the search space, which is a grid of cells (world size).

  • World complexity, which can be obstacle-free or obstacle environment.

  • Sink number, which is the number of collection stations to where agents return food.

  • Recharging stations, where robots get themselves recharge.

  • Treasures: the number of treasure locations (food density) that are located at fixed positions.

  • is the maximum value that a robot can recharge at the recharging station.

  • represents the current energy that a robot will have at the time (t). It is set initially to that is 100%.

  • is the threshold that activates the return to home and recharges energy behavior which is fixed, and in our case, it is 20%. When , the robot needs to move towards the recharging station to recharge energy.

Performance Indices To evaluate the performance of the algorithm, we have used the following indices:

  • Average number of alive robots,

  • Total distance traveled.

  • Go-To recharging time,

  • Wait-For recharging time,

  • Total Recharging time,

  • Total number of treasures collected,

  • Total treasure value achieved

Energy Models A robot will lose energy based on the following energy consumption model [parasuraman2014model]:

(3)

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:

(4)

where represents the rate at which the battery can be recharged. In our experiments, we use the following values: , , , . Initially, at time , we start all the robots with full energy .

3.1 Results and Discussion

We have performed multiple trials of simulation for baseline and proposed strategies to validate the efficiency under different conditions. Each simulation runs for at most 1000 iterations due to time constraints.

To compare the performance of the proposed approach with the baseline strategy, we also need to remove the influence of deadlock. Therefore, in the experiment, we disabled the collision avoidance function of Robotarium (Proposed w/o deadlock avoidance). The result can be seen in the table 1 that shows the proposed approach’s effectiveness in terms of mission performance (treasure collected) and energy performance (keeping the robots alive).

Table 1 delineates the visible supremacy of the proposed approach in terms of keeping robots alive and values of treasure collected. Embedding deadlock avoidance with the proposed approach helped keep more robots alive and achieve a high value of treasure. However, the proposed approach has traveled more than baseline, spent more time recharging, but waited less on recharging, which is ultimately justified by the achieved treasures picked up that are 15 counts more than the baseline and five counts more than without deadlock strategy.

The proposed approach also attempts to keep the robots connected by applying a maximum connectivity graph algorithm. To elaborate on the significance of graph connection, we have performed some experiments by excluding the graph connection aspect of the approach. Table 2 shows that keeping the graph connected helps the robots to keep alive, resulting in a minor improvement in the task performance.

4 Conclusion

This paper provides a very effective energy-aware distributed task allocation algorithm for continuous tasks to be used for cooperative robots. It provided a theoretical and algorithmic explanation of the proposed approach along with the experimental design strategy. In a variety of circumstances, we assessed the proposed solution compared against a typical greedy-based baseline strategy (assigning the closest collection bin to the available robot and recharging the robot to maximum capacity). In comparison with the greedy approach, the proposed approach displayed a considerable improvement in performance and efficiency.

In the near future, we intend to validate the approach on real swarm robots and extend the idea to other domains of distributed multi-robot systems.

References