Robot scheduling device, system and method

By dividing the robot scheduling software into three independent parts and supporting distributed deployment, the problems of complexity, difficulty in maintaining and high hardware performance requirements of traditional scheduling systems are solved, and stronger structural logic, lower development difficulty and more flexible deployment methods are achieved.

CN115256381BActive Publication Date: 2025-03-18ZHEJIANG GUOZI ROBOT TECH
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210847255.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-19
Publication Date
2025-03-18
Estimated Expiration
2042-07-19

AI Technical Summary

Technical Problem

Traditional robot scheduling systems are complex, difficult to develop and maintain, do not support distributed deployment, and have high requirements for server hardware performance.

Method used

The robot scheduling software is divided into three independent parts: the first scheduling module group, the second scheduling module group and the third scheduling module group. Each part is independently encapsulated and supports distributed deployment, reducing the configuration requirements of the hardware server.

Benefits of technology

It simplifies the structural logic of the scheduling system, reduces the difficulty of development of a single scheduling module group, facilitates maintenance and problem investigation, supports distributed deployment, and reduces the configuration requirements of the hardware server.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115256381B_ABST
    Figure CN115256381B_ABST
Patent Text Reader

Abstract

The present application relates to a robot scheduling device, system and method, wherein the scheduling device includes: a first scheduling module group, a second scheduling module group and a third scheduling module group; wherein the first scheduling module group, the second scheduling module group and the third scheduling module group are independently encapsulated; the first scheduling module group is used to parse order information to obtain task information, and send the task information to the second scheduling module group; wherein the order information is generated by an external user system; the second scheduling module group is used to determine the robot to perform the task according to the task information, and generate execution information to send to the third scheduling module group; the third scheduling module group is used to control the corresponding robot to perform the task according to the execution information. Through this application, the problems of the existing scheduling system being complex, difficult to develop and maintain, not supporting distributed deployment, and having high requirements on server hardware performance are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robot intelligent control, and in particular to a robot scheduling device, system and method. Background Art

[0002] A robot is a machine device that performs work automatically. It can accept human commands and run pre-programmed programs. Its task is to assist or replace human work, such as manufacturing, construction, or dangerous work. In the process of multi-robot collaborative work, powerful robot scheduling software is needed to connect with the user's production system and reasonably allocate the user's production tasks to relevant robots according to business needs. This involves a lot of functional modules and complex data relationships.

[0003] In the traditional robot scheduling system, a packaged software includes all functional modules. Although it has good packaging characteristics, it has disadvantages such as complex scheduling system, difficult development and maintenance, no support for distributed deployment, and high requirements for server hardware performance. Therefore, those skilled in the art hope to design a more reasonable, easy to maintain, and easy to deploy robot scheduling device.

[0004] There is currently no effective solution to the problems in related technologies, such as complex scheduling systems, difficulty in development and maintenance, lack of support for distributed deployment, and high requirements for server hardware performance. Summary of the invention

[0005] In this embodiment, a robot scheduling device, system and method are provided to solve the problems existing in the related art that the scheduling system is complex, difficult to develop and maintain, does not support distributed deployment, and has high requirements on server hardware performance.

[0006] In a first aspect, a robot scheduling device is provided in this embodiment, the scheduling device comprising: a first scheduling module group, a second scheduling module group and a third scheduling module group;

[0007] Wherein, the first scheduling module group, the second scheduling module group and the third scheduling module group are respectively independently packaged;

[0008] The first scheduling module group is used to parse the order information to obtain task information, and send the task information to the second scheduling module group; wherein the order information is generated by an external user system;

[0009] The second scheduling module group is used to determine the robot that performs the task according to the task information, and generate execution information and send it to the third scheduling module group;

[0010] The third scheduling module group is used to control the corresponding robot to execute the task according to the execution information.

[0011] In some embodiments, the execution information includes: the serial number of the robot executing the task and the location information of the task.

[0012] In some of the embodiments, the scheduling device further includes: a database;

[0013] The database is used to implement data interaction between the first scheduling module group, the second scheduling module group and the third scheduling module group;

[0014] The database is provided with a first data layer, a second data layer and a third data layer, the first data layer corresponds to the first scheduling module group, the second data layer corresponds to the second scheduling module group, and the third data layer corresponds to the third scheduling module group;

[0015] The first data layer is configured to allow access by a first scheduling module group;

[0016] The second data layer is configured to allow access by the first scheduling module group and the second scheduling module group;

[0017] The third data layer is configured to allow access by the first scheduling module group, the second scheduling module group, and the third scheduling module group.

[0018] In some of the embodiments, the first scheduling module group is provided with a first interface, the second scheduling module group is provided with a second interface, and the third scheduling module group is provided with a third interface;

[0019] The first interface, the second interface and the third interface are all used to connect to an external user system.

[0020] In some of the embodiments, the first scheduling module group includes: an order parsing module and an order allocation module;

[0021] The order parsing module is used to parse the order information to obtain the task information, and the order allocation module is used to send the task information to the second scheduling module group;

[0022] The second scheduling module group includes: a task assignment module;

[0023] The task assignment module is used to receive the task information, and determine the robot to perform the task based on the task information using a preset algorithm, and send the execution information to the third scheduling module;

[0024] The third scheduling module group includes: a task execution module and a traffic management module;

[0025] The task execution module is used to send preset operation instructions to the robot executing the task according to the execution information, and the traffic management module is used to determine the task path according to the execution information and send the task path to the robot executing the task.

[0026] In some of these embodiments, the first scheduling module group further includes: an inventory management module;

[0027] The inventory management module is used to obtain real-time location information of task tools; wherein, the task tools are tools used by the robot in performing tasks.

[0028] In some of the embodiments, the second scheduling module group further includes: a rest management module and a charging management module;

[0029] The rest management module is used to determine the robot that needs to be on standby, and generate standby information and send it to the third scheduling module group; the charging management module is used to determine the robot that needs to be charged, and generate charging information and send it to the third scheduling module group;

[0030] The third scheduling module group is further used to control the corresponding robot to go to the standby area according to the standby information, and is also used to control the corresponding robot to go to the charging area according to the charging information.

[0031] In some of the embodiments, the third scheduling module group further includes: a state management module and an interface management module;

[0032] The state management module is used to synchronize the robot state data to the database, and the interface management module is used to implement interactive control between the robot and external devices.

[0033] In a second aspect, a robot scheduling system is provided in this embodiment, the scheduling system comprising: a robot scheduling device, a server cluster, a user system and a robot cluster;

[0034] The robot scheduling device is the robot scheduling device described in the first aspect above;

[0035] The server cluster is used to deploy the robot scheduling device;

[0036] The first scheduling module group, the second scheduling module group and the third scheduling module group in the robot scheduling device are respectively connected to the user system;

[0037] The third scheduling module group in the robot scheduling device communicates with the robot cluster;

[0038] The server cluster includes: a first server, a second server and a third server;

[0039] The first scheduling module group is deployed on the first server;

[0040] The second scheduling module group is deployed on the second server;

[0041] The third scheduling module group is deployed on the third server.

[0042] In a third aspect, a robot scheduling method is provided in this embodiment. The scheduling method is applied to the robot scheduling device described in the first aspect. The scheduling method includes:

[0043] Parsing the order information to obtain task information, and sending the task information to the second scheduling module group, wherein the order information is generated by an external user system;

[0044] Determine a robot to perform the task according to the task information, and generate execution information to be sent to the third scheduling module group;

[0045] According to the execution information, the corresponding robot is controlled to execute the task.

[0046] In a fourth aspect, an electronic device is provided in this embodiment, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the robot scheduling method described in the third aspect when executing the computer program.

[0047] In a fifth aspect, in this embodiment, a storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the robot scheduling method described in the third aspect above is implemented.

[0048] Compared with the related art, a robot scheduling device provided in this embodiment divides the complete scheduling software into three independent parts at the software level, and the three program parts are independently encapsulated, so that the structural logic of the robot scheduling device is stronger and the development difficulty of a single scheduling module group is lower. When an abnormality occurs in the robot scheduling process, it is convenient for maintenance personnel to screen out the scheduling module with problems; at the same time, when a problem occurs in a single scheduling module group, only the corresponding scheduling module can be maintained, thereby reducing the maintenance difficulty; and the first scheduling module group, the second scheduling module group and the third scheduling module group can be deployed in different devices or in the same device, so each scheduling module in the robot scheduling device has the advantage of easy deployment.

[0049] Details of one or more embodiments of the present application are set forth in the following drawings and description to make other features, objects, and advantages of the present application more readily apparent. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0051] Figure 1 It is a hardware structure block diagram of the terminal of the robot scheduling method of this embodiment.

[0052] Figure 2 It is a structural block diagram of a traditional robot scheduling system in the prior art.

[0053] Figure 3 It is a structural block diagram of a robot scheduling device of this embodiment.

[0054] Figure 4 It is a structural block diagram of another robot scheduling device in this embodiment.

[0055] Figure 5 It is a structural block diagram of a robot scheduling system in this embodiment.

[0056] Figure 6 It is a flow chart of a robot scheduling method of this embodiment.

[0057] Figure 7 It is a structural diagram of a robot scheduling software of this preferred embodiment. DETAILED DESCRIPTION

[0058] In order to more clearly understand the purpose, technical solutions and advantages of the present application, the present application is described and illustrated below in conjunction with the accompanying drawings and embodiments.

[0059] Unless otherwise defined, the technical terms or scientific terms involved in this application shall have the general meaning understood by people with ordinary skills in the technical field to which this application belongs. The words "one", "a", "a", "the", "these" and the like in this application do not represent quantitative restrictions, and they can be singular or plural. The terms "include", "comprise", "have" and any variants thereof involved in this application are intended to cover non-exclusive inclusions; for example, a process, method and system, product or device comprising a series of steps or modules (units) is not limited to the listed steps or modules (units), but may include unlisted steps or modules (units), or may include other steps or modules (units) inherent to these processes, methods, products or devices. The words "connect", "connected", "coupled" and the like involved in this application are not limited to physical or mechanical connections, but may include electrical connections, whether directly or indirectly. The "multiple" involved in this application refers to two or more. "And / or" describes the association relationship of associated objects, indicating that there can be three relationships. For example, "A and / or B" can mean: A exists alone, A and B exist at the same time, and B exists alone. Usually, the character " / " indicates that the objects associated with each other are in an "or" relationship. The terms "first", "second", "third", etc. involved in this application are only used to distinguish similar objects and do not represent a specific ordering of the objects.

[0060] The method embodiment provided in this embodiment can be executed in a terminal, a computer or a similar computing device. For example, running on a terminal, Figure 1 FIG. 1 is a hardware structure diagram of a terminal of the robot scheduling method of this embodiment. Figure 1 As shown, the terminal may include one or more ( Figure 1 Only one is shown in the figure) processor 102 and memory 104 for storing data, wherein processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA. The above terminal may also include a transmission device 106 and an input and output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above terminal. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown.

[0061] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the robot scheduling method in this embodiment. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0062] The transmission device 106 is used to receive or send data via a network. The above network includes a wireless network provided by the communication provider of the terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (Radio Frequency, referred to as RF) module, which is used to communicate with the Internet wirelessly.

[0063] During the application of robots, a powerful scheduling software is needed to connect with the user's production system, convert production tasks into robot scheduling tasks, and assign them to robots for execution. Figure 2 This is a block diagram of the traditional robot scheduling system in the prior art. Figure 2 As shown, the traditional scheduling software 210 connects with the user system through customized middleware, imports the user's production tasks, and then sends the scheduling tasks to the robot for execution through complex internal transformation. Among them, the traditional robot scheduling system adopts an overall packaged scheduling software 210, which completely encapsulates the complex scheduling business together to form a complete scheduling software 210. Therefore, the scheduling software 210 has a complex structure and is difficult for developers to maintain; single software is difficult to deploy and it is difficult to troubleshoot problems and deal with risks after anomalies occur. Based on the above problems, this embodiment provides a robot scheduling device, system and method.

[0064] In this embodiment, a robot scheduling device is provided. Figure 3 is a structural block diagram of a robot scheduling device of this embodiment. Figure 3 As shown, the robot scheduling device includes: a first scheduling module group 310, a second scheduling module group 320 and a third scheduling module group 330;

[0065] The first scheduling module group 310 , the second scheduling module group 320 and the third scheduling module group 330 are respectively packaged independently.

[0066] Specifically, the robot scheduling device is composed of a first scheduling module group 310, a second scheduling module group 320 and a third scheduling module group 330, and each scheduling module group is independently packaged, respectively used to realize the preset scheduling function and complete the preset scheduling task. From the software level, the complete scheduling software is divided into three parts, and each part is independently packaged, and each part is composed of a corresponding program module, thereby forming three independent scheduling programs, corresponding to the first scheduling module group 310, the second scheduling module group 320 and the third scheduling module group 330, respectively. The three scheduling module groups respectively realize corresponding functions and cooperate with each other to complete the complete scheduling task. From the hardware level, the above-mentioned scheduling module groups can also be hardware structures, such as one or more processors that can run the various programs in the above-mentioned scheduling software to realize the corresponding scheduling functions.

[0067] In this embodiment, since the complete scheduling software is divided into three independent parts at the software level, the three program parts are independently encapsulated, so that the structural logic of the robot scheduling device is stronger, and the development difficulty of a single scheduling module group is smaller. When an abnormality occurs in the robot scheduling process, it is convenient for maintenance personnel to screen out the scheduling module with problems. At the same time, when a single scheduling module group has a problem, only the corresponding scheduling module can be maintained, thereby reducing the maintenance difficulty; and the first scheduling module group 310, the second scheduling module group 320 and the third scheduling module group 330 can be deployed in different devices or in the same device, so each scheduling module in the robot scheduling device has the advantage of easy deployment. It solves the problems of the existing scheduling system being complex, difficult to develop and maintain, not supporting distributed deployment, and having high requirements on server hardware performance.

[0068] Among them, the first scheduling module group 310 is used to parse the order information to obtain task information, and send the task information to the second scheduling module group 320; wherein the order information is generated by an external user system; the second scheduling module group 320 is used to determine the robot that performs the task according to the task information, and generate execution information and send it to the third scheduling module group 330; the third scheduling module group 330 is used to control the corresponding robot to perform the task according to the execution information.

[0069] Specifically, the first scheduling module group 310 first obtains order information from the external user system, and parses the order information to generate internal task information and sends it to the second scheduling module group 320, such as the task information: A storage location needs to replenish B material; then the second scheduling module group 320 receives the task information, determines the robot to perform the task, and generates execution information and sends it to the third scheduling module group 330, such as the execution information: C robot transports B material to A storage location; finally, the third scheduling module group 330 controls the corresponding robot to perform the task, such as the control process: determine the moving route of C robot, and control it to run according to the route, and control the robot to perform loading / unloading actions at the corresponding position point. In a specific embodiment, the execution information includes: the number of the robot that performs the task and the location information of the task. The robot number is used to identify the corresponding robot, and the position information includes the position of each node in the scheduling task. For example, in the execution information "robot C transports material B to storage location A", C is the robot number, and the starting position of robot C, the position of material B and the position of storage location A are all position information. This information is sent by the second scheduling module group 320 to the third scheduling module group 330, and the third scheduling module group 330 determines the robot's moving route based on this information.

[0070] Therefore, the independently packaged first scheduling module group 310, the second scheduling module group 320 and the third scheduling module group 330 can not only cooperate with each other to realize the complete scheduling task, but also make the robot scheduling structure clearer, each scheduling module group realizes the corresponding function, and each scheduling module group supports distributed deployment, which greatly reduces the requirements for hardware server configuration, and the clear structure facilitates maintenance and troubleshooting for developers. This solves the problems of complex and unreasonable software structure, difficult maintenance for developers, and high requirements for hardware servers in the existing robot scheduling system.

[0071] Figure 4 It is a structural block diagram of another robot scheduling device in this embodiment.

[0072] Reference Figure 4 , in one embodiment, the scheduling device further includes: a database 410;

[0073] The database 410 is used to implement data interaction between the first scheduling module group 310, the second scheduling module group 320 and the third scheduling module group 330;

[0074] The database 410 is provided with a first data layer, a second data layer and a third data layer, the first data layer corresponds to the first scheduling module group 310, the second data layer corresponds to the second scheduling module group 320, and the third data layer corresponds to the third scheduling module group 330;

[0075] The first data layer is configured to allow access by the first scheduling module group 310;

[0076] The second data layer is configured to allow access by the first scheduling module group 310 and the second scheduling module group 320;

[0077] The third data layer is configured to allow access by the first scheduling module group 310 , the second scheduling module group 320 , and the third scheduling module group 330 .

[0078] Specifically, the robot scheduling device in this embodiment also includes a database 410, and the first scheduling module group 310, the second scheduling module group 320 and the third scheduling module group 330 realize data interaction and forwarding through the database 410, and each scheduling module will not interact directly. All interactive instructions are archived with content and time in the database 410, so the task execution process can be monitored and restored through the database 410. There are three data layers in the database 410, namely the first data layer, the second data layer and the third data layer corresponding to the first scheduling module group 310, the second scheduling module group 320 and the third scheduling module group 330, respectively, and the data tables in each layer are configured with read / write permissions corresponding to the three scheduling module groups. Among them, the third scheduling module group 330 can only access the data tables in the third data layer, the second scheduling module group 320 can only access the data tables in the second data layer and the third data layer, and the first scheduling module group 310 can access the data tables of all data layers.

[0079] In one embodiment, the first scheduling module group 310 is provided with a first interface, the second scheduling module group 320 is provided with a second interface, and the third scheduling module group 330 is provided with a third interface;

[0080] The first interface, the second interface and the third interface are all used to connect to an external user system.

[0081] Specifically, the three scheduling modules in the robot scheduling device in this embodiment can be directly connected to the external user system through an interface, wherein the interface service form can be Rest API. Therefore, the robot scheduling device supports data connection with the external user system at multiple levels, and the external user system can combine multiple interface services to complete more complex business logic. For example: the external user system sends a command for robot A to return to rest area No. 1, and at this time the external system calls the interface service of "assigning robot to designated location" to connect with the second scheduling module group 320 of the robot scheduling device; if the external user system sends an order for robot A to move goods from warehouse No. 2 to warehouse No. 3 at this time, the external user system calls the interface service of "creating order" to connect with the first scheduling module group 310 of the robot scheduling device, and the first scheduling module group 310 decomposes the order into two tasks of picking up and unloading, and sends them to the second scheduling module group 320 in combination. The second scheduling module group 320 will interrupt the action of robot A to go to the rest area, and robot A will execute the order task first.

[0082] In one embodiment, the first scheduling module group 310 includes: an order parsing module and an order allocation module;

[0083] The order parsing module is used to parse the order information to obtain the task information, and the order allocation module is used to send the task information to the second scheduling module group 320;

[0084] The second scheduling module group 320 includes: a task assignment module;

[0085] The task assignment module is used to receive task information, and determine the robot to perform the task based on the task information using a preset algorithm, and send the execution information to the third scheduling module group 330;

[0086] The third scheduling module group 330 includes: a task execution module and a traffic management module;

[0087] The task execution module is used to send preset operation instructions to the robot performing the task according to the execution information, and the traffic management module is used to determine the task path according to the execution information and send the task path to the robot performing the task.

[0088] Specifically, the first scheduling module group 310 in this embodiment is composed of an order parsing module and an order allocation module; after receiving the order information sent by the external user system, the order parsing module parses the order information to generate task information, and then the order allocation module forwards the task information to the second scheduling module group 320 through the database 410. The second scheduling module group 320 is composed of a task assignment module. After receiving the task information, the task assignment module decides the appropriate robot to perform the handling task according to the algorithm strategy of task assignment, and forwards the corresponding execution information to the third scheduling module group 330 through the database 410, wherein the execution information at least includes the robot number of the task execution and the destination of the task. The third scheduling module group 330 is composed of a task execution module and a traffic management module, wherein the task execution module sends a preset operation instruction to the robot to control the robot to perform the corresponding action, and the preset operation instruction at least includes a pickup instruction and an unloading instruction, thereby controlling the corresponding robot to perform the pickup action and the unloading action; at the same time, the traffic management module decides the task path of the robot in real time to ensure the efficient operation of the robots in the system and avoid deadlock and mutual collision.

[0089] In one embodiment, the first scheduling module group 310 further includes: an inventory management module;

[0090] The inventory management module is used to obtain the real-time location information of task tools; wherein the task tools are the tools used by the robot in performing tasks.

[0091] Specifically, when the robot performs the task of transporting goods, it needs to use corresponding transport tools to transport goods, such as the common pallets used to load goods. The main function of the inventory management module is to obtain the position of pallets and other transport tools in real time. For example: after the robot takes the pallet from station A, the pallet position will be updated to the robot, and after the robot puts the pallet in the buffer area, the pallet position will be updated to the buffer area.

[0092] In one embodiment, the second scheduling module group 320 further includes: a rest management module and a charging management module;

[0093] The rest management module is used to determine the robot that needs to be on standby, and generate standby information and send it to the third scheduling module group 330. The charging management module is used to determine the robot that needs to be charged, and generate charging information and send it to the third scheduling module group 330.

[0094] The third scheduling module group 330 is further used to control the corresponding robot to go to the standby area according to the standby information, and is also used to control the corresponding robot to go to the charging area according to the charging information.

[0095] Specifically, the rest management module decides that the robot without tasks and with sufficient AGV power goes to an idle rest position to rest, and sends the corresponding standby information to the third scheduling module group 330, that is, the standby information at least includes the number of the robot that needs to wait and rest and the location of the rest area, and the third scheduling module group 330 controls the corresponding robot to go to the standby rest area according to the standby information. The charging management module decides when the robot starts / ends charging based on factors such as the AGV power and the start / end charging threshold, and sends the corresponding charging information to the third scheduling module group 330, that is, the charging information at least includes the number of the robot that needs to be charged and the start / end time of charging, and the third scheduling module group 330 controls the corresponding robot to go to the charging area to charge according to the charging information.

[0096] In one embodiment, the third scheduling module group 330 further includes: a state management module and an interface management module;

[0097] The state management module is used to synchronize the robot state data to the database, and the interface management module is used to realize the interactive control between the robot and external devices.

[0098] Specifically, the status management module synchronizes the robot status data to the database 410 in real time. The robot status includes: parked in the rest position, going to the rest position, charging, going to the charging position, and on the way to perform a task. The interface management module realizes the interactive control of the robot and external devices. For example: the robot is 1 meter in front of the A station, and the interface management module updates the IO table in the database; then the interface management module reads the IO table data in the database, and when it confirms that it has received the entry permission signal from the A station PLC, the robot enters the A station again.

[0099] It should be noted that the above modules can be functional modules or program modules, and can be implemented by software or hardware. For modules implemented by hardware, the above modules can be located in the same processor, and modules in different scheduling module groups can be located in different processors.

[0100] In this embodiment, a robot scheduling system is also provided. Figure 5 is a structural block diagram of a robot scheduling system in this embodiment. Figure 5The scheduling system includes: a robot scheduling device, a server cluster, a user system 540 and a robot cluster 550; the robot scheduling device is the robot scheduling device proposed in the above embodiment. The first scheduling module group 310, the second scheduling module group 320 and the third scheduling module group 330 in the robot scheduling device are respectively connected to the user system 540; the third scheduling module group 330 in the robot scheduling device communicates with the robot cluster 550; the server cluster is used to deploy the robot scheduling device, that is, each scheduling module group in the robot scheduling device is deployed in the server cluster.

[0101] In one optional embodiment, the server cluster includes: a first server 510, a second server 520 and a third server 530; the first scheduling module group 310 is deployed on the first server 510; the second scheduling module group 320 is deployed on the second server 520; the third scheduling module group 330 is deployed on the third server 530. Specifically, in this embodiment, the three scheduling module groups are deployed in three servers respectively. In addition to this deployment method, the three scheduling module groups can also be deployed in the same server; and one of the scheduling module groups is deployed in one server, and the other two scheduling module groups are deployed in another server.

[0102] This embodiment also provides a robot scheduling method, which is applied to the robot scheduling device in the above embodiment. Figure 6 is a flow chart of a robot scheduling method of this embodiment. Figure 6 As shown, the process includes the following steps:

[0103] Step S610, parsing the order information to obtain task information, and sending the task information to the second scheduling module group, wherein the order information is generated by an external user system.

[0104] Step S620, determining the robot to perform the task according to the task information, and generating execution information to send to the third scheduling module group.

[0105] Step S630, controlling the corresponding robot to execute the task according to the execution information.

[0106] Specifically, the robot scheduling device parses the order information through the first scheduling module group 310 to obtain the task information, and sends the task information to the second scheduling module group 320, wherein the order information is generated by the external user system; the second scheduling module group 320 determines the robot to perform the task according to the task information, and generates execution information and sends it to the third scheduling module group 330; the third scheduling module group 330 controls the corresponding robot to perform the task according to the execution information. Then, through the cooperation of the three scheduling modules, a complete scheduling task can be realized.

[0107] It should be further explained that, since in the robot scheduling device in this embodiment, the first scheduling module group 310, the second scheduling module group 320 and the third scheduling module group 330 are respectively packaged independently, each step in the robot scheduling method is independent. When a problem occurs in the scheduling module group executing one of the steps, it is convenient for maintenance personnel to conduct troubleshooting and maintenance.

[0108] The present embodiment is described and illustrated below through preferred embodiments.

[0109] Figure 7 This is a structural diagram of a robot scheduling software of this preferred embodiment. Figure 7 , the robot scheduling software is designed through the following steps:

[0110] First, the scheduling software is divided into three layers: the first layer is the order management layer 710, the second layer is the general scheduling layer 720, and the third layer is the scheduling engine layer 730.

[0111] Then the order management layer 710, the general scheduling layer 720 and the scheduling engine layer 730 are packaged separately and independently, and finally a multi-layer structured robot scheduling software is formed.

[0112] The specific order management layer 710 mainly includes: TS execution module, order allocation module, inventory management module; the general scheduling layer 720 mainly includes: task assignment module, rest management module, charging management module; the scheduling engine layer 730 mainly includes: vehicle management module, traffic management module, task execution module, IO management module. Each layer has its own RestAPI to support docking with external systems, including the order management layer Rest API (L3), the general scheduling layer Rest API (L2), and the scheduling engine layer Rest API (L1).

[0113] The operation process of the robot scheduling software is as follows: the user production system will generate an order information through internal business logic, the main content of which includes that a certain workstation needs a certain material, and the information will enter the order management layer 710 of the scheduling system through the interface. The order management layer 710 will search for the required materials in the inventory system, decompose the production order into two scheduling tasks: which warehouse to pick up the goods from and which warehouse to transport them to, and send them to the general scheduling layer 720.

[0114] The general scheduling layer 720 receives the scheduling task combination and determines which robot is most suitable to perform the scheduling task through the task dispatching algorithm strategy; after finding a suitable robot, it combines the robot number and the task destination into an execution command and sends it to the scheduling engine layer 730.

[0115] The scheduling engine layer 730 communicates with all robot bodies and parses the assigned robot number and destination after receiving the execution command. It calculates the appropriate path combination based on the current position of the robot and the location of the destination, and sends the information to the robot for execution. During the robot execution process, it continuously calculates whether other robots have an impact on the path executed by the robot, so as to make timely adjustments until the robot completes the execution command.

[0116] The order management layer 710, the general scheduling layer 720 and the scheduling engine layer 730 may be partially concentrated on the same server, or may be distributed and deployed on multiple servers in the same local area network.

[0117] The hierarchical software supports data connection with external systems at multiple levels in the form of RestAPI. External systems can combine the provided Rest APIs to complete more complex business logic. At the same time, users can choose to connect with the robot scheduling software at different levels according to the completeness of their own production systems. For example, if the external system sends a command for robot A to return to rest area No. 1, the external system calls the API interface service of "assigning robots to designated locations" to connect with the general scheduling layer 720 of the scheduling system; if the external system sends an order for robot A to move goods from warehouse No. 2 to warehouse No. 3 at this time, the external system calls the API interface service of "creating orders" to connect with the order management layer 710 of the scheduling system. The order management layer 710 decomposes the order into two tasks, picking up and unloading, and sends them to the general scheduling layer 720. The general scheduling layer 720 will interrupt the action of robot A to go to the rest area, and robot A will execute the order task first.

[0118] The order management layer 710, the general scheduling layer 720 and the scheduling engine layer 730 interact through the database. The data interaction instructions of the three levels are all completed through the database, and all the interaction instructions are archived in the database with content and time. The three-level modules cooperate with each other and interact cyclically to ensure the completion of the user's production task->order task->scheduling task->specific robot action execution command. Among them, the database architecture is divided into three layers: layer1, layer2 and layer3. The data tables in each layer are configured with read / write permissions corresponding to the three levels of scheduling software. The low-level scheduling software cannot read / write the data tables of the high-level database, that is: the scheduling engine layer 730 of the scheduling software can only read / write the layer1 data table; the general scheduling layer 720 can read / write the layer1 and layer2 data tables; the order management layer 710 can read / write all data tables.

[0119] The robot scheduling software hierarchical design method of the present invention realizes the hierarchical scheduling software, supports distributed deployment, greatly reduces the hardware server configuration requirements, and the clear structure facilitates developer maintenance and problem troubleshooting. It solves the problems of complex and unreasonable software structure, difficult maintenance for developers, and high requirements for hardware servers.

[0120] The following is a specific example to illustrate the functions of the modules in each layer of the scheduling software.

[0121] The process flow of a factory is as follows: after the production of station A is completed, a manual call is made, and the robot is required to take the pallet from the called position and put it in an empty position in the buffer area. Before the robot enters station A (1 meter away), it needs to send an entry application to the PLC first, and then enter after receiving the entry permission signal from the PLC.

[0122] In the scheduling process, the manual call system will transmit order information to the order management layer 710 of the scheduling software, and the order information is associated with the TS (Transport Structure) process template.

[0123] In the order management layer 710:

[0124] The TS execution module is used to parse the TS associated with the order and break the order into specific AGV tasks;

[0125] The order allocation module is used to send AGV tasks to the general scheduling layer;

[0126] The inventory management module is used to maintain the real-time location information of the pallet. After the robot takes the pallet from station A, the pallet position will be updated to the robot. After the robot puts the pallet into the buffer area, the pallet position will be updated to the buffer area.

[0127] In the general scheduling layer 720:

[0128] The task assignment module is used to decide the appropriate robot to perform the handling task according to the task assignment algorithm strategy, and combine the robot number and task destination into an execution command and send it to the scheduling engine layer;

[0129] The rest management module is used to decide whether the robot with no tasks and sufficient AGV power should go to the idle rest position for rest;

[0130] The charging management module is used to decide when the robot starts / ends charging based on factors such as the AGV power level and the start / end charging threshold.

[0131] In the scheduling engine layer 730:

[0132] The task execution module is used to send a pick-up / unload command to the robot after receiving the execution command issued by the task assignment module;

[0133] The traffic management module is used to make real-time decisions on the robot's running path to ensure efficient operation of the robots in the system and avoid deadlocks and collisions;

[0134] The vehicle management module is used to synchronize the robot status data to the database in real time, including parked at the resting position, going to the resting position, charging, going to the charging position, and on the way to perform a task;

[0135] The IO management module is used to realize the interactive control between the robot and external devices.

[0136] In this embodiment, an electronic device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0137] Optionally, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0138] Optionally, in this embodiment, the processor may be configured to perform the following steps through a computer program:

[0139] Step S610, parsing the order information to obtain task information, and sending the task information to the second scheduling module group, wherein the order information is generated by an external user system.

[0140] Step S620, determining the robot to perform the task according to the task information, and generating execution information to send to the third scheduling module group.

[0141] Step S630, controlling the corresponding robot to execute the task according to the execution information.

[0142] It should be noted that the specific examples in this embodiment can refer to the examples described in the above embodiments and optional implementation modes, and will not be repeated in this embodiment.

[0143] In addition, in combination with the robot scheduling method provided in the above embodiments, a storage medium may be provided in this embodiment to implement the robot scheduling method. The storage medium stores a computer program, and when the computer program is executed by a processor, any one of the robot scheduling methods in the above embodiments is implemented.

[0144] It should be understood that the specific embodiments described herein are only used to explain the application, rather than to limit it. Based on the embodiments provided in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the protection scope of this application.

[0145] Obviously, the drawings are only some examples or embodiments of the present application. For ordinary technicians in the field, the present application can also be applied to other similar situations based on these drawings without creative work. In addition, it is understandable that although the work done in this development process may be complicated and lengthy, for ordinary technicians in the field, certain changes in design, manufacturing or production based on the technical content disclosed in this application are only conventional technical means and should not be regarded as insufficient content disclosed in this application.

[0146] The term "embodiment" in this application refers to a specific feature, structure or characteristic described in conjunction with the embodiment that can be included in at least one embodiment of the present application. The appearance of this phrase in various locations in the specification does not necessarily mean the same embodiment, nor does it mean that it is mutually exclusive with other embodiments and is independent or optional. It is clearly or implicitly understood by those of ordinary skill in the art that the embodiments described in this application can be combined with other embodiments without conflict.

[0147] The above embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of patent protection. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the scope of protection of the present application. Therefore, the scope of protection of the present application shall be subject to the attached claims.

Claims

1. A robot scheduling device, characterized in that: The scheduling device comprises: a first scheduling module group, a second scheduling module group, a third scheduling module group and a database; Wherein, the first scheduling module group, the second scheduling module group and the third scheduling module group are respectively independently packaged; The first scheduling module group is used to parse the order information to obtain task information, and send the task information to the second scheduling module group; wherein the order information is generated by an external user system; The second scheduling module group is used to determine the robot that performs the task according to the task information, and generate execution information and send it to the third scheduling module group; The third scheduling module group is used to control the corresponding robot to execute the task according to the execution information; The database is used to implement data interaction between the first scheduling module group, the second scheduling module group and the third scheduling module group; The database is provided with a first data layer, a second data layer and a third data layer, the first data layer corresponds to the first scheduling module group, the second data layer corresponds to the second scheduling module group, and the third data layer corresponds to the third scheduling module group; The first data layer is configured to allow access by a first scheduling module group; The second data layer is configured to allow access by the first scheduling module group and the second scheduling module group; The third data layer is configured to allow access by the first scheduling module group, the second scheduling module group, and the third scheduling module group.

2. The robot scheduling device according to claim 1, characterized in that: The execution information includes: the serial number of the robot executing the task and the location information of the task.

3. The robot scheduling device according to claim 1, characterized in that: The first scheduling module group is provided with a first interface, the second scheduling module group is provided with a second interface, and the third scheduling module group is provided with a third interface; The first interface, the second interface and the third interface are all used to connect to an external user system.

4. The robot scheduling device according to claim 1, characterized in that: The first scheduling module group includes: an order parsing module and an order allocation module; The order parsing module is used to parse the order information to obtain the task information, and the order allocation module is used to send the task information to the second scheduling module group; The second scheduling module group includes: a task assignment module; The task assignment module is used to receive the task information, and determine the robot to perform the task based on the task information using a preset algorithm, and send the execution information to the third scheduling module; The third scheduling module group includes: a task execution module and a traffic management module; The task execution module is used to send preset operation instructions to the robot executing the task according to the execution information, and the traffic management module is used to determine the task path according to the execution information and send the task path to the robot executing the task.

5. The robot scheduling device according to claim 1, characterized in that: The first scheduling module group also includes: an inventory management module; The inventory management module is used to obtain real-time location information of task tools; wherein, the task tools are tools used by the robot in performing tasks.

6. The robot scheduling device according to claim 1, characterized in that: The second scheduling module group also includes: a rest management module and a charging management module; The rest management module is used to determine the robot that needs to be on standby, and generate standby information and send it to the third scheduling module group; the charging management module is used to determine the robot that needs to be charged, and generate charging information and send it to the third scheduling module group; The third scheduling module group is further used to control the corresponding robot to go to the standby area according to the standby information, and is also used to control the corresponding robot to go to the charging area according to the charging information.

7. The robot scheduling device according to claim 1, characterized in that: The third scheduling module group also includes: a state management module and an interface management module; The state management module is used to synchronize the state data of the robot to the database, and the interface management module is used to implement interactive control between the robot and external devices.

8. A robot scheduling system, characterized in that: The scheduling system includes: a robot scheduling device, a server cluster, a user system and a robot cluster; The robot scheduling device is the robot scheduling device according to any one of claims 1 to 7; The server cluster is used to deploy the robot scheduling device; The first scheduling module group, the second scheduling module group and the third scheduling module group in the robot scheduling device are respectively connected to the user system; The third scheduling module group in the robot scheduling device communicates with the robot cluster; The server cluster includes: a first server, a second server and a third server; The first scheduling module group is deployed on the first server; The second scheduling module group is deployed on the second server; The third scheduling module group is deployed on the third server.

9. A robot scheduling method, characterized in that: The scheduling method is applied to the robot scheduling device according to any one of claims 1 to 7, and the scheduling method comprises: Parsing the order information to obtain task information, and sending the task information to the second scheduling module group, wherein the order information is generated by an external user system; Determine a robot to perform the task according to the task information, and generate execution information to be sent to the third scheduling module group; According to the execution information, the corresponding robot is controlled to execute the task.

Citation Information

Patent Citations

  • System and method for managing and scheduling mobile order vehicle

    CN107621824A