In the real world, multi-robot systems need to deal with on-the-fly (runtime) arrivals of new sets of tasks. This entails repeated adjustments of their current task allocations to include the newer ones while also ensuring that the overall performance does not degrade. This paper proposes a decentralized and distributed dynamic task allocation algorithm to handle this issue in a multi-robot scenario. The proposed work provides a conflict-free allocation of a set of tasks constituting a job to robots and minimizes the total execution time. These jobs can comprise multiple independent and/or dependent tasks or a combination thereof, which are injected on-the-fly into a network of robots. The dependent tasks of a job are related by precedence constraints that specify the ordering or dependencies between pairs of tasks. The work also describes a decentralized adaptive energy threshold mechanism for determining whether or not a robot needs to visit a battery stockpile after the execution of a task. Conflicting task selections among the robots in this decentralized set-up are resolved using mobile agents during runtime. Apart from allocating tasks to the robots, these mobile agents exploit the benefits of centralized and decentralized systems and provide an advantage over auction-based task allocation algorithms. The proposed algorithm takes into consideration the energy requirements, both during the task allocation process and actual execution. The proposed algorithm also caters to strategies to deal with delays caused by obstacles and congestion during the actual execution of the tasks. Experiments conducted using Webots, an open-source robot simulator, and Tartarus, a multi-agent platform, authenticate the efficacy of the proposed algorithm compared to other prominent task allocation algorithms in terms of minimization of average waiting time, total task allocation time, total job allocation time, and total execution time of an experiment.
Read full abstract