WO2019036932A1 - 机器人调度方法、服务器、电子设备及可读存储介质 - Google Patents

机器人调度方法、服务器、电子设备及可读存储介质 Download PDF

Info

Publication number
WO2019036932A1
WO2019036932A1 PCT/CN2017/098617 CN2017098617W WO2019036932A1 WO 2019036932 A1 WO2019036932 A1 WO 2019036932A1 CN 2017098617 W CN2017098617 W CN 2017098617W WO 2019036932 A1 WO2019036932 A1 WO 2019036932A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
scheduling
task
event
instruction
Prior art date
Application number
PCT/CN2017/098617
Other languages
English (en)
French (fr)
Inventor
张�浩
Original Assignee
深圳蓝胖子机器人有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳蓝胖子机器人有限公司 filed Critical 深圳蓝胖子机器人有限公司
Priority to PCT/CN2017/098617 priority Critical patent/WO2019036932A1/zh
Priority to CN201780006726.8A priority patent/CN108701285A/zh
Publication of WO2019036932A1 publication Critical patent/WO2019036932A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the invention belongs to the field of robot technology, and in particular relates to a robot scheduling method, a server, an electronic device and a computer readable storage medium.
  • a robot is fixed at a working point to complete a fixed work of the working point, such as assembly on a production line.
  • the quantity of goods flowing into the nodes and outflow nodes is not fixed or regularly arranged. Therefore, if the robot is fixedly disposed at the corresponding node, for example, for different cargo transportation purposes.
  • the loading cargo space of the ground, the unloading cargo space installed at different unloading ports, the input point or the output point of the conveyor belt, etc., and the robots of each node perform fixed operations, which may cause some nodes, such as the loading point to point A, to accumulate a large amount of goods.
  • the loading point to point B has only a small amount of goods, so the robot that performs loading at point B will have an idle state, and at another point in time, it may be the opposite state, overall, due to the field Business characteristics, fixed robot settings, there will always be idle robots.
  • the performance of the robot cannot be fully utilized. In this regard, how to effectively use the robot to achieve logistics There is no related technology for the automation of the domain.
  • the invention provides a robot scheduling method, a server, an electronic device and a computer readable storage medium, which can realize the coordinated work of multiple robots and improve the working efficiency of the robot by uniformly scheduling the robot.
  • a first aspect of the embodiments of the present invention provides a robot scheduling method, including: when detecting that a scheduling event occurs, the server searches for an idle robot capable of processing the scheduling event; and the server sends the processing to the idle robot to process the scheduling a scheduling instruction of an event to control the idle robot to perform an operation indicated by the scheduling instruction according to an instruction of the scheduling instruction.
  • a second aspect of the embodiments of the present invention provides a server, including: a searching module, configured to: when detecting a scheduling event, searching for an idle robot capable of processing the scheduling event; and an instruction module, configured to send to the idle robot Processing a scheduling instruction of the scheduling event to control the idle robot to perform an operation indicated by the scheduling instruction according to an instruction of the scheduling instruction.
  • a third aspect of the embodiments of the present invention provides an electronic device, including: a memory, a processor, and a computer program stored on the memory and operable on the processor, when the processor executes the computer program
  • the robot scheduling method provided by the first aspect of the embodiment of the present invention is implemented.
  • a fourth aspect of the embodiments of the present invention provides a computer readable storage medium having stored thereon a computer program, wherein when the computer program is executed by a processor, the robot provided by the first aspect of the embodiment of the present invention is implemented. Scheduling method.
  • the server when detecting that a scheduling event occurs, searches for an idle robot capable of processing the scheduling event, and then sends a scheduling instruction for processing the scheduling event to the idle robot, so that the idle robot executes according to the instruction of the scheduling instruction.
  • the operation indicated by the scheduling instruction realizes the unified scheduling of the robot, so that the multi-robot can cooperate according to the scheduling instruction of the server, thereby improving the working efficiency of the overall robot system.
  • FIG. 1 is a schematic diagram of an application environment of a robot scheduling method according to an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of an implementation process of a robot scheduling method according to a first embodiment of the present invention
  • FIG. 3 is a schematic flowchart of an implementation process of a robot scheduling method according to a second embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of an implementation process of a robot scheduling method according to a third embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of a server according to a fourth embodiment of the present invention.
  • FIG. 6 is a schematic diagram showing the hardware structure of an electronic device according to a fifth embodiment of the present invention.
  • FIG. 1 is a schematic diagram of an application environment of a robot scheduling method according to an embodiment of the present invention.
  • the robot 10 performs data interaction with the server 80 by wired or wireless means, and proceeds to the cargo bay 30 to perform unloading or loading operations according to an instruction sent by the server 80, for example, the cargo 60 is out of the cargo bay 30. On the place or conveyor 40, it is loaded into the cargo hold 30. Alternatively, the cargo 60 is unloaded from the cargo bay 30 onto the conveyor 40 or transported outside of the cargo bay 30.
  • the robot 10 may be a single robot or a robot cluster composed of a plurality of robots.
  • the robot includes a processor, a robotic arm, and an end effector disposed at the end of the robot arm. Including mobile chassis, various sensors and so on.
  • FIG. 2 is a schematic flowchart of an implementation process of a robot scheduling method according to a first embodiment of the present invention. As shown in FIG. 2, the method mainly includes the following steps:
  • the server finds an idle robot capable of processing the scheduling event when detecting that the scheduling event occurs.
  • the scheduling event may include, but is not limited to, a robot failure event and a task to be executed triggered event.
  • the tasks to be performed may include, but are not limited to, a new task of loading and unloading that can be independently completed by a single robot, and a cooperative task that requires multiple robots to perform collaboratively.
  • the working state information sent by the robot that is performing the task at the loading and unloading site, the preset task schedule, or the task execution instruction sent by other devices it is possible to detect whether a scheduling event occurs.
  • the working status information includes: fault reporting information, and asking information. For example, when receiving the fault report information sent by the robot that is performing the task at the loading and unloading site, it is confirmed that the robot malfunction is detected. When a new task execution instruction is received, it is confirmed that a new event that the loading and unloading new task is triggered is detected. When receiving the assistance information sent by the robot that is performing the task at the loading and unloading site, it is confirmed that the scheduling event that the cooperation task is triggered is detected.
  • Idle robots include: robots that are currently in a non-working state and capable of handling scheduled events. Further, the idle robot may also be determined according to the priority of the scheduling event, that is, the idle robot may further include a currently executed robot whose task priority is less than the first level and capable of processing the scheduling event.
  • the idle robot may refer to, for example, a robot that has scheduled the event to be executed to have completed the assigned task, or a robot that has completed the assigned task after a period of execution time. It may also be determined according to the priority of the scheduling event, whether the robot can be changed from the existing execution task to the processing of the higher priority scheduling event.
  • the server determines, according to the performance of the idle robot, whether the idle robot can handle the scheduling that occurs. event.
  • the server sends a scheduling instruction for processing the scheduling event to the idle robot, so as to control the idle robot to perform the operation indicated by the scheduling instruction according to the instruction of the scheduling instruction.
  • the scheduling instruction includes indication information for executing the task, and specifically includes indication information such as a place where the task is executed and/or an operation performed.
  • indication information such as a place where the task is executed and/or an operation performed.
  • the idle robot can directly know the location to be traveled to the charging area according to the charging task.
  • the charging can be started directly without knowing the location.
  • indication information about the execution time may also be included.
  • the idle robot obtains the indication information of the operation, the execution location, and the like corresponding to the execution task according to the execution task.
  • the executing task may further include corresponding multiple locations and corresponding operations. Accordingly, the idle robot may travel to multiple locations according to the execution task to perform corresponding operations. Where the location and operation may also include an order, the idle robot completes the execution of the task in accordance with the order in which the task is performed and the operation and/or location.
  • the scheduling instruction includes the indication information of the place where the task is performed
  • the idle robot proceeds to the place where the task is executed according to the instruction of the scheduling instruction, and the performed operation can be obtained according to the location.
  • a server or idle robot has associated data for the location of execution and the operations performed. It is also possible to have a way of obtaining an operation that can be performed for the place of execution, for example, the place of execution has a sub-service system, and the operation of the sub-service system can be obtained by entering the place. It is also possible that the location of the execution has an information acquisition path such as a two-dimensional code, a logo, and the like, and the associated operation is performed, so that the idle robot reaches the place where the execution is performed, and the idle robot can perform the operation performed by including, but not limited to, the above information acquisition path.
  • the server when detecting that a scheduling event occurs, searches for an idle robot capable of processing the scheduling event, and then sends a scheduling instruction for processing the scheduling event to the idle robot, so that the idle robot executes the scheduling instruction according to the instruction of the scheduling instruction.
  • the indicated operation realizes the unified scheduling of the robot, so that the multi-robot can work collaboratively according to the scheduling instruction of the server. In turn, the working efficiency of the overall robot system is improved.
  • FIG. 3 is a schematic flowchart of an implementation process of a robot scheduling method according to a second embodiment of the present invention. This example is used to illustrate that the scheduling event is a robot failure event that currently performs the task.
  • the first event generation is expressed as follows.
  • the corresponding processing scheduling event is to process the current execution task corresponding to the first event.
  • the method mainly includes the following steps:
  • the server finds an idle robot capable of processing the first event when detecting the first event.
  • the robot periodically reports the task execution status and its own running status information when performing the task, and in particular, when the fault occurs, the fault report information is sent to the server, so as to notify the fault information of the fault and the last executed task.
  • server receives the fault report message sent by the robot, and determines that the first event is detected.
  • the server finds an idle robot capable of processing the first event among the robots that are not currently performing the task.
  • the performance of the idle robot is the same as that of the malfunctioning robot, or has the same function as the malfunctioning robot, and can perform the currently unfinished task of the malfunctioning robot.
  • Step S302 If no idle robot capable of processing the first event is found, for example, all the robots currently capable of processing the currently executed task are performing tasks, or the performance of the robot not performing the task cannot be related to the failure event. If the task of the current unfinished task of the robot matches, the server further determines whether the priority of the first event is greater than the first level, and when the priority of the first event is greater than the first level, the search can process the first event. And the task whose priority is performed is smaller than the robot of the first level, as an idle robot. Then, the step S303 is executed: the server sends a scheduling instruction for processing the first event to the idle robot, so as to control the idle robot to perform an operation corresponding to the current execution task corresponding to the first event according to the instruction of the scheduling instruction.
  • the priority of the first event is less than or equal to the first level, or although the priority of the first event is greater than the first level, currently the first event cannot be processed and the priority of the executed task is Less than the first level of the robot, according to the preset such as system prompts, SMS, instant messaging Notification methods such as information and mail are sent to the relevant staff to notify the staff of the first incident.
  • the corresponding priority is preset in the server for different scheduling events.
  • the priority of scheduling events is related to the importance of the tasks involved. The higher the importance of performing a task, the higher the priority of the execution task, and the higher the priority of its corresponding scheduling event.
  • a robot currently performs a task with a lower priority than the first level, it can be temporarily provisioned to handle scheduling events higher than the first level.
  • a task lower than the first level may be a robot charging. When the robot is charged to a certain extent but is not fully charged, if there is an emergency dispatch event with a high priority, the robot can be transferred to handle the emergency. Schedule events.
  • the server sends a scheduling instruction for processing the first event to the idle robot, so as to control the idle robot to perform current processing corresponding to the first event according to the instruction of the scheduling instruction. The operation corresponding to the task.
  • the dispatch instruction is used to indicate to which location the idle robot travels to perform what kind of operation.
  • the location indicated by the scheduling instruction is a location where the faulty robot is located, and the operation indicated by the scheduling instruction is an operation corresponding to the currently executing task of the faulty robot.
  • the idle robot takes over the operation of the faulty robot to perform the task currently performed by the faulty robot according to the instruction of the dispatching instruction, for example, continuing the unfinished loading and unloading task.
  • the server when it detects that a certain robot is faulty in the process of executing the task, it searches for an idle robot capable of processing the current task of the faulty robot, and then sends a scheduling instruction for processing the scheduling event to the idle robot, so that The idle robot performs the operation corresponding to the unfinished task of the malfunctioning robot according to the instruction of the scheduling instruction, and realizes the unified scheduling of the robot, so that other idle robots or robots with lower priority tasks can be faulty in a certain robot.
  • FIG. 4 is a schematic flowchart of an implementation process of a robot scheduling method according to a third embodiment of the present invention. As shown in FIG. 4, the method mainly includes the following steps:
  • the server searches for an idle robot capable of processing the event to be executed according to the execution parameter of the task to be executed.
  • Tasks to be executed may include newly assigned tasks and coordination tasks performed in conjunction with other robots.
  • the server may confirm that the to-be-executed task is triggered when it is detected that the execution time of a certain task is about to arrive according to the preset task plan.
  • the contents of the task to be executed may specifically include loading and/or unloading.
  • the execution parameters of the task to be executed include the type of end effector and/or the range of execution capabilities that can perform the corresponding operation of the task to be executed.
  • the execution capability range may include, but is not limited to, a combination of a weight range, a shape of the acquired object, a deformable object, and an In Hand Manipulation capability.
  • the type of end effector can include, but is not limited to, any one or combination of suction cups, robots, and clamps. Among them, the robot includes dexterous hands.
  • the shape of the acquired object can be an object with a specific state or morphological feature for the rigid object, and an end effector and a grasping scheme with specific advantages, thereby providing a targeted optimized grasping method.
  • the ability to acquire state operability includes the ability of the end effector to change the attitude of the object after the object is acquired.
  • the server searches for an idle robot capable of processing the event to be executed, according to the execution parameters of the task to be executed, in the robot that does not currently execute the task.
  • Step S402 If an idle robot capable of processing the event to be executed is not found, That is, all the current robots are performing tasks, or the performance parameters of the robots that do not perform the tasks cannot match the execution parameters of the tasks to be executed, and it is determined whether the priority of the event to be executed is greater than the first level.
  • the server sends a scheduling instruction for processing the event to be executed to the idle robot to control the idle robot to perform the operation corresponding to the task to be executed at the execution time according to the instruction of the scheduling instruction.
  • the current task is not able to process the pending task to be triggered. If the priority of the current task is less than that of the first level, the step of performing an idle robot capable of processing the event to be executed is searched according to the execution parameter of the task to be executed in step S401 until the preset time. An idle robot capable of processing the event to be executed to be triggered is found, and then step S403 is performed.
  • the first level may be a preset parameter, or may be a parameter obtained by the system through deep learning. It can be understood that, according to a specific application scenario, the system deep learning, the first level is a variable parameter.
  • the corresponding priority is preset in the server for different scheduling events.
  • the priority of scheduling events is related to the importance of the tasks involved. The higher the importance of performing a task, the higher the priority of the execution task, and the higher the priority of its corresponding scheduling event. If a robot currently performs a task with a lower priority than the first level, it can be temporarily provisioned to handle scheduling events higher than the first level.
  • the server sends a scheduling instruction to the idle robot to process the event to be executed, to control the idle robot according to the instruction of the scheduling instruction, and execute at the execution time. The operation corresponding to the task to be executed.
  • the scheduling instructions may be used to indicate to what location the idle robot is traveling to perform what kind of operation.
  • the location indicated by the scheduling instruction is a location corresponding to the to-be-executed task, and the operation indicated by the scheduling instruction As the operation corresponding to the task to be executed.
  • the scheduling instruction may also be an execution task for indicating that the idle robot is assigned.
  • the scheduling instruction further includes indication information of an execution time of the task to be executed. Then, the idle robot proceeds to the location corresponding to the to-be-executed task at the execution time according to the instruction of the scheduling instruction, and performs an operation corresponding to the to-be-executed task.
  • the execution time may include: a startup time of the to-be-executed task, or a time when the idle robot performs the execution of the next task after executing the pre-ordered task according to the preset waiting time. .
  • the server may allocate multiple tasks to the robot according to multiple tasks or preset task schedules added in real time, and control the robot to execute one by one according to the task sequence.
  • the execution time in the scheduling instruction may be used to instruct the robot to execute the corresponding task at a preset time corresponding to each task, or to perform the next task immediately after completing a task, the preset time or The completion time of the previous task is the start time of the task to be executed.
  • the previous task may be completed earlier according to the estimated time, or the next task (actual startup time) has a delay to wait, so in this case, it is necessary to determine the idle robot is executed according to the preset waiting time.
  • the time at which the next task is executed after the task has been assigned. More often, the server re-provisions other executable tasks for the robots that complete the previous task according to the scheduled tasks.
  • the execution time of other executable tasks can also be considered as the startup time of the tasks to be executed.
  • the scheduling instruction further includes information about the execution role of the task and/or other robots executing the cooperation task.
  • At least two robots are required to cooperate to complete the corresponding tasks, wherein at least one robot is responsible for unloading, at least one robot Responsible for transporting the unloaded goods.
  • the scheduling instruction may only include information of the execution role, for example: assuming that all are robots of the same type, for the cargo unloading scene, one of the robots performs the role of unloading, and the other robot's execution role is responsible for taking the shipping compartment or Place the transport mechanism corresponding to the cargo.
  • the scheduling instruction may also include only information of other robots, and the information may include, but is not limited to, identification information of the robot, communication link address information, and type.
  • the robot type is, for example, an operating robot having a robot arm and an end effector
  • the operating robot may also include a moving chassis, and for example one or more transport robots having a moving chassis and a carrying device, the operating robot performs unloading, and then is transported to the transport robot. The robot's carrying device is transported away.
  • the scheduling instructions may include the case of performing roles and other robot information.
  • Other robot information includes information on the type of the robot, such as a robot of a suction cup, a robot of a jig, a conveying robot, and the like.
  • the suction robot that performs the loading in the cargo hold A cannot operate the large overweight cargo, and triggers a dispatch event of the coordinated task, which is a request to cooperate with the loading of the large overweight cargo in the cargo hold.
  • the server searches for an idle robot capable of operating a large overweight cargo according to a scheduling event of the coordinated task, for example, a fixture robot, and sends a dispatch instruction to the fixture robot, the command includes a robot performing the role of matching the cargo A to complete the large overweight cargo.
  • Unloading task is a scheduling event of the coordinated task.
  • the idle robot executes an operation corresponding to the task to be executed indicated by the scheduling instruction when the execution time indicated by the scheduling instruction arrives. Further, the specific operation content may be determined according to an execution role of the cooperation task in the scheduling instruction and/or information of other robots executing the cooperation task.
  • the server when the server detects that the task to be executed is triggered, the idle robot that can process the event is searched, and then the scheduling instruction for processing the event is sent to the idle robot, so that the idle robot follows the instruction of the scheduling instruction. Perform corresponding operations to achieve unified scheduling of the robot, so that other idle robots or robots with lower priority tasks can be deployed in time. Perform the corresponding tasks to the places where they are most needed, thus improving the overall efficiency of the robot.
  • FIG. 5 is a schematic structural diagram of a server according to a fourth embodiment of the present invention.
  • the server mainly includes a lookup module 501 and an instruction module 502.
  • the searching module 501 is configured to find an idle robot capable of processing the scheduling event when detecting that a scheduling event occurs.
  • the instruction module 502 is configured to send a scheduling instruction for processing the scheduling event to the idle robot, to control the idle robot to perform an operation indicated by the scheduling instruction according to the instruction of the scheduling instruction.
  • the scheduling event includes a robot failure event currently executing the task, and the operation indicated by the scheduling instruction is an operation corresponding to the currently executing task.
  • the scheduling event further includes an event to be executed that is triggered, and the operation indicated by the scheduling instruction is also an operation corresponding to the to-be-executed task.
  • the scheduling instruction includes indication information of an execution time of the to-be-executed task, where the execution time includes a startup time of the to-be-executed task, or the idle robot performs a pre-ordered assigned task according to the preset waiting time. The time after which the next task is executed.
  • the task to be executed includes a task
  • the scheduling instruction further includes: information about the execution role of the cooperation task and/or other robots that perform the cooperation task.
  • the searching module 501 is further configured to: according to an execution parameter of the to-be-executed task, find an idle robot capable of processing the event to be executed, the execution parameter including an end effector type and/or an execution capability range,
  • the range of execution capabilities includes a combination of any one or more of a weight range, a shape of the acquired object, a holdable object, and a state of operation.
  • the searching module 501 is further configured to: if the idle robot is not found, determine whether the priority of the scheduling event is greater than the first level, and when the priority of the scheduling event is greater than the first level, the searching can be processed.
  • the scheduling event and the priority of the currently executing task is less than the robot of the first level, and the idle robot is triggered, and if the idle robot is found, the instruction module is triggered to execute the scheduling instruction for sending the scheduling event to the idle robot.
  • each functional module is merely an example, and the actual application may be allocated according to requirements, such as configuration requirements of corresponding hardware or convenience of implementation of software. It is completed by different functional modules, that is, the internal structure of the mobile terminal is divided into different functional modules to complete all or part of the functions described above. Moreover, in practical applications, the corresponding functional modules in this embodiment may be implemented by corresponding hardware, or may be executed by corresponding hardware to execute corresponding software. The above description principles may be applied to various embodiments provided in this specification, and are not described herein again.
  • the server when the server detects that the task to be executed is triggered, the idle robot that can process the event is searched, and then the scheduling instruction for processing the event is sent to the idle robot, so that the idle robot follows the instruction of the scheduling instruction.
  • the corresponding operation is performed, and the unified scheduling of the robot is realized, so that other idle robots or robots with lower priority tasks can be deployed to the most needed places to perform corresponding tasks, thereby improving the overall working efficiency of the robot.
  • FIG. 6 is a schematic diagram showing the hardware structure of an electronic device according to a fifth embodiment of the present invention.
  • the electronic device can be, for example, a server, a robot, a sensing device with data processing functionality, or other computer device for performing the various steps in the various method embodiments described above.
  • the electronic device includes:
  • One or more processors 810 and memory 820, one processor 810 is taken as an example in FIG.
  • the electronic device that executes the robot scheduling method may further include: an input device 830 and an output device 840.
  • the processor 810, the memory 820, the input device 830, and the output device 840 may be connected by a bus 850 or other communication means, as exemplified by a bus connection in FIG.
  • the memory 820 is used as a non-transitory computer readable storage medium, and can be used for storing non-transitory software programs, non-transitory computer executable programs, and modules, such as program instructions/modules corresponding to the robot scheduling method in various embodiments of the present invention.
  • the processor 810 operates from non-transitory software programs, instructions, and modules stored in the memory 820.
  • the various functional applications and data processing of the electronic device are implemented, that is, the robot scheduling method in the above method embodiment is implemented.
  • the memory 820 can include a storage program area and a storage data area, wherein the storage program area can store an operating system, an application required for at least one function.
  • the storage data area can store data and the like created according to the use of the above server.
  • memory 820 can include high speed random access memory, and can also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid state storage device.
  • memory 820 can optionally include memory remotely located relative to processor 810, which can be connected to the server over a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
  • Input device 830 can receive input numeric or character information and generate key signal inputs related to user settings and function control of the server.
  • the output device 840 can include a display device such as a display screen.
  • the above product can perform the method provided by the embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
  • the methods provided by the first to third embodiments of the present invention can perform the method provided by the embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
  • a sixth embodiment of the present invention also provides a computer readable storage medium, such as the memory 820 of FIG. There is stored thereon a computer program, including one or more of the modules in the embodiment shown in FIG. When the above computer program is executed by the processor, the robot scheduling method in any of the above method embodiments is implemented.

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Manipulator (AREA)

Abstract

一种机器人调度方法、服务器、电子设备及计算机可读存储介质,通过对机器人进行统一调度,实现多机器人的协同工作,提高机器人的整体工作效率,属于机器人技术领域,其中机器人调度方法包括服务器在检测到调度事件发生时,查找能够处理该调度事件的空闲机器人(S201);该服务器向该空闲机器人发送处理该调度事件的调度指令,以控制该空闲机器人按照该调度指令的指示,执行该调度指令指示的操作(S202)。

Description

机器人调度方法、服务器、电子设备及可读存储介质 技术领域
本发明属于机器人技术领域,尤其涉及一种机器人调度方法、服务器、电子设备及计算机可读存储介质。
背景技术
科技的快速发展,给人们的生活带来翻天覆地的变化,同时也提升了企业的工作效率。而电子商务的蓬勃发展,对国内仓储物流同样提出了前所未有的提速需求。智能机器人应用于物流的概念也逐步被提及并展开多方向的研究。其中,在货物的装卸方向,如何保持装卸货物的高效性和稳定性成为一个重要技术问题。
现有技术中,工业机器人的应用仍非常有限,通常一个机器人固定在一个工作点,完成该工作点固定的工作,例如流水线上装配应用。但是对于物流装货、卸货、搬运货物而言,各货物流入节点、流出节点的货物量并非固定、或规律性排布,因此,如果机器人固定设置在对应的节点,例如通往不同货物输送目的地的装货货舱、设置于不同卸货口的待卸货舱、传送带的输入点或输出点等,各节点机器人固定执行操作,可能导致有些节点,例如通往A点的装货点,堆积大量货物,而通往B点的装货点仅有少量货物,因此,在B点执行装货的机器人会存在空闲状态,而在另一个时间点,可能是相反状态,总体而言,由于该领域的业务特性,固定设置机器人的方案,总会存在空闲状态的机器人。并不能充分利用机器人的执行效率。对此,如何高效地利用机器人实现物流领 域的自动化,目前还没有相关技术。
发明内容
本发明提供一种机器人调度方法、服务器、电子设备及计算机可读存储介质,可以通过对机器人进行统一调度,实现多机器人的协同工作,提高机器人的工作效率。
本发明实施例第一方面提供了一种机器人调度方法,包括:服务器在检测到调度事件发生时,查找能够处理所述调度事件的空闲机器人;所述服务器向所述空闲机器人发送处理所述调度事件的调度指令,以控制所述空闲机器人按照所述调度指令的指示,执行所述调度指令指示的操作。
本发明实施例第二方面提供了一种服务器,包括:查找模块,用于在检测到调度事件发生时,查找能够处理所述调度事件的空闲机器人;指令模块,用于向所述空闲机器人发送处理所述调度事件的调度指令,以控制所述空闲机器人按照所述调度指令的指示,执行所述调度指令指示的操作。
本发明实施例第三方面提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述本发明实施例第一方面提供的机器人调度方法。
本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现上述本发明实施例第一方面提供的机器人调度方法。
从上述本发明实施例可知,通过当检测到调度事件发生时,服务器查找能够处理调度事件的空闲机器人,然后向空闲机器人发送处理调度事件的调度指令,以使得空闲机器人按照调度指令的指示,执行调度指令指示的操作,实现了对机器人的统一调度,从而使得多机器人可根据服务器的调度指令进行的协同工作,进而提高整体机器人系统的工作效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1是本发明实施例提供的机器人调度方法的应用环境示意图;
图2是本发明第一实施例提供的机器人调度方法的实现流程示意图;
图3是本发明第二实施例提供的机器人调度方法的实现流程示意图;
图4是本发明第三实施例提供的机器人调度方法的实现流程示意图;
图5是本发明第四实施例提供的服务器的结构示意图;
图6是本发明第五实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例提供的机器人调度方法的应用环境示意图。如图1所示,机器人10通过有线或无线的方式,与服务器80进行数据交互,根据服务器80发送的指令,前往货舱30执行卸货或装货操作,例如:将货物60从货舱30之外的地方或传送装置40上,装载至货舱30。或者,将货物60从货舱30卸载至传送装置40上或搬运到货舱30之外的地方。其中,机器人10可以是单独的一个机器人,也可以是由多个机器人组成的机器人集群。该机器人包括处理器、机械手臂以及设置在机械手臂末端的末端执行器,还可 以包括移动底盘、各类传感器等。
请参阅图2,图2为本发明第一实施例提供的机器人调度方法的实现流程示意图。如图2所示,该方法主要包括以下步骤:
S201、服务器在检测到调度事件发生时,查找能够处理调度事件的空闲机器人。
调度事件可以但不限于包括:机器人发生故障事件以及待执行任务被触发事件。其中待执行任务可以但不限于包括:单个机器人可独立完成的装、卸货新任务以及需要多个机器人协同完成的配合任务。
根据装、卸货现场正在执行任务的机器人发送的工作状态信息、预设的任务日程表或者其他设备发送的任务执行指令,可检测是否有调度事件发生。其中工作状态信息包括:故障上报信息、求援信息等。例如:当接收到装、卸货现场正在执行任务的机器人发送的故障上报信息时,确认检测到机器人故障这一调度事件。当接收到新任务执行指令时,确认检测到装、卸货新任务被触发这一调度事件。当接收到装、卸货现场正在执行任务的机器人发送的求援信息时,确认检测到配合任务被触发这一调度事件。
可以理解的,在整个调度系统中配置的机器人的数量多于可执行的任务量,即存在应配备机器人配额外的盈余机器人。空闲机器人包括:当前处于非工作状态且能够处理调度事件的机器人。进一步的,还可以根据调度事件的优先级来确定空闲机器人,即空闲机器人还可以包括当前执行的任务优先级小于第一级别且能够处理调度事件的机器人。
在实际应用中,相对调度事件而言,空闲机器人可以指,例如调度事件应当执行的时间已完成已分配任务的机器人,或者在执行时间一个时间段后完成已分配任务的机器人。还可以是根据调度事件的优先级确定的,是否可被调离现有执行任务改去处理优先级较高的调度事件的机器人。
服务器根据空闲机器人的性能判断该空闲机器人是否能够处理发生的调度 事件。
S202、服务器向空闲机器人发送处理调度事件的调度指令,以控制空闲机器人按照调度指令的指示,执行调度指令指示的操作。
调度指令中包含执行任务的指示信息,具体还可以包括执行任务的地点和/或执行的操作等指示信息。例如一些场景下,仅包括执行任务的指示信息时,例如,充电任务,空闲机器人可以直接根据充电任务获知需要行进到的地点为充电区域。或者,当前空闲机器人就处于充电区域或者所有冗余的空闲机器人就位于充电区,则无需获知地点,直接启动充电。进一步地,还可以包含关于执行时间的指示信息。
可以理解的是,当调度指令中包含执行任务的指示信息时,空闲机器人依据执行任务获得该执行任务对应的执行的操作、执行的地点等指示信息。其中,执行任务还可以包括对应多个地点及对应的操作,相应的,空闲机器人依据执行任务可以行进到多个地点以执行对应的操作。其中地点及操作还可以包括顺序,则空闲机器人依据执行任务及操作和/或地点的顺序完成执行任务。当调度指令包括执行任务的地点的指示信息时,空闲机器人按照调度指令的指示,行进到执行任务的地点,可以依据地点获得执行的操作。例如,服务器或空闲机器人具有执行的地点与执行的操作的关联数据。也可以为执行的地点具有可以获取执行的操作的获取方式,例如,执行的地点具有子服务系统,进入该地点即可通过子服务系统获取执行的操作。也可以为,该执行的地点具有二维码、标识等信息获取途径,关联执行的操作,从而空闲机器人到达该执行的地点,空闲机器人可以通过包括但不限于上述信息获取途径得到执行的操作。
本发明实施例中,通过当检测到调度事件发生时,服务器查找能够处理调度事件的空闲机器人,然后向空闲机器人发送处理调度事件的调度指令,以使得空闲机器人按照调度指令的指示,执行调度指令指示的操作,实现了对机器人的统一调度,从而使得多机器人可根据服务器的调度指令进行的协同工作, 进而提高整体机器人系统的工作效率。
请参阅图3,图3为本发明第二实施例提供的机器人调度方法的实现流程示意图。该示例用以阐述调度事件为当前执行任务的机器人发生故障事件,为了便于表述,以下采用第一事件代为表达。对应的处理调度事件为处理该第一事件对应的当前执行任务。如图3所示,该方法主要包括以下步骤:
S301、服务器在检测到第一事件时,查找能够处理该第一事件的空闲机器人。
可以理解的,机器人在执行任务时会定期上报任务执行状态及自身运行状态信息,特别是在发生故障时,会向服务器发送故障上报信息,以便将自己发生故障及最后执行的任务相关信息通知给服务器。服务器在接收到机器人发送的故障上报信息,确定检测到第一事件。
服务器在当前没有执行任务的机器人中,查找能够处理该第一事件的空闲机器人。该空闲机器人的性能与发生故障的机器人的性能相同,或具有与发生故障的机器人相同的功能,可执行发生故障的机器人当前未完成的任务。
步骤S302、若未查找到能够处理该第一事件的空闲机器人,例如:当前所有可处理该当前执行任务的机器人都在执行任务,或者,没有执行任务的机器人的性能都无法与发生故障事件的机器人当前未完成的任务相匹配,则进一步的,服务器判断该第一事件的优先级是否大于第一级别,并当该第一事件的优先级大于第一级别时,查找能够处理该第一事件且其所执行任务的优先级小于第一级别的机器人,作为空闲机器人。然后,执行步骤S303:服务器向空闲机器人发送处理该第一事件的调度指令,以控制空闲机器人按照调度指令的指示,执行处理该第一事件对应的当前执行任务对应的操作。
可选的,若该第一事件的优先级小于或等于第一级别,或者,虽然该第一事件的优先级大于第一级别,但当前没有能够处理该第一事件且所执行任务的优先级小于第一级别的机器人,则按照预设的如系统提示、短信、即时通讯消 息、邮件等通知方式,向相关工作人员发送通知消息,以通知工作人员发生第一事件。
可以理解的,在服务器中为不同的调度事件预设对应的优先级。调度事件的优先级与其涉及的执行任务的重要性有关。执行任务的重要性越高,该执行任务的优先级越高,其对应的调度事件的优先级则越高。如果一个机器人当前执行任务的优先级低于第一级别,则可以被临时调配去处理高于第一级别的调度事件。例如,低于第一级别的任务可以是机器人充电,当机器人充电到一定程度但未完全充电完成的情况下,如果有优先级高的紧急调度事件,该机器人就可以被调离去处理该紧急调度事件。
S304、若查找到能够处理该第一事件的空闲机器人,则服务器向空闲机器人发送处理该第一事件的调度指令,以控制空闲机器人按照调度指令的指示,执行处理该第一事件对应的当前执行任务对应的操作。
调度指令用于指示空闲机器人行进到什么地点执行什么样的操作。其中,该调度指令指示的地点为发生故障的机器人所在的地点,该调度指令指示的操作为该发生故障的机器人当前执行任务对应的操作。
空闲机器人按照调度指令的指示,接替故障机器人执行该故障机器人当前执行任务对应的操作,例如:继续未完成的装、卸货任务。
本发明实施例中,通过服务器在检测到某一个机器人在执行任务的过程中发生故障时,查找能够处理故障机器人当前执行任务的空闲机器人,然后向空闲机器人发送处理调度事件的调度指令,以使得空闲机器人按照调度指令的指示,执行该发生故障的机器人未完成的任务对应的操作,实现了对机器人的统一调度,使得其他空闲机器人或执行任务优先级较低的机器人可在某个机器人发生故障时,根据服务器的调度指令协助故障机器人继续完成该故障机器人当前执行任务对应的操作,避免因机器人故障需等待维修后继续执行而导致的时间浪费,以及阻塞系统其他环节的运作,从而可提高机器人系统的整体工作效 率。
请参阅图4,图4为本发明第三实施例提供的机器人调度方法的实现流程示意图。如图4所示,该方法主要包括以下步骤:
S401、服务器在检测到待执行任务被触发事件时,根据待执行任务的执行参数,查找能够处理待执行任务被触发事件的空闲机器人。
待执行任务可包括新分配的任务以及配合其他机器人执行的配合任务。服务器可以根据预设的任务计划,在检测到某项任务的执行时间即将到达时,确认检测到待执行任务被触发。或者,在接收到某个机器人发送的支援请求时,确认待执行任务被触发。或者,在获知或预测到某个机器人无法按预期时间完成分配的任务时,确认待执行任务被触发。待执行任务的内容具体可以包括装货和/或卸货。
待执行任务的执行参数包括可执行该待执行任务对应操作的末端执行器的类型和/或执行能力范围。其中,执行能力范围可以但不限于包括:持重范围、获持物体形态、可形变物体(Deformable)获持、获持状态可操作(In Hand Manipulation)能力中的任一种或几种的组合。末端执行器的类型可以但不限于包括:吸盘、机械手以及夹具中的任一种或几种的组合。其中,机械手包括灵巧手。获持物体形态可以为针对刚性物体具有特定状态或形态特征的物体,具有特定优势的末端执行器及抓取方案,从而提供有针对性的优化抓取方式。获持状态可操作能力包括获持物体后,末端执行器仍具备可改变物体姿态的能力。
在实际应用中,对应于不同的执行能力范围,可以细分出不同持重能力的吸盘、机械手、夹具等,可获持可形变物体的吸盘、机械手、夹具等,以及兼具特性的末端执行器。
服务器在当前没有执行任务的机器人中,根据待执行任务的执行参数,查找能够处理待执行任务被触发事件的空闲机器人。
步骤S402、若未查找到能够处理该待执行任务被触发事件的空闲机器人, 即:当前所有的机器人都在执行任务,或者,没有执行任务的机器人的性能参数都无法与待执行任务的执行参数相匹配,则判断待执行任务被触发事件的优先级是否大于第一级别,并当处理待执行任务被触发事件的优先级大于第一级别时,查找能够处理该待执行任务被触发事件且当前执行任务的优先级小于第一级别的机器人,作为空闲机器人,然后,执行步骤S403:服务器向空闲机器人发送处理待执行任务被触发事件的调度指令,以控制空闲机器人按照调度指令的指示,在执行时间,执行待执行任务对应的操作。
可选的,若该待执行任务被触发事件的优先级小于或等于第一级别,或者,虽然该待执行任务被触发事件的优先级大于第一级别,但当前没有能够处理待执行任务被触发事件且当前执行任务的优先级小于第一级别的机器人,则每隔预设时间,执行步骤S401中根据待执行任务的执行参数,查找能够处理待执行任务被触发事件的空闲机器人的步骤,直至查找到能够处理待执行任务被触发事件的空闲机器人,然后执行步骤S403。其中,第一级别可以为预设的参数,也可以为系统通过深度学习得到的参数。可以理解的是,依据具体应用场景,系统深度学习,第一级别为可变参数。
可以理解的,在服务器中为不同的调度事件预设对应的优先级。调度事件的优先级与其涉及的执行任务的重要性有关。执行任务的重要性越高,该执行任务的优先级越高,其对应的调度事件的优先级则越高。如果一个机器人当前执行任务的优先级低于第一级别,则可以被临时调配去处理高于第一级别的调度事件。
S404、若查找到能够处理该待执行任务被触发事件的空闲机器人,则服务器向空闲机器人发送处理待执行任务被触发事件的调度指令,以控制空闲机器人按照调度指令的指示,在执行时间,执行待执行任务对应的操作。
调度指令可以为用于指示空闲机器人行进到什么地点执行什么样的操作。其中,该调度指令指示的地点为该待执行任务对应的地点,调度指令指示的操 作为该待执行任务对应的操作。调度指令也可以为用于指示空闲机器人被分配的执行任务。
进一步的,调度指令还包含待执行任务的执行时间的指示信息。进而空闲机器人按照调度指令的指示,在执行时间,行进到该待执行任务对应的地点,执行该待执行任务对应的操作。其中考虑到执行任务的连续性和数量,执行时间可以包括:该待执行任务的启动时间,或,根据预设等待时间确定的该空闲机器人执行完前序已分配任务后执行下一任务的时间。
在实际应用中,服务器可以根据实时加入的多个任务或预设任务日程,为机器人分配多个任务,并控制机器人根据任务序列去一一执行。作为其中的一种可能,调度指令中的执行时间可以用于指示机器人在每个任务对应的预设时间执行对应的任务,或者,完成一个任务以后立刻去执行下一个任务,预设的时间或者前一任务的完成时间即待执行任务的启动时间。作为另一种可能,前一个任务可能根据预计时间提早完成了,或者下一个任务(实际的启动时间)有耽搁需要等待,因此对于这种情形,需要根据预设等待时间来确定空闲机器人执行完前序已分配任务后执行下一任务的时间。更多时候,是服务器根据计划任务为完成前一任务的机器人重新调配其他可执行任务,此时其他可执行任务的执行时间也可以认为是一种待执行任务的启动时间。
进一步的,在待执行任务为配合任务时,调度指令中还包含配合任务的执行角色和/或执行所述配合任务的其他机器人的信息。
配合任务,例如,货舱较大,或者传送带机构无法进入货舱,或者无传送带机构条件下执行卸货任务时,需要至少两个机器人进行配合完成相应的任务,其中,至少一个机器人负责卸货,至少一个机器人负责将卸下的货物输送出去。
在实际应用中,调度指令可仅包含执行角色的信息,例如:假设都是同类机器人,对于货舱卸货场景,其中一个机器人的执行角色为负责卸货,另一个机器人的执行角色为负责拿出货舱或放到货物对应的传送机构。其中卸货可以 包括从传送带或其他取货地点卸下货物。输送包括将卸下的货物输送到另一个传送带,或者就是直接码货到另一个货舱。
或者,调度指令也可以仅包括其他机器人的信息,则该信息可以但不限于包括:机器人的身份标识信息、通信链接地址信息以及类型。其中机器人类型例如,具有机械臂和末端执行器的操作机器人,该操作机器人也可以包括移动底盘,又例如一个或多个具有移动底盘和承载装置的输送机器人,操作机器人执行卸货,然后放到输送机器人的承载装置里运走。
或者,调度指令可以包括执行角色以及其他机器人信息的情况。其他机器人信息包括机器人的种类信息,比如,吸盘的机器人、夹具的机器人、输送机器人等等。进一步的,还可以为吸盘机器人、夹具机器人分配不同的角色,实际就是根据货物的形态、重量决定哪一个机器人执行哪些货物的取放,也即不同的机器人在任务中扮演的角色或分工,根据该已分配的及执行角色,提供服务器根据调度事件分配对应执行角色的机器人。例如,货舱A存在大型超重货物,于该货舱A中执行装货的吸盘机器人无法操作该大型超重货物,则触发配合任务的调度事件,该调度事件为请求配合完成货舱内大型超重货物的装货任务,服务器根据配合任务的调度事件,查找能够操作大型超重货物的空闲机器人,例如,夹具机器人,则发送调度指令给夹具机器人,该指令包括执行角色为配合货舱A的机器人完成其中大型超重货物的卸货任务。
空闲机器人在该调度指令指示的执行时间到达时,执行该调度指令指示的待执行任务对应的操作。进一步的,具体的操作内容可根据该调度指令中的配合任务的执行角色和/或执行所述配合任务的其他机器人的信息确定。
本发明实施例中,通过服务器在检测到待执行任务被触发事件时,查找能够处理该事件的空闲机器人,然后向空闲机器人发送处理该事件的调度指令,以使得空闲机器人按照调度指令的指示,执行对应的操作,实现了对机器人的统一调度,使得其他空闲机器人或执行任务优先级较低的机器人可被及时调配 到最需要的地方执行相应的任务,从而可提高机器人的整体工作效率。
请参阅图5,图5为本发明第四实施例提供的服务器的结构示意图。如图5所示,该服务器主要包括:查找模块501和指令模块502。
查找模块501,用于在检测到调度事件发生时,查找能够处理该调度事件的空闲机器人。
指令模块502,用于向该空闲机器人发送处理该调度事件的调度指令,以控制该空闲机器人按照该调度指令的指示,执行该调度指令指示的操作。
进一步地,该调度事件包括当前执行任务的机器人发生故障事件,该调度指令指示的操作为该当前执行任务对应的操作。
进一步地,该调度事件还包括待执行任务被触发事件,该调度指令指示的操作还为该待执行任务对应的操作。
进一步地,该调度指令中包含该待执行任务的执行时间的指示信息,该执行时间包括该待执行任务的启动时间,或,根据预设等待时间确定的该空闲机器人执行完前序已分配任务后执行下一任务的时间。
进一步地,该待执行任务包括配合任务,则该调度指令中还包含:该配合任务的执行角色和/或执行该配合任务的其他机器人的信息。
进一步地,查找模块501,还用于根据该待执行任务的执行参数,查找能够处理该待执行任务被触发事件的空闲机器人,该执行参数包括末端执行器的类型和/或执行能力范围,该执行能力范围包括持重范围、获持物体形态、可形变物体获持以及获持状态可操作能力中的任一种或几种的组合。
进一步地,查找模块501,还用于若未查找到该空闲机器人,则判断该调度事件的优先级是否大于第一级别,并当该调度事件的优先级大于该第一级别时,查找能够处理该调度事件且当前执行任务的优先级小于该第一级别的机器人,作为该空闲机器人,以及若查找到该空闲机器人,则触发该指令模块执行该向该空闲机器人发送处理该调度事件的调度指令的步骤。
本实施例未尽之细节,请参阅前述图2至图4所示实施例的描述,此处不再赘述。
需要说明的是,以上图5示例的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将移动终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成。本说明书提供的各个实施例都可应用上述描述原则,以下不再赘述。
本发明实施例中,通过服务器在检测到待执行任务被触发事件时,查找能够处理该事件的空闲机器人,然后向空闲机器人发送处理该事件的调度指令,以使得空闲机器人按照调度指令的指示,执行对应的操作,实现了对机器人的统一调度,使得其他空闲机器人或执行任务优先级较低的机器人可被及时调配到最需要的地方执行相应的任务,从而可提高机器人的整体工作效率。
图6是本发明第五实施例提供的电子设备的硬件结构示意图。该电子设备例如可以是服务器、机器人、具有数据处理功能的感测装置或者其他计算机设备,用于执行上述各方法实施例中的各个步骤。如图6所示,该电子设备包括:
一个或多个处理器810以及存储器820,图8中以一个处理器810为例。
执行机器人调度方法的电子设备还可以包括:输入装置830和输出装置840。
处理器810、存储器820、输入装置830和输出装置840可以通过总线850或者其他通信方式连接,图6中以通过总线连接为例。
存储器820作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明各实施例中的机器人调度方法对应的程序指令/模块,例如,附图5所示的查找模块501以及指令模块502。处理器810通过运行存储在存储器820中的非暂态软件程序、指令以及模块,从 而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中的机器人调度方法。
存储器820可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序。
存储数据区可存储根据上述服务器的使用所创建的数据等。此外,存储器820可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器820可选包括相对于处理器810远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置830可接收输入的数字或字符信息,以及产生与服务器的用户设置以及功能控制有关的键信号输入。输出装置840可包括显示屏等显示设备。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明第一至第三实施例所提供的方法。
本发明第六实施例还提供一种计算机可读存储介质,如图6中的存储器820。其上存储有计算机程序,包括如图5所示的实施例中的一个或者多个模块。当上述计算机程序被处理器执行时,实现上述任意方法实施例中的机器人调度方法。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的机器人调度方法、服务器、电子设备及计算机可读存储介质的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

Claims (20)

  1. 一种机器人调度方法,其特征在于,所述方法包括:
    服务器在检测到调度事件发生时,查找能够处理所述调度事件的空闲机器人;
    所述服务器向所述空闲机器人发送处理所述调度事件的调度指令,以控制所述空闲机器人按照所述调度指令的指示,执行所述调度指令指示的操作。
  2. 根据权利要求1所述的方法,其特征在于,所述调度事件包括当前执行任务的机器人发生故障事件,所述调度指令指示的操作为所述当前执行任务对应的操作。
  3. 根据权利要求1所述的方法,其特征在于,所述调度事件包括待执行任务被触发事件,所述调度指令指示的操作为所述待执行任务对应的操作。
  4. 根据权利要求3所述的方法,其特征在于,所述待执行任务包括装货和/或卸货。
  5. 根据权利要求3所述的方法,其特征在于,所述查找能够处理所述调度事件的空闲机器人包括:
    根据所述待执行任务的执行参数,查找能够处理所述待执行任务被触发事件的空闲机器人,所述执行参数包括末端执行器的类型和/或执行能力范围。
  6. 根据权利要求5所述的方法,其特征在于,所述末端执行器的类型包括吸盘、机械手以及夹具中的任一种或几种的组合。
  7. 根据权利要求5所述的方法,其特征在于,所述执行能力范围包括持重范围、获持物体形态、可形变物体获持以及获持状态可操作能力中的任一种或几种的组合。
  8. 根据权利要求3所述的方法,其特征在于,所述调度指令中包含所述待执行任务的执行时间的指示信息;
    所述控制所述空闲机器人按照所述调度指令的指示,执行所述调度指令指 示的操作,包括:
    控制所述空闲机器人按照所述调度指令的指示,在所述执行时间,执行所述调度指令指示的操作。
  9. 根据权利要求8所述的方法,其特征在于,执行时间包括所述待执行任务的启动时间,或,根据预设等待时间确定的所述空闲机器人执行完前序已分配任务后执行下一任务的时间。
  10. 根据权利要求1至8中的任一项所述的方法,其特征在于,所述查找能够处理所述调度事件的空闲机器人,包括:
    查找能够处理所述调度事件的空闲机器人;
    若未查找到所述空闲机器人,则判断所述调度事件的优先级是否大于第一级别,并当所述调度事件的优先级大于所述第一级别时,查找能够处理所述调度事件且当前执行任务的优先级小于所述第一级别的机器人,作为所述空闲机器人;
    若查找到所述空闲机器人,则执行所述向所述空闲机器人发送处理所述调度事件的调度指令的步骤。
  11. 根据权利要求3所述的方法,其特征在于,所述待执行任务包括配合任务;
    所述调度指令中还包含:所述配合任务的执行角色和/或执行所述配合任务的其他机器人的信息。
  12. 一种服务器,其特征在于,包括:
    查找模块,用于在检测到调度事件发生时,查找能够处理所述调度事件的空闲机器人;
    指令模块,用于向所述空闲机器人发送处理所述调度事件的调度指令,以控制所述空闲机器人按照所述调度指令的指示,执行所述调度指令指示的操作。
  13. 根据权利要求12所述的服务器,其特征在于,所述调度事件包括当前 执行任务的机器人发生故障事件,所述调度指令指示的操作为所述当前执行任务对应的操作。
  14. 根据权利要求12所述的服务器,其特征在于,
    所述调度事件还包括待执行任务被触发事件,所述调度指令指示的操作还为所述待执行任务对应的操作。
  15. 根据权利要求14所述的服务器,其特征在于,
    所述调度指令中包含所述待执行任务的执行时间的指示信息,所述执行时间包括所述待执行任务的启动时间,或,根据预设等待时间确定的所述空闲机器人执行完前序已分配任务后执行下一任务的时间。
  16. 根据权利要求14所述的服务器,其特征在于,
    所述待执行任务包括配合任务;
    所述调度指令中还包含:所述配合任务的执行角色和/或执行所述配合任务的其他机器人的信息。
  17. 根据权利要求12所述的服务器,其特征在于,所述查找模块,还用于根据所述待执行任务的执行参数,查找能够处理所述待执行任务被触发事件的空闲机器人,所述执行参数包括末端执行器的类型和/或执行能力范围,所述执行能力范围包括持重范围、获持物体形态、可形变物体获持以及获持状态可操作能力中的任一种或几种的组合。
  18. 根据权利要求12所述的服务器,其特征在于,
    所述查找模块,还用于若未查找到所述空闲机器人,则判断所述调度事件的优先级是否大于第一级别,并当所述调度事件的优先级大于所述第一级别时,查找能够处理所述调度事件且当前执行任务的优先级小于所述第一级别的机器人,作为所述空闲机器人,以及若查找到所述空闲机器人,则触发所述指令模块执行所述向所述空闲机器人发送处理所述调度事件的调度指令的步骤。
  19. 一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存 储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求1至11中的任一项所述的机器人调度方法。
  20. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至11中的任一项所述的机器人调度方法。
PCT/CN2017/098617 2017-08-23 2017-08-23 机器人调度方法、服务器、电子设备及可读存储介质 WO2019036932A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2017/098617 WO2019036932A1 (zh) 2017-08-23 2017-08-23 机器人调度方法、服务器、电子设备及可读存储介质
CN201780006726.8A CN108701285A (zh) 2017-08-23 2017-08-23 机器人调度方法、服务器、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/098617 WO2019036932A1 (zh) 2017-08-23 2017-08-23 机器人调度方法、服务器、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
WO2019036932A1 true WO2019036932A1 (zh) 2019-02-28

Family

ID=63843803

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/098617 WO2019036932A1 (zh) 2017-08-23 2017-08-23 机器人调度方法、服务器、电子设备及可读存储介质

Country Status (2)

Country Link
CN (1) CN108701285A (zh)
WO (1) WO2019036932A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110647144A (zh) * 2019-08-16 2020-01-03 深圳市极思维智能科技有限公司 一种集群中个体机器人及其实现方法
CN110977979A (zh) * 2019-12-13 2020-04-10 华南智能机器人创新研究院 一种闲置机器人调度方法及系统
CN112286665A (zh) * 2020-11-05 2021-01-29 深圳壹账通智能科技有限公司 自动化任务发放方法、执行方法、设备及存储介质
CN112631268A (zh) * 2019-10-09 2021-04-09 北京京东乾石科技有限公司 调度机器人的方法和装置
WO2024017209A1 (zh) * 2022-07-18 2024-01-25 杭州海康机器人股份有限公司 一种调度控制方法、装置及电子设备

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109191027A (zh) * 2018-11-09 2019-01-11 浙江国自机器人技术有限公司 一种机器人召唤方法、系统、设备及计算机可读存储介质
CN109240251B (zh) * 2018-11-19 2024-05-14 炬星科技(深圳)有限公司 分布式机器人的调度决策方法
CN109613896A (zh) * 2018-11-20 2019-04-12 上海物景智能科技有限公司 一种用于多个自动导航车的调度方法及装置
CN109361251B (zh) * 2018-11-28 2022-02-08 江苏木盟智能科技有限公司 一种输送机器人的充电控制方法和系统
CN109884996B (zh) * 2019-02-02 2021-01-05 宁波吉利汽车研究开发有限公司 生产控制系统、方法及生产管理系统
CN109866225B (zh) * 2019-03-26 2021-07-13 上海钛米机器人股份有限公司 机器人任务处理方法、服务器、机器人及机器人系统
CN110091337B (zh) * 2019-04-24 2021-10-22 北京百度网讯科技有限公司 机器人协作方法、装置、智能机器人及机器人管理平台
CN110457146A (zh) * 2019-04-30 2019-11-15 北京云迹科技有限公司 机器人数据的处理方法及装置
CN110427253A (zh) * 2019-07-04 2019-11-08 中国建设银行股份有限公司 机器人资源任务周期管控方法及装置
CN111191931A (zh) * 2019-12-30 2020-05-22 深圳优地科技有限公司 一种多机器人任务分配的方法、装置及终端设备
CN111257906B (zh) * 2020-02-11 2022-05-17 鹏城实验室 一种激光雷达监测系统、方法和装置
CN113296874B (zh) * 2020-05-29 2022-06-21 阿里巴巴集团控股有限公司 一种任务的调度方法、计算设备及存储介质
CN111702760B (zh) * 2020-06-11 2021-06-11 湖北美和易思教育科技有限公司 一种物联网机械手臂协同作业系统及方法
CN111844024A (zh) * 2020-06-30 2020-10-30 深圳优地科技有限公司 机器人故障处理方法、装置、智能设备和存储介质
CN113219966A (zh) * 2021-04-01 2021-08-06 深圳市优必选科技股份有限公司 机器人的控制方法、装置、通信设备及存储介质
CN113119127A (zh) * 2021-04-20 2021-07-16 大连宏燊软件技术有限公司 一种rpa机器人的任务调度方法和系统
CN113268331A (zh) * 2021-06-04 2021-08-17 西安优艾智合机器人科技有限公司 机器人调用方法、机器人调用装置、管理系统和存储介质
CN113955362B (zh) * 2021-08-11 2024-02-06 浙江立镖机器人有限公司 立体分拣控制方法、立体分拣机器人和相关设备
CN115321067A (zh) * 2022-08-09 2022-11-11 北京京东乾石科技有限公司 一种搬运机器人故障处理方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150290805A1 (en) * 2014-04-11 2015-10-15 Axium Inc. Vision-Assisted System and Method for Picking of Rubber Bales in a Bin
CN105259814A (zh) * 2015-10-30 2016-01-20 上海交通大学 一种多机器人系统及其通信系统
CN105426986A (zh) * 2015-10-30 2016-03-23 上海交通大学 多机器人系统中的高可靠性控制方法及系统
CN106737696A (zh) * 2017-03-11 2017-05-31 杭州极木科技有限公司 一种多机器人协同运输方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104062630A (zh) * 2014-07-02 2014-09-24 上海理工大学 展厅服务机器人立体定位与调度管理系统及定位方法
CN105892320B (zh) * 2016-04-26 2018-06-26 京东方科技集团股份有限公司 自助服务机器人、服务方法、控制装置和服务系统
CN106228302A (zh) * 2016-07-21 2016-12-14 上海仙知机器人科技有限公司 一种用于在目标区域内进行任务调度的方法与设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150290805A1 (en) * 2014-04-11 2015-10-15 Axium Inc. Vision-Assisted System and Method for Picking of Rubber Bales in a Bin
CN105259814A (zh) * 2015-10-30 2016-01-20 上海交通大学 一种多机器人系统及其通信系统
CN105426986A (zh) * 2015-10-30 2016-03-23 上海交通大学 多机器人系统中的高可靠性控制方法及系统
CN106737696A (zh) * 2017-03-11 2017-05-31 杭州极木科技有限公司 一种多机器人协同运输方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110647144A (zh) * 2019-08-16 2020-01-03 深圳市极思维智能科技有限公司 一种集群中个体机器人及其实现方法
CN112631268A (zh) * 2019-10-09 2021-04-09 北京京东乾石科技有限公司 调度机器人的方法和装置
CN110977979A (zh) * 2019-12-13 2020-04-10 华南智能机器人创新研究院 一种闲置机器人调度方法及系统
CN110977979B (zh) * 2019-12-13 2021-11-02 华南智能机器人创新研究院 一种闲置机器人调度方法及系统
CN112286665A (zh) * 2020-11-05 2021-01-29 深圳壹账通智能科技有限公司 自动化任务发放方法、执行方法、设备及存储介质
WO2024017209A1 (zh) * 2022-07-18 2024-01-25 杭州海康机器人股份有限公司 一种调度控制方法、装置及电子设备

Also Published As

Publication number Publication date
CN108701285A (zh) 2018-10-23

Similar Documents

Publication Publication Date Title
WO2019036932A1 (zh) 机器人调度方法、服务器、电子设备及可读存储介质
US10120390B2 (en) System, computing device, and method for unmanned vehicle fleet control
KR102171648B1 (ko) 창고 내의 물품 팔레트들의 자율 압축
US9663292B1 (en) Forecasted robotic drive unit dispatch
CN109878959B (zh) 拣选调度方法、装置、仓储系统及可读存储介质
WO2019036931A1 (zh) 货物摆放方法、装置、系统以及电子设备和可读存储介质
US20140365258A1 (en) Job management system for a fleet of autonomous mobile robots
WO2022007514A1 (zh) 拣货调度系统、方法及装置
Prasse et al. How IoT will change the design and operation of logistics systems
WO2022095835A1 (zh) 仓储管理系统及方法
CN109081034B (zh) 智能货柜送货方法、装置和智能货柜
JP2020500800A (ja) ロボットによる貨物を運搬する方法
TW202240490A (zh) 任務分配方法、裝置、控制終端和倉儲系統
CN108927802B (zh) 控制机器人取货的方法、装置和机器人
JP2020021454A (ja) 意味知識に基づく動的な効用算出のためのシステムおよび方法
US9193524B2 (en) Automated item sequencing in a high-density grid-based material handling system
Mass et al. Wiseware: A device-to-device-based business process management system for industrial internet of things
WO2022052808A1 (zh) 机器人、调度装置、机器人充电系统和方法及存储介质
TW202239685A (zh) 機器人配置方法、裝置、控制終端和倉儲系統
WO2024032083A1 (zh) 一种搬运机器人故障处理方法和系统
JP2018180822A (ja) 倉庫管理サーバ、倉庫管理方法及び倉庫管理プログラム
Hoshino et al. Development of a flexible and agile multi-robot manufacturing system
JP2021086609A5 (zh)
JPH10338314A (ja) 搬送システム
US20240116172A1 (en) Intelligent robotic system for palletizing and depalletizing

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: 17922891

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17922891

Country of ref document: EP

Kind code of ref document: A1