WO2019234702A2 - Actor model based architecture for multi robot systems and optimized task scheduling method thereof - Google Patents
Actor model based architecture for multi robot systems and optimized task scheduling method thereof Download PDFInfo
- Publication number
- WO2019234702A2 WO2019234702A2 PCT/IB2019/054767 IB2019054767W WO2019234702A2 WO 2019234702 A2 WO2019234702 A2 WO 2019234702A2 IB 2019054767 W IB2019054767 W IB 2019054767W WO 2019234702 A2 WO2019234702 A2 WO 2019234702A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- task
- physical
- new
- tasks
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
Definitions
- the disclosure herein generally relates to multi-robot systems in an operating environment, and, more particularly, to an actor model based multi robot system and optimized task scheduling method for the same.
- Multi-Robot Task Allocation is a complex process as it depends on number of robots and tasks present in an operating environment. Robots need to execute a certain set of tasks in a given operating environment, and while executing the set of tasks, its performance needs to be optimized over several parameters like priorities, capabilities, inter task dependencies, etc. As the number of parameters increases, total permutations that need to be checked for optimality grows exponentially and consequently it becomes difficult to select a robot which is best suited for a task in hand. For example, in case of warehouse management, the number of tasks is very large and the parameters along which the optimization is needed varies from intrinsic robot parameters to warehousing specifications. This type of optimization problems may be handled in several ways.
- the task allocation problem is also dependent on the existence of a collision free path, which is known as the problem of multi-agent path finding (MAPF). Also, it further depends on how the robots collaborate, the structure and the composition of tasks. These problems in robotics are respectively known as multi-robot task co-ordination (MRTC) and multi-robot task decomposition (MRTD).
- MRTC multi-robot task co-ordination
- MRTD multi-robot task decomposition
- Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems.
- a processor implemented method for optimizing task scheduling of an actor model based multi robot system in an operating environment having a plurality of physical robots and a plurality of human operators comprising the steps of: receiving a new task from one or more new tasks to be executed, by a task manager, from an Operating Environment Management Unit (OEMU), the new task being characterized by a task definition indicative of type of task, a task location, a drop location and a latest finish time value corresponding to a time required to complete the task; broadcasting the new task, by the task manager, to the plurality of physical robots via a plurality of robot actors and to the plurality of human operators via a Workforce Management Unit (WMU), wherein each of the robot actors is a unique single threaded application corresponding to an associated physical robot from the plurality of physical robots; calculating, by each of the robot actors, a bid value for the associated physical robot from the plurality of physical robots to execute the new task using a robot utility function comprised there
- OEMU Operating Environment Management Unit
- the robot utility function is further configured to perform at least one of: defining the bid value as infinite if the number of the one or more tasks in the current schedule of the capable physical robot is beyond the predetermined value; or defining the bid value as the time required to complete the new task, if the current schedule of the capable physical robot does not have at least one task.
- the type of the task includes lifting, picking, collecting, monitoring and inventory scanning.
- the predictive algorithm measures a deviation of expected route to be traversed against real-time route taken by each of the physical robots and requests the physical robots in the route to re-plan the route, if an amount of congestion reaches a predetermined threat level.
- the Operating Environment Management Unit is further configured to complete the one or more new tasks in a sequential order and to ensure that no new task is left unassigned.
- FIG.l illustrates an exemplary block diagram of an actor model based multi robot system for optimizing task scheduling, in accordance with an embodiment of the present disclosure.
- FIG.2 is an exemplary architecture of functional modules comprised in the actor model based multi robot system of FIG.l, in accordance with an embodiment of the present disclosure.
- FIG.3A through FIG.3D illustrates a flow diagram of a processor implemented method for optimizing task scheduling of the actor model based multi robot system, in accordance with an embodiment of the present disclosure.
- FIG.4 is a flow diagram illustrating dynamic allocation of new task to a capable physical robot or to a human operator in the processor implemented method for optimizing task scheduling of the actor model based multi robot system, in accordance with an embodiment of the present disclosure.
- FIG.5 is a sequence diagram illustrating a message processing method in an actor based model, in accordance with an embodiment of the present disclosure.
- FIG.6 is a graph showing an average time taken to complete a set of 20 tasks as the number of physical robots increases from 5 to 20 in the actor model based multi robot system, in accordance with an embodiment of the present disclosure.
- FIG.7 is a graph showing an average time taken by a set of 5, 10, 15 and 20 physical robots to complete tasks as the number of tasks increases in the actor model based multi robot system, in accordance with an embodiment of the present disclosure.
- FIG.8 is a graph showing an average number of tasks assigned to a set of 5 physical robots for 30 tasks in the actor model based multi robot system, in accordance with an embodiment of the present disclosure.
- Multi robot systems are gaining popularity over time finding applications in operating environment such as search and rescue operations, warehouse automation, warehouse management, production environment, social and collaborative robotics, autonomous vehicles etc.
- operating environment such as search and rescue operations, warehouse automation, warehouse management, production environment, social and collaborative robotics, autonomous vehicles etc.
- humans and robots are expected to work side by side. The ability of a human to take autonomous and spontaneous decisions greatly impedes deployment of static plans.
- AGVs automatic guided vehicles
- Multi robot systems are not modular, scalable and reliable with reference to the existing architectures and do not have ability to deal with optimized task scheduling, dynamic task allocation by addressing the challenges such as Multi Robot Task Allocation (MRTA), Multi Agent Path Finding (MAPF), Multi Robot Task Coordination (MRTC) and Multi Robot Task decomposition (MRTD) and to cope up with both centralized and distributed system standards.
- MRTA Multi Robot Task Allocation
- MAF Multi Agent Path Finding
- MRTC Multi Robot Task Coordination
- MRTD Multi Robot Task decomposition
- the disclosed actor model based architecture for multi robot systems and optimized task scheduling method allocates the tasks dynamically using a bid value concept and by providing an integrated solution to the above discussed problems such as MAPF, MRTC, MRTD.
- the optimized task scheduling method allocates the tasks by identifying a suitable physical robot or a suitable human operator based on the least bid value.
- the execution schedule of the tasks are changed dynamically based on an optimized schedule and a latest finish time value to ensure that all the tasks are allocated without any congestion thereby
- a physical robot is an intelligent machine configured to do a set of tasks, where the intelligent machine includes but is not limited to a robot, an autonomous mobile robot (AMR), a movable robot, an automatic guided vehicle (AGV), and the like.
- AMR autonomous mobile robot
- AGV automatic guided vehicle
- terminologies like utility and bid are interchangeably used to represent a time required to complete one or more tasks in a schedule either by the physical robot or by a human operator.
- terminologies like schedule and route are interchangeably used to represent a path or a sequence to complete one or more tasks either by the physical robot or by the human operator.
- terminologies like scheduling, allocating and assigning are interchangeably used to represent a process of giving one or more tasks for completion, either to the physical robots or to the human operator.
- FIG. 1 through 8 where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following exemplary actor model based architecture for multi robot system and optimized task scheduling method in an operating environment.
- FIG.l illustrates an exemplary block diagram of an actor model based multi robot system 100 for optimizing task scheduling, in accordance with an embodiment of the present disclosure.
- the system 100 includes a plurality of physical robots 102A (102A1, 102A2... l02An), one or more processors 106, communication interface device(s) or input/output (I/O) interface(s) 108, and one or more data storage devices or memory 104 operatively coupled to the one or more processors 106.
- the one or more processors 106 that are hardware processors can be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, graphics controllers, logic circuitries, and/or any devices that manipulate signals based on operational instructions.
- the processor(s) is configured to fetch and execute computer-readable instructions stored in the memory.
- the system 100 can be implemented in a variety of computing systems, such as laptop computers, notebooks, hand-held devices, workstations, mainframe computers, servers, a network cloud and the like.
- the I/O interface device(s) 108 can include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like and can facilitate multiple communications within a wide variety of networks N/W and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite.
- the I/O interface device(s) can include one or more ports for connecting a number of devices to one another or to another server.
- the memory 104 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 memories, hard disks, optical disks, and magnetic tapes.
- volatile memory such as static random access memory (SRAM) and dynamic random access memory (DRAM)
- non-volatile memory such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes.
- ROM read only memory
- erasable programmable ROM erasable programmable ROM
- FIG.2 illustrates an exemplary architecture of functional modules comprised in the system 100 of FIG.l, in accordance with an embodiment of the present disclosure.
- the functional modules include an Operating Environment Management Unit (OEMU) 104 A, a plurality of robot actors 104B (104B1, 104B2... l04Bn), a robot monitoring unit 104C, a human resource management unit 104D, a Workforce Management Unit (WMU) 104E, a task manager 104F, a database unit 104G, an information center 104H, an algorithm unit 1041.
- the one or more functional modules of the system 100 can be stored in the memory 104.
- a user interface unit 108A is one of the I/O interface device(s) 108.
- FIG.3A through FIG.3D illustrates a flow diagram of a processor implemented method 300 for optimizing task scheduling of the actor model based multi robot system 100, in accordance with an embodiment of the present disclosure.
- the one or more data storage devices or memory 104 operatively coupled to the one or more processors 106 is configured to store instructions configured for execution of steps of the method 300 by the one or more processors 106.
- the steps of the method 300 will now be explained in detail with reference to the components of the system 100 of FIG.l and the functional modules of the exemplary architecture of FIG.2.
- process steps, method steps, techniques or the like may be described in a sequential order, such processes, methods and techniques may be configured to work in alternate orders. In other words, any sequence or order of steps that may be described does not necessarily indicate a requirement that the steps be performed in that order.
- the steps of processes described herein may be performed in any order practical. Further, some steps may be performed simultaneously.
- the task manager (104F of FIG.2) is configured to receive a new task from one or more new tasks to be executed, from an Operating Environment Management Unit (OEMU) (104A of FIG.2).
- OEMU Operating Environment Management Unit
- the new task is characterized by a task definition indicative of type of task, a task location, a drop location and a latest finish time value corresponding to a time required to complete the task.
- the OEMU (104A of FIG.2) may be present in each operating environment in same or several means to receive the one or more new tasks from external units (not shown).
- the OEMU (104A of FIG.2) may be present as a warehouse management unit.
- the OEMU (104 A of FIG.2) is configured to ensure completion of the one or more new tasks in a sequential order and to ensure that no new task is left unassigned.
- the type of the task includes lifting, picking, collecting, monitoring and inventory scanning.
- the type of the task depends on a type of the operating environment and hence does not limit to those specified in the present disclosure. For example, if the type of the operating environment pertains to a search and rescue operation, then the type of task may include searching or monitoring a person or an object to be rescued.
- the task location is a location where a new task is to be initiated
- the drop location is a location where the new task is to be completed and the latest finish time value defines a time within which the new task is expected to be completed.
- the task manager (104F of FIG.2) is configured to broadcast the new task, to the plurality of physical robots (102A of FIG.2) via a plurality of robot actors (104B of FIG.2) and to the plurality of human operators via a Workforce Management Unit (WMU) (104E of FIG.2).
- WMU Workforce Management Unit
- Each of the robot actors (104B of FIG.2) is a unique single threaded application corresponding to an associated physical robot from the plurality of physical robots (102A of FIG.2).
- each of the robot actors (104B of FIG.2) act on behalf of the associated physical robot.
- the WMU (104E of FIG.2) receives details of the human operators from a human resource management unit (104D of FIG.2).
- the details of the human operators that are received by the human resource management unit (104D of FIG.2) include list of available human operators, skillset, shift timings, current availability of human operators, capability to operate the machine, a current position of human operator and a type of operating machine.
- each of the robot actors are configured to calculate a bid value, for the associated physical robot from the plurality of physical robots (102A of FIG.2) to execute the new task using a robot utility function comprised therein, in response to a request for the bid value by the task manager (104F of FIG.2).
- the robot utility function obtain an optimized schedule based on capability of the associated physical robot, a current schedule and the new task of the associated physical robot, and calculate the bid value for the new task.
- the current schedule may comprises the one or more tasks previously assigned and associated task definitions.
- the robot utility function of each of the plurality of robot actors is configured to perform the following steps.
- step 306a whether the associated physical robot is a capable physical robot is determined for executing the new task based on the task definition.
- step 306b a minimum latest finish time value associated with one or more tasks comprised in the current schedule of the capable physical robot is identified.
- step 306c the new task is added to the current schedule of the capable physical robot to obtain an updated schedule, if number of the one or more tasks in the current schedule of the capable physical robot is within a predetermined value indicative of capability.
- possible routes are determined to execute the new task based on the updated schedule of the capable physical robot, a laden or unladen speed, a battery status, proximity from the new task and the latest finish time value of the new task.
- a cost value associated with each of the determined possible routes is determined.
- an optimized schedule is obtained by: associating the new task with one of the determined possible route having a least cost value if the least cost value is lesser than the identified minimum latest finish time value; or modifying the updated schedule in such a way that the one or more tasks in the current schedule are executed before the new task if the least cost value is greater or equal to the identified minimum latest finish time value.
- the bid value is calculated based on the optimized schedule, wherein the bid value is a total time to complete the optimized schedule.
- the capability of the associated physical robot is determined by matching the type of the task comprised in the associated task definition of the new task against functionalities of the associated physical robot, wherein the functionalities include mechanism to lift, mechanism to collect, mechanism to pick, mechanism to monitor, mechanism to scan etc.,.
- each physical robot may comprise at least one functionality and may handle at least one type of task with the associated functionality. If the physical robot does not have a functionality to perform the type of the task characterized in the associated task definition, then such physical robot is termed as not a capable physical robot. In an embodiment, if the associated physical robot is not a capable physical robot for executing the new task, then the bid value is defined as infinite and the new task is not assigned to the associated physical robot.
- step 306c if number of the one or more tasks in the current schedule of the capable physical robot is beyond the predetermined value considering the new task, then the bid value is defined as infinite and the new task is not assigned to the physical robot even though it is capable. If the current schedule of the capable physical robot does not have at least one task previously assigned, then the bid value is defined as the time required to complete the new task.
- the laden speed is the speed of the physical robot while carrying a load and the unladen speed is the speed of the physical robot without any load.
- the battery status is the remaining energy left with the physical robot.
- the proximity from the new task is the distance between the location of the new task and the current location of the physical robot.
- the cost value associated with each of the determined possible routes is calculated based on the time required to complete the tasks present in the respective possible route according to the updated schedule, wherein each possible route define the order or sequence for the tasks to be executed.
- the possible route having the least cost value is selected as optimized schedule if the least cost value is lesser than the identified minimum latest finish time value in the current schedule.
- a new schedule will be created such that the published task is done after completing current schedule.
- the bid for the task will be returned accordingly.
- a new schedule will be created such that the published task is done after completing current schedule, if current schedule exists. If current schedule doesn’t exist then start a new schedule with new task. The bid for the task will be returned accordingly.
- the WMU (104E of FIG.2) is configured to calculate the bid value, for each of the human operators to execute the new task, using a human operator utility function, in response to the request for the bid value by the task manager (104F of FIG.2).
- the human operator utility function calculate the bid value based on the time required to complete the new task by each of the human operators considering the details of the human operators received from the human resource management unit (104D of FIG.2) and the associated task definition of the new task, wherein the details of the human operators includes the list of available human operators, the skillset, the shift timings, the current availability of human operators, the capability to operate the machine, the current position of human operator and the type of operating machine.
- the list of available human operators are the human operators currently available in the operating environment.
- the skillset includes the skills that each human operator may handle, wherein the skills are at least one of lifting, picking, collecting, monitoring and inventory scanning as per the type of task characterized in the associated task definition.
- the shift timings define working hours of each of the human operators. In an embodiment, the working hours of one human operator may not be the same to that of another human operator.
- the current availability of human operators define the availability to perform the new task.
- the capability to operate the machine define the capability to operate the associated machine according to the type of the task characterized in the associated task definition.
- the type of operating machine define the type of tasks that the operating machine may handle thereof.
- the task manager (104F of FIG.2) is configured to assign, the new task either to one of the physical robot from the plurality of physical robots (102 of FIG.2) via an associated robot actor from the plurality of robot actors (104B of FIG.2), or to one of the human operator from the plurality of human operators via the WMU (104E of FIG.2), having a least bid value.
- the task manager (104F of FIG.2) serve as an auctioneer and assign the new task based on the least bid value either to the physical robot or to the human operator.
- a robot monitoring unit 104C configured to receive congestion information of each of the physical robots (102A), based on movements thereof, using a predictive algorithm, through the associated robot actor from the plurality of robot actors (104B).
- the predictive algorithm measures a deviation of expected route to be traversed against real-time route taken by each of the physical robots (102A) and requests the physical robots (102A) in the route to re -plan the route, if an amount of congestion reaches a predetermined threat level.
- the robot monitoring unit 104C monitor each of the physical robots (102A) to avoid from the congestion.
- an algorithm unit 1041 operatively coupled with the robot utility function of each of the robot actors (104B) and the human operator utility function of the WMU 104E.
- the algorithm unit 1041 is configured to host a set of algorithms such as multi robot task allocation (MRTA), multi agent path finding (MAPF), multi robot task coordination (MRTC) and multi robot task decomposition (MRTD) that are invoked at the time of each task execution.
- MRTA multi robot task allocation
- MAF multi agent path finding
- MRTC multi robot task coordination
- MRTD multi robot task decomposition
- the set of algorithms helps the physical robots to plan their route for executing the one more tasks without any congestion and helps to optimize the route (re-plan) so that the one or more tasks are executed in less amount of time.
- an information center 104H configured to send the one or more new tasks with associated task definitions received from the OEMU 104 A to the task manager 104F and receive task assignment details from the task manager 104F, receive the congestion information of each of the physical robots (102 A) from the robot monitoring unit 104C, send and receive the details of the human operators from the WMU 104E and receive at least one parameter from some of: speed of the physical robot, current location of the physical robot, battery status of the physical robot, odometer of the physical robot, camera feed of the physical robot etc.., from the associated robot actor.
- the information center 104H act as an information exchanger within the system 100.
- a database unit 104G operatively coupled to the OEMU 104 A and the human resource management unit 104D.
- the database unit 104G is configured to store the details of human operators from the human resource management unit 104D, the one or more new tasks with associated task definitions from the OEMU 104 A and a current schedule, wherein the current schedule comprises one or more tasks previously assigned thereof and associated task definitions.
- each of the robot actors (104B) may receive at least one parameter from some of: speed of the physical robot, current location of the physical robot, battery status of the physical robot, odometer of the physical robot, camera feed of the physical robot etc.., from the associated physical robot through the set of sensors.
- a user interface unit 108A operatively coupled with the information center 104H through the database unit 104G.
- the user interface unit 108A may be a web based user interface unit or a human-in-loop interface unit.
- the exemplary architecture of the system 100 is implemented based on an actor model to create a high level virtualization of the physical robots (102A).
- the task manager 104F, the robot actors (104B), the robot monitoring unit 104C, the WMU 104E, the algorithm unit 1041, and the information center 104H serve as actors, wherein each actor is the unique single thread application that provides an abstraction over hassles of inter process communication.
- each of the new tasks is considered to be complete once the assigned physical robot or the assigned human operator has visited the task location and then reaches the drop location within the latest finish time value.
- a bidding round of each of the new tasks is considered to be complete when the bid values from each of the capable physical robots (102 A) via the associated robot actor from the plurality of robot actors (104B) and from the plurality of human operators through the WMU 104E, have been received by the task manager 104F and then the task manager 104F assign each of the new tasks either to one of the physical robot from the plurality of physical robots (102A) via the associated robot actor from the plurality of robot actors (104B) or to one of the human operator from the plurality of human operators through the WMU 104E, based on the least bid value.
- FIG.4 is a flow diagram illustrating dynamic allocation of new task to a capable physical robot or to a human operator in the processor implemented method for optimizing task scheduling of the actor model based multi robot system, in accordance with an embodiment of the present disclosure.
- each of the new tasks is sequentially introduced, the bid values for each of the capable physical robots (102A) and each of the human operators are calculated and the new task is assigned either to one of the capable physical robot or to one of the human operator based on the least bid value, and this allocation is continued until no new task is left unassigned.
- the one or more new tasks are assigned based on the optimized schedule and without any congestion to achieve a highly fault tolerant and robust actor model based multi robot system.
- FIG.5 is a sequence diagram illustrating a message processing method in an actor based model, in accordance with an embodiment of the present disclosure.
- the actor based model is a concurrent computation model where each actor is the unique single threaded application that may execute the task (process) independently and parallely along with other tasks (processes).
- the actor based model may be implemented through Akka in JavaTM or Pykka in PythonTM.
- the actor based model implements a message inbox which saves the details of inter-task (inter-process) communication.
- Each actor has an inbox and messages in the inbox are processed sequentially in the order they are received.
- each message in the actor model based architecture may be sent to the actor and will wait in the queue until it gets processed because of which no actor needs to wait until the actor to which the message is sent is free.
- inter-actor communication may be achieved because there is no overhead in deadlocks detection.
- each actor may interact with all other actors in the actor model based architecture of the multi robot system 100.
- the actor model based multi robot system 100 for optimizing task scheduling comprises: n number of physical robots, n number of robot actors corresponding to n number of physical robots, and n number of a set of sensors, wherein n is a positive integer.
- the exemplary architecture of the actor model based multi robot system 100 is tested on robotics simulation platform such as Gazebo.
- Simple algorithms for problems such as MRTA, MAPF, MRTC and MRTD are used for the purpose of testing. For instance, a simple auction algorithm is used for MRTA; a congestion less route is assumed for MAPF and the physical robots are equipped with dynamic obstacle avoidance capacity in case of intersection of their routes; an assumption is set such that no task requires more than one physical robot for MRTC and hence no interaction among physical robots is needed during execution of the task; and an assumption is set such that the tasks are atomic for MRTD, hence no further decomposition can be done.
- a 3D warehouse operating environment is simulated in Gazebo platform and on PythonTM using Pykka.
- a web UI is created to control and monitor the simulated warehouse operating environment.
- the simulation is performed with larger number of physical robots.
- the average execution time of a fixed set of tasks is calculated.
- a decrease in average execution time is expected to be taken as the number of physical robots increases.
- FIG.6 is a graph showing an average time taken to complete a set of 20 tasks as the number of physical robots increases from 5 to 20 in the actor model based multi robot system, in accordance with an embodiment of the present disclosure. It is observed that the average execution time decreases up to a certain number of physical robots beyond which it saturates.
- the optimized task scheduling method 300 allows for a minimization in the number of physical robots required to execute a given set of tasks.
- FIG.7 is a graph showing an average time taken by a set of 5, 10, 15 and 20 physical robots to complete tasks as the number of tasks increases in the actor model based multi robot system, in accordance with an embodiment of the present disclosure.
- FIG.8 is a graph showing an average number of tasks assigned to a set of 5 physical robots for 30 tasks in the actor model based multi robot system, in accordance with an embodiment of the present disclosure.
- the optimized task scheduling method 300 provides a dynamic solution to deal with Multi Robot Task Allocation (MRTA).
- MRTA Multi Robot Task Allocation
- the optimized task scheduling method 300 also achieves reliability in task allocation by assigning the tasks dynamically with overall minimum execution time without any congestion using the algorithm unit 1041.
- the route of each of the physical robots from the plurality of physical robots (102 A) is selected such that the one or more tasks are executed with minimum turnaround time; hence the cost of the operating environment is minimized and the return on investment on the multi robot system 100 is maximized.
- the one or more new tasks are assigned either to one of the physical robot from the plurality of physical robots (102A) via the corresponding plurality of robot actors (104B), or to of the human operators from the plurality of human operators through the WMU 104E, based on the least bid value, hence a collaborative operating environment is achieved.
- the system 100 supports any number of physical robots just by adding a new thread for a new physical robot using actor based model, hence the scalability in the multi robot system 100 is achieved along with less incremental cost.
- the WMU 104E, the OEMU 104A, the plurality of physical robots (102A) etc. may be attached or detached based on the requirement and based on the type of operating environment, thereby achieving the modularity of the system 100.
- the algorithm unit 1041, the task manager 104F, the robot monitoring unit 104C may easily be changed or replaced according to the type of operating environment and its specifications.
- the actor model based architecture for the disclosed multi robot system supports both centralized and distributed system environments.
- system 100 may be deployed on cloud robotic platform to provide on demand computing power and cost effective solutions. Also, system 100 may be connected with a knowledge base such as KnowRob so that any number of new physical robots available in the market place with latest specifications may be added, new capabilities of existing robots may be created, and new environments may be configured.
- a knowledge base such as KnowRob
- the hardware device can be any kind of device which can be programmed including e.g. any kind of computer like a server or a personal computer, or the like, or any combination thereof.
- the device may also include means which could be e.g. hardware means like e.g. an application- specific integrated circuit (ASIC), a field- programmable gate array (FPGA), or a combination of hardware and software means, e.g.
- ASIC application- specific integrated circuit
- FPGA field- programmable gate array
- the means can include both hardware means and software means.
- the method embodiments described herein could be implemented in hardware and software.
- the device may also include software means.
- the embodiments may be implemented on different hardware devices, e.g. using a plurality of CPUs.
- the embodiments herein can comprise hardware and software elements.
- the embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc.
- the functions performed by various modules described herein may be implemented in other modules or combinations of other modules.
- a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
- a computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored.
- a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the 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., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- Theoretical Computer Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
The present disclosure provides an actor model based multi robot system and optimized task scheduling method in an operating environment. Most existing architectures does not provide dynamic and optimized task allocation methods for multi robot systems with human collaboration. The disclosed architecture of the multi robot system is based on an actor model, where each physical robot has an associated robot actor in the form of a unique single threaded application. The disclosed optimized task scheduling method assigns tasks dynamically by identifying a suitable physical robot or a suitable human operator using a bid value concept and by provides an integrated solution to the problems such as Multi Agent Path Finding (MAPF), Multi Robot Task Coordination (MRTC), and Multi Robot Task decomposition (MRTD) while catering to industry 4.0 operating environments.
Description
ACTOR MODEL BASED ARCHITECTURE FOR MULTI ROBOT SYSTEMS AND OPTIMIZED TASK SCHEDULING METHOD THEREOF
CROSS-REFERENCE TO RELATED APPLICATIONS AND PRIORITY
[001] The present application claims priority from Indian patent application no. 201821021452, filed on June 8, 2018, the complete disclosure of which, in its entirety is herein incorporated by reference.
TECHNICAL FIELD
[002] The disclosure herein generally relates to multi-robot systems in an operating environment, and, more particularly, to an actor model based multi robot system and optimized task scheduling method for the same.
BACKGROUND
[003] Multi-Robot Task Allocation (MRTA) is a complex process as it depends on number of robots and tasks present in an operating environment. Robots need to execute a certain set of tasks in a given operating environment, and while executing the set of tasks, its performance needs to be optimized over several parameters like priorities, capabilities, inter task dependencies, etc. As the number of parameters increases, total permutations that need to be checked for optimality grows exponentially and consequently it becomes difficult to select a robot which is best suited for a task in hand. For example, in case of warehouse management, the number of tasks is very large and the parameters along which the optimization is needed varies from intrinsic robot parameters to warehousing specifications. This type of optimization problems may be handled in several ways. For example, a possible solution to this problem is to fetch all relevant information about robots and tasks and create a plan which is very close to optimal. But this approach may not work in a real scenario due to a possibility of deviations from a predefined plan. Most existing literature in the field of optimization suggest a one-time optimal plan but for practical robotic applications it may not always be a best choice
[004] The task allocation problem is also dependent on the existence of a collision free path, which is known as the problem of multi-agent path finding (MAPF). Also, it further depends on how the robots collaborate, the structure and the composition of tasks. These problems in robotics are respectively known as multi-robot task co-ordination (MRTC) and
multi-robot task decomposition (MRTD). The problems of MRTA, MAPF, MRTC and MRTD are intractable because of exponential number of available robots, tasks and paths.
[005] Prior art provide solutions to individual problems in multi robot system (MRS), but the approaches are static and do not offer an integrated solution with the optimized task scheduling method, thereby not catering to present problems of the industry 4.0 operating environments. Conventional architectures require significant change in existing operations to execute different variety of tasks. Furthermore, available architectures may not always be scalable, modular, reliable and limit change to execution schedules once initiated without stopping the total system altogether.
SUMMARY
[006] Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems.
[007] In an aspect, there is provided a processor implemented method for optimizing task scheduling of an actor model based multi robot system in an operating environment having a plurality of physical robots and a plurality of human operators, the method comprising the steps of: receiving a new task from one or more new tasks to be executed, by a task manager, from an Operating Environment Management Unit (OEMU), the new task being characterized by a task definition indicative of type of task, a task location, a drop location and a latest finish time value corresponding to a time required to complete the task; broadcasting the new task, by the task manager, to the plurality of physical robots via a plurality of robot actors and to the plurality of human operators via a Workforce Management Unit (WMU), wherein each of the robot actors is a unique single threaded application corresponding to an associated physical robot from the plurality of physical robots; calculating, by each of the robot actors, a bid value for the associated physical robot from the plurality of physical robots to execute the new task using a robot utility function comprised therein, in response to a request for the bid value by the task manager; wherein the robot utility function of each of the robot actors, is configured to: determine whether the associated physical robot is a capable physical robot for executing the new task based on the task definition; identify a minimum latest finish time value associated with one or more tasks comprised in a current schedule of the capable physical robot, wherein the current schedule comprises the one or more tasks previously assigned thereof and associated task definitions;
add the new task to the current schedule of the capable physical robot to obtain an updated schedule thereof, if number of the one or more tasks in the current schedule of the capable physical robot is within a predetermined value indicative of capability thereof; determine possible routes to execute the new task based on the updated schedule of the capable physical robot, a laden or unladen speed, a battery status, proximity from the new task and the latest finish time value of the new task; determine a cost value associated with each of the determined possible routes; obtain an optimized schedule by: associating the new task with one of the determined possible route having a least cost value if the least cost value is lesser than the identified minimum latest finish time value; or modifying the updated schedule in such a way that the one or more tasks in the current schedule are executed before the new task if the least cost value is greater or equal to the identified minimum latest finish time value; and calculate the bid value, based on the optimized schedule, wherein the bid value is a total time to complete the optimized schedule; calculating, by the WMU, the bid value for each of the human operators to execute the new task, using a human operator utility function, in response to the request for the bid value by the task manager, wherein the human operator utility function is configured to calculate the bid value based on the time required to complete the new task by each of the human operators considering a plurality of parameters such as list of available human operators, skillset, shift timings, current availability of human operators, capability to operate the machine, current position of the human operator, type of operating machine and the associated task definition of the new task; and assigning, by the task manager serving as an auctioneer, the new task either to one of the physical robot from the plurality of physical robots via an associated robot actor from the plurality of robot actors, or to one of the human operator from the plurality of human operators via the WMU, having a least bid value.
[008] In another aspect, there is provided an actor model based multi robot system for optimizing task scheduling in an operating environment, the system comprising: a plurality of physical robots; one or more internal data storage devices operatively coupled to one or more hardware processors for storing instructions configured for execution by the one or more hardware processors, the instructions being comprised in: an Operating Environment Management Unit (OEMU) configured to transmit one or more new tasks to a task manager, wherein each new task is characterized by a task definition indicative of type of task, a task location, a drop location and a latest finish time value corresponding to a time required to complete the task; a plurality of robot actors, wherein each of the robot actors is configured to
calculate a bid value to execute a new task from the one or more new tasks, by an associated physical robot from the plurality of physical robots, using a robot utility function, wherein each of the robot actors is a unique single threaded application corresponding to an associated physical robot from the plurality of physical robots, and wherein the robot utility function of each of the robot actors is configured to obtain an optimized schedule and calculate the bid value for the new task; a robot monitoring unit configured to receive congestion information of each of the physical robots, based on movements thereof, using a predictive algorithm, through an associated robot actor from the plurality of robot actors; a human resource management unit configured to obtain and maintain details of a plurality of human operators working in the operating environment, wherein the details of the plurality of human operators include list of available human operators, skillset, shift timings, current availability of human operators, capability to operate the machine, a current position of human operator and a type of operating machine; a Workforce Management Unit (WMU) configured to receive the details of the human operators from the human resource management unit, and to calculate the bid value for the new task, for each of the human operators working in the operating environment, using a human operator utility function, wherein the human operator utility function is configured to calculate the bid value based on the time required to complete the new task by each of the human operators; the task manager, operatively coupled to the plurality of robot actors and the WMU, wherein the task manager is configured to receive the one or more new tasks from the OEMU and assign each new task either to one of the physical robot from the plurality of physical robots through the associated robot actor from the plurality of robot actors, or to one of the human operator from the plurality of human operators through the WMU, having a least bid value; an algorithm unit operatively coupled with the robot utility function of each of the robot actors and the human operator utility function of the WMU, wherein the algorithm unit is configured to host a set of algorithms such as multi robot task allocation (MRTA), multi agent path finding (MAPF), multi robot task coordination (MRTC) and multi robot task decomposition (MRTD) that are invoked at the time of each task execution; and a set of sensors, deployed between each of the robot actors and the associated physical robot from the plurality of physical robots, wherein the set of sensors are at least some of a current location sensor, a battery status sensor, a robot speed sensor, an odometer sensor and camera feed sensor.
[009] In an embodiment of the present disclosure, the robot utility function is further configured to perform at least one of: defining the bid value as infinite if the number of the
one or more tasks in the current schedule of the capable physical robot is beyond the predetermined value; or defining the bid value as the time required to complete the new task, if the current schedule of the capable physical robot does not have at least one task.
[010] In an embodiment of the present disclosure, the type of the task includes lifting, picking, collecting, monitoring and inventory scanning.
[011] In an embodiment of the present disclosure, the predictive algorithm measures a deviation of expected route to be traversed against real-time route taken by each of the physical robots and requests the physical robots in the route to re-plan the route, if an amount of congestion reaches a predetermined threat level.
[012] In an embodiment of the present disclosure, the Operating Environment Management Unit (OEMU) is further configured to complete the one or more new tasks in a sequential order and to ensure that no new task is left unassigned.
[013] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the embodiments of the present disclosure, as claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
[014] 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 disclosed principles:
[015] FIG.l illustrates an exemplary block diagram of an actor model based multi robot system for optimizing task scheduling, in accordance with an embodiment of the present disclosure.
[016] FIG.2 is an exemplary architecture of functional modules comprised in the actor model based multi robot system of FIG.l, in accordance with an embodiment of the present disclosure.
[017] FIG.3A through FIG.3D illustrates a flow diagram of a processor implemented method for optimizing task scheduling of the actor model based multi robot system, in accordance with an embodiment of the present disclosure.
[018] FIG.4 is a flow diagram illustrating dynamic allocation of new task to a capable physical robot or to a human operator in the processor implemented method for optimizing task scheduling of the actor model based multi robot system, in accordance with
an embodiment of the present disclosure.
[019] FIG.5 is a sequence diagram illustrating a message processing method in an actor based model, in accordance with an embodiment of the present disclosure.
[020] FIG.6 is a graph showing an average time taken to complete a set of 20 tasks as the number of physical robots increases from 5 to 20 in the actor model based multi robot system, in accordance with an embodiment of the present disclosure.
[021] FIG.7 is a graph showing an average time taken by a set of 5, 10, 15 and 20 physical robots to complete tasks as the number of tasks increases in the actor model based multi robot system, in accordance with an embodiment of the present disclosure.
[022] FIG.8 is a graph showing an average number of tasks assigned to a set of 5 physical robots for 30 tasks in the actor model based multi robot system, in accordance with an embodiment of the present disclosure.
DETAILED DESCRIPTION OF EMBODIMENTS
[023] Exemplary embodiments are described with reference to the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the spirit and scope of the disclosed embodiments. It is intended that the following detailed description be considered as exemplary only, with the true scope and spirit being indicated by the claims (when included in the specification).
[024] Multi robot systems are gaining popularity over time finding applications in operating environment such as search and rescue operations, warehouse automation, warehouse management, production environment, social and collaborative robotics, autonomous vehicles etc. In an industry 4.0 operating environment, humans and robots are expected to work side by side. The ability of a human to take autonomous and spontaneous decisions greatly impedes deployment of static plans. In a collaborative operating environment with heterogeneous robots, machines, automatic guided vehicles (AGVs) and humans, the task allocation problem becomes a challenge.
[025] Multi robot systems are not modular, scalable and reliable with reference to the existing architectures and do not have ability to deal with optimized task scheduling,
dynamic task allocation by addressing the challenges such as Multi Robot Task Allocation (MRTA), Multi Agent Path Finding (MAPF), Multi Robot Task Coordination (MRTC) and Multi Robot Task decomposition (MRTD) and to cope up with both centralized and distributed system standards. The disclosed actor model based architecture for multi robot systems and optimized task scheduling method allocates the tasks dynamically using a bid value concept and by providing an integrated solution to the above discussed problems such as MAPF, MRTC, MRTD. The optimized task scheduling method allocates the tasks by identifying a suitable physical robot or a suitable human operator based on the least bid value. The execution schedule of the tasks are changed dynamically based on an optimized schedule and a latest finish time value to ensure that all the tasks are allocated without any congestion thereby achieving reliability.
[026] In the context of the present disclosure, a physical robot is an intelligent machine configured to do a set of tasks, where the intelligent machine includes but is not limited to a robot, an autonomous mobile robot (AMR), a movable robot, an automatic guided vehicle (AGV), and the like. Further, terminologies like utility and bid are interchangeably used to represent a time required to complete one or more tasks in a schedule either by the physical robot or by a human operator. Further, terminologies like schedule and route are interchangeably used to represent a path or a sequence to complete one or more tasks either by the physical robot or by the human operator. Similarly, terminologies like scheduling, allocating and assigning are interchangeably used to represent a process of giving one or more tasks for completion, either to the physical robots or to the human operator.
[027] Referring now to the drawings, and more particularly to FIG. 1 through 8 where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following exemplary actor model based architecture for multi robot system and optimized task scheduling method in an operating environment.
[028] FIG.l illustrates an exemplary block diagram of an actor model based multi robot system 100 for optimizing task scheduling, in accordance with an embodiment of the present disclosure. In an embodiment, the system 100 includes a plurality of physical robots 102A (102A1, 102A2... l02An), one or more processors 106, communication interface device(s) or input/output (I/O) interface(s) 108, and one or more data storage devices or memory 104 operatively coupled to the one or more processors 106. The one or more processors 106 that are hardware processors can be implemented as one or more
microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, graphics controllers, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor(s) is configured to fetch and execute computer-readable instructions stored in the memory. In an embodiment, the system 100 can be implemented in a variety of computing systems, such as laptop computers, notebooks, hand-held devices, workstations, mainframe computers, servers, a network cloud and the like.
[029] The I/O interface device(s) 108 can include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like and can facilitate multiple communications within a wide variety of networks N/W and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. In an embodiment, the I/O interface device(s) can include one or more ports for connecting a number of devices to one another or to another server.
[030] The memory 104 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 memories, hard disks, optical disks, and magnetic tapes. In an embodiment, one or more modules (not shown) of the system 100 can be stored in the memory 104.
[031] FIG.2 illustrates an exemplary architecture of functional modules comprised in the system 100 of FIG.l, in accordance with an embodiment of the present disclosure. In an embodiment, the functional modules include an Operating Environment Management Unit (OEMU) 104 A, a plurality of robot actors 104B (104B1, 104B2... l04Bn), a robot monitoring unit 104C, a human resource management unit 104D, a Workforce Management Unit (WMU) 104E, a task manager 104F, a database unit 104G, an information center 104H, an algorithm unit 1041. In an embodiment, the one or more functional modules of the system 100 can be stored in the memory 104. In an embodiment, a user interface unit 108A is one of the I/O interface device(s) 108.
[032] FIG.3A through FIG.3D illustrates a flow diagram of a processor implemented method 300 for optimizing task scheduling of the actor model based multi robot system 100, in accordance with an embodiment of the present disclosure. In an embodiment, the one or more data storage devices or memory 104 operatively coupled to the one or more processors 106 is configured to store instructions configured for execution of steps of the method 300 by
the one or more processors 106. The steps of the method 300 will now be explained in detail with reference to the components of the system 100 of FIG.l and the functional modules of the exemplary architecture of FIG.2. Although process steps, method steps, techniques or the like may be described in a sequential order, such processes, methods and techniques may be configured to work in alternate orders. In other words, any sequence or order of steps that may be described does not necessarily indicate a requirement that the steps be performed in that order. The steps of processes described herein may be performed in any order practical. Further, some steps may be performed simultaneously.
[033] In accordance with an embodiment of the present disclosure, at step 302, the task manager (104F of FIG.2) is configured to receive a new task from one or more new tasks to be executed, from an Operating Environment Management Unit (OEMU) (104A of FIG.2). The new task is characterized by a task definition indicative of type of task, a task location, a drop location and a latest finish time value corresponding to a time required to complete the task.
[034] In an embodiment, the OEMU (104A of FIG.2) may be present in each operating environment in same or several means to receive the one or more new tasks from external units (not shown). For example, in a warehouse management operating environment, the OEMU (104A of FIG.2) may be present as a warehouse management unit. In an embodiment, the OEMU (104 A of FIG.2) is configured to ensure completion of the one or more new tasks in a sequential order and to ensure that no new task is left unassigned.
[035] In an embodiment, the type of the task includes lifting, picking, collecting, monitoring and inventory scanning. In an embodiment, the type of the task depends on a type of the operating environment and hence does not limit to those specified in the present disclosure. For example, if the type of the operating environment pertains to a search and rescue operation, then the type of task may include searching or monitoring a person or an object to be rescued. In an embodiment, the task location is a location where a new task is to be initiated, the drop location is a location where the new task is to be completed and the latest finish time value defines a time within which the new task is expected to be completed.
[036] In accordance with an embodiment of the present disclosure, at step 304, the task manager (104F of FIG.2) is configured to broadcast the new task, to the plurality of physical robots (102A of FIG.2) via a plurality of robot actors (104B of FIG.2) and to the plurality of human operators via a Workforce Management Unit (WMU) (104E of FIG.2). Each of the robot actors (104B of FIG.2) is a unique single threaded application
corresponding to an associated physical robot from the plurality of physical robots (102A of FIG.2). In an embodiment, each of the robot actors (104B of FIG.2) act on behalf of the associated physical robot. In an embodiment, the WMU (104E of FIG.2) receives details of the human operators from a human resource management unit (104D of FIG.2). In an embodiment, the details of the human operators that are received by the human resource management unit (104D of FIG.2) include list of available human operators, skillset, shift timings, current availability of human operators, capability to operate the machine, a current position of human operator and a type of operating machine.
[037] In accordance with an embodiment of the present disclosure, at step 306, each of the robot actors (104B of FIG.2) are configured to calculate a bid value, for the associated physical robot from the plurality of physical robots (102A of FIG.2) to execute the new task using a robot utility function comprised therein, in response to a request for the bid value by the task manager (104F of FIG.2). In an embodiment, the robot utility function obtain an optimized schedule based on capability of the associated physical robot, a current schedule and the new task of the associated physical robot, and calculate the bid value for the new task. In an embodiment, the current schedule may comprises the one or more tasks previously assigned and associated task definitions.
[038] In accordance with an embodiment of the present disclosure, at step 306, the robot utility function of each of the plurality of robot actors (104B of FIG.2) is configured to perform the following steps. At step 306a, whether the associated physical robot is a capable physical robot is determined for executing the new task based on the task definition. At step 306b, a minimum latest finish time value associated with one or more tasks comprised in the current schedule of the capable physical robot is identified. At step 306c, the new task is added to the current schedule of the capable physical robot to obtain an updated schedule, if number of the one or more tasks in the current schedule of the capable physical robot is within a predetermined value indicative of capability. At step 306d, possible routes are determined to execute the new task based on the updated schedule of the capable physical robot, a laden or unladen speed, a battery status, proximity from the new task and the latest finish time value of the new task. At step 306e, a cost value associated with each of the determined possible routes is determined. At step 306f, an optimized schedule is obtained by: associating the new task with one of the determined possible route having a least cost value if the least cost value is lesser than the identified minimum latest finish time value; or modifying the updated schedule in such a way that the one or more tasks in the current
schedule are executed before the new task if the least cost value is greater or equal to the identified minimum latest finish time value. Then at step 306g, the bid value is calculated based on the optimized schedule, wherein the bid value is a total time to complete the optimized schedule.
[039] In an embodiment, at step 306a, the capability of the associated physical robot is determined by matching the type of the task comprised in the associated task definition of the new task against functionalities of the associated physical robot, wherein the functionalities include mechanism to lift, mechanism to collect, mechanism to pick, mechanism to monitor, mechanism to scan etc.,. In an embodiment, each physical robot may comprise at least one functionality and may handle at least one type of task with the associated functionality. If the physical robot does not have a functionality to perform the type of the task characterized in the associated task definition, then such physical robot is termed as not a capable physical robot. In an embodiment, if the associated physical robot is not a capable physical robot for executing the new task, then the bid value is defined as infinite and the new task is not assigned to the associated physical robot.
[040] In an embodiment, at step 306c, if number of the one or more tasks in the current schedule of the capable physical robot is beyond the predetermined value considering the new task, then the bid value is defined as infinite and the new task is not assigned to the physical robot even though it is capable. If the current schedule of the capable physical robot does not have at least one task previously assigned, then the bid value is defined as the time required to complete the new task.
[041] In an embodiment, at step 306d, the laden speed is the speed of the physical robot while carrying a load and the unladen speed is the speed of the physical robot without any load. The battery status is the remaining energy left with the physical robot. The proximity from the new task is the distance between the location of the new task and the current location of the physical robot.
[042] In an embodiment, at step 306e, the cost value associated with each of the determined possible routes is calculated based on the time required to complete the tasks present in the respective possible route according to the updated schedule, wherein each possible route define the order or sequence for the tasks to be executed. The possible route having the least cost value is selected as optimized schedule if the least cost value is lesser than the identified minimum latest finish time value in the current schedule.
[043] In an embodiment, a pseudo code for calculating the bid value by each of the
robot actors (104B of FIG.2) for the new task using the robot utility function calculation is mentioned below:
Procedure BIDFORTASK:
• If robot is capable of executing task then:
° If robot’s current schedule is not empty and the robot’s schedule length has not exceeded
then:
From the robot schedule get the latest finish time of the task whose latest finish time comes earliest.
Add task to current schedule list
Send updated schedule along with minimum latest finish time acquired in above step
call (Procedure OPTIMIZESCHEDULE).
If the schedule optimizer returns NULL utility then:
• A new schedule will be created such that the published task is done after completing current schedule. The bid for the task will be returned accordingly.
Else:
• Send the utility to the task manager actor.
° Else:
A new schedule will be created such that the published task is done after completing current schedule, if current schedule exists. If current schedule doesn’t exist then start a new schedule with new task. The bid for the task will be returned accordingly.
• Else:
° Return a NULL value to the task manager.
Procedure OPTIMIZESCHEDULE:
• Find all possible routes for the task. Given the current schedule, laden or unladen speed, the battery status, proximity from the task, priority.
• Find the corresponding cost of each route in terms of time by converting each parameter into time domain.
• Choose the lowest value
• If lowest value is greater than the minimum latest finish time then:
° Return NULL
• Else:
° Return the lowest value.
[044] In accordance with an embodiment of the present disclosure, at step 308, the WMU (104E of FIG.2) is configured to calculate the bid value, for each of the human operators to execute the new task, using a human operator utility function, in response to the request for the bid value by the task manager (104F of FIG.2). In an embodiment, the human operator utility function calculate the bid value based on the time required to complete the new task by each of the human operators considering the details of the human operators received from the human resource management unit (104D of FIG.2) and the associated task definition of the new task, wherein the details of the human operators includes the list of available human operators, the skillset, the shift timings, the current availability of human operators, the capability to operate the machine, the current position of human operator and the type of operating machine.
[045] In an embodiment, at step 308, the list of available human operators are the human operators currently available in the operating environment. The skillset includes the skills that each human operator may handle, wherein the skills are at least one of lifting, picking, collecting, monitoring and inventory scanning as per the type of task characterized in the associated task definition. The shift timings define working hours of each of the human operators. In an embodiment, the working hours of one human operator may not be the same to that of another human operator. The current availability of human operators define the availability to perform the new task. The capability to operate the machine define the capability to operate the associated machine according to the type of the task characterized in the associated task definition. The type of operating machine define the type of tasks that the operating machine may handle thereof.
[046] In accordance with an embodiment of the present disclosure at step 310, the task manager (104F of FIG.2) is configured to assign, the new task either to one of the physical robot from the plurality of physical robots (102 of FIG.2) via an associated robot actor from the plurality of robot actors (104B of FIG.2), or to one of the human operator from the plurality of human operators via the WMU (104E of FIG.2), having a least bid value. In an embodiment, the task manager (104F of FIG.2) serve as an auctioneer and assign the new task based on the least bid value either to the physical robot or to the human operator.
[047] In an embodiment, further in conjunction with FIG.2, a robot monitoring unit 104C configured to receive congestion information of each of the physical robots (102A), based on movements thereof, using a predictive algorithm, through the associated robot actor from the plurality of robot actors (104B). In an embodiment, the predictive algorithm measures a deviation of expected route to be traversed against real-time route taken by each of the physical robots (102A) and requests the physical robots (102A) in the route to re -plan the route, if an amount of congestion reaches a predetermined threat level. In an embodiment, the robot monitoring unit 104C monitor each of the physical robots (102A) to avoid from the congestion.
[048] In an embodiment, further in conjunction with FIG.2, an algorithm unit 1041 operatively coupled with the robot utility function of each of the robot actors (104B) and the human operator utility function of the WMU 104E. In an embodiment, the algorithm unit 1041 is configured to host a set of algorithms such as multi robot task allocation (MRTA), multi agent path finding (MAPF), multi robot task coordination (MRTC) and multi robot task decomposition (MRTD) that are invoked at the time of each task execution.
[049] In an embodiment, the set of algorithms helps the physical robots to plan their route for executing the one more tasks without any congestion and helps to optimize the route (re-plan) so that the one or more tasks are executed in less amount of time.
[050] In an embodiment, further in conjunction with FIG.2, an information center 104H configured to send the one or more new tasks with associated task definitions received from the OEMU 104 A to the task manager 104F and receive task assignment details from the task manager 104F, receive the congestion information of each of the physical robots (102 A) from the robot monitoring unit 104C, send and receive the details of the human operators from the WMU 104E and receive at least one parameter from some of: speed of the physical robot, current location of the physical robot, battery status of the physical robot, odometer of the physical robot, camera feed of the physical robot etc.., from the associated robot actor. In an embodiment, the information center 104H act as an information exchanger within the system 100.
[051] In an embodiment, further in conjunction with FIG.2, a database unit 104G, operatively coupled to the OEMU 104 A and the human resource management unit 104D. In an embodiment, the database unit 104G is configured to store the details of human operators from the human resource management unit 104D, the one or more new tasks with associated task definitions from the OEMU 104 A and a current schedule, wherein the current schedule
comprises one or more tasks previously assigned thereof and associated task definitions.
[052] In an embodiment, further in conjunction with FIG.2, a set of sensors (Sl,
52... Sn) deployed between each of the robot actors (104B) and the associated physical robot from the plurality of physical robots (102A). In an embodiment, the set of sensors (Sl,
52...5n) are at least some of a current location sensor, a battery status sensor, a robot speed sensor, an odometer sensor and camera feed sensor. In an embodiment, each of the robot actors (104B) may receive at least one parameter from some of: speed of the physical robot, current location of the physical robot, battery status of the physical robot, odometer of the physical robot, camera feed of the physical robot etc.., from the associated physical robot through the set of sensors.
[053] In an embodiment, further in conjunction with FIG.2, a user interface unit 108A operatively coupled with the information center 104H through the database unit 104G. In an embodiment, the user interface unit 108A may be a web based user interface unit or a human-in-loop interface unit.
[054] In accordance with an embodiment of the present disclosure, the exemplary architecture of the system 100 is implemented based on an actor model to create a high level virtualization of the physical robots (102A). In an embodiment, the task manager 104F, the robot actors (104B), the robot monitoring unit 104C, the WMU 104E, the algorithm unit 1041, and the information center 104H serve as actors, wherein each actor is the unique single thread application that provides an abstraction over hassles of inter process communication.
[055] In an embodiment, each of the new tasks is considered to be complete once the assigned physical robot or the assigned human operator has visited the task location and then reaches the drop location within the latest finish time value. A bidding round of each of the new tasks is considered to be complete when the bid values from each of the capable physical robots (102 A) via the associated robot actor from the plurality of robot actors (104B) and from the plurality of human operators through the WMU 104E, have been received by the task manager 104F and then the task manager 104F assign each of the new tasks either to one of the physical robot from the plurality of physical robots (102A) via the associated robot actor from the plurality of robot actors (104B) or to one of the human operator from the plurality of human operators through the WMU 104E, based on the least bid value.
[056] In an embodiment, FIG.4 is a flow diagram illustrating dynamic allocation of new task to a capable physical robot or to a human operator in the processor implemented method for optimizing task scheduling of the actor model based multi robot system, in
accordance with an embodiment of the present disclosure. In the dynamic allocation, each of the new tasks is sequentially introduced, the bid values for each of the capable physical robots (102A) and each of the human operators are calculated and the new task is assigned either to one of the capable physical robot or to one of the human operator based on the least bid value, and this allocation is continued until no new task is left unassigned. In an embodiment, the one or more new tasks are assigned based on the optimized schedule and without any congestion to achieve a highly fault tolerant and robust actor model based multi robot system.
[057] In an embodiment of the present disclosure, FIG.5 is a sequence diagram illustrating a message processing method in an actor based model, in accordance with an embodiment of the present disclosure. In an embodiment, the actor based model is a concurrent computation model where each actor is the unique single threaded application that may execute the task (process) independently and parallely along with other tasks (processes). In an embodiment, the actor based model may be implemented through Akka in Java™ or Pykka in Python™.
[058] In an embodiment, the actor based model implements a message inbox which saves the details of inter-task (inter-process) communication. Each actor has an inbox and messages in the inbox are processed sequentially in the order they are received. In an embodiment, each message in the actor model based architecture may be sent to the actor and will wait in the queue until it gets processed because of which no actor needs to wait until the actor to which the message is sent is free. Hence inter-actor communication may be achieved because there is no overhead in deadlocks detection. In an embodiment, each actor may interact with all other actors in the actor model based architecture of the multi robot system 100.
[059] In an embodiment, the actor model based multi robot system 100 for optimizing task scheduling comprises: n number of physical robots, n number of robot actors corresponding to n number of physical robots, and n number of a set of sensors, wherein n is a positive integer.
Simulation results:
[060] The exemplary architecture of the actor model based multi robot system 100 is tested on robotics simulation platform such as Gazebo. Simple algorithms for problems such as MRTA, MAPF, MRTC and MRTD are used for the purpose of testing. For instance, a
simple auction algorithm is used for MRTA; a congestion less route is assumed for MAPF and the physical robots are equipped with dynamic obstacle avoidance capacity in case of intersection of their routes; an assumption is set such that no task requires more than one physical robot for MRTC and hence no interaction among physical robots is needed during execution of the task; and an assumption is set such that the tasks are atomic for MRTD, hence no further decomposition can be done.
[061] With these assumptions, a 3D warehouse operating environment is simulated in Gazebo platform and on Python™ using Pykka. A web UI is created to control and monitor the simulated warehouse operating environment. The simulation is performed with larger number of physical robots. The average execution time of a fixed set of tasks is calculated. A decrease in average execution time is expected to be taken as the number of physical robots increases.
[062] To understand the impact of modifiable parameters, a simulation has been performed using several physical robots in the warehouse operating environment. The results are averaged over 20 different iterations along with the standard deviation associated with the results since the one or more tasks for each day may mostly be different depending on orders. Although numerous set of tasks are expected in the realistic warehouse operating environment scenario, the simulation has been restricted to a limited number of tasks for ease of analysis.
[063] FIG.6 is a graph showing an average time taken to complete a set of 20 tasks as the number of physical robots increases from 5 to 20 in the actor model based multi robot system, in accordance with an embodiment of the present disclosure. It is observed that the average execution time decreases up to a certain number of physical robots beyond which it saturates. The optimized task scheduling method 300 allows for a minimization in the number of physical robots required to execute a given set of tasks. FIG.7 is a graph showing an average time taken by a set of 5, 10, 15 and 20 physical robots to complete tasks as the number of tasks increases in the actor model based multi robot system, in accordance with an embodiment of the present disclosure. It is noted that the time taken to complete the set of tasks is directly proportional to the number of tasks in consideration. The dependency seems to be linear and is consistent with what is expected. FIG.8 is a graph showing an average number of tasks assigned to a set of 5 physical robots for 30 tasks in the actor model based multi robot system, in accordance with an embodiment of the present disclosure.
[064] In accordance with the present disclosure, the optimized task scheduling
method 300 provides a dynamic solution to deal with Multi Robot Task Allocation (MRTA). The optimized task scheduling method 300 also achieves reliability in task allocation by assigning the tasks dynamically with overall minimum execution time without any congestion using the algorithm unit 1041. The route of each of the physical robots from the plurality of physical robots (102 A) is selected such that the one or more tasks are executed with minimum turnaround time; hence the cost of the operating environment is minimized and the return on investment on the multi robot system 100 is maximized. Also, as the one or more new tasks are assigned either to one of the physical robot from the plurality of physical robots (102A) via the corresponding plurality of robot actors (104B), or to of the human operators from the plurality of human operators through the WMU 104E, based on the least bid value, hence a collaborative operating environment is achieved.
[065] In an embodiment, the system 100 supports any number of physical robots just by adding a new thread for a new physical robot using actor based model, hence the scalability in the multi robot system 100 is achieved along with less incremental cost.
[066] In an embodiment, the WMU 104E, the OEMU 104A, the plurality of physical robots (102A) etc., may be attached or detached based on the requirement and based on the type of operating environment, thereby achieving the modularity of the system 100. Also, the algorithm unit 1041, the task manager 104F, the robot monitoring unit 104C may easily be changed or replaced according to the type of operating environment and its specifications. Hence, the actor model based architecture for the disclosed multi robot system supports both centralized and distributed system environments.
[067] In an embodiment, the system 100 may be deployed on cloud robotic platform to provide on demand computing power and cost effective solutions. Also, system 100 may be connected with a knowledge base such as KnowRob so that any number of new physical robots available in the market place with latest specifications may be added, new capabilities of existing robots may be created, and new environments may be configured.
[068] It is to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message therein; such computer-readable storage means contain program-code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The hardware device can be any kind of device which can be programmed including e.g. any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g.
hardware means like e.g. an application- specific integrated circuit (ASIC), a field- programmable gate array (FPGA), or a combination of hardware and software means, e.g. an ASIC and an FPGA, or at least one microprocessor and at least one memory with software modules located therein. Thus, the means can include both hardware means and software means. The method embodiments described herein could be implemented in hardware and software. The device may also include software means. Alternatively, the embodiments may be implemented on different hardware devices, e.g. using a plurality of CPUs.
[069] The embodiments herein can comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various modules described herein may be implemented in other modules or combinations of other modules. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
[070] The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments. Also, the words“comprising,”“having,” “containing,” and“including,” and other similar forms are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims (when included in the specification), the singular forms“a,”“an,” and“the” include plural references unless the context clearly dictates otherwise.
[071] 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 on which information or data readable
by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the 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., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
[072] It is intended that the disclosure and examples be considered as exemplary only, with a true scope and spirit of disclosed embodiments being indicated by the following claims.
Claims
1. A processor implemented method (300) for optimizing task scheduling of an actor model based multi robot system in an operating environment having a plurality of physical robots and a plurality of human operators, the method comprising the steps of: receiving a new task from one or more new tasks to be executed, by a task manager, from an Operating Environment Management Unit (OEMU), the new task being characterized by a task definition indicative of type of task, a task location, a drop location and a latest finish time value corresponding to a time required to complete the task (302);
broadcasting the new task, by the task manager, to the plurality of physical robots via a plurality of robot actors and to the plurality of human operators via a Workforce Management Unit (WMU), wherein each of the robot actors is a unique single threaded application corresponding to an associated physical robot from the plurality of physical robots (304);
calculating, by each of the robot actors, a bid value for the associated physical robot from the plurality of physical robots to execute the new task using a robot utility function comprised therein, in response to a request for the bid value by the task manager (306); wherein the robot utility function of each of the robot actors, is configured to:
determine whether the associated physical robot is a capable physical robot for executing the new task based on the task definition (306a);
identify a minimum latest finish time value associated with one or more tasks comprised in a current schedule of the capable physical robot, wherein the current schedule comprises the one or more tasks previously assigned thereof and associated task definitions (306b);
add the new task to the current schedule of the capable physical robot to obtain an updated schedule thereof, if number of the one or more tasks in the current schedule of the capable physical robot is within a predetermined value indicative of capability thereof (306c);
determine possible routes to execute the new task based on the updated schedule of the capable physical robot, a laden or unladen speed, a battery status,
proximity from the new task and the latest finish time value of the new task (306d);
determine a cost value associated with each of the determined possible routes (306e);
obtain an optimized schedule by:
associating the new task with one of the determined possible route having a least cost value if the least cost value is lesser than the identified minimum latest finish time value; or
modifying the updated schedule in such a way that the one or more tasks in the current schedule are executed before the new task if the least cost value is greater or equal to the identified minimum latest finish time value (306f); and
calculate the bid value, based on the optimized schedule, wherein the bid value is a total time to complete the optimized schedule (306g); calculating, by the WMU, the bid value for each of the human operators to execute the new task, using a human operator utility function, in response to the request for the bid value by the task manager, wherein the human operator utility function is configured to calculate the bid value based on the time required to complete the new task by each of the human operators considering a plurality of parameters such as list of available human operators, skillset, shift timings, current availability of human operators, capability to operate the machine, current position of the human operator, type of operating machine and the associated task definition of the new task (308); and assigning, by the task manager serving as an auctioneer, the new task either to one of the physical robot from the plurality of physical robots via an associated robot actor from the plurality of robot actors, or to one of the human operator from the plurality of human operators via the WMU, having a least bid value (310).
2. The method of claim 1, wherein the robot utility function is further configured to perform at least one of:
defining the bid value as infinite if the number of the one or more tasks in the current schedule of the capable physical robot is beyond the predetermined value; or defining the bid value as the time required to complete the new task, if the current schedule of the capable physical robot does not have at least one task.
3. The method of claim 1, wherein the type of the task includes lifting, picking, collecting, monitoring and inventory scanning.
4. An actor model based multi robot system (100) for optimizing task scheduling in an operating environment, the system (100) comprising:
a plurality of physical robots (102A1, 102A2... l02An);
one or more internal data storage devices (104) operatively coupled to one or more hardware processors (106) for storing instructions configured for execution by the one or more hardware processors, the instructions being comprised in:
an Operating Environment Management Unit (OEMU) (104 A) configured to transmit one or more new tasks to a task manager (104F), wherein each new task is characterized by a task definition indicative of type of task, a task location, a drop location and a latest finish time value corresponding to a time required to complete the task;
a plurality of robot actors (104B1, 104B2... l04Bn), wherein each of the robot actors (104B1, 104B2... l04Bn) is configured to calculate a bid value to execute a new task from the one or more new tasks, by an associated physical robot from the plurality of physical robots (102A1, 102A2... l02An), using a robot utility function, wherein each of the robot actors (104B1, 104B2... l04Bn) is a unique single threaded application corresponding to an associated physical robot from the plurality of physical robots (102A1, 102A2... l02An), and wherein the robot utility function of each of the robot actors (104B1, 104B2... l04Bn) is configured to obtain an optimized schedule and calculate the bid value for the new task;
a robot monitoring unit (104C) configured to receive congestion information of each of the physical robots (102A1, 102A2... l02An), based on movements thereof, using a predictive algorithm, through an associated robot actor from the plurality of robot actors (104B1, 104B2... l04Bn);
a human resource management unit (104D) configured to obtain and maintain details of a plurality of human operators working in the operating environment, wherein the details of the plurality of human operators include list of available human operators, skillset, shift timings, current availability of
human operators, capability to operate the machine, a current position of human operator and a type of operating machine;
a Workforce Management Unit (WMU) (104E) configured to receive the details of the human operators from the human resource management unit (104D), and to calculate the bid value for the new task, for each of the human operators working in the operating environment, using a human operator utility function, wherein the human operator utility function is configured to calculate the bid value based on the time required to complete the new task by each of the human operators;
the task manager (104F), operatively coupled to the plurality of robot actors (104B1, 104B2... l04Bn) and the WMU (104E), wherein the task manager (104F) is configured to receive the one or more new tasks from the OEMU (104 A) and assign each new task either to one of the physical robot from the plurality of physical robots (102A1, 102A2... l02An) through the associated robot actor from the plurality of robot actors (104B1, 104B2... l04Bn), or to one of the human operator from the plurality of human operators through the WMU (104E), having a least bid value;
an algorithm unit (1041) operatively coupled with the robot utility function of each of the robot actors (104B1, 104B2... l04Bn) and the human operator utility function of the WMU (104E), wherein the algorithm unit (1041) is configured to host a set of algorithms such as multi robot task allocation (MRTA), multi agent path finding (MAPF), multi robot task coordination (MRTC) and multi robot task decomposition (MRTD) that are invoked at the time of each task execution; and
a set of sensors (Sl, S2... Sn), deployed between each of the robot actors (104B1, 104B2... l04Bn) and the associated physical robot from the plurality of physical robots (102A1, 102A2... l02An), wherein the set of sensors (Sl, S2... Sn) are at least some of a current location sensor, a battery status sensor, a robot speed sensor, an odometer sensor and camera feed sensor.
5. The system of claim 4, wherein the type of the task includes lifting, picking, collecting, monitoring and inventory scanning.
6. The system of claim 4, wherein, the predictive algorithm measures a deviation of expected route to be traversed against real-time route taken by each of the physical robots (102A1, 102A2... l02An) and requests the physical robots (102A1,
102A2... 102 An) in the route to re-plan the route, if an amount of congestion reaches a predetermined threat level.
7. The system of claim 4, wherein the Operating Environment Management Unit (OEMU) (104 A) is further configured to complete the one or more new tasks in a sequential order and to ensure that no new task is left unassigned.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201821021452 | 2018-06-08 | ||
IN201821021452 | 2018-06-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2019234702A2 true WO2019234702A2 (en) | 2019-12-12 |
WO2019234702A3 WO2019234702A3 (en) | 2020-02-13 |
Family
ID=68769351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2019/054767 WO2019234702A2 (en) | 2018-06-08 | 2019-06-07 | Actor model based architecture for multi robot systems and optimized task scheduling method thereof |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2019234702A2 (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111898908A (en) * | 2020-07-30 | 2020-11-06 | 华中科技大学 | Production line scheduling system and method based on multiple wisdom bodies |
CN111897316A (en) * | 2020-06-22 | 2020-11-06 | 北京航空航天大学 | Multi-aircraft autonomous decision-making method under scene fast-changing condition |
CN112529444A (en) * | 2020-12-18 | 2021-03-19 | 中冶南方(武汉)自动化有限公司 | Intelligent storage unmanned overhead crane scheduling method |
CN112947414A (en) * | 2021-01-26 | 2021-06-11 | 深圳市普渡科技有限公司 | Robot scheduling method and device, computer equipment and storage medium |
CN113031603A (en) * | 2021-03-05 | 2021-06-25 | 湖南大学 | Task priority based collaborative path planning method for multiple logistics robots |
CN113110582A (en) * | 2021-04-22 | 2021-07-13 | 中国科学院重庆绿色智能技术研究院 | Unmanned aerial vehicle cluster intelligent system control method |
CN113177741A (en) * | 2021-05-27 | 2021-07-27 | 中国平安人寿保险股份有限公司 | Task execution method and device, computer equipment and storage medium |
CN113256171A (en) * | 2021-06-29 | 2021-08-13 | 湖北亿咖通科技有限公司 | Service plan generation method and system |
WO2021211028A1 (en) * | 2020-04-17 | 2021-10-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Network node and method for handling operations in a communications network |
EP4250198A1 (en) * | 2022-03-22 | 2023-09-27 | Rapyuta Robotics Co., Ltd. | Task assignment in autonomous mobile devices |
CN117057551A (en) * | 2023-08-02 | 2023-11-14 | 天津大学 | Method and device for solving multi-task scheduling problem in consideration of cooperative robot |
CN117933669A (en) * | 2024-03-22 | 2024-04-26 | 中国人民解放军国防科技大学 | Dynamic task allocation method and device, computer equipment and storage medium |
CN118238155A (en) * | 2024-05-30 | 2024-06-25 | 杭州泛海科技有限公司 | Industrial manipulator task management method and system |
CN118352040A (en) * | 2024-04-30 | 2024-07-16 | 江苏威尔赛科技有限公司 | Logistics scheduling system for hospital tracks |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2645196B1 (en) * | 2012-03-30 | 2018-12-12 | The Boeing Company | Network of unmanned vehicles |
US20140195290A1 (en) * | 2013-01-10 | 2014-07-10 | Schlumberger Technology Corporation | Task management system and method |
US10134006B2 (en) * | 2016-12-07 | 2018-11-20 | Invia Robotics, Inc. | Workflow management system and methods for coordinating simultaneous operation of multiple robots |
-
2019
- 2019-06-07 WO PCT/IB2019/054767 patent/WO2019234702A2/en active Application Filing
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12068916B2 (en) | 2020-04-17 | 2024-08-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Network node and method for handling operations in a communications network |
WO2021211028A1 (en) * | 2020-04-17 | 2021-10-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Network node and method for handling operations in a communications network |
CN111897316A (en) * | 2020-06-22 | 2020-11-06 | 北京航空航天大学 | Multi-aircraft autonomous decision-making method under scene fast-changing condition |
CN111897316B (en) * | 2020-06-22 | 2021-05-14 | 北京航空航天大学 | Multi-aircraft autonomous decision-making method under scene fast-changing condition |
CN111898908B (en) * | 2020-07-30 | 2023-06-16 | 华中科技大学 | Production line scheduling system and method based on multiple intelligent objects |
CN111898908A (en) * | 2020-07-30 | 2020-11-06 | 华中科技大学 | Production line scheduling system and method based on multiple wisdom bodies |
CN112529444A (en) * | 2020-12-18 | 2021-03-19 | 中冶南方(武汉)自动化有限公司 | Intelligent storage unmanned overhead crane scheduling method |
CN112529444B (en) * | 2020-12-18 | 2023-07-04 | 中冶南方(武汉)自动化有限公司 | Intelligent warehouse unmanned crown block scheduling method |
CN112947414A (en) * | 2021-01-26 | 2021-06-11 | 深圳市普渡科技有限公司 | Robot scheduling method and device, computer equipment and storage medium |
CN112947414B (en) * | 2021-01-26 | 2024-01-19 | 深圳市普渡科技有限公司 | Robot scheduling method, robot scheduling device, computer equipment and storage medium |
CN113031603A (en) * | 2021-03-05 | 2021-06-25 | 湖南大学 | Task priority based collaborative path planning method for multiple logistics robots |
CN113110582B (en) * | 2021-04-22 | 2023-06-02 | 中国科学院重庆绿色智能技术研究院 | Unmanned aerial vehicle cluster intelligent system control method |
CN113110582A (en) * | 2021-04-22 | 2021-07-13 | 中国科学院重庆绿色智能技术研究院 | Unmanned aerial vehicle cluster intelligent system control method |
CN113177741A (en) * | 2021-05-27 | 2021-07-27 | 中国平安人寿保险股份有限公司 | Task execution method and device, computer equipment and storage medium |
CN113177741B (en) * | 2021-05-27 | 2024-03-19 | 中国平安人寿保险股份有限公司 | Task execution method, device, computer equipment and storage medium |
CN113256171A (en) * | 2021-06-29 | 2021-08-13 | 湖北亿咖通科技有限公司 | Service plan generation method and system |
EP4250198A1 (en) * | 2022-03-22 | 2023-09-27 | Rapyuta Robotics Co., Ltd. | Task assignment in autonomous mobile devices |
CN117057551A (en) * | 2023-08-02 | 2023-11-14 | 天津大学 | Method and device for solving multi-task scheduling problem in consideration of cooperative robot |
CN117057551B (en) * | 2023-08-02 | 2024-04-19 | 天津大学 | Method and device for solving multi-task scheduling problem in consideration of cooperative robot |
CN117933669A (en) * | 2024-03-22 | 2024-04-26 | 中国人民解放军国防科技大学 | Dynamic task allocation method and device, computer equipment and storage medium |
CN118352040A (en) * | 2024-04-30 | 2024-07-16 | 江苏威尔赛科技有限公司 | Logistics scheduling system for hospital tracks |
CN118238155A (en) * | 2024-05-30 | 2024-06-25 | 杭州泛海科技有限公司 | Industrial manipulator task management method and system |
Also Published As
Publication number | Publication date |
---|---|
WO2019234702A3 (en) | 2020-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019234702A2 (en) | Actor model based architecture for multi robot systems and optimized task scheduling method thereof | |
Gajsek et al. | Using maturity model and discrete-event simulation for industry 4.0 implementation | |
Lee et al. | Smart robotic mobile fulfillment system with dynamic conflict-free strategies considering cyber-physical integration | |
US9663292B1 (en) | Forecasted robotic drive unit dispatch | |
US11014235B2 (en) | Systems and methods for semantic knowledge based dynamic utility calculation | |
Merschformann et al. | RAWSim-O: A simulation framework for robotic mobile fulfillment systems | |
EP3262475A1 (en) | Resolution of route conflict | |
Zheng et al. | A pareto based fruit fly optimization algorithm for task scheduling and resource allocation in cloud computing environment | |
CN114611896A (en) | Robot task scheduling method, computer device and storage medium | |
Kousi et al. | Service oriented architecture for dynamic scheduling of mobile robots for material supply | |
Kim et al. | A realistic decision making for task allocation in heterogeneous multi-agent systems | |
Borangiu et al. | Smart manufacturing control with cloud-embedded digital twins | |
Ekren et al. | A reinforcement learning approach for transaction scheduling in a shuttle‐based storage and retrieval system | |
Msala et al. | A new robust heterogeneous multi-robot approach based on cloud for task allocation | |
Likhouzova et al. | Robot path optimization in warehouse management system | |
Bilge et al. | Multi-attribute responsive dispatching strategies for automated guided vehicles | |
CN112541709A (en) | Intelligent warehouse management and allocation system and management and allocation method thereof | |
Xia et al. | A multi-AGV optimal scheduling algorithm based on particle swarm optimization | |
Branisso et al. | A multi-agent system using fuzzy logic to increase AGV fleet performance in warehouses | |
Zhang et al. | Multi-AGVs pathfinding based on improved jump point search in logistic center | |
Shan et al. | A distributed multi-robot task allocation method for time-constrained dynamic collective transport | |
Souto et al. | Fleet management system for autonomous mobile robots in secure shop-floor environments | |
CN114399247A (en) | Task allocation method, electronic device, storage medium, and computer program product | |
Yang et al. | Fog-enabled multi-robot system | |
CN115981299A (en) | Dynamically generating solutions for updating planning and task allocation policies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19816029 Country of ref document: EP Kind code of ref document: A2 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19816029 Country of ref document: EP Kind code of ref document: A2 |