Bin picking and placing method and related apparatus
By optimizing the robot's inbound and outbound handling tasks in the intelligent warehousing system through the server, the problems of improving the efficiency of bin handling and reducing energy consumption have been solved, achieving more efficient bin handling and reduced energy consumption.
Patent Information
- Application Number
- PCT/CN2025/093603
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-27
- Filing Date
- 2025-05-08
- Publication Date
- 2025-12-04
AI Technical Summary
How to further improve the efficiency of robots in performing bin handling tasks in intelligent warehousing systems and reduce equipment energy consumption.
The server determines the inbound handling task based on the robot's outbound handling task, instructs the robot to move the toy box to an empty storage location on the warehouse rack, and prioritizes the storage location with the lowest height for inbound handling, reducing the robot's movement between different columns, improving handling efficiency and reducing energy consumption.
By optimizing the robot's transport path, the efficiency of the bin transport task was improved, equipment energy consumption was reduced, and the system's flexibility and efficiency were enhanced.
Smart Images

Figure CN2025093603_04122025_PF_FP_ABST
Abstract
Description
Material bin handling method and related equipment
[0001] This application claims priority to Chinese Patent Application No. 202410669169.X, filed on May 27, 2024, entitled “Method for Taking and Placing a Material Box and Related Apparatus”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of intelligent warehousing technology, specifically to a method for picking up and placing a material bin and related devices. Background Technology
[0003] Intelligent warehousing systems can distribute handling tasks to robots via servers, thereby controlling the robots to pick up or place boxes at designated locations in the warehouse to complete the outbound or inbound handling of boxes, improving the efficiency of box handling and thus gaining widespread application. Currently, with the continuous development of intelligent warehousing technology and the increasing demands of users for warehousing, how to further improve the efficiency of robots performing box handling tasks in warehousing systems and reduce equipment energy consumption has gradually become a key focus. Summary of the Invention
[0004] This application provides a method and related apparatus for picking up and placing a bin, aiming to improve the efficiency of a robot in performing bin handling tasks and reduce equipment energy consumption.
[0005] In a first aspect, embodiments of this application provide a method for picking up and placing material bins, applied to a server in a warehousing system. The warehousing system includes the server, storage racks, and at least one robot. A track is provided on the storage racks. The at least one robot moves along the track to pick up and place material bins according to a task sent by the server. The at least one robot includes a first robot. The method includes:
[0006] Determine the first outbound handling task to be executed by the first robot, and the first outbound handling task corresponds to the first outbound bin stored in the first storage location;
[0007] Based on the first storage location, a second storage location corresponding to the first inbound handling task is determined. The first inbound handling task is a handling task that the first robot needs to perform before performing the first outbound handling task. The second storage location and the first storage location are both located in the first column of the storage rack. The first column includes at least one free storage location, which is a storage location that does not store a material box.
[0008] Send the first inbound transport task to the first robot. The first inbound transport task is used to instruct the first robot to transport the first bin to be put into storage to the second storage location for storage.
[0009] In one possible implementation, the second storage bit is the free storage bit with the lowest height among the at least one free storage bits.
[0010] In one possible implementation, determining the second storage location corresponding to the first inbound handling task based on the first storage location includes: determining the first column where the first storage location is located; determining the lowest free storage location in the first column in ascending order; and determining the lowest free storage location as the second storage location.
[0011] In one possible implementation, after sending the first inbound transport task to the first robot, the method further includes: sending the first outbound transport task to the first robot, wherein the first outbound transport task is used to instruct the first robot to retrieve the first outbound bin from the first storage location.
[0012] In one possible implementation, after sending the first inbound transport task to the first robot, the method further includes: sending a second outbound transport task to the first robot, wherein the second outbound transport task is a transport task assigned by the server to the first robot, which is different from the first outbound transport task, when the first robot performs the first inbound transport task, and the second outbound transport task is used to instruct the first robot to place the first inbound bin in the second storage location and then retrieve the second outbound bin corresponding to the second outbound transport task from the third storage location.
[0013] In one possible implementation, after sending the first inbound transport task to the first robot, the method further includes: sending a second outbound transport task to the first robot, wherein the second outbound transport task is a transport task assigned to the first robot by the server when the first robot performs the first inbound transport task, which is different from the first outbound transport task, and the first robot does not perform the first outbound transport task after performing the second outbound transport task. The second outbound transport task is used to instruct the first robot to place the first inbound material box in the second storage position and then retrieve the second outbound material box corresponding to the second outbound transport task from the third storage position.
[0014] In one possible implementation, the at least one robot further includes a second robot. After sending the second outbound handling task to the first robot, the method further includes: sending a second inbound handling task to the second robot. The second inbound handling task corresponds to a fourth storage location, which is located in the second column of the storage rack. The second column includes at least two free storage locations. The second inbound handling task is used to instruct the second robot to move the second outbound bin that has completed the outbound handling task to the fourth storage location for inbound operation. The fourth storage location is one of the at least two free storage locations.
[0015] In one possible implementation, determining the first outbound transport task to be performed by the first robot includes: acquiring the first outbound transport task; determining the estimated idle time of at least one candidate robot, and / or the second estimated arrival time of the third robot when it performs the received transport task to the target workstation, the target workstation being the workstation corresponding to the first outbound transport task; and determining the first robot corresponding to the first outbound transport task from the at least one candidate robot based on the estimated idle time and / or the second estimated arrival time.
[0016] In one possible implementation, the at least one candidate robot includes: a robot that is currently in an idle state and / or will be in an idle state after a first preset time.
[0017] In one possible implementation, determining the first robot corresponding to the first outbound handling task from the at least one candidate robot includes: determining a first estimated arrival time for each candidate robot to reach the target workstation when performing the first outbound handling task, based on the estimated idle time of each candidate robot in the at least one candidate robot, to obtain a set of first estimated arrival times corresponding to the first outbound handling task; and determining the first robot corresponding to the first outbound handling task from the at least one candidate robot based on the set of first estimated arrival times corresponding to the first outbound handling task and a second estimated arrival time.
[0018] In one possible implementation, determining the first robot corresponding to the first outbound handling task from the at least one candidate robots based on the set of first estimated arrival times and the second estimated arrival time corresponding to the first outbound handling task includes: determining a reference robot corresponding to the first outbound handling task from the at least one candidate robots based on the second estimated arrival time and the set of first estimated arrival times corresponding to the first outbound handling task, wherein the time difference between the first estimated arrival time and the second estimated arrival time corresponding to the reference robot is not less than a preset value; and determining the robot with the earliest first estimated arrival time among the reference robots as the first robot corresponding to the first outbound handling task.
[0019] Secondly, this application provides a method for picking up and placing material boxes, applied to a first robot in a warehousing system. The warehousing system includes a server, a storage rack, and the first robot. A track is provided on the storage rack. The first robot moves along the track to pick up and place material boxes according to a task sent by the server. The method includes: receiving a first inbound transport task, the first inbound transport task corresponding to a first material box to be inbound, the first material box to be inbound corresponding to a second storage location, the second storage location being determined based on the first storage location, the first storage location being the storage location of a first outbound transport task corresponding to a first outbound transport task to be executed by the first robot, the first outbound transport task being a transport task to be executed by the first robot after completing the first inbound transport task, the second storage location and the first storage location both being located in a first column of the storage rack, and the first column including at least one idle storage location, the idle storage location being a storage location not containing a material box; transporting the first material box to be inbound to a first climbing point corresponding to the first column; climbing to the second storage location in the first column; and placing the first material box to be inbound in the second storage location to complete the first inbound transport task.
[0020] In one possible implementation, the second storage bit is the free storage bit with the lowest height among the at least one free storage bits.
[0021] In one possible implementation, after receiving the first inbound handling task, the method further includes: receiving the first outbound handling task; climbing or descending to the first storage position, and retrieving the first outbound material box from the first storage position.
[0022] In one possible implementation, after receiving the first inbound transport task, the method further includes: receiving a second outbound transport task, wherein the second outbound transport task is a transport task assigned by the server to the first robot, which is different from the first outbound transport task, when the first robot performs the first inbound transport task; after placing the first inbound bin in the second storage location, the method further includes: retrieving the second outbound bin corresponding to the second outbound transport task from the third storage location.
[0023] In one possible implementation, after receiving the first inbound transport task, the method further includes: receiving a second outbound transport task, wherein the first outbound transport task is a transport task assigned to the first robot by the server, which is different from the first outbound transport task, when the first robot performs the first inbound transport task; after placing the first inbound material box in the second storage location, the method further includes: retrieving the second outbound material box corresponding to the second outbound transport task from the third storage location, and the first robot no longer performs the first outbound transport task after performing the second outbound transport task.
[0024] Thirdly, embodiments of this application provide a method for picking up and placing material boxes, applied to a second robot in a warehousing system. The warehousing system includes a server, storage racks, a first robot, and a second robot. A track is provided on the storage racks. The second robot moves along the track to pick up and place material boxes according to a task sent by the server. The method includes:
[0025] The system receives a second inbound handling task, which is sent by the server after sending a second outbound handling task to the first robot. The second outbound handling task instructs the first robot to place the first inbound material box in the second storage position and then retrieve the second outbound material box corresponding to the second outbound handling task from the third storage position. The second inbound handling task corresponds to a fourth storage position, which is located in the second column of the warehouse rack. The second column includes at least two free storage positions.
[0026] The second outbound material box, which has completed its outbound handling task, is moved to the fourth storage location for inbound operation. The fourth storage location is one of the at least two free storage locations.
[0027] Fourthly, this application provides a bin picking and placing device. The warehousing system includes the server, storage racks, and at least one robot. A track is provided on the storage racks. The at least one robot moves along the track to pick and place bins according to a task sent by the server. The at least one robot includes a first robot. The bin picking and placing device includes:
[0028] The first determining unit is used to determine the first outbound handling task to be executed by the first robot, and the first outbound handling task corresponds to the first outbound bin stored in the first storage location.
[0029] The second determining unit is used to determine the second storage location corresponding to the first inbound handling task based on the first storage location. The first inbound handling task is the handling task that the first robot needs to perform before performing the first outbound handling task. The second storage location and the first storage location are both located in the first column of the storage rack. The first column includes at least one free storage location, which is a storage location that does not store a material box.
[0030] The sending unit is used to send the first inbound transport task to the first robot. The first inbound transport task is used to instruct the first robot to transport the first bin to be put into storage to the second storage location for storage.
[0031] Fifthly, embodiments of this application provide a bin-picking and placing device applied to a first robot in a warehousing system. The warehousing system includes a server, storage racks, and the first robot. A track is provided on the storage racks. The first robot moves along the track to pick up and place bins according to a task sent by the server. The bin-picking and placing device includes:
[0032] A receiving unit is used to receive a first inbound handling task, the first inbound handling task corresponds to a first inbound material box, the first inbound material box corresponds to a second storage position, the second storage position is determined based on the first storage position, the first storage position is the storage position of the first outbound material box corresponding to the first outbound handling task to be executed by the first robot, the first outbound handling task is the handling task to be executed by the first robot after completing the first inbound handling task, the second storage position and the first storage position are both located in the first column of the storage rack, and the first column includes at least one free storage position, the free storage position is the storage position that does not store a material box;
[0033] The handling unit is used to transport the first bin to be put into storage to the first climbing point corresponding to the first column;
[0034] A climbing unit is used to climb to the second storage bit in the first column;
[0035] The warehousing unit is used to place the first warehousing bin into the second storage location to complete the first warehousing and handling task.
[0036] Sixthly, embodiments of this application provide a bin-picking and placing device applied to a second robot in a warehousing system. The warehousing system includes a server, storage racks, a first robot, and a second robot. A track is provided on the storage racks. The second robot moves along the track to pick up and place bins according to a task sent by the server. The bin-picking and placing device includes:
[0037] A receiving unit is used to receive a second inbound handling task, which is sent by the server after sending a second outbound handling task to the first robot. The second outbound handling task is used to instruct the first robot to place the first inbound material box in the second storage position and then take out the second outbound material box corresponding to the second outbound handling task from the third storage position. The second inbound handling task corresponds to a fourth storage position, which is located in the second column of the storage rack. The second column includes at least two free storage positions.
[0038] The warehousing unit is used to move the second outbound material box that has completed the outbound handling task to the fourth storage position for warehousing operation. The fourth storage position is one of the at least two free storage positions.
[0039] In a seventh aspect, embodiments of this application provide a server, including a processor, a memory, and a communication interface, wherein the processor, memory, and communication interface are interconnected, wherein the communication interface is used to receive or send data, the memory is used to store application code for the server to execute the method described in the first aspect, and the processor is configured to execute the method described in the first aspect.
[0040] Eighthly, embodiments of this application provide a first robot, including a processor, a memory, and a communication interface, wherein the processor, memory, and communication interface are interconnected, wherein the communication interface is used to receive or send data, the memory is used to store application code for a server to execute the method described in the second aspect, and the processor is configured to execute the method described in the second aspect.
[0041] Ninthly, embodiments of this application provide a second robot, including a processor, a memory, and a communication interface, wherein the processor, memory, and communication interface are interconnected, wherein the communication interface is used to receive or send data, the memory is used to store application code for a server to execute the method described in the second aspect, and the processor is configured to execute the method described in the third aspect.
[0042] In a tenth aspect, embodiments of this application provide a computer-readable storage medium storing a computer program for electronic data interchange, wherein the computer program causes a computer to perform some or all of the steps described in the methods of the first, second, or third aspects of embodiments of this application.
[0043] Eleventhly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements some or all of the steps described in any of the methods of the first, second, or third aspects of this application. This computer program product may be a software installation package.
[0044] In a twelfth aspect, embodiments of this application provide a warehousing system, including a server, a storage rack, and a first robot, wherein the storage rack is provided with a track, and the first robot walks on the track to pick up and put away material boxes according to a task sent by the server;
[0045] The server is used to determine the first outbound handling task to be executed by the first robot, and the first outbound handling task corresponds to the first outbound bin stored in the first storage location.
[0046] The server is also used to determine the second storage location corresponding to the first inbound handling task based on the first storage location. The first inbound handling task is the handling task that the first robot needs to perform before performing the first outbound handling task. The second storage location and the first storage location are both located in the first column of the storage rack. The first column includes at least one free storage location. The free storage location is a storage location that does not store a material box.
[0047] The server is used to send the first inbound handling task to the first robot;
[0048] The first robot is used to receive the first inbound transport task and to transport the first inbound material box to the first climbing point corresponding to the first column, and climb to the second storage position in the first column, and place the first inbound material box in the second storage position.
[0049] In one possible implementation, the second storage bit is the free storage bit with the lowest height among the at least one free storage bits.
[0050] In one possible implementation, the server is further configured to: after sending the first inbound transport task to the first robot, send the first outbound transport task to the first robot; the first robot is further configured to: after receiving the first inbound transport task, receive the first outbound transport task, climb or descend to the first storage position, and retrieve the first outbound material box from the first storage position.
[0051] In one possible implementation, the server is further configured to: after sending the first inbound transport task to the first robot, send a second outbound transport task to the first robot, wherein the second outbound transport task is a transport task, different from the first outbound transport task, assigned to the first robot by the server when the first robot performs the first inbound transport task; the first robot is further configured to: after receiving the first inbound transport task, receive the second outbound transport task, and after placing the first inbound material box in the second storage location, retrieve the second outbound material box corresponding to the second outbound transport task from the third storage location.
[0052] In one possible implementation, the server is further configured to: after sending the first inbound transport task to the first robot, send a second outbound transport task to the first robot, wherein the second outbound transport task is a transport task, different from the first outbound transport task, assigned to the first robot by the server when the first robot performs the first inbound transport task; the first robot is further configured to: after receiving the first inbound transport task, receive the second outbound transport task, and after placing the first inbound material box in the second storage location, retrieve the second outbound material box corresponding to the second outbound transport task from the third storage location, and the first robot does not perform the first outbound transport task after performing the second outbound transport task.
[0053] In one possible implementation, the warehousing system further includes a second robot, wherein the server is further configured to: after sending a second outbound handling task to the first robot, send a second inbound handling task to the second robot, the second inbound handling task corresponding to a fourth storage location, the fourth storage location being located in a second column of the storage rack, the second column including at least two free storage locations, the fourth storage location being one of the at least two free storage locations; the second robot is configured to receive the second inbound handling task and move the second outbound bin that has completed the outbound handling task to the fourth storage location for inbound operation.
[0054] As can be seen, in this embodiment, after determining the first outbound transport task to be performed by the first robot, the server determines the corresponding second storage location for the first inbound transport task to be performed by the first robot before the first outbound transport task, based on the first storage location corresponding to the first outbound transport task. The server then sends the first inbound transport task to the first robot, enabling the first robot to transport the first inbound bin to the second storage location for storage. Both the second and first storage locations are located in the first column of the storage rack, which includes at least one empty storage location without a bin. Therefore, the server determines the second storage location for the first inbound transport task to be performed by the robot based on the first storage location corresponding to the first outbound transport task. Since the second storage location for the first inbound transport task and the first storage location for the first outbound transport task are in the same column of the rack, the robot does not need to move between different columns of the rack when performing the first outbound transport task after performing the first inbound transport task. This reduces the movement path, improves the efficiency of the robot in performing bin transport tasks, and reduces equipment energy consumption. Attached Figure Description
[0055] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0056] Figure 1a is a schematic diagram of a warehousing system architecture provided in an embodiment of this application;
[0057] Figure 1b is a schematic diagram showing the location of the components of a warehousing system provided in an embodiment of this application;
[0058] Figure 1c is a schematic diagram showing the positions of multiple storage locations in a column of the same storage rack provided in an embodiment of this application;
[0059] Figure 1d is a schematic diagram of the structure of an electronic device provided in an embodiment of this application;
[0060] Figure 2 is a flowchart illustrating a method for picking up and placing a material box according to an embodiment of this application;
[0061] Figure 3a is a schematic diagram of the structure of the first type of bin loading and unloading device provided in the embodiment of this application;
[0062] Figure 3b is a schematic diagram of the structure of the second type of bin loading and unloading device provided in the embodiment of this application;
[0063] Figure 4a is a structural schematic diagram of the third type of bin loading and unloading device provided in the embodiment of this application;
[0064] Figure 4b is a structural schematic diagram of the fourth type of bin loading and unloading device provided in the embodiments of this application;
[0065] Figure 5a is a structural schematic diagram of the fifth type of bin loading and unloading device provided in the embodiments of this application;
[0066] Figure 5b is a structural schematic diagram of the sixth type of bin loading and unloading device provided in the embodiments of this application. Detailed Implementation
[0067] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.
[0068] The terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.
[0069] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0070] The embodiments of this application will now be described with reference to the accompanying drawings.
[0071] Please refer to Figure 1a, which is a schematic diagram of a warehousing system architecture provided in an embodiment of this application. The warehousing system may include a server 100 and a robot 200. The warehousing system is equipped with storage racks, and the storage racks are equipped with tracks. The robot 200 moves on the tracks to pick up and put away boxes according to the tasks sent by the server 100. Specifically, there may be one or more robots 200. The server 100 can communicate with each robot 200, thereby sending handling tasks to the robot 200 and controlling the robot 200 to carry out the handling of boxes.
[0072] The handling tasks may include outbound handling tasks and inbound handling tasks. When the robot 200 performs an outbound handling task, it can retrieve the outbound material box from the storage location corresponding to the outbound handling task, and then handle and place it in the corresponding workstation. When the robot 200 performs an inbound handling task, it can handle the inbound material box corresponding to the inbound handling task from the corresponding workstation and place it in the storage location corresponding to the inbound handling task.
[0073] The storage racks can have multiple columns, each containing multiple storage locations at different heights. The robot 200 can reach different columns of the storage racks as it moves along the tracks, and can also reach a specific storage location within a column by climbing or descending. Correspondingly, the handling task can be further broken down into a movement task and a picking or placing task. The movement task involves the robot 200 moving to the column corresponding to the handling task and reaching the corresponding storage location, while the picking or placing task involves the robot 200 retrieving or placing the toy box at the specific storage location.
[0074] Specifically, the robot 200 in the warehousing system may include a first robot. The server 100 may first determine the first outbound handling task to be performed by the first robot. The first outbound handling task corresponds to the first outbound material box stored in the first storage location. Then, based on the first storage location, the server determines the second storage location corresponding to the first inbound handling task. The first inbound handling task is the handling task that the first robot needs to perform before performing the first outbound handling task. The second storage location and the first storage location are both located in the first column of the storage rack. The first column includes at least one free storage location, which is a storage location that does not store a material box. Then, the server sends the first inbound handling task to the first robot. The first inbound handling task is used to instruct the first robot to move the first inbound material box to the second storage location for inbound storage.
[0075] The first material box to be put into storage may be a material box already carried by the first robot, or the first robot may obtain the first material box to be put into storage from the storage rack or workstation after receiving the first material box to be put into storage.
[0076] Taking the warehousing system shown in Figure 1a as an example, the first robot can be any one of the three robots 200 shown in Figure 1a.
[0077] The second storage location can be the lowest free storage location among at least one free storage location. Since the first inbound handling task will be executed first, determining the second storage location as the lowest free storage location allows for further reduction of power consumption when the first outbound handling task is executed, as the device can directly climb or descend from the lowest free storage location.
[0078] In one possible example, the server 100 can also be used to: after sending the first inbound transport task to the first robot, send the first outbound transport task to the first robot. The first robot is also used to: after receiving the first inbound transport task, receive the first outbound transport task, climb or descend to the first storage position, and retrieve the first outbound bin from the first storage position.
[0079] Once the first robot receives the first outbound handling task, it can complete the first inbound handling task in the first column of the warehouse rack, and then directly climb or descend in the first column to perform the first outbound handling task. This eliminates the need to move between different columns, reducing equipment power consumption and improving the efficiency of handling task execution.
[0080] Alternatively, in another possible example, the server 100 may also be used to: after sending the first inbound transport task to the first robot, send a second outbound transport task to the first robot, wherein the second outbound transport task is a transport task assigned by the server 100 to the first robot, different from the first outbound transport task, when the first robot performs the first inbound transport task, and the first robot is further used to: after receiving the first inbound transport task, receive the second outbound transport task, and after placing the first inbound bin in the second storage location, retrieve the second outbound bin corresponding to the second outbound transport task from the third storage location.
[0081] In other words, after the server sends the first inbound transport task to the first robot, the server may reassign other transport tasks to the first robot besides the first outbound transport task, such as the second outbound transport task. At this time, the server can send the newly determined second outbound transport task to the first robot, and the first robot can execute the second outbound transport task after completing the first inbound transport task.
[0082] At this time, the server can also send the previously determined first outbound handling task to the first robot. The first robot can execute the first outbound handling task after completing the second outbound handling task. Alternatively, the first robot can execute the first outbound handling task first after completing the first inbound handling task, and then execute the second outbound handling task.
[0083] The order in which outbound transport tasks are executed can be determined by the order in which the server sends the outbound transport tasks; for example, the outbound transport task received first is executed first. Alternatively, it can be determined by the relative positional relationship between the storage bits (i.e., the first storage bit and the third storage bit) and the second storage bit. For example, outbound transport tasks whose storage bits are in the same column as the second storage bit are executed first. Or, if both storage bits are in the same column as the second storage bit, the outbound transport task corresponding to the storage bit with the smaller height difference from the second storage bit is executed first.
[0084] Alternatively, after the server sends the second outbound handling task to the first robot, it may stop sending the first outbound handling task to the first robot. Consequently, the first robot will not execute the first outbound handling task after receiving the second outbound handling task.
[0085] Specifically, in cases where the first robot performs the first outbound transport task first, followed by the second outbound transport task, or vice versa, the server can assign other transport tasks to the first robot between these two outbound transport tasks. For example, if the first robot performs the second outbound transport task first, the server can also send a new inbound transport task to the first robot before it performs the first outbound transport task, instructing the first robot to perform the new inbound transport task after completing the second outbound transport task, and then perform the first outbound transport task.
[0086] At this point, the storage location corresponding to the new inbound handling task can be determined based on the first storage location corresponding to the first outbound handling task, for example, by determining it as the lowest free storage location in the first column where the first storage location is located.
[0087] It is evident that after sending the first inbound transport task to the first robot, the server can also send a second outbound transport task, which is different from the first outbound transport task, to the first robot. This instructs the first robot to execute the second outbound transport task after completing the first inbound transport task, thereby improving the flexibility of the server in sending transport tasks to the first robot.
[0088] Alternatively, in another possible example, the server 100 may also be used to: after sending the first inbound transport task to the first robot, send a second outbound transport task to the first robot, wherein the second outbound transport task is a transport task assigned by the server 100 to the first robot, different from the first outbound transport task, when the first robot performs the first inbound transport task. The first robot is further used to: after receiving the first inbound transport task, receive the second outbound transport task, and after placing the first inbound bin in the second storage location, retrieve the second outbound bin corresponding to the second outbound transport task from the third storage location. The first robot does not perform the first outbound transport task after performing the second outbound transport task.
[0089] In other words, after the server sends the second outbound handling task to the first robot, it can stop sending the first outbound handling task to the first robot. Instead, it can replace the original first outbound handling task with the second outbound handling task determined for the first robot. After the first robot receives the second outbound handling task, it will no longer execute the first outbound handling task.
[0090] As can be seen, when the server first sends an inbound transport task to the first robot and then sends out a warehouse transport task to it, the outbound transport task determined for the first robot may change before the warehouse transport task is actually sent out. Therefore, the server can assign a more suitable outbound transport task to the first robot to further improve the flexibility of transport task sending.
[0091] Additionally, the warehousing system may include a second robot, wherein the server 100 may also be used to: after sending a second outbound handling task to the first robot, send a second inbound handling task to the second robot, the second inbound handling task corresponding to a fourth storage location, the fourth storage location being located in the second column of the storage rack, the second column including at least two free storage locations, the fourth storage location being one of the at least two free storage locations; the second robot is used to receive the second inbound handling task and move the second outbound bin that has completed the outbound handling task to the fourth storage location for inbound operation.
[0092] The second column containing the fourth storage location includes at least two free storage locations. This ensures that after the second robot completes the second inbound transport task, there will still be at least one free storage location in the second column. The server can then continue to determine storage locations for inbound and outbound transport tasks for the same robot in this column, thereby ensuring the efficiency of the transport tasks subsequently assigned to the robot by the server.
[0093] Taking the warehousing system shown in Figure 1a as an example, the first robot can be any one of the three robots 200 shown in Figure 1a, and the second robot can be one of the two robots 200 other than the first robot.
[0094] In other words, after the first robot moves the second outbound box to the workstation or other outbound operation platform, the server can also send a second inbound handling task to other second robots to move the second outbound box, which has already been outbound, back to the storage rack for inbound storage.
[0095] In addition, in practical applications, the second robot can also be the first robot. That is, the server 100 can also instruct the first robot to perform the outbound operation on the second outbound box in the fourth storage position, and then send the second inbound handling task to the first robot again, so as to instruct the first robot to move the second outbound box that has completed the outbound handling task to the fourth storage position for re-entry.
[0096] At this point, since multiple different inbound handling tasks may be performed on the same bin, and the storage location of the same bin may change when the storage location corresponding to multiple inbound handling tasks is different, the robot can also send back the association information between the inbound storage location and the bin identifier to the server after completing the inbound handling task, so that the server can obtain and update the accurate storage location of each bin.
[0097] The specific implementation methods of other steps performed by the server, the first robot, and the second robot in the warehousing system, such as how the server determines the first outbound handling task, or how the server determines the second storage location, or the location of the fourth storage location corresponding to the second inbound handling task sent by the server to the second robot, can be found in the later description of the bin retrieval method, and will not be repeated here. Furthermore, the later description of the bin retrieval method can also draw upon the description of the server, the first robot, and the second robot in the warehousing system presented here.
[0098] In addition, in practical applications, the area that multiple robots 200 can move to in the warehouse rack can be the same. For example, each robot 200 can move to any storage location on the warehouse rack. In this case, when the server 100 determines the handling task for each robot, it does not need to consider whether the storage location of the handling task matches the operating area of the robot 200.
[0099] If the warehouse racking area is large, and the racking is divided into multiple different racking areas, and the robot 200 only operates within a single racking area and cannot move to other racking areas, that is, when a single server 100 simultaneously controls the operating status of robots 200 in multiple unconnected racking areas, the server 100 can also obtain the racking area identifier corresponding to each robot 200 it communicates with. The server 100 can determine and send handling tasks to each robot 200 based on the racking area identifier corresponding to each robot 200, so that the storage location of the handling tasks determined and sent to each robot 200 corresponds to the racking area where it operates, thus avoiding the situation where the robot 200 is unable to complete the handling task after receiving it.
[0100] In addition, during communication with the server 100, the robot 200 can not only receive handling tasks from the server 100, but also report its own task execution status to the server 100 so that the server 100 can send subsequent tasks based on the task execution status.
[0101] It should be noted that the warehousing system shown in Figure 1a is only an illustrative example. In actual applications, the number of devices in the warehousing system can be more or less, and no specific limit is set here. For example, the number of robots 200 can be set to an integer greater than 3. Regardless of how the number of devices in the warehousing system changes, the server 100 and each robot 200 can communicate with each other.
[0102] In addition, the warehousing system may also include at least one workstation. Referring to the location diagram of the components of the warehousing system shown in Figure 1b, workstation 1 and workstation 2 are illustrated in Figure 1b. The workstation may be an area for inbound and outbound operations of bins or for picking operations of materials in bins, and may include devices such as operating tables, conveyor belts, and picking robots.
[0103] Figure 1b primarily illustrates the horizontal positional relationship of different columns in a storage rack from a top-down perspective. Each box (01-18) corresponds to one column in the storage rack. Figure 1b exemplarily shows the positions of the 18 columns in the storage rack, demonstrating that the storage rack comprises multiple columns with different horizontal positions. Multiple robots, as shown in boxes A, B, C, and D, can move between the workstation and the storage rack. They can transport incoming boxes from the workstation and place them in specific storage locations within specific columns of the storage rack, and retrieve outgoing boxes from specific storage locations within specific columns of the storage rack and place them back at the workstation for operation by equipment or personnel.
[0104] Furthermore, Figure 1c primarily illustrates the positions of multiple storage locations within a single column of a warehouse rack from a frontal view. Specifically, a column of warehouse racks may include multiple storage locations that are identical in the horizontal direction but differ in their vertical position. For example, a column of warehouse racks in Figure 1c may include seven storage locations, namely storage locations a through g. Correspondingly, the robot in the warehousing system may specifically be a robot with a climbing structure. Thus, when performing inbound handling tasks, the inbound handling task can be divided into two sub-tasks: one is a movement task, where the robot moves to the column containing the storage location corresponding to the inbound handling task and climbs to the corresponding storage location; the other is a placement task, where the robot places the tote box in the storage location corresponding to the inbound handling task. Alternatively, when performing outbound handling tasks, the robot moves to the storage location corresponding to the outbound handling task to retrieve the tote box from that storage location.
[0105] In specific implementation, the first storage location corresponding to the first outbound handling task received by the first robot and the second storage location corresponding to the first inbound handling task received by the first robot are both located in the first column of the warehouse rack, and the first inbound handling task is executed before the first outbound handling task. When the first robot executes the first inbound handling task, it first moves to the location of the first column, then climbs to the second storage location, and places the first inbound material box carried by the first robot into the second storage location. At this time, the first inbound handling task can include two sub-tasks: a movement task and a placement task. When the first outbound handling task is executed subsequently, since the first robot is in the first column where the first storage location is located, the first robot does not need to move between different columns of the warehouse rack. It only needs to climb or descend in the first column to reach the first storage location and retrieve the first outbound material box from the first storage location.
[0106] In other words, during the complete process of performing an inbound and outbound handling task, the outbound handling task does not need to move between different columns of the warehouse rack. It can directly climb or descend in the column where the previous inbound handling task was performed to retrieve the goods, which helps to improve the efficiency of the robot in performing bin handling tasks and reduce equipment energy consumption.
[0107] It should be noted that the number and location of columns, workstations, and robots included in the storage rack in Figure 1b are for illustrative purposes only. In actual applications, the number of columns and their distribution, the number and location of workstations, and the number and location of robots can all be adjusted to be different from Figure 1b as needed. The number of storage locations included in a column of the storage rack in Figure 1c is also for illustrative purposes only. In actual applications, the number of storage locations included in a column of the storage rack can also be any other positive integer greater than or less than 7. No specific restrictions are imposed here.
[0108] The structure of any electronic device (e.g., server 100, robot 200, etc.) in this application can be as shown in Figure 1d. The electronic device may include a processor 110, a memory 120, a communication interface 130, and one or more programs 121. The one or more programs 121 are stored in the memory 120 and configured to be executed by the processor 110. The one or more programs 121 include instructions for performing any step in the method embodiments described below. The communication interface 130 is used to support communication between the electronic device and other devices. In specific implementations, the processor 110 is used to perform any step executed by the electronic device in the method embodiments described below, and when performing data transmission such as sending, the communication interface 130 can be selectively invoked to complete the corresponding operation. It should be noted that the above schematic diagram of the electronic device is only an example; the actual components included may be more or fewer, and this is not a unique limitation.
[0109] Please refer to Figure 2, which is a flowchart illustrating a bin retrieval and placement method provided in an embodiment of this application. This method can be applied to the warehousing system shown in Figure 1a. The warehousing system includes a server, storage racks, and at least one robot. A track is provided on the storage racks, and the at least one robot moves along the track to retrieve and place bins according to a task sent by the server. The at least one robot includes a first robot. As shown in Figure 2, this bin retrieval and placement method includes the following steps:
[0110] Step 201: The server determines the first outbound handling task to be executed by the first robot.
[0111] The first outbound handling task corresponds to the first outbound material box stored in the first storage location.
[0112] Specifically, the first outbound handling task can enable the first robot receiving the first outbound handling task to retrieve the first outbound material box from the first storage position of the warehouse shelf and transport the first outbound material box to the corresponding workstation.
[0113] Each inbound and outbound handling task may also include information such as bin identification and workstation identification to improve the accuracy of the first robot in performing handling tasks. For example, the first outbound handling task may also include the bin identification of the first bin to be outbound and the area identification of the workstation corresponding to the first bin to be outbound. The first inbound handling task may also include the bin identification of the first bin to be inbound.
[0114] In a specific implementation, step 201 can be executed by the server after receiving an outbound notification from a workstation or other terminal device, or the server can execute step 201 periodically according to a set time interval.
[0115] Step 202: The server determines the second storage location corresponding to the first inbound transport task based on the first storage location.
[0116] The first inbound handling task is the handling task that the first robot needs to perform before performing the first outbound handling task. The second storage location and the first storage location are both located in the first column of the storage rack. The first column includes at least one free storage location, which is a storage location that does not store a material box.
[0117] In practice, since the second storage location of the first inbound handling task is determined based on the first storage location of the first outbound handling task, it is possible that when a box is taken out of the initial storage location in the storage rack and then returned to the storage rack, it may be placed in a new storage location different from the initial storage location. Therefore, the server can also update the storage location information of each box stored in the storage rack after each inbound handling task is sent to the robot or after receiving feedback from the robot after completing the inbound handling task, so as to accurately determine the position of each box in the storage rack in the future.
[0118] In practice, when determining the storage location for inbound handling tasks, the server ensures that each column of the storage rack has at least one free storage location. Specifically, when determining storage locations for inbound handling tasks, if a column of the storage rack has only one empty storage location, then when the robot has both inbound and outbound handling tasks, that empty storage location can be used as the storage location corresponding to the inbound handling task. After the robot completes the outbound handling task, that column will still have one empty storage location. However, when the robot only has inbound handling tasks, that empty storage location cannot be used as the storage location corresponding to the inbound handling task; the free storage location must be reserved, and a column in the storage rack with at least two free storage locations must be determined for the inbound handling task.
[0119] By ensuring that each column of the storage rack has at least one free storage location, when the robot performs its next inbound and outbound handling tasks, regardless of which column the robot's outbound handling task is located in, the server can determine the storage location for both tasks in the same column of the storage rack because at least one free storage location is reserved in that column. This further ensures the efficiency of the robot's handling tasks throughout the entire warehousing system.
[0120] Step 203: The server sends the first inbound transport task to the first robot.
[0121] The first robot may carry a first material box to be put into storage. The first storage handling task is used to instruct the first robot to move the first material box to be put into storage to the second storage location for storage. Alternatively, the first robot may obtain the first material box to be put into storage from the workstation and move it to the second storage location for storage after receiving the first storage handling task. Specifically, the first robot may obtain the first material box to be put into storage from the workstation where the first material box is located based on the material box identifier of the first material box carried by the first storage handling task and the identifier information of the workstation where the first material box is located.
[0122] In specific implementation, the first task to be put into storage can include two sub-tasks, namely the movement task and the delivery task. The movement task is that the first robot moves to the second storage position of the first column of the storage rack, and the delivery task is to place the first box to be put into storage in the second storage position.
[0123] Step 204: The first robot receives the first inbound transport task.
[0124] Step 205: The first robot transports the first bin to be put into storage to the first climbing point corresponding to the first column.
[0125] Step 206: The first robot climbs to the second storage position in the first column to complete the first inbound transport task.
[0126] In practice, each robot can save a corresponding task list and update the task list in real time according to the handling tasks received from the server. Once the task is completed, it is deleted from the task list.
[0127] Specifically, the server can send the first inbound handling task to the first robot at the same time as sending the first outbound handling task. The first robot, based on the first outbound handling task and the first inbound handling task, first places the first inbound material box in the second storage location corresponding to the inbound handling task to complete the first inbound handling task. Then, it goes to the first storage location corresponding to the first outbound handling task to retrieve the first outbound material box and moves it to the corresponding workstation to complete the first outbound handling task.
[0128] As can be seen, in this embodiment, after determining the first outbound transport task to be performed by the first robot, the server determines the corresponding second storage location for the first inbound transport task to be performed by the first robot before the first outbound transport task, based on the first storage location corresponding to the first outbound transport task. The server then sends the first inbound transport task to the first robot, enabling the first robot to transport the first inbound bin to the second storage location for storage. Both the second and first storage locations are located in the first column of the storage rack, which includes at least one empty storage location without a bin. Therefore, the server determines the second storage location for the first inbound transport task to be performed by the robot based on the first storage location corresponding to the first outbound transport task. Since the second storage location for the first inbound transport task and the first storage location for the first outbound transport task are in the same column of the rack, the robot does not need to move between different columns of the rack when performing the first outbound transport task after performing the first inbound transport task. This reduces the movement path, improves the efficiency of the robot in performing bin transport tasks, and reduces equipment energy consumption.
[0129] In one possible example, the second storage bit is the lowest-height free storage bit among the at least one free storage bits.
[0130] The idle storage locations include storage locations where no material bins are actually stored, as well as storage locations that are different from the storage locations included in the inbound handling tasks that the server has already sent to other robots.
[0131] In practice, since the first inbound handling task will be executed first, the second storage position is determined as the lowest free storage position. When the first outbound handling task is executed later, the device can directly climb or descend from the lowest free storage position, which can further reduce the power consumption of the device in performing the handling task.
[0132] Furthermore, if a robot can carry two bins simultaneously, and there are no available storage spaces in the first column, the second storage space can be the first storage space. The first robot retrieves the first bin to be shipped from the first storage space and then places the first bin to be shipped into the storage space. If there are available storage spaces in the first column, the height of the lowest available storage space can be compared with the height of the first storage space, and the storage space with the lower height can be selected as the second storage space.
[0133] As can be seen, in this example, the second storage bit is the lowest height free storage bit among at least one free storage bit, which is beneficial to further reduce device power consumption.
[0134] In one possible example, determining the second storage location corresponding to the first inbound handling task based on the first storage location includes: determining the first column where the first storage location is located; determining the lowest free storage location in the first column in ascending order; and determining the lowest free storage location as the second storage location.
[0135] As can be seen, in this example, after determining the first column where the first storage location is located, the system searches for free storage locations from bottom to top in the first column. The first free storage location found, which is the free storage location with the lowest height, is determined as the second storage location corresponding to the first inbound handling task. This helps to improve system efficiency, thereby improving the efficiency of the first robot in executing the first inbound handling task and the second outbound handling task.
[0136] In one possible example, after sending the first inbound handling task to the first robot, the method further includes: the server sending the first outbound handling task to the first robot, the first outbound handling task being used to instruct the first robot to retrieve the first outbound bin from the first storage location.
[0137] In this possible example, after receiving the first inbound transport task, the first robot receives the first outbound transport task; it climbs or descends to the first storage position and retrieves the first outbound bin from the first storage position.
[0138] As can be seen in this example, after the first robot receives the first outbound handling task, it can directly climb or descend in the first column of the storage rack to perform the first outbound handling task after completing the first inbound handling task. This eliminates the need to move between different columns, reducing equipment power consumption and improving the efficiency of handling task execution.
[0139] In one possible example, after sending the first inbound transport task to the first robot, the method further includes: the server sending a second outbound transport task to the first robot, wherein the second outbound transport task is a transport task assigned by the server to the first robot, which is different from the first outbound transport task, when the first robot performs the first inbound transport task, and the second outbound transport task is used to instruct the first robot to place the first inbound bin in the second storage location and then retrieve the second outbound bin corresponding to the second outbound transport task from the third storage location.
[0140] In this possible example, the first robot receives the second outbound handling task; after placing the first inbound bin in the second storage location, the first robot retrieves the second outbound bin corresponding to the second outbound handling task from the third storage location.
[0141] In practice, the server can send the first inbound handling task to the first robot at the same time as sending the first inbound handling task. In this implementation, the server will not change the first storage location of the first outbound handling task or the first inbound handling task.
[0142] However, in this example, the server first sends the first inbound transport task to the first robot. While the first robot is executing the first inbound transport task, the server sends the first outbound transport task to the first robot. Before the first outbound transport task is sent, the first outbound transport task may change. The server may plan a new outbound transport task for the first robot based on the position where the first robot is executing the first inbound transport task, so that the first robot is more efficient in executing the new outbound transport task after the change compared to executing the first outbound transport task before the change. In other words, in this example, after the first robot has completed the first inbound transport task, the outbound transport task sent to the first robot by the server may be the first outbound transport task, or it may be the newly planned second outbound transport task. Alternatively, the server may send both the first outbound transport task and the newly planned second outbound transport task to the first robot.
[0143] Correspondingly, the first robot can still execute the first outbound transport task even if it receives the first outbound transport task but has not received the second outbound transport task; after the first robot receives the second outbound transport task, it may stop executing the first outbound transport task. Alternatively, the first robot may also receive the first outbound transport task after receiving the second outbound transport task, thus enabling the first robot to execute both the second and first outbound transport tasks. Furthermore, between the execution of the second and first outbound transport tasks, the first robot can also receive and execute a new inbound transport task determined by the server.
[0144] In practice, the third storage location can be a storage location in the first column, or it can be a storage location in another column of the storage rack. In particular, when there are multiple outbound bins to be allocated, the server can prioritize allocating outbound bins stored in the first column to the first robot. That is, the third storage location is determined first from the first column. If there are no outbound bins to be allocated in the first column, the server can then determine the third storage location from other columns.
[0145] As can be seen, in this example, after the server sends the first inbound transport task to the first robot, it can also send the second outbound transport task, which is different from the first outbound transport task, to the first robot. This instructs the first robot to execute the second outbound transport task after completing the first inbound transport task, thus improving the flexibility of the server in sending transport tasks to the first robot.
[0146] In one possible example, after sending the first inbound transport task to the first robot, the method further includes: the server sending a second outbound transport task to the first robot, wherein the second outbound transport task is a transport task assigned by the server to the first robot, different from the first outbound transport task, when the first robot performs the first inbound transport task, and the first robot no longer performs the first outbound transport task after performing the second outbound transport task. The second outbound transport task is used to instruct the first robot to place the first inbound bin in the second storage location and then retrieve the second outbound bin corresponding to the second outbound transport task from the third storage location.
[0147] In this possible example, the first robot receives the second outbound handling task; after placing the first inbound material box in the second storage location, the first robot retrieves the second outbound material box corresponding to the second outbound handling task from the third storage location; after executing the second outbound handling task, the first robot no longer executes the first outbound handling task.
[0148] In practice, after the server sends the second outbound handling task to the first robot, it may no longer send the first outbound handling task to the first robot. That is, the server can re-determine a new second outbound handling task for the first robot and replace the original first outbound handling task determined for the first robot. After the first robot receives the second outbound handling task, it will no longer execute the first outbound handling task.
[0149] At this time, the second outbound handling task newly determined by the server can be determined based on information such as the position of the first robot performing the first inbound handling task. This can make the first robot more efficient in performing the new second outbound handling task after the change compared to performing the first outbound handling task before the change.
[0150] As can be seen in this example, after sending the first inbound transport task to the first robot, the server will also send a second outbound transport task, different from the first outbound transport task, to the first robot. This instructs the first robot to execute the second outbound transport task after completing the first inbound transport task, and to discontinue the first outbound transport task. In practice, the outbound transport task determined for the first robot may change before it is actually issued, allowing the server to assign a more suitable outbound transport task to the first robot, thereby further improving the flexibility of transport task sending.
[0151] In one possible example, the at least one robot further includes a second robot, and after sending the second outbound handling task to the first robot, the method further includes: the server sending a second inbound handling task to the second robot, the second inbound handling task corresponding to a fourth storage location, the fourth storage location being located in the second column of the storage rack, the second column including at least two free storage locations, the second inbound handling task being used to instruct the second robot to move the second outbound bin that has completed the outbound handling task to the fourth storage location for inbound operation, the fourth storage location being one of the at least two free storage locations.
[0152] In this possible example, the second robot receives the second inbound handling task; it moves the second outbound bin, which has completed the outbound handling task, to the fourth storage location for inbound operation, the fourth storage location being one of the at least two free storage locations.
[0153] In practice, when allocating handling tasks, the server always ensures that there is one free storage slot in each column of the storage rack. If there is only one free storage slot in a column of the current storage rack, then when the robot performs both inbound and outbound handling tasks, this free storage slot can be used as the inbound storage slot for the inbound handling task. After the robot completes both inbound and outbound handling, there will still be one free storage slot in the column of the storage rack. However, when the robot performs only inbound handling tasks, the empty storage slot in the column of the storage rack cannot be used as an inbound storage slot. This free storage slot is reserved to avoid the problem that when other robots perform both inbound and outbound handling tasks, the server cannot assign the robot's inbound handling task to the same column as the outbound handling task because there is no free storage slot in the column assigned to the robot's outbound handling task. Instead, the server assigns the robot's inbound handling task to a different column than the outbound handling task, thus reducing the efficiency of the robot's handling tasks.
[0154] Specifically, if the column corresponding to the storage location of an outbound handling task has no free storage space, and thus the storage locations for the robot's inbound and outbound handling tasks are assigned to different columns in the warehouse shelving, the server must ensure that the column containing the inbound handling task also includes at least two free storage spaces when assigning the storage location to the robot. In other words, even if a robot performs both inbound and outbound handling tasks, but these tasks are not executed in the same column, the server cannot assign the inbound handling task storage location to the robot in a column with only one free storage space.
[0155] Specifically, when the server determines the storage locations for the robot's inbound and outbound handling tasks in different columns of the warehouse rack, it can first identify columns with at least two free storage locations, and then further identify the column closest to the column containing the outbound handling task's storage location as the column containing the inbound handling task's storage location. Alternatively, the server can also filter from columns with at least two free storage locations the column along the robot's movement path to the column containing the outbound handling task's storage location as the column where the robot performs the inbound handling task. This aims to reduce the robot's movement path in different columns and minimize the adverse impact on the robot's handling efficiency caused by performing inbound and outbound handling tasks in different columns.
[0156] Specifically, the fourth storage bit can be the free storage bit with the lowest height among the two free storage bits.
[0157] As can be seen in this example, when the server sends a second inbound transport task to the second robot, which instructs the second outbound bin that has completed its outbound transport task to be moved to the fourth storage location for inbound operation, the second column containing the fourth storage location includes at least two free storage locations. This helps ensure that after the second robot completes the second inbound transport task, there is still at least one free storage location in the second column. Subsequently, the server can continue to determine the storage location for inbound and outbound transport tasks for the same robot in this column, thereby ensuring the execution efficiency of the transport tasks subsequently assigned to the robot by the server.
[0158] In one possible example, determining the first outbound transport task to be performed by the first robot includes: acquiring the first outbound transport task; determining the estimated idle time of at least one candidate robot, and / or the second estimated arrival time of the third robot when it performs the received transport task to the target workstation, the target workstation being the workstation corresponding to the first outbound transport task; and determining the first robot corresponding to the first outbound transport task from the at least one candidate robot based on the estimated idle time and / or the second estimated arrival time.
[0159] In this possible example, the at least one candidate robot includes: a robot that is currently in an idle state and / or will be in an idle state after a first preset time.
[0160] The third robot can refer to a robot that has received a handling task from the server to pick up or place a tote box at the target workstation. For example, the third robot could be an inbound handling task that has received a task to pick up a tote box from the target workstation and store it on a warehouse shelf, or an outbound handling task that has received a task to pick up a tote box from the warehouse shelf and place it at the target workstation.
[0161] The duration of the first preset time can be set as needed.
[0162] For example, if the first preset time is 20 seconds, the server can first filter out the robots that are currently idle and will be idle after 20 seconds from multiple robots in the warehouse as candidate robots. Suppose the selected candidate robots include robot a, robot b, and robot c. Robot a is currently performing a previously received handling task and will be idle after completing the handling task in 10 seconds. Robots b and c are already idle at the current moment.
[0163] The method of determining the first robot corresponding to the first outbound handling task from the at least one candidate robot can be varied. For example, the candidate robots can be sorted from early to late according to their expected idle time, and the earliest idle candidate robot can be determined as the first robot for the first outbound handling task. This allows the first robot to respond and execute the task in a timely manner after receiving it, which is beneficial to improving handling efficiency.
[0164] Alternatively, based on the estimated idle time of each candidate robot, the first estimated arrival time of each candidate robot at the target workstation corresponding to the first outbound handling task can be calculated, and the candidate robot with the earliest first estimated arrival time can be selected as the first robot, so that the first outbound handling task can be executed as quickly as possible after it is sent to the first robot, which is beneficial to improving handling efficiency.
[0165] Alternatively, the first and second estimated arrival times can be considered together to determine the target robot. For example, candidate robots with the same first and second estimated arrival times, or whose difference is less than a preset value, can be eliminated. From the remaining candidate robots, the candidate robot with the earliest first estimated arrival time can be selected as the first robot. This allows the first robot to start executing the outbound handling task earlier, and the time interval between the arrival of the first robot and the third robot at the target workstation can be relatively dispersed. This reduces the situation where multiple robots arrive at the same target workstation at the same time, which affects efficiency. This further ensures the overall handling efficiency of the first robot in executing at least one outbound handling task.
[0166] As can be seen in this example, when the server determines the first outbound handling task for the first robot, it prioritizes robots that are currently idle or can be idle for a short period of time as candidate robots. Furthermore, based on the specific estimated idle time of the candidate robots and / or the second estimated arrival time of the third robot when it executes the received task at the target workstation, the server determines the first robot corresponding to the first outbound handling task from the candidate robots. Since the candidate robots are already idle or can be idle for a short period, the first robot determined from the candidate robots allows the first robot to start executing the handling task more promptly after receiving it. Moreover, the determination of the first robot from the candidate robots takes into account their estimated idle time and / or the arrival time of the third robot at the target workstation when it executes the received handling task, which helps improve the timeliness of the robot's response and the handling efficiency when executing the handling task.
[0167] Furthermore, in practical applications, the server can also acquire multiple outbound handling tasks to be assigned at once, including the first outbound handling task; that is, multiple outbound handling tasks, including the first outbound handling task, that have not yet been assigned to any robot. And, in the manner described above for assigning the first robot to the first outbound handling task, the server can determine the target robot corresponding to each of the multiple outbound handling tasks to be assigned at once.
[0168] Specifically, the server can obtain at least one outbound handling task; determine the estimated idle time of at least one candidate robot, and / or the second estimated arrival time of the third robot when it executes the received handling task to the workstation corresponding to the plurality of outbound handling tasks; based on the estimated idle time, and / or the second estimated arrival time, determine the target robot corresponding to the plurality of outbound handling tasks from the at least one candidate robot, including the first robot corresponding to the first outbound handling task.
[0169] The method for determining the target robot for each outbound handling task to be assigned can refer to the aforementioned description of determining the first robot for the first outbound handling task.
[0170] In determining the first estimated arrival time for multiple outbound handling tasks to be assigned, each candidate robot can be paired with each outbound handling task to obtain candidate combination schemes of multiple candidate robots and outbound handling tasks to be assigned. Based on the estimated idle time of the candidate robots, the first estimated arrival time of the candidate robot to the workstation corresponding to the outbound handling task in each candidate combination scheme is calculated. For each outbound handling task, the candidate robot with the earliest first estimated arrival time in its corresponding candidate combination scheme is selected as the target robot, so that each outbound handling task can be executed as quickly as possible after being sent to the target robot, which is beneficial to improving handling efficiency.
[0171] In one possible example, determining the first robot corresponding to the first outbound handling task from the at least one candidate robot includes: determining a first estimated arrival time for each candidate robot to reach the target workstation when performing the first outbound handling task, based on the estimated idle time of each candidate robot in the at least one candidate robot, to obtain a set of first estimated arrival times corresponding to the first outbound handling task; and determining the first robot corresponding to the first outbound handling task from the at least one candidate robot based on the set of first estimated arrival times corresponding to the first outbound handling task and a second estimated arrival time.
[0172] In the aforementioned scenario, with a first preset time of 20 seconds, candidate robots include robot a, robot b, and robot c. Robot a is currently executing a previously received transport task and will be idle after completing the task in 10 seconds. Robots b and c are currently idle. Taking outbound transport task 1 as an example, which requires retrieving and transporting the material box 1 stored in storage position 1 of column 1 of the warehouse shelf to workstation 1, the first estimated arrival time for this transport task 1 can specifically include three time points: the time when robot a retrieves the material box 1 from storage position 1 and transports it to workstation 1 after completing the previous transport task; the time when robot b moves to storage position 1 to retrieve the material box 1 and transports it to workstation 1 from the current time; and the time when robot c moves to storage position 1 to retrieve the material box 1 and transports it to workstation 1 from the current time.
[0173] Based on this, the server can also obtain the second estimated arrival time of other third robots that have received handling tasks to workstation 1. This allows the server to maintain a workstation timeline from the workstation's perspective. Based on the first estimated arrival time of each outbound handling task and the second estimated arrival time of each third robot, a suitable first robot can be assigned to the first outbound handling task. For example, candidate robots with the same first and second estimated arrival times, or whose difference is less than a preset value, can be eliminated. From the remaining candidate robots, the one with the earliest first estimated arrival time can be selected as the first robot. This ensures that the arrival times of the first and third robots performing the first outbound handling task are relatively even, avoiding workstation idling or robot congestion at workstations.
[0174] As can be seen in this example, for each candidate robot that is currently idle and / or idle after a first preset time, the server determines the time when it will arrive at the target workstation corresponding to the first outbound handling task when it performs the first outbound handling task, so as to obtain a set of first estimated arrival times corresponding to the first outbound handling task. Then, based on the first estimated arrival time and the second estimated arrival time of the third robot when it performs the assigned handling task and arrives at the corresponding target workstation, the server determines the first robot corresponding to the first outbound handling task from the at least one candidate robot. This ensures that the first robot that receives the outbound handling task can start executing the task earlier, and the arrival times of the first robot and the other third robots at the target workstation can be relatively evenly distributed, reducing the situation where multiple robots arrive at the same target workstation at the same time and cause clustering operations that affect efficiency, which is beneficial to improving handling efficiency.
[0175] In practice, when determining the target robot for each of the multiple outbound handling tasks to be assigned, the process of determining the target robot for each outbound handling task to be assigned can be the same as determining the first robot for the first outbound handling task in this example.
[0176] In one possible example, determining the first robot corresponding to the first outbound handling task from the at least one candidate robot based on the set of first estimated arrival times and the second estimated arrival time corresponding to the first outbound handling task includes: determining a reference robot corresponding to the first outbound handling task from the at least one candidate robot based on the second estimated arrival time and the set of first estimated arrival times corresponding to the first outbound handling task, wherein the time difference between the first estimated arrival time and the second estimated arrival time corresponding to the reference robot is not less than a preset value; and determining the robot with the earliest first estimated arrival time among the reference robots as the first robot corresponding to the first outbound handling task.
[0177] For example, considering three candidate robots (robot a, robot b, and robot c), assuming that robot a's estimated arrival time at the target workstation (workstation 1) when performing the first outbound handling task (task 1) is time 1, robot b's estimated arrival time at workstation 1 is time 2, and robot c's estimated arrival time at workstation 1 is time 3, then the set of estimated arrival times for task 1 includes time 1, time 2, and time 3. When determining the target robot for task 1, assuming that the time difference between time 2 and time 3 and the arrival time of the third robot at workstation 1 is not less than a preset value, while the time difference between time 1 and the arrival time of the third robot at workstation 1 is less than the preset value, then robots b and c are determined as reference robots for task 1, and time 2 and time 3 are the first times corresponding to task 1. If time 3 is earlier than time 2, then robot c can be determined as the target robot for task 1; similarly, if time 2 is earlier than time 3, then robot b can be determined as the target robot for task 1.
[0178] Furthermore, if time 2 and time 3 are the same, the robot whose position is closest to workstation 1 between robots b and c can be determined as the first robot corresponding to task 1 (since robots b and c are currently in an idle state, their current positions can be directly obtained; if the reference robot here includes robot a, then its position when it finished the previous handling task and returned to an idle state needs to be obtained), to reduce the movement path of the first robot when it reaches the target workstation. That is, if there are multiple reference robots that arrive at the target workstation corresponding to the first outbound handling task at the same time, the reference robot whose position is closest to the target workstation when it returns to an idle state can be selected as the first robot.
[0179] In specific implementation, the server can first select reference robots from at least one candidate robot based on the second estimated arrival time of the third robot to the target workstation. Reference robots whose first estimated arrival time to the target workstation is relatively evenly distributed with the second estimated arrival time. Specifically, the server can first establish a time axis based on the second estimated arrival time of each third robot to the target workstation, and map the first estimated arrival time of each candidate robot to the time axis of the workstation. Then, for each first estimated arrival time on the time axis, obtain the two first estimated arrival times adjacent to the second estimated arrival time on the time axis, and calculate the two time differences between the two first estimated arrival times and the second estimated arrival time. If either of the two time differences is less than a preset value, the candidate robot corresponding to the first estimated arrival time is removed. The remaining candidate robots after removal can be used as reference robots. Furthermore, for the consideration of real-time handling, the reference robot that arrives at the workstation the fastest among the reference robots can be determined as the first robot.
[0180] As can be seen in this example, the server determines a reference robot corresponding to the first outbound handling task from at least one candidate robot based on the second estimated arrival time of the third robot to the target workstation corresponding to the first outbound handling task, and a set of first estimated arrival times corresponding to the first outbound handling task. The time when the reference robot arrives at the target workstation when executing the first outbound handling task, i.e., the difference between the first estimated arrival time and the second estimated arrival time of the reference robot, is not less than a preset value. Based on the robot with the earliest first estimated arrival time among the reference robots, the first robot corresponding to the first outbound handling task is determined. This ensures that the first robot receiving the first outbound handling task can start executing the task earlier, and that the time interval between the arrival of the first robot and other third robots at the target workstation is relatively evenly distributed. This reduces the situation where multiple robots arrive at the same target workstation at the same time, which affects efficiency and is beneficial to improving handling efficiency.
[0181] In practice, when determining the target robot for each of the multiple outbound handling tasks to be assigned, the process of determining the target robot for each outbound handling task to be assigned can be the same as determining the first robot for the first outbound handling task in this example.
[0182] Furthermore, if multiple outbound handling tasks have the same target robot, the tasks can be prioritized based on the number of reference robots corresponding to each task. For example, tasks with fewer reference robots can have higher priority. When assigning robots, tasks with higher priority are assigned to their target robots first. If a task with lower priority has already assigned its target robot to another task, the target robot can be determined from the remaining reference robots until a target robot is determined for each task.
[0183] Please refer to Figure 3a, which is a structural schematic diagram of a bin picking and placing device provided in an embodiment of this application. It can be applied to the server 100 of the warehousing system shown in Figure 1a. The warehousing system includes storage racks and at least one robot. A track is provided on the storage racks, and the robot moves along the track to pick and place bins according to a task sent by the server. The at least one robot includes a first robot. The bin picking and placing device 30 includes:
[0184] The first determining unit 301 is used to determine the first outbound handling task to be executed by the first robot, and the first outbound handling task corresponds to the first outbound bin stored in the first storage location.
[0185] The second determining unit 302 is used to determine the second storage location corresponding to the first inbound handling task based on the first storage location. The first inbound handling task is the handling task that the first robot needs to perform before performing the first outbound handling task. The second storage location and the first storage location are both located in the first column of the storage rack. The first column includes at least one free storage location. The free storage location is a storage location that does not store a material box.
[0186] Sending unit 303 is used to send the first inbound transport task to the first robot. The first inbound transport task is used to instruct the first robot to transport the first inbound bin to the second storage location for inbound.
[0187] In one possible example, the second storage bit is the lowest-height free storage bit among the at least one free storage bits.
[0188] In one possible example, in determining the second storage location corresponding to the first inbound handling task based on the first storage location, the second determining unit 302 is specifically configured to: determine the first column where the first storage location is located; determine the lowest free storage location in the first column in ascending order; and determine the lowest free storage location as the second storage location.
[0189] In one possible example, the bin picking and placing device 30 is further configured to: after sending the first inbound handling task to the first robot, send the first outbound handling task to the first robot, the first outbound handling task being used to instruct the first robot to retrieve the first bin to be outbound from the first storage location.
[0190] In one possible example, the bin handling device 30 is further configured to: after sending the first inbound handling task to the first robot, send a second outbound handling task to the first robot, wherein the second outbound handling task is a handling task assigned to the first robot by the server when the first robot performs the first inbound handling task, which is different from the first outbound handling task, and the second outbound handling task is used to instruct the first robot to place the first bin to be inbound in the second storage location and then retrieve the second bin to be outbound in the third storage location corresponding to the second outbound handling task.
[0191] In one possible example, the bin handling device 30 is further configured to: after sending the first inbound handling task to the first robot, send a second outbound handling task to the first robot, wherein the second outbound handling task is a handling task assigned to the first robot by the server when the first robot performs the first inbound handling task, which is different from the first outbound handling task, and the first robot does not perform the first outbound handling task after performing the second outbound handling task. The second outbound handling task is used to instruct the first robot to place the first bin to be inbound in the second storage position and then retrieve the second bin to be outbound in the third storage position corresponding to the second outbound handling task.
[0192] In one possible example, the at least one robot further includes a second robot, and the bin handling device 30 is further configured to: after sending a second outbound handling task to the first robot, send a second inbound handling task to the second robot, the second inbound handling task corresponding to a fourth storage location, the fourth storage location being located in the second column of the storage rack, the second column including at least two free storage locations, the second inbound handling task being configured to instruct the second robot to move the second outbound bin that has completed the outbound handling task to the fourth storage location for inbound operation, the fourth storage location being one of the at least two free storage locations.
[0193] In one possible example, the first determining unit 301 is specifically configured to: acquire the first outbound handling task; determine the estimated idle time of at least one candidate robot, and / or the second estimated arrival time of the third robot when it executes the received handling task to reach the target workstation, the target workstation being the workstation corresponding to the first outbound handling task; and determine the first robot corresponding to the first outbound handling task from the at least one candidate robot based on the estimated idle time and / or the second estimated arrival time.
[0194] In one possible example, the at least one candidate robot includes: a robot that is currently in an idle state and / or will be in an idle state after a first preset time.
[0195] In one possible example, regarding the determination of the first robot corresponding to the first outbound handling task from the at least one candidate robot, the first determining unit 301 is specifically configured to: determine the first robot corresponding to the first outbound handling task from the at least one candidate robot by: determining a first estimated arrival time of each candidate robot to the target workstation when performing the first outbound handling task, based on the estimated idle time of each candidate robot in the at least one candidate robot, to obtain a set of first estimated arrival times corresponding to the first outbound handling task; and determining the first robot corresponding to the first outbound handling task from the at least one candidate robot based on the set of first estimated arrival times corresponding to the first outbound handling task and a second estimated arrival time.
[0196] In one possible example, regarding the determination of the first robot corresponding to the first outbound handling task from the at least one candidate robots based on the set of first estimated arrival times and the second estimated arrival time corresponding to the first outbound handling task, the first determining unit 301 is specifically configured to: determine a reference robot corresponding to the first outbound handling task from the at least one candidate robots based on the second estimated arrival time and the set of first estimated arrival times corresponding to the first outbound handling task, wherein the time difference between the first estimated arrival time and the second estimated arrival time corresponding to the reference robot is not less than a preset value; and determine the robot with the earliest first estimated arrival time among the reference robots as the first robot corresponding to the first outbound handling task.
[0197] A schematic diagram of the second type of bin loading and unloading device provided in this application embodiment, using an integrated unit, is shown in Figure 3b. In Figure 3b, the bin loading and unloading device includes a processing module 310 and a communication module 311. The processing module 310 is used to control and manage the operation of the bin loading and unloading device, for example, the steps executed by the first determining unit 301, the second determining unit 302, and the sending unit 303, and / or to execute other processes described in this application. The communication module 311 is used to support the interaction between the bin loading and unloading device 30 and other devices. As shown in Figure 3b, the bin loading and unloading device may also include a storage module 312, which is used to store the program code and data of the bin loading and unloading device.
[0198] The processing module 310 can be a processor or controller, such as a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an ASIC, an FPGA, or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc. The communication module 311 can be a transceiver, RF circuitry, or a communication interface, etc. The storage module 312 can be a memory.
[0199] Please refer to Figure 4a, which is a structural schematic diagram of the third type of bin picking and placing device provided in this application embodiment. It can be applied to a first robot, which can be one of the robots 200 in the warehousing system shown in Figure 1a. The warehousing system includes a server, a storage rack, and at least one robot. The storage rack is provided with a track, and the at least one robot walks on the track to pick up and place bins according to the task sent by the server. The bin picking and placing device 40 includes:
[0200] The receiving unit 401 is used to receive a first inbound handling task, the first inbound handling task corresponds to a first inbound material box, the first inbound material box corresponds to a second storage position, the second storage position is determined based on the first storage position, the first storage position is the storage position of the first outbound material box corresponding to the first outbound handling task to be executed by the first robot, the first outbound handling task is the handling task to be executed by the first robot after the first inbound handling task is completed, the second storage position and the first storage position are both located in the first column of the storage rack, and the first column includes at least one free storage position, the free storage position is the storage position that does not store a material box;
[0201] The handling unit 402 is used to handle the first material box to be put into storage to the first climbing point corresponding to the first column;
[0202] Climbing unit 403 is used to climb to the second storage bit in the first column;
[0203] The warehousing unit 404 is used to place the first warehousing bin in the second storage location to complete the first warehousing and handling task.
[0204] In one possible example, the second storage bit is the lowest-height free storage bit among the at least one free storage bits.
[0205] In one possible example, the bin picking and placing device 40 is further configured to, after receiving the first inbound handling task, receive the first outbound handling task; climb or descend to the first storage position, and retrieve the first bin to be outbound from the first storage position.
[0206] In one possible example, the bin handling device 40 is further configured to, after receiving the first inbound handling task, receive a second outbound handling task, wherein the second outbound handling task is a handling task assigned by the server to the first robot, which is different from the first outbound handling task, when the first robot performs the first inbound handling task; and after placing the first bin to be inbound in the second storage location, retrieve the second bin to be outbound corresponding to the second outbound handling task from the third storage location.
[0207] In one possible example, the bin handling device 40 is further configured to receive a second outbound handling task after receiving a first inbound handling task, wherein the first outbound handling task is a handling task assigned to the first robot by the server, which is different from the first outbound handling task, when the first robot performs the first inbound handling task; after placing the first bin to be inbound in the second storage location, the method further includes: retrieving the second bin to be outbound corresponding to the second outbound handling task from the third storage location, and the first robot no longer performs the first outbound handling task after performing the second outbound handling task.
[0208] A schematic diagram of the fourth bin-handling device provided in this application embodiment, using an integrated unit, is shown in Figure 4b. In Figure 4b, the bin-handling device includes a processing module 410 and a communication module 411. The processing module 410 controls and manages the actions of the bin-handling device, for example, the steps performed by the receiving unit 401, the handling unit 402, the climbing unit 403, and the storage unit 404, and / or other processes described in this application. The communication module 411 supports interaction between the bin-handling device 40 and other devices. As shown in Figure 4b, the bin-handling device may also include a storage module 412, which stores the program code and data of the bin-handling device.
[0209] The processing module 410 can be a processor or controller, such as a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an ASIC, an FPGA, or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc. The communication module 411 can be a transceiver, RF circuitry, or a communication interface, etc. The storage module 412 can be a memory.
[0210] Please refer to Figure 5a, which is a structural schematic diagram of the fifth type of bin picking and placing device provided in this application embodiment. It can be applied to a second robot, which can be one of the robots 200 in the warehousing system shown in Figure 1a. The warehousing system includes a server, a storage rack, and at least one robot, including a first robot and the second robot. The storage rack is provided with a track, and the at least one robot walks on the track to pick up and place bins according to the task sent by the server. The bin picking and placing device 40 includes:
[0211] The receiving unit 501 is used to receive a second inbound handling task, which is sent by the server after sending a second outbound handling task to the first robot. The second outbound handling task is used to instruct the first robot to place the first inbound material box in the second storage position and then take out the second outbound material box corresponding to the second outbound handling task from the third storage position. The second inbound handling task corresponds to a fourth storage position, which is located in the second column of the storage rack. The second column includes at least two free storage positions.
[0212] The warehousing unit 502 is used to move the second outbound material box that has completed the outbound handling task to the fourth storage position for warehousing operation. The fourth storage position is one of the at least two free storage positions.
[0213] A schematic diagram of the sixth bin-handling device provided in this application embodiment, using an integrated unit, is shown in Figure 5b. In Figure 5b, the bin-handling device includes a processing module 510 and a communication module 511. The processing module 510 is used to control and manage the operation of the bin-handling device, for example, the steps performed by the receiving unit 501 and the storage unit 502, and / or other processes described in this application. The communication module 511 is used to support interaction between the bin-handling device 50 and other devices. As shown in Figure 5b, the bin-handling device may also include a storage module 512, which stores the program code and data of the bin-handling device.
[0214] The processing module 510 can be a processor or controller, such as a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an ASIC, an FPGA, or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc. The communication module 511 can be a transceiver, RF circuitry, or a communication interface, etc. The storage module 512 can be a memory.
[0215] All relevant content in each scenario involved in the above method embodiments can be referenced from the functional descriptions of the corresponding functional modules, and will not be repeated here. All of the above-mentioned bin handling devices can execute the steps performed by the server, the first robot, or the second robot in the bin handling method shown in Figure 2.
[0216] This application also provides a computer storage medium storing a computer program for electronic data interchange, which causes a computer to perform some or all of the steps of any of the methods described in the above method embodiments.
[0217] This application also provides a computer program product, including a computer program that, when executed by a processor, implements some or all of the steps of any of the methods described in the above method embodiments. This computer program product can be a software installation package.
[0218] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and units involved are not necessarily essential to this application.
[0219] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0220] In the several embodiments provided in this application, it should be understood that the disclosed apparatus can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical or other forms.
[0221] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0222] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0223] If the aforementioned integrated units are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage device (CMD). Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned memory includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.
[0224] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage device, which may include a flash drive, ROM, RAM, disk, or optical disk, etc.
[0225] The embodiments of this application have been described in detail above. Specific examples have been used in this application to illustrate the principles and implementation methods of this application. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A method for picking up and placing materials into a bin, characterized in that, A server is used in a warehousing system, the warehousing system including the server, storage racks, and at least one robot. The storage racks are equipped with tracks, and the at least one robot moves along the tracks to pick up and place boxes according to tasks sent by the server. The at least one robot includes a first robot. The method includes: Determine the first outbound handling task to be executed by the first robot, and the first outbound handling task corresponds to the first outbound bin stored in the first storage location; Based on the first storage location, a second storage location corresponding to the first inbound handling task is determined. The first inbound handling task is a handling task that the first robot needs to perform before performing the first outbound handling task. The second storage location and the first storage location are both located in the first column of the storage rack. The first column includes at least one free storage location, which is a storage location that does not store a material box. Send the first inbound transport task to the first robot. The first inbound transport task is used to instruct the first robot to transport the first bin to be put into storage to the second storage location for storage.
2. The method according to claim 1, characterized in that, The second storage bit is the free storage bit with the lowest height among the at least one free storage bits.
3. The method according to claim 2, characterized in that, The step of determining the second storage location corresponding to the first inbound handling task based on the first storage location includes: Determine the first column in which the first storage bit is located; Determine the free storage bit with the lowest height in the first column in ascending order; The lowest free storage bit is determined as the second storage bit.
4. The method according to claim 1, characterized in that, After sending the first inbound handling task to the first robot, the method further includes: Send the first outbound handling task to the first robot, the first outbound handling task being used to instruct the first robot to retrieve the first outbound material box from the first storage location.
5. The method according to claim 1, characterized in that, After sending the first inbound handling task to the first robot, the method further includes: Send a second outbound transport task to the first robot, wherein the second outbound transport task is a transport task assigned to the first robot by the server when the first robot performs the first inbound transport task, which is different from the first outbound transport task. The second outbound transport task is used to instruct the first robot to place the first inbound material box in the second storage position and then retrieve the second outbound material box corresponding to the second outbound transport task from the third storage position.
6. The method according to claim 1, characterized in that, After sending the first inbound handling task to the first robot, the method further includes: Send a second outbound transport task to the first robot. The second outbound transport task is a transport task assigned to the first robot by the server when the first robot performs the first inbound transport task. It is different from the first outbound transport task. After the first robot performs the second outbound transport task, it no longer performs the first outbound transport task. The second outbound transport task is used to instruct the first robot to place the first inbound material box in the second storage position and then retrieve the second outbound material box corresponding to the second outbound transport task from the third storage position.
7. The method according to claim 5 or 6, characterized in that, The at least one robot further includes a second robot, and after sending the second outbound handling task to the first robot, the method further includes: A second inbound transport task is sent to the second robot. The second inbound transport task corresponds to a fourth storage location. The fourth storage location is located in the second column of the storage rack. The second column includes at least two free storage locations. The second inbound transport task is used to instruct the second robot to transport the second outbound bin that has completed the outbound transport task to the fourth storage location for inbound operation. The fourth storage location is one of the at least two free storage locations.
8. The method according to claim 1, characterized in that, The process of determining the first outbound handling task to be performed by the first robot includes: Obtain the first outbound handling task; Determine the estimated idle time of at least one candidate robot, and / or the second estimated arrival time of the third robot when it executes the received handling task to the target workstation, the target workstation being the workstation corresponding to the first outbound handling task; Based on the estimated idle time and / or the second estimated arrival time, the first robot corresponding to the first outbound handling task is determined from the at least one candidate robot.
9. The method according to claim 8, characterized in that, The at least one candidate robot includes: a robot that is currently in an idle state and / or will be in an idle state after a first preset time.
10. The method according to claim 8, characterized in that, The step of determining the first robot corresponding to the first outbound handling task from the at least one candidate robot includes: Based on the estimated idle time of each of the at least one candidate robots, determine the first estimated arrival time of each candidate robot when it performs the first outbound handling task to reach the target workstation, so as to obtain a set of first estimated arrival times corresponding to the first outbound handling task; Based on the first estimated arrival time and the second estimated arrival time corresponding to the first outbound handling task, the first robot corresponding to the first outbound handling task is determined from the at least one candidate robot.
11. The method according to claim 10, characterized in that, The step of determining the first robot corresponding to the first outbound handling task from the at least one candidate robot based on the set of first estimated arrival times and the second estimated arrival times corresponding to the first outbound handling task includes: Based on the second estimated arrival time and the set of first estimated arrival times corresponding to the first outbound handling task, a reference robot corresponding to the first outbound handling task is determined from the at least one candidate robot, wherein the time difference between the first estimated arrival time and the second estimated arrival time corresponding to the reference robot is not less than a preset value; The robot with the earliest estimated arrival time among the reference robots is determined as the first robot corresponding to the first outbound handling task.
12. A method for handling and placing a material bin, characterized in that, A first robot is applied in a warehousing system, the warehousing system including a server, storage racks, and the first robot. The storage racks are equipped with tracks, and the first robot moves along the tracks to pick up and place boxes according to tasks sent by the server. The method includes: The system receives a first inbound transport task, which corresponds to a first inbound bin. The first inbound bin corresponds to a second storage location, which is determined based on the first storage location. The first storage location is the storage location of the first outbound bin corresponding to the first outbound transport task to be executed by the first robot. The first outbound transport task is the transport task to be executed by the first robot after completing the first inbound transport task. Both the second storage location and the first storage location are located in the first column of the storage rack, and the first column includes at least one free storage location, which is a storage location that does not store a bin. The first bin to be put into storage is moved to the first climbing point corresponding to the first column; Climb to the second storage bit in the first column; The first material box to be put into storage is placed in the second storage location to complete the first storage and handling task.
13. The method according to claim 12, characterized in that, The second storage bit is the free storage bit with the lowest height among the at least one free storage bits.
14. The method according to claim 12, characterized in that, After receiving the first inbound handling task, the method further includes: Receive the first outbound handling task; Climb or descend to the first storage position and retrieve the first outbound material box from the first storage position.
15. The method according to claim 12, characterized in that, After receiving the first inbound handling task, the method further includes: Receive a second outbound handling task, wherein the second outbound handling task is a handling task assigned by the server to the first robot, which is different from the first outbound handling task, when the first robot performs the first inbound handling task; After placing the first material bin to be stored in the second storage location, the method further includes: Retrieve the second outbound material box corresponding to the second outbound handling task from the third storage location.
16. The method according to claim 12, characterized in that, After receiving the first inbound handling task, the method further includes: Receive a second outbound handling task, wherein the first outbound handling task is a handling task assigned by the server to the first robot, which is different from the first outbound handling task, when the first robot performs the first inbound handling task; After placing the first material bin to be stored in the second storage location, the method further includes: The second outbound material box corresponding to the second outbound handling task is retrieved from the third storage location. After the first robot executes the second outbound handling task, it will no longer execute the first outbound handling task.
17. A server, characterized in that, The server includes a processor, a memory, and a communication interface, wherein the processor, the memory, and the communication interface are interconnected, wherein the communication interface is used to receive or send data, the memory is used to store application code for the server to execute the method as described in any one of claims 1-11, and the processor is configured to execute the method as described in any one of claims 1-11.
18. A first robot, characterized in that, The first robot includes a processor, a memory, and a communication interface, wherein the processor, the memory, and the communication interface are interconnected, wherein the communication interface is used to receive or send data, the memory is used to store application code for the first robot to execute the method as described in any one of claims 12-16, and the processor is configured to execute the method as described in any one of claims 12-16.
19. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program for electronic data interchange, wherein the computer program causes a computer to perform the steps of the method as claimed in any one of claims 1-11 or 12-16.
20. A computer program product, characterized in that, The method includes a computer program that, when executed by a processor, implements the steps of the method as described in any one of claims 1-11 or 12-16, and the computer program product includes a software installation package.
21. A warehousing system comprising a server, storage racks, and a first robot, wherein, The storage rack is equipped with a track, and the first robot moves on the track to pick up and put away material boxes according to the task sent by the server. The server is used to determine the first outbound handling task to be executed by the first robot, and the first outbound handling task corresponds to the first outbound bin stored in the first storage location. The server is also used to determine the second storage location corresponding to the first inbound handling task based on the first storage location. The first inbound handling task is the handling task that the first robot needs to perform before performing the first outbound handling task. The second storage location and the first storage location are both located in the first column of the storage rack. The first column includes at least one free storage location. The free storage location is a storage location that does not store a material box. The server is used to send the first inbound handling task to the first robot; The first robot is used to receive the first inbound transport task and to transport the first inbound material box to the first climbing point corresponding to the first column, and climb to the second storage position in the first column, and place the first inbound material box in the second storage position.
22. The warehousing system according to claim 21, characterized in that, The second storage bit is the free storage bit with the lowest height among the at least one free storage bits.
23. The warehousing system according to claim 21, characterized in that, The server is also used for: After sending the first inbound transport task to the first robot, send the first outbound transport task to the first robot; The first robot is also configured to: after receiving the first inbound transport task, receive the first outbound transport task, climb or descend to the first storage position, and retrieve the first outbound material box from the first storage position.
24. The warehousing system according to claim 21, characterized in that, The server is also used for: After sending the first inbound transport task to the first robot, a second outbound transport task is sent to the first robot, wherein the second outbound transport task is a transport task that is different from the first outbound transport task assigned to the first robot by the server when the first robot performs the first inbound transport task. The first robot is also configured to: receive the second outbound transport task after receiving the first inbound transport task, and retrieve the second outbound transport box corresponding to the second outbound transport task from the third storage location after placing the first inbound transport box in the second storage location.
25. The warehousing system according to claim 21, characterized in that, The server is also used for: After sending the first inbound transport task to the first robot, a second outbound transport task is sent to the first robot, wherein the second outbound transport task is a transport task that is different from the first outbound transport task assigned to the first robot by the server when the first robot performs the first inbound transport task. The first robot is also configured to: receive the second outbound transport task after receiving the first inbound transport task, and retrieve the second outbound transport box corresponding to the second outbound transport task from the third storage location after placing the first inbound transport box in the second storage location. The first robot will not execute the first outbound transport task after executing the second outbound transport task.
26. The warehousing system according to claim 24 or 25, characterized in that, The warehousing system also includes a second robot, wherein... The server is also configured to: after sending a second outbound handling task to the first robot, send a second inbound handling task to the second robot, the second inbound handling task corresponding to a fourth storage location, the fourth storage location being located in the second column of the storage rack, the second column including at least two free storage locations, the fourth storage location being one of the at least two free storage locations; The second robot is used to receive the second inbound handling task and move the second outbound material box that has completed the outbound handling task to the fourth storage position for inbound operation.
Citation Information
Patent Citations
Warehouse management method and equipment based on various equipment system assisted operation, and medium
CN115158945A
Warehousing system and warehouse-in and warehouse-out control method
CN115196240A
Automatic storing and taking system and method and automatic stereoscopic warehouse
CN115783580A
Warehousing system, warehousing system scheduling method and device and electronic equipment
CN116002257A
Material box carrying method, device and equipment and storage medium
CN116198885A