System and method for robotic agent management

By introducing coordinator modules and machine learning technology into the robot process automation system, we optimize task scheduling and detect exceptions, the problem of inefficiency in existing systems when coordinating multiple robot agents is solved, and more efficient task execution and data calibration are achieved Test.

CN113661035BActive Publication Date: 2025-02-07SERVICENOW INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201980078721.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-09-28
Filing Date
2019-09-26
Publication Date
2025-02-07
Estimated Expiration
2039-09-26

AI Technical Summary

Technical Problem

Existing robot process automation systems are inefficient in coordinating multiple robot agents and are unable to effectively detect and correct errors in data.

Method used

Using a coordinator module, the work output of multiple robot agents is received and analyzed through machine learning technology, the dependencies between tasks and steps are determined, and task scheduling is optimized for efficiency. In addition, the coordinator module can detect abnormal actions and values, generate alerts and provide corrective actions.

Benefits of technology

It improves the coordination efficiency of multiple robot agents, can automatically detect and correct errors in data, reduces the need for human programming, and improves the overall performance and reliability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113661035B_ABST
    Figure CN113661035B_ABST
Patent Text Reader

Abstract

Systems and methods for managing and enhancing the performance of multiple robotic agents. A coordinator module receives work output from multiple robotic agents and determines whether efficiency can be achieved by rescheduling tasks and / or steps performed by the various robotic agents. Similarly, the coordinator learns the various actions and values ​​used by the agents and can inspect for anomalous actions and / or values. Human-operated workstations can also send their work output to the coordinator, and this output, along with the steps performed by the human, can be analyzed to determine whether the task performed can be completed by a robotic agent.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to robotic process automation (RPA) systems that perform repetitive tasks based on a set of programmed instructions. More specifically, the present invention relates to the use of machine learning applied to such automation systems to enhance the capabilities of such systems. Background Art

[0002] The rise of automation since the late 20th century has been well documented. The application of such automated systems in manufacturing is well known. These automated systems that perform pre-programmed, repetitive tasks are now used not only in manufacturing, but also in other areas of industry and human activity. These have been used in scientific laboratories to perform repetitive tasks that may be prone to errors when performed by humans. They are now also beginning to be used in industries where they can provide error-free execution of common, repetitive tasks. A major development in the past few years has been the rise of RPA (Robotic Process Automation). Robotic agents are used to perform repetitive virtual tasks on a graphical user interface instead of having physical robots perform repetitive physical tasks. For example, copying data from one form to another and then saving the results is a task that RPA agents are well suited to perform. Not only are the agents fast, but the agents are also accurate.

[0003] While robots are useful and while they excel at performing such repetitive tasks individually, they are uncoordinated as a group. Therefore, the efficiencies gained by treating robotic agents as a group are often lost opportunities. In addition to this, robotic agents, by their very nature, are not fault-tolerant and cannot detect problems with the data they are working with. If programmed to process data, these robotic agents will blindly process the data even if there are problems with the data. Therefore, these robotic agents have an incorrigible determinism. Any errors encountered in the data are happily ignored unless the robotic agents are specifically programmed to discover these errors.

[0004] Therefore, there is a need for systems and methods that can coordinate multiple robotic agents to achieve efficiency gains. Also, it is preferred that such systems and methods allow for exception or error checking without having to program for every and every possible combination of errors or exceptions that may be encountered. Summary of the invention

[0005] The present invention provides systems and methods for managing and enhancing the performance of multiple robotic agents. A coordinator module receives work output from multiple robotic agents and determines whether efficiency can be gained by rescheduling tasks and / or steps performed by various robotic agents. Similarly, the coordinator learns the various actions and values ​​used by the agents and can check for abnormal actions and / or values. Workstations operated by humans can also send their work output to the coordinator, and this output and the steps performed by the humans can be analyzed to determine whether the task being performed can be completed by a robotic agent, or to determine a more optimized way to perform the task.

[0006] In a first aspect, the present invention provides a method for enhancing the performance of a plurality of robotic agents, the method comprising:

[0007] a) receiving a schedule of tasks to be performed by the robotic agent;

[0008] b) receiving steps performed by each of said robotic agents for each of said tasks;

[0009] c) using machine learning to determine dependencies between said steps performed by different robotic agents;

[0010] d) using machine learning to determine adjustments to said steps to optimize at least one of said tasks.

[0011] In a second aspect, the present invention provides a method for detecting at least one anomaly in a system in which at least one robotic agent performs a task, the method comprising:

[0012] a) continuously receiving work output from the at least one robotic agent;

[0013] b) continuously training a machine learning system using the job outputs in a training set so that the machine learning system learns a range of actions and values ​​from the at least one robotic agent;

[0014] c) continuously evaluating said work output against said ranges of actions and values ​​for said at least one robotic agent;

[0015] d) generating an alert to a user and a report to the user if at least one aspect of the work output is outside of the range of actions and values ​​for the robotic agent;

[0016] The report includes an explanation of the alarm.

[0017] In a third aspect, the present invention provides a method for determining candidate tasks for automation, the method comprising:

[0018] a) continuously receiving work output from a user workstation, the work output comprising steps performed by a human being on the user workstation in performing a task;

[0019] b) using machine learning to determine whether the steps performed by the user are executable by a robotic agent;

[0020] c) where said steps are executable by a robotic agent, generating a report for a user detailing said steps executable by said robotic agent.

[0021] In a fourth aspect, the present invention provides a system for performing multiple tasks, the system comprising:

[0022] - a plurality of robotic agents, each of the plurality of robotic agents performing at least one task from the plurality of tasks;

[0023] - a coordinator module for managing the plurality of robotic agents, the coordinator module receiving a work output from at least one of the plurality of robotic agents;

[0024] in

[0025] - At least one of the plurality of robotic agents reports to the coordinator module the steps performed in executing the at least one task. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] Embodiments of the present invention will now be described with reference to the following drawings, in which like reference numerals in different drawings refer to like elements, and in which:

[0027] Figure 1 is a block diagram of a system according to one aspect of the present invention;

[0028] Figure 2 is a flow chart detailing a method according to another aspect of the present invention;

[0029] Figure 3 is another flow chart detailing another method according to yet another aspect of the present invention;

[0030] Figure 4 is an additional flow chart detailing another method according to another aspect of the present invention. DETAILED DESCRIPTION

[0031] The present invention relates to the application of machine learning and artificial intelligence methods and systems to robotic process automation agents (hereinafter referred to as "robotic agents"). As described above, these robotic agents are useful in performing repetitive tasks that require little or no human judgment. In particular, various aspects of the present invention relate to applying such machine learning methods and techniques to multiple robotic agents. These robotic agents can perform different tasks on different pieces of data from different sources, or they can all perform a single task on different pieces of data. Regardless of the tasks being performed, a team of robotic agents can benefit from coordinated system-wide task scheduling. Moreover, there may be dependencies between the various steps taken by different robotic agents. These dependencies may affect the scheduling of tasks, and efficiencies may be gained by rearranging not only the order of the steps but also the order of execution of the tasks. Additionally, rescheduling tasks for a single robotic agent can provide this robotic agent with much higher efficiency relative to its tasks. And further, redundant tasks and / or steps can be identified and removed.

[0032] As is well known and explained above, robotic agents are useful for performing mundane, repetitive tasks that require little human judgment. Therefore, errors in the data may not be detected or resolved by these robotic agents. Such errors may lead to additional errors and may negatively affect the work performance of the entire system unless these errors are caught earlier in the process.

[0033] Because these robotic agents are useful for performing these common, repetitive tasks, they are well suited to replace humans who are prone to error due to the common and repetitive nature of their tasks. However, determining which tasks may be suitable for robotic agents may not be simple. Long processes with many steps may be involved, and determining which steps can be performed by a robotic agent may be difficult because some steps may depend on the results of other steps. Similarly, the repetitive nature (or redundancy or accuracy) of any one of the steps may not be obvious because repetitive steps may be obscured by intervening non-repetitive steps.

[0034] One solution to the above problem is a system using a coordinator module or a coordinator subsystem, wherein the coordinator receives data and / or work output from various robot agents in the system. In addition, the coordinator will also receive work output and data from at least one workstation operated by an operator. By using machine learning techniques and methods, the coordinator module can analyze and suggest changes to the scheduling of tasks performed by the robot agent. In addition, the coordinator module can suggest changes in how to adjust or rework the steps for each task performed by the robot agent to achieve efficiency. In addition, any dependencies between the data required and / or generated by different robot agents can be determined. These dependencies can be reduced by rearranging and / or rescheduling both tasks and steps so that preferably different robot agents can perform tasks independently of each other. The reordered schedules, tasks, and steps can be iteratively generated and implemented to determine which order or which schedule can provide the best efficiency for the system as a whole. By allowing independence between robot agents, different agents can be executed in parallel, thereby achieving higher efficiency within the system.

[0035] Such a system can also be operated to check for errors in data and errors in the execution of tasks performed by the robot agent. Using machine learning techniques, the coordinator module can learn the input and output of the robot agent, as well as the sequence of steps performed by each robot agent when performing its task. Then, by continuously monitoring the input and output of each robot agent and the actions of each robot agent, any significant deviation from the expected steps and / or input / output data and / or the format / type of such data can be reported. In addition, any failure in the transmission or reception of expected data to and from each robot agent can be monitored. Such a coordinator module compares the input and output of each robot agent with the learned input, output and data conversion for this particular robot agent. If the data to and from a particular robot agent is not within the expected range (such as learned from the historical input and output of the robot agent), the coordinator module can report the problem to the user with a full explanation of the problem. Additionally, the coordinator module can suggest corrective measures to avoid such problems in the future. Alternatively, according to an embodiment, the coordinator module can simply correct errors (such as data format errors) to ensure that the received data is in the expected format.

[0036] In order to determine which tasks are performed by a human agent or operator on a workstation, a coordinator module of the system can be coupled to receive steps performed by a human. Then, again using machine learning techniques, the coordinator module can analyze these steps and determine which tasks and subtasks can be automated. Repetitive tasks and data dependencies can be determined, and if necessary, the steps and / or tasks performed by the human agent can be reordered to allow automation by a robotic agent. A report on potential automation candidates for tasks or steps performed by a human operator can then be generated. Of course, such a report can be a proposed automation script. Active learning methods can also be applied to this aspect of the invention.

[0037] refer to Figure 1 , a block diagram of a system according to one aspect of the present invention is shown. The system 10 includes an orchestrator module 20 coupled to a plurality of robotic agents 30A, 30B, 30C. Each of the robotic agents is performing tasks that may be similar to each other or they may be different. Likewise, these tasks may be related to each other, or they may also be independent of each other. In one embodiment, the orchestrator module is also coupled to at least one workstation 40 operated by a human agent or operator. It should be noted that the orchestrator module may be coupled to both the robotic agents and the human-operated workstations, or the orchestrator module may be coupled only to the robotic agents. Likewise, in one embodiment, the orchestrator module may be coupled only to the human-operated workstations and not to the robotic agents.

[0038] It should be clear that although the coordinator module is Figure 1 is shown as a single device / module, but the module can take the form of multiple modules or sub-modules. For example, one or more sub-modules can be coupled to a robotic agent, while another sub-module can be coupled to a human-operated workstation. Similarly, based on what the sub-module is coupled to, each sub-module can be assigned a separate functional task. Thus, one sub-module can be assigned the task of scheduling efficiency for a robotic agent, while another sub-module can be assigned the task of performing data / task / step error checking on the robotic agent. Yet another sub-module can be assigned the task of finding efficiency and automation suggestions for human-operated workstations. This collector sub-module can receive and organize information received from different agents / workstations. Other specific intelligent modules can review the information and generate the best recommendations for scheduling, task optimization, etc.

[0039] As described above, the system 10 can be operated to determine whether efficiencies can be gained by simply rescheduling different tasks for different robotic agents or by reworking the order of steps performed by the robotic agents when performing tasks. Likewise, efficiencies can also be gained by examining data dependencies between tasks and / or steps and reordering the tasks / steps to eliminate such data dependencies.

[0040] refer to Figure 2 , a flow chart detailing the steps in a method according to one aspect of the present invention is shown. In this method, machine learning techniques are used to seek efficiencies associated with multiple robotic agents. The method begins at step 50, where the system receives a schedule for one or more tasks to be performed by one or more robotic agents. At step 60, the system receives the steps performed by each of the robotic agents when performing its tasks. Then, in step 70, the schedule and steps are analyzed to search for data dependencies between tasks and / or steps that can be eliminated by rescheduling tasks or rescheduling steps. As described above, step 70 can be performed using machine learning methods and techniques (such as neural networks). Such neural networks can be trained in optimizing techniques and searching and identifying data dependencies between different data streams. In addition, the neural network can be paired with submodules that can generate appropriate hypothetical scenarios to determine whether rescheduling the schedule and / or tasks and / or steps will generate efficiencies. Of course, efficiencies can include faster execution times, better resource utilization, and higher overall throughput.

[0041] Once the data from the robotic agent has been analyzed and efficiency improvement measures have been determined, these measures can be passed to the reporting module (step 80). A suitable report can then be prepared for the user with these measures as recommendations. It should be clear that the flow of data from the robotic agent to the system can be continuous, and the analysis of such data can also be continuous, just like the reporting. In this way, new schedules, new tasks, and new steps are continuously considered by the system and continuously analyzed. Therefore, the optimization of schedules, steps, dependencies, etc. is continuous, and the system is rarely static.

[0042] refer to Figure 3, a flowchart detailing the steps in another method according to another aspect of the present invention is shown. This method involves continuously monitoring the inputs, outputs, and throughputs of various robotic agents to ensure that their tasks are successfully completed and that the data generated is within the expected parameters. In the flowchart, the method begins with the system receiving work outputs from various robotic agents (step 100). The work output may include data received by the robotic agent, data generated by the robotic agent, steps taken by the robotic agent to process the data, and any other data that may need to be checked to ensure the correctness of the process. Then, the system learns this work output using machine learning techniques and methods (such as neural networks) as described above. Therefore, the neural network can be trained on a continuous basis (for example, using reinforcement learning techniques) for the work output of each robotic agent. By learning the expected inputs, outputs, and steps of multiple instances of the work output of a single robotic agent, the system can learn the expected range of actions and values ​​from the robotic agent. Of course, other machine learning techniques can be used, including supervised learning, semi-supervised learning, deep learning, and any combination of the above. Nothing in this document should be considered to limit the scope of the present invention to any of the details disclosed herein.

[0043] Once the work output has been received, it is then compared to the learned behaviors / actions and learned ranges of values ​​for previous work outputs from the same or similar robotic agent (step 110). A decision 120 then determines whether the most recently received work output is within the expected range of actions and values ​​for this robotic agent. If the work output is within the expected range, the logic of the method loops back to receive more work output from the robotic agent. However, if the work output is outside the expected actions and values ​​for this robotic agent, then at step 130, the system marks the abnormal data (e.g., an abnormal value, an abnormal action or step taken by the robotic agent, or any combination of both). A report is then prepared and sent to the user to notify the user of the abnormal data received from the robotic agent (step 140). Of course, other steps can be inserted into the method, including the step of training one or more machine learning models using the work outputs in one or more training sets.

[0044] It should be clear that although Figure 3 The method in is performed on a per-robot-agent basis, but the system can also perform this method on a system-wide level. This means that instead of the system learning the expected actions and values ​​for each of the individual robot agents, the system learns the actions and values ​​for all (or most) of the robot agents. If system-wide errors in data and / or actions are encountered, a report is sent to the user.

[0045] Figure 3The method in can also be extended to monitor both silent and noisy faults for various robot agents. A noisy fault is a fault that generates an error message or something similar, while a silent fault is a fault in which the consequences are unknown when the fault occurs. As an example of a noisy fault, having a numerical value when an alphabetic value is expected may result in an error message, and this may cause the robot agent to fail. In contrast, an example of a silent fault can be when a value between 10 and 15 is expected but a value of 1000 is entered. The difference in value may not cause the robot agent to fail, but may cause other faults and errors due to processing obviously wrong values. Therefore, the method can be used to monitor these types of faults. For noisy faults, the robot agent that failed to complete its task can be marked by the system for reporting to the user. The report will detail the fault, identify the robot agent, and provide data on the process being executed, the value being used, and the type of fault encountered. Similarly, if a potential silent fault is encountered (for example, a value that is very different from the expected value is used), the system will recognize that the value encountered exceeds the expected action and value for this robot agent. Thus, a report will be generated that details the identity of the robotic agent, the process being performed, the value being processed, the type of potential error encountered, the source of the error encountered, and the proposed corrective action. In addition, the expected value range for this potential error value can also be provided in the report. In this way, the user can be easily provided with the relevant information needed to troubleshoot and / or resolve potential problems.

[0046] As mentioned above, Figure 3 The method detailed in can detect abnormal values ​​used in the execution of tasks. In addition to this, the system can also detect abnormal actions performed by the robot agent. For example, a malfunctioning robot agent may not enter data in field x, but enter data into fields x and y. If the input in field y is not expected, then this situation can generate appropriate alerts and appropriate reports for the user. As another example, the system can detect whether the robot agent mistakenly copies and / or pastes data from the wrong data source and the wrong data destination. Because the system has learned the steps to be taken by the robot agent, any actions that are different from what is expected can be captured. Therefore, abnormal actions and abnormal values ​​can be detected. Therefore, malfunctioning robot agents, incorrect data and other minor problems in the system can be recorded and marked for users to resolve.

[0047] refer to Figure 4 , shows a flow chart of another method according to another aspect of the present invention. The method described in the figure involves monitoring and analyzing steps performed by humans on a workstation. As described above, Figure 1The system shown in can be used to perform this method. In this method, the steps taken by a human operator or agent are analyzed and, if necessary, reordered to determine whether the task being performed is suitable for execution by a robotic agent. To this end, data dependencies between different steps in the task can be determined and, if possible, reduced or eliminated by reordering the steps. In addition, the judgment (or lack of judgment) that may be required for a task or step can be evaluated to determine whether the robotic agent can perform the judgment, or whether human judgment is necessary.

[0048] exist Figure 4 , the method begins with the system receiving work output from a workstation operated by a human agent (step 200). This work output is then analyzed in step 210 for data dependencies, judgment requirements, and possible rearrangement of steps to reduce any data dependencies. Based on this analysis, a decision is then made as to whether one or more steps or tasks performed by the human operator can be performed by a robotic agent 220. If the response is negative, the logic flow returns to step 200 to receive additional work product from the workstation. On the other hand, if the response is positive, i.e., one or more steps can be performed by a suitable robotic agent, the system prepares a report for the user (step 230). As described above, the report will explain the steps that can be automated, and will preferably detail any other changes that may need to be made to make the task / step suitable for automation.

[0049] It should be noted that various aspects of the invention and all details in this document can be implemented to solve problems encountered in all business-related transactions and all business-related problems. Therefore, the details in this document can be used to advance any goal, desire or value of any department in any enterprise, including any end result that is beneficial to the fields of accounting, marketing, manufacturing, management and / or human resource management, as well as any expression, field or interpretation of human activities that can be considered as business-related.

[0050] It should be clear that various aspects of the present invention can be implemented as software modules in the entire software system. Thus, the present invention can take the form of computer executable instructions, which implement various software modules with predefined functions when executed.

[0051] Additionally, it should be understood that any reference herein to an "image" or "images" refers to a digital image or images comprising pixels or picture elements, unless otherwise specified. Likewise, any reference to an "audio file" or "audio files" refers to digital audio files, unless otherwise specified. "Video," "video file," "data object," "data file," and all other such terms should be understood to refer to digital files and / or data objects, unless otherwise specified.

[0052] Embodiments of the present invention may be performed by any type of similar device or data processor programmed in the manner of the method steps, or may be performed by an electronic system provided with means for performing these steps. Similarly, electronic memory devices such as computer disks, CD-ROMs, random access memories (RAM), read-only memories (ROM) or similar computer software storage media known in the art may be programmed to perform these method steps. Similarly, electronic signals representing these method steps may also be transmitted via a communication network.

[0053] Embodiments of the present invention may be implemented in any conventional computer programming language. For example, preferred embodiments may be implemented in a procedural programming language (e.g., "C" or "Go") or an object-oriented language (e.g., "C++", "java", "PHP", "PYTHON" or "C#"). Alternative embodiments of the present invention may be implemented as pre-programmed hardware elements, other related components, or a combination of hardware and software components.

[0054] Embodiments may be implemented as computer program products for use with computer systems. Such implementations may include a series of computer instructions that are either fixed on a tangible medium (such as a computer-readable medium (e.g., a disk, CD-ROM, ROM, or fixed disk)) or may be transmitted to a computer system via a modem or other interface device (such as a communication adapter connected to a network via a medium). The medium may be a tangible medium (e.g., an optical or electrical communication line) or a medium implemented using wireless technology (e.g., microwave, infrared, or other transmission technology). The series of computer instructions implements all or part of the functions previously described herein. Those skilled in the art will appreciate that such computer instructions may be written in a variety of programming languages ​​for use with many computer architectures or operating systems. In addition, such instructions may be stored in any memory device (such as a semiconductor, magnetic, optical, or other memory device) and may be transmitted using any communication technology (such as optical, infrared, microwave, or other transmission technology). It is contemplated that such a computer program product may be distributed as a removable medium with accompanying printed or electronic documentation (e.g., shrink-wrapped software), preloaded with a computer system (e.g., on a system ROM or fixed disk), or distributed from a server over a network (e.g., the Internet or the World Wide Web). Of course, some embodiments of the present invention may be implemented as a combination of both software (e.g., a computer program product) and hardware. Other embodiments of the present invention may be implemented as either entirely hardware or entirely software (e.g., a computer program product).

[0055] Those who appreciate the invention may now envision alternative constructions and embodiments or variations of the above, all of which are intended to fall within the scope of the invention as defined by the claims.

Claims

1. A method for enhancing the performance of a plurality of robotic agents, the method being performed by at least one computer processor, the at least one computer processor being operably connected to the plurality of robotic agents, the method comprising: a) receiving a schedule of tasks to be performed by the robotic agent, each task comprising a plurality of steps; b) receiving input by each of said robotic agents, output and said steps performed by each of said robotic agents for each of said tasks; c) using machine learning to determine dependencies between the steps performed by different ones of the plurality of robotic agents based on the inputs, the outputs, and the steps; and d) using machine learning to determine adjustments to the tasks, adjustments to the steps by reordering the steps, thereby optimizing at least one of the tasks; The machine learning includes one of the following: deep learning and reinforcement learning. 2 . The method of claim 1 , wherein the adjusting of the tasks to optimize at least one of the tasks comprises reordering the schedule of tasks. 3 . The method according to claim 1 , further comprising preparing a report on the adjustment to the step, the report being sent to a user to confirm the adjustment to the step.

4. The method of claim 1, wherein the adjustments to the steps include changing the order in which at least some of the steps are performed. The method of claim 2 , wherein the adjustment to the schedule comprises changing the order in which at least some of the tasks are executed.

6. The method according to claim 1, wherein the method further comprises the step of optimizing task distribution among the plurality of robotic agents to achieve efficiency among the plurality of robotic agents.

7. The method according to claim 1, further comprising: a) continuously receiving work output from at least one of the robotic agents; b) continuously training a second machine learning system using the work output in a training set so that the second machine learning system learns expected inputs, outputs, and steps of multiple instances of the work output from the at least one robotic agent to learn a range of actions and values; c) continuously evaluating said work output against said ranges of actions and values ​​for said at least one robotic agent; and d) generating an alert to a user and a report to the user if at least one aspect of the work output is outside of the range of actions and values ​​for the robotic agent; The report includes an explanation of the alarm.

8. The method of claim 7, wherein at least one alert is generated when the at least one robotic agent encounters a failure in a task.

9. The method of claim 8, wherein the at least one alarm for the fault in the encountered task also generates a report with an explanation of the alarm.

10. The method of claim 7, wherein the work output comprises steps performed by the at least one robotic agent in performing a task.

11. The method of claim 10, wherein the work output comprises a data source used by the at least one robotic agent in performing the task.

12. The method of claim 10, wherein the work output comprises a data destination used by the at least one robotic agent in performing the task.

13. The method of claim 10, wherein the work output is outside of the range of actions and values ​​if the steps performed include at least one unexpected step.

14. The method of claim 11, wherein if the data source is an unexpected data source, the work output is outside of the range of actions and values.

15. The method of claim 12, wherein if the data destination is an unexpected data destination, then the work output is outside of the range of actions and values.

16. The method of claim 7, wherein the report includes recommendations for mitigating the situation that caused the alert.

17. A method for determining candidate tasks for automation, the method being performed by at least one computer processor operably connected to a robotic agent, the method comprising: a) continuously receiving work output from a user workstation, the work output comprising input, output and steps performed by the user on the user workstation when performing a task; b) using machine learning to determine dependencies between the steps performed by the user based on the inputs, the outputs, and the steps; c) using machine learning to determine whether the steps performed by the user can be performed by the robotic agent; d) using machine learning to determine adjustments to the steps by reordering the steps to optimize the task; e) where said steps are executable by said robotic agent, generating for said user a report detailing said steps executable by said robotic agent, The machine learning includes one of the following: deep learning and reinforcement learning.

18. The method of claim 17, wherein step c) comprises determining a data source used in said step.

19. The method of claim 17, wherein step c) comprises determining a destination of data used in said step.

20. The method of claim 17, wherein step c) comprises reordering the steps to determine whether the reordered steps can be performed by a robotic agent.

21. A system for enhancing the performance of a plurality of robotic agents, the system comprising: at least one non-transitory storage medium storing computer-readable instructions; and at least one processor operably connected to the at least one non-transitory storage medium, the at least one processor being configured, when executing the computer-readable instructions, to: - executing the plurality of robotic agents, each of the plurality of robotic agents performing at least one task from a plurality of tasks; - executing a coordinator module, the coordinator module is used to manage the plurality of robot agents, the coordinator module is configured to: receiving a schedule of tasks to be performed by the robotic agent, each task comprising a plurality of steps; receiving input by each of the robotic agents, output, and the steps performed by each of the robotic agents for each of the tasks; determining, using machine learning, dependencies between the steps performed by different ones of the plurality of robotic agents based on the inputs, the outputs, and the steps; using machine learning to determine adjustments to the tasks, adjustments to the steps by reordering the steps to optimize at least one of the tasks; The machine learning includes one of the following: deep learning and reinforcement learning.

22. The system of claim 21, wherein the coordinator module further receives work output from a workstation operated by at least one human agent.

23. The system of claim 22, wherein the work output from the workstation sends to the coordinator module an indication of detailed steps performed by the at least one human agent on the workstation operated by the at least one human agent.

24. The system of claim 21, wherein the coordinator module is used to generate a report for transmission to a user, the report detailing adjustments to steps performed by at least one robotic agent to optimize and execute at least one of the plurality of tasks.

25. The system of claim 21, wherein the coordinator module is used to generate a report for transmission to a user, the report detailing adjustments to a schedule for execution of the plurality of tasks by the robotic agent to optimize and execute at least one of the plurality of tasks.

26. The system of claim 22, wherein the adjusting of the tasks to optimize at least one of the tasks comprises reordering the schedule of tasks.

27. The system of claim 26, wherein the at least one machine learning module is continuously trained based on data derived from the work output from the at least one robotic agent.

28. A system according to claim 26, wherein the coordinator module continuously analyzes the work output to determine whether the work output from the at least one robotic agent is within a learned range of actions and values, and the range of actions and values ​​is learned by the at least one robotic agent based on previously received work output.

29. The system of claim 21, wherein the coordinator module is used to generate a report for transmission to a user, the report detailing adjustments to the schedule to redistribute tasks among the plurality of robotic agents to optimize and execute at least one of the plurality of tasks.

Citation Information

Patent Citations

  • Robot system and method

    CN107803834A

  • Technologies for offloading acceleration task scheduling operations to accelerator sleds

    US20180150298A1