A robot unloading method, system, server and storage medium
By using robots to collaboratively move material boxes in both vertical and horizontal directions, the inefficiency caused by complex unloading processes in existing technologies is solved, achieving a simple and efficient exchange of material box positions.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HANGZHOU HIKROBOT TECH CO LTD
- Filing Date
- 2024-09-30
- Publication Date
- 2026-05-01
AI Technical Summary
In existing technologies, when all storage locations in a warehouse are occupied by bins or the storage locations to which bins need to be moved are occupied, bin-type AGVs require a complex unloading process to exchange bin locations, resulting in low sorting efficiency.
The robotic sorting method involves acquiring the sorting task for the target bins, using a first robot to vertically move the bins to the buffer position in the same column, a second robot to horizontally move them to the buffer area on the same layer, and finally a third robot to vertically move the bins to the target storage position, thus avoiding a complex unloading process.
It simplifies the material bin handling process, improves sorting efficiency, and the collaborative operation of robots eliminates the need for cross-regional movement, further enhancing overall handling efficiency.
Smart Images

Figure CN119190693B_ABST
Abstract
Description
A robotic inventory management method, system, server, and storage medium Technical Field
[0001] This application relates to the field of intelligent warehousing technology, and in particular to a robotic sorting method, system, server, and storage medium. Background Technology
[0002] During warehouse operations, goods stored in the warehouse need to be organized to meet operational requirements or improve efficiency. For example, organizing goods is necessary to facilitate faster outbound shipments. Alternatively, business needs may require grouping certain goods into a specific area of the warehouse, necessitating organization. For automated warehouses using bin robots (also known as Automated Guided Vehicles), where personnel cannot enter, bin robots perform automated warehouse management.
[0003] In related technologies, a bin-type AGV retrieves a loaded bin from one storage location and places it into a basket mounted on the AGV. The AGV then carries the bin to another storage location and places it there. However, when all storage locations in the warehouse are occupied, or when the desired storage location is taken, the bin-type AGV requires a complex unloading process to exchange bin locations, reducing inventory management efficiency. Summary of the Invention
[0004] The purpose of this application is to provide a robotic inventory management method, system, server, and storage medium to improve inventory management efficiency. The specific technical solution is as follows:
[0005] In a first aspect, to achieve the above objectives, embodiments of this application provide a robot inventory management method, the method comprising: obtaining an inventory management task for a target bin in a warehouse; wherein the inventory management task is to move the target bin from a first storage location on a first shelf to a second storage location on a second shelf; determining a first buffer location for the target bin based on the first storage location, and controlling a first robot to move the target bin from the first storage location to the first buffer location; wherein the first buffer location belongs to a first buffer area in the same column as the first shelf; the first robot is used to move the bin vertically; determining a second buffer location for the target bin based on the second storage location and the first buffer location, and controlling a second robot to move the target bin from the first buffer location to the second buffer location; wherein the second buffer location belongs to a second buffer area in the same column as the second shelf and on the same layer as the first buffer area; the second robot is used to move the bin horizontally; and controlling a third robot to move the target bin from the second buffer location to the second storage location; wherein the third robot is used to move the bin vertically.
[0006] Optionally, determining the first buffer position of the target bin based on the first storage position and controlling the first robot to move the target bin from the first storage position to the first buffer position includes: determining a first buffer area in the warehouse that is in the same column as the first shelf; determining, from the first buffer area, the free buffer position with the smallest distance from the first storage position as the first buffer position; and controlling the first robot to move the target bin from the first storage position to the first buffer position.
[0007] Optionally, the warehouse includes multiple work platforms; each work platform includes at least one storage area; the at least one storage area includes at least one shelf, and each shelf includes a buffer area; shelves with overlapping projected areas in the horizontal plane in the multiple work platforms are in the same column.
[0008] The step of determining the first buffer zone in the warehouse that is in the same column as the first shelf includes: determining the buffer zone in the first shelf, the buffer zone in the upper shelf in the same column as the first shelf, and the buffer zone in the lower shelf in the same column as the first shelf, to obtain multiple candidate buffer zones for the first shelf; for each candidate buffer zone, counting the number of transfer sub-tasks performed by the second robot in the horizontal direction in each buffer zone on the same layer of the candidate buffer zone, as the first number; wherein, the transfer sub-tasks in the horizontal direction include: the sub-task of moving the toy box between buffer zones; determining the buffer zone with the smallest first number among the candidate buffer zones as the first buffer zone.
[0009] Optionally, before determining the free cache location with the smallest distance from the first storage location in the first cache area as the first cache location, the method further includes: generating a transfer subtask to move the target bin from the first storage location to the first cache area as a first subtask; determining the transfer subtask with the highest priority from the transfer subtasks to be executed in the vertical direction; wherein the transfer subtask in the vertical direction includes: a subtask to move the bin from the storage location to the cache area, and a subtask to move the bin from the cache area to the storage location;
[0010] The step of determining the free cache location with the smallest distance from the first storage location in the first cache area as the first cache location includes: when the highest priority transfer subtask in the vertical direction is determined to be the first subtask, determining whether the number of free cache locations in the first cache area is greater than a second number; if the number of free cache locations in the first cache area is greater than the second number, determining the free cache location with the smallest distance from the first storage location in the first cache area as the first cache location;
[0011] The method further includes: if the number of free buffer locations in the first buffer area is less than the second number, reducing the priority of the first subtask, and controlling the first robot to execute other transfer subtasks in the vertical direction besides the first subtask.
[0012] Optionally, controlling the first robot to move the target bin from the first storage location to the first buffer location includes: determining, from among the robots used to move the bin vertically, the robot with the lowest time cost in performing the first sub-task, as the first robot, and controlling the first robot to move the target bin from the first storage location to the first buffer location.
[0013] Optionally, determining the second cache position of the target bin based on the second storage position and the first cache position, and controlling the second robot to move the target bin from the first cache position to the second cache position, includes: determining a cache area on the same layer as the first cache area and in the same column as the second shelf to obtain a second cache area; determining, from the second cache area, the free cache position with the smallest distance from the first cache position as the second cache position; and controlling the second robot to move the target bin from the first cache position to the second cache position.
[0014] Optionally, before determining the free buffer location with the smallest distance from the first buffer location in the second buffer area as the second buffer location, the method further includes: generating a transfer subtask to move the target bin from the first buffer location to the second buffer area as the second subtask; determining the transfer subtask with the highest priority from the transfer subtasks to be executed in the horizontal direction; wherein the transfer subtasks in the horizontal direction include: subtasks for moving bins between buffer areas;
[0015] The step of determining the free cache position with the smallest distance from the first cache position from the second cache area as the second cache position includes: when the second subtask is determined to be the highest priority transfer subtask in the horizontal direction, determining whether the number of free cache positions in the second cache area is greater than a second number; if the number of free cache positions in the second cache area is greater than the second number, determining the free cache position with the smallest distance from the first cache position from the second cache area as the second cache position;
[0016] The method further includes: if the number of free cache locations in the second cache area is less than the second number, reducing the priority of the second subtask, and controlling the second robot to execute other horizontal transfer subtasks besides the second subtask.
[0017] Optionally, controlling the second robot to move the target bin from the first buffer position to the second buffer position includes: determining, from among the robots used to move the bin horizontally, the robot with the lowest time cost in performing the second sub-task, as the second robot, and controlling the second robot to move the target bin from the first buffer position to the second buffer position.
[0018] Optionally, controlling the third robot to move the target bin from the second buffer position to the second storage position includes: generating a transfer subtask to move the target bin from the second buffer position to the second storage position, as the third subtask; determining the highest priority transfer subtask from the vertically executed transfer subtasks; wherein the vertically executed transfer subtasks include: a subtask to move the bin from the storage position to the buffer area, and a subtask to move the bin from the buffer area to the storage position; when the determined highest priority vertically executed transfer subtask is the third subtask, controlling the third robot to move the target bin from the second buffer position to the second storage position.
[0019] Optionally, when the highest priority transfer subtask in the vertical direction is determined to be the third subtask, controlling the third robot to move the target box from the second buffer position to the second storage position includes: when the highest priority transfer subtask in the vertical direction is determined to be the third subtask, determining whether a box is placed in the second storage position; if no box is placed in the second storage position, controlling the third robot to move the target box from the second buffer position to the second storage position;
[0020] The method further includes: if a material box is placed in the second storage location, reducing the priority of the third subtask, and controlling the third robot to perform other transfer subtasks in the vertical direction besides the third subtask.
[0021] Optionally, controlling the third robot to move the target bin from the second buffer position to the second storage position includes: determining, from among the robots used to move the bin vertically, the robot with the lowest time cost in performing the third sub-task, as the third robot, and controlling the third robot to move the target bin from the second buffer position to the second storage position.
[0022] Optionally, the method further includes: upon receiving a first feedback message from the first robot indicating that the hopper has been retrieved from the storage location, recording the storage location as an idle storage location; and upon receiving a second feedback message from the second robot indicating that the hopper has been retrieved from the cache location, recording the cache location as an idle cache location.
[0023] Optionally, after determining the first buffer position of the target bin based on the first storage position, the method further includes: recording the first buffer position as occupied;
[0024] After determining the second cache position of the target bin based on the second storage position and the first cache position, the method further includes: recording the second cache position as occupied.
[0025] Optionally, the first robot and the third robot are lifting robots; the second robot is a stealthy robot; the stealthy robot includes a controller, a motion chassis, and a lifting platform; the lifting platform is mounted on the motion chassis; the lifting platform is used to place a material box; the controller controls the motion chassis to move horizontally, thereby driving the lifting platform to move horizontally;
[0026] The lifting robot includes: a controller, a motion chassis, a support frame, and a carrier component; the support frame is mounted on the motion chassis; the carrier component is connected to one side of the support frame via a drive assembly; the controller controls the drive assembly to move vertically along the support frame to move the carrier component vertically; and the controller controls the drive assembly to move horizontally to move the carrier component horizontally.
[0027] or,
[0028] The lifting robot includes: a controller, a motion chassis, a support frame, and a carrier component; the support frame is mounted on the motion chassis; the support frame includes two vertically parallel columns, and multiple horizontally parallel partitions are arranged between the two columns to form multiple storage spaces between them; the multiple storage spaces are used to place material boxes; the carrier component is connected to one side of the support frame via a drive assembly; the controller controls the drive assembly to move vertically along the support frame to move the carrier component vertically; and the controller controls the drive assembly to move horizontally to move the carrier component horizontally.
[0029] Secondly, in order to achieve the above objectives, embodiments of this application provide a robotic cargo handling system, the system comprising: a server, a lifting robot, and a stealthy robot; the lifting robot is used to transport the material boxes vertically; the stealthy robot is used to transport the material boxes horizontally.
[0030] The warehouse for sorting goods contains multiple working platforms; each working platform contains at least one storage area; the at least one storage area contains at least one shelf, and each shelf contains a buffer area; shelves with overlapping projected areas in the horizontal plane in the multiple working platforms are in the same column; shelves in the same column in the multiple working platforms share at least one lifting robot, the vertical extension height of which supports picking up goods from the top shelf in the top working platform.
[0031] The server is used to obtain the sorting task of the target bin in the warehouse; wherein, the sorting task is to move the target bin from a first storage position in a first shelf to a second storage position in a second shelf; determine the first cache position of the target bin according to the first storage position, and issue the first storage position and the first cache position to the first lifting robot; wherein, the first cache position belongs to the first cache area in the same column as the first shelf;
[0032] The first lifting robot is used to move the target bin from the first storage location to the first buffer location;
[0033] The server is further configured to determine the second cache location of the target bin based on the second storage location and the first cache location, and to send the first cache location and the second cache location to the lurking robot; wherein the second cache location belongs to the second cache area, which is in the same column as the second shelf and on the same layer as the first cache area;
[0034] The stealth robot is used to move the target bin from the first buffer position to the second buffer position;
[0035] The server is also used to send the second cache location and the second storage location to the second lifting robot;
[0036] The second lifting robot is used to move the target bin from the second buffer position to the second storage position.
[0037] This application also provides a server, including:
[0038] Memory, used to store computer programs;
[0039] The processor, when executing a program stored in memory, implements any of the robot sorting methods described above.
[0040] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements any of the robot sorting methods described above.
[0041] This application also provides a computer program product containing instructions that, when run on a computer, cause the computer to execute any of the robot inventory handling methods described above.
[0042] Beneficial effects of the embodiments in this application:
[0043] This application provides a robot inventory management method, system, server, and storage medium. The method includes: acquiring an inventory management task for a target bin in a warehouse; the inventory management task is to move the target bin from a first storage location on a first shelf to a second storage location on a second shelf; determining a first buffer location for the target bin based on the first storage location, and controlling a first robot to move the target bin from the first storage location to the first buffer location; the first buffer location belongs to a first buffer area in the same column as the first shelf; the first robot is used to move the bin vertically; determining a second buffer location for the target bin based on the second storage location and the first buffer location, and controlling a second robot to move the target bin from the first buffer location to the second buffer location; the second buffer location belongs to a second buffer area in the same column as the second shelf and on the same layer as the first buffer area; the second robot is used to move the bin horizontally; controlling a third robot to move the target bin from the second buffer location to the second storage location; and the third robot is used to move the bin vertically.
[0044] Based on the above process, buffer locations are set up in the warehouse. The first robot first moves the target box from the storage location to the buffer location, then the second robot moves the target box between the buffer locations, and finally the third robot moves the target box back to the storage location. The whole process is simpler, eliminating the need for complex unloading procedures and improving sorting efficiency. Furthermore, the first, second, and third robots work collaboratively. The first and third robots are responsible for moving the box vertically between the storage and buffer locations, while the second robot is responsible for moving the box horizontally between the buffer locations. The first and third robots do not need to move across areas when moving the box, further improving sorting efficiency.
[0045] Of course, implementing any product or method of this application does not necessarily require achieving all of the advantages described above at the same time. Attached Figure Description
[0046] 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 embodiments can be obtained based on these drawings.
[0047] Figure 1 is a flowchart of the first robot sorting method provided in the embodiment of this application;
[0048] Figure 2 is a structural diagram of a warehouse provided in an embodiment of this application;
[0049] Figure 3 is a structural diagram of a shelf provided in an embodiment of this application.
[0050] Figure 4 is a flowchart of the second robotic sorting method provided in the embodiments of this application;
[0051] Figure 5 is a schematic diagram of the first sorting scenario provided in the embodiments of this application;
[0052] Figure 6 is a flowchart of the third robot sorting method provided in the embodiments of this application;
[0053] Figure 7 is a schematic diagram of the second cargo handling scenario provided in the embodiments of this application;
[0054] Figure 8 is a flowchart of the fourth robot sorting method provided in the embodiments of this application;
[0055] Figure 9 is a flowchart of the fifth robot sorting method provided in the embodiments of this application;
[0056] Figure 10 is a schematic diagram of the third sorting scenario provided in the embodiments of this application;
[0057] Figure 11 is a flowchart of a vertical transfer subtask execution method provided in an embodiment of this application;
[0058] Figure 12 is a flowchart of a horizontal transfer subtask execution method provided in an embodiment of this application;
[0059] Figure 13 is a top view of a warehouse provided in an embodiment of this application;
[0060] Figure 14 is a structural diagram of a server provided in an embodiment of this application. Detailed Implementation
[0061] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art based on this application are within the scope of protection of this application.
[0062] In related technologies, when all storage locations in a warehouse are occupied by bins, or when the storage locations to which the bins need to be moved are occupied, bin-type AGVs need to go through a more complex unloading process to exchange the locations of the goods, thus reducing the efficiency of sorting.
[0063] To address the aforementioned problems, this application provides a robotic inventory management method applied to a server. The server communicates with both a lifting robot and a stealth robot. Following the method provided in this application, the server controls the lifting robot and the stealth robot to work collaboratively, thereby managing inventory in the warehouse and improving inventory management efficiency.
[0064] Referring to Figure 1, which is a flowchart of a robot inventory management method provided in an embodiment of this application, the method may include the following steps:
[0065] S101: Obtain the sorting task for the target bin in the warehouse.
[0066] The sorting task involves moving the target bin from its first storage location on the first shelf to its second storage location on the second shelf.
[0067] S102: Determine the first buffer position of the target bin based on the first storage position, and control the first robot to move the target bin from the first storage position to the first buffer position.
[0068] The first buffer location belongs to the first buffer area in the same column as the first shelf; the first robot is used to move the bins vertically.
[0069] S103: Determine the second cache position of the target bin based on the second storage position and the first cache position, and control the second robot to move the target bin from the first cache position to the second cache position.
[0070] The second buffer location is in the same column as the second shelf and on the same layer as the first buffer area; the second robot is used to move the bins horizontally.
[0071] S104: Control the third robot to move the target bin from the second buffer position to the second storage position.
[0072] The third robot is used to move the material box vertically.
[0073] Based on the sorting method provided in this application, a buffer location is set up in the warehouse. The first robot first moves the target box from the storage location to the buffer location, then the second robot moves the target box between the buffer locations, and finally the third robot moves the target box back to the storage location. The whole process is simpler, eliminating the need for complex unloading, thus improving sorting efficiency. Furthermore, the first, second, and third robots work collaboratively. The first and third robots are responsible for moving the box vertically between the storage location and the buffer location, while the second robot is responsible for moving the box horizontally between the buffer locations. The first and third robots do not need to move across areas when moving the box, further improving sorting efficiency.
[0074] For step S101, when the warehouse for sorting includes a working platform, the working platform includes at least one storage area; and the at least one storage area includes multiple shelves arranged in a multi-row, multi-column manner, each shelf includes multiple storage locations and a buffer area, and the buffer area is located at the bottom of the shelf.
[0075] When a warehouse for sorting goods contains multiple work platforms, each work platform contains at least one storage area; at least one storage area contains at least one shelf; each shelf contains a buffer area, and the buffer area is located at the bottom of the shelf; the shelves in each storage area are arranged in multiple rows and columns. Shelves with overlapping projected areas in the horizontal plane in a multi-level work platform are in the same column; shelves in the same column of shelves in a multi-level work platform share at least one lifting robot, whose vertical extension height supports retrieval of goods from the top shelf of the top work platform.
[0076] In some embodiments, for two adjacent work platforms, the ceiling of the lower work platform includes an opening. The opening connects the lower work platform to the upper work platform, through which the lifting robot extends to the different work platforms.
[0077] For example, referring to Figure 2, the warehouse includes two working platforms, namely working platform 201 and working platform 202; each working platform contains multiple storage areas. For example, working platform 201 includes storage areas 203 and 204. Each storage area contains multiple layers of shelves. For example, storage area 204 includes shelves 205, and shelves 205 are multi-layered. Each layer contains multiple storage locations 206. Tote boxes 207 are placed on storage locations 206. A buffer area 208 is set at the bottom of each shelf 205, and the buffer area 208 contains multiple buffer locations 209.
[0078] In multi-level work platforms, shelves with overlapping horizontal projection areas are considered to be in the same column. For example, if shelf 205 in work platform 201 and shelf 210 in work platform 202 have overlapping horizontal projection areas, then shelf 205 and shelf 210 belong to the same column. Shelves 205 and 210 share a single lifting robot 212, which is used to vertically move the boxes in shelves 205 and 210. Furthermore, the vertical extension height of the lifting robot 212 allows it to retrieve goods from the top shelf of the top work platform (i.e., work platform 201), meaning the vertical extension height of the lifting robot 212 can reach the top shelf of shelf 205.
[0079] Furthermore, the ceiling of the work platform 202 includes an opening 211. The opening 211 is used to connect the work platform 202 and the work platform 201. The lifting robot 212 extends into the work platform 201 through the opening 211 and retrieves or places material boxes in the shelves of the work platform 201.
[0080] Figure 2 also shows a stealth robot 213, which is used to move hoppers in the buffer area of the same working platform in the horizontal direction.
[0081] Referring to Figure 3, the left image is a front view of the shelf, and the right image is a side view of the shelf. The shelf has multiple levels, each containing multiple storage locations 302. Material bins 303 are placed on storage locations 302. The bottom level of the shelf is a buffer area 301 for temporarily placing material bins, and the buffer area 301 has multiple buffer locations (not shown in Figure 3). A stealth robot 304 is also shown in Figure 3.
[0082] Based on business needs, the server generates a task set for sorting bins on various shelves. Each task set contains multiple sorting tasks. A sorting task involves moving a bin from one storage location on a shelf to another. For example, to facilitate the outbound processing of bins containing goods that need to be shipped, the bin is moved from its current shelf to a shelf closer to the warehouse exit. Alternatively, when bins containing the same type of goods are scattered across the warehouse, they are moved to the same shelf. Accordingly, the server generates sorting tasks for these bins.
[0083] The server retrieves the sorting tasks for the target bins from the task set and obtains the corresponding task information. The task information includes: the identifier of the first shelf, the identifier of the first storage location, the identifier of the second shelf, and the identifier of the second storage location.
[0084] When a warehouse contains a single-level work platform, the shelf is identified by its row and column. When a warehouse contains multiple work platforms, the shelf is identified by its work platform, row, and column within that platform. Storage locations are identified by their shelf level, row, and column within that shelf. Alternatively, storage locations can be identified by their shelf level and the coordinates of their center point within that shelf.
[0085] Regarding step S102, the first robot is a robot capable of vertically transporting material boxes. For example, the first robot can be a stacker crane, a hanging robot, a rack-climbing robot, or a lifting robot, etc.
[0086] In some embodiments, the lifting robot includes a controller, a motion chassis, a support frame, and a carrier. The controller communicates with a server and controls the movement of the lifting robot.
[0087] The support frame is mounted on the motion chassis; the carrier is connected to one side of the support frame via a drive assembly; the controller controls the drive assembly to move vertically along the support frame, thereby driving the carrier to move vertically (e.g., up or down), so that the carrier of the lifting robot can reach the height of different shelves; and the controller also controls the drive assembly to move horizontally, thereby driving the carrier to move horizontally, so as to pick up or put down goods from shelves of different heights, that is, to realize the vertical transport of material boxes.
[0088] The lifting robot's load-bearing component enables vertical transport of the material box, eliminating the need for a carrying basket for storing the material box and reducing the robot's cost.
[0089] In some embodiments, the lifting robot includes: a controller, a motion chassis, a support frame, and a carrier; the controller is used to communicate with a server and control the movement of the lifting robot.
[0090] The support frame is mounted on the motion chassis. The support frame includes two vertically parallel columns, with multiple horizontally parallel partitions between the two columns to form multiple storage spaces. These storage spaces, formed by the columns and partitions, are used to place material boxes. A carrier component is connected to one side of the support frame via a drive assembly. The controller controls the drive assembly to move vertically along the support frame, thereby moving the carrier component vertically (e.g., upwards or downwards) to allow the lifting robot's carrier component to reach different shelf heights. The controller also controls the drive assembly to move horizontally, enabling the carrier component to move horizontally, allowing for the retrieval or placement of goods from shelves at different heights, i.e., vertically transporting material boxes.
[0091] The lifting robot's load-bearing components can move the material boxes vertically while also storing them in multiple storage spaces within the support frame, thus improving sorting efficiency.
[0092] The second robot is a robot capable of horizontally transporting boxes. For example, the second robot can be a stealthy AGV (i.e., a stealthy robot) or a backpack AGV. The stealthy robot includes a controller, a motion chassis, and a lifting platform; the controller communicates with the server and controls the movement of the stealthy robot. The lifting platform is mounted on the motion chassis; the lifting platform is used to place the box; the controller controls the motion chassis to move horizontally, thereby moving the lifting platform horizontally and realizing the horizontal transport of the box.
[0093] In some embodiments, when the first robot is a lifting robot, the second robot is a lurking robot. The lifting robot is responsible for vertically transferring material boxes, eliminating the need for cross-area and cross-aisle transfers within the warehouse. This eliminates the need for a carrying basket on the lifting robot, reducing the cost of the equipment itself. The lurking robot, responsible for cross-area and cross-aisle transfers, leverages its high speed. By employing a collaborative handling operation mode involving both large and small vehicles (i.e., the lifting robot and the lurking robot), the overall efficiency of the handling task is improved.
[0094] When moving the target bin from the first storage location to the second storage location, since the first robot only moves bins vertically, the server needs to first control the first robot to move the target bin to the buffer area. Accordingly, the server needs to determine the first buffer location within the first buffer area where the target bin should be moved, based on the first storage location.
[0095] In some embodiments, based on FIG1 and referring to FIG4, step S102 may include the following steps:
[0096] S1021: Determine the first buffer zone in the warehouse that is in the same column as the first shelf.
[0097] S1022: Determine the free cache location with the smallest distance from the first storage location in the first cache area, and use it as the first cache location.
[0098] S1023: Control the first robot to move the target bin from the first storage position to the first buffer position.
[0099] In one implementation, the warehouse includes a single working platform. The first buffer area, located in the same column as the first shelf, is the buffer area at the bottom of the first shelf. In other words, the server determines the buffer area at the bottom of the first shelf as the first buffer area for the target bin, and then identifies the nearest free buffer location within this first buffer area as the first buffer location.
[0100] For example, referring to Figure 5, the lifting robot is the first robot; the lurking robot is the second robot. A, B, and C in shelf 1 represent the first storage locations; label "1" indicates buffer area 1 in shelf 1. a, b, and c in shelf 2 represent the second storage locations; label "2" indicates buffer area 2 in shelf 2. The inventory handling tasks include: task 1 of moving bin 1 from location A to location a, task 2 of moving bin 2 from location B to location b, and task 3 of moving bin 3 from location C to location c.
[0101] The following explanation uses Task 1 as an example; other tasks can refer to the implementation method of Task 1. Since the first robot only moves the bins vertically, bin 1 needs to be moved from position A to buffer area 1 first. The server determines that buffer area 1 in shelf 1 is the first buffer area for bin 1, and determines the first buffer position of bin 1 from buffer area 1.
[0102] In another implementation, based on Figure 4 and referring to Figure 6, step S1021 may include the following steps:
[0103] S10211: Determine the buffer area in the first shelf, the buffer area in the upper shelf in the same column as the first shelf, and the buffer area in the lower shelf in the same column as the first shelf to obtain multiple alternative buffer areas for the first shelf.
[0104] S10212: For each candidate buffer zone, count the number of transfer subtasks executed by the second robot in the horizontal direction in each buffer zone of the same layer of the candidate buffer zone, and use it as the first number.
[0105] The horizontal transfer subtasks include the subtask of moving the bins between buffer areas.
[0106] S10213: Determine the cache region with the smallest number of first-order cache regions among the candidate cache regions, and use it as the first cache region.
[0107] When the warehouse has multiple levels, the bottom layer of each shelf is a cache area. The server determines the cache area in the same column as the first shelf as the candidate cache area. The candidate cache areas include: the cache area in the first shelf, the cache area in the upper shelf in the same column as the first shelf, and the cache area in the lower shelf in the same level as the first shelf.
[0108] For example, referring to Figure 7, the lifting robot is the first robot; the lurking robot is the second robot. The warehouse contains two working platforms. A in shelf 1 indicates the first storage location. a in shelf 5 indicates the second storage location. The labels "1" to "6" in shelves 1 to 6 indicate buffer areas 1 to 6 within their respective shelves. The sorting task is to move the toy box from location A to location a. Accordingly, the alternative buffer areas include: buffer area 1 in shelf 1 of the bottom working platform, and buffer area 4 in the upper shelf (i.e., shelf 4) of the same column as shelf 1 in the top working platform.
[0109] The server executes multiple sorting tasks simultaneously, meaning multiple boxes need to be moved. Therefore, each buffer zone on the first floor contains multiple lurking robots performing horizontal transfer sub-tasks. Horizontal transfer sub-tasks refer to moving boxes between buffer zones, i.e., moving boxes from one buffer zone to another. When a second robot performs many horizontal transfer sub-tasks in each buffer zone of a first floor, there are many lurking robots moving within that layer. If the target box is moved to a buffer zone on that layer, subsequent second robots moving the target box between buffer zones will need to avoid other lurking robots performing horizontal transfer sub-tasks, increasing the complexity of horizontal transfer sub-tasks for the second robot and reducing sorting efficiency.
[0110] To improve sorting efficiency, for each candidate cache area, the server counts the first number of horizontal transfer sub-tasks performed by the second robot in each cache area of the same layer as that candidate cache area. The server determines the candidate cache area with the smallest corresponding first number as the first cache area. Since there are fewer lurking robots moving in the layer containing the first cache area, the complexity of the second robot performing horizontal transfer sub-tasks is reduced, thus improving sorting efficiency. Furthermore, the server determines the cache location closest to the first storage location from the free cache locations in the first cache area, obtaining the first cache location.
[0111] In some embodiments, after determining the first cache location, the method may further include the following step: recording the first cache location as occupied.
[0112] After the first cache location is determined, the target bin will be moved to the first cache location. In order to prevent the first cache location from being occupied by other subtasks and thus preventing the first subtask from being executed, the server records the first cache location as occupied. That is, when there is a bin in the cache location or when the task of the subtask being executed is completed, the cache location is locked and occupied, i.e., recorded as non-empty, which further improves the sorting efficiency.
[0113] In some embodiments, before step S1022, the method may further include the following steps: generating a transfer subtask to move the target bin from the first storage location to the first buffer area, as the first subtask; determining the transfer subtask with the highest priority from the transfer subtasks to be executed in the vertical direction; wherein the transfer subtasks in the vertical direction include: a subtask to move the bin from the storage location to the buffer area, and a subtask to move the bin from the buffer area to the storage location.
[0114] Accordingly, step S1022 may include the following steps: when the highest priority transfer subtask in the vertical direction is determined to be the first subtask, determine whether the number of free cache positions in the first cache area is greater than the second number; if the number of free cache positions in the first cache area is greater than the second number, determine the free cache position with the smallest distance from the first storage location in the first cache area as the first cache position.
[0115] After determining the first buffer area, the server generates a first subtask to move the target bin from the first storage location to the first buffer area. This first subtask is a vertical transfer subtask. The vertical transfer subtasks include subtasks to move the bin from the storage location to the buffer area, and subtasks to move the bin from the buffer area to the storage location. When the server executes multiple vertical bin transfer subtasks simultaneously, the number of free buffer locations in the buffer area may not be sufficient to execute all the vertical transfer subtasks. In this case, the server executes the vertical transfer subtasks sequentially according to priority.
[0116] The priority of transfer subtasks is determined based on business requirements. For example, if the target bins are bins that need to be shipped out, then the first subtask will be given a higher priority. If the target bins are bins that need to be stored centrally, then the first subtask will be given a lower priority.
[0117] The server determines the highest priority transfer subtask from the vertically scheduled transfer subtasks to be executed. If the priorities of all vertically scheduled transfer subtasks to be executed are the same, the server obtains the distance between the vertically scheduled transfer subtask and the nearest lifting robot, and determines the transfer subtask with the smallest distance to the nearest lifting robot as the highest priority transfer subtask in the vertical direction.
[0118] When the highest priority transfer subtask in the vertical direction is the first subtask, if the number of free cache locations in the first cache area is greater than the second number, that is, the number of free cache locations in the first cache area can meet the needs of executing each transfer subtask in the vertical direction, the server determines the free cache location with the smallest distance from the first storage location from the first cache area as the first cache location.
[0119] The second number is set according to business needs, and the second number varies for different cache areas. For example, the second number may be 5% of the total number of cache locations in the cache area, or 10% of the total number of cache locations in the cache area, etc.
[0120] Based on the above processing, the buffer area is configured with a threshold (i.e., a second number) for insufficient free buffer positions. When the number of free buffer positions is not lower than this threshold, the vertical transfer sub-task with the buffer position in the buffer area as the task endpoint can be executed directly without waiting for the first robot to execute other vertical transfer sub-tasks first, thereby further improving the sorting efficiency.
[0121] In some embodiments, the method may further include the following steps: if the number of free cache locations in the first cache area is less than the second number, reduce the priority of the first subtask and control the first robot to execute other transfer subtasks in the vertical direction other than the first subtask.
[0122] When the highest-priority transfer subtask in the vertical direction is the first subtask, if the number of free cache positions in the first buffer is less than the second number, it indicates that the number of free cache positions in the first buffer cannot meet the needs of executing the various transfer subtasks in the vertical direction. In this case, the server lowers the priority of the first subtask. For example, if each transfer subtask in the vertical direction has a priority identifier, the server modifies the priority identifier of the first subtask to a lower priority identifier. Then, the server controls the first robot to execute the other transfer subtasks in the vertical direction, excluding the first subtask.
[0123] In one implementation, the server controls the first robot to first execute a vertical transfer subtask with other buffer areas as its destination, or to first execute a vertical transfer subtask that moves the tin from the first buffer area to the storage location. The destination of the subtask is the location to which the tin is moved by the subtask.
[0124] In another implementation, the server determines the highest-priority transfer subtask from the vertically scheduled transfer subtasks. If the determined transfer subtask involves moving the toy box from the storage location to the buffer area, and the number of free buffer spaces at the task's endpoint is greater than a second number, then the server controls the first robot to execute the determined transfer subtask. If the determined transfer subtask involves moving the toy box from the storage location to the buffer area, and the number of free buffer spaces at the task's endpoint is less than a second number, the server determines the highest-priority transfer subtask from the vertically scheduled transfer subtasks again, and so on, until all vertically scheduled transfer subtasks are completed.
[0125] Based on the above processing, the buffer area is configured with a threshold (i.e., a second number) for insufficient free buffer locations. When the number of free buffer locations is lower than the threshold, the priority of the transfer subtasks in the vertical direction that end in the buffer area is reduced, and other transfer subtasks in the vertical direction are executed first. For example, the transfer subtask of moving the material box from the buffer area to the storage location is executed first. This can control the buffer locations, avoid the buffer locations being full and causing task deadlock, and further improve the sorting efficiency.
[0126] In some embodiments, step S1023 includes the following steps: determining the robot with the lowest time cost for performing the first sub-task from among the robots used to transport the bin in the vertical direction, and controlling the first robot to transport the target bin from the first storage location to the first buffer location.
[0127] The time cost of executing the first subtask refers to the time required to move the target bin from the first storage location to the first cache location. The lowest time cost of executing the first subtask means the shortest time required to move the target bin from the first storage location to the first cache location.
[0128] The warehouse contains multiple lifting robots. The server selects the lifting robot closest to the first storage location from among the available robots as the robot with the lowest time cost to execute the first sub-task. Alternatively, the server calculates the estimated time for each available lifting robot to move the target bin from the first storage location to the first cache location, based on the locations of the available robots, the first storage location, and the first cache location, and determines the lifting robot with the shortest estimated time as the robot with the lowest time cost to execute the first sub-task.
[0129] Then, the server sends the first storage location and the first cache location to the first robot. The first robot moves to the first shelf, retrieves the target bin from the first storage location, and then moves the target bin to the first cache location.
[0130] Based on the above processing, the server determines the first robot with the lowest time cost for executing the first sub-task, which can reduce the execution time of the first sub-task and improve the sorting efficiency.
[0131] Regarding step S103, when moving the target bin from the first storage location to the second storage location, since the first robot has already moved the target bin to the first cache location in the first cache area of the same column of the first shelf, it is also necessary to move the target bin from the first cache location to the second cache location in the second cache area of the same column of the second shelf. Accordingly, the server needs to determine the second cache location in the second cache area to which the target bin needs to be moved, based on the first cache location and the second storage location.
[0132] In some embodiments, based on FIG1 and referring to FIG8, step S103 may include the following steps:
[0133] S1031: Determine the cache area on the same layer as the first cache area and in the same column as the second shelf to obtain the second cache area.
[0134] S1032: From the second cache area, determine the free cache location with the smallest distance from the first cache location, and use it as the second cache location.
[0135] S1033: Control the second robot to move the target hopper from the first buffer position to the second buffer position.
[0136] The server determines the cache area at the same level as the first cache area from multiple cache areas, and then determines the cache area in the same column as the second shelf from the determined cache areas to obtain the second cache area. Alternatively, the server determines the cache area in the same column as the second shelf from multiple cache areas, and then determines the cache area at the same level as the first cache area from the determined cache areas to obtain the second cache area. For example, in the embodiment of Figure 5, the second cache area is cache area 2. In the embodiment of Figure 7, when the first cache area is cache area 1, the second cache area is cache area 2. When the first cache area is cache area 4, the second cache area is cache area 5.
[0137] The server determines the free cache location with the smallest distance from the first cache location from the second cache area, and uses it as the second cache location.
[0138] In some embodiments, after determining the second cache location, the method may further include the following step: recording the second cache location as occupied.
[0139] After the second cache location is determined, the target bin will be moved to the second cache location. In order to prevent the second cache location from being occupied by other subtasks and thus preventing the second subtask from being executed, the server records the second cache location as occupied. That is, when there is a bin in the cache location or when the task of the subtask being executed is completed, the cache location is locked and occupied, i.e., recorded as non-empty, to further improve the sorting efficiency.
[0140] In some embodiments, before step S1032, the method may further include the following steps: generating a transfer subtask to move the target bin from the first buffer location to the second buffer area, as the second subtask; determining the transfer subtask with the highest priority from the transfer subtasks to be executed in the horizontal direction; wherein the transfer subtasks in the horizontal direction include: subtasks for moving bins between buffer areas.
[0141] Accordingly, step S1032 may include the following steps: when the highest priority transfer subtask in the horizontal direction is determined to be the second subtask, determine whether the number of free cache positions in the second cache area is greater than the second number; if the number of free cache positions in the second cache area is greater than the second number, determine the free cache position with the smallest distance from the first cache position in the second cache area as the second cache position.
[0142] After determining the second buffer area, the server generates a second subtask to move the target bin from the first buffer location to the second buffer area. This second subtask is a horizontal transfer subtask. Since the buffer space is limited, when the server executes multiple horizontal bin transfer subtasks simultaneously, the number of free buffer spaces may not be sufficient to meet the demands of each horizontal transfer subtask. Therefore, the server can execute the horizontal transfer subtasks sequentially according to priority.
[0143] The priority of transfer subtasks is determined based on business requirements. For example, if the target bins are bins that need to be shipped out, then the second subtask will be given a higher priority. If the target bins are bins that need to be stored centrally, then the second subtask will be given a lower priority.
[0144] The server determines the highest priority transfer subtask from the horizontal transfer subtasks to be executed. If the priorities of all horizontal transfer subtasks to be executed are the same, the server obtains the distance between each horizontal transfer subtask to be executed and the nearest lurking robot, and determines the transfer subtask with the smallest distance to the nearest lurking robot as the highest priority transfer subtask.
[0145] When the second subtask is the highest priority transshipment subtask in the horizontal direction, if the number of free cache positions in the second cache area is greater than the second number, that is, if the number of free cache positions in the second cache area can meet the needs of executing each transshipment subtask in the horizontal direction, the server determines the free cache position with the smallest distance from the first cache position in the second cache area as the second cache position.
[0146] Based on the above processing, the buffer area is configured with a threshold (i.e., a second number) for when there are too few free buffer positions. When the number of free buffer positions is not lower than this threshold, the horizontal transfer sub-task with the buffer area as the task endpoint is executed directly without waiting for the second robot to execute other horizontal transfer sub-tasks first, thereby further improving the sorting efficiency.
[0147] In some embodiments, the method may further include the following steps: if the number of free buffer locations in the second buffer area is less than the second number, reduce the priority of the second subtask and control the second robot to execute other transfer subtasks in the horizontal direction other than the second subtask.
[0148] When the second subtask is the highest priority transport subtask in the horizontal direction, if the number of free cache locations in the second buffer is less than a certain threshold, it indicates that the number of free cache locations in the second buffer cannot meet the requirements for executing all the transport subtasks in the horizontal direction. The server then lowers the priority of the second subtask. For example, since each transport subtask in the horizontal direction has a priority identifier, the server can modify the priority identifier of the second subtask to a lower priority identifier. Then, the server controls the second robot to execute all other transport subtasks in the horizontal direction except for the second subtask.
[0149] In one implementation, the server controls the second robot to first execute a horizontal transfer subtask with other buffer areas as the task endpoint, or to first execute a horizontal transfer subtask to move the hopper from the second buffer area to other buffer areas.
[0150] In another implementation, the server determines the highest-priority transport subtask from the horizontally scheduled transport subtasks. If the number of free cache positions at the endpoint of the determined transport subtask is greater than a second number, the server controls the second robot to execute the determined subtask. If the number of free cache positions at the endpoint of the determined transport subtask is less than the second number, the server determines the highest-priority transport subtask from the horizontally scheduled transport subtasks again, and so on, until all horizontally scheduled transport subtasks are executed.
[0151] Based on the above processing, the buffer area is configured with a threshold (i.e., a second number) for insufficient free buffer positions. When the number of free buffer positions is lower than this threshold, the priority of horizontal transfer subtasks with this buffer area as the task endpoint is reduced, and other horizontal transfer subtasks are executed first. For example, the transfer subtask of moving the material box from this buffer area to other buffer areas is executed first. This can control the buffer positions, avoid the buffer positions being full and causing task deadlock, and further improve the sorting efficiency.
[0152] In some embodiments, step S1033 includes the following steps: determining the robot with the lowest time cost for performing the second sub-task from among the robots used to transport the bin in the horizontal direction, and controlling the second robot to transport the target bin from the first buffer position to the second buffer position.
[0153] The time cost of executing the second subtask refers to the time it takes to move the target bin from the first buffer location to the second buffer location. The lowest time cost of executing the second subtask means the shortest time it takes to move the target bin from the first buffer location to the second buffer location.
[0154] The warehouse contains multiple lurking robots. The server selects the robot closest to the first cache location from among the idle lurking robots as the second robot with the lowest time cost to execute the second subtask. Alternatively, the server calculates the estimated time for each idle lurking robot to move the target bin from the first cache location to the second cache location based on the locations of the idle lurking robots, the first cache location, and the second cache location, and determines the lurking robot with the shortest estimated time as the second robot with the lowest time cost to execute the second subtask.
[0155] Then, the server sends the first cache position and the second cache position to the second robot. The second robot moves to the first cache position, retrieves the target bin from the first cache position, and then transports the target bin to the second cache position.
[0156] Based on the above processing, the server determines the second robot with the lowest time cost for executing the second subtask, which can reduce the execution time of the second subtask and improve sorting efficiency.
[0157] Regarding step S104, after the target bin is moved to the second buffer position, the server can control the third robot to move the target bin from the second buffer position to the second storage position.
[0158] In some embodiments, based on FIG1 and referring to FIG9, step S104 may include the following steps:
[0159] S1041: Generate a transfer subtask to move the target bin from the second buffer location to the second storage location, as the third subtask.
[0160] S1042: Determine the highest priority transfer subtask from the transfer subtasks to be executed in the vertical direction.
[0161] The vertical transfer subtasks include: the subtask of moving the bin from the storage location to the buffer area, and the subtask of moving the bin from the buffer area to the storage location.
[0162] S1043: When the highest priority transfer subtask in the vertical direction is determined to be the third subtask, control the third robot to move the target hopper from the second buffer position to the second storage position.
[0163] After moving the target bin to the second buffer location, the server generates a third subtask to move the target bin from the second buffer location to the second storage location. This third subtask is a vertical transfer subtask. Due to the limited number of lifting robots, when the server executes multiple vertical transfer subtasks simultaneously, the number of lifting robots may not be sufficient to meet the demands of executing all vertical transfer subtasks. Therefore, the server can execute the vertical transfer subtasks sequentially according to priority.
[0164] The server determines the highest priority transfer subtask from the vertically scheduled transfer subtasks. When the highest priority transfer subtask in the vertical direction is the third subtask, the server controls the third machine to execute the third subtask, that is, the server controls the third robot to move the target bin from the second buffer position to the second storage position.
[0165] In some embodiments, step S1043 may include the following steps: when the highest priority transfer subtask in the vertical direction is determined to be the third subtask, determine whether a material box is placed in the second storage location. If no material box is placed in the second storage location, control the third robot to move the target material box from the second buffer location to the second storage location.
[0166] Accordingly, after step S1042, the method may further include the following steps: if a material box is placed in the second storage location, reduce the priority of the third subtask, and control the third robot to perform other transfer subtasks in the vertical direction other than the third subtask.
[0167] Before controlling the third robot to move the target bin from the second buffer location to the second storage location, the server can check whether a bin is placed in the second storage location. If no bin is placed in the second storage location, the server controls the third robot to move the target bin from the second buffer location to the second storage location. If a bin is placed in the second storage location, the server cannot move the target bin to the second storage location, and can wait for the bin in the second storage location to be removed before executing the third subtask. The server can lower the priority of the third subtask and control the third robot to execute other vertical transfer subtasks besides the third subtask.
[0168] In one implementation, the server controls the third robot to first execute a vertical transfer subtask with other storage locations as the task endpoint, or to first execute a vertical transfer subtask to move the hopper from the second storage location to the buffer area.
[0169] In another implementation, the server determines the highest-priority transfer subtask from the vertically scheduled transfer subtasks. If the determined subtask involves moving a hopper from the buffer to the storage location, and the storage location at the task's endpoint does not contain a hopper, the server controls the third robot to execute the determined subtask. If the determined subtask involves moving a hopper from the buffer to the storage location, and the storage location at the task's endpoint contains a hopper, the server determines the highest-priority transfer subtask from the vertically scheduled transfer subtasks again, and so on, until all vertically scheduled transfer subtasks are completed.
[0170] For example, referring to Figure 10, the lifting robot is the first robot; the lurking robot is the second robot. The labels "1" to "3" in shelves 1 to 3 represent buffer areas 1 to 3 in the respective shelves. The inventory handling tasks include: task 1, which moves bin 1 from position A to position B; task 2, which moves bin 2 from position B to position C; and task 3, which moves bin 3 from position C to position A.
[0171] Task 1 can be divided into: subtask 11, which moves bin 1 from location A to buffer area 1; subtask 12, which moves bin 1 from buffer area 1 to buffer area 2; and subtask 13, which moves bin 1 from buffer area 2 to location B.
[0172] After the server controls the second robot to execute subtask 12, it needs to control the third robot to execute subtask 13. However, if there is a material box at position B, the server can first not execute subtask 13, reduce the priority of subtask 13, move the material box at position B to buffer area 2, make position B idle, and then execute subtask 13.
[0173] Based on the above processing, when the storage location to which the bin needs to be moved is idle, the transfer sub-task with that storage location as its destination can be executed directly without waiting for the third robot to execute other vertical transfer sub-tasks first, further improving sorting efficiency. When the buffer location to which the bin needs to be moved is occupied, the priority of the transfer sub-task with that storage location as its destination is reduced, and other vertical transfer sub-tasks are executed first. For example, the transfer sub-task of moving the bin from that storage location to the buffer area is executed first. By freeing up storage space in the buffer area, the bin location change within the warehouse is achieved, simplifying the task execution logic in complex sorting scenarios and further improving sorting efficiency.
[0174] In some embodiments, step S1043 includes the following steps: determining the robot with the lowest time cost for performing the third sub-task from among the robots used to transport the bin in the vertical direction, and controlling the third robot to transport the target bin from the second buffer position to the second storage position.
[0175] The time cost of executing the third subtask refers to the time required to move the target bin from the second cache location to the second storage location. The lowest time cost of executing the third subtask means the shortest time required to move the target bin from the second cache location to the second storage location.
[0176] The warehouse contains multiple lifting robots. The server selects the lifting robot closest to the second cache location from among the available robots as the third robot with the lowest time cost for executing the third subtask. Alternatively, the server calculates the estimated time for each available lifting robot to move the target bin from the second cache location to the second storage location, based on the locations of the available robots, the second cache location, and the second storage location, and determines the lifting robot with the shortest estimated time as the third robot with the lowest time cost for executing the third subtask.
[0177] Then, the server sends the second cache location and the second storage location to the third robot. The third robot moves to the second cache location, retrieves the target bin from the second cache location, and then transports the target bin to the second shelf and places it in the second storage location.
[0178] Based on the above processing, the server determines the third robot with the lowest time cost for executing the third subtask, which can reduce the execution time of the third subtask and improve the sorting efficiency.
[0179] In some embodiments, the method may further include the following steps: upon receiving a first feedback message from a first robot indicating that a hopper has been retrieved from a storage location, recording the storage location as an idle storage location; and upon receiving a second feedback message from a second robot indicating that a hopper has been retrieved from a cache location, recording the cache location as an idle cache location.
[0180] When the server receives the first feedback message indicating that the first robot has retrieved the target bin from the first storage location, it records the first storage location as an idle storage location. Subsequently, other bins can be placed in the first storage location.
[0181] When the server receives a second feedback message indicating that the second robot has retrieved the target bin from the first cache position, it records the first cache position as an idle cache position. When the server receives a second feedback message indicating that the second robot has retrieved the target bin from the second cache position, it records the second cache position as an idle cache position. Subsequently, the first and second cache positions can be used to perform other sorting tasks, improving sorting efficiency.
[0182] The following examples illustrate the robot inventory management method provided in this application.
[0183] For the embodiment shown in Figure 5, the sorting tasks include: task 1, which moves bin 1 from position A to position a; task 2, which moves bin 2 from position B to position b; and task 3, which moves bin 3 from position C to position c.
[0184] Accordingly, the sorting process is as follows:
[0185] The first robot moves bin 1 from position A to buffer area 1, the second robot moves bin 1 from buffer area 1 to buffer area 2, and the third robot moves bin 1 from buffer area 2 to position a.
[0186] The first robot moves the material box 2 from position B to buffer area 1, the second robot moves the material box 2 from buffer area 1 to buffer area 2, and the third robot moves the material box 2 from buffer area 2 to position b.
[0187] The first robot moves the material box 3 from position C to buffer area 1, the second robot moves the material box 3 from buffer area 1 to buffer area 2, and the third robot moves the material box 3 from buffer area 2 to position C.
[0188] For the embodiment shown in Figure 7, the inventory handling task is to move the bins from position A to position a. Accordingly, the inventory handling process is as follows:
[0189] The first robot moves the bin from position A to buffer zone 1, the second robot moves the bin from buffer zone 1 to buffer zone 2, and the third robot moves the bin from buffer zone 2 to position a.
[0190] Alternatively, the first robot moves the bin from position A to buffer zone 4, the second robot moves the bin from buffer zone 4 to buffer zone 5, and the third robot moves the bin from buffer zone 5 to position a.
[0191] For the embodiment of Figure 10, the sorting tasks include: task 1 of moving box 1 from position A to position B, task 2 of moving box 2 from position B to position C, and task 3 of moving box 3 from position C to position A.
[0192] Task 1 can be divided into: subtask 11, which moves bin 1 from location A to buffer area 1; subtask 12, which moves bin 1 from buffer area 1 to buffer area 2; and subtask 13, which moves bin 1 from buffer area 2 to location B.
[0193] Task 2 can be divided into: subtask 21, which moves bin 2 from position B to buffer area 2; subtask 22, which moves bin 2 from buffer area 2 to buffer area 3; and subtask 23, which moves bin 2 from buffer area 3 to position C.
[0194] Task 3 can be broken down into: subtask 31, which moves the material box 3 from position C to buffer area 3; subtask 32, which moves the material box 3 from buffer area 3 to buffer area 1; and subtask 33, which moves the material box 3 from buffer area 1 to position A.
[0195] Accordingly, the sorting process is as follows:
[0196] The server controls the first robot to execute subtask 11, which involves moving the first robot from location A to buffer area 1. The server controls the second robot to execute subtask 12, which involves moving the second robot from buffer area 1 to buffer area 2. However, since the second robot is located at location B, the server does not execute subtask 13.
[0197] The server controls the first robot to execute subtask 21, that is, to control the first robot to move the material box 2 from position B to the buffer area 2. At this time, position B is an empty storage position, so the server controls the third robot to execute subtask 13, that is, to control the third robot to move the material box 1 from the buffer area 2 to position B.
[0198] The server controls the second robot to execute subtask 22, which involves moving bin 2 from buffer 2 to buffer 3. However, bin 3 is stored at location C, so the server does not execute subtask 23.
[0199] The server controls the first robot to execute subtask 31, which involves moving the first robot from position C to buffer area 3. At this time, position C is an empty storage location. The server then controls the third robot to execute subtask 23, which involves moving the third robot from buffer area 3 to position C. The server controls the second robot to execute subtask 32, which involves moving the second robot from buffer area 3 to buffer area 1. The server controls the third robot to execute subtask 33, which involves moving the third robot from buffer area 1 to position A.
[0200] Referring to Figure 11, Figure 11 is a flowchart of a vertical transfer subtask execution method provided in an embodiment of this application.
[0201] S1101: Begin.
[0202] S1102: Generate a vertical transfer subtask for the lifting robot to handle goods.
[0203] In the steps, after the server obtains the sorting task of the target bin, it generates a first subtask based on the first storage location of the target bin to move the bin from the first storage location to the buffer area. The first subtask is a vertical transfer subtask.
[0204] S1103: Select the transfer subtask with the highest priority in the vertical direction.
[0205] In this step, the server determines the highest priority transfer subtask from the transfer subtasks to be executed in the vertical direction.
[0206] S1104: Determine whether the target cache exceeds the threshold. If yes, proceed to step S1106; otherwise, proceed to step S1105.
[0207] In this step, the target buffer is the buffer at the endpoint of the highest-priority transfer subtask in the vertical direction. When the highest-priority transfer subtask in the vertical direction is determined to be the first subtask, the target buffer is the first buffer. It is then determined whether the number of free buffer locations in the first buffer exceeds a threshold, that is, whether the number of free buffer locations in the first buffer is less than a second threshold.
[0208] S1105: Select the cache location with the lowest distance cost within the target cache area as the task endpoint.
[0209] In this step, distance cost refers to the distance between the cache location in the first cache area and the first storage location. The task endpoint location refers to the cache location to which the target bin needs to be moved in the first subtask. When the number of free cache locations in the first cache area is not less than the second number, the free cache location with the smallest distance from the first storage location is determined from the first cache area and designated as the first cache location.
[0210] S1106: Reduce the priority of the current transfer subtask and prioritize the execution of other types of tasks.
[0211] In this step, when the number of free cache locations in the first cache area is less than the second number, the priority of the first subtask is reduced, and other types of tasks are executed. That is, the highest priority transfer subtask in the vertical direction is determined again, and so on, until all transfer subtasks in the vertical direction are executed.
[0212] S1107: Dispatch the lifting robot closest to the task start point, move the material box from the task start point to the task end point, and release the task start point at the same time.
[0213] In this step, the task start point is the first storage location, and the task end point is the first cache location. The server determines the lifting robot closest to the first storage location and controls the lifting robot to move the target bin from the first storage location to the first cache location. Upon receiving a first feedback message from the lifting robot indicating that the target bin in the first storage location has been removed, the first storage location is recorded as an idle storage location.
[0214] Subsequently, the server controls the lurking robot to move the target bin from the first cache position to the second cache position, and controls the lifting robot (i.e. the third robot) to move the target bin from the second cache position to the second storage position, thus completing the sorting.
[0215] S1108: End.
[0216] Based on the above processing, the location of material bins within the warehouse can be changed by using cached locations, and idle storage spaces can be freed up by using cached locations, which simplifies the task execution logic in complex sorting scenarios. At the same time, the operation mode of collaborative sorting using large and small robots (i.e., lifting robots and lurking robots) leverages the respective capabilities of the lifting robots and lurking robots, thereby improving the overall efficiency of sorting tasks.
[0217] Referring to Figure 12, Figure 12 is a flowchart of a horizontal transport subtask execution method provided in an embodiment of this application.
[0218] S1201: Begin.
[0219] S1202: Generate a horizontal transfer subtask for the lurking robot to sort goods.
[0220] In the steps, after the server obtains the sorting task of the target bin and moves the target bin to the first cache position, it generates a second subtask based on the first storage position and the first cache position of the target bin to move the bin from the first cache position to the second cache area. The second subtask is a horizontal transfer subtask.
[0221] S1203: Select the highest priority transfer subtask in the horizontal direction.
[0222] In this step, the server determines the highest priority transport subtask from the horizontal transport subtasks to be executed.
[0223] S1204: Determine whether the target cache exceeds the threshold. If yes, proceed to step S1206; otherwise, proceed to step S1205.
[0224] In this step, the target buffer is the buffer at the endpoint of the highest-priority horizontal transport subtask. If the highest-priority horizontal transport subtask is determined to be the second subtask, the target buffer is the second buffer. It is then determined whether the number of free buffer locations in the second buffer exceeds a threshold, i.e., whether the number of free buffer locations in the second buffer is less than a second threshold.
[0225] S1205: Select the cache location with the lowest distance cost within the target cache area as the task endpoint.
[0226] In this step, distance cost refers to the distance between the cache location in the second cache area and the first cache location. The task endpoint location refers to the cache location to which the target bin needs to be moved in the second subtask. When the number of free cache locations in the second cache area is not less than the second number, the free cache location with the smallest distance from the first cache location is determined from the second cache area and designated as the second cache location.
[0227] S1206: Reduce the priority of the current transfer subtask and prioritize the execution of other types of tasks.
[0228] In this step, when the number of free cache locations in the second cache area is less than the second number, the priority of the second subtask is reduced, and other types of tasks are executed. That is, the highest priority transfer subtask in the horizontal direction is determined again, and so on, until all the transfer subtasks in the horizontal direction are executed.
[0229] S1207: Dispatch the nearest lurking robot to move the hopper from the task start position to the task end position, and release the task start position at the same time.
[0230] In this step, the task start point is the first cache position, and the task end point is the second cache position. The server determines the lurking robot closest to the first cache position and controls that lurking robot to move the target bin from the first cache position to the second cache position. Upon receiving a second feedback message from the lurking robot indicating that the target bin in the first cache position has been removed, the first cache position is recorded as an idle cache position.
[0231] Subsequently, the server controls the lifting robot (i.e., the third robot) to move the target bin from the second buffer position to the second storage position, completing the sorting.
[0232] S1208: End.
[0233] Based on the above processing, the location of material bins within the warehouse can be changed by using cached locations, and idle storage spaces can be freed up by using cached locations, which simplifies the task execution logic in complex sorting scenarios. At the same time, the operation mode of collaborative sorting using large and small robots (i.e., lifting robots and lurking robots) leverages the respective capabilities of the lifting robots and lurking robots, thereby improving the overall efficiency of sorting tasks.
[0234] Referring to Figure 13, which is a top view of a warehouse according to an embodiment of this application, 1304 represents the warehouse's support pillars. Multiple shelves 1301 are placed in the warehouse, and boxes loaded with goods are placed on the shelves. A lifting robot 1302 is used to move boxes placed in storage locations on the shelves 1301 to a buffer area, and to move boxes in the buffer area to storage locations on the shelves 1301. A stealth robot 1303 is used to move boxes between buffer areas.
[0235] In Figure 13, the dark lines 1305 between the shelves represent the movement path of the lifting robot. The light lines 1306 between the shelves and the light lines 1306 under the shelves represent the movement path of the lurking robot.
[0236] The server controls the lifting robot and the stealth robot to perform inventory sorting according to the following steps.
[0237] Step 1: Generate a set of tasks that require sorting based on business needs.
[0238] In this step, the server generates sorting tasks for each bin based on business requirements. The sorting task involves moving the target bin from the first storage location on the first shelf to the second storage location on the second shelf.
[0239] Step two: The lifting robot is dispatched to move the starting material box to the buffer position.
[0240] In this step, the server controls the lifting robot to move the material box from the first storage location to the first buffer location of the first buffer area.
[0241] Step 3: Dispatch the hidden robot to move the buffer bin to the target buffer area.
[0242] In this step, the target area is the second buffer zone, which is in the same column as the second shelf and on the same layer as the first buffer zone. The server controls the stealth robot to move the toy box from the first buffer position to the second buffer position in the second buffer zone.
[0243] Step 4: Dispatch the lifting robot in the target area to move the material box from the buffer position to the target storage position.
[0244] In this step, the server controls the lifting robot to move the hopper from the second buffer position to the second storage position.
[0245] Based on the above processing, the location of material bins within the warehouse can be changed by using cached locations, and idle storage spaces can be freed up by using cached locations, which simplifies the task execution logic in complex sorting scenarios. At the same time, the operation mode of collaborative sorting using large and small robots (i.e., lifting robots and lurking robots) leverages the respective capabilities of the lifting robots and lurking robots, thereby improving the overall efficiency of sorting tasks.
[0246] Corresponding to the method embodiment in Figure 1, this application also provides a robotic cargo handling system, the system comprising: a server, a lifting robot, and a stealthy robot; the lifting robot is used to transport the material boxes vertically; the stealthy robot is used to transport the material boxes horizontally.
[0247] The warehouse for sorting goods contains multiple working platforms; each working platform contains at least one storage area; the at least one storage area contains at least one shelf, and each shelf contains a buffer area; shelves with overlapping projected areas in the horizontal plane in the multiple working platforms are in the same column; shelves in the same column in the multiple working platforms share at least one lifting robot, the vertical extension height of which supports picking up goods from the top shelf in the top working platform.
[0248] The server is used to obtain the sorting task of the target bin in the warehouse; wherein, the sorting task is to move the target bin from a first storage position in a first shelf to a second storage position in a second shelf; determine the first cache position of the target bin according to the first storage position, and issue the first storage position and the first cache position to the first lifting robot; wherein, the first cache position belongs to the first cache area in the same column as the first shelf;
[0249] The first lifting robot is used to move the target bin from the first storage location to the first buffer location;
[0250] The server is further configured to determine the second cache location of the target bin based on the second storage location and the first cache location, and to send the first cache location and the second cache location to the lurking robot; wherein the second cache location belongs to the second cache area, which is in the same column as the second shelf and on the same layer as the first cache area;
[0251] The stealth robot is used to move the target bin from the first buffer position to the second buffer position;
[0252] The server is also used to send the second cache location and the second storage location to the second lifting robot;
[0253] The second lifting robot is used to move the target bin from the second buffer position to the second storage position.
[0254] In this embodiment, the first lifting robot is the first robot in the previous embodiment; the second lifting robot is the third robot in the previous embodiment; and the lurking robot is the second robot in the previous embodiment.
[0255] Based on the sorting system provided in this application embodiment, a buffer location is set up in the warehouse. A first lifting robot first moves the target box from the storage location to the buffer location, then a stealth robot moves the target box between the buffer locations, and finally a second lifting robot moves the target box to the storage location. The whole process is simpler, eliminating the need for complex unloading, thus improving sorting efficiency. Furthermore, the lifting robot and the stealth robot work collaboratively. The lifting robot is responsible for moving the box vertically between the storage location and the buffer location, while the stealth robot is responsible for moving the box horizontally between the buffer locations. The lifting robot does not need to move across areas when moving the box, further improving sorting efficiency.
[0256] This application embodiment also provides a server, as shown in FIG14, including: a memory 1401 for storing computer programs; and a processor 1402 for executing the program stored in the memory 1401 to implement any of the above-mentioned robot handling methods. Furthermore, the server may also include a communication bus and / or a communication interface, and the processor 1402, the communication interface, and the memory 1401 communicate with each other through the communication bus.
[0257] The communication bus mentioned above for the server can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus. The communication interface is used for communication between the server and other devices.
[0258] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0259] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0260] In another embodiment provided in this application, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements the steps of any of the above-described robot sorting methods.
[0261] In another embodiment provided in this application, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute any of the robot inventory management methods described above.
[0262] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a solid-state drive (SSD), etc.
[0263] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0264] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the system, server, and computer-readable storage medium embodiments are basically similar to the method embodiments, so the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0265] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application are included within the scope of protection of this application.
Claims
1. A robot-based inventory management method, characterized in that, The method is applied to a server and includes: obtaining a sorting task for a target bin in a warehouse; wherein the sorting task is to move the target bin from a first storage location on a first shelf to a second storage location on a second shelf; determining a first buffer zone in the warehouse that is in the same column as the first shelf; generating a first transfer subtask to move the target bin from the first storage location to the first buffer zone; determining the highest priority first subtask from the first transfer subtasks to be executed in the vertical direction; when the highest priority first subtask is determined, determining whether the number of free buffer locations in the first buffer zone is greater than a second number; if the number of free buffer locations in the first buffer zone is greater than the second number, determining the free buffer location with the smallest distance from the first storage location in the first buffer zone as the first buffer location; controlling a first robot to move the target bin from the first storage location to the first buffer location; wherein... The first cache position belongs to the first cache area in the same column as the first shelf; the first robot is used to transport the toy box vertically; based on the second storage position and the first cache position, the second cache position of the target toy box is determined, and the second robot is controlled to transport the target toy box from the first cache position to the second cache position; wherein, the second cache position belongs to the second cache area in the same column as the second shelf and on the same layer as the first cache area; the second robot is used to transport the toy box horizontally; the third robot is controlled to transport the target toy box from the second cache position to the second storage position; wherein, the third robot is used to transport the toy box vertically; the method further includes: if the number of free cache positions in the first cache area is less than the second number, the priority of the first subtask is reduced, and the first robot is controlled to execute other transfer subtasks in the vertical direction besides the first subtask.
2. The method according to claim 1, characterized in that, The warehouse includes multiple work platforms; each work platform includes at least one storage area; the at least one storage area includes at least one shelf, and each shelf includes a buffer area; shelves whose projected areas on the horizontal plane overlap in the multiple work platforms are in the same column; determining the first buffer area in the warehouse that is in the same column as the first shelf includes: determining the buffer area in the first shelf, the buffer area in the upper shelf in the same column as the first shelf, and the buffer area in the lower shelf in the same column as the first shelf, to obtain multiple candidate buffer areas for the first shelf; for each candidate buffer area, counting the number of transfer sub-tasks performed by the second robot in the horizontal direction in each buffer area of the same layer of the candidate buffer area, as the first number; wherein, the transfer sub-tasks in the horizontal direction include: the sub-task of moving the material box between buffer areas; determining the buffer area with the smallest first number among the candidate buffer areas as the first buffer area.
3. The method according to claim 1, characterized in that, The step of controlling the first robot to move the target bin from the first storage location to the first buffer location includes: determining, from among the robots used to move the bin in the vertical direction, the robot with the lowest time cost in performing the first sub-task, as the first robot, and controlling the first robot to move the target bin from the first storage location to the first buffer location.
4. The method according to claim 1, characterized in that, The step of determining the second cache position of the target bin based on the second storage position and the first cache position, and controlling the second robot to move the target bin from the first cache position to the second cache position, includes: determining a cache area on the same layer as the first cache area and in the same column as the second shelf to obtain a second cache area; the step of determining the second cache position is: from the second cache area, determining the free cache position with the smallest distance from the first cache position as the second cache position; and controlling the second robot to move the target bin from the first cache position to the second cache position.
5. The method according to claim 4, characterized in that, Before determining the second buffer position, the method further includes: generating a second transfer subtask to move the target bin from the first buffer position to the second buffer area; determining the second subtask with the highest priority from the second transfer subtasks to be executed in the horizontal direction; the step of determining the second buffer position includes: when the second subtask with the highest priority in the horizontal direction is determined, determining whether the number of free buffer positions in the second buffer area is greater than a second number; if the number of free buffer positions in the second buffer area is greater than the second number, determining the free buffer position with the smallest distance from the first buffer position in the second buffer area as the second buffer position; the method further includes: if the number of free buffer positions in the second buffer area is less than the second number, reducing the priority of the second subtask, and controlling the second robot to execute other transfer subtasks in the horizontal direction other than the second subtask.
6. The method according to claim 5, characterized in that, The step of controlling the second robot to move the target bin from the first buffer position to the second buffer position includes: determining, from among the robots used to move the bin horizontally, the robot with the lowest time cost in performing the second sub-task, as the second robot, and controlling the second robot to move the target bin from the first buffer position to the second buffer position.
7. The method according to claim 1, characterized in that, The method of controlling the third robot to move the target bin from the second buffer position to the second storage position includes: generating a third transfer subtask to move the target bin from the second buffer position to the second storage position; determining the third subtask with the highest priority from the third transfer subtasks to be executed in the vertical direction; and controlling the third robot to move the target bin from the second buffer position to the second storage position when the determined third subtask with the highest priority in the vertical direction is selected.
8. The method according to claim 7, characterized in that, When the third subtask with the highest vertical priority is determined, controlling the third robot to move the target material box from the second buffer position to the second storage position includes: when the third subtask with the highest vertical priority is determined, determining whether a material box is placed in the second storage position; if no material box is placed in the second storage position, controlling the third robot to move the target material box from the second buffer position to the second storage position; the method further includes: if a material box is placed in the second storage position, lowering the priority of the third subtask, and controlling the third robot to execute other transfer subtasks in the vertical direction other than the third subtask.
9. The method according to claim 7, characterized in that, The step of controlling the third robot to move the target bin from the second buffer position to the second storage position includes: determining, from among the robots used to move the bin in the vertical direction, the robot with the lowest time cost in performing the third sub-task, and controlling the third robot to move the target bin from the second buffer position to the second storage position.
10. The method according to any one of claims 1-9, characterized in that, The method further includes: upon receiving a first feedback message from the first robot indicating that the hopper has been retrieved from the storage location, recording the storage location as an idle storage location; and upon receiving a second feedback message from the second robot indicating that the hopper has been retrieved from the cache location, recording the cache location as an idle cache location.
11. The method according to any one of claims 1-9, characterized in that, After determining the free cache location with the smallest distance from the first storage location in the first cache area as the first cache location, the method further includes: recording the first cache location as occupied; after determining the second cache location of the target hopper based on the second storage location and the first cache location, the method further includes: recording the second cache location as occupied.
12. The method according to any one of claims 1-9, characterized in that, The first robot and the third robot are lifting robots; the second robot is a stealthy robot; the stealthy robot includes a controller, a motion chassis, and a lifting platform; the lifting platform is mounted on the motion chassis; the lifting platform is used to place a material box; The controller controls the motion chassis to move horizontally, thereby moving the lifting platform horizontally; the lifting robot includes: a controller, a motion chassis, a support frame, and a carrier; the support frame is mounted on the motion chassis; the carrier is connected to one side of the support frame via a drive assembly; the controller controls the drive assembly to move vertically along the support frame, thereby moving the carrier vertically; and the controller controls the drive assembly to move horizontally, thereby moving the carrier horizontally; or, the lifting robot includes: a controller, A motion chassis, a support frame, and a carrier component; the support frame is mounted on the motion chassis; the support frame includes two vertically parallel columns, and multiple horizontally parallel partitions are arranged between the two columns to form multiple storage spaces between them; the multiple storage spaces are used to place material boxes; the carrier component is connected to one side of the support frame via a drive assembly; a controller controls the drive assembly to move vertically along the support frame to move the carrier component vertically; and the controller controls the drive assembly to move horizontally to move the carrier component horizontally.
13. A server, characterized in that, include: Memory, used to store computer programs; A processor, when executing a program stored in memory, implements the method described in any one of claims 1-12.
14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method described in any one of claims 1-12.
Citation Information
Patent Citations
Task allocation method and device, server and storage medium
CN113673887A
Goods taking method, goods placing method, management terminal and warehousing system
CN115092596A