System and method for optimizing scheduling of non-preemptive tasks in a multi-robot environment

The OMPLS technique addresses the challenge of optimizing non-preemptive task scheduling in multi-robot systems by prioritizing tasks based on performance loss values and efficiently allocating tasks, resulting in reduced deadline misses and performance losses.

JP7654356B2Active Publication Date: 2025-04-01TATA CONSULTANCY SERVICES LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2020025066
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-02-19
Filing Date
2020-02-18
Publication Date
2025-04-01
Estimated Expiration
2040-02-18

AI Technical Summary

Technical Problem

Existing multi-robot systems face challenges in optimizing the scheduling of non-preemptive tasks, particularly in dynamic environments where tasks have varying deadlines and performance loss functions, leading to inefficiencies and increased performance losses.

Method used

The implementation of an Online Minimum Performance Loss Scheduling (OMPLS) technique, which merges pre-assigned and newly arrived tasks, prioritizes tasks based on performance loss values, and uses list scheduling to minimize performance losses and optimize task assignment across robots.

Benefits of technology

The OMPLS approach effectively reduces the number of deadline misses and minimizes performance losses in multi-robot environments by prioritizing tasks with higher performance loss values and efficiently allocating tasks across available robots.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007654356000014
    Figure 0007654356000014
  • Figure 0007654356000015
    Figure 0007654356000015
  • Figure 0007654356000016
    Figure 0007654356000016
Patent Text Reader

Abstract

To provide a system and method for optimizing scheduling of non-preemptive tasks in a multi-robot environment.SOLUTION: The present disclosure provides for optimizing scheduling of non-preemptive tasks in a multi-robot environment by: defining a plurality of tasks; merging the plurality of tasks; scheduling, by implementing an Online Minimum Performance Loss Scheduling (OMPLS) technique, initially, tasks with a higher performance loss value and then secondly, tasks that can be scheduled within their deadline and having a low performance loss value amongst the merged tasks; and finally minimizing a performance loss value of a remaining subset of tasks that cannot be scheduled within a pre-defined deadline.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] (CROSS REFERENCE AND PRIORITY TO RELATED APPLICATIONS) This application claims priority to Indian Patent Application No. 201921006550, filed on February 19, 2019.

[0002] (Technical field) The disclosure herein relates generally to robotic process automation, and more particularly, to optimizing the scheduling of non-preemptive tasks in a multi-robot environment. [Background technology]

[0003] In the digital and automation era, multi-robot systems and related technologies are widely used in various applications and industries. For example, in warehouse procurement systems, multi-robot systems are deployed to automate the process of storing and retrieving a wide variety of objects in a warehouse. Efficient warehouse management has a significant impact on modern businesses, as it ensures smooth delivery of ordered goods to respective customers. Distributors and e-retailers commonly provide an estimated time of arrival (ETA) for any goods delivery and promise fast and time-critical delivery as a value-added service.

[0004] The movement of goods or objects in and out of a warehouse is a big challenge in terms of scheduling tasks (related to movement for goods). With a huge amount of demand flowing into warehouse procurement systems in real time, there is a demand for optimal scheduling. With the rapid development of e-commerce and modern logistics, warehouse systems are facing a huge increase in inventory size and a wide demand for short picking times, which calls for the deployment of robotic systems.

[0005] Thus, due to applications in industry and other technical fields, task allocation in multi-robot systems has gained significant importance. The process of assigning individual robots to subtasks of a given system-level task is called task allocation and contains important functionality required for any multi-robot system. The objective of task allocation is to assign one or more robot tasks in a way that will improve the performance of the multi-robot system, including reducing the overall execution time. In general, task allocation is an essential requirement for multi-robot systems functioning in unknown dynamic environments. Task allocation allows the robots to change their behavior in response to changes in the environment or the actions of other robots to improve the overall system performance.

[0006] Thus, task allocation in a multi-robot system poses a complex challenge, especially in such a robotic environment where the robots are equipped with different capabilities required to perform various tasks with different requirements and constraints in an optimal manner. Since the task allocation problem is a time-varying dynamic decision problem involving phenomena including environmental changes, the problem has to be solved iteratively at specified time intervals. Thus, addressing the task allocation problem becomes more complex. The requirements of the particular technology field under consideration further influence the characteristics and complexity of the multi-robot task allocation problem. Summary of the Invention [Means for solving the problem]

[0007] The embodiments of the present disclosure provide technical improvements as solutions to one or more of the above-mentioned technical problems identified by the inventors in conventional systems. For example, in one embodiment, a method for optimizing scheduling of non-preemptive tasks in a multi-robot environment includes: defining a plurality of tasks across a set of robots, each of the plurality of tasks being a non-preemptive schedulable task characterized by an arrival time, an execution time, a deadline, and a performance loss function per time unit, each of the plurality of tasks being executed in a multi-robot environment; merging, by one or more hardware processors, one or more pre-assigned tasks with one or more newly arriving tasks from a defined plurality of tasks, where the one or more pre-assigned tasks are non-executed tasks already assigned to one or more robots among the set of robots, and the one or more newly arriving tasks include non-executed tasks to be assigned among the set of robots; optimizing the scheduling of the merged tasks in a multi-robot environment; and the optimizing step comprises: scheduling a first set of tasks among the set of robots by implementing an Online Minimum Performance Loss Scheduling (OMPLS) technique, the first set of tasks including a task having a higher performance loss value among the merged tasks, the first set of tasks further including at least one task that is above a waiting time threshold and has a lower priority than the task having the higher performance loss value; scheduling a second set of tasks among the set of robots via an OMPLS approach, the second set of tasks including tasks that can be scheduled within their deadlines and have a low performance loss value among the merged tasks; minimizing a performance loss value of a remaining subset of tasks by a list-scheduling technique, the remaining subset of tasks including tasks that cannot be scheduled within a predefined deadline; eliminating one or more high priority tasks from the newly arrived task to optimize scheduling of the non-preemptive tasks via a list scheduling technique; iteratively performing the step of removing one or more high priority tasks until each task in the plurality of tasks is assigned to at least one robot; performing a priority update for each of the remaining subset of tasks to optimize scheduling of the non-preemptive tasks; and performing a step of incrementing a priority function of each of the remaining subset of tasks when it is determined that the execution time of each of the remaining subset of tasks is greater than an initial pre-defined threshold, the initial pre-defined threshold being identified using a pre-defined deadline. A method is provided.

[0008] In another aspect, a system for optimizing scheduling of non-preemptive tasks in a multi-robot environment includes: A memory for storing instructions; one or more communication interfaces; one or more hardware processors coupled to the memory via one or more communications interfaces; wherein the one or more hardware processors, in response to the instructions, Defining a plurality of tasks via a set of robots, each of the plurality of tasks being a non-preemptive schedulable task characterized by an arrival time, an execution time, and a performance loss function per time unit, each of the plurality of tasks being executed in a multi-robot environment; merging, by one or more hardware processors, one or more pre-assigned tasks and one or more newly arrived tasks from a defined plurality of tasks, where the one or more pre-assigned tasks are non-executed tasks already assigned to one or more robots among the set of robots, and the one or more newly arrived tasks include non-executed tasks to be assigned among the set of robots; Optimizing the scheduling of merged tasks in a multi-robot environment; and optimizing includes: Scheduling a first set of tasks among the set of robots by implementing an online minimum performance loss scheduling (OMPLS) technique, the first set of tasks including a task having a higher performance loss value among the merged tasks, the first set of tasks further including at least one task that is above a latency threshold and has a lower priority than the task having the higher performance loss value; Scheduling a second set of tasks among the set of robots via an OMPLS approach, the second set of tasks including tasks that can be scheduled within their deadlines and have a low performance loss value among the merged tasks; minimizing a performance loss value of a remaining subset of tasks by a list scheduling technique, the remaining subset of tasks including tasks that cannot be scheduled within a predefined deadline; removing one or more high priority tasks from the newly arrived task to optimize scheduling of the non-preemptive tasks via a list scheduling technique; assigning the removed one or more high priority tasks to an idle robot among the set of robots, an idle robot being a robot that is not executing any of the plurality of tasks; iteratively removing one or more high priority tasks until each task in the plurality of tasks is assigned to at least one robot; implementing an OMPLS technique by performing priority updates for each of the remaining subset of tasks to optimize scheduling of the non-preemptive tasks; performing a priority update by incrementing a priority function of each of the remaining subset of tasks when it is determined that the execution time of each of the remaining subset of tasks is greater than an initial predetermined threshold, the initial predetermined threshold being identified using a predetermined deadline; A system is provided that includes:

[0009] In yet another aspect, one or more non-transitory machine-readable information storage media comprising one or more instructions that, when executed by one or more hardware processors, cause the one or more hardware processors to implement a method for optimizing scheduling of non-preemptive tasks in a multi-robot environment, comprising: The method comprises: defining a plurality of tasks across a set of robots, each of the plurality of tasks being a non-preemptive schedulable task characterized by an arrival time, an execution time, a deadline, and a performance loss function per time unit, each of the plurality of tasks being executed in a multi-robot environment; merging one or more pre-assigned tasks with one or more newly arrived tasks from a defined plurality of tasks, where the one or more pre-assigned tasks are non-executed tasks already assigned to one or more robots among the set of robots, and the one or more newly arrived tasks include non-executed tasks to be assigned among the set of robots; optimizing the scheduling of the merged tasks in a multi-robot environment; and the optimizing step comprises: Scheduling a first set of tasks among the set of robots by implementing an online minimum performance loss scheduling (OMPLS) technique, the first set of tasks including a task having a higher performance loss value among the merged tasks, the first set of tasks further including at least one task that is above a latency threshold and has a lower priority than the task having the higher performance loss value; scheduling a second set of tasks among the set of robots via an OMPLS approach, the second set of tasks including tasks that can be scheduled within their deadlines and have low performance loss values ​​among the merged tasks; minimizing a performance loss value of a remaining subset of tasks by a list scheduling technique, the remaining subset of tasks including tasks that cannot be scheduled within a predefined deadline; removing one or more high priority tasks from the newly arrived task to optimize scheduling of the non-preemptive tasks via a list scheduling technique; iteratively performing the step of removing one or more high priority tasks until each task in the plurality of tasks is assigned to at least one robot; performing a priority update for each of the remaining subset of tasks to optimize scheduling of the non-preemptive tasks; and executing, when it is determined that the execution time of each of the remaining subset of tasks is greater than an initial predetermined threshold, by incrementing a priority function of each of the remaining subset of tasks, the initial predetermined threshold being identified using a predetermined deadline. A non-transitory machine-readable information storage medium is provided.

[0010] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of embodiments of the invention as claimed.

[0011] The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the principles of the disclosure. [Brief description of the drawings]

[0012] [Figure 1] FIG. 1 is a block diagram of a system for optimizing scheduling of non-preemptive tasks in a multi-robot environment, according to some embodiments of the present disclosure. [Diagram 2] FIG. 1 is a flow diagram illustrating steps involved in a process for optimizing the scheduling of non-preemptive tasks in a multi-robot environment according to some embodiments of the present disclosure. [Diagram 3] 1 illustrates a graph of the number of missed deadline tasks and penalties accumulated for tasks arriving during a high traffic period in a multi-robot environment, according to some embodiments of the present disclosure. [Figure 4] 1 illustrates a graph of the number of missed deadline tasks and penalties accumulated for tasks arriving during a high traffic period in a multi-robot environment, according to some embodiments of the present disclosure. [Diagram 5]13 illustrates a graph of allocated slots and performance loss incurred for a task reached at time τ 0 +25 in accordance with some embodiments of the present disclosure. [Figure 6] A graph shows a performance comparison for a linearly growing robot with steady high traffic, penalty values ​​distributed between [1,10], and three different deadline patterns by implementing conventional systems and methods and the methods of the present disclosure, in accordance with some embodiments of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] Exemplary embodiments are described with reference to the accompanying drawings. In the drawings, the most significant digit(s) of a reference number refers to the figure in which the reference number first appears. Where convenient, the same reference number is used throughout the drawings to refer to the same or similar parts. Although examples and features of the disclosed principles are described herein, modifications, adaptations, and other implementations may be made without departing from the spirit and scope of the disclosed embodiments. It is intended that the following detailed description be considered as illustrative only, with a true scope and spirit being indicated by the appended claims.

[0014] Embodiments of the present disclosure provide systems and methods for optimizing the scheduling of non-preemptive tasks in a multi-robot environment. In general, multi-robot task allocation involves efficiently allocating tasks among robots to optimize task scheduling or assignment. For example, task assignment in a warehouse where objects are scheduled to be shipped when a customer places an order for the object may involve pulling the object from a storage rack to a packing table.

[0015] The problem of scheduling non-preemptive or atomic tasks to homogeneous, autonomous robots in a smart environment, especially a smart warehouse environment, is very similar to non-preemptive scheduling or sporadic process scheduling on a homogeneous multiprocessor system. The goal is to optimally schedule the maximum number of non-preemptive tasks within their corresponding deadlines. Furthermore, since each non-preemptive task has a deadline and the resulting performance loss that the multi-robot system may incur if any of the set of non-preemptive tasks is not completed within its corresponding deadline, the goal of the task scheduling system is to reduce the number of deadline misses and minimize the performance loss.

[0016] Particularly in warehouses implementing robotics and related technologies, conventional systems and methods do not take into account the deadlines and performance losses associated with each of the non-preemptive tasks, and therefore discard many of the non-preemptive tasks when such non-preemptive tasks inevitably miss their deadlines. However, in general, each task in a smart warehouse environment needs to be completed even if it misses its corresponding deadline. Merging non-preemptive tasks and scheduling them onto a multiprocessor system (or multicore system) involves a major task scheduling problem.

[0017] The disclosed method addresses the challenges faced by conventional systems and methods. For example, the disclosed method refers to a scheduling technique that schedules each of the non-preemptive tasks, thereby allowing for the scheduling of even low-priority tasks that have low performance loss values. Furthermore, the disclosed method considers deadlines and performance losses associated with each of the non-preemptive tasks while allocating tasks in a multi-robot environment, thereby providing for optimal scheduling and minimization of overall performance losses in the multi-robot environment.

[0018] FIG. 1 illustrates an example block diagram of a system 100 for optimizing the scheduling of non-preemptive tasks in a multi-robot environment, according to an embodiment of the present disclosure. In one embodiment, the system 100 includes one or more processors 104, one or more communication interface devices or one or more input / output (I / O) interfaces 106, and one or more data storage devices or memories 102 operatively coupled to the one or more processors 104. The one or more processors 104, which are hardware processors, may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuits, and / or any device that manipulates signals based on operational instructions. Among other capabilities, the one or more processors are configured to fetch and execute computer-readable instructions stored in the memory 102. In one embodiment, the system 100 may be implemented in a variety of computing systems, such as, for example, laptop computers, notebooks, handheld devices, workstations, mainframe computers, servers, network clouds, and the like.

[0019] The memory 102 may include any computer readable medium known in the art, including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and / or non-volatile memory, such as read-only memory (ROM), erasable programmable ROM, flash memory, hard disk, optical disk, and magnetic tape. In one embodiment, the memory 102 may be configured to store any data associated with optimizing the scheduling of non-preemptive tasks in a multi-robot environment. In one embodiment, information related to the robots, merged tasks, scheduling optimization, online minimum performance loss scheduling (OMPLS) techniques, performance loss minimization, and the like, is stored in the memory 102. Furthermore, all information (inputs, outputs, etc.) related to generating responses to interactive user queries is based on optimizing the scheduling of non-preemptive tasks in a multi-robot environment as historical data for reference purposes.

[0020] The one or more I / O interface devices 106 can include a variety of software and hardware interfaces, such as web interfaces, graphical user interfaces, and the like, and can facilitate communications within a wide variety of network N / W and protocol types, including wired networks (e.g., LAN, cable, etc.) and wireless networks such as WLAN, cellular, or satellite. In one embodiment, the one or more I / O interface devices can include one or more ports for connecting several devices to each other or to another server.

[0021] Referring now to the drawings, and more particularly to Figures 1-6, in which like reference characters indicate corresponding features consistently throughout the drawings, preferred embodiments are shown and described in the context of the following exemplary systems and / or methods.

[0022] FIG. 2, with reference to FIG. 1, illustrates an exemplary flow diagram of a method for optimizing the scheduling of non-preemptive tasks in a multi-robot environment, according to some embodiments of the present disclosure. In one embodiment, the system 100 includes one or more data storage devices in memory 102 operably coupled to one or more hardware processors 104 and configured to store instructions for execution of method steps by the one or more processors 104. The steps of the method of the present disclosure will now be described with reference to the components of the system 100 and the flow diagram illustrated in FIG. 1. In an embodiment of the present disclosure, the hardware processor 104, when configured with the instructions, performs one or more methods described herein.

[0023] According to one embodiment of the present disclosure, in step 201, one or more hardware processors 104 are configured to define a plurality of tasks via a set of robots, each of the plurality of tasks being a non-preemptive schedulable task characterized by an arrival time, an execution time (or task execution time), a deadline, a specified time interval for completing the non-preemptive task, and a performance loss function per time unit. The term "performance loss" as used herein can be understood to be similar to the term "penalty," a term commonly used in warehouse task scheduling, which generally includes the corresponding "deadline" and "penalty."

[0024] Furthermore, although the proposed method is described with reference to a warehouse system, it is not to be understood as being limited to only one or more warehouse systems. The proposed method can be implemented or extended to all such environments / applications / technologies or related scenarios where scheduling or task scheduling is performed using robots or related technologies. The step of defining the multiple tasks can be considered taking into account the following set of assumptions:

[0025] (A set of assumptions) We assume that (i) when a task arrives, the warehouse management system calculates the execution time of the task based on the storage location of each item, assigns a deadline based on the overall expected arrival time promised to the customer, and assigns a performance loss based on the customer profile and the type of object; (ii) At any instant in time, there are n tasks available in the multi-robot environment that need to be completed by m homogeneous robots, each of which has enough available energy to complete the task; (iii) if a customer orders multiple items, the pickup of each item is treated as a separate task, where each task may have different execution times, deadlines, and performance loss values; (iv) For simplicity, we can assume that the actuation times are the same for all tasks and are not included in the task execution time. Thus, only the task execution time constitutes the round-trip travel time of the robot; (v) if a customer orders multiple items, each item to be picked up is treated as a separate task. In this scenario, each of the multiple tasks may have different execution times. However, these tasks are associated with the same deadline and the same performance loss value; (vi) All tasks are atomic and non-preemptive. A robot must execute a task until completion once started. A job cannot be executed by two or more robots simultaneously. Tasks are independent, i.e., the execution of one task does not depend on the execution of any other task. As discussed above, the technical problem of distributing tasks to multiple robots can be mapped to task scheduling on a multiprocessor system (not shown). The disclosed method facilitates on-the-fly allocation of atomic tasks to a team of homogeneous robots, such that failure of a task to meet its deadline results in minimal penalties to the system. The tasks are non-clairvoyant, and each task (T i ) is the arrival time (a i ), execution time (e i ), deadline (d i ), and performance loss value (p i If a task misses its deadline and completes execution in time (ci), it incurs a performance loss of (ci-di) × pi units.

[0026] According to one embodiment of the present disclosure, in step 202, the one or more hardware processors 104 are configured to merge one or more pre-assigned tasks and one or more newly arrived tasks from a defined plurality of tasks, where the one or more pre-assigned tasks are non-executed tasks already assigned to one or more robots among the set of robots, and the one or more newly arrived tasks include non-executed tasks to be assigned among the set of robots.

[0027] In one embodiment, the one or more hardware processors 104 are configured to perform the merge by sorting the one or more pre-assigned tasks and the one or more newly arrived tasks in a queue based on the performance loss values ​​corresponding to the one or more pre-assigned tasks and the one or more newly arrived tasks in a non-increasing order. Considering an exemplary scenario, once the tasks are sorted based on the performance loss values, a list may be generated as (3,2,4,5,1), where first scheduled task id3 may be scheduled, then id2, then id4, and so on.

[0028] According to one embodiment of the present disclosure, in step 203, the one or more hardware processors 104 are configured to optimize scheduling of the merged tasks in a multi-robot environment. In step 203, the one or more hardware processors 104 may be configured to first schedule a first set of tasks among the set of robots by implementing an online minimum performance loss scheduling (OMPLS) technique, the first set of tasks including a task having a higher performance loss value among the merged tasks, the first set of tasks further including at least one task that is above a latency threshold and has a lower priority than the task with the higher performance loss value.

[0029] Further, the one or more hardware processors 104 are configured to schedule a second set of tasks among the set of robots via the OMPLS approach, the second set of tasks including tasks that can be scheduled within the deadline and have a low performance loss value among the merged tasks. Now, the process of optimizing the scheduling via the proposed OMPLS approach can be considered in detail in view of the technical challenges faced by conventional systems and methods while scheduling / distributing jobs in a multi-robot / multi-process environment.

[0030] Generally, since the number of robots deployed in a warehouse is limited, at a certain point in time, the number of tasks may be much greater than the capacity of the team of robots, which may lead to a scenario where some tasks are not delivered within their deadlines. Since the warehouse is committed to completing all tasks, this will result in a performance loss (or penalty) on the system (which implements the robot process to complete the tasks) that is proportional to the delay.

[0031] A task ti is a set of four tuples (a i e i d i p i ), i.e., arrival time a i , execution time e i , relative deadline d i , and the penalty p i The system (through which the multi-robot environment is implemented and executed) starts (restarts) at time zero, where a i is the time unit, and then task t i arrives in a multi-robot environment and executes the i Suppose a system needs to occupy a unit of time. i (>a i ), the system will i +e i The execution of the task is terminated in units of time. i +d i ) the penalty p per unit time delay for completion beyond the deadline is given by i Impose.

[0032] In one embodiment, the performance loss function is:

number

[0033] According to one embodiment of the present disclosure, there are m identical robots, i.e., R={r1, r2, ..., r m} operate in parallel, and T={t1,t2,...,t n}, where task t i (among multiple tasks) is the free time a i Assume that a set of tasks arrives at a scheduler (implemented to schedule tasks via one or more hardware processors 104) at T(r j ) is a robot j Therefore, the objective function of the task scheduler can be expressed by the following equation (2).

number

[0034] Also, by the time these tasks are completed, a new set of tasks can arrive. Furthermore, the fleet of robots can also change, as some of them may run out of energy or new robots with enhanced energy can join. Therefore, an optimized scheduling approach is needed to optimize the scheduling among the robots in such an environment.

[0035] The Online Minimum Performance Loss Scheduling (OMPLS) approach, i.e. the proposed OMPLS approach, facilitates optimizing the scheduling of a set of non-preemptive (or sporadic) tasks, each of which has a deadline and a performance loss value, on multiprocessor systems and in multi-robot environments. The proposed approach facilitates assigning atomic tasks to a team of homogeneous robots on the fly, such that the failure of a task to meet its deadline results in minimal penalty to the system.

[0036] Thus, the OMPLS approach schedules non-clairvoyant, non-preemptive tasks with performance loss value on a multi-robot system by maintaining a universal queue where all newly arrived tasks are stored. The OMPLS approach further maximizes task scheduling within deadlines and achieves a competitive ratio of up to 1 compared to conventional systems and methods. Finally, the OMPLS approach allows bounded delay of task execution when a task cannot be scheduled within its deadline. Thus, the proposed approach eliminates task starvation.

[0037] According to one embodiment of the present disclosure, the OMPLS approach first considers the merged tasks from step 202 above. As discussed in step 202 above, the one or more pre-assigned tasks are non-executed tasks already assigned to one or more robots among the set of robots, and the one or more newly arrived tasks include non-executed tasks to be assigned among the set of robots. Thus, the set of pre-assigned tasks can be defined as schedulable tasks that are not guaranteed to be executed before the deadline, since they may be replaced by a higher priority task that arrives later. The priority of a task is determined by the performance loss value that will be incurred by the system per unit time delay. The tasks are classified based on this priority. The task with the highest penalty value (performance loss=10) is treated as the highest priority task (priority=1).

[0038] Thus, the OMPLS approach considers the merged tasks in the queue and tries to schedule them as the most important ones, which are the tasks that will incur a high penalty if delayed beyond their deadline. The delayed tasks are re-evaluated and scheduled to minimize the performance loss of the entire system. The OMPLS approach delays tasks with low performance loss values ​​for some time and schedules tasks with high penalties early. However, continuous delays of tasks with low penalty values ​​may lead to their starvation and therefore optimized scheduling may be required.

[0039] In one embodiment, at any instant in time τ, the multi-robot system can be in one of the following states: All robots are engaged in the execution of their respective tasks and continue to do so; Some robots that have completed their current task are ready to pick up a new task: If no new tasks have arrived in the system, pick a task from the task queue of each robot; If a new task is introduced into the system, continue with the subroutine TaskScheduling; If no new tasks arrive and there are no tasks available in the robot's task queue, it remains idle.

[0040] In one embodiment, the one or more hardware processors 104 implement the subroutine TaskScheduling whenever a robot finishes a task and at least one new task is introduced into the multi-robot system or a new robot joins the robot fleet. Intuitively, merging the set of pre-assigned tasks (already assigned to the robots) with the set of newly arrived tasks and then determining the schedule will minimize the performance loss value and optimize the scheduling. Following the subroutine TaskScheduling, tasks are distributed to the robots. Algorithm: Online Minimum Performance Loss Scheduling (OMPLS) approach A heuristic for scheduling a non-preemptive task t minimizes the overall penalty at time τ. Input: Tasks in waiting queue (ω) waiting for allocation. Active robots in the warehouse R Output: Each robot (R schedule ) Schedule a task TIFF0007654356000003.tif78101

[0041] In one embodiment, first, each of the merged tasks can be considered for scheduling among the robots available from the set of robots (i.e., robots that are not executing the task). Then, the one or more hardware processors 104 perform a compaction check to determine whether the task t is within its deadline. ican be scheduled, and compaction checks are performed at time intervals [a i ,a i +d i In other words, the OMPLS approach performs a check if ei continuous time units can be placed on the robot in this period, without forcing deadline misses on other tasks in the set of pre-assigned tasks.

[0042] In one embodiment, the robot k Task t i To further ensure that scheduling does not cause a schedulable task to miss its deadline, both equations (3) and (4) below must be satisfied.

number

number

[0043] In one embodiment, in step 203, the one or more hardware processors 104 are finally configured to minimize the performance loss value of the remaining subset of tasks using a list scheduling technique, the remaining subset of tasks including tasks that cannot be scheduled within the predefined deadline. i ,a i -d i ], a task t that can be scheduled to start after iis a task that completes its execution within a predefined deadline. (d i -e i ) tasks that start execution after d i The execution should be completed after imposing a performance penalty on the multi-robot system. (d i -e i ) can be distributed among the robots by implementing a list scheduling technique.

[0044] In one embodiment, minimizing the performance loss value of the remaining subset of tasks includes removing one or more high priority tasks from the newly arrived tasks to optimize the scheduling of the non-preemptive tasks via a list scheduling technique, and assigning the removed one or more high priority tasks to an idle robot among the set of robots, an idle robot being a robot that is not executing any of the multiple tasks. Thus, the task with the highest priority is removed from the waiting queue and assigned to a first robot (e.g., r k , 1≦k≦m), and robot r k is a robot that is idle or has finished the earliest task among the set of robots. The one or more hardware processors 104 perform the steps of iteratively removing one or more high priority tasks until each task in the plurality of tasks has been assigned to at least one robot.

[0045] As mentioned above, conventional systems and methods for implementing robotic processes do not work when there are consecutive delays of tasks with low penalty values ​​that may lead to starvation. To overcome this limitation faced by conventional systems and methods, the disclosed method, i.e., the OMPLS approach, performs a priority update on each of the remaining subset of tasks to optimize the scheduling of non-preemptive tasks. In one embodiment, after each task is assigned to a robot (or distributed to a robot wait queue), one or more hardware processors 104 execute (or wake) the priority values ​​for the robots that may violate deadlines.

[0046] Thus, to optimize the scheduling of non-preemptive tasks in a multi-robot environment, the one or more hardware processors 104 perform a priority update by incrementing a priority function of each of the remaining subset of tasks when it is determined that the execution time of each of the remaining subset of tasks is greater than an initial predetermined threshold, the initial predetermined threshold being identified using a predetermined deadline. Thus, when the current time τ exceeds its initial predetermined threshold, the priority of each of the subset of tasks is incremented by one unit.

[0047] In one embodiment, the initial predefined threshold for a task can be set equal to the final deadline. i ) can be defined as follows:

number

[0048] According to one embodiment of the present disclosure, the performance evaluation of the OMPLS approach can be examined through simulation results. The disclosed method implements a capacity constrained vehicle routing problem (CVRP) data set (vrp) to evaluate the performance of the OMPLS approach, where the depot location can be a package dock location and the site location can be used as a storage location for one or more objects to be picked up by the robot. The simulation results consider only 1000 tasks (i.e., site locations) from this set.

[0049] As mentioned before, each task can be represented as a tuple, i.e., ti = i ,e i ,d i ,p i >, where the execution time (e i ) can be set as the travel time of the robot from the packaging dock to the object storage location and back. For execution time, the following strategies can be considered: d i =2e i , where the task deadline d​i is the corresponding execution time e i Due to the large number of tasks compared to the number of robots, it is possible that multiple tasks may miss their deadlines, but such rare scenarios are effectively addressed by implementing the disclosed method; d i ∈[2e i ,10e i ], Deadline d i 2e i ,10e i is set to a random value in the range i ,10e i are randomly distributed; d i ∈[5e i ,10e i ], Deadline d i 5e i ,10e i , which represents a scenario in which a large number of tasks are schedulable within their respective deadlines (if not all); d ← mix, which contains a mix of the three prior data sets with equal probability to ensure that the scheduler does not favor a particular distribution of deadlines.

[0050] Furthermore, for each combination of execution time and deadline described above, the one or more hardware processors 104 may assign a penalty to each task using one of the following three strategies: p ← [1,10], the performance loss is set to one or more random values ​​generated using a uniform distribution in the range 1 to 10; p←same, the performance loss is set to one and the same value (e.g., 1) for each of the multiple tasks; p←extreme[1 or 10], the performance loss is set to one of two extreme values, i.e., 1 or 10, with equal probability.

[0051] In one embodiment, the OMPLS approach can be evaluated based on two metrics: the overall performance loss incurred while completing all tasks, and the number of deadline misses between times τ0 and τ', where τ'>τ0. To check the performance of the scheduler, a stable multi-robot system can be represented up to time τ0. After time τ0, a burst of tasks arrives in the multi-robot system up to time τ', after which the task inflow decreases. The task arrival patterns during the bursts can be seen by referring to Figures 3 and 4, where Figure 3 shows a continuous high inflow rate for a certain time span - steady high traffic, and Figure 4 shows that multiple tasks appear at small time scales and the pattern continues at some times - spike traffic.

[0052] In one embodiment, the number of deadline-missed tasks and the corresponding performance loss incurred depends on the rate at which tasks appear in the multi-robot system and the number of robots available to execute the tasks. The number of active robots (out of the total number of robots) can be fixed at 50 to capture the robustness of the multi-robot system before and after task bursts, with approximately 1000 added during such high traffic times. The disclosed method was compared to conventional systems and methods, such as, for example, Shortest Deadline First-New Task First (EDF-NTF) by Turner et al.

[0053] By referring to Fig. 3 and Fig. 4, we can see the number of tasks that miss their deadlines and the performance loss accumulated for tasks that arrive during the high traffic period. The multi-robot system was in a stable state before the task burst occurred. By referring again to Fig. 3 and Fig. 4, it is noted that for a fixed number of robots, a large increase in the rate of task inflow leads to the multi-robot system losing stability, leading to a large number of running tasks violating deadline constraints. The performance loss also starts to accumulate gradually. At the end of the task burst, the task arrival rate gradually drops to a normal value, the multi-robot system gains stability, and there is no further accumulation of deadline misses and performance loss. For both types of task arrival patterns (stable high traffic and spike traffic), the scheduler performance is similar. The experiments were conducted during high traffic.

[0054] By referring to FIG. 5, one can see the execution pattern for the task arriving at time τ0+25. The OMPLS approach schedules traffic such that fewer tasks miss their deadlines compared to conventional systems and methods such as the EDF-NTF approach. The OMPLS approach delays tasks with lower penalty values ​​(e.g., task id 58) to prioritize tasks with higher penalties to minimize the overall loss / penalty to the system. Constant delays in the execution of low penalty tasks can lead to starvation. Starvation avoidance is also eliminated by the proposed OMPLS approach as discussed in step 203 above.

[0055] According to one embodiment of the present disclosure, the robustness, results, technical advantages, minimization of performance loss, and comparison to conventional systems and methods of the proposed disclosure can be further discussed. By referring to Tables 1-4 below, it should be noted that the OMPLS approach does not prioritize specific task characteristics. The OMPLS approach can be further evaluated by comparing the penalty and performance loss values ​​with conventional systems and methods (d=e.g., auction-based algorithms (AUC-offline)). [Table 1] [Table 2] [Table 3] [Table 4]

[0056] The AUC offline method tries to maximize profit by executing as many tasks as possible within the deadline, but does not provide for scheduling the remaining tasks (that miss their deadlines) at the end of the schedulable tasks. The OMPLS method schedules the remaining tasks (that miss their deadlines) at the end of the schedulable tasks. This provides an accumulated performance value in the AUC-based scheduling. Table 3 provides the advantage of the OMPLS method over the AUC offline method in terms of the number of tasks that meet their deadlines. By referring to Table 4, it is noted that the OMPLS method obtains a maximum competitive ratio of 1 and a minimum of 0.83.

[0057] By referring to FIG. 6, it is noted that the proposed OMPLS approach outperforms conventional systems and methods by optimizing the scheduling of non-preemptive tasks. Intuitively, the OMPLS approach when the number of robots available to execute tasks is large requires improving the performance of the scheduler in terms of minimizing deadline misses and performance loss values. This trend is reflected by the AUC offline approach, the EDF-NTF approach, as well as the disclosed method. The number of available robots varies between 20 and 100, and this change faces two aspects: the robustness of the scheduler with the changing number of resources (robots) and the improvement of performance with the increasing number of resources.

[0058] The task has a much larger deadline, d i ∈[5e i ,10e i In

[1999] , by using 70 robots, almost all tasks are successfully executed by implementing the proposed OMPLS method without missing any of the deadline constraints. To achieve the same performance, the EDF-NTF method required a larger number of robots. Furthermore, d i ∈[2e i ,10e i ] and d←mix, when a staggering number of tasks will miss their deadlines, the proposed OMPLS approach outperforms both the AUC offline approach and the EDF-NTF approach in terms of incurred performance loss values. Note that the number of tasks that miss their deadlines is always less than the AUC offline approach, which can be attributed to the fact that the AUC offline approach is an offline approach in which the entire task configuration is known to the scheduler at the start. The proposed OMPLS approach delays tasks with less penalty, while conventional systems and approaches, e.g., the EDF-NTF approach, delay tasks beyond their deadlines.

[0059] The subject matter herein has been described to enable one skilled in the art to make and use embodiments of the invention. The scope of the embodiments of the subject matter is defined by the claims, and may include other modifications that occur to those skilled in the art. Other such modifications are within the scope of the claims if they have similar elements that do not differ from the claim language, or if they include equivalent elements that have insignificant differences from the claim language.

[0060] The embodiments of the present disclosure herein address the unsolved problem of optimizing the scheduling of non-preemptive tasks in a multi-robot environment, i.e., by implementing an OMPLS approach, the embodiments provide for first scheduling the tasks with higher performance loss values, then the tasks that can be scheduled within their deadlines and have lower performance loss values ​​among the merged tasks, and finally minimizing the performance loss values ​​of the remaining subset of tasks that cannot be scheduled within the predefined deadlines. Also, the embodiments herein further provide for performing priority updates for each of the remaining subset of tasks to optimize the scheduling of non-preemptive tasks.

[0061] It should be noted that the scope of protection of this patent extends to such programs and also to computer readable means having messages therein, such computer readable storage means including program code means for implementing one or more steps of the method when the program is executed on a server or a mobile device or on any suitable programmable device. The hardware device can be any type of device that can be programmed, including any type of computer, such as a server or a personal computer or the like, or a combination of these. The device can also include hardware means, such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or means that can be a combination of hardware and software, such as an ASIC and an FPGA, or at least one microprocessor and at least one memory in which software modules are located. Thus, the means can include both hardware means and software means. The method embodiments described herein can be implemented in hardware and software. The device can also include software means. Alternatively, the embodiments can be implemented on various hardware devices, for example using multiple CPUs.

[0062] The embodiments herein may include hardware and software elements. Software-implemented embodiments include, but are not limited to, firmware, resident software, microcode, etc. Functions performed by various modules described herein may be implemented in other modules or combinations of other modules. As used herein, a computer usable or computer readable medium may be any apparatus that can contain, store, communicate, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device.

[0063] The illustrated steps are presented to explain the illustrated exemplary embodiments, and it is understood that ongoing technological developments will change the manner in which a particular function is implemented. These examples are presented herein for purposes of explanation and not limitation. Moreover, for convenience of explanation, the boundaries of functional building blocks have been arbitrarily defined herein. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Further alternatives (including equivalents, extensions, variations, deviations, etc. of those described herein) will be apparent to those skilled in the art based on the teachings contained herein. Such alternatives are within the scope and spirit of the disclosed embodiments. Moreover, the words "comprising," "having," "containing," and "including," as well as other similar word forms, are intended to be equivalent in meaning and are intended to be non-limiting in that the item or items following any of these words are not meant to be an exhaustive list of the item or items, nor are they meant to be limited to only the item or items listed. Similarly, it must be noted that, in this specification and the appended claims, the singular forms "a," "an," and "the" include plural references unless the context clearly dictates otherwise.

[0064] Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory capable of storing information or data readable by a processor. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing a processor(s) to perform steps or stages consistent with the embodiments described herein. The term "computer-readable medium" should be understood to include tangible items and exclude carrier waves and transient signals, i.e., non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, non-volatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and other known physical storage media.

[0065] It is intended that the disclosure and examples be considered as exemplary only, with a true scope and spirit of the disclosed embodiments being indicated by the following claims.

Claims

1. 1. A method for optimizing scheduling of non-preemptive tasks in a multi-robot environment, comprising: The method comprises: Defining a plurality of tasks across a set of robots, each of the plurality of tasks being a non-preemptively schedulable task characterized by an arrival time, an execution time, a deadline, and a performance loss function, each of the plurality of tasks to be executed in the multi-robot environment, the performance loss function being: is defined as i is task t i represents the completion time for i corresponds to the plurality of tasks, and d i represents the deadline, and p i represents a performance loss value; merging (202), by one or more hardware processors, one or more pre-assigned tasks with one or more newly arrived tasks from the defined plurality of tasks, where the one or more pre-assigned tasks are non-executed tasks already assigned to one or more robots among the set of robots, and the one or more newly arrived tasks include non-executed tasks to be assigned among the set of robots; optimizing (203) the scheduling of the one or more merged tasks in the multi-robot environment; The method includes the steps of: The optimizing step includes: scheduling a first set of tasks among the set of robots by implementing an online minimum performance loss scheduling (OMPLS) technique, the first set of tasks including tasks having higher performance loss values ​​among the one or more merged tasks; scheduling a second set of tasks among the set of robots via the OMPLS approach, the second set of tasks including tasks that can be scheduled within their deadlines and have a low performance loss value among the one or more merged tasks; minimizing a performance loss value of a remaining subset of tasks by a list scheduling technique, the remaining subset of tasks including tasks that cannot be scheduled within a predefined deadline; Including, method.

2. 2. The method of claim 1, wherein minimizing the performance loss value of the remaining subset of tasks comprises removing one or more high priority tasks from the newly arrived tasks to optimize scheduling of the non-preemptive tasks via the list scheduling technique, the priority of a task being determined by the performance loss value that would be incurred by a system per unit time delay, the tasks being classified based on the priority, and the task having the highest penalty value (performance loss value=10) being treated as the one or more high priority tasks.

3. 2. The method of claim 1 , wherein the merging step is performed by sorting the one or more pre-assigned tasks and the one or more newly arrived tasks in a queue based on non-ascending performance loss values ​​corresponding to the one or more pre-assigned tasks and the one or more newly arrived tasks.

4. 3. The method of claim 2, wherein the removed one or more high priority tasks are assigned to an idle robot among the set of robots, an idle robot being a robot not performing any of the plurality of tasks.

5. 3. The method of claim 2, wherein the step of removing one or more high priority tasks is performed iteratively until each task in the plurality of tasks is assigned to at least one robot among the set of robots.

6. 2. The method of claim 1, wherein the OMPLS technique includes performing priority updates for each of the remaining subset of tasks to optimize scheduling of the non-preemptive tasks.

7. 7. The method of claim 6, wherein the priority updating is performed by incrementing a priority function of each of the remaining subset of tasks upon determining that the execution time of each of the remaining subset of tasks is greater than an initial predetermined threshold, the initial predetermined threshold being identified using a predetermined deadline.

8. A system (100) for optimizing scheduling of non-preemptive tasks in a multi-robot environment, comprising: A memory (102) for storing instructions; one or more communication interfaces (106); one or more hardware processors (104) coupled to the memory (102) via the one or more communications interfaces (106); Including, The one or more hardware processors (104) execute the instructions. defining a plurality of tasks across a set of robots, each of the plurality of tasks being a non-preemptively schedulable task characterized by an arrival time, an execution time, a deadline, and a performance loss function, each of the plurality of tasks being executed in the multi-robot environment, the performance loss function being: is defined as i is task t i represents the completion time for i corresponds to the plurality of tasks, and d i represents the deadline, and p i represents a performance loss value; and merging one or more pre-assigned tasks with one or more newly arrived tasks from the defined plurality of tasks, wherein the one or more pre-assigned tasks are non-performed tasks already assigned to one or more robots among the set of robots, and the one or more newly arrived tasks include non-performed tasks to be assigned among the set of robots; optimizing scheduling of the one or more merged tasks in the multi-robot environment; and configured to: The optimizing step comprises: scheduling a first set of tasks among the set of robots by implementing an online minimum performance loss scheduling (OMPLS) technique, the first set of tasks including tasks having higher performance loss values ​​among the one or more merged tasks; scheduling a second set of tasks among the set of robots via the OMPLS approach, the second set of tasks including tasks that can be scheduled within their deadlines and have a low performance loss value among the one or more merged tasks; minimizing a performance loss value of a remaining subset of tasks by a list scheduling technique, the remaining subset of tasks including tasks that cannot be scheduled within a predefined deadline; Including, System (100).

9. 10. The system of claim 8, wherein the one or more hardware processors are configured to minimize the performance loss value of the remaining subset of tasks by removing one or more high priority tasks from the newly arrived tasks to optimize scheduling of the non-preemptive tasks via the list scheduling technique, the priority of a task being determined by the performance loss value that would be incurred by the system per unit time delay, the tasks being classified based on the priority, and a task having the highest penalty value (performance loss value=10) is treated as the one or more high priority tasks.

10. 10. The system of claim 8, wherein the one or more hardware processors are configured to merge the one or more pre-assigned tasks and the one or more newly arrived tasks in a queue based on non-ascending performance loss values ​​corresponding to the one or more pre-assigned tasks and the one or more newly arrived tasks.

11. 10. The system of claim 9, wherein the one or more hardware processors are configured to assign the removed one or more high priority tasks to an idle robot among the set of robots, an idle robot being a robot not performing any of the plurality of tasks.

12. 10. The system of claim 9, wherein the one or more hardware processors are configured to iteratively perform the step of removing the one or more high priority tasks until each task in the plurality of tasks is assigned to at least one robot among the set of robots.

13. 10. The system of claim 8, wherein the one or more hardware processors are configured to implement the OMPLS technique by performing priority updates for each of the remaining subset of tasks to optimize scheduling of the non-preemptive tasks.

14. 14. The system of claim 13, wherein the one or more hardware processors are configured to perform the priority update by incrementing a priority function of each of the remaining subset of tasks when it is determined that the execution time of each of the remaining subset of tasks is greater than an initial predetermined threshold, the initial predetermined threshold being identified using a predetermined deadline.

15. One or more non-transitory machine-readable information storage media containing one or more instructions that, when executed by one or more hardware processors, Defining a plurality of tasks via a set of robots, each of the plurality of tasks being a non-preemptively schedulable task characterized by an arrival time, an execution time, a deadline, and a performance loss function, each of the plurality of tasks being executed in a multi-robot environment, the performance loss function being: is defined as i is task t i represents the completion time for i corresponds to the plurality of tasks, and d i represents the deadline, and p i represents a performance loss value (201); merging, by one or more hardware processors, one or more pre-assigned tasks with one or more newly arrived tasks from the defined plurality of tasks, where the one or more pre-assigned tasks are non-executed tasks already assigned to one or more robots among the set of robots, and the one or more newly arrived tasks include non-executed tasks to be assigned among the set of robots (202); optimizing (203) the scheduling of the one or more merged tasks in the multi-robot environment; and Let them do so, The optimizing step comprises: scheduling a first set of tasks among the set of robots by implementing an online minimum performance loss scheduling (OMPLS) technique, the first set of tasks including tasks having higher performance loss values ​​among the one or more merged tasks; scheduling a second set of tasks among the set of robots via the OMPLS approach, the second set of tasks including tasks that can be scheduled within their deadlines and have a low performance loss value among the one or more merged tasks; minimizing a performance loss value of a remaining subset of tasks by a list scheduling technique, the remaining subset of tasks including tasks that cannot be scheduled within a predefined deadline; Including, One or more non-transitory machine-readable information storage media.

Citation Information

Patent Citations

  • System and method for monitoring, deploying, and tracking autonomous software robots

    US20170173784A1

  • Teaming in swarm intelligent robot sets

    US20180275679A1