Robot scheduling method and device, server and storage medium
Through reasonable allocation and grouping of robots, using floor order and preset judgment conditions, the problem of chaos in multi-robot scheduling is solved, and efficient and accurate shelf handling and replacement is achieved.
Patent Information
- Application Number
- CN202510141609.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-08
- Publication Date
- 2025-05-16
AI Technical Summary
In the prior art, multiple robot scheduling is prone to chaos, resulting in a decrease in work efficiency and making it difficult to quickly and accurately complete shelves handling.
By reasonably allocating the robots and performing corresponding tasks separately, sorting the handling tasks in floor order, grouping the robots to determine the task allocation, determining whether the robot is allowed to enter the target area based on preset judgment conditions, and sending corresponding control instructions to realize the handling and replacement of the shelf.
The efficiency of multi-robot scheduling is improved, scheduling chaos is avoided, efficient and accurate scheduling control is achieved, and the handling and replacement needs of empty shelves and full shelves are met.
Smart Images

Figure CN120013188A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of robot scheduling management, and in particular to a robot scheduling method, device, server and storage medium. Background Art
[0002] Logistics robots are increasingly being used in scenarios where materials need to be transported, and have become widely used in hospitals, factories, and other places. In specific application scenarios, robots need to complete the transportation and exchange of empty shelves at the target location and full shelves in the warehouse, where empty shelves and full shelves correspond to shelves in different shelf states.
[0003] The inventors found that in this process, each robot needs to automatically reach the designated shelf, load and unload the shelf, transfer, and return to the standby point, and all these operations need to be completed within a specific time. This poses a great challenge to the robot's work efficiency, but the scheduling scheme in the related art is prone to confusion in the scenario of scheduling multiple robots, further reducing the robot's work efficiency. Summary of the invention
[0004] The present application provides a robot scheduling method, device, server and storage medium, which solves the problem of confusion in multi-robot scheduling in related technologies. The present solution can improve the efficiency of multi-robot scheduling by reasonably allocating corresponding robots and performing corresponding tasks respectively, thereby meeting the needs of handling and exchanging empty shelves and full shelves.
[0005] In a first aspect, the present application provides a robot scheduling method, which is applied to a server in a scheduling system, wherein the scheduling system includes a server and multiple robots, wherein the server and the multiple robots establish a communication connection, and the robots are used to move shelves according to instructions sent by the server, and the method includes:
[0006] In response to the received transport task, sorting the first target areas specified in the transport task according to the order of floors to determine a transport order;
[0007] Grouping robots that are currently in an idle state to determine a first robot belonging to a first group and a second robot belonging to a second group;
[0008] Sending a first control instruction to the first robot so that the first robot transports the empty shelves in the corresponding first target area to the first temporary shelf area according to the transport order, and sending a second control instruction to the second robot so that the second robot transports the full shelves in the second target area specified in the transport task to the second temporary shelf area;
[0009] When the second robot reaches the second temporary shelf area, judging whether to allow the second robot to enter the first target area based on a preset judgment condition;
[0010] In the case where it is determined that the second robot is allowed to enter the first target area, a third control instruction is sent to the second robot so that the second robot moves the shelf located in the second temporary shelf area to the first target area;
[0011] In response to the operation feedback signal corresponding to the completion of the transport operation reported by the second robot, a fourth control instruction is sent to the second robot so that the second robot transports the shelves located in the first temporary shelf area to the second target area.
[0012] In a second aspect, the present application further provides a robot scheduling device, which is applied to a server in a scheduling system. The scheduling system includes a server and multiple robots. The server and the multiple robots are connected to each other in a communication manner, and the robots are used to move shelves according to control instructions sent by the server. The device includes:
[0013] an area sorting module, configured to sort the first target area specified in the transport task according to the order of floors in response to the received transport task, so as to determine the transport order;
[0014] A device grouping module, configured to group robots currently in an idle state to determine a first robot belonging to a first group and a second robot belonging to a second group;
[0015] The first instruction sending module is configured to send a first control instruction to the first robot so that the first robot transports the empty shelves in the corresponding first target area to the first temporary shelf area according to the transport order, and send a second control instruction to the second robot so that the second robot transports the full shelves in the second target area specified in the transport task to the second temporary shelf area;
[0016] a passage determination module, configured to determine whether to allow the second robot to enter the first target area based on a preset determination condition when the second robot arrives at the second temporary shelf area;
[0017] A second instruction sending module is configured to send a third control instruction to the second robot when it is determined that the second robot is allowed to enter the first target area, so that the second robot moves the shelf located in the second temporary shelf area to the first target area;
[0018] The third instruction sending module is configured to send a fourth control instruction to the second robot in response to an operation feedback signal corresponding to the completion of the transport operation reported by the second robot, so that the second robot transports the shelves located in the first temporary shelf area to the second target area.
[0019] In a third aspect, the present application further provides a server, the server comprising:
[0020] one or more processors;
[0021] a storage device for storing one or more programs,
[0022] When one or more programs are executed by one or more processors, the one or more processors implement the robot scheduling method of the present application.
[0023] In a fourth aspect, the present application also provides a storage medium storing computer executable instructions, which, when executed by a processor, are used to execute the robot scheduling method of the present application.
[0024] The present application realizes the exchange between empty shelves and full shelves in different areas by grouping the robots and scheduling them separately. The work efficiency is high, and the server is not prone to confusion in scheduling multiple robots. It can achieve efficient and accurate scheduling control, which helps to better improve the efficiency of multi-robot scheduling, thereby meeting the transportation and exchange needs of empty shelves and full shelves. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 A schematic diagram of the steps of a robot scheduling method provided in one embodiment of the present application;
[0026] Figure 2 A schematic diagram of the steps of dispatching a robot to move shelves provided in an embodiment of the present application;
[0027] Figure 3 A schematic diagram of the steps for determining whether to allow a robot to enter a target area provided in an embodiment of the present application;
[0028] Figure 4 A schematic diagram of the structure of a robot scheduling device provided in one embodiment of the present application;
[0029] Figure 5 A schematic diagram of the structure of a server provided in one embodiment of the present application. DETAILED DESCRIPTION
[0030] The embodiments of the present application are further described in detail below in conjunction with the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are only used to explain the embodiments of the present application, rather than to limit the embodiments of the present application. It should also be noted that, for ease of description, only the parts related to the embodiments of the present application rather than all structures are shown in the accompanying drawings, and those skilled in the art should be able to think of it after reading the specification of this application that as long as the technical features do not contradict each other, any combination of the technical features can constitute an optional implementation method.
[0031] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable when appropriate, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here, and the objects distinguished by "first", "second", etc. are generally a class, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification and claims represents at least one of the connected objects, and the character " / " generally represents that the objects associated before and after are in an "or" relationship. In the description of the present application, "multiple" means two or more, and "several" means one or more.
[0032] The use of logistics robots to transport goods is becoming more and more popular in hospitals, factories and other places. For example, in some large hospitals, multiple logistics robots are needed to move and exchange empty shelves (i.e. shelves that are emptied of goods) and full shelves (i.e. shelves that are full of goods) between multiple rooms and warehouses. However, in this process, each robot needs to automatically reach the designated shelf, load and unload the shelf, transfer, and return to the standby point, and it needs to be completed within a specific time. Therefore, the scheduling of logistics robots is particularly important. The unified scheduling scheme for multiple robots in the related technology is prone to confusion, which reduces the robot's work efficiency and makes it difficult to quickly and accurately complete the handling of shelves.
[0033] In this regard, the present application provides a robot scheduling method, which can be used to uniformly schedule multiple robots to achieve the transportation of shelves in rooms, warehouses and other areas. The robot scheduling method of the present application can be applied to a server in a scheduling system, which includes a server and multiple robots, and the server and each robot have established a communication connection to achieve the transmission of information such as data and control instructions. It is conceivable that the robot can be an AGV (Automated Guided Vehicle) intelligent handling robot, which is used to transport shelves according to instructions sent by the server.
[0034] Figure 1 A schematic diagram of the steps of a robot scheduling method provided in an embodiment of the present application is shown in the figure. As shown in the figure, a user can publish a handling task through communication with a user terminal so that the server can respond to it and execute the handling task. The specific steps are as follows:
[0035] Step S110: In response to the received transporting tasks, the first target areas specified in the transporting tasks are sorted according to the order of floors to determine the transporting order.
[0036] It is conceivable that the transport task can be published by the user on the user terminal (such as a mobile phone, computer, tablet, etc.), and then the transport task is sent to the server. It is understandable that the published transport task records the information such as the shelf to be transported, the location of the shelf, and the destination corresponding to the shelf, so that the server can configure the corresponding operation or instruction according to the transport task.
[0037] On the server side, for the received handling task, the server can determine the destination corresponding to the shelf after parsing the handling task, such as the first target area and the second target area. For example, the first target area is the room where the shelf is to be placed, and the second target area is the warehouse where the shelf is stored. Then the first target area is sorted. It can be imagined that for the sorting of the first target area, the server sorts it according to the floor order. For example, the first target area specified in the current handling task includes area A and area B, wherein the floor where area A is located is lower than the floor where area B is located. Accordingly, in the handling order, the order of area A should be prioritized over area B. That is, the server can sort the first target area in order from low floors to high floors to determine the handling order. It can be imagined that there are empty shelves in the first target area (such as a room, etc.). For this, before the full shelves are transported to the first target area, the empty shelves in the first target area need to be emptied, that is, the empty shelves are moved away from the first target area. For example, the server can control the robot to transport the empty shelves in this order according to the handling order.
[0038] Step S120: Group the robots currently in the idle state to determine a first robot belonging to a first group and a second robot belonging to a second group.
[0039] The server is connected to the robot for communication, and the server can record the status of the connected robot, such as indicating whether the robot is in an idle state or a working state through a flag. In this regard, the server groups the robots in the idle state, such as the groups include a first group and a second group, thereby dividing the robots to determine a first robot belonging to the first group and a second robot belonging to the second group.
[0040] As for the division of robots, all robots in the idle state may be grouped according to a preset number ratio. For example, if the preset number ratio is 1:4, one fifth of the robots in the idle state are divided into first robots, and the remaining robots are divided into second robots. It should be noted that the set number ratio may also be set according to actual application requirements.
[0041] Step S130, sending a first control instruction to the first robot so that the first robot transports the empty shelves in the corresponding first target area to the first temporary shelf area according to the transport order, and sending a second control instruction to the second robot so that the second robot transports the full shelves in the second target area specified in the transport task to the second temporary shelf area.
[0042] After dividing the first robot into the second robot, the server dispatches the first robot to perform the corresponding emptying task, i.e., sends a first control instruction to the first robot, which is used to control the first robot to carry the empty shelves (i.e., empty shelves) in the first target area to the first temporary shelf area according to the above-mentioned carrying sequence, thereby making room for the shelves subsequently carried into the first target area. It can be imagined that the first temporary shelf area is an area outside the first target area, which is used to temporarily store shelves.
[0043] In addition, the server also dispatches the second robot, that is, sends a second control instruction to the second robot, and the second control instruction is used to control the second robot to move the full shelves (i.e., full shelves) in the second target area to the second temporary shelf area.
[0044] It can be imagined that the server can schedule the first robot and the second robot simultaneously, that is, the work of the first robot and the second robot does not interfere with each other. The server assigns different tasks to enable the first robot and the second robot to complete the handling of the shelves accordingly, which helps to quickly complete the exchange of shelves in the first target area and the second target area.
[0045] In some embodiments, the server can also redivide the robot groups. After the robot (the first robot or the second robot) completes the corresponding operation, it will feedback the corresponding signal to the server so that the server can learn the current status of the robot. In this regard, when the server obtains the operation feedback signal corresponding to the completion of the handling operation reported by the first robot, the server can determine that the first robot has completed the task of emptying the empty shelves in the first target area. In response to the operation feedback signal, the server merges the first robot into the second group to transform the first robot into a second robot belonging to the second group. Exemplarily, the server distinguishes the first robot and the second robot by corresponding identifiers, such as distinguishing the first robot by the first identifier and distinguishing the second robot by the second identifier. After the first robot completes the emptying task issued by the server, the server correspondingly modifies the first identifier of the first robot to the second identifier, so that the first robot is divided into the second group. In this regard, the server flexibly allocates robots to achieve flexible control scheduling, which helps to improve the work efficiency of the robot.
[0046] Step S140: When the second robot reaches the second temporary shelf area, based on a preset determination condition, determine whether to allow the second robot to enter the first target area.
[0047] It is conceivable that the first robot and the second robot can feed back information about their own positions to the server in real time during the working process, so that the server can determine whether the robots have reached the corresponding positions. When the second robot reaches the second temporary shelf area, the second robot reports the corresponding position information, and the server further determines whether to allow the second robot to enter the first target area according to the preset judgment conditions.
[0048] Step S150: When it is determined that the second robot is allowed to enter the first target area, a third control instruction is sent to the second robot so that the second robot moves the shelves located in the second temporary shelf area to the first target area.
[0049] If it is determined that the second robot is allowed to enter the first target area, the server sends a third control instruction to the second robot, and the third control instruction is used to control the second robot to move the shelves located in the second temporary shelf area to the first target area. It is conceivable that in one embodiment, the logistics robot can be loaded with shelves and stay in the second temporary shelf area to wait for the server to send the third control instruction before entering the first target area.
[0050] Step S160, in response to the operation feedback signal corresponding to the completion of the transport operation reported by the second robot, sending a fourth control instruction to the second robot, so that the second robot transports the shelves located in the first temporary shelf area to the second target area.
[0051] After the second robot completes the task of transporting the shelf to the first target area, the second robot reports an operation feedback signal corresponding to the completion of the transport operation to the server. In response, after receiving the operation feedback signal, the server sends a fourth control instruction to the second robot, and the fourth control instruction is used to control the second robot to transport the shelf located in the first temporary shelf area (i.e., the above-mentioned empty shelf) to the inside of the second target area.
[0052] From the above scheme, it can be seen that the server realizes the exchange between empty shelves and full shelves in different areas by grouping the robots and scheduling them separately. The work efficiency is high. The server's scheduling of multiple robots is not prone to confusion. It can achieve efficient and accurate scheduling control, which helps to better improve the efficiency of multi-robot scheduling, thereby meeting the transportation and exchange needs of empty shelves and full shelves.
[0053] The shelves in the first target area are placed in the order corresponding to the shelf numbers. For example, there are four shelves in the first target area, and the corresponding shelf numbers are A01, A02, A03 and A04. Correspondingly, in the first target area, the four shelves are placed in the order of A01, A02, A03, and A04. In one embodiment, the first control instruction issued by the server to the first robot includes a first moving sub-instruction and a first handling sub-instruction. In this regard, in the process of sending the first control instruction to the first robot, the server sends the first moving sub-instruction to the first robot in the handling order. It can be imagined that the first moving sub-instruction is used to control the first robot to enter the first waiting area. The first waiting area is an area outside the first target area, which serves as a waiting area before the robot enters the first target area, that is, before entering the first target area, the robot needs to wait for the corresponding instruction in this area before entering the first target area.
[0054] It is understandable that, according to the transport sequence, the server can determine the number and order of the first target areas of the shelves to be transported, and in response, the server sends instructions to the first robots in the order to assign the corresponding robots to enter the first waiting areas of the corresponding first target areas. Exemplarily, there are currently 4 assigned first robots, that is, the number of first robots matches the number of shelves in the first target area, and in response, all of the 4 first robots enter the first waiting area of the first target area.
[0055] At the same time, after sending the first moving sub-instruction, the server will listen to the position feedback information corresponding to the arrival at the first waiting area reported by the first robot, that is, the server monitors whether the first robot has reached the specified position (that is, the first waiting area mentioned above) according to the position feedback information. It can be imagined that when the first robot arrives at the first waiting area, it will send the corresponding position feedback information to the server to inform the server. After receiving the position feedback information, the server sends the first transport sub-instruction to the first robot, that is, sends the first transport sub-instruction to the first robot located in the first waiting area. Among them, the first transport sub-instruction is used to control the robot to transport the empty shelves in the order corresponding to the shelf numbers, and place the shelves in the first temporary shelf area in the first order.
[0056] Referring to the above example, there are 4 empty shelves in the first target area, and the four empty shelves are placed in the order of A01, A02, A03, and A04. The server issues instructions to the first robot to take the empty shelves in this order. However, in the first temporary shelf area, the empty shelves are placed in the first order, which is opposite to the order corresponding to the shelf numbers, that is, the shelves in the first temporary shelf area are placed in the order of A04, A03, A02, and A01.
[0057] Therefore, this solution places the shelves in the first temporary shelf area by configuring different orders, so that it is more convenient to schedule the robots to move the shelves later, which helps to improve the work efficiency of the robots and makes the scheduling of multiple robots more reasonable and efficient.
[0058] In the second target area, corresponding shelf sequences are respectively set according to the first target area, that is, the same number of shelf sequences are set for the number of first target areas, each shelf sequence corresponds to a first target area, and each shelf sequence corresponds to a plurality of full shelves to be transferred (i.e. full shelves). In addition, the server sets corresponding status identifiers for each shelf in the second target area. When a shelf is moved out of the second target area, the server regards the shelf as being moved out, and accordingly, the shelf after the shelf in the shelf sequence can be regarded as being transportable. It can be imagined that the server indicates the current status of the shelf by modifying the corresponding status identifier.
[0059] Figure 2 A schematic diagram of the steps of scheduling a robot to transport a shelf provided in an embodiment of the present application. In one embodiment, the second control instruction includes a second moving sub-instruction and a second transporting sub-instruction. The server sends a second control instruction to the second robot so that the second robot enters the second target area and transports the corresponding full shelf to the second temporary shelf area. Accordingly, the specific process is as follows:
[0060] Step S210: After the second movement sub-instruction is sent, monitor the second robot for reporting position feedback information corresponding to reaching the second waiting area.
[0061] Step S220: When the position feedback information is received, the robot sequence is determined according to the arrival order of the second robot.
[0062] Step S230: poll to inquire whether the target shelf to be transferred is in a transportable state.
[0063] Step S240: When it is determined that the target shelf to be transferred is in a transportable state, it is determined that the second robot is allowed to enter the second target area, and then a second transport sub-instruction is sent to the corresponding second robot according to the robot sequence, and the target shelf to be transferred is configured to be in a moved-out state.
[0064] It is understandable that, in the process of assigning tasks to the second robot by the server, the server sends a second movement sub-instruction to the second robot, and the second movement sub-instruction is used to control the second robot to enter the second waiting area corresponding to the second target area, and after the second robot reaches the second waiting area, it will report position feedback information to the server to indicate that it has currently arrived at the second waiting area. Accordingly, after sending the second movement sub-instruction, the server also monitors the corresponding position feedback information fed back by the second robot, so that the server can determine that the second robot has arrived at the second waiting area.
[0065] Furthermore, the server determines the robot sequence according to the arrival order of the second robot. It is conceivable that the arrival order of the second robot can be determined according to the time when it reports the position feedback information. For this reason, the second robot that arrives at the second waiting area first is ranked earlier than the second robot that arrives later in the robot sequence. And the server inquires in a polling manner whether the target shelf to be transferred is in a transportable state. If it is determined that the target shelf to be transferred is in a transportable state, the server determines to allow the second robot to enter the second target area, and according to the above-mentioned robot sequence, sends a second transport sub-instruction to the corresponding second robot, so that the second robot transports the target shelf to be transferred. At the same time, the server configures the target shelf to be transferred from a transportable state to a moved-out state to facilitate updating the status information of other shelves.
[0066] Therefore, this solution queries the shelf status through polling and moves the shelves according to the corresponding robot sequence, which can reasonably allocate the corresponding robots and perform the corresponding tasks, thereby meeting the needs of moving and exchanging empty shelves and full shelves.
[0067] In some embodiments, the server is further provided with a corresponding first dispatch flag, which is used to indicate whether a robot is working in the first target area. It is conceivable that the server can determine whether a robot has entered the first target area based on the position feedback information reported by the robot, thereby updating the first dispatch flag. Therefore, when the second robot enters the second temporary shelf area, the server needs to determine whether the second robot is allowed to enter the first target area.
[0068] Figure 3 A schematic diagram of the steps for determining whether to allow a robot to enter a target area is provided for an embodiment of the present application. As shown in the figure, the server needs to determine whether to allow a second robot to enter a first target area according to corresponding determination conditions. The specific steps are as follows:
[0069] Step S310: query the first dispatch mark corresponding to the first target area to determine whether there is any robot working in the first target area.
[0070] Step S320: In the case that no robot is working, determine whether the number corresponding to the target shelf currently checked by the second robot is the last number or whether other shelves numbered after the target shelf have been placed in the first target area.
[0071] Step S330: When the number corresponding to the target shelf is the last number or other shelves numbered before the target shelf have been placed in the first target area, determine to allow the second robot to enter the first target area.
[0072] It is understandable that the server can determine whether a robot (first robot or second robot) is currently working in the first target area by querying the first dispatch flag. Exemplarily, the server can set a corresponding value for the first dispatch flag to indicate whether a robot is currently working in the first target area, such as 0 to indicate that no robot is currently working in the first target area, and 1 to indicate that a robot is currently working in the first target area. In this regard, the first dispatch flag changes between the two values of 0 and 1 to update the flag to indicate whether a robot is currently working in the first target area.
[0073] In the case that there is no robot working in the first target area, the server also needs to determine whether the number of the target shelf picked up by the current second robot from the second target area is the last number, or determine whether other shelves after the target shelf number have been placed in the first target area. It is understandable that in the process of placing full shelves in the first target area, the server places them in the reverse order of the shelf sequence. In this regard, when the number corresponding to the target shelf is the last number or other shelves numbered before the target shelf have been placed in the first target area, the server allows the current second robot to enter the first target area.
[0074] Exemplarily, the numbers corresponding to the checked shelves are A01, A02, A03, and A04 in order; in this regard, the shelf numbered A04 is placed first in the first target area, and only after the shelf numbered A04 has been placed in the first target area, the server allows the second robot that has checked the shelf numbered A03 to enter the first target area.
[0075] Therefore, this solution places the shelves in the first target area in the reverse order, so that the scheduling plan can adapt to the narrow area and maintain the high efficiency of the multi-robot scheduling plan, ensuring the work efficiency of the robots to meet the transportation and exchange needs of empty shelves and full shelves.
[0076] In one embodiment, after determining that the second robot is allowed to enter the first target area, the server needs to move the full shelves placed in the second temporary shelf area to the first target area. To this end, the server configures the target shelves in the third control instruction, such as configuring based on the first sequence, where the first sequence is the reverse sequence of the sequence corresponding to the shelf numbers. Exemplarily, the numbers corresponding to the shelves are A01, A02, A03, and A04 in sequence; and the second sequence is the sequence of the corresponding numbers A04, A03, A02, and A01.
[0077] Then, in the third control instruction, the server first uses the shelf numbered A04 as the target shelf, that is, controls the second robot to place the shelf in the first target area in the order of A04-A01. In addition, after the third control instruction is issued, the server sets the first dispatch flag to the signal state corresponding to the existence of a robot working in the first target area. As described in the above embodiment, the corresponding signal state can be set to 1 to indicate that there is currently a robot working in the first target area. At the same time, the server also waits for the second robot to report an operation feedback signal to determine whether the second robot has completed the shelf placement operation.
[0078] In one embodiment, the server is further provided with a second dispatch flag corresponding to the second target area, and the second dispatch flag is used to indicate whether there is a robot working in the second target area. It is understandable that, similarly, the second dispatch flag can also indicate whether there is a robot working in the second target area with a corresponding value.
[0079] In this regard, after receiving the position feedback information corresponding to the arrival at the second waiting area reported by the second robot, the server responds to the information and queries the second scheduling flag to determine whether there is any robot working in the second target area. In the case that no robot is working, the server determines whether the number corresponding to the target shelf carried by the current second robot is the last number or whether all other shelves numbered after the target shelf have been placed in the second target area. It can be understood that in the process of placing the empty shelves in the second target area, the server places them in the opposite order of the shelf sequence. In this regard, when the number corresponding to the target shelf is the last number or all other shelves numbered before the target shelf have been placed in the first target area, the server allows the current second robot to enter the first target area.
[0080] Exemplarily, the numbers corresponding to the checked shelves are A01, A02, A03, and A04 in order; in this regard, the shelf numbered A04 is placed first in the second target area, and only after the shelf numbered A04 has been placed in the second target area, the server allows the second robot that has checked the shelf numbered A03 to enter the second target area.
[0081] Therefore, this solution places the shelves in the second target area in the reverse order, so that the scheduling plan can adapt to the narrow area and maintain the high efficiency of the multi-robot scheduling plan, ensuring the work efficiency of the robots to meet the transportation and exchange needs of empty shelves and full shelves.
[0082] Figure 4 This is a schematic diagram of the structure of a robot scheduling device provided in an embodiment of the present application. The device is used to execute the robot scheduling method provided in the above embodiment, and has functional modules and beneficial effects corresponding to the execution method. The robot scheduling device is applied to a server in a scheduling system. The scheduling system includes a server and multiple robots. The server and multiple robots establish communication connections, and the robots are used to move shelves according to control instructions sent by the server. As shown in the figure, the device includes an area sorting module 401, an equipment grouping module 402, a first instruction sending module 403, a pass determination module 404, a second instruction sending module 405, and a third instruction sending module 406.
[0083] The area sorting module 401 is configured to sort the first target areas specified in the transport task according to the floor order in response to the received transport task to determine the transport order;
[0084] The device grouping module 402 is configured to group the robots currently in an idle state to determine a first robot belonging to a first group and a second robot belonging to a second group;
[0085] The first instruction sending module 403 is configured to send a first control instruction to the first robot so that the first robot transports the empty shelves in the corresponding first target area to the first temporary shelf area according to the transport order, and send a second control instruction to the second robot so that the second robot transports the full shelves in the second target area specified in the transport task to the second temporary shelf area;
[0086] The passage determination module 404 is configured to determine whether to allow the second robot to enter the first target area based on a preset determination condition when the second robot arrives at the second temporary shelf area;
[0087] The second instruction sending module 405 is configured to send a third control instruction to the second robot when it is determined that the second robot is allowed to enter the first target area, so that the second robot moves the shelf located in the second temporary shelf area to the first target area;
[0088] The third instruction sending module 406 is configured to send a fourth control instruction to the second robot in response to an operation feedback signal corresponding to the completion of the transport operation reported by the second robot, so that the second robot transports the shelves located in the first temporary shelf area to the second target area.
[0089] On the basis of the above embodiment, the first control instruction includes a first moving sub-instruction and a first transporting sub-instruction, and the shelves in the first target area are placed in the order corresponding to the shelf numbers. The first instruction sending module 403 is specifically configured as follows:
[0090] According to the handling sequence, a first moving sub-instruction is sent to the first robot to enable the first robot to enter the first waiting area;
[0091] After the first movement sub-instruction is sent, monitoring the first robot reporting position feedback information corresponding to reaching the first waiting area;
[0092] When the position feedback information is received, a first transport sub-instruction is sent to the first robot, so that the first robot transports the empty shelves in sequence according to the order corresponding to the shelf numbers, and places the shelves in the first temporary shelf area in sequence according to the first order, and the first order is opposite to the order corresponding to the shelf numbers.
[0093] On the basis of the above embodiment, the second control instruction includes a second moving sub-instruction and a second transporting sub-instruction, and corresponding shelf sequences are respectively arranged in the second target area according to the first target area, and a plurality of shelves to be transferred in a full state are placed in the corresponding shelf sequences, and when the shelves in the previous sequence of the shelf to be transferred are all in the moved-out state, the shelf to be transferred is in a transportable state;
[0094] The first instruction sending module 403 is specifically configured as follows:
[0095] After the second movement sub-instruction is sent, the second robot is monitored to report position feedback information corresponding to reaching the second waiting area;
[0096] Upon receiving the position feedback information, determining the robot sequence according to the arrival order of the second robot;
[0097] Poll to check whether the target shelf to be transferred is in a transportable state;
[0098] When it is determined that the target shelf to be transferred is in a transportable state and it is determined that the second robot is allowed to enter the second target area, a second transport sub-instruction is sent to the corresponding second robot according to the robot sequence, and the target shelf to be transferred is configured to be in a moved-out state.
[0099] Based on the above embodiment, the traffic determination module 404 is specifically configured as follows:
[0100] Querying a first dispatching flag corresponding to the first target area to determine whether any robot is working in the first target area, the first dispatching flag being used to indicate whether any robot is working in the first target area;
[0101] In the case where no robot is working, it is determined whether the number corresponding to the target shelf currently picked up by the second robot is the last number or whether other shelves numbered after the target shelf have been placed in the first target area;
[0102] When the number corresponding to the target rack is the last number or other racks numbered after the target rack have been placed in the first target area, it is determined that the second robot is allowed to enter the first target area.
[0103] Based on the above embodiment, the second instruction sending module 405 is specifically configured as follows:
[0104] Based on the first sequence, configuring the target shelf in the third control instruction so that the second robot places the shelf according to the first sequence, and the first sequence is opposite to the sequence corresponding to the shelf number;
[0105] In response to the sending of the third control instruction, the first dispatch flag is set to a signal state corresponding to the presence of a working robot in the first target area, and the second robot is waited for reporting an operation feedback signal.
[0106] Based on the above embodiment, the third instruction sending module 406 is specifically configured as follows:
[0107] In response to the position feedback information corresponding to the arrival at the second waiting area reported by the second robot, query the second dispatch flag corresponding to the second target area to determine whether there is any robot working in the second target area, the second dispatch flag is used to indicate whether there is a robot working in the second target area;
[0108] In the case where no robot is working, it is determined whether the number corresponding to the target shelf currently being transported by the second robot is the last number or whether other shelves numbered after the target shelf have been placed in the second target area;
[0109] When the number corresponding to the target rack is the last number or other racks numbered after the target rack have been placed in the second target area, it is determined that the second robot is allowed to enter the second target area.
[0110] On the basis of the above embodiment, the device further includes a regrouping module, and the regrouping module is configured as follows:
[0111] In response to an operation feedback signal corresponding to the completion of the transport operation reported by the first robot, the first robot is merged into the second group to transform the first robot into a second robot belonging to the second group.
[0112] It is worth noting that in the embodiment of the above-mentioned device, the modules included are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be achieved; in addition, the specific names of the modules are only for the convenience of distinguishing each other, and are not used to limit the protection scope of the embodiments of the present application.
[0113] Figure 5 This is a schematic diagram of the structure of a server provided in an embodiment of the present application. The device is used to execute the robot scheduling method provided in the above embodiment, and has functional modules and beneficial effects corresponding to the execution method. As shown in the figure, the server includes a processor 501, a memory 502, an input device 503 and an output device 504. The number of processors 501 can be one or more, and one processor 501 is taken as an example in the figure; the processor 501, the memory 502, the input device 503 and the output device 504 can be connected by a bus or other means, and the figure takes the connection through a bus as an example. The memory 502, as a computer-readable storage medium, can be used to store software programs, computer executable programs and modules, such as program instructions / modules corresponding to the robot scheduling method in the embodiment of the present application. The processor 501 executes various corresponding functional applications and data processing by running the software programs, instructions and modules stored in the memory 502, that is, realizing the above-mentioned robot scheduling method.
[0114] The memory 502 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system and at least one application required for a function; the data storage area may store data recorded or created during use, etc. In addition, the memory 502 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some embodiments, the memory 502 may further include a memory remotely arranged relative to the processor 501, and these remotely arranged memories may be connected to the device 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.
[0115] The input device 503 can be used to input corresponding digital or character information to the processor 501, and to generate key signal input related to the user settings and function control of the device; the output device 504 can be used to send or display key signal output related to the user settings and function control of the device.
[0116] An embodiment of the present application also provides a storage medium storing computer executable instructions, which, when executed by a processor, are used to perform relevant operations in the robot scheduling method provided in any embodiment of the present application.
[0117] Computer-readable storage media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.
[0118] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0119] Note that the above are only preferred embodiments of the present application and the technical principles used. Those skilled in the art will understand that the present application is not limited to the specific embodiments described herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the scope of protection of the present application. Therefore, although the present application is described in more detail through the above embodiments, the present application is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present application, and the scope of the present application is determined by the scope of the appended claims.
Claims
1. A robot scheduling method, characterized in that: A server applied to a dispatching system, the dispatching system comprising the server and a plurality of robots, the server establishing a communication connection with the plurality of robots, the robots being used to move shelves according to instructions sent by the server, the method comprising: In response to the received transport tasks, sorting the first target areas specified in the transport tasks according to the order of floors to determine a transport order; Grouping robots that are currently in an idle state to determine a first robot belonging to a first group and a second robot belonging to a second group; Sending a first control instruction to the first robot so that the first robot transports the empty shelves in the corresponding first target area to the first temporary shelf area according to the transport order, and sending a second control instruction to the second robot so that the second robot transports the full shelves in the second target area specified in the transport task to the second temporary shelf area; When the second robot reaches the second temporary shelf area, judging whether to allow the second robot to enter the first target area based on a preset judgment condition; In the case where it is determined that the second robot is allowed to enter the first target area, a third control instruction is sent to the second robot so that the second robot moves the shelf located in the second temporary shelf area to the first target area; In response to the operation feedback signal corresponding to the completion of the transport operation reported by the second robot, a fourth control instruction is sent to the second robot so that the second robot transports the shelves located in the first temporary shelf area to the second target area.
2. The robot scheduling method according to claim 1, characterized in that: The first control instruction includes a first moving sub-instruction and a first transporting sub-instruction, and the shelves in the first target area are placed in the order corresponding to the shelf numbers; The sending of the first control instruction to the first robot so that the first robot transports the empty shelves in the corresponding first target area to the first temporary shelf area according to the transport sequence includes: sending the first moving sub-instruction to the first robot according to the transporting sequence, so that the first robot enters a first waiting area; After the first movement sub-instruction is sent, monitoring the first robot reporting position feedback information corresponding to reaching the first waiting area; When the position feedback information is received, the first transport sub-instruction is sent to the first robot, so that the first robot transports the empty shelves in sequence according to the order corresponding to the shelf numbers, and places the shelves in the first temporary shelf area in sequence according to the first order, and the first order is opposite to the order corresponding to the shelf numbers.
3. The robot scheduling method according to claim 1, characterized in that: The second control instruction includes a second moving sub-instruction and a second transporting sub-instruction, wherein corresponding shelf sequences are respectively arranged in the second target area according to the first target area, and a plurality of full shelves to be transferred are placed corresponding to the shelf sequences, and when the shelves in the previous sequence of the shelf to be transferred are all in the moved-out state, the shelf to be transferred is in the transportable state; The sending of the second control instruction to the second robot so that the second robot transports the full shelves in the second target area specified in the transport task to the second temporary shelf area includes: After the second movement sub-instruction is sent, monitoring the second robot reporting position feedback information corresponding to reaching the second waiting area; Upon receiving the position feedback information, determining a robot sequence according to an arrival order of the second robot; Poll to check whether the target shelf to be transferred is in a transportable state; When it is determined that the target shelf to be transferred is in a transportable state, it is determined that the second robot is allowed to enter the second target area, then the second transport sub-instruction is sent to the corresponding second robot according to the robot sequence, and the target shelf to be transferred is configured to be in a moved-out state.
4. The robot scheduling method according to claim 1, characterized in that: When the second robot arrives at the second temporary shelf area, judging whether to allow the second robot to enter the first target area based on a preset judgment condition includes: querying a first dispatch flag corresponding to the first target area to determine whether any robot is working in the first target area, wherein the first dispatch flag is used to indicate whether a robot is working in the first target area; In the case where no robot is working, determining whether the number corresponding to the target shelf currently picked up by the second robot is the last number or whether other shelves numbered after the target shelf have been placed in the first target area; When the number corresponding to the target shelf is the last number or other shelves numbered after the target shelf have been placed in the first target area, it is determined to allow the second robot to enter the first target area.
5. The robot scheduling method according to claim 4, characterized in that: In the case where it is determined that the second robot is allowed to enter the first target area, sending a third control instruction to the second robot so that the second robot moves the shelf located in the second temporary shelf area to the first target area, comprising: Based on the first sequence, configuring the target shelf in the third control instruction so that the second robot places the shelf in the first sequence, where the first sequence is opposite to the sequence corresponding to the shelf numbers; In response to the sending of the third control instruction, the first dispatch flag is set to a signal state corresponding to the presence of a working robot in the first target area, and the second robot is waited for reporting the operation feedback signal.
6. The robot scheduling method according to claim 1, characterized in that: The step of sending a fourth control instruction to the second robot in response to an operation feedback signal corresponding to the completion of the transport operation reported by the second robot, so that the second robot transports the shelf located in the first temporary shelf area to the second target area, comprises: In response to the position feedback information corresponding to the arrival at the second waiting area reported by the second robot, querying the second dispatch flag corresponding to the second target area to determine whether there is any robot working in the second target area, the second dispatch flag being used to indicate whether there is a robot working in the second target area; In the case where no robot is working, determining whether the number corresponding to the target shelf currently being transported by the second robot is the last number or whether other shelves numbered after the target shelf have been placed in the second target area; When the number corresponding to the target shelf is the last number or other shelves numbered after the target shelf have been placed in the second target area, it is determined to allow the second robot to enter the second target area.
7. The robot scheduling method according to any one of claims 1 to 6, characterized in that: The method further comprises: In response to an operation feedback signal corresponding to a completed transport operation reported by the first robot, the first robot is merged into the second group to transform the first robot into a second robot belonging to the second group.
8. A robot scheduling device, characterized in that: A server used in a dispatching system, the dispatching system comprising the server and a plurality of robots, the server establishing a communication connection with the plurality of robots, and the robots being used to move shelves according to control instructions sent by the server, the device comprising: an area sorting module, configured to sort the first target area specified in the transport task according to the floor order in response to the received transport task, so as to determine the transport order; A device grouping module, configured to group robots currently in an idle state to determine a first robot belonging to a first group and a second robot belonging to a second group; A first instruction sending module is configured to send a first control instruction to the first robot so that the first robot transports the empty shelves in the corresponding first target area to the first temporary shelf area according to the transport order, and send a second control instruction to the second robot so that the second robot transports the full shelves in the second target area specified in the transport task to the second temporary shelf area; a passage determination module, configured to determine whether to allow the second robot to enter the first target area based on a preset determination condition when the second robot arrives at the second temporary shelf area; A second instruction sending module is configured to send a third control instruction to the second robot when it is determined that the second robot is allowed to enter the first target area, so that the second robot moves the shelf located in the second temporary shelf area to the first target area; The third instruction sending module is configured to send a fourth control instruction to the second robot in response to the operation feedback signal corresponding to the completion of the handling operation reported by the second robot, so that the second robot transports the shelves located in the first temporary shelf area to the second target area.
9. A server, characterized in that: The server comprises: one or more processors; A storage device for storing one or more programs, when the one or more programs are executed by the one or more processors, the one or more processors implement the robot scheduling method as described in any one of claims 1-7.
10. A storage medium storing computer executable instructions, characterized in that: When the computer executable instructions are executed by a processor, they are used to perform the robot scheduling method according to any one of claims 1 to 7.